Hacker News new | past | comments | ask | show | jobs | submit login
Calling out Hacker News (bitquabit.com)
209 points by boilerbill on July 1, 2009 | hide | past | favorite | 68 comments



August, 2007:

  Hmmm, a ticket aggregator, huh? Yeah, I can throw that
  together in a month over the summer. Then we can find 
  another idea so I can work on something *hard*!
July, 2009:

  Fuck, I'm *still* working on this thing?! When did it turn
  into a fully-fledged, funded company? And why can't I find 
  an intern to help me with all this damn work?!

The original plan for TicketStumbler was a quick, stop-gap solution to the problem of not having jobs anymore. It was supposed to take a couple months, at most. Some day I might get into why it will soon have taken a year and 3 complete re-designs (working on #3 as I type!) and 3 re-writes of a high-performance site crawler / parser which is now largely obsolete thanks to proper APIs, just to get to a point where we kinda know what the hell we're doing. Until then, I just laugh at Techcrunch commenters who think they can clone it in a weekend. But I can get you started:

  CREATE TABLE ticket_ticket
  (
    id serial NOT NULL,
    event_id integer NOT NULL,
    section character varying(150) NOT NULL,
    "row" character varying(150) NOT NULL,
    price numeric(9,2) NOT NULL,
    quantity smallint NOT NULL,
    url character varying(300) NOT NULL,
    extra text,
    broker_id integer NOT NULL,
    last_update timestamp with time zone NOT NULL,
    root_url character varying(300),
    CONSTRAINT ticket_ticket_pkey PRIMARY KEY (id),
    CONSTRAINT broker_id_refs_id_2b5e6c11effcebee FOREIGN KEY (broker_id)
        REFERENCES review_broker (id) MATCH SIMPLE
        ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,
    CONSTRAINT ticket_ticket_quantity_check CHECK (quantity >= 0)
  )
  WITH (OIDS=FALSE);
Good luck! :D


That part under "July" is meant to be mildly sarcastic; hopefully it doesn't come off as disappointment that it didn't take two months. It has been a very fun and educational ride.


> ... what actually makes StackOverflow a continuing success ...

What actually makes SO a success is network effects, dude:-)

Is it nicely done? Sure. It's way better than "expert sex change" for sure! But something that took 3 people 6 months (as per the other thread) to do is well within the reach of a lot of people here. "Spit and Polish" included.

Now, how many people could get significant linkage/coverage from two people who already have huge audiences of just the sort of people who use SO?

That's your 'moat', your competitive advantage. Not to belittle the good work behind the app itself of course, but that's just the base you need to stand on. Joel could link some piece of junk and, yeah, it might not become a hit, but the community is really what makes sites like SO, or reddit, or even HN go. HN, for instance, doesn't seem to have a lot of 'spit and polish' and yet I prefer it to SO.


It has more spit and polish than you think - just not flashy. (Think 'Shibumi'.)


You're not really calling out HN, you're calling out the coders here who claim they can recreate StackOverflow. But it is an example of a provocative title that lured me into reading.


Yep, thats me and I'm still going to try do it this weekend =) I think some people takes things way too seriously like the fog creek employee who posted in the original thread whose post this blogpost references. EDIT: it actually appears to be the same guy who wrote this blog post.

To me its just a fun little thing I'll try to do over the weekend and hopefully it'll offer a bit of refreshing perspective into web-based app development again since I've been stuck in the flex world (what pays the bills for now) for so long.

But actually his post offers a pretty good to-do list for the list of things I need to do to get it working, so basically, there is:

1, Asking and Responding to question 2, can't downvote person too many times in certain amount of time 3, spam bot detection/prevention 4, user icons 5, sanitizing html lbrary 6, karma 7, full-text search with search-as-you-ask 8, user bios 9, important questions that bubbles down slowly 10, bounties 11, email notifications 12, javascript smart tags 13, user configurable badges 14, history of karma, upvotes and downvotes

and oh yes, I'm not going to attempt to implement the design, i'll prolly start off by using the stackoverflow css and html as a template like what cnprog did when they started off and perhaps let someone else ( or do it myself ) replace it later.


