skysight-inc/HackerNews huggingface dataset:
> I often find that code alone is not enough to describe why something did or didn't work.

Me too. And I also often find that commit messages alone are not enough to describe why something did or didn't work. Code and commit messages both help.

"Clean history" can obscure things when it leaves out information about the often messy process of creating the software. It's impossible to know ahead of time what information will and will not be useful when attempting to grok a piece of code in the future, so sometimes it makes sense to err on the side of more information, instead of less.
Open source's definition is incomplete when it comes to protecting the freedom of users. And, libre doesn't imply "free as in pizza" to me.
My best work is 5am before anyone gets up - for similar reasons. Of course I could never convince an accountability group to get up so early!
It is illegal to keep working for the federal government for free. In a shutdown, most non-essential workers will be on unpaid vacation.
While I don't really have a problem with being "rude" to a corporation, especially some evil behemoth like Facebook, it's worth noting that sharing these questions probably violates an NDA that was signed/agreed to before the interview.
I understand that "free software" is what RMS prefers, but why is it better to contribute projects using that terminology? Aren't most open source projects also free software projects, even if they don't call themselves that? Isn't contributing to free software a good thing, regardless of what it calls itself?
What specific rights and freedoms does the user have with libre software that they do not with open source software?
I think one of my favorite controllers was the old 6 button sega controller. That with the addition of trigger pads is probably imho about the best layout.. though now we want/desire dual analog inputs, which makes it a little more tough to get right. I think that the Sony PS* controllers are probably the best option for today's play, and the 360 controllers are close.

Then again, I really don't play much.. I do wish the Ouya controllers were actually more responsive in games/emulators.. the controllers feel okay, but when they miss on screen, it's just painful.
It's not a trick and it has nothing to do with tax raises or asking voters for money. The LoC cannot continue most of its services if Congress does not appropriate funds to it. It's the law.
Why iOS7 gets music playing wrong
I think basically people who need to communicate beyond a certain age tend to avoid Unicode and just use images, and CJK Unicode is essentially fixed, even if still changing slowly now. More info here: http://www.unicode.org/reports/tr38/

My overall impression was that super ancient characters (of which there are tens of thousands more, probably with many academic arguments as to their individual distinctions or similarities) have been left out of Unicode proper and are under some documentation/standardization effort by a separate group as a 'special use region' mapping within Unicode for their own use by agreement. I can't find their site, though I could swear I had it a few years back. Initially, "Han unification" was an effort by the authors of Unicode and the Universal Character Set to map multiple character sets of the so-called CJK languages (Chinese/Japanese/Korean) into a single set of unified characters and was completed for the purposes of Unicode in 1991 (Unicode 1.0). Unfortunately, not only did they try to get modern scholars to agree on a normalized set of characters, but they also wanted them to agree of semantic equivalence (and a subset of pronunciations!)... in all cases... across all time: obviously not a good way to please hardcore academics. (It should be noted that Vietnamese also used Chinese, that in ancient history (even ~3000+ years ago) numerous non-Chinese ideographic/logographic/alphabetic scripts existed in the south-western Chinese borderland, and that in modern Chinese, certain surviving characters today seen as 'Cantonese' (from southern Chinese coast to east of Vietnam) are a surviving relic of this arguably greater and prodominantly Southern Chinese culture of ideogrammatic innovation). Some of the scripts still survive archaeologically, others survive in literary reference, and some (though primarily alphabetic, save for the Naxi Dongba script, an understanding of which is critically endangered to lost now despite government efforts at preservation) are still alive today... often with government reforms or some 19th century debris of Jesuit or other religious meddling.
Any binary compiled by a third party could be malicious, whether it's supposed to be compiled from free source code or not, whether it's Google or Mozilla or Debian. Verifiable compilation would partially solve this and would indeed make the non-free parts a problem, but this is another thing that nobody is doing (yet).

