skysight-inc/HackerNews huggingface dataset:
Gaaahh.... Just because C++ and Java do something incredibly stupid when it comes to exceptions, doesn't mean exceptions are bad. Just that C++ and Java suck.

(hint: exceptions without restarts are retarded)
I don't really like the article, but I will grant the author the benefit of the doubt as he's the creator of CouchDB. Maybe his ideas are right, but worded badly.

I lost my interest at "PHP to the Rescue". I understand the point he tried to make, but he's wrong.

PHP (or CGI/FastCGI for that matter) only works because the computation done on each request is very light and it maps well with the HTTP protocol which is at its core a stateless protocol. But it only works because the real work of indexing, searching and retrieving of documents gets pushed to the database server, a piece of software that does serious gymnastics to serve the results you want. The database server does give you ACID and it does this precisely because it can UNDO and once the database server crashes, all hell breaks loose.

A better example in this context would be Chrome, which sandboxes each tab inside its own process, such that the crashing of a tab doesn't affect the whole browser. But tabs themselves have to be long-running and stable, and those tabs are still crashing and valuable work may still be lost, not to mention the whole browser still freezes because of plugins that haven't been fully sandboxed.

Also, it doesn't warm my heart when I lose an hour's work, even if the other tabs haven't crashed.

Don't Undo Your Actions, Just Forget Them
... Use a Functional Language

This doesn't address the bigger and most important issue - some resources are inherently mutable.

