skysight-inc/HackerNews huggingface dataset:
I really hate that people have this idea. It's why people create apps which consist of a built in web server their own copy of chrome that connects to said server.

In the end something that ought to have taken 10mb of space and 20mb of ram requires 100mb of space and half a gig of ram and still manages to be slow on a new system at operations that ought to have been fast on a ten year old machine.

Down with the Javascript generation.
The author's attempt to rewrite the cake recipe in a functional style misunderstands the paradigm completely.

The correct image here is all the stuff -- oven, pans, butter, flour, salt, etc -- entering a funnel on the left and producing a baked cake on the right. The funnel itself, if you were to peer inside it, would be composed of multiple sub-funnels: pans with batter + oven as the last step, empty pans and bowls of batter as the step before that, and so on.

It's natural, not weird. The metaphor is used all the time on cooking shows, where they show you bowls of all the ingredients, and the final product next to them.
Debian packaging basics aren't hard once you know them, but starting from scratch, it's hard to collate the information. There's lots of stale information out there (including the debian wiki) and disagreement about how to do it - debuild? dh_make? dpkg directly? tar/ar manually?

Similarly, if you want a package up something without a Makefile, you may as well go home. My first packaging attempt was basically to install a tarball at a location (in-house use only), and it wasn't clear that I had to make a Makefile to do this first. And then you get introduced to the bizarre world of make with all of it's idiosyncratic rules and behaviours.

Then you get to play with all the dpkg control files, and if you're using debuild, you have to avoid the lintchecker - because you can override lint rules... but the lint profile then disables overrides for some useful ones (the "install to /opt" rule gives me lots of spam). So now you need to learn about the lint-checker so you can do your own profile (or just disable it).

Then, as takluyver says above, you get to add it to a repo so systems can access it...

Once you know all this stuff, it seems pretty simple, but getting over that hump is difficult.
It's an unrealistic expectation to start programming software in a matter of days without learning any fundamentals.

You can't pick up C in a couple days and write programs if you don't understand pointers, const's, etc.
new 64 bit 1.2GHz cpu core confirmed?

http://i.imgur.com/KRRd7OQ.jpg

http://i.imgur.com/exuZy58.jpg

http://www.cnx-software.com/2016/02/27/raspberry-pi-3-model-...
Funny how ES6 looks a lot like MooTools, it was ahead of its time
Also consider setting a time-to-live for each hotspot.

They come and go.

Also mark 'expired' and 'verified' hotspots as such. Most will be unverified, of course.
>>They are trying to protect US citizens from losing their jobs (or getting wages cut) due to a sudden availability of cheap labor.

Mmmm. I hear you. Sort of. Your argument though, is not very different from the "women are taking jobs that rightfully belong to men" spiel that was all the rage after WWII.

I suspect that my argument is fundamentally based on wishful thinking. That said, you can't have your cake and eat it. The 'race to the bottom' you alude to is already happening with offshoring though.

But my central argument remains ... foreigners (based on borders determined by middle aged white men a couple of centuries ago), remain the last 'minority' group that you can still discriminate against, vocally, in polite society.
Digging into the Illumina Lawsuit vs. Oxford Nanopore
How is that a rebuttal? I feel some unspoken axe to grind...
I can't really give an overview, but I'll tell you what I know :).

Paxos is a rather simple algorithm for reaching consensus on a value once:
http://research.microsoft.com/en-us/um/people/lamport/pubs/p...

The two phases of the algorithm are described at the bottom of page 5. Section 3 also describes how to use Paxos to implement log replication, Multi-Paxos, which is comparable to Raft. Unfortunately, this section does a lot of hand-waving, so it requires the implementer to have a thorough understanding of the underlying issues and find good solutions to problems such as membership changes.

Conversely, the Raft paper is much more instructive to implementers, giving a clear overview of the necessary functions, messages and state:
https://ramcloud.stanford.edu/raft.pdf

Personally, I find Multi-Paxos a lot more elegant, as it essentially derived by working backwards from the safety constraints. As a distributed systems researcher, it is very obvious to me why it works and I can do a basic implementation almost from memory. Unlike Raft it is also independent of time. Another nice property is that it is symmetric/masterless. All nodes can do reads and writes at any time, though whether that's a good idea is another matter. Of course, these are rather subjective and mostly aesthetic notions.

Multi-Paxos is generally seen as harder to implement, because the Paxos Made Simple paper is not very explicit about implementation, and the original paper is... well... read it :)
http://research.microsoft.com/en-us/um/people/lamport/pubs/l...

