News for hackers. Stuff that matters.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by ktharavaad on Monday June 29, 2009 @12:38AM (#678501)
Seems really pricey for a relatively simple software like this. Someone write an opensource alternative? it looks like something that can be thrown together in a weekend.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by gecko on Monday June 29, 2009 @07:57PM (#679931)
So you wanna write StackOverflow in a weekend.

Let's assume, for sake of argument, that you decide it's okay to write it in ASP.NET MVC, and that I've decided to hand you the StackOverflow source code, page by page, so you can retype it verbatim. We'll also assume you type like me, at a cool 100 WPM (five characters per second[1]), and unlike me, make zero mistakes. StackOverflow's .cs, .sql, .css, .js, and .aspx files come to 96.5k. So merely typing back in source code that already exists will take you five hours if you make zero mistakes and deploy on the same platform they're doing.

Except, of course, you're not doing that. So even assuming that it took you a mere ten times longer to design, type out, and debug your own implementation, that already has you taking more than your whole weekend, even if you stayed up coding straight--and I don't know about you, but I am okay admitting I code considerably slower than ten times slower than I copy existing source code.

Well, okay, I hear you say. Not the whole thing. But I can do most of it.

Okay, so what's most? There's simply asking and responding to questions--that part's easy. Well, except you can't let people upvote their own answers, so you need to block that. And you need to make sure that you don't upvote or downvote a person too many times in a certain amount of time, to prevent spambots. Probably are also going to have to implement a spam filter, too, come to think of it, even in the basic design, and you also need to support user icons, and you're going to have to find a sanitizing HTML library you really trust and that interfaces well with Markdown (provided you do want that awesome editor they have, of course). You'll also need to purchase, design, or find widgets for all the controls, plus you need an administration interface so that moderators can moderate, and you'll need to implement that scaling karma thing so that you give users steadily increasing power to do things as they go.

But if you do all that, you will be done. Except, of course, for the full-text search, espcially the search-as-you-ask feature, and user bios, and having comments, and having a main page that shows you important questions but that bubbles down steadily. Plus you'll want bounties, and handling multiple OpenIDs per user, and having email notifications, and supporting JavaScript-smart tags, and having user-configurable badges (you are going to do user-configurable badges without forcing your user to learn PHP and write hooks, right?), the history of your karma, upvotes, and downvotes. And the whole thing has to scale really well, since it could be slashdotted at any moment.

And we haven't even touched things like supporting upgrades, internationalization, karma caps, CSS so it doesn't look like ass, and all the little things under the surface that no one ever sees, but that you need to run the site.

To be really blunt: anyone in this forum who honestly thinks they can do all that in a weekend is so ridiculously full of himself that I want him very far away from any project that I'm involved with.

[1] http://en.wikipedia.org/wiki/Words_per_minute

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by Agathos on Monday July 06, 2009 @03:42PM (#690308)
"And we haven't even touched things like... internationalization"

Well from one of the recent podcasts it sounds like Jeff is set against doing internationalization. And Joel is showing admirable restraint in not strangling him.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by jasonkester on Monday June 29, 2009 @07:19AM (#678786)
A weekend? Really?

We have documented evidence in the form of podcasts that it took a team of 3 talented developers about 6 months to build StackOverflow. If you're looking for an order of magnitude estimate for how long it would take to reproduce it, that's it.

How exactly are you planning to reduce an 18 man-month project down to a single weekend of your time?

More generally, why is this attitude so common among programmers? How, in the face of documented proof to the contrary could an intelligent person like the parent still consider a site of the complexity of StackOverflow to be a "weekend job"?

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by davidw on Monday June 29, 2009 @07:28AM (#678793)
I think it's certainly longer than a weekend, but recreating something that exists is usually easier than doing it the first time. You don't really have to worry so much about how things ought to fit together - you just copy.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by raganwald on Monday June 29, 2009 @09:18AM (#678880)
And I can't tell you how many doomed Death March projects started with this assumption. "The requirements are done, the design is done, we know it can be done, simply copy what we see there."

The boil it down to a cliché, copying what someone else has built is exactly the same problem as rewriting an existing application from scratch, without the benefit of being able to read the source code.

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

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by davidw on Monday June 29, 2009 @09:26AM (#678892)
Rewriting a cross platform browser in C++ is way more difficult than writing something that took a small team 6 months to do. I'm not trying to say that it's a weekend, but have a look at SO. Unless there's something I'm missing, it's not "deep hacking", but more "crank it out" (not to take anything away from that team - they certainly did nice work!). Scaling might be an issue sooner or later, and that would take some more thinking, but the basic thing just doesn't strike me as some Big Hairy Problem.

So, yeah, be wary of "hey, that looks easy!", but don't think things are impossible either.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by raganwald on Monday June 29, 2009 @09:55AM (#678931)
Rewriting a browser isn't impossible either, as Firefox proves. Perhaps SO is an order of magnitude easier than a browser, but I stand by my suggestion that copying an existing application you didn't actually write is often much more difficult than expected and has led many teams to their doom.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by davidw on Monday June 29, 2009 @10:01AM (#678941)
My comparison was "writing something from scratch" vs "copying". If a team has trouble with copying, wouldn't "writing it from scratch" be even more likely to end in failure?

Also, with something like SO - you can pretty much see the models, and how they interact. That's already giving you a lot.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by dinkumthinkum on Monday June 29, 2009 @04:37PM (#679622)
That's interesting. However, there are already several clones of SO and a couple that reproduce the vast majority of the functionality.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by wlievens on Thursday July 02, 2009 @08:49AM (#684261)
You can't even check that, because a significant part of SO's functionality could be hidden from you.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by teej on Monday June 29, 2009 @09:06AM (#678868)
> More generally, why is this attitude so common among programmers? How, in the face of documented proof to the contrary could an intelligent person like the parent still consider a site of the complexity of StackOverflow to be a "weekend job"?

"Shit's easy syndrome" http://steve-yegge.blogspot.com/2009_04_01_archive.html

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by Longhorn213 on Monday June 29, 2009 @02:31PM (#679418)
Easy get off the Microsoft stack and use objective-c :)
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by LargeWu on Monday June 29, 2009 @12:46AM (#678511)
A lot of what makes Stack Overflow successful is the amount of effort they've put into making a great user experience. That's not the sort of thing you just come up with in a weekend. It's a continual process that requires a lot of attention. And let's face it, open source's strong point generally isn't in engineering good user experience.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by jonknee on Monday June 29, 2009 @01:09AM (#678534)
I think it's more that it was launched by two really well known (by programmers) programmers. Exposure is everything.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by davidw on Monday June 29, 2009 @07:26AM (#678791)
When I first saw it, I liked the clean look and feel, but hated the "DAVE, I CAN'T LET YOU DO THAT" approach to permissions with regards to comments, votes, and the like. As a beginning user, you had (have? don't know if they've changed it) all these links and buttons that are displayed, but don't let you do anything; they just give you a lame message about requiring N gold stars before you can do that.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by easyfrag on Monday June 29, 2009 @07:59AM (#678817)
"Dave, I can't let you do that?" You do know that SO allows questions and answers from people without even requiring them to log in? They allow content from essentially anonymous users.

The restrictions are along the "meta" parts (voting to indicate the quality of an answer), I think it is entirely sensible to restrict these actions to users who have built up a currency of trust within the SO community.

That being said, I think you are onto to something around the user experience. Perhaps an option shouldn't be shown to someone if they cannot perform it.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by asjo on Monday June 29, 2009 @12:52PM (#679240)
That being said, I think you are onto to something around the user experience. Perhaps an option shouldn't be shown to someone if they cannot perform it.

That would be really annoying, because you wouldn't know that these options exist, until you could use them (i.e. you're possibly confused and you don't know what the reward for collecting reputation is.)

Better grey out the things you aren't allowed to do yet, so you can see them and see that you're not there yet - preferably with an explanation of when you will be.

I forgot what the term for this is, but I think it's very often a good way to do it. Stable interface? Something like that.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by hello_moto on Monday June 29, 2009 @02:28AM (#678607)
If it's just need a weekend, why not do it yourself?

PS: Don't forget to open source it.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by ktharavaad on Monday June 29, 2009 @05:06AM (#678704)
Alright, This will be my project this coming weekend! I'll try to live up to the challenge!
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by karanbhangui on Monday June 29, 2009 @06:45AM (#678759)
No need, http://code.google.com/p/cnprog/ already exists.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by karanbhangui on Monday June 29, 2009 @06:54AM (#678767)
http://code.google.com/p/soclone/

Here's another, also in Django.

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by slig on Monday June 29, 2009 @02:13PM (#679376)
This isn't being maintained since last year. Great place to see some django anti-patterns, though.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by bint on Monday June 29, 2009 @08:16AM (#678833)
What we need is an English version of CNProg.

There's a download here: http://code.google.com/p/cnprog/issues/detail?id=28

but I don't think it is production-ready yet....

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by bruceatk on Tuesday July 07, 2009 @11:28AM (#691632)
It's been 8 days, that's the equivalent of 4 weekends. It must be 4 times better than SO by now.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by Longhorn213 on Tuesday July 07, 2009 @11:11AM (#691595)
So did you get this done? I was on http://code.google.com/p/hackerexchange/ and I see nothing.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by lucraft on Monday June 29, 2009 @06:38AM (#678752)
Link?
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by ktharavaad on Monday June 29, 2009 @07:06AM (#678775)
I'll update here as I make progress:

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

I'm aware of the chinese solutions done in Django but after looking it over, I think I can do better.

I'll prolly write it in PHP too (gasp) so any n00b can basically rip it off and throw it unto shared hosting! ahh, gotta love opensource =)

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by Jem on Monday June 29, 2009 @08:39AM (#678848)
"A clone of stackoverflow.com to be done over the course of the weekends"

Weekends plural? I thought this was only going to take 1?

Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by wizard_2 on Monday June 29, 2009 @10:15AM (#678959)
And shush up about it until you have something to show, less you fall victim to this phenomenon http://sivers.org/zipit
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by osama_drepper on Thursday July 09, 2009 @11:24AM (#696041)
i am having difficulty pulling the latest revision. i'd like to review the progress made in the first weekend.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by mistermann on Thursday July 09, 2009 @11:45AM (#696080)
LOL
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by mistermann on Monday July 06, 2009 @02:34PM (#690177)
Ok, so where is it smart guy? :)
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by GvS on Monday June 29, 2009 @03:18AM (#678644)
Chinese already written it using Django. It's available here: http://code.google.com/p/cnprog/
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by patman on Monday June 29, 2009 @06:30AM (#678746)
That would be 6-8 weeks actually
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by dugmartin on Monday June 29, 2009 @10:42AM (#679019)
I was waiting to see someone say that.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by scorpion032 on Wednesday July 08, 2009 @02:21PM (#694359)
I thought the standard was "4 to 6 weeks"
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by mattm on Tuesday July 07, 2009 @12:15PM (#691746)
Sounds similar to stuff I sometimes see on programmer outsourcing sites: Build me a clone of Youtube. My budget is $500.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by chaosmachine on Monday June 29, 2009 @07:27AM (#678792)
The price includes managed hosting. A million page views for $129 isn't bad.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by scorpion032 on Wednesday July 08, 2009 @02:22PM (#694363)
Except that Stackoverflow itself has just around a million hits a month; A third party site wouldn't need so much scaling anyway.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by biohacker42 on Monday June 29, 2009 @09:20AM (#678884)
Right, but the version meant for you is free. This stuff is for sale to people who are NOT programmers.
Re:StackExchange- The Stack Overflow Knowledge Exchange Plat... by jmonegro on Monday June 29, 2009 @02:33AM (#678609)
I might just do that... some day...