skysight-inc/HackerNews huggingface dataset:
Wow, this is a great read.

Let me just jump in on a topic that I've seen a few times, and one that I think throws programmers for a loop. It's the whole "premature scalaculation" thing.

Did you know the 3 guys who built YouTube initially didn't start it out as a video site? It was a dating site! Even more, did you know they didn't even use a version control system? The philosophy was "push once a day, make some type of change that the user can see." They also were focused on building out features, not worrying too much about scalability at first.

The guy who started PayPal said that one of the most painful parts were the times where he had to delete massive amounts of his own code. He said one of the biggest flaws of engineers is to write "the perfect code." And yet, 90% of it gets destroyed shortly after it's written.

I'm not an advocate of crap code. In fact, at our startup, we write very good code and follow the API models of companies like Google and Flickr so as to have a scalable product and architecture with clean, readable, commented code. But when you're a startup, you have different priorities.

I'd say maybe the first 6 months (an arbitrary number) don't worry about scalability. You don't even have a user ;) Why not worry about how you'll get your first 100 users, or better yet, how you'll get your first 100 users happy, as Paul Buchheit puts it?

On a final note, I read someone else mention about the CEO thing. In my opinion, you don't need a CEO until you at least have user growth down. Yes, you want investors, but try to offset most of that work to PG or whoever else is investing. It's in their interest that you succeed too. You should be working day and night with your engineers, building the product. It will make the future fundraising and meetings much easier, just think about Google and Andy Bechtolsheim.

I really enjoyed reading this, and I think you're going to go far in the future. Sometimes we get dealt some bad cards, and the only thing you can do is to fold 'em and wait for the next hand. Stay persistent, stay focused, and kick ass.
How Small Business Owners Can Cope with the Crisis
> To write robust code, you're forced to use iteration instead.

That's exactly the point. You can use nice functional idioms in Python as long as you make the main loop(s) that crunch data iterative. Same thing in Javascript.

Adding tail-call optimization adds little to Javascript; it's nice to have but has no high return on investment (in terms of the effort you put into the language vs. what becomes impossible if you omit it).

Case in point: Think of all the criticism directed at Python. The lack of tail-call optimization is not voiced very frequently.
Man, this sounds familiar. Some comments, based on my own experience with a failed startup (http://diffle-history.blogspot.com/):

> Get the Team Right

> Be Wary of Founding With Friends

I think I remember Marc Andreesen writing that the best way to start a startup is when a pre-gelled team meets a new opportunity. Can't find the blog entry in question, but he suggested that any other founding scenario has drastically lower odds of success.

I thought I had a fairly strong team, with 4 other guys that I'd known (and been fairly close to) in college. Over the year we worked, they all dropped away, one by one. They just had better opportunities come up, and when it comes to the actual daily grind, startups...kinda suck. I'm lucky; I escaped with all the relationships intact, probably stronger than they were before, and one of them just sent me a job offer last month to come work with him (hmm, I wonder if that still stands, in light of the recent financial crisis ;-)). A lot of that came from deliberately taking the short end of the stick on many occasions, eg. I put in the lions share of work and did not take a leadership position. Many others aren't so lucky, and lose their friends in addition to their startup.

I'd also add that it's really important to have worked with people on a project, not just in social settings, and for them all to be on the same page regarding what they want with their life. A lot of people really want to be an employee: they can't deal with the uncertainty and random bad luck that comes with being in a startup. It's a losing strategy to try and force them into a startup; it's not good either for them or for your startup.

> Connect With People to Thrive

I was a little skeptical of this: when I wrote up my postmortem, one of my lessons was "If you're doing anything other than building your product or getting users, you're wasting your time." But there's always the possibility that I'm the one who's wrong: after all, we both killed our startups. ;-)

I think, in hindsight, that I'd look at it this way: Don't expect to get anything out of networking if you don't have a kickass product. However, don't expect to get anything out of networking anyway. If you do it without any expectations whatsoever, just taking an interest in the people around you, you might build some useful connections.

The other thing that struck me: it seems like your startup dissolved before it got to the daily grind of actually trying to build something people want. And that's the part that's really depressing. I never thought that emotional stability would be the limiting factor in startups, but ultimately, that's what killed mine. I remember talking to a coworker who'd previously done a few startups, before starting one, and he told me "Make sure you come out with your sanity intact." I quit because I felt like that was slipping away, and I was becoming someone I didn't really want to be.
Based on my experience, I think the important concerns: database drivers, bridges to linear algebra and stat/prob libs i mentioned, C extensions and java libraries.

I work in python and ruby where appropriate, and forgot all the perl i know, except when I maintain other people's code.

The database driver issue, is moot, all three languages have solid packages for mysql, SQLite or any non-obscure RDBMS and probably hook into couchDB, or mnesia, or any of the non-SQL databases.

