skysight-inc/HackerNews huggingface dataset:
Ugg, I had to spend a fair amount of time coming up with a good example. Hope this is helpful!

The Monoid operation mappend is guaranteed to be associative, so the order is irrelevant. Data structures can fold in whatever way is most efficient for their structure.

It's true that lists and arrays are implemented as right folds, however the fold implementation for sets is neither:

From Data.Set:

fold = go
where go Tip = mempty
go (Bin 1 k _ _) = k
go (Bin _ k l r) = go l `mappend` (k `mappend` go r)

-- Here, I reorganized the code of `fold` to have the same shape as
-- `foldl/foldr` so that you can see the difference in structure more
-- clearly.
fold2 = fold3 mappend mzero
fold3 f z = go z
where
go z' Tip = z'
go z' (Bin _ x l r) = f (go f z' l) (f x (go f z' r))

foldl f z = go z
where
go z' Tip = z'
go z' (Bin _ x l r) = go (f (go z' l) x) r

foldr f z = go z
where
go z' Tip = z'
go z' (Bin _ x l r) = go (f x (go z' r)) l
Uhh... you do realize C++ std::string has small string optimizations right? That would probably take care of most of the 30%. const string& would probably take care of the rest. No program should have performance problems due to strings.
I don't understand the film companies. I'd like to watch GoT season 5 and some of the other seasons too.

I want to watch them in English and I live in Germany. Do I have any options apart from a cable subscription for a bunch of other bullshit I don't want. No of course not.

I could wait until the DVDs cone out in a years time, bit the fuckers will more than likely split the season into two releases to make you buy two separate box sets for double the money.

I could watch online but that would be illegal and I don't want to go there. I just don't watch. I'd pay a couple of Euros to watch each episode in the format I want (DNLAed off my Synology) it appears that they don't want my cold hard cash. It has been like that for years and I'm slowly tuning off from media completely. I wonder how many others are like me- abstainers?
The bosses of Indian IT services companies need to read this.

They have ridiculously high attrition rates of upto 30 - 40 %.

75 % of the people hired leave within 3-4 years.

So basically they're the tech equivalent of Walmart.
When I was there, that's exactly how it worked. Obviously not the case if you were doing OSX or iPhone dev, but otherwise no code on your laptop.
Pandora didn't pay 50 employees for two years
Well, we have created a lot of dependable practical things. I say something is dependable when you don't have to look for instances where they break. The hardware of your computer, the architecture of your house, the transport system, water, electricity and food supply. Almost everything that matter is so dependable it is possible to not to learn to create anything at all.
Petraeus Gets Leniency for Leaking–And Risen’s CIA Source Should Too
Show HN: Places – See the world through Instagram posts
>Can someone explain why black holes are often assumed to "lead somewhere"?

I guess because the thought that one universes black hole is anothers big bang is intriguing?

(not saying this is correct but it sure sounds like something I could fool an untrained person into believing.)
I played a lot of WoW in vanilla through the second expansion. The world was, I feel, the most explorable in vanilla. The game designers had started but never finished lots of content, and there was lots of randomness and hidden gems that weren't calculated 'content'. Just artistic touches that had been added to the world. After vanilla, it started to feel like everything was very much added 'on purpose', which detracted from the feeling for me. [This is a feeling I have about lots of games, and even software and real-life experiences too. Methodical polish can really make things less endearing.]

I have great memories of wandering zones I had no business being in. Especially wandering Alliance zones and cities on my Horde rogue. When achievements for exploring the whole world and doing so many thousands of quests came out with the second expansion, I had them all (Loremaster, Seeker, Explorer, ..). And I probably did 500+ quests beyond Seeker - I would just keep doing every low level quest I could find, just to experience all the random hidden pockets of content. It was a great feeling, and one that I didn't grow up finding IRL.

The vanilla world was also... rusty.. in a really charming way. It was pretty easy to crack the holes of the world open and find things that weren't meant to be found - like half finished zones, giant peculiar monoliths, and tidbits of things that had been mentioned in lore here and there but never fully implemented.