> I think some people takes things way too seriously like the fog creek employee who posted in the original thread whose post this blogpost references

Well if he is really an SO dev, or knows the SO devs, he knows how much work has been put into it. SO is definitely not a complicated site, architecturally speaking. But as he points out, it's a very polished site. This may not be important for a programmer, but it is for an user (it is for me as an user at least), as he also points out.

Regarding the amount of work wich probably has gone into it, your original statement :

>it looks like something that can be thrown together in a weekend.

surely sounds disrespectful to the labor of those guys.

I'm also quite amazed by the general reaction to this. I don't understand how some commenters on hn, wich is supposed to be oriented towards entrepreneurs, who are by definition people interrested by the end user experience, could so quickly discard in several largely upvoted comments the work that has been put by those individuals, by saying that their success is just due to 'owners reputation'.

This is amazingly rude, and seems to be going along just fine.

When you provoke an argumentated and well thought out reaction as this one, you should ask yourself, before saying some people takes things too seriously, maybe you're taking what is important to them too lightly. And that's your responsability, not theirs.

EDIT: This is not to say your challenge is not a nice one. I'll be interrested to see how it works out =)


> could so quickly discard in several largely upvoted comments the work that has been put by those individuals, by saying that their success is just due to 'owners reputation'.

> This is amazingly rude, and seems to be going along just fine.

No one is "discarding" their work (well, I certainly am not, in any case), just saying that you can be covered in all the spit and polish you want, but if you don't have a community, a site like SO isn't going anywhere. And having Joel and Jeff as backers contributed to that. A lot.

Also, if we're talking about being dismissive, any idea how much work has gone into make things like Gnome, KDE and Ubuntu better looking? On beating all the involved code into shape so that it has started to conform to some kind of uniform look and feel? And it "it sucks" according to this guy, whom I will quote from directly:

"open-source software is, incontrovertibly, a total usability clusterfuck."

The astute observer will note that he's wielding an awfully broad brush that is very much discarding the work of a lot of people, who, while they may not have attained perfection, are working on these kinds of issues:

http://library.gnome.org/devel/hig-book/stable/

http://usability.kde.org/hig/


Well, there's a subtle difference there, I think.

The quote isn't, "open-source software's usability could be perfected in a weekend". The quote doesn't suggest that it's easy, or not time-consuming, just that the end result right now isn't great.

Which I would agree with.

You're just saying that a lot of people are working hard to make it better.

Which I would also agree with.


"Isn't great" or "needs improvement" is quite different than "total clusterfuck". This last statement is extremely rude and dismissive of a lot of hard work that has brought great progress to the Linux desktop, which, contrary to the hand waving, is quite usable these days.


I'm sorry if I came across as disparaging. I mean no disrespect to either the Fog Creek employee, Stackoverflow or anyone else. I read both Joel and Jeff's blog and I have the utmost respect for both of them and their work. Thinking it over in my head again, I should have probably thought things over before posting this part:

>>>>it looks like something that can be thrown together in a weekend.<<<

It was mostly a reaction at the huge amount of money they want to charge for a such a software. But after reading the various responses, it has helped me understand the amount of engineering, user-experience studies and hard work that has gone into this fine web app. Regardless though, I still think its overpriced.

Yep, I probably fell into the "shitz easy" trap there and I will probably fail, publicly and humiliatingly in this case =( to implement all of StackOverflow's functionality in one weekend.

EDIT: Actually, as a sign of respect to SO and their folks, I'm not going to clone SO anymore, it has just become a totally no-win proposition for me. Another reason is that the project here:

http://code.google.com/p/cnprog/

Already does a really good job of emulating SO and there's little point in me writing another one.

But, I will spend the weekend cloning another piece of highly vaunted ( and overpriced IMO ) web software which does NOT have an opensource alternative.


CNProg lacks the polish that makes SO what it is. Although it would be more sensible to help out with CNProg rather than build your own, I would have been interested in seeing just how well you were able to do in a weekend.

BTW, what project are you referring to? Let us know once it's done in any case!


Sounds cool. Hack something up and push it to github/Google Code/whatever so we can see the commits. :)