Raft is getting quite popular, because people find it easy to follow the instructions of the paper, but this can be slightly deceptive. For example, using stable storage for your state is essential for crash-safety (meaning fsync-ing before answering), but I don't see where Hashicorp's raft implementation does that. Raft relies on the combination of several rules to reach consensus reliably, for which Ongaro has given a rather elaborate proof using 20 pages of TLA+ in his thesis. It's quite easy to make a mistake in your implementation and break one of the rules. The same goes for Paxos, but the rules are, at least to some extent, more obvious.

A big benefit of Raft is that it already includes quite a few optimizations that would be necessary to make a Multi-Paxos implementation efficient, and you don't have to come up with them yourself. You can generally expect Raft implementations to outperform Multi-Paxos implementations. On the other hand, Multi-Paxos can be tailored to a specific use-case, such as Google's Megastore, Chubby and Spanner, which would be much more difficult with Raft.
Read the full run of sci-fi magazine If for free scanned at the Internet Archive
I solved a problem. Probably not in the most elegant way, not using the latest and greatest buzzworthy tool or library, but I solved it.
Ohh, yeah, so you force everybody to understand the command line when something does not work as expected.

95% of the way means it is not finished. When I buy a car the seller better does not say that the car works 95% of the time.

Installing something in millions of computers is hard. We do it. Being able to install something on one computer with a person that is a computer programmer with 20 years experience with the command line is completely different from making it to just work for millions of people.

Apple actually makes it work for millions of people in a very simple and elegant way. As a geek I could use homebrew or any other system in Linux if I want, but Apple's system works great for most people.
So what? Perhaps it would thrive even more if. Your argument does however explain why there is little pressure industry-wide to switch.
The best APIs are those that don't change because they work so well. jQuery has pretty much been that.
> To do I/O in FP you have to deal with monads

No.

> The common ground is functional-ish and mostly-stateless programming ("const" etc). C# is actually becoming very good at this, and you can always cross into F# if you want.

Newish C# is just functional programming dressed up as Java, and goes far beyond const. C.f. functional-ish C# programs to C programs that use const. Striking difference.

F# is just .NET's version of a straight up a very traditional and canonical functional language. If F# isn't functional then nothing except maybe untyped lambda calculus is functional.

