skysight-inc/HackerNews huggingface dataset:
I think that's a harsh analysis and I don't think it's necessary to get personal about it. I'd say the launch of gmail was expertly done, and one that a lot of people copy.

Look at what happens when companies decide to "release" to everyone at the same time with a big PR frenzy - cuil. The companies that slowly but constantly grow seem to do better than the ones that go for a big style "launch" IMHO.

Releasing with a big style "Version 1" approach just doesn't fit with the dynamism of the web. Throw something up, get a few users, update it every day, and grow slowly but surely.
When you're finished with the ad hominem part of your attack, I'd just like to weigh in and say that Aaron got this exactly right.
While I agree 37signals has a much more impressive product track record than Aaron does and know quite a bit about marketing their products, the source of a statement has nothing to do with its validity. Either Aaron's argument is right, or it's wrong, independent of Aaron's status as a developer or entrepreneur.

That being said, I think Aaron is right about the proper method to launch a website, and also that if you look how 37signals actually acts, they launch products exactly that way.
chicks.jpg :D
Are foreign keys really necessary in a database design?
Ontologies for everything else.
Aaron advocates avoiding the "Hollywood Launch", marketing your product only after you've verified that "random people" are satisfied with the offering.

I'm asking you: are you saying that after Fog Creek spends 9 months building and testing a product, dogfooding it with internal users, and running closed beta testing, that you would avoid publicity for it until random paying customers started liking it?

Because I feel like I remember you making an actual movie about the last product you launched.
New attack against multiple encryption functions
The "self" argument is great. It is the reason why methods in Python are normal functions and not special "methods".

It also makes this pointless but interesting piece of code possible:

class foo(object):
def subclassme(self):
class subclass(type(self)):
def __init__(self2):
self2.parentobj=self
return subclass()
Adi Shamir's Cube Attacks - New form of Cryptanalysis
I'm not sure if you're being serious here or not... It's tough to tell on the interwebs... But I'll play devil's advocate and pretend that you aren't joking.

Writing Java in Lisp doesn't mean you've mastered Lisp. There is a difference between understanding the logic and creating the implementation in the best way possible, given the language.

As a very simplistic example, C and Python have two different ways to iterate. You could write a loop in Python in a C-like way, but there are much better ways to do it (list comprehensions).

On the flip side, just because C doesn't have list comprehensions doesn't mean it's less powerful as a language. It just does things in a different way. Knowing those sorts of things is why being idiomatic in a language is part of mastering it.
Simple really, risk vs reward.
I think the point your missing is aconbere already traversed those paths in his brain with other languages. Ruby, as far as I know, hasn't introduced any new programming language concepts.
It could be that Aaron is talking from bitter experience here.

Infogami was very much a Hollywood launch. He did almost exactly what 37signals suggested. He posted a teaser as soon as he got into the YCombinator program. He had mavens and insiders try out the product (I think; I can't imagine PG not trying out a YC startup's product before launch and showing it to his friends). And then he launched with a big splash.

And people hated it.

I suspect that product quality has far more bearing on startup success than how you launch. And as you say, the difference between 37signals and Aaron Schwartz is ability to execute. But Aaron's advice is a good way to find out if you haven't yet executed well and improve the product before everyone else finds out.
You're right: if you do a glamour launch of your product without making the effort on quality, you end up like Cuil (and I concede that Cuil is a good counterexample).

I object to the "either-or" argument the original post makes, and I object to the snide "we're only doing it this way because 37signals says to", as if 37signals doesn't have a store of credibility here that Aaron lacks.
But does the Hollywood launch hurt? It seems like the reasonable way to go is to get a big bump when you open doors, iterate using the feedback of people that stay, and get more coverage whenever you release a big new feature set.

