skysight-inc/HackerNews huggingface dataset:
- Cleaning up email will be a priority - outgoing messages will probably be signed by the source server (or isp) and only accepted on the client if the email key and server keys (requested via http or other route) validate. Thus reducing anonymous spam and identifying compromised systems, also better identification of suspect routes/sources.

- Fax machines will evolve into some sort of fax via internet machine, probably merge into email but still be a plug and go option for businesses.

- Phone books will be dead - there will be a new cloud based directory (likely government subsidized or regulated to enforce access and consistency)

- The desktop wont die, but the mass consumer market will move onto cloud appliance stuff.

- Land Line phones are become very obsolete.

- With the transition to the internet there will be government subsidies/programs/grants for every citizen to have a reachable "address" and be educated on access to the internet. Postal service will change....?

- Green energy generation and battery storage will have major milestones.

- Some 'damn fool' kills himself while doing some sport in low earth orbit. More fools gladly follow.

- Global warming is called a boom - for the construction, fossil fuel, and mining industries.

- Self-Driving cars will be popular in large cities - transportation subscription plans will reduce number of privately owned cars in those areas as well.

- Cops will implement wide-range quadcopter drone first-response to record incidents and track suspects.

- People my figure out that money != economy... maybe not...

- Armband computing (bigger than a watch but still fashionable... bracer sized with snap on space for peripherals?)
You should probably make your code robust to this sort of data corruption in the future.
> Aren't you assuming "surgery in repl" is a deviation? What if it's normal course of action for him?

This is a big difference between engineering and hacking. An engineer would never regularly do something so dangerous.

But I suspect pg isn't an engineer when he works on HN, I suspect he is a hacker, and just does whatever he wants to, whenever he wants. Which is his prerogative.
I think they have "Campus Days" in which they screen the prospects first.
Also, there's a lot more rules and texes once you add an employee.
I didn't work for Don, but as an engineer in another part of the company. I too was able to retire (at age 49).

It makes me sad that the stock options that made my retirement possible won't be available to the next generation of engineers because of bad tax law (Sarbanes-Oxley).
http://news.ycombinator.com/item?id=5239711
> It's HN... there's no SLA, there's no postmortems

I didn't mean to imply that there were. I was just curious.

> there's no doing things better in the future. pg just runs this site out of the good of his heart, we should be lucky the volunteers run it for us at all.

Since there are multiple volunteers, I think that the site always feels important to at least one of them. I imagine that some of them have gone more than a week without giving a shit about HN, but not all of them at once. So I think there is doing things better in the future. In fact, HN keeps getting improvements behind the scenes, to keep it running, keep it interesting, and keep it from getting overrun with trolls.
Since when can't we reply to a reply to a reply anymore?
I'm just wondering whether it's me going mad and were we never able to do this, or has a thread depth limit been added recently?

Twice today I wanted to reply to something, but couldn't because it was already a reply to a reply. Are comments not supposed to be a discussion anymore, or how are we supposed to keep replying to someone?
A few times a month, I'll look up at one of my colleagues and say, "hey, got a sec? I need to talk to the duck," and they know this means I'm going to talk to their head but they can basically keep doing what they're doing and nod occasionally.

This serves several purposes:

(1) It's less insane-sounding than actually talking to an inanimate object in an open work environment.

(2) It actually feels better and forces me to think more clearly when I'm talking to an actual person -- the cognitive focus is higher when the object of conversation can actually, in theory, think and talk back (YMMV).

(3) And finally, although it does require some focus on the part of the other coder, it's not nearly as taxing to them as actually helping me solve the problem or pairing up with me.

So it's a good compromise somewhere between pair programming and talking to an actual rubber duck. Again, YMMV. Maybe I'll call it "Pair Ducking."
If I'm not too confused, historically consoles always had an edge at launch, even if small and specialized. This time I see none of that, it's off-the-shelves current hardware. Feels weird. AMD platforms are good on heavily multithreaded code, I hope that game devs will be able (with the help of a nice lib or not) take advantage of that.
Do you have munin monitoring on the production HN server?

That would really make situations like this easier to debug. First, it can pinpoint exactly when something started happening, which in this situation might have helped you realize the problem was caused by your change. Secondly, in this specific situation it probably would have been easier to differentiate a situation where you are running low on memory vs this completely different situation.

As somebody who spent a lot of time professionally debugging large software systems when they were misbehaving (as a Google SRE), I can tell you that looking at graphs of many key metrics (disk IO, CPU, memory, then application specific things) was always the place to start when debugging a situation, because you can learn so many things right away. When did it start? Was it a slow buildup or an immediate thing? What is the general problem (Memory?, Disk IO?, CPU?, none of the above?)? Has a similar pattern happened in the past?

