

Calling out Hacker News - boilerbill
http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-hacker-news/

======
tdavis
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

~~~
tdavis
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.

------
davidw
> ... 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.

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

------
trickjarrett
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.

~~~
ktharavaad
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.

~~~
Raphael_Amiard
> 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 =)

~~~
davidw
> 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/>

~~~
thaumaturgy
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.

~~~
davidw
"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.

------
jasonkester
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.

------
raganwald
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.

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

~~~
Kirby
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. :)

------
MicahWedemeyer
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!"

~~~
Elepsis
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.

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

~~~
jasonkester
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>

------
smhinsey
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.

------
mahmud
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 :-)

~~~
LargeWu
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.

~~~
mahmud
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.

~~~
LargeWu
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.

------
ErrantX
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)

------
zaidf
Coming soon: Calling out posts with provocative titles

~~~
gecko
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.

~~~
unexpected
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?

~~~
gecko
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.

~~~
unexpected
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.

------
dabeeeenster
> 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...

~~~
gecko
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.

------
Tichy
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.

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

------
blhack
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.

~~~
Raphael_Amiard
>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 ?

~~~
blhack
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.

------
benmathes
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.

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

------
skwiddor
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>

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

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