Certain sites don't really make sense with invite codes too.
Kodak Fashion Camera Wallet leather brown
Fashion camera wallet doubles as a camera carrying case and purse. One side features slots for your credit cards, change, and other personal belongings, while the other side conveniently holds your camera, picture cards.
The top 15 ways to get on with TechCrunch UK, and maybe other media
Lua gets it right too.
I think there's a difference between the 37signals plan and the Aaron Swartz plan, which is that the Aaron Swartz plan says "don't market until you have happy customers", and then uses the spectre of product quality failures to back the argument up. Happy customers and crashing servers are orthogonal issues.
very cool, thanks. wish I knew about it a month ago.
Yahoo HackDay 2008 coming up on Sep 12-13
I like the idea. A lot. Agassi has created a vision. An idea that is apparently appealing to a lot of people. And he has convinced two countries that are willing to put his ideas to the test. Who knows: this thing just might work!

Ethanol, Hydrogen, etc. etc. all need new distribution networks. Electricity is "everywhere". In a country like The Netherlands almost every km of highway has lamppost along the road. A city has electricity cables running everywhere. It should be easy to install a lot of those charging stations.

In Europe a lot of cities have high parking fees. What if you would lower the parking fees for electric cars? By installing charging stations at those parking spaces the city council would get a percentage of the charging costs to make up for the "loss" in parking fees.

There are however potentially other problems. If this plan makes electric cars cheaper or more economical than normal cars people will be using their cars more. And that is huge problem. Cars take up space. A lot of space. And because of the high fuel prices people were finally cutting back on their car use.
Virgin Mobile formally seals the deal on Helio acquisition
I had an idea for a browser extension that would rewrite all "sponsorable" links, whether they already were from a certain affiliate or not, to be from yours. You'd register at the extension's site and it would then automatically register you at all the sponsorable sites they supported. Best of all, the extension wouldn't be fixed to any individual donatee; rather, users would be able to click buttons on sites that read "sponsor me/us from now on", and switch the extension's target. There could also be a menu to select from previously used sponsors, obviously.
Kevin Mitnick points out the problem with Web 2.0/Cloud computing
And 640K will be enough for anyone. There is no point in twitter. Instant Messaging is for kids. The MP3 Player market is saturated. The million dollar homepage is retarded.
Microsoft Patents Ridiculous Page Up/Page Down Function
Jesus Christ Got My Wife Pregnant | SlashBe
Does it work with IE7 now? I haven't looked at IE under Linux for a while, but last time I did look it was IE6 only.
The 'Hollywood Launch' can work if you already have notoriety to leverage, and already have the experience/userbase to do iterative improvement/testing internally. Steve Jobs is master of the Hollywood Launch.

If you're a small, young team making your first product, the dream of a 'Hollywood Launch' is destructive. It causes you to delay getting bulk feedback from disinterested strangers. It slows the organic learning/testing loop. It delays launch as you try to ensure you'll make a good first impression. And as Aaron notes, there's always something that goes wrong on a contrived 'big day'.

Steve Jobs and Apple on their umpteenth launch can usually keep those glitches to a minimum. (But not always: see MobileMe.) 37signals on their Nth launch of another webapp in the same mold as their other N-1 apps can pull this off, too.

But a young team launching a brand-new product will gain more from a measured ramp-up than an engineered hype-storm. They should listen to Aaron.
Lisp? ;-)
I think both of them are important.
I've always been surprised the CPC model works at all (and looking at Google it works like hell!), and this kind of reasoning (regardless of its ethical considerations) is one of the reasons.
As does nasal: http://plausible.org/nasal