A famous (at the time) video was "Exploration the Movie' by DopeFish: https://www.youtube.com/watch?v=UWMz7-7SGlo

The soundtrack is really great too. It's electronic / trance-style stuff that I guess isn't very popular (or wasn't where I'm from). But, the first song ('When Things Go Wrong' by Airwave) became my favorite thing to listen to for at least a year or so in high school. When I got my driver's license I would put it (and similar) songs on in the car and drive around my town at night, aimlessly. Those are some memories I'm really fond of.
IIRC not being able to add U2F to the old NEO was about missing hardware support for elliptic curve cryptography, which is now present in the new NEO.
And that's why I said better. Perfect is the enemy of good (enough).

I know both are areas of experiments in Rust. I think the intent is to use llvm to link(?!) C++ code in a format Rust can use.
Wait, people care about magazines still?
You are well beyond the level you can go back and run the raid content from past expansions by yourself. The Blackrock Mountain raids specifically, saw hundreds of thousands of players run through them in groups of forty for hours every night for over two years. You just cannot get that scale anymore, and games that try (hic, Wildstar) don't see popularity like WoW did.

So you don't know empty in WoW until you run up and punch a giant rock monster to death in fifteen seconds that would have taken forty people fifteen minutes of coordinated combat to slay a decade ago.
I love that he links to an annotated bibliography at the end.

One related resource that I can recommend is Digital Geometry Processing with Discrete Exterior Calculus:

http://www.cs.columbia.edu/~keenan/Projects/DGPDEC/

It's an introductory course in discrete differential geometry and it emphasizes the use of simplicial complexes (like tetrahedral meshes).
Just to extend it a bit, when later invoices are very likely to be smaller than earlier invoices, I will partially apply the retainer to intermediate invoices to reduce the amount I am holding.

The initial retainer is at least the maximum amount that I will bill in a cycle - e.g. for a two week billing cycle at least 80 hours when the project takes "full time" effort. More if there is a delay between handing over the invoice and getting a check.

There are clients for which it is not appropriate - those where the managers are beholden to public shareholders or with substantial well-financed income producing ongoing operations. It's a risk mitigation strategy. And I am willing to walk away where my gut tells me there is enough risk to justify it and the client balks.
Note that I already posted about "estadounidense" above. That's perfectly fine for Spanish. But speaking in English, one says "American", not because of a "dripping superiority complex" as stated above, but just because it's idiomatic.

In a sense, what the Central Americans are getting offending over is a false cognate. And false cognates can often lead to these kinds of problems: if I referred to trousers as "pants" around Brits, I get yelled at for being a stupid American. There are countless examples of this. This is by no means a problem unique to Americans or unique to the English language. While travelers should be aware of local idioms and the potential for false cognates, they can't exactly be blamed for lacking perfect knowledge either.

All other English-speaking countries use the term "American" in this way. Note especially that Canadians share the same idioms, speaking of America and Americans (although they might favor using "the States" over "America"). Also note that Canadians colloquially use "North America" to mean the USA + Canada, leaving out Central American countries.
When approaching a new language, I love to read the learnxinyminutes.com page for that language.

Would be awesome if you had that kind of tutorial page, or even just added it to the website.
Downloading! Thanks! =)
Really? 0.75-1W for an RTC that has a standby mode based on a coin cell? That sounds crazy! It's an SO8 package - can that even dissipate that much power?! Sounds double-crazy!!

Oh, wait, datasheet says its 0.0015mW max.
https://cdn.sparkfun.com/datasheets/Dev/Beagle/DS3231M.pdf
And 1 Watt would make the part run at 120˚C above ambient.
Can you please share more about your cautionary tale?
Should be fairly fast still in low traffic volume mode. The challenge is doing at scale.

With low volume traffic, the code spends most of it's time blocked waiting for the next packet so the response is very quick.

With high volumes, especially high volume of small packets, the code can get seriously backlogged and even miss packets altogether if the raw interface isn't serviced fast enough.

H/W acceleration is needed to do this at backbone volumes.