Then you can start to get fancy and plot things like "messages/minute" or something and then it becomes easy to see when issues are affecting the site performance and when they aren't.
I mentioned SNI in my post. It doesn't work for anyone using IE (any version) on Windows XP. Unfortunately, that's enough people to make it impossible to use unless you have an extremely tech-saavy customer base.
I don't think HN is negative at all. If it were, I wouldn't be here. I do think that there are too many people here who think too highly of themselves. This leads to insecurity and bashing others. I don't pay attention to it, though. Too many great things here to even waste a second on that. Sometimes, when the thread does turn into a negative train, I try and break it off.
>On a comment thread, a new user had posted some replies as siblings instead of children. I posted a comment explaining how HN worked. But then I decided to just fix it for him by doing some surgery in the repl.

No good deed goes unpunished!

People sometimes reply as sibling because they too impatient wait for the built-in delay on child comments.

Thanks for keeping the experiment going.
Interesting. So it slows down discussion as it progresses, until it either stops, is forgotten or becomes a series of long essays.
This is about more than censorship. As has been repeated by many others IIPM is a Degree Mill at best and an active in-progress scam with many victims at the other end of the awfulness spectrum.

The "Dean" of IIPM - an extremely charismatic fellow by the name of Arindam Chaudary - likes to use every weapon at his disposal to silence those that want to expose his shenanigans. Think about how Scientology goes after its critics - this person is in the same boat. He has managed to sue/pressurize and bully anyone that wants to stand-up to him.

The media have been just as guilty - they get many full page adverts and TV spots so they have no issues hyping this "institute". This is a tragedy for pretty much every student of that institute.
I'm not sure if rubber duck debugging would have helped here. The problem was in the data, not the code. (I know, I know: in Lisp code is data.)
For me, this should be called stackoverflow debugging. I genuinely solved a lot of my problems by trying to write a _good_ question on SO about my problem. The problem seems really difficult when I try to ask it in one sentence, just out of my head. However once I try to describe the background, what I'm trying to achieve, what I'm using, when does the problem happen, simplified down to sub-cases, usually by the time I'd be 80% ready with writing the question, I realize the answer.
You could assert a limit on depth, perhaps. Then the cycle would still exist but after X number of comments, the rendering ends.
>Almost nobody used "cell processors", and for very good reason.

Seeing that you edited with a citation from a Volition AP.
I guess if you trust sources like this - there is no argument possible.

>In some extremely rare cases, some game engines found a way to use them for graphics (like Battlefield 3's Frostbite 2 engine towards the deferred lighting passes). But by the time engineers found a way to leverage this extremely complex architecture, it was already too late.

You mean like 2007 Uncharted?
I think given current internet world and the direction most of the software giants are taking, it is a good idea to take the time and study further into distributed systems. I agree that you learn a lot on the job but there is something to be said about the importance of having sound fundamentals.
I went through a similar phase and ended up going for a MS in distributed systems and have never regretted that decision. It makes you think more concretely and exposes you to things that make you think of scalability, complexity, high performance, high availability and other aspects that are the essentials of any complex (more importantly - any system of importance) that we think of.

So, bottom line, go for a Masters but choose your subjects/areas of concentration wisely and remember that you are there for digging deeper not wider.
Things to know when launching a Kickstarter campaign
Don't be afraid, jump in and start creating your campaign. There are also some other tidbits in there that are nice to know before you get started.
In a public toilet, a cleaner is mopping the floor. And a new start-up owner enters in:
Start-up owner (in his mind):poor guy, has to do this worse job to earn money.
Cleaner (in his mind):I'm so happy that my job is helping people to have a good health buy keeping this toilet clean.

Same job, different perspective.
Play Perl: Open Source, Gamified
I was thinking something like (supposing the comments were stored as "closure tables" like Karwin suggests):

CREATE TABLE comment_tree (
ascestor_id REFERENCES comments(id) NOT NULL,
descendant_id REFERENCES comments(id) NOT NULL,
CHECK ( ascestor_id <> descendant_id )
)

but I'm probably overlooking something. (I'm aware that HN uses flat files, I was just making a counter-point to the "simple assert" solution...)
There doesn't seem to be anything official about how it's implemented under the hood, but the widespread assumption is that OpenGL on the PS3 is an emulation layer on top of the native graphics API, so performance tweaks are easier if you use the native API directly.
Odd, it looks like HN's submission link checker failed.
And yet using modern C++ it is possible to have safer code than C, if everyone on the team plays by the rules that is.

Personally I would rather use another language in the Pascal family (Turbo Pascal refugee), but it is not always possible to choose.
> here in the UK, the very same PM has trebled the costs of going to university for English and Welsh students, pricing many out

As far as I was aware, under the new scheme, graduates only start paying back their student debt once (and only if) their income crosses a certain threshold. That seems like a fairly good deal to me--a crude approximation of saying 'you only pay for your degree if you get financial value from it'.