That's my own language, and quite obscure (FlightGear uses it, and I've done quite a bit with it personally). But if you want to include Lua too, we might as well be consistent. I was trying to stay within languages with which most readers here would be familiar.
Ask HN: How do you find interesting stuff to read besides HN?
I've gotten stuck in a rut online. Aside from a couple blogs and webcomics, I'm pretty much trapped inside of HN and Reddit. How do you guys find interesting stuff--word of mouth, random Google searches, or what?
Apart from 37signals though (Which isn't a good example IMHO - they have a rails 'fanbase'), what successful "Big release hollywood film" examples are there?
Certainly not a bad or good thing, it was just interesting to me because I've never noticed the same trend from interacting with the Python community in Chicago and at PyCon.
I'll agree that it's about how it makes you feel, but Ruby (+ Rails) just made me feel sloppy, while Python (+ Pylons or Django) felt crisp & productive.

Really, I'd say to try both languages and pick whichever one you like best. They're very similar in what they let you accomplish, but have very different feel. What works for one person won't necessarily work for another.
Thanks for clearing it up :)

I read some material on this subject several years ago and have been putting it into practice ever since, so the specifics get lost in the day to day usage.
Portugal has also signed up! The third country. See: http://www.forbes.com/afxnewslimited/feeds/afx/2008/06/30/af...
I have just that laser printer in the article. I'll have to bookmark this site for later and keep my black electrical tape at the ready.
A more general idea for blogs/forums...
When anyone points to a product that is recognized as having an affiliate program, modify the link to capture the commission and give it to the blog/forum owner.

Could quite easily be done just as a small javascript include and could work pretty well provided they get enough people posting links to products/websites with affiliate programs.
All of Gentoo's tools are written in python, bash, or C.
That's a good question. I'm having a slow day today; let me go look. If you don't see a response, I'll have conceded that there is no other good example of a successful "Hollywood" launch by a small startup. That would definitely hurt my argument.

[edit: my slow day got fast, but I also did have trouble coming up with a clear-cut example of a small company glamour launch success.]
I primarily like using console while working on a project. I have a centralized location which is connected to my "very-rudimentary" version system. I have written small scripts which run every single time I fire up console. At times, I have project specific console scripts all reside on my desktop. I have global key shortcuts to open up consoles for commonly used projects. Simple aliases and scripting trick is kinda abstraction over the actual code organized in folders. I find it eminently helpful since I use Linux and Windows both quite frequently, so it keeps everything consistent for me.
This really isn't worth the fight, so I'll mention that Instapaper has a much better-designed site, and it has a groovy iPhone app that I now swear by.
Anything that is not a simple expression. assignment, if..else, etc.
There's no dignity for a company like Valve?
Well, you prove the point. You are incapable of seeing your own weaknesses in a language.

One can write every language the same way, but that's not programming. You can't learn python and then write C the python way. You can't write Python as you would Java.

Syntactically, it's possible, but that's a different language you are using then.

Don't confuse syntax or knowing when to use particular constructs with knowing a language. Call me slow, but it took me 3 years before I felt confident that I really knew most of C++. I know when to use Boost, when to use STD, What AtlArray is, how to write an IDL file, what extern 'C' does, what an stdcall is, how my variables are layed on my stack, what Gui toolkits are available, how Borland C++ makes properties appear in C++ classes, when one should use an int64, etc.

It takes time to learn that stuff, but to be really good at a language, you need to know it.

We're like doctors, you don't need to apply your knowledge all the time, but when you need it, you need to be aware of what exists and where to look it up.

If they ask me - write a webserver under Windows, I need to instantly be able to think of 3-4 libraries I could use for the low level stuff, and then decide which is best. All that takes time.

The syntax is nothing. A language is a whole lot more than that. You can't stay above a language. You need to delve into the language, you need to have a feeling for the language, you need to feel inside you how to express things in a particular programming language.

When you describe a problem to me, I can see the C++ structure in my minds eye. I can mentally walk through the code, see where I would use templates, where I would use an interface class, where I would subclass and so on.

I can't do the same with python, because even though I know the syntax, I've not used it long enough to get an extreme feel for the language. And the python folks like to reduce stuff down to short lines, and that's something you don't do in C++.