I would be extremely proud of myself to get high quality search in place in one weekend.


Don't projects like Lucene make full text search really easy?


Lucene helps a lot, but searching for technical information is different from general information retrieval. That general purpose search engines are inadequate are stackoverflow's reason for being, after all.

It just takes testing and tuning with real data to get it right.


I have no idea how awesome you are (or not), but I consider myself a fair-to-OK programmer, when I can actually focus, and I just spent about thirty minutes on a nascent content delivery engine just making sure that all of the file paths it handled were inspected, cleaned, and reformatted in certain ways.

The only reason I don't have a lot more security holes to fix is because this thing is only responsible for grabbing data and presenting it. If I were dealing with the administration side of it ... no fun.

Then there's caching to do, too -- that'll probably be a couple hours if I do it right.

So, I'll be really impressed (for what little it's worth) if you manage to get a working copy going over a weekend and include even rudimentary performance and security features.


Same thought process for me, but I decided not to read. I doubt more than 5% of the community thinks they can reimplement StackOverflow in a weekend.


I'd wager even less. If you search the thread he refers to (http://news.ycombinator.com/item?id=678398) you see the original guy who said it would take a weekend only got 6 upvotes and the guy who claimed he could clone it over a weekend only got 4.

So I think someone's just trying to get to the top of HN with a provacative title (which in all fairness was a plan that seems to have worked perfectly)


And I enjoyed reading it. I think it serves as a great reminder to all those who think it's quick to clone stuff.

It might not be hard work sometimes for some sites. But it surely isn't trivial and surely isn't cheap (especially time-wise).

Guys, that's also why people will pay for your "free" web apps. When they improve their lives and are "easy" for you to write, the time and money to recreate even the easiest site is a barrier that they have.


It's a pretty interesting article, if you can look past the link-baity title.

Although, the topics he covers do address a larger part of HN than just the guy who said he could clone StackOverflow in a weekend.


Apparently you did read it.


If by it you mean the original thread and/or the parent comment to mine, then yes. Fairly simple to infer the subject on the post from these two pieces of information.


And only about .1% of the community could actually do it.


I think the point is that 0% of the community could do it.


0% is pretty black and white. Many people here are in control of serious teams and I have no doubt they could duplicate SO in a weekend if they really wanted to.

Of course they wouldn't, but still, it's not impossible, which is what "0% could" implies.


"provocative title that lured me into reading"

Headline fails are the biggest threat to web usability. Not only are they an abuse of language, but when a genuinely good article with a suitably entitled provocative headline appears, its impact is diminished, the reader is more weary, and the article may be in fact skipped over.

"Pushy and manipulative news editors are akin to the boy who cried wolf" --- there, that's an overly provocative headline, isn't it?


You can build a prototype of pretty much anything in a weekend. We've all done it.

Most of us have also gone through the 6-24 month process of turning that prototype into a real functioning product that people would actually want to use. We know how much work goes into "polish", and how many little details crop up and eat into your time.

So yeah, I have no doubt that this kid will put out a working prototype of a StackOverflow clone over the weekend. And he'll think he's just a few days from putting it live. He'll be wrong, of course, but if he puts in the year or so it will take to finish it up, he'll learn a lot about the software business.

I wish him luck.


I know its an oft-visited subject, But I liked his analysis of how many programmers ignore the spit-and-polish of a UI and focus solely on implementing the model.


Agreed. Despite its "provocative title", the "eternal optimism of programmers" rings true in my book!


Yes. Except I really have implemented caching in a half-day, using memcached. :) (Utterly fixed the speed issues with the site I was working on then, incredibly easy to use.)

That was a good day.

It almost never happens like that - in fact, the irony for me is the example he uses in the quote is just about the only time where it was _substantially_ easier to do something than I expected. :)


The SO guys seem to really love to hate on FOSS. I'll admit that the user interfaces for some desktop FOSS stuff are crap, but let's not forget that the server architecture is top notch.