edit: Of course this also has nothing to do with the silentness of the updates. :p
Have you read the GPL? It uses fairly simple language, no legal jargon, and it's a lot shorter than some EULAs I've seen. I imagine a lot of people just mentally file it under 'legalese' and skip over it, but even a "simplified" GPL wouldn't prevent that.
The way it works is that inner ear has an 'accelerometer' that can detect if you are in motion. If you are not, but you are perceiving motion (e.g. computer games or the iPhone animation) your brain notices the difference between reality and perception and assumes that you are hallucinating e.g. from poisoning and therefore makes you sick so that you throw up the poison.
The robot in the picture seems to be inside a cylinder. Seems to effectively have all the qualities I mention.

Notice that it is created to manufacture Chinese food. A change in taste to Korean might obsolete it.

Prototypes can do lots of things. They tend to have durability and reliability problems.
Inexperienced doesn't mean stupid
fsck checks the consistency of the file system and the kernel? Asking those two together seems really weird. If that's how it was presented the best guess I could make is sync (forces changed blocks to disk) and fsck.
I don't recognize my workplace, or that of my friends, in this story. It is a great fictional story. But hopefully you guys are aware that this is not what working at Google (or, I assume, Facebook or Twitter) is like. And I say that as someone who is IRL married to a consumer experience specialist.
What? If they are GPL compatible, what does it matter?
I apologise in advance, but what is the significance of the "Underscore" in the article title?
That's a fun game to play. Go to a local Linux users group meeting. Borrow somebody's Debian DVD (someone always has one) and install on your laptop. Wait a year. Look that person up and demand they mail you the source for the exact binaries you installed a year ago.
That's an odd example. In that case, im pretty sure the teacher, who apparently has no idea about programming, could simply direct the parent to the website of the creators of this GPL software, where the source is available.
Morality Doesn't Exist
> There is a need to legimatize Bitcoin with governments or use a virtual currency that is able to establish legitimacy, so that large businesses which only have a marginal gain from incorporating Bitcoin will actually have an incentive to do so.

The reputational issue is solved by widespread real-world use, which is not something Ripple can boast either. These 'large businesses' have no reason to use Ripple even if it's clean due to backdooring, if no one else is using it.

> Furthermore, there was a very strong consensus among all parties, most especially by Patrick Murck (President, Bitcoin Foundation) that Bitcoin is not an anonymous or "private" currency

I would be fascinated to hear if this means that Murck and the Foundation plan to sabotage the adoption of any Zerocoin-like extension...?
Free or "libre" software is software that obeys the Four Freedoms. Much "open source" software is also Free software, but not necessarily all of it.

I'm not sure if this is still the case, but for a while Microsoft would provide source-code to the Windows NT kernel to universities and academic institutions; the source was open (for some definition of "open") but because Microsoft did not allow redistribution and modification, and only allowed the code to be used for educational purposes, it was not Free software.
The podcast he references is by David Smith, who uses _davidsmith as a twitter handle, and then gets called "underscore david smith" on podcasts.
I think the literal falsity of your metaphor speaks for itself. Mohammed can wait as long as he wants. The mountain isn't going anywhere. Things don't have to end up a certain way because it's "right" for them to. And being "right" has failed to win many a time.
I love how rms has been preaching for decades, while most of the tech community snidely ignored him. And yet, in the end, everything he warned about turned out to be right.
I'd love to look at some numbers. I'd say that his message gets to more and more people and the current circumstances are making free software more relevant than ever.

I think the ratio of people caring (or not caring) is the same, but sheer numbers must have increased with time.

How are you trusting your Windows/Macos today? :)

Imo, his tack will not work any better because most people continue to not give a shit about their freedoms. Take away "convenience" or "entertainment" and you've got yourself a revolution.
What did government employees do to deserve a shutdown?

This is absolutely a failure of the politicians in the House of Representatives. The Tea Party wing of the Republican party will not pass a clean bill to allow the government to continue to function unless Obamacare is "defunded" which is both fairly ridiculous and not actually possible.
I assume these can't be automated easily because they involve dealing with a complex, unpredictable environment. AI has gotten there, hasn't really gotten closer.