Once upon a time (over 10 years ago) I was working in the field of high-volume NIDS and keeping up with (then blazing fast) GiGE LAN volumes was very challenging with the CPU alone back then. And that was with tuned rule sets / minimal pre-processors / no other I/O in the hot path.
A Tiny Intro to Database Systems
It was much worse two years ago before they started having unpopulated zones merge between servers. It was extremely common, especially on low population realms, to find entire chunks of continents unpopulated at all, and that would be on a server with five thousand people on it - they were just all in capital cities or instances.
JarMan, for working with Java archives (JAR files). You can check the manifest, see if the JARs listed in the manifest's classpath exist, browse the methods, interfaces, etc. of a class file in the JAR, etc. I've found it handy.

https://github.com/argonium/jarman
The above is known to be the optimal 2D packing for equal-size circles. If you want to geek out, consider an algorithm for the optimal packing for unequal-size circles. Say, if there is an importance or frequency measure associated with each plotted circle. Now you've got yourself a math problem.
The early NEOs were upgradeable, the recent model that has U2F support is not.
I don't know why, but a perceptual hasher I wrote for PHP is apparently moderately popular (at least for me): https://github.com/kennethrapp/phasher

Chances are I won't be updating it anytime soon though, because I have so many other projects, so feel free to fork it and/or drop a pr, which i'll get around to merging eventually.

I'm personally kind of proud of another project (https://github.com/kennethrapp/embedbug) which I meant originally to be a self-hosted replacement for site profile services like embed.ly, but which has kind of grown into a general purpose xpath based web crawler. I've been using it in various toy forum and news aggregator projects and it seems to work pretty well, although of course it's only one of countless crawlers out there.
Does no one actually see the word "almost" in there? Or are people just not understanding what the word "almost" means? It means "I'm using this unrealistic comparison to make a point." And that point is that bikes have no safety features, yet are pitted head to head against both motor traffic and pedestrians.

Would I get this many missing-the-point replies if I said "I would almost rather die than have my hand cut off"? Would I get a bunch of people saying "you've obviously never died, I've died plenty of times and anyone would rather have their hand cut off" or start quoting physics to me about how much inertia death has versus your hand?

Because I'm pretty sure I wrote the word "almost" in my comment, and I'm also pretty sure I didn't edit it in. Seriously, I'm about 95% certain that the word "almost" was included in my original comment when I hit "reply" for the first time. So literally anyone who read the comment would have had the chance to see that I used the word "almost".
This topic comes up often. This theory has its issues but is mostly solid.

http://en.wikipedia.org/wiki/Lump_of_labour_fallacy
> I have been wondering if I should start moving toward Haskell or Erlang/Elixir. So far, I've spend much more time with Erlang and Elixir and I'm liking it.

I wouldn't know about that, I only took a glance at Erlang, didn't really like the syntax but Elixir seems really pretty (Rubyist speaking of course ;)). I'm also a bit put off by how Erlang has distributedness integrated in its language, I didn't really try it out so take this with a grain of salt, but I have the feeling that it makes it more of a domain specific language, and it perhaps would be in the way of generic programming. I also had to deal a lot with a misbehaving RabbitMQ at work, so I might have channeled my incompetence into a opinion of Erlang :P

> What has given you grief on the Haskell side?

Well, both web projects I did using the Scotty framework, which I adore. The first was a web adaptation of a school project, you can take a look here[0], I like that a lot. But the second project was a docker container provisioning tool, and it had to do a bunch of stream processing and such. It's not that the libraries are bad, but there's a lot of research being done and there's 5 different popular I/O stream libraries, with various amounts of super high level abstractions, it just slowed me down a lot having to research all of it and dealing with some really high level Haskell.

That's one down side of Haskell. There's an easy way to do things, with nice pure functions and a I/O monad here and there. And there's the hard way of Haskell with monad transformers and generic type classes and what have you. You can easily avoid the hard stuff, but if you get sucked in you'll feel like a total dumbass and it'll cost you time and motivation :P

> If nothing else, this conversation was well worth it just for that...thanks :)