Once a file is changed, it stays changed (sorry, you'll have to replace the OS to avoid it and what can I say, good luck with that). Once an email is sent, it stays sent. Once a phone call is made, you can't really pretend that it isn't. Once a bank transaction is made, you have to undo it if anything went wrong, otherwise you're facing serious penalties.

Not dealing with mutable data only works insofar you're dealing with dumb logic and not everything is as simple as an HTTP request that returns rows of comments in a simple blog.

Also, I find an article bitching about OOP and about UNDO weird at best if it doesn't reference THE OOP recipe for undoing whatever you changed -- http://en.wikipedia.org/wiki/Command_pattern
Ah yeah, that's fair. I'd also be impressed if LLVM doesn't have warts in a decade or two, which is sort of what I was trying to get at with the end of my comment--- that to the extent that LLVM has a cleaner architecture representation (if it does), it's mostly a function if it being a newer "clean 1.0", and not having yet had to adapt as architecture and optimization techniques change over time.
Why do you think they use multiple cores instead of a single fast one?
Loner
Congrats to AirBnB!

The way I understand it, the biggest threat to Airbnb's model are local governments starting to clamp down on this kind of (usually unlicensed?) subletting. I'm curious how the high valuation factors this risk.

Of course, I suspect the high valuation means Airbnb is planning to expand to hotels and travel in general?
asus could conquer the world with a eeekeyboard where the side screen portion is a dock for my phone.

then I'd have a full size keyboard with keys for a change and wireless hdmi
I don't have Twitter friends - just a list of people that I want to know what they are up to.
+ 507 additions, - 24,624 deletions
This sounds interesting, but I can't think of how FSMs could be used to process exceptions. Would you explain?
The best kind of pull request: making it simpler, smaller, and faster to load.
The explanation of MooTools' advantages should mention inheritance. MooTools is indispensable if you want to build a robust class-and-instance structure that more closely matches the architecture you're using in other client technologies (e.g. java, flex, or cocoa)
They are not designed to do shit, lets just keep that clear.

Now, when we say that they have to remain functional at all stages of development, we mean like unlike your car, during normal development you can't cut various control lines and reroute them.

You can remove the brakes in autocad temporarily to let you tweak something else a bit easier. Evolution cannot do the same with RLN. Removing the RLN at any stage of development constitutes a negative adaptation.
businessweek, time, fast company and entrepreneur <--probably not typical
> Imagine what kind of shitty police department you would have if they never had any crime to pursue and just ate donuts all day?

So what? THERE'S NO CRIME.
Python and JavaScript both accept semicolons or line breaks to terminate statements. JavaScript's syntax problems are a bit more subtle than just that.
Those iframes are nasty to deal with. 2000px tall and it still has a scrollbar?
Dunbar's number continues to be misunderstood. It is not so much a measure of individuals as a measure of relations between individuals that are important for us to track. It is not the node that is important, it is the connections that the node has.
Death is the ultimate expense.
Your example is too simple. Yes, if what you want is the exact same semantics that you get with exceptions, Either is little better than exceptions.

I believe the trick with Either is that it assists one in designing completely different strategies. For example, you can design plugins that accept ambiguous arguments. Sometimes -- often, actually -- you really want to write this:

user_photo = load_user_photo(username)
ui.display_user_page(username, user_photo)

but instead you are compelled to write something like this:

try {
user_photo = load_user_photo(username)
} catch (PhotoFormatException e) {
ui.tell_the_user_the_format_is_bad
user_photo = NULL
} catch (Exception e) {
if (ui.interactive?) {
ui.tell_the_user_a_terrible_error_occurred(e)
}
unless (ui.app_in_production?) {
throw new MyScopeException(e, "bug")
}
}
if (is_null(user_photo)) {
ui.display_user_page_without_photo(username)
}
else {
ui.display_user_page_with_photo(username, user_photo)
}

(Now, I wrote that in an extra-clumsy way, but only so that we might fully appreciate the clumsiness of the logic. In the real world, I'd probably try to do this more elegantly. The result would probably (a) look cleaner; (b) be far more abstract, confusing, and overdesigned than it needed to be; and (c) contain a half-implemented broken implementation of the Either pattern. ;)

What we have here is an application that might need to behave differently if there is a photo or not, and differently if the user is a production customer, a script running in production, or a developer running on a local machine. And because exceptions behave like exceptions whether I like it or not -- they always travel up the stack, they're always in a panic -- that try/catch logic has to be here, at this level.

But if load_user_photo() could return an Either I could just pass that Either to ui.display_user_page(). And then I could plug in a "ui" class that does something like this [1]:

class Ui {
function display_user_page(username, user_photo) {
# The customer is blind; user_photo is irrelevant.
say("The username is " + username)
}
}

Or this:

class Ui {
function display_user_page(username, user_photo) {
print("The username is " + username)
if user_photo.is_good?() {
display_photo(user_photo)
}
}
}

Or this:

class Ui {
function display_user_page(username, user_photo) {
if user_photo.is_bad?() {
throw new HorrorException("I am shocked")
}
}
}

or whatever you like. This logic doesn't necessarily belong in your main logic, it belongs in a plugin, and the Either pattern helps you send it there.

---

[1] These are oversimplified examples too, of course. In the real world my class would probably do a little more exception handling. There is a certain amount of irreducible pain in dealing with the infinite number of things that might go wrong; all the language can do is give us the flexibility to organize the resulting pile of code as best we can.
Italian Seismologists Charged With Manslaughter
This is pretty silly. The site's clearly designed with further extendability in mind; this just means that when the author does want to make it into a full site he'll have to convert it back into JavaScript.
Um, have you SEEN what goes on in Eastern Europe?
Perhaps not showing you your own comment scores would help. Only logged in people could see scores, and you don't see your own. Sure you could sign in as another account, but if you are willing to do that, then there's not much we can do from stopping you being a troll.
Now: how do you politely tell people to follow these guidelines?
Isn't the point of Airbnb that you don't stay in a hotel?

Edit: By hotel, I mean generic hotels like Holiday Inn's. I'm just going by their mission statement: "We are a community marketplace for unique spaces".
that just makes me a bit depressed then :)

Thanks for the reference. I still think this is a general issue, and calling it semicolon insertion confuses the issue :\
Techcrunch says, "On any given night in New York there are more people staying in homes via Airbnb than there are rooms in the biggest hotel in Manhattan." For comparison: Starwood Hotels (whose brand names include Westin, W, Sheraton, and others) has more than 20 hotels in New York (some quite large), and a market cap of about $11.3 billion.

FWIW, Airbnb's commissions are 9-15% of the rate (3% from the host, 6-12% from the guest) according to their hosting FAQ[1]; no idea how that compares to typical hotel profits on a room listing...

[1] http://www.airbnb.com/help/topic/hosting
Balance is about prevention, not damage control
Believe it or not, it is possible for people to read the same text as you, have a differing interpretation, and not be "willingly lazy and stupid".

Well, I mean they are looking for fact in a thousands year old collection of fairy tales by assorted authors, but they're not particularly any more willingly lazy or stupid...
tl;dr: code to remove everyjs.com' dependencies on jQuery/Sproutcore. 24,624 deletions comes entirely from the removal of jQuery and Sproutcore. The resulting code/html is only mildly smaller.
I assumed it was to get the best deal on a bed. If it's in a hotel room, fine with me. Some probably do it just for the experience though.
I used to use the academic style with academics, and the clunky style with everyone else.

Now, I just use the academic style with everyone.

And, slowly, it starts to catch on.

In reality, I think we'll have to teach proper email composition in grade school before it becomes standard.
But the question is, would daily iteration reduce the rate of bikeshed[0] arguments? I guess I could imagine how it would make it worse, but it seems more likely that it would make it better: the people who know nothing about the process (and don't care) won't be at the daily meetings, and the people that know just a bit about the process will be there and will learn all the details of the big project (i.e. the atomic power plant, to continue the original metaphor).

[0] http://bikeshed.com/
I agree, the best way to accommodate future scope creep is to write bloated code from day one
Linear Recurrences: How to Enter the Matrix
Some reports claim that Linux netbook returns (to store) are 2-5x greater than Windows netbooks.
I think a lot of startups put too much weight on what an investor thinks of their idea. Airbnb is a prime example of carrying on in the face of rejection, even if people are saying "it's a stupid idea". I know a lot of founders who, after being told by many of the Valley's finest angels that their idea is no good, would just give up.

It just goes to show that you can create a $1 billion company, even if no one really gets it in the beginning, and in my eyes at least, they are actually justifying it (making a lot of money in a lot of different places).
Well, that's a relief. If I can't change any more easily than they can, I'm justified!
While that is an useful idea, I don't see how it applies to something as large as a molecule. Something that size does not coalesce, does not overlap. You can bombard it with light and track its progress indefinitely. It won't have the 'same' electrons at the end of the day but those are no more than the sails on our ship of Theseus.
No, the point is to rent spaces to people.

When you look at them that way, a billion may be low.

I was confused when I first heard of them, I thought they were just planning to be what they are right now- spare private room rentals to travelers. But then they explicitly stated a desire to directly disrupt the moribund hotel industry by offering services that make hotel room pricing more dynamic. Hotels are dynamic now, you can almost always negotiate the rate lower, but the vast majority of people don't know that, or don't want to try. If airbnb can somehow automate a chunk of that process, there's money for every in the transaction. I think that's a hard problem, but solvable.

If they also move into subletting and temporary event space and so on... Big markets.
This is actually great work! What licence will you apply to the source code?
These numbers show the point I'm trying to make here. The resources currently occupied in putting the current inefficient technology to use could be instead used in R&D to develop the next generation solutions faster. During this period of time nuclear reactors (or thorium reactors in the future) could provide a fairly clean and stable source of energy until viable renewable alternatives are found.
harper's
I'm just saying that it doesn't sound like their goal is to have rooms in generic hotels, see their mission statement:

"We are a community marketplace for unique spaces."

Of course, they could expand in that direction in the future, but I wouldn't say the Holiday Inn is a unique space.
"designed with further extendability in mind" is very vague. How about implementing only what's necessary? Unless everyjs.com is in fact just the authors' sandbox.
Heh, I used to do everything at our startup, from painting the walls to cleaning the toilet (and vacuuming our office and making sure the elevator wasn't in a ghastly state).

Now that we run for 3 years, I don't have to do these jobs anymore. But from time to time the need arises, due to unforeseen circumstances or something like that, and I don't find arranging lunch (or supplying the toilets with toilet paper) a menial job. It all adds up to the end result, which is what we all strive for: a good experience for our clients and visitors.

But usually I work on our in-house CRM app, and a few dozens of Python glue scripts to make the database flow happen.
I think if quantum effects are taken into account, one can show there is almost zero probability that the atoms are the same.
Congrats guys! Great interview, Brian!
24k lines removed are from SproutCore and jQuery. I don't think that's bloat.
It might depend on who you're giving the demo to. If it's an internal team phase things may be informal — but if you were presenting something for Steve it should be tight.
Codify these guidelines into a "Standard". Give it a name, say "Email Efficiency Specification". In your automated footer, add:

"This email was composed to comply with the Email Efficiency Specification: http://eespec.org

Once it gets some traction, have profs at b-schools / PHBs at corps mandate it. To sell the idea, call it the 7th sigma or something.
Who decides what's great? Why do they get to decide? Why not just standardize around a hash tag?
Short of not calling Windows/ARM Windows at all, is there any way to do this?
Does anyone understand their purchasing table? It seems like some money goes unaccounted for: http://www.aosabook.org/en/index.html#purchase
Joy of Social Media - How Bob Ross Sees the Social Web | Tson
Starting the Global Conversation
fyi, the Manhattan Hilton has 2,100 rooms so that means AirBNB is renting out 2,101 or more per night - thats's awesome.
Maybe I'm an old fart, but "uses only 1300 bytes of object code" isn't important to me if the input is virtually unreadable.

It might make sense in an embedded environment. I don't see this as being attractive in the production assembly environments I've used (games, the 68K-based Macintosh ROMs, etc.).

"Another victory like that and we're done for, sir." :-)
Do yourself a favor and get a Picostation 2 from Ubiquiti [1], it's a hacker's dream. They're $59 over at netgate [2].

* The Picostation 2 has 8MB of flash and 32MB of RAM, which is enough to install and run quite a few interesting things beyond just the kernel: asterisk, openvpn, python, perl etc. For comparison, my WRT54GL only has 2MB of flash and the kernel is 1.7MB -- I run djbdns and tcpdump on it and that's about all I've got room for.

* The Picostation 2 ships with an open firmware, AirOS Linux. OpenWRT also has prebuilt images for the Picostation 2 [3]. There's something like 1000 OpenWRT packages available for quick binary install via opkg, see the list here [4].

* Weatherproof enclosure and Power over Ethernet. Comes with a PoE injector.

* Standard replaceable RP-SMA external antenna.

[1] http://www.ubnt.com/picostation

[2] http://store.netgate.com/Ubiquiti-PicoStation2-80211bg-100mW...

[3] http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/

[4] http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/pa...
Designing the social Business Plan - Part 1
(Founder Stories) Reddit’s Ohanian: What Competition?
The problem with returning null is that you end up with an error in one part of the code causing an exception in a later part of the code.

Integer i = foo();
//Do a bunch of stuff
doSomething(i);

is much harder to debug, especially if doSomething() is documented that it is forbidden to call with a null. You now need to find where i came from, which can be non-trivial.

If instead you return Either<SomeError,Integer> you now can't call a function that hasn't contracted to either not unbox the value, or deal with the error. It's making the type signature match the documentation, which means that the compiler will help catch programmer error. I don't see how this can be anything but a good thing.
As someone with the same reactions, i think I can safely assume he can't help it any more than you can. Sometimes it helps to think that these small annoyances don't matter in the long run, but I get annoyed at the thoughtlessness rather than the actual results...
So some asshole might be using Google Forms for 'phishing' (not confirmed) the same general rule of not submitting sensitive information to that which you don't completely trust still applies.
Graffiti Markup Language
So indeed, nothing new. They might have the same results if they used phone calls as well. I 'm not sure twitter is the right medium for such studies, though.
Mikko Hypponen is a very well-respected security researcher who participates quite actively in a group of highly qualified specialists on Twitter. Your implication that everyone on Twitter is obsessed with the same bits of celebrity culture and whatnot is similar to saying that HN and TMZ are the same since they're both "websites".
GrabCAD testing 99Designs for CAD and having amazing results
If you read the comments, the author wrote a comment that basically says this. Exceptions should be used for fatal errors, not for recoverable errors.
I didn't find your comment rude at all. I appreciate the feedback, and I am really excited some folks signed up and seem to like the tool. Stay tuned for the chrome extension - I like that idea a lot.
Ask HN: Tumblr vs self-hosted blog?
Want to start blogging but was wondering if you guys had any personal experiences with going tumblr vs something self hosted (aka wordpress).
At YouTube Bootcamp, Future Stars Polish Their Acts
Ooh thank you! I hadn't thought of using it on Google Maps yet but that is a really good use case!
Nah, nothing fancy. Just a few lines of PHP and a meta tag refresh xD
How do you explain to people that emails regarding leftover popcorn downstairs in the office and the like are not "high importance"? This gets my every single time. I see the red flag and think interesting this has to be important otherwise why would they have added the flag and then sure enough get fooled every time. Perhaps I should consider the high importance flag to really mean this email is not important.
Search for any popular app, like Angry Birds, and note that its normally pretty hard to find the actual app you're after amongst all the crapware (ringtones, live wallpapers, etc) that attempt to trick you into purchasing them.

For malicious apps, check all the press over the years regarding malicious Android apps in the Market.
link to previous discussion on HN: http://news.ycombinator.com/item?id=2080963

one of the commenters claimed it would work (though they thought the whole thing was a joke at the time)
New Yorker, The Atlantic
I believe this is a solved problem, although it's not used much.

EOF and Apache Cayenne are ORMs that have a notion of a hierarchy of 'editing contexts'. If you save to the top-level one, it commits to the schema. But you can create a 'child editing context'. You can then interact with this graph. When you commit it, it gets pushed up to the parent editing context. Of course, if you want you can them commit again to persist it.

This allows you to build and throw out a deck.

This creates a new problem, a human one. People are used to interacting with web applications, and having everything saved somewhere after each screen change. With this arrangement, stuff doesn't necessarily get saved. I built an application that allowed you to create an order, and then create a person associated with it, and all this in memory. Users were annoyed that when they didn't save the order, the people they'd created associated with it also got thrown out.
Yup, I use it an love it. Despite the similarity Tap2Tab serves a totally different purpose. I mentioned it above but Tap2Tab works on Videos, Netflix, Youtube, Google Maps, ect. It doesn't alter the content at all, it just redirects you to the page.
This commenter on reddit did a good job: http://www.reddit.com/r/programming/comments/hnh59/ask_progg...
Tresor Runs Encryption Securely Outside RAM
They'll have to choose another.
There is little inefficiency.

Thorium reactors won't provide any sizeable contribution until 2050. Plus then we go the nuclear route, but again differently. Germany tried already:

* boiling water reactor
* pressurized water reactor
* Thorium pebble bed reactor
* Fast Breeder

and more

enough is enough

Nobody wants a Thorium reactor in Germany. We had one already. It failed.
Yep, me too. "Eyeball Collector."
how are google forms different than other forms on a website?
Click Copy Cash Review
Google provides a link to report abuse at the bottom of every form, along with terms of service. Can or should Google do more?
If you never get to see what the computer thinks you are not going to like, as soon as its model of you becomes slightly wrong, you will never have the chance of correcting it and getting to see the good stuff.

This is an interesting technical objection. I am not sure that it is necessarily true, though. If I properly weigh exploration (vs. exploitation), and I present related users with stochastic feeds, then the system can explore things it didn't realize that I might like.

Not that I think genetic algorithms are useful in general, but a genetic algorithm would be useful in this specific circumstance. If I engage in K discussions when the feed is driven by exploitation, but I engage in 2K discussions when the feed is driven by more exploration, then I will prefer explorative feeds. So I believe it would be possible to escape local minima.
Thanks. Well I'm not sure. Anyway the Backbone.js app and design (html/css/img) was contributed by Jérôme Gravel-Niquet (http://jgn.me/) to be included as an example into the Backbone.js repository. All the credits for him.

I just commented one line and added other one to the Backbone.js app. And I've developed the whole GAE application.