Roomba's are really slow. There's no robot that can quickly find and clean a spill while keep people around the area safe. That kind of progress hasn't been made with robots and AI.

You can have something like a system where the restaurant is a big box that cleaned automatically, yes, but then it also becomes unpleasant. Kiosk ordering might work but then cashier is also the "public face" of restaurant.

It all comes down to "why do people go to restaurants instead of microwaving Trader Joe's stuff", right?
Even if we're talking about code points and not characters, UTF-16 is variable width.

UTF-8 is variable width using 8, 16, 24, or 32 bits per code point.

UCS-2 is fixed width using 16 bits per code point.

UTF-16 is variable width using 16 or 32 bits per code point. It's an extension of the fixed width UCS-2 format: every valid 16-bit UCS-2 code point is also a valid UTF-16 code point, but UTF-16 also includes 32-bit code points.

UTF-32 is fixed width using 32 bits per code point.
Just to clarify things a bit more, I'll quote from the stat(2) man page [1]:

time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */

The field st_atime is changed by file accesses, for example, by
execve(2), mknod(2), pipe(2), utime(2) and read(2) (of more than zero
bytes). Other routines, like mmap(2), may or may not update
st_atime.

The field st_mtime is changed by file modifications, for example, by
mknod(2), truncate(2), utime(2) and write(2) (of more than zero
bytes). Moreover, st_mtime of a directory is changed by the creation
or deletion of files in that directory. The st_mtime field is not
changed for changes in owner, group, hard link count, or mode.

The field st_ctime is changed by writing or by setting inode
information (i.e., owner, group, link count, mode, etc.).

[1]: http://man7.org/linux/man-pages/man2/stat.2.html
So that's a timespan denominated in negative seconds, right?
> trusting your Windows/Macos today

Well enough for day-to-day purposes. And therein lies the problem with Stallman's perspective, as it affects the common man.
What if you had a great product video/detail shots/testimonials about the quality of the print?

I'm a photographer, and so I'm picky about print quality, but I would be willing to roll the dice on some gift-type prints, and I could easily be won over by some nice shots of a quality print.
Do you know anyone who works for the federal government? I do; I have cousins who work at EPA. They got their hours cut because of the sequester; they weren't paid full weeks.

Obviously, some people are still getting paid. But your "unlimited credit card" observation is inaccurate.
Responsive Web Design for Business
First, I think it is great that you contribute to open source projects! However:

> Aren't most open source projects also free software projects, even if they don't call themselves that?

No, I don't think that would be correct --- if you agree that there is a difference between free software and open source (and I think there is).

Free software takes steps to protect the rights and freedom of [edit: all of] its users, both "first generation" (those you directly distribute software to), and "later generations" (those that might get a copy, or modified copy via one or more intermediaries).

So, a project can't be rightly called free software (as opposed to "just" open source) unless it is distributed under a licence that takes steps to protect its users (which in general would mean (A|L)GPL).

Now, there are probably a few projects that might call themselves "open source" (or not use the term free software), but still use such a licence -- but I don't think they are in the majority.

In particular, a lot of software that is free on the surface, isn't as free as it probably should be; namely server side software that is licensed under (L)GPL rather than AGPL. Or rather, it is licensed with the "user" being a server operator or business, not an "end user". This facilitates services that lock in your email, chats, blog posts, social relationships etc, without (necessarily) giving the end user a "way out".

I'm far from the point where I recommend everything should be AGPL -- but if we are talking about end user freedom, then there's a lot of software projects that do very little to protect that -- and in that sense, probably shouldn't be considered free software.
I don't know long term.