No problem, thanks for making me back up my ludicrous opinions ;)

0] https://github.com/tinco/Ergo/blob/master/scotty.hs
I think a full-stack dev would be a good place to start. Does not make you a leader, but yes it does fill a lot of check-boxes I think.
"The Calbuco Volcano in Chile has erupted, spewing millions of dust and volcanic ash particles into the atmosphere and lower stratosphere."

Slight understatement, maybe? Probably thousands of tonnes, if not millions. The Eyjafjallajökull eruption released about 100 million cubic metres of airborne material[0]

[0]: http://en.wikipedia.org/wiki/2010_eruptions_of_Eyjafjallaj%C...
In theory you could later implement libc (libcrust. calling it now) in Rust as well so you get the best of both worlds couldn't you?
For small functions that cannot be inlined, they should work across arrays that are as big as you can make them to make the overhead trivial.
It's supported, sure, but that doesn't mean it's going to be used by a lot of people. I can't look it up right now, but I recall the official Google apps look rather flat.
Looks you're correct, thanks. Reading up on this a bit, I was wondering if Apple/Google/Intel/Adobe/etc constituted an oligopoly, but I don't see how that could true in this case. Also reading up on the Sherman Antitrust Act (which is what they were in violation of), the section that applied here does not require a monopoly or oligopoly.

http://en.wikipedia.org/wiki/Sherman_Antitrust_Act#Elements
Show HN: CanYouMath? – A fast-paced fun math game
My team just released CanYouMath? and we would like some constructive feedback. So far the feedback has been positive but not too many details.

We want ideas and suggestions for improvement! Thanks!
Your Apple Watch can now open your hotel room door at over 100 Starwood Hotels
We're discussing overhauls to the legal system - the fact that it's illegal now doesn't enter into it.
With so much politicization on the internet today, I was skeptical while I watched this, thinking there would be an ulterior message, but it's actually really good. I enjoyed watching it a lot. I also am not sure if this should be on HN, but it was enjoyable enough that I'm cool with it.
The Judge show in Austin at The Mohawk during Fun Fun Fun Fest 2013 was one of the best things I've ever seen. It was inside, so in a room that's about 20 feet by 25 feet, with a 2.5 foot stage. Completely packed with people. As soon as they started playing it immediately turned into one of those rare "mosh to survive" situations. If you're standing still you're probably not going to leave without getting seriously hurt.

The best part was how incredibly close to the records they sounded. It was obvious that they still loved what they were doing despite how long it had been since they were last around. Sometimes older bands that get back together just seem to be going through the motions. Judge definitely wasn't.
Study: Babies Have Perfect Pitch at Birth
2 minutes into the video I'm already feeling better. Thank you.
Those are just default tags to a (very limited) issue tracking system. "Enhancement" could very well be (and is) used by developers for planned features, not necessarily requests from end users.

Heck, the title of the page you access that system on is called "issues".
Push, Don't Crush, the Students
I believe this algorithm must (partially) base the sentiment decision on the first name of the target. A couple of my friends with an unusual first name did not get a result, even though I know they are on LinkedIn. Also, very common names (Dan, Matt, etc.) come up with the same generic message.
I'm not sure if it makes any sense to implement libc in anything other than C.
An update - just got mine! So far I've mostly just been confused about how to add apps, and about why none of them seem to have any data in 'em (Trello is just blank).

I find chat/messaging pretty tough, which I get, but the Slack app seems to find a good usecase: showing when you're mentioned. It's basically the Slack notifications layer given app form.

Still super confused about how to get to glances easily.

Here are some ideas I've come up with, feel free to roll 'em:

-pong with the dial.
-skateboarding game which uses your wrist movements to do tricks
-ALERTS - the shit you really need to see before anyone else does
-Your Mood - could use the heartrate sensor + activity data to make something like a moodring.
Learn to use way back machine...
The WHOLE THING? Do you really want that?
> And that's where Ruby, Python, Javascript, and to some extent Matlab come in. For whatever else people may say about them later (they don't scale, they're a roadblock, they're a mess, null is not a function, etc.), they were there for you when you were programmatically young and they introduced you gently into a world that's otherwise extremely complex.