The hooks to MATLAB, R, gsl or octave or linpack or whatever, not hard to google. Worst case, you pipe / tee flat files between apps (I'm assuming you're using linux or FreeBSD or solaris).

C extensions: Pretty straightforward in python or ruby. In face, ruby-inline, pyrex/cython make it about as straightforward as could be, assuming you know to look for memory leaks and clean up after yourself. And Jruby is produciton-ready, you can be pretty confident you can hook into whatever java libs you need.

I suggest you look at what Jane St Capital is writing about OCaml analytics.
Perhaps I don't understand it fully, but my view of dynamic programming is that you can always get the same benefits using a caching function and just writing your program naturally.

This approach has worked for me for a variety of DP problems I've tried, and I've always wondered if there are functions for which the simple memoization trick does not work (although I cannot figure out why that would be the case). Also, this caching code is much easier to read and requires no back-and-forth step in terms of building up some auxiliary array and then backtracing or whatever to get the final results.

Can someone provide me a counter-example and some intuition for why caching doesn't work in that case?

(Incidentally, in most functional languages, you can write a generic memoization function once and never have to write it again. In Python, you can even write it as a decorator function and then making a function cacheable is as simple as prepending @memoize to it's declaration).
It is made with Cappuccino (cappuccino.org/learn/) which I don't know how many of you have tried but it is really good. I was looking at alternatives to Silverlight and Adobe Air when I came across this. The best part is the user doesn't have download anything for this work on his browser.
> Did you know the 3 guys who built YouTube initially didn't start it out as a video site? It was a dating site!

Really? Source? I knew that the they'd created the "I was at a party and realized there was no good way to share videos" story for the press. But I thought the actual story was that they'd done market research about trends that were changing the technology landscape, and came up with the rise of cellphone video and broadband access. From there, it was a short leap to "let's put video online".
Chat with Elbot, which almost passed the Turing Test this morning
Watch Yehuda and Ezra on the Merb Panel at MerbCamp
It is even better to stock up on $1s.
Certainly, the transition from bad to good investments will hurt. I didn't mean to imply that it wouldn't. But what you are describing is a normal recession. The only reason the economy even contracts in a recession is because it takes time for the new projects to ramp up. Once they do, things return to normal.

In material terms, we lose some half built houses because no one wants to live in them. I.e., we have more stuff than we need.

The depression was much worse. We lost production capacity in a time when people were going hungry. That is, we had less stuff than we needed.

Scarcity is far worse than surplus.
Perhaps, but who would the US borrow money from later if they did that?
If war breaks out, who you're going to borrow money from is the least of your problems. ;-)
Similarly, I've noticed that proverbs and aphorisms only become useful after you've been burned by violating them a bunch of times. It's weird because you can be told them and understand what they mean immediately, but just because you understand what they mean doesn't make them meaningful. Or something. It's almost like you aren't able to fully grok the proverb until you have a certain outlook on life or the right schemas or perspectives, but it's impossible to gain those just by hearing the original saying.

(This is really hard to describe for some reason, I feel like I'm missing a word or a concept or something. Perhaps something to do with constructivism.)
yes, even more sadly, its fear it self that is mostly used for persuasion. So don't be afraid America, we, the rest of the world, can't afford to have half of the world's nukes controlled by fascists and corporate blood suckers, oh, wait..
There a lots of stories of how the company started, the press not being the most reliable. Check out the ACM talk one of the founders gave earlier at uiuc.

I believe the idea was sparked after one of the founders read a particular wired article.
On a different note, I guess this means arc now supports unicode? I haven't been keeping up with the latest.
Killer article

This is a must read for all software startups...we gotta get away from thinking about "what kind of advertisers would buy on our service" and start thinking about serving as a direct complement to those advertisers' core business, and then doing deals around sponsorship/investment.

My $0.02
10 Micro Trends to Bet on For Your Audacious Startup
I think the term "slippery slope" is far too overused.
Indeed, as this lady discovered:

Quittel had both a business checking and business savings accounts at the bank, but because each held less than the $100,000 limit guaranteed by the Federal Deposit Insurance Corp., she figured she would be OK. But because the two accounts together totaled more than $100,000 and shared a single taxpayer ID [...] she lost half of everything she had over the $100,000 limit.

http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/10/12/...
Have you ever wondered how YouTube are going to monetize themselves ?
No more depression posts, solve it instead
Do we have to litter the frontpage with articles about how the american economy is going to hell?

You get the impression the world is going under.

Sure this is a startup-forum so it effects funding etc but still.

We are the guys and girls that solve this, not the people that whine about it, right?
(This is really hard to describe for some reason, I feel like I'm missing a word or a concept or something.)

I think what you're looking for is two words, not one: "Experience matters".
So I guess this is it for Hacker News?
Test explores if robots can think
Brent Simmons: NetNewsWire iPhone Code Surprise
actually no. If the US outright repudiates debt in war, the value of the dollar would take a plunge and solders, even the patriotic ones, like to get paid for risking their lives. Furthermore, weapons and supplies are extremely expensive.

When war breaks out, money is one of the biggest problems. The praetorian guard in the roman empire once killed a praetor, put his head on a pike, and paraded him/it around Rome because he refused to bribe them.
"the media is blowing all this out of proportion."

When is it not doing that?
Yeah, but why? Why should it be true? Logically I see no reason why experience should matter, but it clearly does. I should be able to just read a proverb and grok it and be better off for it, but I can't, it doesn't work that way. Why?
I hereby declare this historic event the start of Web 3.0 ;)
I personally can't fathom why someone would feel the need to start networking before a working product exists.

CEO? Why would you need a CEO when there isn't a company to run either on paper or in actuality?
Looking forward to it. I use a mac. But I would like to pay (on sale) windows pc prices.
What matters is the ratio between GDP and the cost to service the debt. There comes a point (above about 35%, I think) where government services will have to be cut to continue servicing the debt.

edit: excuse me, 35% of gov budget. Just like a household.
First, thanks for sharing. It's really hard to talk about past failures and yet so valuable. I learned more from your story than reading 20 "How to Succeed" articles.

Second, I just want to share one thing I've learned. There's a lot of pyschology mumbo jumbo in your analysis but all that really matters is the numbers. How many pageviews/users/sales/conversions did you have? Etc.

One thing I've learned about Internet startups is that you absolutely cannot force them. The market dictates your success plain and simple. It sounds like you guys weren't listening to the market; you were not paying enough attention to the numbers. That's really the only thing you should pay attention to. A month into my startup last year, one of the co-founders said to me and the other partner:

Him: "Guys, I've discovered a pattern in our traffic."
Me: "Well, what is it?"
Him: "Every week it decreases."
Me: (Proceed to ignore the importance of this simple statement and pursue the idea for 5 more months, believing that because we had a good team and we thought the idea was good we could succeed, which was too bad because from month 1 the market was giving us PRICELESS advice--we should have been working on a different idea)

Every other mistake was irrelevant because the only thing that matters is the numbers.
I don't know about you, but when learning a new topic, I find it easier to print the content I want to read, and highlight it old-skool style with a highlighter. It helps me for reading comprehension, later referencing, and those off line meetings where you want to show something quickly out of your printed notes.
For things in the realm of an idealized problem solving domain, say mathematics or chess, you can learn a lot from a proverb. But many insights in life can't be reduced to writing, especially those involving either self-mastery or other people (and startups, alas, involve both).

If you read the history of an event how does that compare to living through it? Can you learn to ride a bike from a book? The challenge with a startup--like many other things in life--is that you need to integrate many different inputs, your own hopes and fears among them, and negotiate a working consensus with your co-founders.
You imagine correctly:

http://www.grokdotcom.com/2007/12/18/thats-my-amazon-kindle-...
Founders should always be networking.
dynamic programming is usually more efficient. They'll be on the same order, but the constant factor is usually lower. However, if all that matters is that you're not getting into exponential territory, memoization should be fine.
It affects funding, revenue, and side-employment (relevant if you're self-funding), IPO share price, and a host of other startup-related things. In addition, this is a news event of immense scale. The global economy is probably melting down.

We are the guys and girls that solve this...

That depends, I guess, on if we're the kind of people who keep others in houses, lend to banks, evaluate debtor's credit rating, produce the things people need in order to live, or have the intellect and authority to make the right policy decisions in this frankly harrowing time.

If a meltdown really happens, starting up will be a whole different ball game. Changing currency valuations will strongly influence things like who gets to be an industrial economy vs. who gets to be a service economy, who gets to have functioning infrastructure and who doesn't, and who can afford food and energy.

Though we are all a little disaster-fatigued, the global financial freeze-up that could wreak havoc on our abilities to make a living surely warrants attention on the front page.
I agree about compound statements, but I think most people will use the tuple assignment style, especially when its simply initializing variables. There is no reason to expand it beyond one line.
I think it's more then that. Some sites, it makes a lot of sense to look at something, go back to the homepage (or another main page). Others try to let you roam. Move from product to product, related topics, add on products, see the forum, most popular in this category.... You follow a loose trail.
It might change who gets to be an industrial economy versus who gets to be a services economy, but start-ups can sprout up just as well in one as in the other - although they're obviously going to be different start-ups focusing on different sets of opportunities.
"Sure this is a startup-forum so it effects funding etc but still."

It affects just about everything. I remember during the last big downturn, there was a piece on the BBC about a couple who had lost everything they had, in part because she had been a Herbalife [v. big in the 80s] sales person, and (as she put it) "when people are feeling the pinch the first thing they can do without is a herbal dietary supplement." Her business died almost overnight.

Now, maybe your startup idea is about something which gives real value and reduces costs of some vital business process. But if it's not, this will bite you very hard indeed. And even if it is, you might still find your potential customers are very cost-averse.

Personally, I see this downturn as a big opportunity, but it will be accompanied by plenty of pain first.
no, we are not the ones to "solve" it, because there is no button to push, method to be invented, or novel approach to making everyone solvent with web technology.

what we are, we're the people who will live with reduced wealth for decades to come. debt must be unwound and asset prices reverted to the mean. there is no shortcut. regimes that have taken shortcuts have ended violently. for example, monarchist france and weimar germany.

we are, ONCE AGAIN (like 2002), attempting to put off (inevitable) deflation with hyperinflation. or do you think pumping like $3 trillion globally into markets will have no impact on currencies? the dollar will not make it to 2025
The best time to build a network is before you need it.
Sorry to disagree with you. All the articles concerning this crisis I have read linked from here were really interesting, unlike those other sites (you know, digg/slashdot/reddit/etc) where half the posts are crap.
Service Providers Feeling The Credit Crunch | TechJaws
I should be able to just read a proverb and grok it and be better off for it, but I can't

Maybe proverbs are more tags than content, like labels on bottles: the label tells you what's in the bottle, but to absorb it you have to drink the contents.

If that's right, then proverbs' main value is in retrospect - i.e. they help to organize experience and talk about it, but not to replace it. I know I've sometimes snorted at a proverb as being totally obvious, or a useless cliche, only to get hammered by experience and later go, "Oh, so that's what it meant."
I second this opinion. The last position a tech startup needs to worry about filling is a CEO, CMO, etc.

A CEO twittering all day long, hanging out / socializing / spending money at conferences and meetups is NOT going to bring ANY value to the startup at all.

You first need a product!

Once you have a product out of the door, a proven idea and a cash flow you can start worrying about filling up those hi-procrastination roles. Until then worry about finding people who can code, can design, can hack, can do anything that has a measurable outcome.
A short tutorial on Binomial Heaps with Python
Herbalife is a pyramid-scam so I guess she got what she deserved.
When I look at the Android platform a year ago this was already possible. Not sure if this is a feature that has since been removed, like the native xmpp.
Currently to use PhoneGap you do have to get the app on app store and the URL for the initial page is hard coded in the app. it is nice though since you get a headless browser with no address bar etc. you could make your own web browser based on it that exposed the apis to all web pages.
Patent attorney recommendations?
And yes, I know software patents are evil. But sometimes, you have to play the game with the rules that exist today.
That reminds me of the saying, "The map is not the territory."

http://en.wikipedia.org/wiki/Map%E2%80%93territory_relation

Unfortunately Wikipedia fails to mention what the current academic consensus on that is.
Well, we have a crash. Why not have a web 3.0?

Everyone from now on can have smiley face domain names.
Personally, that strikes me as a bit too generic for a tech startup. The value of the startup stems from the value of the technology it produces, not the value of the network of contacts one of the founders has built. While networking can be valuable, allocating resources to networking BEFORE there is a working product is a huge mistake.
You sound inexperienced, which is ok by the way.

There is nothing wrong with your cofounders. They are who they are and that's that. You spend the entire time looking for reasons to blame others, but my friend you should look into a mirror tonight because that is where you will face the problem.

You should try to develop your ability to pick partners, but even with a great partner you sound like someone who is way too emotional.

I thought I would never say this to anyone, but you are not ready to be a CEO. If the guys you thought would help you change the world, were not ready to confirm with your strategy and you stood there trying to fight it instead of explaining it, then you need more time and experience.

Sincerely.
"... The slowdown is in the DOM ... setting the size and position of (absolute) divs, and setting their text content ..."

Run the tests (set size, position of divs, set text content) in the testing app, check the numbers returned to see how each DOM operation effects different browsers. The test app allows for DOM selection, modification or attributes for example. You can run these tests against various browsers (Firefox 2+, Safari 3+, and Opera 9+, and Internet Explorer 6+). You could use this to test which browser is slow for particular DOM operations ~ https://wiki.mozilla.org/Dromaeo#Running_the_Tests and possibly isolate where.

Of course I didn't ask if you are doing this as raw Javascript or using a library? Are you using JQuery, Prototype, DOJO?
We haven't had a single quarter of negative growth, unemployment is at 6%, and people are calling it a "depression". +1 point for the sensationalist media.