Learning a programming language is learning a new way to think. Not a new way to string sentences together.
As does Eve (http://eve-language.blogspot.com/), as long as we're throwing out pet languages. ;-) Though I just redid virtually everything about Eve (changed it from a multiple-dispatch functional language to a single-dispatch prototype-based functional language) and haven't yet pushed the changes to GitHub.

For that matter, Ocaml/Haskell/Erlang all get it right, and those are not pet languages. And Cecil and Dylan almost get it right, but have some complications introduced by multimethods. So it's really just the popular languages tha screw up.
This is a major reason why I eBay'd an old LaserJet4 when I needed a printer. It's built like a Mack truck, and it doesn't play games with toner levels.
NOOO Honda Fit hybrid not coming to US after all...
Ask HN: When to turn on advertisements?
I'm working on a small project with my girlfriend, and it's a free service that we'll support with advertisements. (at least that's the plan)

I don't want to set the expectation that it's a wholly-operated free service, nor do I want to deter early adopters with ad-clutter.

If I'm not mistaken, I believe Digg, Linkedin, and Facebook grew their advertising footprint slowly and over time in respect to their community size.

Does anyone have an opinion on this?
Assembler is one of the easiest languages to learn, the difficulty lies in understanding your machine.
I actually went to Best Buy to get some ink when I realized that instead of paying $70 for new ink I could spend $100 and get a wireless laser printer (a Brother 2170w). Sounds like this trick could come in handy.
I think that both can work. It depends on the goals of the company and type of software they are launching. I do think that gmail is a terrible example though. Google can launch anything, slowly or Hollywood style and it will get attention.Granted not everything they do succeeds, but Google has an advantage with any new product launches. A better example might be the original launch of Google.
When I was staying in Amsterdam, I picked up this book and read it from cover-to-cover. And when I got back to the states, I read it again.

I read an enormous number of how-to, self-help, technical and spiritual books every year. I can easily tell the fluff from the meat. This is a book I'll keep in my library for a long time.

He talks very frankly about his successes and failures. That's hard to find in business books today, which are full on theory, but this guy backs up his missives with a $100m bank account.

Anyway, I strongly recommend this book. It's a fast read and even if you don't agree with everything he says, you'll certainly get a few good nuggets from it.
To play Devil's Advocate, the difference is that GTalk offers very useful functionality. The Gmail integration was top-notch and the fact that it used Jabber meant that I can use it with iChat alongside AIM without effort. This isn't offering anything useful: virtual worlds add complexity where complexity isn't needed. Used to be Google was great at avoiding useless clutter - see again Gmail and Gtalk - but as time went on they've slackened, Gmail didn't progress at all - versus their competitors - and even Gtalk isn't really revolutionary, it's just been pushed with other products.
I'll put up a post on http://www.startupcompanylawyer.com about these docs at some point in the near future.
Eww, a cellphone style, lock in walled garden economics, on something so basic like electricity, leaves a bad taste in my mouth. If this style of business become popular, the common slashdot metaphor of "imagine if you couldn't get gas because it's a honda gas station", or "only special ford cars can go on this road" might actually become a reality.
not really appropriate for here... but I do own a normal honda fit and it's my favorite car. ever. compact but can carry a decent amount of stuff. simply an amazing car.
It works well because Google has all kinds of algorithms for detecting fraudulent clicks and not charging advertisers for them.
I'll put up a post about these documents on http://www.startupcompanylawyer.com in the near future.
This is one of my most favorite books. It is highly probable that you (as a HN user) will like it too.
I'd love to check out some GMail alternatives, what are some competitors that you think have a better product?
WSGR is very interested in working with all startups, including early stage web startups. WSGR represents many YC-backed companies.
yes, and there is the implicit APL way of iterating. the point is to recognize that they are all instances of the same thing

i'm not talking about java. i'm talking about structures -- problems, their domains, and the machinations that can be used to solve them, independent of any language or implementation
True python's lambda's suck. And Ruby's lambda's for the most part don't suck.