Well, no, they literally weren't there for me when I was new to programming. (MATLAB existed then, but I wouldn't actually see it for more than a decade.)

And while I don't think they are bad languages for beginners, I don't see a clear argument presented as to why they are superior for that purpose (just a somewhat vulgar analogy that presumes that people share your subjective opinions about the languages involved.)
An underappreciated project of mine is [langcodes], a Python package for looking up, comparing, and doing the right thing with IANA language codes. It's not a full-blown toolkit for localization, it just does this one thing well.

A project that finally got some appreciation after a couple of years is [python-ftfy], which Fixes Text For You. It repairs mojibake, and generally takes in bad Unicode and outputs good Unicode.

[langcodes]: https://github.com/LuminosoInsight/langcodes

[python-ftfy]: https://github.com/LuminosoInsight/python-ftfy
Mahogany – a PostCSS plugin that lets everyone know how important your CSS is
I'll put it another way, it would be stupid to let entire industries write their own non-competition agreements. That is monopolist behavior. Unless the repeal of the Patent Act coincides with the repeal of the Sherman Act, it would be illegal still.
I believe the choice was to spend time on adding C99 support, vs spending more time on C++ support. C++ had more people asking for it, so it got priority over C99.
My most recent is "React Resolver":

> https://github.com/ericclemmons/react-resolver

When React came out, I was disappointed that server-side rendering was pretty much impossible unless you knew _all_ of the data requirements for the entire render tree & loaded them up front.

This project has just underwent a rewrite for React v0.13 that I'm pretty proud of, since it's ES6 and packaged as ES5 via Babel.

It's been fantastic in my personal & work projects, and has made it possible to rebuild a major application that was in PHP entirely in Node w/ progressive enhancement.
AFAIK, rust-bindgen doesn't currently have support for translating C functions and structs into anything other than the same things in Rust. It's somewhat idiomatic for manually-written bindings, layered on top of the generated ones, to take care of things like providing a memory-safe interface (which can't really be done automatically), converting between native Rust types and C representations if necessary (perhaps including things like Result vs. error codes or nulls), and adding object orientation. If you want to go full automatic, though, you can do a lot with Rust macros, so give them a try.

Examples of manual wrappers on top of bindgen - there are many:

http://erickt.github.io/blog/2014/12/13/rust-and-mdbm/

https://github.com/kenz-gelsoft/wxRust/blob/rust-servo/src/b... (I don't like the design of this one, actually)

https://github.com/rust-gnome/gtk/blob/master/src/widgets/ac... (better)
> no differentiation between assignment and equality, it's 2015 btw

F# has about as much differentiation between assignment and equality as VB, although it is nicer in F#.

====================

Now, I haven't used VB in almost 10 years, and have programmed in C# and F# for about a decade (even before F# was included in VS). But, once you get past the verbosity, VB is actually a slightly more powerful language than C# (my most favored language).

VB has more query comprehension operators.

VB has a more elegant way of wiring up events using the `Handles` keyword.

VB has XML literals. Once nice trick is that you can use them to simulate better string interpolation.

VB has a more robust way of handling exceptions (though C# will gain this in the next version).

VB allows you to use automatic type propagation ("type inference") with lambda expressions. Not that big of a deal, but coming from F#, I'm always slightly annoyed that I can't use `var` with lambdas in C#.

VB's `Select..Case` is more powerful than C#'s `switch`

The `Like` operator.

String concatenation via the "&" is nicer in VB

Late binding is nicer in VB (though arguably more powerful in C# 4+).

I prefer C#'s way of doing overload resolution (start with the most derived class first), but some of my colleagues have exploited VB's method of overload resolution (consider all methods in the inheritance hierarchy at once) to create some elegant code. I've been meaning to investigate it.
I don't see why people complain so much about Xcode. I haven't used VS for a few years now, but I have bad memories of it. Xcode is in my opinion excellent compared to Visual Studio (especially for C/C++ work).