skysight-inc/HackerNews huggingface dataset:
Boy, you missed the point. Undo here isn't about user-undo. It's about when the program can't continue, you need undo all incomplete state changes and return to a previous state. Really this article is about the lack a transactions in programing languages, and how error conditions cause problems for software with long lived state.

The point about PHP is that it successfully does that precisely because the way it's architected. The state is kept the DB server where the transaction problem is solved.

When using long lived server processes, things tend to get in invariant states on error conditions unless you are very careful about how you are programming and dealing with state mutation and error condition. As ugly as it seems, PHP style development frees you from that.

I like your point about Chrome, it's a great architecture and it's actual quite similar original Apache PHP combo with the process isolation.

Anyway user level undo is still an important concept, but orthogonal to creating reliable software systems.
My screenwriter friend used to get into arguments with me whenever I replied to her points inline. She saw my "chopping up her email" as an act of cruelty. :-)
This article is making me re-realize that I am in over my head, trying to do all of the UI for my startup myself :/
Taking it the other way around, most startups put too much weight on their valuation, which is a quantification of what investors think about their company. Of course assuming their primary goal is to really make a difference, instead of just selling out as soon as possible.
Goldberg: lightweight CI server that understands RVM and bundler
Pardon that, the embedded JavaScript of markdown blows, plus an attached image was coming through poorly.
Kent Beck predicted continuous delivery in 2000
God, I never get tired of the condescending "I lost my interest at" or "I stopped reading at". Always strongly reinforces in my mind how irrefutably confused and misguided the original article is, and how thankful I am to be shepherded into the light by so wise a poster. I myself am not typically able to dismiss everything someone has to say by the reading of a single point, but I've noticed a lot of other people seem to be able to.
Experiencing the Entrepreneur Pendulum
I can think of cases where startups have found no one to invest, and have ended up doing well. This is where something like YC can help, actually; we can tell people candidly whether we think it's the investors who are wrong, or the startup.
EDIT: After being schooled on what a dick I am, I'm refactoring this to:

sstephenson: unless your goal is to publicly embarrass tomdale, there must be something more productive for you to do. You presented your commit in such a way that it makes him look bad, and that phrasing in your pull request appears to be intentional.
I remember when they said on facebook you can only keep track of 300 friends max. Couldn't find that old post but heres a similar Mashable post http://mashable.com/2010/01/25/brain-facebook-friends/
To you it's useless, to others it's a form of creativity - why diss it? I wouldn't say art is a useless degree. It's all about what you do with it. Comp Sci is useless if you don't use it for interesting projects.
That greatly depends on your conception of the word "lead." http://www.joelonsoftware.com/articles/DevelopmentAbstractio...
So? I still don't get it!
I don't read German.

>« not a single site would survive a large passenger aircraft crashing into it. »

Now, what does that even mean ? If surviving means "keep on working", obviously not.

If it means destruction of the protection layers of concrete around the reactor, it's more dangerous, but just because the reactor is open, it doesn't mean the radioactive material is going to fly away.
having a dedicated time to work on the side project tasks is a good idea. Balance does matter and it is sometimes difficult to stop what you want to do on the side project. OP's point about not getting into analysis/paralysis is the reason that I work on the side projects just to get see if the damn thing works or not.
How to Cope With Cloud Crashes
Exactly. There's no reason to crap all over someone's toy project when they're clearly learning, playing and experimenting. The choices sure seem like someone learning the framework, and I bet there's a better way to teach.
It would also be relatively trivial to convert a Rails app in the first week of development into a Sinatra app, or even a statically generated HTML app. Says nothing about whether it's a very good idea.
Answer: Look for technical co-founders

I'm joking, but seriously, those first 8 bullet points are nothing that technical founders can't do. And if I was working on a startup, it really wouldn't make sense to me to give someone co-founder equity to do just those 8 things that I could easily do myself while building the product too.
Interesting.. We've been studying different UI and design methods as we roll out our own startup. (http://infostripe.com)

