skysight-inc/HackerNews huggingface dataset:
While we're on the subject, one thing that I never understood is why fans are directly on top of the heatsink instead of floating a centimeter above it, allowing the air to flow more easily, and also make less noise.
As with goals, this will just push you in a direction. You don't have to be absolutely rigid, but at least you'll start to feel when you are straying from your real goals.
> Clojure has a function that does basically the same thing. The get function will return nil if a key in a dictionary isn’t present:

Isn't that already what happens when you use the map as a function directly? Even the sub-feature of being able to provide a default value if the key is not found is supported.
Show HN: C++ bindings for SSE/AVX intrinsics
This project builds a set of C++ wrappers for SSE/AVX intrinsics supported by all mainstream C++ compilers when targeting x86 or AMD64 platforms.

Tested with VC++ 2015, clang 4.0, gcc 5.4.

I have a couple of ideas what might need to be improved, will probably do that as I’ll start using this library in my production code.
Finalists Announced for U.S.-Israeli Anti-Terrorism Startup Contest
Actually the way to do it is to have the upstairs fans blowing out the windows, then the downstairs window open. This is more effective at night when the outside temperature has dropped and the house is still hot. Hot air rises, so you will get cool air pulled in. This is how whole house/attic fans work.
Might I ask for a source on that?

I know that they provide services for AWS, but they still have their own offerings just the same. There’s no real reason for Rackspace to dump its massive existing infrastructure and move to AWS. So the only new thing is a service department for AWS customers.
A reasonably curious Computer Science graduate that stays up to date a bit with current technologies will be as effective at 50 as your average 50 year old lawyer.

You just need to check your underlying assumptions (aka axioms) once every 5 years or so. But core CS is as the name says, science. It doesn't change every 1-2 years. Knuth wrote about searching and sorting back in the 60s, neural network (pardon me, machine learning) first appeared in the 80s :)
First, the Tech/Dev managers need to stand up. Instead of saying 'Yes' to every feature request, they need to say 'No', or 'Later'. I've seen too many who just feel that their job is to implement everything as fast as possible, and as close to approximating the sales/mktg/product guy's latest half-baked idea as fast as possible.

This is not easy, especially as the CEO is still typically above the CTO, and can overrule. I had it happen to me, when we were ahead on a scalable version of the product, but they didn't like the timeline. The mgt decision cost almost a year of messed-up myopic development schedule just to roll out apparent features sooner, but ignored the likelihood and eventuality of bugs. Afterwards, when we got back to the scalable highly modular version, we started taking biz from competitors who couldn't scale. I'd say that my mistake was to only give the broader consequences, and not spend time to be able to enumerate in detail the consequences of non-scalable quick program would be. Of course you cannot predict exactly what bugs will happen, but I could probably have done a better job of drawing the scenarios (not sure it would have made a difference, but it might have).

I'd also say that we need to create specific structures and plans to study and quantify risks, as is done in real engineering like aerospace, architecture, etc. Classify those risks into a range of categories, from small bugs to existential for your customers or project.

Different steps need to be taken for each class, and significant part of the planning needs to go into de-risking the project.

I'm in physical vs software development now of carbon fiber type technologies, and I notice that my military customer who are building very cutting-edge stuff often talk of 'de-risking' the project, whereas I don't hear this much from other customers. Seems like an important distinction to take on board.

---
From a user perspective, I noticed after looking at the issue on our own Echo yesterday: the UI is a totally greased slide to hide choice for the user and slide them right into giving permissions for contact list. It seems that effort was made to hide the actual features and functions that will result from giving permission, and obscure the 'Skip' option. So it would be easy to not even notice that your device had these new possibilities. Obviously, I'd recommend taking more time to sell the features and let us make an informed choice. Then even if things go wrong, you'll enjoy some benefit of the doubt in the market and press.

(edit: add parenthetical)
Good enough will be by definition, the minimum salary at which somebody is willing to do that work for you. There's no a priori number that is appropriate, and it has nothing to do at all with the level of studies of your candidate, only with the job market.

If there are few candidates, of course you'll have to pay a lot of money.
If everything started to use blockchains then we could all be decentralized by 2035.
text.npr.org was launched in 2005 (and intended to be used by early HTML capable cellphones with weak data links and such), they're just reusing it.
Microsoft's first hardware product was a Z-80 card for the Apple II:

https://en.wikipedia.org/wiki/Z-80_SoftCard

My Apple II had one for basically the sole purpose of running Wordstar under CP/M (I don't recall why we didn't just use Apple Writer).
You're setting up an elaborate false dichotomy.

If they tape your hands together it is probably game over anyway, short of you being McGuiver. But before they tape your hands together they will have to resort to force and I'd be more than happy to escalate that gradually right up to the point where they'll fuck off. And if they don't that's their problem, you have a right to defend yourself against attackers with proportional force.