AI has made a lot of strides doing what it's good at and basically stagnated outside that realm (it's been forty years since the first seemingly intelligent system appeared and none of these systems has become good at dealing with an uncontrolled environment). AI hasn't gotten noticeably better at dealing with complex and confusing environments.
1. Don't get into a situation where you don't have a journal :) Seriously though, there are a couple solutions. One is to have a simple note-taking app on a smart phone (assuming you have one) that you can quickly tap something into. Transfer it to paper later, or leave it on the phone, your choice. The other is to get something like this: http://shop.moleskine.com/en-us/notebooks-journals/reporter/ and just keep it in a back pocket at all times. It isn't your main journal, but it's at least a place to jot some stuff down into.

2. Kinda hard to answer, as I don't know the company that made the cover for my journal. (I got it while at MAGFest last January, so they're likely to be there again if you're an attendee) It looks somewhat like this though: http://photoguy42.deviantart.com/art/My-take-on-the-river-so... except black leather with a blue portal on one side, orange on the other. It's a 5 1/2" by 8" size journal, (http://www.art-alternatives.com/products/items/sketch-books.... the AA75121 one) which for me is a good size to be able to write whatever without feeling too constrained. Your mileage may vary. However, the cover is fantastic because it's definitely very tough, and keeps the journal safe from damage. (the Bullet Journal website recommends this so that it doesn't fall apart over the year or so you're supposed to keep a book) You could get away with something else though. I personally don't want to buy a journal which can only be used once, and prefer nice covers where I can swap out the paper. If you want to just buy a single book, no fancy cover, that's fine. You should look up Rhodia for that, as they have very nice paper. Or you could get what I'm using, which absorbs fountain pen ink very nicely without bleeding. A very rare quality in paper :)

3. Thoughts on various topics. Whatever I feel like is worth writing down. A game idea, ideas for a game engine, poetry, tasks, etc. A daily journal is a great idea though, if you feel like you can keep it up. And I always have whatever I write in a category, which I have in my index. Do I want to review my notes on the Scala course I'm taking? Index says page 34-35. Handy!
and basically nobody cares about Unicode apart from font designers and the Unicode Consortium.

If by nobody you mean, pretty much the entire world east of New York.
Link to the documentary he made: https://www.youtube.com/watch?v=oo0SHLxc2d0
I feel similarly about this to the way I feel about vegetarianism: doesn't eating 95% less meat have virtually the same effect as eating 100% less? (Not that I've reduced my meat intake by that much.) I don't really believe that consequences are the only thing that matters (and RMS seems like someone who would agree with that). I guess I'm weak-willed.

How many people read his perspective, agree with it (or at least have it resonate deeply with them), and yet still use plenty of non-free software? Google Search, Gmail, virtually any iOS or Android app, .NET, Windows, Adobe, etc. I know I do.
Is this right? Doesn't Java use UTF-16 internally?
I love that UTF-8 kind of followed in the tradition already set by the guys who came up with ASCII. ASCII itself is brilliant in that they aligned characters to be easy to test. Take upper and lower case 'A' which are 0x41 and 0x61 respectively:

0x41 0100 0001
0x61 0110 0001

So if you want to test whether a character is uppercase or not, you can just & 0x20.

Another one is how the number digits got lined up, which start at 0x30 for 0 to 0x39 for 9, which look like:

0x30 0011 0000
0x31 0011 0001
0x32 0011 0010
etc.

You can just read off the first nibble to convert from ASCII to an int which is pretty cool.
> As long as you've visited a site once before, any subsequent visits will be safe.

As long as your first visit wasn't compromised.

Sites like Google's also don't use the same certificate every time. Out of my own curiosity I scraped their SSL sites for a while, I saw tens, maybe hundreds of different certificates being presented. There's no way of telling which are actually Google's.
I'm pretty pleased with my discovery of Minihack for iOS. The UI is the best I've seen and I love the integration with Readability.
> Gwern, how long does it take to put together a comprehensive document like this?