How many programmers would be out there asking the kind of questions that show up on SO if it weren't for the ubiquity of the LAMP stack? I shudder to imagine a world where hitting the start button on your neat weekend project involves buying licenses for Vista, IIS, Visual Studio, MSSSQL, etc., etc., etc. "Now that I've dropped $20k on dev tools, I'm ready to get to work!"


Everything you mentioned but Vista is available in a free version precisely for things like the aforementioned weekend projects. And I don't think that it's any more fair (for 99% of users) to include buying an OS in "prerequisites for fun weekend project" than to include buying a computer in the first place.


Counterpoint: They are available in a free version precisely because of the competitive pressures from the open source stack...


countercounterpoint: They are available in a free version because Microsoft really wants you to build things for Windows. If they could give you the full versions for free without cutting off the air to the 3rd party tool vendors, they absolutely would:

http://www.joelonsoftware.com/articles/APIWar.html


I don't know if there's proof of whether they are available because of competitive pressures from the open source stack or from Oracle, IBM, etc., but I think we can all agree that competition is a good thing in general.

Still, my point is that while the open source stack is a smarter choice for many, many projects, between free versions of closed-source software and initiatives like Microsoft BizSpark, startup cost shouldn't really be the deciding factor.


I use the Microsoft Stack for my weekend projects, and it cost me a grand total of $375 to set up my development environment, including all the packages you mention and more. That's the cost to get in to the EmpowerISV program, which gives you a full MSDN license (meaning you get everything that Microsoft makes except games).

I spent way more than that on 3rd party tools to make my life easier. Hell, I spent more than that on coffee since I started the project. If you're an open source developer, and you value your time, you'll spend cash money on good tools too.

Cost is certainly not a reason to shy away from MS stuff (and it's good stuff).


> The SO guys seem to really love to hate on FOSS.

Care to source this? You can start on MS tools for basically free with BizSpark (which SO is a member of). Even if you only wanted to start a weekend project on MS stuff, you could get started with the free express versions (Windows excluded, but if you're going this route, you probably have that taken care of already). They also use FOSS like jQuery and the markdown editor they started with when appropriate.

If you want to talk about wasting money at the start of a project, how about considering the time required to learn a whole new stack?


Just to be clear, since there is some confusion: I have never worked, am not now working, and do not anticipate working, on StackOverflow. I do have access to the StackOverflow source code, since I work at Fog Creek, and, for the same reason, I have a bit of an a semi-inside perspective on what went into it. That, however, is it. Jeff and his team do their own thing quite independently of the rest of Fog Creek, and I definitely do not speak for them.


I can't really disagree with any of the specific claims here, but at the same time, the whole argument seems to be constructed on the basis of a hasty generalization. This situation is not reflective of OSS, developers, hacker news, hackers, whatever, it's reflective of a handful of people and their own biases. The author's statements about the lack of usability in OSS in the large are as dubious as the statements being made about how easy it is to implement a clone of product X, Y or Z.

I think there is definitely a discussion to be had in this general area, about the relative importance of usability and polish to applications depending on their target audience. Maybe next time.


He had a really good point with the last thread regarding Open Source and it's tendancy to be a little lacking on the "Polish"

But he's going a bit far now to suggest, as I read it, all FOSS suffers this fate... plenty of well polished Open Source software exists. And plenty of paid software lacks polish.

And at the end of the day; maybe not a weekend but SO wasnt put together in TOO long a time. With a couple of good enough hackers and someone to do the UI a few weekends might be doable..... the polish doesnt make SO.... it helps, but it sure doesnt make it (IMO of course)


The guy makes a good point, but he is underestimating the redundancy and code duplication of web apps. I could have "something like" StackOverflow in a day, not because I will write it from scratch, but because I will be running global string search and replace on a bunch of stuff that I have in ~/hacks.

Having said that, I would probably estimate a 3 - 6month time frame just to cover my ass.

Be optimitistic all you want to yourself, but you must estimate projects very conservatively and assume the worst, Big "Murphy's" Omega of everything.

Arm-chair programmer != professional :-)


You could have "something like" StackOverflow in a day the way a 10-speed bike is "something like" a Honda, in the sense that they've both got wheels and they get you around.


Are we taking bets here? let's talk shop; get a check for $2k ready, list everything from SO you would like to see copied and have a stop-watch ready.

Sorry, didn't mean to put you in the spot like that, but yeah, sometimes it's just that easy, specially when you have a check list and well specified requirements.

Sometimes it takes longer negotiating the deal than writing the actual software.


Maybe you should go back and re-read the article. The whole point of the article is that programmers see a few database queries and the major, obvious functional points and say "I could do that in ..." Whereas, to me, saying "something like" means recreating a comparable user experience.

I think any decent web programmer could hack together a bare bones, functional Q&A site in a few hours. I have no reason to doubt you couldn't implement a lot more features in 24 hours. But to claim you could provide a comparable user experience, I'm just not buying it, even if you have a lot of the generic building blocks already written.


No, you are exaggerating. And the things you WOULDN'T have done are precisely the things that make the app stand out from the crowd and become a success, which is the thesis of the post.


Stop talking, start writing! Seriously, if you can do it in two or three days, what are you waiting for?

These guys are experienced businessmen and have analysed and guessed that they can charge $$$ (per month!) for StackExchange and that it will be a success.

If you can put out a clone and charge $$ for it (one time), and allow people to host on their own servers (which StackExchange disallows AFAIK), I'm sure that people will be interested.

Seriously though guys, I don't think it's that difficult to do in a week. Simply because; you've already got a perfect specification and model in StackOverflow. You've just got to copy it and every single feature until it works exactly the same. You even have an open source (CNProg) copy available for code reference if needed.

Do it, I'm waiting for a thread on HN from you and from ktharavaad on monday.


Are you sure?

Pretty much all of the functionality (minus the stuff directly related to the questions) alreayd exists for my framework of choice.

The only "custom" from scratch bit I can really see is a GUI (arguably a lot of that might pre-exist in ones personal toolkit) the Q/A segments and the search.

Not that Im agreeing it can be done in a weekend: but I definitely think he is assuming a lot would be made from scratch, when the beauty of open source is you dont have to do that! :)


