skysight-inc/HackerNews huggingface dataset:
If you want to learn to apply grammars and parsers in practice I recommend the antlr parser-generator:

http://www.antlr.org/

It can not only do the basic text->tree parsing from a file describing the grammar, but will also allow to specify additional grammars for traversing the generated tree and executing arbitrary code in your language of choice as particular nodes are recognized. I built a little compiler in it some years ago, I had a Xpl.g grammar file for parsing the program text and creating the abstract syntax tree, a SemanticAnalysis.g grammar file for doing a first pass through the tree, annotating it with additional information, filling the symbol table, checking semantic correctness and then finally CodeGeneration.g for emitting JVM bytecode using the annotated tree. The code for this is still on Github:

https://github.com/jaroslawr/xpl/tree/509120e66e23aac8493414...

There is a simpler example using the same functionalities described on the ANTLR wiki:

http://www.antlr.org/wiki/display/ANTLR3/Simple+tree-based+i...

I used the ANTLR reference book when learning it, but now there is also a real introductory manual:

http://pragprog.com/book/tpantlr2/the-definitive-antlr-4-ref...
http://pragprog.com/book/tpdsl/language-implementation-patte...

I also used the Dragon Book and "Programming Language Pragmatics" for theory, both great books and PLP certainly deserves to be better known.
The disconnect here is a simple one: how big a peril Aaron was in was not communicated clearly or effectively on the page asking for help. Apparently this was because of some legal constraints. I think that's what threw a lot of people on the wrong track entirely. Had they been in the possession of the full set of facts I'm pretty sure they would have reacted differently. See the page for yourself: https://free.aaronsw.com/ , it is as non-descriptive as it could possibly be.

Even so, these careless and unfounded words must have hurt tremendously, much more so than had nothing been said at all.
Show HN: Used d3.js and meteor.js to make a real-time game.
I got the impression he just thought Aaron was guilty of a crime, and consciously committed it to make a difference, so Aaron should accept the legal consequences that go with that.

Hindsight is 20/20, and perhaps knowing Aaron was the type who would do something like this would prevent someone from commenting entirely, but it wasn't necessarily a stupid comment to make.
* It's not backslash!

I think you can only do * with an unpaired * terminator * ?

I think you can only do * with an unpaired * terminator ?

I think you can only do xx with an unpaired xx terminator xx ?