The article's title is correct only in the tautological sense that unpopular things are weird, even in the paradoxical case where those unpopular things are actually fully embraced while remaining unpopular.
YourMechanic (YC W12) Is Looking for Data Scientists and Full Stack Engineers
> (You can tell that monads are hard to work with because
> there are so many articles telling you that they're easy)

lol yeap, you made me curious so I went to search for those articles, and sure enough, there are plenty. My favorite quote was: "Monads are easy, you just need to put in the work."

My second-favorite quote was: "if someone is really convinced that monads are easy, they are going to be in for a demoralizing shock"
Installers regularly install packages to system dir because it would be idiotic on a multi user system for each user to install different versions of Firefox to their home dir.

It also serves to keep unprivileged users from installing software.

You are free to install software to your home but it shouldn't be the default behavior
> The way I would view it would be to outsource it until you can afford to hire someone to work on that full time.

Exactly. I would outsource whatever the problem is that can be outsourced, in this case search to Algolia until we are far enough along that we can tackle it ourselves.

I don't think there's a real equation for it until you get to the point you can no longer afford it, but at that point you probably waited too long (excepting the cases where you've run into stratospheric growth).

I think as a team you should be looking ahead at growth estimates and making the judgement call to begin working on bringing it in house. Ideally you want the opportunity to run both side by side for a while.

And, honestly, what if you architect it or don't grow enough to make the cost a pain point? As long as the service provider is doing a good job, you could use the opportunity to extend your product into various other directions. Why build search if your focus is on something else and your provider is affordable?
I've also found this to be the case, I used to sleep 3 hours per night, take an hour nap afterwards, and on weekends I'd sleep 12 hours or so per night. My averages sleep per week was 55 hours, or about 8 hours per day. It all evened out on a weekly basis, although I don't think sleep is supposed to work that way...
Not sure why this is posted here but Cleanflight is great, it's used extensively on racing drones.
That pales in comparison the the real innovation in ~94. The blink tag, so legit
I'd be interested to know what you think those themes are, and which details were unnecessary.

To me the overload/tangential style felt essential.
If you are into drone racing definitely use the betaflight fork. Out of the box the quad's behaviour is much better.

https://github.com/borisbstyle/betaflight
You actually cannot make malicious applications safe you can however make nonmalicious applications inconvenient.
There are low frequency systemic laws at play. Software reuse is still a myth. Large project don't see any benefit to invest into FP abstractions. It's not even business smart so far since you make a shit load of money from accidental complexity. Tools to manage tools to manage tools that makes you look pro. I know from experience that even in high skilled domains, IT shops and their client are probably only at 30% efficiency (6 monthes turnover means ~2 months of actual work, low quality one, before leaving). There are no forces at play that respond to the problem that FP solves.
I completely agree with your comment regarding functional programming becoming more useful as complexity increases - even the author's example is rife with functional programming. Think about the steps where the flour, baking powder and salt are added to the small bowl. The act of measuring these ingredients can easily be thought of as a pure function that takes a large amount of a raw ingredient, a measure and returns the correct amount. I'm sure there are many examples of pure functions implied but

I have to say that I rather like working backwards - yes, a finished cake really is cooled after baking after batter that has been mixed. If you're putting together an engine in your garage you work the same way - nobody rebuilds their carburetor while it's mounted on the intake manifold (okay, not many people even have carburetors anymore). You build "assemblies" and create the larger whole from sub-assemblies. The same applies to virtually all manufacturing ... I spent a lot of time designing electronic systems that all started by populating circuit boards.
Why hasn't functional programming taken over yet?
It's an example of that style of thinking that made Dijkstra write his famous quote,

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Nice to see a Starbucks hotspot in the middle of Thames river (London)... doesn't show the depth ;)
IF Magazine epub links
http://pastebin.com/Lpui5AVG
>discriminate against

The fact that you think it's discrimination shows you completely misunderstand the issue and are coming at it from an emotionally biased perspective. You aren't entitled to anything. The government is rightfully concerned with protecting its own citizens and making sure they are gainfully employed. Citizens vote, foreigners don't. Every person within those borders who does not have a job puts a drain on the rest of the country. Someone without a job outside of those borders does not.

Also, the last I checked Americans aren't allowed to work nearly as freely in most of the countries where we accept immigrants from. We are already an exceptionally generous country and our visa program is already abused and rife with fraud. To expect even more from the US is just hypocritical and self-entitled thinking.
I totaly agree with you. We need full decoupling between components. They have to be seen as pure functions, taking parameters and returning view modifications (and new values)
In South Africa, the decimal comma is the standard, but beyond school, I almost never see it used. The space is still retained as a thousands seperator (I don't think I've ever seen a comma thousands seperator in a South African context).

The widespread use of the decimal point in SA is presumably the legacy of cheap digital calculators that couldn't be localised effectively.

I wonder how other decimal comma countries have been able to stave off the decimal point.
I think you're conflating functional programming with Haskell.

You can use something like Clojure without touching monads, just use functional data structures to represent values instead of using objects, and the using mutable state is simple just not the default and you rarely need to go there.

In fact if you're using something like React and something like Redux you're going in that direction from the other side - in Clojure it's basically the natural way to solve the problem (and frankly all of their concepts map much better to CLJS than JS)

I feel like people pushing Haskell and all of the weirdness that comes from lazy evaluation did more harm to FP perception in the general programmer community than good.
I read the first few and dry is being polite. Wasn't this the age when people were turned on by seeing a woman's exposed ankle? I wonder what their reaction would have been to today's jokes and short shorts. Seems people were both easily amused and aroused back then. It is wonderful to have this archive though, agreed.
>whereas many C/C++ coders naturally decompose problems in a top-down manner.

That's kind of weird, considering this quote from Ken Thompson, when asked how he thinks of such good abstractions:

"It is the way I think. I am a very bottom-up thinker. If you give me the right kind of Tinker Toys, I can imagine the building. I can sit there and see primitives and recognize their power to build structures a half mile high, if only I had just one more to make it functionally complete."
React is a library, not a Framework, and the core library itself is actually very small. In fact, part of the recent changes (splitting React into React and ReactDOM) have been in order to keep the core React library as small as possible.

React itself doesn't do very much at all, but when you're using React, you're using almost everything React has to offer, and then can choose what you want to add on top of that.

Take a look at the top level API [1] and compnenent API [2]. This is React. It's small, and it's compact - there's not a lot to it.

[1] https://facebook.github.io/react/docs/top-level-api.html

[2] https://facebook.github.io/react/docs/component-api.html
The author does have a point. Another issue is that the problems FP solves are problems that I think many developers genuinely don't have. Or when they do have them, they occur in very specific ways that can easily be handled with an 80% solution bolted onto an existing imperative-first language. Node, LINQ and Numpy all come to mind. These have the advantage of confining the weirdness to one spot, which makes it easier for users to accept them because they don't feel trapped the way they might in a language like Haskell or Racket.

Meanwhile, FP does introduce some of its own problems, and I think many of my fellow FP fans are too quick to downplay them. Performance is one. It might be solvable by compilers, but for those of us who are not likely to spend much time hacking on the compiler for our language of choice that's a small consolation.

The end result being, it's still the case that my adventures in functional programming (which are generally done using a multiparadigm language like F# or Scala) will go something like this more often than I care to admit:

1. Implement imperative solution.
2. Feel guilty, go back and replace it with functional one.
3. Find performance problem. Dig out optimizer.
4. Optimizer points to code from step 2.
5. Revert back to version from step 1.
"Despite these inefficiencies, there are a few places where typewriters still clack away. New York City police stations, the desks of a few stubborn hangers-on, and, increasingly, the apartments of hip young people who have a fetish for the retro."

And those who have a passing interest in securing certain types of information. [0] Why? Each machine uniquely fingerprints a typed document making it easier to trace leaks. [1]

[0] https://duckduckgo.com/?q=typewriters+security

[1] "Unlike printers, every typewriter had its own individual typing pattern which made it possible to link every document to a particular machine, Izvestiya said."

http://www.bbc.co.uk/news/world-europe-23282308
Highest recommendation for David Wootton's The Invention of Science [1]. Did you know that the notions of "discovery" and "fact" were invented? His Galileo biography is also wonderful.

[1] http://www.inventionofscience.com
Riding a bike is easy. Learning to ride a bike is hard.
Yeah, I stopped reading the second I saw "SBT." I know there are lots of Scala programmers who use it, but none of the ones I know do. (Having worked at Twitter for 4.5 years, that's a not-insignificant value of n.) I've heard nothing but bad things about it.
The title is much better than the article. It is very different, "weird" relative to norm, and the industry is doing well enough that there just is no pressure to do something different.

Honestly that makes sense to me, and I don't blame programmers who are happy with their jobs/lives/workflow/whatever from switching. But when the mainstream idolizes "disruption" and "innovation" above all else, y'all start looking mighty hypocritical. Please, for the sake of us functional programmers, choose one of your revolutionary aesthetic or your shitty languages, but not both.
I also built a Makefile-centric web development build workflow.

It was OK until a developer on my team complained because he only used Windows
Photo of what the North claimed to orbit this month
The Amazing Race (Bros Being Jocks) Summary and Review
Good to see he practices what he preaches: This is entirely readable in lynx and w3m.
I remain sceptical about how ergonomic this is. I also wonder how much processing power they need to run this in real-time. Such virtual reality simulations are often still somewhat computationally expensive and sophisticated. But it actually looks quite exciting.
You're right, there was no direct mention of substances.

Can you with complete honesty say you did not engage in any substance use? The fact that you went with 'post did not mention' as opposed to 'I did not use substances' says it all doesn't it?

Furthermore:

"Around the same time, right after having gone to my first Kundalini Yoga class, I ended up meeting (and falling in love with) a mesmerizing crazy chick that guided me off-the-deep-end with this type of thinking: numerology, synchronicity, manifestation, the mayan calendar, tarot, crystals, &c."

Tarot and crystals. Intellectually sound?

Ok then...

I don't mean to be on the offensive but you don't seem to wish to be honest about the entire picture and end up concluding 'coulda been anyone', which's simply not true.

Claims about the nature of losing your grasp of reality to the extent that you have need to have some serious backing. You seem to be engaging in self-rationalization rather than owning up to having made some mistakes and being lucky for regaining your faculties.

This should be a cautionary tale - not a 'hey, cool story bro', I sincerely hope you can see that.
No, that's why I said I think you're right. Perhaps routing is needed sometimes, but that is a simple thing, despite the pompous names these Javascript people tend to use. "Services" is just another pompous name for "doing HTTP requests".
India’s first nuclear submarine INS Arihant ready for operations
That part about the line numbers in IE error messages was exactly the pain I was thinking of :)
For 59%. Did you read that?
I just love how Google datacenters are somehow "the real world". Nice, cool and controlled temperatures, batch ordering from vendors knowing they are shipping to Google, stable/repeatable environments, not much mention about the I/O load, etc.

And then there's

> Ignore Uncorrectable Bit Error Rate (UBER) specs. A meaningless number.
...

> Bad news: SSDs fail at a lower rate than disks, but UBER rate is higher

meaningless, it is.

The real world has wild temperature ranges, wilder temperature _changes_, mechanical variations well above and beyond datacenter use, and possibly wil wild loads (e.g. viruses, antiviruses, all sorts of updates, etc. etc.).

It is easier to do stats this way, though.
Most software already has a “golden key” backdoor: the system update
I've been spending a lot of time in the embedded area lately (sub-200Mhz 32k RAM automotive systems, firmware and fpgas) and I agree with you. But there's always tradeoffs. In this case you're trading some memory (which is cheap nowadays) for up-to-date, secure, usable apps, which seems to be a pretty complex thing to do. Nobody solved it so far. The people using node-webkit are offloading the library compatibility issues to the people who built Chromium and are provided with a consistent container to run their application in.
Harvey Mudd College: Increasing women in CS from 10 to 40% in 5 years