> This whole thing is a bizarre contradiction to me.

I agree that education is a special case within international trade. But I do think that it is a matter for India and not Britain to curtail the ability of Indians to study abroad, if India believes that is (a) fair, and (b) beneficial to their domestic education system. I don't find it at all bizarre or morally perverse that the PM should act as a cheerleader for influential domestic interests such as our higher education system, especially when full fee-paying international students effectively subsidise UK students. And I've never seen Cameron say he wishes to reduce the number of fee-paying foreign students attending accredited UK institutions.

And a also disagree with the implication in your comment that the UK general taxpayer subsidies higher education too little. More higher education than a free market would provide is beneficial, but after a certain point the net benefit to society of the next marginal student buying subsided education would be less than the added public benefit. If you watch the front page of HN, there's occasionally an article or two about a higher education bubble; people are (probably) already buying more education (and certainly in some sectors if not others) than the job market can stand.

I like the idea of free education as a 'right', naturally or socially constructed. But moving towards that reality in Britain has to come from innovation slashing the marginal cost of education, and in the short term, by increasing the number of full fee-paying foreign students. Allocating revenue or large tax rises to up the number of students in higher education are going to be politically infeasible for at least a generation. (Not forgetting the looming demographic crisis on top of the current downturn.)
There are a number of comments that add up to "what steps will you take to ensure this does not happen again" - akin to a incident review. As speculation that's fine, as advice, I don't think it should be listened to.

I am reminded of an long-in-the-tooth sysadmin of my acquaintance who logged in everywhere as root. His theory - "they are my boxes. I screw it up, I fix it."
I eventually realised that typing sudo every time he touched a box was no defence against doing the wrong thing.

An awful lot of sites at 1.2m views would have outsourced the running and development of the whole thing - there are entreprenuers who say its not even worth our time to code up the MVP. I find this approach sensible from a business point of view, but still it does not sit right with me.

I am supposed to have a nice website with lots of good content to attract inbound marketing - so I tried getting someone on textbroker to write an article for me. It read like a High School essay - no life, no anime. And so I will probably write my own CMS and my own content.

And pg sits there and writes his site in his own language, with his own moderation tools. Apart from the hilarious idea he could find a ten person ruby shop to outsource to, its nice to see someone taking the time to play again. Its why I like to see jgc on here too.

I am not entirely sure those thoughts are joined up (I am procrasting like crazy) but if they come to mean anything its we are playing in pg's sandbox. If the sand leaks it's his sand, and the only company this is mission critical to is YC.
Hey sorry for being so slow on coming back to you - it's working now. Thanks so much for following up.
There must be a rare personality type that never experiences this kind of overconfidence. Perhaps a less glamorous cousin to the Buddhist beginner's mind?
I don't think parent did mean that he had a "right" to expect some level of quality or anything.

It's just that we, as programmers, tend to take measures so that silly bugs do not happen anymore or that, at least, we leave big clues as to what went wrong.

In a project I had a similar issue: I was wrapping lists inside immutable lists but, due to a silly bug, I kept wrapping immutable lists inside immutable lists at every save made. So saved files would grow bigger and bigger.

And I did fix the bug and also added a big fat warning logs in case too many nested lists were detected.

pg might just as well have now added something preventing infinite recursion inside the comment tree or some WARN logging telling when a generate page is getting too big, etc.