One slightly disappointing thing we have found is how similar and cookie cutter many startups are as they rush to mimic their competition or perceived UI trends.

Regardless of if they fit or actually work or not.
Me neither. I realize it's a smashing success, but I see no reason for it to be so other then "cuz everyone else is doing it"..

Personally, I hate Twitter.
HN History: 21 Killed in Molasses Flood
Whatever the merits of the debate, I've been put right off Sproutcore.
It's quite interesting for people not so interested in chess, too :) , the linked presentation ( http://www.gilith.com/research/talks/psu2011.pdf ) talks about software testing and static analysis.

And the people at Galois seem to be making advances in applying formal methods to the real world ( http://corp.galois.com/formal-methods ).
44% of people currently not on IE 6 to 9 is under half way to the 90% I was refering to. Not sure what you mean by "that day long since passed".
For big companies sadly that's pretty normal from my experience, I've had to sign a similar agreement a couple times. That's how ebay is suing google for google wallet. What you can do (what I do) is give a very broad prior art base (they can't claim any work you have previously worked on). When I was younger since I already worked on a huge range of projects they can't claim I originated an idea while working with them. Sometimes they are even willing to narrow the agreement, depending on the level of your position.

Learned about it when I got screwed a few times during college for a couple inventions. At the time I thought the bonus was a fortune (5 figures), but looking back they screwed me royally.
Love this, get out there, prototype, iterate, try things. The longer you wait to "release" the longer it will take you to be "done". If ever.
Watch bridesmaids online
watch bridesmaids online
If you were asked to be a bridesmaid in the wedding but you're still single
Google Translate API shutting down
[Game Theory] It's time to ask for a raise. Put your boss on the spot - if he fires you, the project is just further up shit creek. Once you get the raise, it makes it harder to fire you because it will bring his judgement into question and even if goes ahead and does it, you come out ahead because you made more money.
Announcing Baler
It's obvious that a static HTML page will render faster than one dynamically generated from JSON data. But now the site looks massively more annoying to maintain since any change in how the data is presented will need to be made in 30+ places. And even adding a single library will involve HTML coding.

tomdale started a project in a framework he's comfortable in and said he plans to iterate on the site. Who cares if it's a little slow? It's a dick move to copy the source from Firebug and file a pull request.

This pull request doesn't genuinely help the project.
If you set Outlook up to convert to plain text, you get normal '>' style quoting when you reply. It also has the advantage that anyone replying to your mail sends in plain text by default as well.
http://support.microsoft.com/kb/831607
Preparation of Elementary Teachers in Mathematics (.PDF)
China’s slowdown - Starts with a spark 
The recent suicide of Jin Libin, a Chinese business mogul, speaks volumes about the country's fiscal situation
How is the Android market compared with other smartphones?
How do you solve the partner issue?
what IS the partner issue?

well, it is the constant issue i have of that you have an idea, but you cant bring EVERYthing thats necessary to the table to get this going, in my example a designer.

i dont know any one who can do what i need, so i have to go to my best friend to get someone; the internet

so i put out ads, look at other peoples ads, and find some people. but there are constant issues that keep recurring:

1) i have to keep repeating and repeating my startup idea, because who would join a startup before they know what it is? but, i don feel uncomfortable telling someone my idea, because whats stopping them from stealing it? and then i just more and more people.

2) who says they can do what they day? for example, someone told me he can do:

Graphic interface design,

User experience,

Branding,

Product development,

SEO,

SEM,

Social Media,

Marketing and promotion.

fine, designing i can ask for links and stuff like that, but how do i ask him to show off his other stuff?

