skysight-inc/HackerNews huggingface dataset:
Yeah, OK.

Most of my opinion has already been written here: http://news.ycombinator.com/item?id=763137

But basically, web apps and non-web apps are the same. The user sees a computer program designed to make his life easier in some way. Inside, our code handles requests and produces results. We use the same programming techniques to process the request and update the UI in some way. The only difference are details; for a command-line app, you can freely block on IO and you produce results with "print". For a web app, you get an "Http Request" object, and you prodce an "Http Response" object. Inside the response is code to draw the UI, send more requests to your application, etc. And finally, for a "GUI" app, we receive events instantly and any of those events can affect the program state (and any handler can update the GUI immediately; no need to wait for a "request cycle").

Honestly, I think the web model is the most difficult of the three. But I certainly don't look down on anyone that writes the other types of applications, because they are really about the same.
I was going to say the same thing. There are numerous obvious reasons, from convenience to conventions, why this is not a practical solution.

The problem, as they say, is not a technical one.
Point #1 is meaningless. You want to have compatibility with major browsers for more market share, otherwise nothing stops you from supporting only IExplorer or Firefox.

It's the same situation with desktop applications, although the situation is a little better because of Windows. But, if you don't want your client to download dozens of MB for the latest .NET, then you use .NET 2.0, if want more market share then you start working on a Mac port. If you want to target mobiles, then you start working on IPhone and Symbian ports, while keeping an eye on Android. If it's a game you're developing, then you start working on a port for PS3 / XBox / Wii.

The whole allure of web applications is that you can reach a larger audience faster, with no middle-man between you and your customers (no installation required, no manual upgrading to the latest version, no piracy).

Your work can be a lot easier when you're using cross-platform tools, but then again, it's the same for browser incompatibilities. Javascript hurts? Then use JQuery or something more heavy like GWT, or maybe OpenLaszlo. CSS hurts? Then use Javascript to simulate missing properties (and the situation is a whole lot better than providing an OS-consistent GUI for both Windows and Mac).

I think points #2 and #3 are in conflict, because #3 happens because the barrier to entry is lower. How can that be if the tools we use for the web are immature?

His main point is that the web relies on dynamic languages which don't have IDEs like Visual Studio with intellisense / automatic refactoring or compilers that highlight syntax errors at compile-time (well, he actually mentioned HTML as the language, but I'll close my eyes to that).

While I can see from where his point comes from, it is also missing the forest from the trees. From my p.o.v. this is a virtue more than a drawback because it makes you think more about your API (your average .NET / Java API design really makes me cry), and it makes you think more about what's hard about the process of development (unit-testing, functional testing, standards, and all that).

He also implies the lack of "object-oriented languages" and that of debuggers ... which is a complete fallacy. Modern OOP concepts are not available in C# (mixins, traits, multi-methods), and the debugging in Python (just an example) is a lot more comfortable than what's available in VS.NET. Does VS.NET give you a way to inspect / redefine active objects / methods / entire classes on a breakpoint and then resume execution? And how much do you have to pay to get functionality available for free in Valgrind/KCacheGrind?
Also, in platforms with continuations support the debugging takes a whole new perspective.

Overall, the article is just a poor and content-free rant.
Weren't "hjkl" cursor keys on the machine Bill Joy was writing vi on?
IBM scientists build computer chips from DNA
Wales, UK... close but no banana
I completely agree with your solution. This is what I wrote on my blog in 2005:

"...Then charge an additional five dollars per month. Of those five dollars, keep one dollar for the company and distribute the remaining four dollars to content providers like a pie. For example, if a user subscribes to four websites, then each of those websites gets a dollar per month. Or if that same user subscribes to eight websites, then each gets fifty cents per month. The genius of this is that it not only does it give content providers a good reason to implement the system, but it gives them an incentive to turn their customers into your customers. In short, the promotion takes care of itself."

I remember posting here telling Tipjoy to do this as well, but I guess they never took me up on it.

Anyway the only way to push something like this through isn't by having a really well-written founder's blog (although that is critical), it's by being willing to sit down and have 10,000 coffee meetings with the bloggers and newspaper owners to get to know them in person. Right now I am creating a platform (c.f. swagapalooza.com) to introduce the world's most-followed bloggers to new and interesting products, if you decide to go ahead and build this then I'll let you use the platform to help make your system the de facto standard.
To this I say. It is your choice. You can stay at MS and continue developing desktop products. A 'Web Guy' has to deal with bad and ugly browser technologies, mixed language technologies, deal with scaling problems, worry about security etc. I could think of at least ten web based projects that are next to impossible to develop for the Web. How about http://www.wolframalpha.com/? He is confusing 'Web Development' with 'programming' a blog!

The fact that anyone can program for the web is a bonus not a disantavantage. It forces the software monoliths to move! My kids all learned programming at high-school but that did not make them programmers. The field had always the CS Scientists, mixed up with the Cobol Programmers at Financial institutions the ADA Defense Contractors etc., now we have a different landscape but we can do without this type of bragging which is akin to ...mine is ..bigger than yours... and you are not a man because...
Interesting model.
The Browser as a Platform
Contradictory rant is contradictory.

Why would I want to program for the web? It's too hard! Also, web programmers program for the web because they aren't smart enough to program for the desktop.
The Social Networking revolution is just getting started.
Dammit now I'm downloading a copy. There goes my productivity.
Why Do Rubyists Test So Completely?
Yes, ctrl-h = backspace (go left), ctrl-j = linefeed (go down), ctrl-k = reverse linefeed (go up).

The only miss in this scheme is ctrl-l which normally would be a form feed but it's easy enough to remember.

When you look at it like that it makes perfect sense to put your cursor control on hjkl (at least for people that know the ascii control codes...).

I don't know which modifier on the original keyboard made it work that way but I guess it was simply the control key (because that makes the most sense given the above).

Would be nice to be sure though! (in vi it does the trick by not using a modifier at all, but by a mode switch).

edit:

here is a picture of the machine:

http://www.vintage-computer.com/otheritems.shtml

(top one)

You can barely make out the extra squiggles on the keyboard, above the h j k and l are the arrows.

edit2:

http://en.wikipedia.org/wiki/Vi

shows the keyboard in more detail (but gets the location of the arrows wrong), it is interesting that 'line-feed' (10) and 'enter' (13) have separate keys.

Useful when you're copying from your terminal straight to a lineprinter and you want some extra space :)
What's the legality of this, I wonder? (Toying with the idea of joining the compute cluster or not)
The engineyard contest? They had CUDA participants iirc.
I will have to agree with the others here who say: move!

Personally I moved from a 'small city' (Kitchener-Waterloo, something like 200k in the vicinity) to Toronto and immediately noticed the difference in the tech community... and by that I mean, I realized that, despite it's apparent reputation, there wasn't one in KW.
A lot of people don't want Fox News.
LG Ke990 Viewty SILVER FULL TOUCH SCREEN
LG KE990 is a simple phone but offers out of this world presentation oriented features. This phone performs in every area because it really easy to use or handled. Its 2G network of GSM 900 / 1800 / 1900 offers a exciting connectivity even in pathetic signal areas. The most striking feature of this lightweight handset is its weight 112 gram with 103.5 x 54.4 x 15.3 mm suitable dimension.
Usability and shape is the biggest problem with this idea. However, if you had something in the fridge that would minimize the amount of air in the fridge that could work i.e a spring loaded mechanism of some sort that pushes back to allow for goods to be inserted in the fridge. If no goods are on the shelf then the spring pushes to the front thus allowing less air to be in the fridge. Hey? Can I get VC funding for this?
Ah damn I misread your comment (missed the sarcasm) and accidentally voted down. Would appreciate if someone felt like upvoting his comment to counter me :-)
I'd think of a design like a file cabinet with every drawer being its own fridge. This way you can even set different temperatures. The stacking is variable so suitable models for every kitchen should be possible.
I highly recommend a slightly modified version: tell them what you're going to show them, show them, then tell them what you showed them
Of course, once most programs are supported, it won't be a lightweight OS any more. :) What looks like cruft from the outside is really the accumulation of patches necessary to make things work properly.
GM Script that enables foldable comments:

http://news.ycombinator.com/item?id=747786
Domain hacks - right or wrong way to go?
We're brainstorming ideas for one of those cool, two-syllable, Web 2.0, kinda l33t speak domain names for our project, after deciding that maybe that as the .com for our current name is pretty unattainable we should have a brand re-think.

Is this just asking for trouble further down the line? Anyone have experience of issues with using domain hacks?
No, I think the author is right when he says "you just need a way for drawers to slide up, so you can access the depths without leaning down into a huge box." I think it's a solvable design problem that could turn into a viable product with a bit of cleverness.
Do-not-reply
There’s a reason I work where I do. As far as I’m concerned, the people I work with are doing the most innovative and amazing things on the planet. What a thrill it is to be a part of it.

I generally don't take delusional people's opinions very seriously... and this is no exception. This is one of those rare instances that Jeff Atwood is right (http://www.codinghorror.com/blog/archives/001296.html).
"I wonder why no company has thought of this easy way to cut energy use in fridges?"

http://www.prisjakt.nu/kategori.php?k=533

The link is in Swedish, but it's a list of freezers just like his readily available for purchase. Mouse-over an item in the list to see an image. The columns: divide the price by ten to get an approximate USD price; energy use per year; freezing capacity per 24h; volume.

[edit] My in-laws have a freezer like this and use it for long term storage. And yes, there are usability problems.

[edit2] Freezer != fride, of course. I shouldn't comment with a baby on my lap, and I also blame it on language barriers! :)
Good article. Most people don't realize how much data they are silently corrupting.

I did not realize how bad of an idea HTTP sessions were until I started using BDB and a transaction around the whole request. Lots of conflicts that MySQL (and Postgres, out of the box) just silently ignored. BDB showed me my flawed logic, and I changed how I stored sessions. (Only storing the whole object when some field actually changed, rather than always writing what I read at the beginning. Even this is sub-optimal.)
That means that any sleep will disguise a call's duration to the jiffie, which is a good thing. (If the call's variance is small enough, it may mean that there's no need to figure out how long to sleep.)

Note that caching and branch prediction and the like make "constant time" implementations almost impossible.
It should probably be noted that the Python implementation currently works much differently than the C++ and Java implementations.

The C++ and Java versions generate code for each message type defined in a your proto file (in fact there an option that let's you specify to optimize for speed). The python version on the other hand creates an object representing the proto file, and reflects upon it for serialization/deserialization.
Dell just unveiled its China-only smartphone “Mini 3i”
Sophie Choudhary for Maxim India August 2009
Sophie Choudhary for Maxim India August 2009- Sophie Choudhary is the maxim magazinecover girl for the month of August 2009 Indian Edition. Its seems that many have complaint that this issue of maxim edition is not so good as of the previous issues published one reason for this would be people not liking sophie Choudhary.
Why not just add those plastic strip drapes they use in super markets to your existing fridge? That would do a lot to minimize the cold air dumping out when you opened the door wouldn't it?
I wonder whether the author used the 'optimize_for=SPEED' parameter in Protocol Buffers. Seems relevant, and since the author didn't mention it, I suppose he probably didn't.

I personally have a hard time accepting that PB is actually orders of magnitude slower than JSON, especially given the fact that PB prides itself in its efficiency.
Google's documentation claims that protocol buffers are designed to be fast so I tested them out and I also found that their Python implementation was too slow to use. I posted a question to the Discussion Forum and found out that it's a known (but undocumented!!!) problem:

http://groups.google.com/group/protobuf/browse_thread/thread...

Recently I tried out keyczar, Google's crypto toolkit and found that their Python implementation was too slow by a factor of 100X because they are using a slow random string generator:

http://groups.google.com/group/keyczar-discuss/browse_thread...

It's hard to see how both of these problems could have passed internal benchmarking and made it into live code. Maybe Google isn't using its own Python implementations internally.
Do a search for "sense of entitlement" (quoted). You are the one who used the phrase first so you should at least try to understand what it means.
Ask HN: I'd like to start taking amphetamines. What do you recommend?
I've just read about Paul Erdos and it made me think about something I've been considering for a while.

http://en.wikipedia.org/wiki/Paul_Erdős

"After 1971 he also took amphetamines, despite the concern of his friends, one of whom (Ron Graham) bet him $500 that he could not stop taking the drug for a month. Erdős won the bet, but complained during his abstinence that mathematics had been set back by a month: "Before, when I looked at a piece of blank paper my mind was filled with ideas. Now all I see is a blank piece of paper." After he won the bet, he promptly resumed his amphetamine habit."

What do you recommend? I drink coffee, I don't do anything else. What are others' experiences, both legal and illegal? I'd like to be able to get long stretches of difficult work done with greater concentration and faster thinking. Legality and supply in different countries is a factor. Please forgive me anonymously registering a handle to ask this question, and please feel free to yourself if your usage patterns are something you feel is private. Thanks.
Don't do a lighttpd.

What about a Netscape 6?

http://www.joelonsoftware.com/articles/fog0000000069.html
Oct 2009 StartupSchool, feat. PG,Anderson,Buchheit,Kapor,Zuckerberg,McAdoo,Fried
Stat mech is basically the math of 'complex systems'. Evolution, neural processes, economics --- it's all coming out as stat mech in one way or another. Thus familiarity with stat mech is important if you have any interest in these areas.
It's a converted chest type freezer. Freezers also have a lot thicker insulation on the walls that also helps improve the efficiency a lot.

It also takes a lot of floor space. On the other hand it could be usable as a secondary refridgerator to hold cold drinks, vegetables etc. that you don't want taking space in your main fridge.

And btw where is my aerogel-insulated fridge? I want one for my flying car!
Crazy what they have these days. Back when I was in high school (first year they required the 83) our teachers simply required we showed every step. So we could get the answer with a few key presses, but unless we showed how to get the answer we wouldn't get credit. Of course I wrote programs to solve the problems step by step and print out the answer, but I guess the system works because in the process of being clever and writing the programs I of course learned how to solve the problems step by step.
> I'd like to be able to get long stretches of difficult work done with greater concentration and faster thinking

The question I would ask is why?

A lot of my friends complain about wanting to work longer hours etc. but I dont always understand the desire. If your working to a tight deadline then fair enough - but if your constantly working to a tight deadline then perhaps the whole job needs assessing!

I used to work quite long hours with little sleep (as I slept badly for many years) and constantly felt drained (even when using stimulants), lethargic and somewhat confused. Now I strictly limit how much work I do and force myself to have down time and i find the work I do do is finished faster and is better - and I am healthier for it.
They do make something like that, they are just VERY expensive.

http://www.ajmadison.com/b.php?Ntt=fridge+drawer&x=19...

While the drawer isn't quite an "open from the top" option, it is much more usable.
Beware of the downsides...

I knew a guy (singer) that would use 'speed' like others smoke or chew gum, he burned out before he was 50.

Now, this guy was a pretty heavy user and I guess that is what it is all about but any kind of substance use can slide into abuse.

Don't get burned. Please.

I'm not going to lecture you or question your motives, but you have to be aware that everything has a price.
You just offered a solution for the problem you outlined:
"This fridge would need all kinds of little compartments and shelves to keep things like produce from going to the bottom and getting squashed."
So the problem is solved :-)
I recall reading somewhere that they are more commmon in Japan. I can't find the link of that page, but it led me to a conversion someone did from an old chest freezer. http://green-change.com/2009/05/23/chest-fridge-conversion/ Based on their numbers it was ~10x more efficient.
Analysis of "What’s 2/3 of the Average?"
'In this future — whose underpinnings, as Drs. Church and Venter demonstrated, are here already— life as we know it is transformed not by the error catastrophe of radiation damage to our genetic processes, but by the far greater upheaval caused by discovering how to read genetic sequences directly into computers, where the code can be replicated exactly, manipulated freely, and translated back into living organisms by writing the other way. "We can program these cells as if they were an extension of the computer," George Church announced, and proceeded to explain just how much progress has already been made'.

Amazing stuff! 40 years from now login to have your genes changed to change the colour of your eyes. Pity I will probably not be around!
The post on TI forum reminds me of when decss was cracked and an email was sent to the list saying something like: "Here are some random numbers that are good for initializing your card game shufflers and stuff like that" Followed by several dozen keys. It got printed out and put on a dorm room door :)
> However, since most probably it will not be easy to push some of these patches through Erlang/OTP,

Why's that?
I think you're missing the purpose of this thing. rel=-hortlink / rev=canonical answer the following question:

"I'm on a page with a really long URL. Is there a preferred shorter URL for this page?"

In the context of URL shorteners, 302 redirects usually take you from a short URL to a longer one. rel=shortlink is about discovering the preferred short URL when all you have is the long URL.
I used to use 'camarades.com' as our main 'entrance', it worked well but it always led to spelling errors. After switching to 'ww.com' source-unknown traffic (type-ins) went up quite a bit.

Domains are transferred in many ways between people, and it is when it is NOT a link that they click that your name matters most.

Facebook is a nice example, it is absolutely impossible to miss-spell it for just about anybody. Two very simple, extremely common words.

That might be the way to look in when you're trying to find a new domain.
My friend Josh (a Google engineer) is working on a Protocol Buffer implementation that's explicitly designed for (a) efficiency and (b) clean integration with dynamic languages like Python: http://wiki.github.com/haberman/upb

It's still a work in progress, but the code is there (including tests and some documentation) and you can start working on bindings for your favorite language...
That doesn't solve the problem that the space commonly allocated to fridges in the vast majority of kitchens is vertical, not horizontal. It certainly wouldn't be workable in any of the flats I've ever lived in, only in spacious houses.
Right now, I'm curious to what the effects will be like. I think my work is important and enjoy doing it. I'd like to do more of it, sharper, faster. I've seen the effects of good diet and exercise: Very big. I've seen the effects of caffeine: Also very big! But scary withdrawl too.

I'd like to slowly wade into other performance increasing things to see how it works for me, how it changes my work and the rest of my life. Hopefully I can do this fully aware of risks and downsides, which is why I ask here. Lots of brilliant people here who have work and lives similar to mine.
i didn't use the optimize_for=SPEED option but will do that right now and update it in half an hour.

EDIT: I just added the option *optimize_for=SPEED to the .proto file, and it increases the speed of the Protocol Buffers by around 5% (still 10 x more than JSON with Python).

> I personally have a hard time accepting that PB is actually orders of magnitude slower than JSON

it's not always slower, but in certain situations yes. it seems that the Python implementation is especially slow -- would be nice to see the results with C++. anyone cares to give it a shot?
We were thinking something more down the del.icio.us route
That's a smart idea, but wouldn't that require several compressors instead of one? (one per fridge)
100 Social Media Books
The idea isn't that every page will define its own URL. The idea is that some pages will, and things-that-shorten-URLs should then use their preference in shorter URL when linking to them. For all other pages regular URL shorteners like tinyurl and bit.ly can be used just as they are now.
Hey, for all those who complain about the poor usability: This is a low budget DIY hack!

In case you want to solve the same problem with a usable product on a big budget you can too, using horizontal compartments:

http://www.appliancist.com/appliance_trends_2008/electrolux-...

http://www.yankodesign.com/2008/04/09/your-fridge-sucks-this...
Well, it is what I heard from people who tried that before.