I'd still find it very interesting to know what pg did, if any, to dodge / minimize / make it easier to determine if such an issue happens in the future.
I think the title is intentionally somewhat provocative (which might justify some distaste, depending on your personality. I didn't really mind because I had a good idea what the author was getting at from the title).

That said, I didn't see anything in the post that would lead me to believe the author was espousing a belief in God or having found religion. I'd pretty much say the opposite according to these sections:

My frustration with the inclusion of Buddhist beliefs such as reincarnation, kalapas, and omniscience -- we were told to ignore these beliefs if we so chose; I ignored them.

I'll leave you with what attracts me most to this bizarre practice: It is ordinary.

There are no gods, there are no drugs, there is no magic

I also tend to think that the notion of wasting time is hugely subjective.
I certainly hope that working Sunday nights and traditional corporate structures where we refer to co-workers below us as "minions" is not something the new generation of engineers aspire to.

This sounds like the typical toxic corporate work environment of people grabbing for "power."
I sort of meant that you shouldn't modify things like that directly. Be it a filesystem, database, or any other place that makes it possible to mess things up to bring a rather strong server down.
This passage really strikes me, because he is happy, though his life seems so tragic, so emblematic of the dark side of technological obsession. It's a bittersweet mixture of a "there but for the grace of God, go I" feeling and a simultaneous admiration for the purity of his life's focus. It makes me reflect on my own life:

"Mr. Draper's unusual behavior, such as shouting at anyone smoking anywhere near him, could wear on fellow workers and employers. 'He was not a self-starter, or associated with all the companies springing up back then,' says Mr. Wozniak. 'But, actually, John is one of the happiest guys I know, no matter what his situation seems.'"
They could save even more if they shut it down! That's a ridiculous thing to say. We could all save money that way.

You've obviously never worked in a for profit corporation. in such there are policies and practices put in place to prevent just this kind of newbie mistake. You never modify the live database directly. Never ever. Whether it's a bottom line property or not.

I didn't say it would negatively impact YC's business. It might make them look incompetent, but these things happen, but people don't approach YC for their website savvy, they go there for the money and the connections. Most of the VC firms i've EIR'd at have much worse IT than hn. Their sites are barely usable. It seems to just go with the territory.

Let's not be so defensive, PG can do what he likes with his site, including take it down whenever he feels like saving bandwidth. But in the real world these kinds of things get real people on a fast track to their exit interview.
Burger King’s Twitter account hacked by Anonymous
How will this help "paving the way for Artificial intelligence"? We already have neural networks as a computational metaphor for the brain. I doubt we will find new metaphors. I doubt we will learn new computational tricks. Please enlight me on this issue.
I agree that it's a pretty clean language, but it still has oddities. For example, where in your linked spec does it address why the following trips a compile error?

func foo(b bool) {
if b {
return
} else {
return
}
}

func bar(b bool) int {
if b {
return 100
} else {
return 200
}
}

func baz(b bool) int {
if b {
return 100
}
return 200
}

func qux(b bool) int {
if b {
return 100
} else {
return 200
}
panic("?")
}

// Error: function [bar] ends without a return statement
I think you people already know the answer. The amount of freedom and stake/reward system for pg is different from yours.

I can't speak for pg, but personally, I am not going to write a migration to re-parent a single thread if the site in question is my side project, doesn't bring revenue, has some intangible benefits, but not so much that warrant putting much labor into it.

Either it would be `thread.parent = new_paret_id`; or if it occurred to me that it might introduce a loop, changing `parent=` to take loops into account followed by `thread.parent = new_parent_id`. What were you expecting? A bug tracker discussion, code commit, review, change request and deployment?
Google celebrating Nicolaus Copernicus' birthday with Google Doodle
They always advertise in the Times of India which is the largest English language daily in the world (more than NYT, WSJ, and USAT combined).

What was funny was that they said hurry the deadline for the next batch/semester is a certain date. APPLY NOW! ...of course what would happen after that date? Oh wait now its some new date to apply for the same batch/semester. All you had to do was look at the site to know it was a highly questionable place to get an education.
The more readable C++11 version would use static_assert:

template <size_t N>
foo(int (&bar)[N])
{
static_assert(N >= 10, "Array needs >= 10 elements!");
...
}
I too think people here are friendly and helpful, if you really ask for solutions politely. But, sometimes, I see people criticizing the HN community and that's why I shared this link which shows the good-natured side of HN.
People at work are amazed when I successfully debug an issue over the phone. In reality, it amounts to 50% experience plus another 50% of Sherlock Holmes: "When you have eliminated the impossible, whatever remains, however improbable, must be the truth". Once you've identified what you're dealing with via a few strategic questions, it becomes simple quite rapidly.
Show HN: TheLMSapp, an iPad app for tablet elearning
If you want to relate this to the web, imagine that you have more traffic than you expected, but can't bring up more capacity right away - if you do your own hosting, this is one of the only drawbacks.

So, you have the choice of throttling traffic, making things worse for everyone but at least everyone gets served, or you traffic shape and most people get full speed but a percentage don't get anything at all due to packet drops.

Looks like Beam decided to traffic shape!
My friend in gamedev explained it me once. The problem with PS3 is that it is a bit esoteric platform. GPU is worse there than in xbox360, but there are 6 SPUs. OTOH writing for them is far from a pleasant task. You have to perform manual fiddling with DMA stuff. Slow bus, async requests to 64k cache (IIRC), where you must send everything and get results via DMA some time later, 64k load max, so you must do partial screen updates, syncs, etc. That makes the whole execution path in PS3 quite different from other platforms. To see good-looking PS3 games, you have to look for games developed exclusively for PS3. PS3 ports always look worse, because no one devotes at least 2x more time for them to write "proper" renderers etc. Middle-level psgl is not recommended by Sony itself, as you should use gcm, where you manually put bytecode to GPU's memory being command buffer. And for SPU asm is the way to go...

tl;dr PS3 is not the most developer-friendly platform, you can say...

But it has its own potential. Check Naughty Dog's Uncharted. Difference between U1 and U3 is huge. Same technology and 10 years of development - good engine leveraging potential of underlying complex hardware takes a lot of time.
Likewise for me, but with IRC. Though I suppose I should try asking on SO first to save myself the semi-public embarrassment ;)