[that line is this with no spaces around :I think you can only do x * x with an unpaired x * x terminator x * x ?

Nope, looks like as long as it's spaced from the prior/next character then it doesn't cause italicisation.

Help says: "Text surrounded by asterisks is italicized, if the character after the first asterisk isn't whitespace."
The platform will be taken to the ISS later this year and will provide (via the web) both still imagery and (nearly) live HD video with 1 meter resolution.
Well, the obvious case is a "safe monkeypatch", where you want to add some functionality to a class, but only if it hasn't already been added (maybe by some third module).

I think this could more easily allow for the use of multiple support libraries (like ActiveSupport) without having to worry about them clobbering each other.
Autotest: pickles over ssh stdin/stdout. They would have also had base64-encoded pickles in mdb labels if I hadn't stopped them. Or who knows, maybe they went through with it with me out of the way.

Logjammer/Treehorn: XMLRPC. (Yes, what a horrible project name. Juveniles.)

There are others. NIH actually happens inside the company too.
Given Matt's from New Zealand, he would have been exposed to an excellent series of advertisements on depression by a former top All Black - John Kirwan. Kirwan, who was arguably the best All Black of his era, talks frankly about depression, mentions in one that toughening up is the last thing to do, and that the best way to help is to seek help, do the little things that make you happy and so on. It was a brave thing to do, and incredibly powerful.
http://www.youtube.com/watch?v=cZ9yRhCiLfA
http://www.youtube.com/watch?v=xxBikj3kRco
http://depression.org.nz/
Fate of Jottit? (web app by aaronsw)
Jottit is a web app by Aaron Swartz. I've been using it for years. I think it's fantastically well-designed and not as widely known as it deserves to be.

Does anyone know its current disposition? I'd love to contribute anything I can to help keep it going.

https://www.jottit.com
Word. I have been refuted, disproven, turned around 180, subsequently enlightened when more is revealed so many times on so many issues... It's embarrassing.

I'm trying very hard to be less of an outspoken opinionated blowhard.

And to admit whenever I've been wrong.
This is TechCrunch playing the role of Jerry Springer.

In spite of the way many interest groups are trying to make Aaron's suicide into a symbol, the fact is that suicide is simply a symptom of mental illness, and nothing else.

Unless we have reason to believe otherwise, most of us assume that those whose actions/views we discuss on HN are of normal (average) mental health.

So while Aaron's death is jarring, it's the mental illness that is jarring and not the nuanced view expressed by edw519.

TC must be hurting for clicks/readership these days. I think that story (sadly the current top story on HN) is a new low.
I don't think many of the pro-prosecution folks are arguing that she's right to prosecute solely because she can according to the law. That is just one factor, at least for me. I can also see several good arguments for the law's existence, and the way I model the prosecutor's mind, she can too and views this prosecution as necessary to uphold the rights of content owners.
In NodeJS (tested on Mac 10.7)

ping g.cn | node -e "process.stdin.on('data',function(l){require('child_process').exec('say '+/time=([0-9]*)/g.exec(l+'')[1])}).resume()"
The ironic thing here is people making judgments about edw on the basis of very thin information.
So, the future looks like the Ubuntu phone?

Bring it on!
The popularity of contrarian viewpoints on sites like HN and reddit are absolutely because people reward people more for expressing those views. Even just as a trend, it is worth considering.
You could easily follow every single story without ever commenting on any of them.. Not to mention the amount of unregistered users
not to mention the live townhall meeting done less than a month ago - put together a few days after it was found out that Aaron's trial was going to start on April 1st - organised by ThoughtWorks founder and others to explain Aaron's case and what colleagues worldwide could do to help (indeed I work there too).
If you are going to advocate free information transmission, then you better open up your finances to prove you are bankrupt if you ask for funding. Especially if you are successful.
> Some programmers, especially the kind to hang around on HN, would rather not work with people who don't understand the entire system they use.

There's a reason for this. I've worked with people that don't understand how things work and don't really want to learn. These people cause enormous amounts of damage in any system that contains architecture beyond php in the webroot and algorithms beyond brute force.

You let one of those people on a large production database, it's game over. They will run queries that miss all the indexes. They will remove constraints because they don't understand why they exist. They will use flat files in place of a database because the database is scary and then not understand why stuff goes missing in the multi-server production environment.

These people are a liability in a project beyond small scale. They are the same people whose wordpress blogs are repeatedly hacked.
I really do not understand why they chose to do so. In my opinion, it does not improve readability at all, even worse, when the spacing between type and name gets big, your eyes need more work to figure out the correct line relations.

Furthermore, this can generate horrible commits, for example:

int x;
int y;

becomes:

int x;
int y;
float z;

after adding ONE single variable. But your commit will contain changes for the above 2 lines. This will make for an insane experience once your variable list grows to a certain size (including multiple spacing changes) and you intend to rollback/cherry-pick/time-warp. Then you will get to deal with the full wrath of conflict resolution. Also, your commit (of one logical line change) contains way to much meta info, which also decreases commit/diff readability.
It is quite useful when you are not aware of the package names or if you want to make changes to configuration.
I'm not following your math of 10% suddenly becoming 30%.

I pulled the 10% number out of thin air, so I'm kinda curious how you decided that was thermal efficiency.

Who is this "they" that goes for a more complete burn? Power plant operators will go for the cheapest unit that works reasonably.
just think, if this was google+ we would know edw519's real name and web of friends...
That may be true. But that's not how the services are designed.

Quora gives your full attention to an answer. It collapses the comments. It lets you downvote unpopular opinions.

Branch limits the most that anyone can say at a time (to something like 800 characters--which is enough for an explanation but not enough for a tirade). And it gives equal weight to each comment that someone makes.
Cat beats professional investors in stock-picking
Weird. I just got a Dell XPS 15 and I've been impressed with the build quality. The chassis feels comparable to a macbook and I actually like the keyboard on the dell better. Of course, this thing weighs a ton, which doesn't bother me at all. I'm wondering if other models are suffering due to an arms race between manufacturers to create ultra light weight equipment?
Awesome, I think if that was a little more "idiot friendly" on the site page you'll see a higher conversion rate on that signup form.

Credit card barriers on free trials is effective at 'keeping out time wasters' but you also keep out genuinely interested potential customers. It's a fine line.

We were exploring a similar discussion at Virally over this last week, and we've decided to not ask for the credit card on our free trial signups. If they haven't entered one before the end of the trial, their account downgrades to our free-forever account.
Can anyone compare Nginx and HAProxy, and also provide an example of using both in an infrastructure?
It's the mark of a talentless publication to piggyback on real reporters' work, and is especially distasteful for this topic, of which a site with the word "tech" in it should have their own angle on already.

Go to the original, Techdirt adds nothing:

http://www.emptywheel.net/2013/01/13/two-days-before-cambrid...
The principle of free information transmission must extend to its advocates: if you advocate that information must be free and you engage in civil disobedience, then you ought to expose your finances to the world when requesting support for a legal defense fund. Exposing one's finances at such a time demonstrates adherence to principle, and it blunts skepticism.
Best Programming Language to Use for Open Source Voting System
I want to know what programming language the HN community would pick if they were going to create an Open Source voting system (most likely an API)? I want to choose a language that lots of people know so that they can contribute but one that is robust enough to be used by a government. Thanks.
You can disagree with something someone does and still feel bad when they die. I don't understand why that is a contrast.

Did you feel bad when Steve Jobs died, even if just for his family and friends? Did you ever say anything critical of Steve Jobs? That doesn't make it a contrast...
...unless you're on the other end of it, facing a media-friendly opponent who uses the public spotlight to demonize you before you face off in court...
Anybody that's been here longer than 3 months should know better.
Pitching a Post-Seed-Stage Startup: 10 Pointers
Exactly. Learn more, argue less. Both sides of the coin will be better off.
Should we have said nothing? For the past several months Aaron has led the development of an online petition application working with several senior programmers at ThoughtWorks for a project we paid for ourselves, because we believed in his cause, and we believed in Aaron. Friends of Aaron who worked with him built rememberaaronsw.com because they are hurt and they wanted to honor the man in the best way they knew how. This wasn't a group of people trying to capitalize on a public figure. This was his friends and colleagues.

I'm sorry if this came off the wrong way to you, but you should realize that the message of internet freedom doesn't necessarily help us sell our services in a lot of places.
Somebody on reddit nails what it's like living with ADHD
International Space Station set to receive blow-up extension
It is very much to everyone's benefit to know as much about what is going on in your space. So I would try every product that is comparable to see what people are doing, what makes each product different, why people might choose to use one product over another, and where your product fits into the overall space that you are in.

It is a regular practice for all companies, as it should be.

I don't think it should matter if I use my real name or not honestly. I am becoming a user to get an idea of the space. I think that is a completely reasonable thing to do, and besides, if the company is searching their users for their competition then I think that they are not spending enough time on their product and more on trying to stop their competition.

It is by no means immoral, you are doing research on the space you are in by looking at the publicly available products out there. Now if you were somehow getting access to internal documents or development releases of the product then I would say yes that is immoral but looking at a competition's available product is perfectly fine in my opinion.

Now a couple points I'd like to bring up about this is that a) you should not be doing things such as writing negative reviews of the product b) you shouldn't be using the product to make other users' experience with the product negative c) Use the information gained to get an idea of what is out there, what users like about the product, and how your product is similar and different. Not as a new feature list.
Full text of "Guerilla Open Access Manifesto"
I actually think that's a pretty good idea for a website trying to capitalize.
These are great choices. It really is surprising that Simple Cyber Security hasn't already been done.
edw519 is a good member of this community. Let's not turn on each other.

After researching founders for my interviews I can tell you that it's easy to make anyone look bad based on old posts. It's much harder to stay focused on what's important.
Thank you; had missed their article. Might be an important improvement for one of our instruments.
That "pre-configured secure image" is awesome. I heard someone suggest it like 10 years ago, and had simply assumed that someone else had already gotten around to it.

Sad I didn't make it but these ideas were better than mine. You can't win if you don't enter so I'm still glad I tried.
Steve Heymann deserves nothing but a slow, painful death. He should at least be prosecuted for murder. People like him are the scourge of the earth.
Presumably the problem wasn't in asking for funds, the problem was in explaining why the funds were necessary. I read a recent story, probably linked here on HN, about how standard procedure for the Justice dept. is to freeze all your funds so you can't afford adequate representation, then dump so much paperwork on you that you have no chance to defend yourself. All of this would have been facts related to the case which the judge could easily gag.
Ember is touted as a solution for large scale applications. Shouldn't the Ember team build a large scale application that is a little more than a todo list to prove this? Tutorials do not prove that EmberJS can scale into a much larger application. Thanks for creating a tutorial though.
Yeah, I agree. I like the aspect of curiosity, but I wish the author focused on it without the overpowering tone of bitterness and resentment. Hacking and making are positive things. It'd be easy for someone to miss that when reading this manifesto.
In Techdirtland, the reason is clearly because Swartz opposed Obama's kill lists, and the administration needed to find a plausible way to have him killed.

In reality, it's because the Secret Service is for historical reasons the federal law enforcement agency most responsible for handling computer crimes. It's been this way since at least the 1980s, when the Secret Service was at the heart of the Sun-Devil Raids.

As anyone who's ever watched Law & Order can inform you: "two separate but equally important groups, the police and the district attorneys". In federal computer crimes, you can often substitute "Secret Service" for "police", and "US Attorney" for "district attorney".

As I understand it, the Secret Services' role in computer crimes investigations work is less central today than it was 2 decades ago, but they're still an important repository of investigatory talent for these kinds of cases.

Understanding that the Secret Service's involvement in the case was legitimate in no way means that you approve of the way the US Attorney's coordinating group for computer crimes led by Stephen Heymann handled the prosecution. That's a disclaimer I shouldn't have to write, but since this story is being voted rapidly to the top of the site, it's clear that I do need to write it.
This is BS. edw519, and most of us, are not politicians. We should be free to believe in something to the best of our knowledge at any time. I have changed my perspective on almost everything I have ever believed in based on what information I come across.

To hold him, or anyone else for that matter, hostage to what he said 120 days ago is dishonest.
Precisely. And there is even a little bit more to it.

1. it reads "assign one of these values to sides[i]".
2. it would not allow some other peoples spurious code into the assignment.
which is a good thing.
3. space is used to convey meaning; note how sides[i] stands next to dists[i]; ternary operation is formatted as a table, etc.
It's great to see PG leap immediately to the defense of Swartz in that thread, and that the comment was voted to the top.
What is a hacktivist?
What is "actual news"? My only guess is that it's news that does not editorialize... in which case, what is "editorial independence" in that context?

In the context of CNET, if opinions on technology isn't their actual news, they got nothin'.

I'm confused.
I'm guessing that Carmack did a lot of assembly language programming and that the vertical alignment comes from that. I've done a ton of assembly programming and I find myself aligning code in C because I find it easier to scan.
Yes, that's exactly my point. The (alleged) victim cannot be allowed to decide, because that opens the door to intimidation. In this case, look at the comments saying 4chan will "take care" of Ortiz. If JSTOR had stayed in the case, you don't think they would have been taken care of too?

As a practical matter, prosecution without victim cooperation is difficult, but it's not a travesty of justice. It's the way the system is supposed to work.
Looks like I'd better have my cat build me a portfolio. Early retirement sounds nice.
I think it speaks more to the fear Obama et al have of information exploits such as those embarked upon by Manning and Swartz.

The government has a lot of classified information they'd like to keep that way, and computers are a technology that civilians currently have more practical power over than governments. Compare civilian vs. governmental computer skills to, say, ballistic firepower. This is a fact, regardless of where your personal preferences are for the line to be drawn for government privacy, classification, etc.
> So the package repositories are nothing but convenience for the end-user.

Isn't conveniencing the end user kind of the goal of all software? Surely there is value in tracking dependencies and conflicts (and in avoiding problems that can arise without these things) that should not reasonably be dismissed as "nothing but convenience". Perhaps I could say the same of every useful thing you've worked on.
The Aaron Swartz Hacking Case Has Been Dismissed By The US District Court
Even if someone is bringing excessive drama, saying things like "man up" isn't actually helpful.
> Even so, these careless and unfounded words must have hurt tremendously, much more so than had nothing been said at all.

It angers me to think that HN could have contributed in any way to the dark place Aaron ended up reaching. More so because many of those comments bothered me at the time and I neither knew Aaron nor the severity of the situation. They were unwarranted even in absence of the full story.
Finally got the silly regex. To align poor_style in vim with the tabularize plugin:

:Tab /\S\s\zs[ ]\S*

Explanation: \S\s* finds a non whitespace character followed by as many whitespace characters as possible. This brings us to the beginning of the variable name. We then use \zs which says that the "found" area should only begin here.

Since we want the * in block_style to be attached to the indented word but not before the variable name, we match either * or space followed by a non-whitespace character to symbolize the beginning of the word. End result:

void poor_style()
{
up_front declarations;
also encourage;
this_ridiculous *block_style;
that_is a_royal_pain;
to maintain;
because_some_long_type inevitably;
screws_it up;
}
Pvt Manning was a member of the armed forces at the time of his alleged crime, and thus is not subject to most of the procedural protections afforded to civilian defendants.
QLB (قلب) - Program in Arabic, display algorithms as calligraphy
It must have been hard on him to see his peers throwing him to the wolves. I think he could have tried harder to appeal to the hacker community, or maybe he couldn't for legal reasons, and that's yet another travesty revealed here.

His case was muddy. He did a few things that most of us would never do without expecting to be punished. He deserved a slap on the wrist, not to be robbed of his assets and locked up for years.

I think HN would have rallied to his cause after we realized how disproportionate the punishment was. I remember personally thinking things seemed weird, but was naively optimistic that it would turn out fine.

Lesson learned, the very hard way: it can't hurt to rally around someone even if they're not 100% in the right, if it looks like they're being bullied.
It has nothing whatsoever to do with Obama, or Bush, or even Clinton. It's an arrangement that has existed for decades.

Read "The Hacker Crackdown" by Bruce Sterling for the background on this:

http://www.mit.edu/hacker/hacker.html
I think the person writing that has visited HN again in the last couple of days.

> I wonder what Swartz will be like when he's 40.

...
Cruel? He hasn't been excuted for exposing private government communications, including internal communications on national security issues and correspondence with foreign governments. That is potentially treason, and just a few decades ago he would have been summarily executed after a quick, brief trial.
Redis Masterclass: Part One - Configuration
I didn't make it into the Co-Prosperity fund, but I built a MVP anyway
Leave it to TechCrunch to try to get more views on their website...