This particular page is one of the most citation-stuffed pages on my site, and I read everything I link if the fulltext is available (which is currently almost all of them after my last batch of requests)... I know I spent at least 40 hours compiling the core of the literature review for the LW contest, and I feel like that was less than half the time I spent writing the rest of it, updating it with new papers, that sort of thing, so I would guess this took somewhere upwards of 80 hours.
There are and continue to be wild disagreements over GPL and what it means. Is linking against a DLL considered a derived work? It depends on who you ask! Stallman thinks yes. Others think no.
Yes,

The point isn't that automated food service is impossible. It's certainly possible. Indeed, it's been around for a long time [1]. The point is that it isn't necessarily a better investment than human-run food service and thus human-run food service may stay around a long time.

[1] http://en.wikipedia.org/wiki/Automat
If freedom is not an end for you, but a means, in what respect is it a means?
TL/DR: It's apparently the full text of a talk in which he's basically that saying declarative programming, having its roots in mathematical logic, is an excellent tool for abstraction, the primary tool we as programmers use to manage complexity, and that he wishes he'd discovered it earlier in his 12 year career of commercial programming.

For the moment let’s think of it as “not imperative programming,” where “imperative programming” is you, the Grand Imperator, telling the program what to do. Declarative programming would instead make you the Grand Declarator: you instead tell the program what it is. And, with that, the program no doubt walks away enlightened. (Even if we don’t.)

All declarative systems are abstract, but perhaps not all abstractions are declarative. What makes an abstraction declarative?

some of those declarative solutions may well be qualitatively better than how we might be solving them otherwise—in fact, I think that’s extremely likely

Declarative code is simpler. It’s usually easier to read, in my experience. It’s smaller, if more spread out; easy to get around. It’s more reliable simply because each component has fewer moving pieces which could fail, and fewer joints between them that could break. On top of all of that, the lack of ordering means that declarative code is immune to race conditions, the single largest issue with concurrency. And it is clearly the direction that the market and the industry is heading in: there is a lot of ongoing, exciting research being done in declarative languages and systems and how to survive in an imperative world.

Nice turn of phrase, Grand Declarator, sir! (Personally, I have been getting right in to ABNF of late - generating regex and API systems and such based upon that.)
Was there Sideloading and SSH clients for the Curve back in 2007? I had a couple generations of the Palm Treo, and had a blackberry for a couple years, and, except for a game of Yahtzee that I paid $9.95 for, I don't recall every buying any apps for the phones. Certainly nothing compared to the App Store for the iPhone (Which, Ironically, was originally never going to happen with Steve Jobs who didn't want developers destabilizing his perfect device with their grubby little native apps. :-)
I like the idea of a "day off" being either a real day off, or just a day where you code irresponsibly, whichever will be more rejuvenating. Thanks for the terminology!
The FSF is happy to consider projects under permissive free licenses (MIT, BSD, APL, MPL) to be free software. Perhaps not ideally-licensed software, but they have no problem calling them free software.
I'm aware of the distinction, but from the article:

"With the possibility of an American federal government shutdown looming next week as the result of the debt-ceiling crisis ..."

Not a "continuing resolution" or "budget" crisis.

But if that is the issue, then OK. I concede that $0 is NOT enough to run an effective government with.
This is awesome.
Anything similar in the Bay Area ?
I recently quit my job and am working on a project but facing issues keeping myself accountable. Would love to attend weekly sync up like you mentioned.
Just the other day I was having a good laugh with the carpenters building my house here in New Hampshire at the expense of the rubes in Maryland who still only use ASCII.
Steve Jobs was clearly opposed to Native Apps appearing on the iPhone. He did not want the device to be destabilized by external developers, so he directed them to write web apps. Every commentator I've ever listened to (Siracusa, Gruber, Arment) all back this up, and comment on it being on of Apple/Jobs major lack of foresight - that the App Store would turn out to be such a big deal. Much of Apple's success occurred despite themselves - iTunes on Windows, App Store are just two of them.

I don't think having an OS level dev kit was ever part of the plan - I don't think there's any evidence out there to suggest that it was.
You may also want to see UTF-8 Everywhere manifesto.
https://news.ycombinator.com/item?id=3906253