3) how do we know we will be a good fit? after reading many a HN article, ive learned that its 90% in the founders, whose to say that me and this partner i find on the internet will be a perfect match? and if not, then the startup will just crash and burn....
Catherine Zeta Jones Pics, Hot Pictures, Wallpapers & Photos
Catherine Zeta Jones is very hot and sexy actress in whole hollywood film industry. She has very hot and perfect body figure to look a very beautiful and attractive. She is so beautiful lady than other hollywood actress.
Your analysis of Tornado is unfair. It offers easy ways to throw specific HTTPErrors, and those are handled exactly as they should be. If you throw an exception that Tornado doesn't know about, then it simply by default notifies the user that an internal server error occurred. It is extremely easy to design your code to throw the right http exceptions, and it is just as easy to write your own custom python exceptions that cooperate with their stack. You most certainly don't have to modify the framework itself, and tornado is designed specifically to be easy to extend.
1. Do X.

2. Blog about doing X.

3. Your X is more valuable.

4. Profit

fwiw, I have never mined a bitcoin.
Well, it is the combination of semicolon-insertion and restricted productions.
That's how it works in a democracy. If you want other people to do what you would like to do you have to convince them.
I bet the guys behind CouchSurfing are kicking themselves about now.
http://techcrunch.com/2006/06/29/couchsurfing-deletes-itself...

Always keep a backup of your database! :-) In this case, I think it is pretty clear the execution is worth a heck of a lot more than the idea.
First, I hope this was a good-natured joke; Tom's exploratory project ought not be held to production standards.

That said, this pull request does highlight one DRY opportunity: git submodules [1]. The jQuery+SproutCore integration here could've been two submodule 'links' rather than 24,000 lines of copied .js library code.

As long as the dependencies are on git and the commit 'version' you're linking to doesn't disappear, you're good.

[1] http://book.git-scm.com/5_submodules.html
You really did lose your interest after "PHP to the Rescue", next time, read the article before commenting : )
ACM ICPC World Finals liveblog (with probable winners)
VBulleting SQL injection vulnerability – Running vbulletin? Update it now
curiously, dunbar talks about a bunch of different groups inside the "150" exactly as you say.
i don't see how, lets take a car for example (like mentioned).
There is a thing called car only when it is fully assembled from different parts. therefore not functioning at every stage of assembly.

Also development of car is external process to car itself. Most of developments of car goes on on models. ( which are not physically the same thing )
very strange that ..

Fukushima Daiichi nuclear disaster don't changed the statistics.
I've preferred to use something like Braid[1] than trying to deal with submodules.

[1] https://github.com/evilchelu/braid
Sure, but that gets us no closer to knowing the marginal cost of one additional kilo of nuclear waste (of any description). My suspicion is that the marginal cost is quite low.

All I'm saying is this: You likely can't take the average cost of safely storing one kilo of waste given current levels of waste and calculate the additional cost that results from letting the reactors run a few more years. This is econ 101. I like to use newspapers to explain the concept: The cost of making 10,000 newspapers in nearly the same as the cost of making 20,000 newspapers. This is because nearly all the money that has to be spent is fixed (wages for journalists and staff, buildings and machines, …). The variable costs are very low in comparison (letting the presses run a little longer, additional paper, ink, …).
$20k a day on Adwords?
While I appreciate the kind words about my programming skill ;), I needed a pet project to test drive SproutCore 2.0, and that's the reason I picked it. I would probably not have done so otherwise given its current limited scope. But again, as features increase, the use of SC will become more valuable.
Dunno, maybe that's the other one but as far as I know CouchSurfing is still alive and kicking (see: http://www.couchsurfing.org - they claim to have almost 3mln users), it's just that it isn't a commercial thing.
Why are you more likely to be able to accurately judge a startup than other potential investors?
Many people use side projects to play with new and interesting technologies. Sure using SproutCore may make the page load slower, but this is something Tom did in his spare time and as community we should be thanking him for his contribution.

Also, I'd like to commend Tom for staying classy in the pull request and not getting into a flame war about the merits SproutCore.
You call out sstephenson for being an asshole to tomdale, here:

> sstephenson: unless your goal is to publicly embarrass