But ruby's methods really do suck, and so do the complex construction of Blocks. While I recognize that blocks allow you to do weird things (like use return on the calling scope), the fact that they necessitate a special form (yield) and cannot be bound to a variable, and are not passed as standard function parameters just makes them inconsistent and gross.

Methods which aren't first class functions (but can be transformed into one with the helpful helper function!) also suck, and passing those around in a functional way is just a lesson in futility.

All that being said, I have much more faith in these warts being fixed as time goes on, than python's nasty lambda, and the gross over use of dunders.
I've done apps in Java/Swing, Java/Netbeans, Java/JSF, PHP4/MySQL/PEAR, Python/(web.py|Pylons|Django), Flash/MTASC, JavaScript/JQuery, raw JavaScript, and Haskell/Happy/Alex, plus several others where I don't feel I really learned the technology in-depth.

I agree with your general point though. It takes me about 6 months to feel proficient in a language. It's not just the syntax - it's the idioms, packaging infrastructure, unit testing tools, code organization principles, code conventions, etc.
Feel that way sometimes myself...

I do like The Register:

http://www.theregister.co.uk/headlines.atom

The have a slightly European bent (which is refreshing at times) and take sarcasm to new heights.

Cheers
It has a major flaw so far: "Requires Windows Vista/XP"
I find this to be excellent advice. This is exactly the approach we took at GitHub almost down to the letter. It took about 2 months until the site was good enough to use to host the GitHub source, another month until we started private beta with invites, and three more months until public launch.

Artificial scarcity is a great technique to generate excitement for a product while also limiting growth to a rate that won't melt your servers. We worked through a huge number of problems and early users gave us some of the ideas that have defined GitHub. By doing a Hollywood launch, things would have been very different and I am convinced, very much worse.

Do not, I repeat, DO NOT underestimate how much your users will help you to define your product. If you launch without having significant user feedback time, you've essentially thrown away a massive (and free) focus group study.

Let me also say that when we finally did our public launch, there was plenty of buzz, and all of it was the RIGHT kind of buzz. The buzz that attracts real, lasting customers (and no, we weren't on TechCrunch, that traffic is garbage).
note the word "prematurely." of course you have to follow the rules of the language, but being inside the box of the language from beginning to end will limit your creations
With this:
http://www.engadget.com/2008/01/23/nokia-files-virtual-keybo...
Turn on ads immediately, that will give you time to play around with the various knobs associated with online ads. Also, you get some idea on how much money you can make from the ads, since that's going to your primary source of revenue for this venture.

Don't worry about ads and early adopters. Most of them have adblock or some variant turned on, the rest probably don't click on the ads anyway.
The practical benefit of "one true way" is that it eliminates decision points. Most of the time in a software project is wasted in making decisions; if you eliminate all decisions that are not relevant to getting the software finished, you have a huge head start on everyone else.

There's a joke going around that a Python team will finish a project before a C++ team can decide which brace style to use...
cool. thanks.
I like to use Google Reader to keep track of interesting blogs and news sources. Usually when an article is linked from HN I take a look at the site and see if it's interesting, then check if it has an RSS feed.
Our writing is now complete
> If they ask me - write a webserver under Windows...I can't do the same with python

I'd use BaseHTTPServer. Batteries included and all that. ;-)
Today Market
An insider's view of ad networks, and the risks of selling remnant inventory
Word of mouth (or email) works for me. I send things that I find interesting to some friends, and they return the favor. Saving those links to read during "free" hours, you can build up quite a reading list.
This is easily one of the most valuable business books I've ever read. It has an exceptionally honest personal perspective on success.
A lot of time it happens haphazardly. Whenever I read my subscribed feeds, a lot of the posting will have links to other blog postings.
I also find great reads through my own community of forums, blogs, meetups, social networks, etc...
Good point. I do this too, though it takes regular pruning of the RSS feed list to keep it interesting. I'll usually sign up for a feed from a blog or site that seems interesting, and after a few weeks or every few months check how often I actually read that feed. If not, out it goes.