Stabbing someone in the eye sounds like it is a step too far especially since you have the option to threaten with the knife first. Holding someone against their will is not a 'play crime' but a very serious one.
Vuetube – Video resources that will help you to improve your Vue skills
But what if the map itself is nil? That’s why using maps as functions is generally not done in the wild.
Overkill for the hobbyist, but ANSYS products like Fluent and CFX are what the professionals use. Quite pricey though.
I think you're looking in the right direction - governance.

The problems of governance are real. There's a libertarian tendency to just try to define them away, but this underestimates the extent to which abuse questions are important and how a few bad actors can overwhelm a distributed system, requiring considerable dedicated central effort to fight. USENET had its cancels ( http://wiki.killfile.org/projects/usenet/faqs/cancel/ , mostly sent by a small group of spam fighters), email had to build centralised DNS blocklists to remain usable.

And as you say, there needs to be a legitimate front organisation to interact with the regulators. Perhaps more than one, to cope with geographically distinct regulations. Or offer people an escape from their local systems of control (until you're blocked at the national level).

To me it seems that the nonprofit/co-operative model is under-explored for this.

A lot of the old Internet that people look back on fondly relied on what I call "Postel decentralisation": people think it was decentralised, but in fact it was managed by hand by John Postel back when he was IANA.

Similarly Linux has "Linus decentralisation": there's an elaborate decentralised version control system, but nonetheless Linus has effective final veto in practice. And Etherum has "Vitalik decentralisation": disasters such as the DAO can be reversed by code changes, because even if the blockchain is immutable the code required to interpret it isn't.
> ;;=> returns x if x is nil, else 5

Should this be:

> ;;=> returns x if x is not nil, else 5
> As a non-native speaker, I'm pretty sure that widespread acceptance for spelling mistakes would pose more difficulty for me in the long run.

GP here. You and @maginary make an interesting point, namely that standardized spelling helps non-native speakers. The problem with English is that much of our existing standardized spelling is quite non-intuitive to pronounce, e.g., rough, through, thorough. Perhaps some kind of spelling reform as discussed by @philipps and @jherdman below would help, although other comments here also discuss the problems that have arisen with such efforts.
"The point is, you see," said Ford, "that there is no point in driving yourself mad trying to stop yourself going mad. You might just as well give in and save your sanity for later."

:-D
(import (ice-9 match))

(define data '(display code))

(define code
(let ((pe primitive-eval))
(match data ((fun arg ...)
(lambda () (apply (pe fun) arg))))))

(code)
Fewer people know Latin in Britain now. So the Latin derived words are usually used as fully adopted words target than being treated as quoted Latin. This seems right to me.

"Forums" (rather than fora) seems a little awkward to me, but "data point" seems more natural than "datum". But then I never learnt Latin at school. At some point we need to stop applying the grammar rules of foreign languages to fully adopted words.
The page you linked quotes Louis Castle:

> What we are using is not voxels, but sort of 'voxels plus.'

So "not voxels". Louis Castle probably called it voxel-like because he didn't want to get too technical in an interview. Their technique has not been described in detail in the press but see http://deadendthrills.com/future-imperfect-the-lost-art-of-w... for an article that calls it a "slice model"-technique.

I'm not an expert on voxels but I've reverse engineered and reimplemented most of the Blade Runner rendering engine and in my opinion it doesn't count as voxels. For one, you're never going to be able to rotate the models around any axis other than the vertical.
> People like to make a big deal of France's employment laws like there are some extraordinary overwhelming problem that businesses must struggle to overcome.

For small start-ups these problems can be debilitating. For large companies they're a non-issue, they can afford it. But when you're somewhere between 10 and 20 employees this can be a real problem. To pretend there is no problem is causing the problem to persist. Source: know a lot of French start-ups, have seen more than one struggling with letting go of people that do not perform once outside of their trial period.

The size of France's economy has nothing to do with any of this. What is telling is the average pay of very good French developers, which is a small fraction of what they get abroad.
Fedora 26 end of life approaching – Fedora Magazine
should a pop band be finish their concert by re-harmonizing an entire album by mahavishnu orchestra or Miles Davis?

IOW, why would music that is intentionally written to peak in the top 10, require to be musically diverse or innovative? Marketing the artist, or creating PR 'buzz' in the press seems to be more important than how many scales or time signatures an artist can play.
This is basically impossible for English, since for many vowels, the various dialects map the diaphonemes of English into mutually incompatible sets of phonemes: https://en.wikipedia.org/wiki/International_Phonetic_Alphabe... (and even that chart is underestimating the differences - tour and moor definitely have different phonemes in en-AU, even though they are allegedly from the same diaphoneme.

If you had a conservative spelling system, where each diaphoneme was mapped to a single letter, speakers of dialects with many merges (e.g. American English) would struggle to spell correctly, since they would be unable to distinguish several letters apart. If you had a simplified system, then most speakers would get confused by merges that existed in the spelling system but not in their own dialects; and speakers of more conservative dialects wouldn't be able to write sounds that are to them different.
Not sure why you're getting downvoted - when eaten, THC is metabolised into 11-OH-THC, which is much more potent that THC. If you eat too much, cannabis has psychedelic effects that are not present when smoking/vaping, and some people compare the 'trippy' effects to those of LSD or mushrooms.
Seeing as he's said it's emotion based this is very unlikely.
It would be nice if productivity was measured by line of codes. That way we get rid of all the managers and executives who spend their days to come up with stupid ideas and say 'make it so by arbitrary date'.
You have to deal with it in some way. If a function should return a boolean and something bad happens then it can return Union<boolean, failure> or Optional<boolean> or nullable boolean or throw an exception. The difference is basically in compiler assistance. Null pointers are bad because the lack of good static analysis support.
There's science to prove you wrong [1].

[1] https://onlinelibrary.wiley.com/doi/abs/10.1111/joop.12031
> there are fewer and fewer worthwhile projects with reasonable returns

Or the projects now require less capital?

The industrial revolution relied on machines and processes that were incredibly capital intensive. In today's dollars, you could easily spend millions of dollars just to get started.

In the information revolution, a thousand dollar computer can set you down to road to a very successful enterprise.

As such, there is lower demand for capital.
There's a good video on Toxiproxy from a software engineer at Shopify. I recommend you check it out.
It's also assuming morality will be meaningful to such a superbeing.
s/convective/evaporative/
And they warn quite clearly about that. Though in hindsight, having load and unsafe_load would have been safer.
As another example, many record companies upload very popular music artists to youtube. Also large media companies such as disney upload their songs and animations. If google turned around and started selling these for a profit, we would all conclude google was getting a bit ridiculous.

In fact, you could say that the lawyers from these companies quite rightly determined that google's TOS are legally unenforcable and go against the spirit of the law.
"Spectacles! Glasses are vessels from which one drinks."

-- my school teacher
> not because they have nothing, but because they don't have what they claim they have

Absolutely.

> animation

Yep, from what I’ve seen of their holoverse ganes, that’s exactly what they’re doing and the results are, predictably, not particularly impressive. When compared to state of the art notion captured animation we have in modern games, it’s really not very good at all.

> data structure

It may be just their hype as opposed to actual facts, but they certainly make it sound a bit more sophisticated than a “traditional” spatial-index tree data structure in the sense that they claim they can stream just the voxels that are on screen at any given moment from a huge on disk dataset. But we both know they’ve been known to exaggerate, so you could very well be correct.

> It's delta between the rather pedestrian tech they have and the wild claims they make that is the scam, not what they do have.

That’s a very good point and I certainly agree.
Infographic: operation costs in CPU clock cycles
That's nil punning, which the article specifically does not care for if not outright decries in its conclusion:

> Over at Lispcast, Eric Normand argues for the “nil-punning” approach, which is fine. But I think this approach requires a confused notion of what nil/Nothing actually means. […] It is much simpler to understand nil as Nothing, i.e. the absence of a value (which is a type).

Assuming that, the behaviour of `get` is specifically one you do not want.

Furthermore, calling the map actually behaves as "Haskell and other ML-ish languages". `Data.Map.lookup` takes a Map, not a Maybe Map.
Nil-checking is a form of input validation. Validation features often leak into helper functions lower down which don't have the context or control to solve the source of a problem, where they don't belong. Separation of concerns means assigning management of risk to the bearer of profit (the calling code), where it can "fail/retry/failover" fast, before leaking validation code into functions that could be pure.

Therefore, I prefer to hoist missing value handling up to the caller, akin to "smart vs dumb components", where the caller has sufficient context and control to recover from errors. For example,

Instead of:

(defonce bus (ZeroMQ. "some-url")) ;; this might be null, but it'll leak into helpers that should only care about values

(defn transmit! [bus payload]
(if bus ;; why???
(if payload) ;; gross
(.send bus (zmq/encode-string payload))
(log/error "nil payload whoops")
(log/error "something bad happens that the caller doesn't understand and can't do anything about")

(defn tick! [ms]
;; athe wrong place to handle initialization problems
(if-let [input (.read bus buffer-length)] ;; multiple failure modes
(transmit! bus [:some (inc input)])
(comment "do nothing")))

Instead, handle initialization and input validation nearer the source and pass in system components explicitly to simplify mocking and testing:

(defn transmit! [^ZeroMQ bus payload] ;; type hint
{:pre [bus payload]} ;; basic guards
(->> payload ;; notice lack of nil-checking. you have to enforce contracts somewhere
(zmq/encode-string)
(.send bus)))

(defn init! [{:as config :keys [zmq-url]}]
{:bus (ZeroMq. zmq-url)
:redis ...
:logger ...})

(defn tick! [{:as system :keys [bus]} ms]
(if-let [parsed (parse-input (.read bus buffer-length))]
(transmit! bus [:some (inc parsed)]) ;; parse-input always returns valid data
(log/error "it's fine to handle runtime parsing errors here"))

(defonce !running (atom true))

(defn -main []
(let [system (init! {:some "config-url"})] ;; attempt bus failover here
(if-let [bus (:bus system)]
(go-loop []
(if @!running?)
(do
(tick! (time/now))
(Thread/sleep 30)
(recur))
(log/info "Shutting down..."))
(log/error "Retrying serial bus connection... ."))))
(It's too late to revise my original post:) By tolerating and collecting "mistakes" in English, I have in mind the same approach as waiting to lay some of the sidewalks on a new campus until it becomes clear where the actual traffic will be, as opposed to insisting that everyone walk only on the pre-planned sidewalks.
But you are talking about a statically typed way of handling nil. Options and Unions are not nil, which is the point. But you don’t get this in Clojure and nil can mean a lot of different things in different contexts, which is more complicated than a simple optional.
I've thought a lot about this recently so I'll share my 2c

First some semantics; I use decentralization as a term that applies to both distributed and federated systems. That way the aggregate term 'decentralization' contrasts centralisation properly.

Centralized systems usually work quite well until they reach a certain scale. At what scale centralized systems start breaking down is an interesting question that depends on some variables like the underlying information technology and the cultural assumptions of actors.

Federation is a pretty simple way of solving this problem if you can somehow figure out when and how to split up the centralized system and an interface for the various central nodes to communicate.

Distribution is like anarchism, a laudable goal, but each participant must be capable of independence which may be unrealistically optimistic. Having hierarchies as actors in a network seems more realistic if we can just figure out a way to keep those hierarchies bounded.

For example I think the world would be a better place if we had put into place laws early on in capitalism that would limit how many employees a company could have to some smallish amount like 25 - 100, that way the emphasis would have been on the cooperation of small hierarchies ( = individuals in our current system). Many large companies look like this internally but the teams are not autonomous to the extent of being allowed to move across company borders.

A couple of other observations with the max employee idea: nepotism wouldn't happen (wasting a whole slot in the company on someone useless would breed resentment) and tribes would form (loyalty to your tribe and learning to work together would be paramount).

What I'm leading up to here is that ideally the issue of federation vs distribution would be handled culturally. We could have a network like maidsafe or some ethereum based idea to reach distribution automagically but I tend to think something like a activitypub based social network with lots of different social interfaces (tinder, couchsurfing, instagram, language exchange, facebook groups for different interests, microblogging - only one already implemented, second hand shopping/selling and others) then you'd subscribe to a server that'd fit your niche and someone would be able to make a job out of serving a certain community. Basically letting people decide where they outsource their server needs to instead of trying to make the jump to personal servers in one go (a la urbit). Over generations server hosting would become a family thing probably? It seems natural, we'd essentially be back to square one where your family is your social bedrock.

I'm just flow-of-consciousnessing here so a massive grain of salt please but the overarching point is that distribution vs federation is more political than technical in my opinion.
Imagine if benefits were the same across all jobs, so companies didn't need to "worry about older workers" using them.

Imagine if our government (USA) actually protected the people instead of the corporations.

Pathetic what this nation has become.
Is decentralization overhyped? Yes. It is more due to people just scratching the surface of a problem. For example governance is not only about a democratic process - everyone having a say. It is also about public perception. If you need an example, a rather obtuse one is the current US Presidency race. People who hype decentralization go by the book and forget (or don't have) practical knowledge.

On the federation side, ethereum's oracle contracts are meant to be federated feeds. For example you can create a stock price publishing contract which federates feeds from NASDAQ, BATS, NYSE etc. but the end point is a blockchain. I don't know if that is a good idea.
No. Those are things you do by choice. Just do not chose to add the apps.

When you put an ad directly in the OS you have gone somewhere new. So Microsoft putting ads directly in Windows to me is crossing a line that should not be cross.

Personally I never been a fan of Windows and was a big Mac user and several in my family but we have mostly moved to ChromeOS.

I have a Pixel Book and just love it. Wife replaced her iPad with a CB+. Fantastic machine. She is addicted to playing Animal Crossing on the machine with the stylus.

The problem is I have boys that need Windows for gaming. I just wish we would get some alternative.

With the new GNU/Linux support on ChromeOS and the new higher end machines coming with decent GPUs maybe we will get there finally and can remove the remaining Windows machines.