And then immediately in the next sentence, suggest that tomdale is some kind of dog?

> He's clearly not very competent, what is the point in rubbing his nose in it?

He's not a dog. He's a person with feelings. He's also a fellow HNer:

http://news.ycombinator.com/threads?id=tomdale

You disappoint me justin_vanw.
Five sentences? Not enough for me. And everyone else on mailing lists.
It depends, it works very well on C-like static languages, however it's basically useless for a dynamic language.
> we can tell people candidly whether we think it's the investors who are wrong, or the startup.

If YC chooses to invest in an applicant, it probably offers great advice to the start-up. If it chooses not to, would you consider that rejection candid advice that the start-up is wrong?
So everyjs.com uses Sproutcore? I thought that was for desktop-like applications.
Online playable Doom compiled to JS with Emscripten
The Pocket Notebooks of 20 Famous Men
I've used submodules quite often, but in my deployment setup the checked-out/built version ends up stored, since I keep the deployed tree in its own branch[1].

As long as you link to the version you link to, it won't disappear in your local repo, and you can re-publish that as necessary :)

[1] See https://github.com/bkerley/design-miami-challenge-apr-2011/t... for one using the free http://pages.github.com/ hosting.
That's good news, WebSockets is probably the second coolest thing to come out of the HTML5 movement, right after WebGL I think. Everything else is cool and all but those two are major changes.
This might be a stupid question but what do you do after you secure such a large series of funding? Go on mass expansion? Would anyone mind telling me how startups typically use this kind of money (closing Series with 100+mil)?
Sorry if that came off harsh - edited for clarity. Whether or not someone is the best programmer in the world with a certain technology, we're all complete novices in more areas than we can count. I know nothing about SproutCore, so count me among the utter noobs there.

There's no point in jumping down anyone's throat for experimenting with new technologies though. Keep up the classy responses on Github :)
> (...)there aren't two things there at all, just one thing expressed two different ways (...)

I have to respectully disagree with you :-)

Consider for a moment ``3 + 0''. That expression (those three tokens) denote something we can talk and reason about. Now the important point: not because of some inherent property of the notation itself, but because we, the people, agreed what we mean by that expression.

Contrast that with expression ``3 / 0'' -- which does not denote anything. Maybe, just maybe, there is something usefull that stems from division by zero, but! so far, we have not agreed upon what would be denoted by division by zero. We haven't agreed upon anything this expression would mean. It denotes no single thing, and neither a (nonempty) set of things. Of course, we have to somehow describe the fact of ``having nothing to say'' -- we use `NaN' -- but that's not a number symbol, that's a meta-symbol. Means, ``nothing to see there, my dear CPU, please move along''.