Coming soon: Calling out posts with provocative titles


That's a fair point, and one I thought about for awhile. Both this post and the previous one were originally a single Yegge-length post entitled "The Eternal Optimism of Programmers." The problem was a) Yegge's columns are so long that even when they're great, people zone out, and b) I'm no Steve Yegge. So I split the column into its two general parts and started editing two essays: the one in which I said software sucked, and the one in which I seemed to be calling out Hacker News. I realized that no matter what I titled the first one, someone was going to end up posting it as me saying open-source software sucked, so I simply decided to one-up them and meet that title on its own terms: the usability side of the equation. At that point, turning the working titles into the actual titles made sense.

Are they provocative titles? Yes. Are they fair titles? I think also yes. That means they're good titles. There's nothing wrong with being provocative, as long as you're not being provocative for the sake of being provocative. I don't think I'm doing that here, but I understand if you disagree.


Ben, off-topic: I really like the way you've done bitquabit, and I wanted to look at the Django code you used, but when I went to your bitbucket account, it doesn't seem like it's up there? Did I miss something?


I'm tentatively aiming to release it around the end of July. At the moment, there's a bit too much hard-coded to handle my site (e.g., there's an entire urls.py that does nothing but map my old MovableType and WordPress URLs to Django, which can be messy, and my DB passwords are in the source repository), and there are a few features I want to add before I release to the world (like putting StackOverflow's markdown editor into the post editor so you don't have to guess-and-check whether your Markdown looks right), but once I do that, she's all yours.


Cool. this reminds me of that Django blog we never got around to building in that house course. I look forward to seeing it when it's done.


> StackOverflow’s .cs, .sql, .css, .js, and *.aspx files come to 96.5kB

This simply can't be correct. The css file by itself is 26kb. Actually the js file is over 90kb...So it's not correct, unless I'm missing something?

I would expect the source code for a site such as SO to be will over 3 or 4 MB...


Crap. That's a superb example of me not actually processing whether what I'm typing makes sense. The actual size of those is 2.3MB. I'll update the post accordingly. (96.5kB is the size of all the file names in StackOverflow.)

Edit: Post updated.


probably 96.5ksloc


Well only yesterday I asked a question on StackOverflow and noticed that there does not seem a way to monitor a question without answering it. So even now it needs more polish.

Probably after one weekend a clone would not be as polished, but it might be usable enough. If it picks up, there is still enough time to add polish by and by (maybe taking another direction than SO in some respects).

Also if it is open source there is a chance that other people chime in and help adding features they miss.


Every question has an rss feed, for example: http://stackoverflow.com/feeds/question/415260


No offense to this guy, but the first argument that doesn't seem to make any sense is that you couldn't reproduce SO because it would take you 33 hours just to type the existing code back into an editor. It seems like a pretty arrogant assumption that the existing code is the simplest possible code that could be used to provide this functionality.

Beyond that, he is ignoring the fact that...Stack Overflow is really not that obscure of an idea. There is posting questions and responses (or stories and comments); basically a blog which, by this point, is kindof trivial to put together.

User icons and profiles? Seriously? Not to be a prick, but I implemented those on my own website in a matter of about an hour. From scratch...and I am not a developer.

Okay, so...upvotes and downvotes and a frontpage that bubbles like reddit does? Mayyybe...how nice do we have to be to the database?

select (upvotes/(now() - time_submitted)) as heat from questions order by heat desc limit 50;

On a related note, he also mentions the scaling...so, what are our constraints here? What hardware are we using and how much do we get to use?

Okay, then search. Seriously? This is also something that most geeks have written at some point and would have no problem dusting off.

Granted, yeah, this guy is probably right. I don' think anybody is TOTALLY going to reproduce a verbatim copy of SO over the 4th of July weekend...but I don't think this guy (I am assuming he is the author of SO) should assume that he is th BEST, FASTEST dev in the world. Especially when he is talking about such a common problem; what is essentially a blog.


I find his time-based argument compelling. While the SO code is likely not the simplest possible code, it is likely that it is within an order of magnitude. Moreover, coming up with the simplest possible code is hard work and would take longer than coming up with the original code, even if it would be a bit faster when typing it in. If it was not harder to write simpler code, people would write simple code to begin with.


>Okay, then search. Seriously? This is also something that most geeks have written at some point and would have no problem dusting off.

Of course, because search is really quite a solved and ridiculously easy problem... You know, it's so easy I could probably reimplement Google in the same weekend, too. :P

Not to be rude, but brushing off basics like search, upvotes and downvotes, etc as something 'most geeks have written' and can easily write again is a mistake. The amount of these minor features makes a real reimplementation in a weekend utterly impossible.


>but I don't think this guy (I am assuming he is the author of SO) should assume that he is th BEST, FASTEST dev in the world.

Where in the world did you see him say that ?


The first couple of paragraphs where he said that it would be impossible to recreate SO in a weekend because of how long the current code was.

This is making the assumption that the new code would be the same length.


Have you seen the "P2" theme for wordpress? There's your multi-user blog with most of the functionality you mentioned.


I suspect there is a high correlation between coders who think that cloning something like StackOverflow would be easy and those who have crappy interfaces to their own code, even if the core functionality is there.


No one complained that C# is significantly more verbose than Python/Ruby/Arc/whatever?


This seems like a list of stuff I tell clients when they sit down with only the ideas of how the visitor will access the site.

But 18 man months seems like an awfully long time, but I bet their framework has 10x more features than they use!

If the guy thinks it is just a feature of OSS he clearly hasn't bought much shrink wrapped software. Procomm anyone? try these proprietry programs http://homepage.mac.com/bradster/iarchitect/shame.htm


One of the best blog posts I read in a while...


"Build a skyscraper? Dude, I could build one taller than the Chrysler building in like a week."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: