skysight-inc/HackerNews huggingface dataset:
I don't think Google has been very clear about what Wave really is. There are several components:

* The Wave Protocol (http://www.waveprotocol.org/) is the heart of the system, and IMO the most interesting part. It's an extension to XMPP, and roughly analogous to SMTP if you're comparing Wave to email. Google will be open sourcing a version of their Wave Protocol server.

* The Google Wave client is a GWT application that uses a custom Comet-ish protocol over HTTP to communicate with the server. Analogous to Gmail's web interface or any other email client. I expect this will be open sourced as well, since the Wave Protocol server is useless without a client.

* The "robot" API is the JSON-RPC protocol that lets programs interact with Waves to do interesting things like spell checking and translation ("Spelly" and "Rosy" are Google's implementations, likely remaining proprietary). This is separate from the Wave Protocol, but may become a de-facto standard. IMO this is the second most interesting part of Wave. I don't think there's anything quite like this in existing email system (custom server-side spam filters and such?)

* The "gadgets" API lets you embed untrusted code to add functionality in Waves.

* The "embed" API lets you embed a Wave on a webpage, a la the Google Maps API.

Looking at the API docs gives a rough overview of the last 3 (http://code.google.com/apis/wave/guide.html) and waveprotocol.org covers the first. There's not much info about the GWT client yet.
One thing that I have seen others do is to create a kind of footnote system in their laptop document so that any formula or diagram gets a reference number then they quickly grab the pen and paper and jot the formula/diagram down then straight back to the computer. Then after the lecture just digitalise the footnotes. Really depends on how much of the lecture is formulas/diagrams to text I suppose.
Leave it to the attorneys to come up with scary stuff. It seems that Google may be learning from Microsoft to push its weight around. I wonder if this would violate antitrust laws?

Under normal circumstances if Google were a smaller company, an inventor whose invention have been infringed by Google, would have the option of shopping around and use another product than Wave. And Google may be entirely in its own right to refuse providing him with a service.
However, given the potential of Wave and the enormous size of Google, Wave could possibly completely replace email. Depriving the inventor of the Wave license would cause him irreparable harm since he cannot shop around for a comparable product.Google is facing an antitrust issue. Google is becoming like Microsoft.

Here is another angle:
Background: If several persons are co-inventors on a wave invention without having assigned it to a single entity such as a company, then each co-inventor own 100% of the invention. This means that each one can independently conduct business such as leasing or selling 100% of the invention.
So let's say that Google infringes on the invention and one of the inventors sues Google for 100% of damage. Google by contract can cancel the license for that one inventor but the other ones can still use the wave license. So one of the inventor needs to be willing to sacrifice himself.

Who would sue Google anyways???? Microsoft???
I think the comparison with prisons is pretty bunk. Students and their parents get to choose which school they'd like to attend; for many people, that means an enormous amount of school choice. With home schooling in many states and the GED, students have still more choice. And of course, you're free to drop out -- you just have to be willing to accept the consequences.
> > (I want to see Clojure and Arc on this.)

> Well, arc's running on top of MzScheme, so it's likely to be a bit slower.

I'd be interested to see how Arc fares on the code-size axis.
What's wrong with getting a job ? As far as I am concerned..one doesn't get any extra points for being self employed. Often times you need to work in teams to get stuff done especially in a startup. I'd rather be impressed by one's work and creativity than by his ego :)
Once you have this product how do you get users to come to use it? How do you keep users coming back? How do you make money from it. There are questions beyond making the best possible core product.
What about wireless? I have a functioning wireless connection with my Vista desktop. However it seems really hard to get going with Ubuntu. I can't figure out exactly what to do with Ndiswrapper and if I need a new driver. Can't I just use what I have on Linux if I allow proprietary stuff?

Wireless still seems to be the most annoying thing about Linux.
See it more as a cheat sheet for possibilities that you may want to use. There are many possible combination and potential hook ups and compatibilities.
Picking a bike lock is pretty impressive - I had to resort to a battery powered masonry saw when I was in this situation. In high school I made my own set of lock picks only I used hacksaw blades and a bench grinder. One of my friends in school managed to acquire a pick-gun and it worked okay.
The fact that you have to pay $4000 is a big reason why it is effectively hard for most people to get into TED.
If you're truly out of money, it will soon change from "thank god I didn't get a day job" to "thank god someone gave me a day job."
Mozilla: In the Shadow of the “Don’t-Be-Evil Bulldozer”
Right, I mean the $4000 is the hard part, not the invitation.
Given that the talks are canned, and the materials they are based on are almost always published, why should I pay for a conference when I can already leverage existing networking/social channels to stay in touch with the latest?
Also note that in the benchmark it is a gzip of the source so it is more about how well your source code compresses.
Twitter is a really simple application to scale. The fact that it took Twitter so long to get it somewhat right is remarkable, but I'm not sure I'd be so keen to look at them as an example of how to design scalable architectures.
An Interesting View: Lilly says he likes Chrome. “Really?” asks Walt. Lilly says yes. He notes that rival browsers like Chrome and Safari have made Firefox better. A nice change from competing against, IE, apparently
There is an all-out, bitter war going on between property (connections, inherited wealth, resources) and energy (talent, ambition, hard work). One is past, one is future, and each wishes to demote the value of the other. One side has power but lacks the vision and talent to use it; the other has the capability but not the means.

Sounds suspiciously like Marxism. People with wealth and connections are the bad guys, while the struggling guy at the bottom is the good guy.

What's ironic is that a) many of the people at the top started out at the bottom and earned their way to the top, and b) those at the bottom are ultimately trying to cultivate the same things: wealth and connections.

I find it incredibly naive to think that we're at some turning point in history where suddenly the world is going to become some kind of meritocracy and the people who are just starting out will behave any differently once they make it than people have been behaving forever. I also find it humorous that you think that people at the top are basically just dumb, boring people who lack vision and talent, and who have only their inherited wealth and connections to keep them on top. Give me a break.
lol, that may turn out to be very true :)
I always thought this was deliberate. The problem is that in peacetime there is not enough for soldiers to do, so militaries run things deliberately very inefficiently in order to make sure people have things to do.

If you ran everything at full efficiency you would need far fewer people - but then in a war there would not be enough people. So you do everything inefficiently so the people (and resources) are there when you need them, and in a war you press the magic efficiency button.

Take your examples:

The loading/unloading was a form of exercise.

Sending the full truck back was a way to keep the truck drivers busy, and also of making sure the trucks are used.

Sending the entire shipment back was a way of keeping the supplier occupied, so that they need to keep people on payroll, who would be needed in a war.

The thing about the in-country units, was actually a form of training - you want each unit to know how to accomplish the entire task. Sure you could use the previous work, but then the incoming unit would not know how to do it. Plus it keeps the incoming unit busy, and everyone, and everything else associated with it, both busy, and in practice.

A unit commander has a big problem: how do I keep my soldiers both busy and trained. The simplest way to do that is to make them redo things someone else already did.

Try looking at all the inefficiency in this light, and it will all make sense.

PS. Were you ever a commander/officer (not sure of the right term)? Or did you ever keep children occupied in the summer?
Yes, and we have some macros that do just that (a Greenspunned version of half of CL's LOOP comes to mind). But it's not great as a general solution because of what it makes you give up in performance and readability. Also, it doesn't solve the problem of declaring new variables.

Every now and then we hit upon a new abstraction that lets us remove another chunk of ugliness from our code (while still generating acceptable JS) and I'm hoping that the trend will continue, especially if we can get rid of all those "return"s.
Evernote?

http://evernote.com/
I've rarely had any problems working on (competent) teams (on the contrary, it's nothing but a pleasure), it's almost always "the man" who is the problem :)

Do you have a job yourself? :)
Mac OS X preferences -were- human-readable (and editable), but that's not what makes the NSUserDefaults API so handy. What makes NSUserDefaults handy is the support for varying default domains (network, system, user) and dead-simple serialization of Objective-C basic types (strings, ints, dictionaries, arrays).

Additionally, Apple switched to a binary file format to improve performance in 10.5, which may be converted to/from the text format, or edited directly using the property list editor.

There's also nothing stopping a software author from documenting their settings file keys, and some do. However, most of the settings options you do see listed on that site are undocumented because they are unsupported.
At the times in the past when I haven't had institutional access, it has only rarely been a problem: the vast majority of the papers I want to read are freely-available online (CiteSeer, Google Scholar, DBLP, etc.). For the rare occasions when I couldn't find a free copy of a paper, I would just ask a friend of mine with ACM/IEEE/etc. access to get me a copy. The ACM/IEEE web archives are a major annoyance in theory, but I wasn't too inconvenienced in practice.
If you find this technique interesting, check out GWT's excellent support for automatically generating these at compile-time: just subclass ImageBundle (a simple tag interface) and use annotations to reference the PNGs you need, and the compiler will bundle them into one image like this. At runtime, when you create an Image (from an AbstractImagePrototype that the ImageBundle's methods will give you) all of the work of slicing the specific section is done for you automatically.

And the cherry on top: you can use PNG transparency and the framework will automatically insert the appropriate hack for IE6 in the version of the javascript that those users will get.

It's extremely slick.
Get up between 6 and 7am, check email and go for a work out or a long walk while the city is still sleeping. By 8 am figure out what absolutely must be done today by me and what should the team be doing (I am the "businessy" guy). Work until 7PM, take "re-charge break" until 9PM, work until midnight, go to sleep.
My darkest hour certainly had nothing to do with job woes.

No offense, but if this is your darkest hour, you need to be living a much wider spectrum of human experience!
I believe Udi Manber works in Search or online something or other, and not Apps.

There are 10,000 engineers (in varying capacities) at Google, who have all done lots of disparate and random things. Sometimes, by sheer stroke of luck, people will happen to have already done something, but due to size, it will simply be reinvented.
Generating and executing x86 code at runtime
The opening presumption, that people are only interested in the answer, is IMHO wrong. But that's just a gut feeling, I can't prove it. But here's my thinking anyway:

(1) It's a presumption that people are only interested in the destination. Perhaps people think they are only interested in the destination, but the reality is, we do often enjoy the journey too. And maybe the journey is important even when we don't enjoy it. Sure, sometimes it really is the answer we want, like when we ask Google what's "17 meters in feet", but I think that's only in some cases.

(2) Getting only an answer, or even a range of possible answers within a set of possible meanings to the question, is like saying there's only black and white, or at least, very few shades of gray. The glut of potential "answers" we get back from a Google search is a feature, not a bug, when we consider that nothing really is black or white when it comes down to it. Is an engine that's apparently so "smart" just predisposed to more systemic bias?

(3) And why do we presume that it's a question we're asking in the first place. I think we're often really embarking on a journey when we search, and purposefully so, without a specific destination planned.

I know I'm simplifying down the point of the article, but I just wanted to say this because I've been seeing a fair bit of this holy grail of answers talk lately, and I think it's a bit one-side and simplistic.
But even ostensibly open conferences can be difficult - I'm going to E3, and I made sure I could get dual credentialed as press just to make it easier for other people to talk to me. Some places are conferences just for the cool kids, but the cool kids still self-segregate at open places. That's why Wilson's so smart - he knows that's going to happen any way, so he only goes to places where his time won't be monopolized by the people he can talk to any other time.
That is true in a place like the NBA where equality among competing organizations is a goal of the governing body, i.e. the draft hypothetically helping the losers become equal to the winners. Just keep plugging along and eventually you will be bailed out.

In something like business, or in Gladwell's example lower level sports, this is not the case. Small schools will always be small, they will always have fewer kids to pick from for their team and thus need to get unorthodox to gain an edge.

In the business world, if I'm competing with 20 people vs 20,000 people I need to get unorthodox to shake things up, even if my solution isn't perfectly optimal.
Fun topic.

I wake about 0730. That's 3 hours before I used to awaken (before I was co-founder) so I make coffee and whilst it brews grab a shower. After shower, it's coffee/email/Twitter and kiss girlfriend goodbye.

I get to work for 0820 (cycle) and by the time I'm sat in my chair with coffee I've worked out what my first small task is.

After first task (logs, phone call, send beta invites) I grab breakfast (bacon roll or pastry - a large perk of our company is free lunch/breakfast)

Then it's daily swift chat with CTO and on with my to do list. I split my tasks into thinking and doing. We also use pivotal tracker, which rocks.

I regularly meet with our investors and advisors (over lunch, breakfast or pizza after work - avoid meetings in work hours) and generally power through until about 6.30PM.
I spend the final hour of work catching up on email and any missed calls. Home for 1915.

I relax in the evenings and generally be human. I try to squeeze in another two hours work between 1AM and bed.

Repeat.

I do this Monday to Friday. At the weekends I work from home Saturday morning and Sunday evening.
Ruby is not a really slow language. It's got some really slow implementations. Ruby has a high cost to entry for a VM/tool developer because it has a relatively byzantine syntax which has been hard to standardize. You can write code that has the same tokens yield entirely different syntactic elements, based on something random, like, say, what day of the week it is, which you can do in Python or Smalltalk, but in Ruby you can do this by accident with statements that look very innocent. (This is covered right in the Practical Programmer's Ruby book.)

If dealing with Ruby's syntax were easier, Ruby implementations would progress faster.
Maybe now I can understand this book. It arrived last week, and I cracked it to find to my surprise that its genius level material. I would have to have a lot of uninterrupted time to grok.
I suspect that to build a very large software business you have to build a product that can be agreed on by a consensus of people in a company (it may not be a huge decision-making group, but it does take a couple of people signing off on most major decisions). I'm having a hard time coming up with any software product that would be explosively successful without a group of people being able to agree on it. Office software, CRM, anything on the server, chat or other interactive tool, pretty much anything someone would pay for, would likely be chosen more often if the people that person works with or communicates with also choose the product.

Even games, these days, are often decided on because people can play with their friends or at least share and trade games amongst their social circle.

Actually, it just struck me how much less solitary computing is than it was even five or ten years ago. So much of what we do now is interacting with and sharing with others. Funny how that snuck up on me.
Market makers frequently do neither, they often go off on some tangent that satisfies desires no one had realized existed before. As long as people are recommending books, Clayton's "Innovator's Dilemma" is interesting and fairly useful (the sequels much less so).
I was inspired by your post to find out what startup you worked on.

Virtualmin is totally awesome and I use it on a near daily basis. I've bought a pro licence and have also been blown away by your support.

Rock on.
That's a cheap shot although you made me laugh. But let's for a moment assume that one person's walk in the woods can be another person's nightmare. (Especially if they're really dark, creepy woods - but I digress).

Job hunting is stressful even at the best of times. And this is certainly not the best of times. On top of that, you are considering a possibly necessary major shift in direction in your career and lifestyle so that adds to the stress of this. The process of searching for a job has a bearing on so many aspects of who we are that some people can be so paralyzed by the thought of it that they will stay in the same job for years to avoid searching for a new job (points finger at self). I sympathize with your situation. Getting support from those close to you as well as trying to participate in enjoyable activities that help you to maintain your sanity are likely to help you get through this without feeling too overwhelmed. Whatever direction you choose, when you emerge at the other end of the tunnel you are likely to wonder what you were so worried about. Best of luck.
I haven't bragged about how great I am while releasing software that fails to implements parts of the spec.
"but he's not changing what's in the pot"

Exactly, being an asshole all the time isn't changing anything for the better.
if your darkest hour is going from your ideal work situation to working a 9-5, you might need some perspective.
It's surprisingly easy to be your own privacy service. I run my company's "privacy division" (that's in addition to my role as Chief Sunday Afternoon Movie Outing Strategist) and routinely put the domains we manage behind a privacy wall.

Here's one way to do it. I cleared all this with my domain registrar before doing this (who said that this is fine as long as the contact for the domain can be reached) and you should, too.

1. use your company name for the name of the contact
2. use email aliases or catch-alls for the email contact
3. use a free PTSN-to-VoIP number for the phone contact (I recommend Area775.com)
4. use a mail receiving agent (like Earth Class Mail) for the physical address

This may look like a lot of set up and expense, but everything but Earth Class Mail is free.
Architectural decisions also limit what you can do later. Generally, the more focussed/optimized a system the less flexible. To the extent you KNOW exactly what the system should do, it should be optimized from the beginning; but, as PG points out repeatedly, most startups change direction at least once after launch.
About the HN and reddit problem, I found it helpful to add this to my /etc/hosts file to prevent the timesuck:
127.0.0.1 reddit.com www.reddit.com news.ycombinator.com

Of course I comment it out during weekends, and permitted "play time".
Well, this article is from the mid-90's, so he was less verbose then.

Seriously, this is a great article (all you need to know about trans-Atlantic fiber optics and the geeky hombres that lay them down at the bottom of the sea). I remember the article came with some great photos; too bad they don't include them in the on-line version.
But why not make them do productive things? If The People are investing in "a bunch of buff guys with guns that can take orders well and haul ass", then they should just be able to rent them out in peacetime to, well, take orders and haul ass (but not with guns, hopefully.) The military should be making money for the government during peace time to offset the resource usage during wars.
So?

And if you generated random IDs with the same number of bits as a hash function they would be indistinguishable.
I think Amazon has a chance of achieving serious lock-in with AWS, not by doing anything pernicious, but simply by adding so many valuable differentiating features that at some point (perhaps already) it will be too much of a pain to switch.
So absolutely not true. I've been at this awhile, and have had my fair share of success (and failure as well).

The idea that you have to go, go, go to the detriment of your social life is just silly. It's part of the myth of the startup, not the reality. Founders love to talk about how hard they work, but in my experience the good ones find real balance between work and life.

I work a 50'ish hour week. I don't kill myself. I take the weekends off. I spend time with my wife and friends on a regular basis. We get things done, we ship early, and we have really made huge headway on all facets of company building... and have done it while maintaining our friendships and marriages as well.

Working a ton of hours isn't going to make you successful. Hell, the most likely outcome is that the stress and demands of that pace will do nothing but limit your ability to make good decisions.

Just a bit of friendly advice.