Note also, how in SQL, the following does not hold true: NULL = NULL. In SQL, `NULL' doesn't stand for something, but for no thing at all. And whaddya know, division by zero yields NULL in SQL.

* * *

As for the equality itself (as opposed to assignment), so far we, the programmers, have only one common use for it -- checking whether data from some source ``equals'' data from another source. There are three common ways of doing that:

0) pointer equality. Fastest, simpliest, but won't suffice in some programming languages. Thing is, one kind of languages keep just single copy of all the same values (say, every variable that holds string "foobar" points to the same memory cell), but others do not, and here you need one of the two following ways.

1) value equality (== in JS): whether the two expressions ``evaluate'' to the same value. This has two downsides: is generally slower (the overhead of runtime evaluation), and often is governed by twisted rules reagarding type coercion. For example, in PHP, the following holds: 0 == "1". Fun fact to know and tell: those twisted rules stem from the language creators' desire to make programming easier.

2) type-and-value equality (=== in JS): this straightens some ofthe twisted rules of 1), due to comparing data types first (instead of prerforming type coercion), but otherwise does the same thing: compares value. May often be faster and also simplier to grasp, but also may blow up when you mix up data with different types. Which nb. is easy to overlook when data comes from data sources having different semantics or idioms.

To put 1) and 2) in another way, those operations compare two values by their properties. Yet the NaN doesn't have properties to speak of, because it is not a value in the first palce. The operation of comparing is thus not well defined for NaN. Oops? :-)
"easily do myself while building the product too"

Depends on the scale and product. IMO having developers do things outside of development (aka distractions) is a big waste in the early stages.
Somali copyright infringers?
Good passwords. The real stuff.
My goal is to prevent the spread of misinformation by example and help developers understand how to choose the right tool for the job.

I can't believe I'm posting this, but are you genuinely suggesting that contributing a patch to an open-source project is somehow worse than calling the project's author incompetent (your words) on Hacker News?
Cool hack.

Context: cryptographic keys are usually stored in memory, but that has lots of issues: you can read the keys via a Firewire port (or any other peripheral with Direct Memory Access), or you can time the CPU cache to figure out access patterns, or you can just rip the memory out of the system and read it ("cold-boot attack").

The proposed hack: store the AES key in the debugging registers of an x64 chip, and use the recently introduced AES-NI instructions. This obviously renders the debugging registers unusable (which makes gdb slow), and can only hold a single key, but may well work - I don't know of any attemps to extract data from registers, but recent CPUs are very finely-built devices.

This doesn't necessarily solve every side-channel attack, and, again, can only hold a single key; but it is a cool hack.

Note: the above is based only on a quick reading of this paper; the DBLP paper database has no hits for DBLP, which suggests that this scheme hasn't exactly been carefully vetted - indeed, the paper will be presented at Usenix, held in a week or two.
OK,
One downvote seemed like a fluke, but two means that I must have done something wrong. Would anyone care to enlighten me?
Ask HN: How to become a Master in Django framework?
Hi Hackers,

I have a very vital question that really hurts me. It's almost 3 weeks that I've started to learn Django. I have some backgrounds in PHP web developing (Spaghetti Style, not MVC), and a descent roots in Python since 2005. I mean I know proper things about Python, MVC, RegExes, DB, webservers, etc. Three weeks ago, I started to learn Django. I started by reading and implementing its tutorial and then read the "Django Book" and a few other books . Now here is the problem : 1- Most books don't cover the version 1.3, So I sticked to 1.3 formal documentation which is a huge source of info. Is it the right path that I've chosen ? 2- I feel I'm dumb in some stuff !! For instance as my learning procedure is "Learning by Doing", first I created a simple typical blog which was good. Then, I started to develop an e-Shop which needs the usres to register themselves. I found Django-Registration add-on (so to speak), and tried to embed it into my project. And SIGH, it's hell complicated. Lots of Signals should be sent to over-write and so on ... I think I'm a newbie in the islands of Wizards :( Any suggestion to overcome this problem ? Did you have the same experience with Django ?
Seo contest ~ virtual reading
I think this is the blog post from 2007 he references in the video http://www.core77.com/blog/events/airbed_breakfast_for_conne...
Code Review: How the CoffeeScript compiler works
It seems you're describing the difference between the police (who have to deal with a range of minor crimes regularly) and the TSA (where the average agent will never meet a real terrorist).
i also recall the author mentioning they wanted to implement sorting and filtering. i imagine sproutcore offers neat possibilities here.

it also means that because the list is JSON, he already has an API of sorts.

when i saw the site i too wondered why it wasn't plain html, but i think the above reasons are legitimate enough.

mostly though, it's just some guys project. who cares if it doesn't load fast enough on your phone?
Over The Air iOS Provisioning and Distribution
Would you be willing to submit a pull request? I don't know enough about MooTools but would be happy to merge.
It's really interesting to see this, as I've had concerns for a while now about keys getting read from memory (while helpful in incident response). Though I wonder if sufficiently privileged processes might not be able to read those registers?
I had that originally in the House Rules section but removed it. I'll reconsider the best way to word this without trying to cause a server/browser JS flamewar.