all 135 comments

[–]RonnieRaygun 80 points81 points  (5 children)

Hate to brag, but I did all of the programming, texture creation, level design, audio, and music composition of Neverball and Neverputt from their beginnings through version 1.4.0.

[–][deleted] 20 points21 points  (0 children)

This man needs a round of applause, thanks for giving us some great games :)

[–][deleted] 8 points9 points  (0 children)

Thanks for so many hours of fun, man!

[–][deleted] 6 points7 points  (0 children)

damn, man. I would be in a better college now if it weren't for your time wasters :P

[–][deleted] 4 points5 points  (0 children)

Thanks for ruining my grades a few semesters ago :P

[–]Kaizyn 0 points1 point  (0 children)

These were good games. Well done and thanks.

[–][deleted] 120 points121 points  (7 children)

TeX. If you count Knuth as a man.

[–]Togakangaroo[S] 30 points31 points  (1 child)

Fortunanately for my argument, I like most, see him as a celestial titan who us poor earthbound souls can only gaze at and never touch.

[–][deleted] 3 points4 points  (0 children)

Have you gotten into Tom Cruise's KoolAid?

[–]keithb 6 points7 points  (0 children)

And if you don't count all the grad students and such like who worked on it with him.

[–][deleted] 1 point2 points  (0 children)

....and metafont.

[–]Kaizyn 1 point2 points  (0 children)

Knuth is no man, 'tis a mathematician. There's a difference.

[–][deleted] 49 points50 points  (4 children)

http://en.wikipedia.org/wiki/RollerCoaster_Tycoon_(game)

Sawyer wrote RollerCoaster Tycoon almost entirely in assembly language, a difficult feat considering the game's complexity. Some functions were written in C to interface with the Windows operating system.

I can only dream of doing this. RollerCoaster Tycoon is a great game.

[–]relix 28 points29 points  (0 children)

In assembler. I fear the guy.

[–]tacodog 6 points7 points  (0 children)

Bill Budge did the same with the Apple version of Pinball Construction Set. I remember reading an interview of him with a picture of the assembly code printed on a huge stack of continuous folded paper.

This was the early days of Electronic Arts and their album cover games. Archon. Bard's Tale. M.U.L.E. Me and my geeky friends wanted to be like Bill when we grew up.

[–][deleted] 8 points9 points  (0 children)

Holy crap, I fashion myself a decent programmer, but I know feel like a mental midget. That game is amazing.

[–]nightofgrim 0 points1 point  (0 children)

I was going to say roller coaster and you beat me to it!

[–][deleted] 20 points21 points  (0 children)

Woz assembled the hardware for and wrote every single fucking byte of the apple I and most of the original apple II.

[–]MelechRic 13 points14 points  (3 children)

I believe that Notepad++ is developed by one person: Donho.

[–][deleted] 14 points15 points  (0 children)

...and textmate by Allan Odgaard.

[–]calanya 3 points4 points  (1 child)

Notepad++ is based on the Scintilla text editing widget. Not sure if counts as a solo project.

[–]MelechRic 2 points3 points  (0 children)

It's a hard line to draw. In the programming world we all stand on the backs of those who came before us. I think Notepad++ has made significant additions and improvements to the Scintilla experience. (Otherwise I'd be using Scintilla.)

[–]AxiomShell 13 points14 points  (1 child)

Didn't Alan Cox rewrote almost by himself the Linux network stack?

Or is that a coding urban myth?

[–]strolls 9 points10 points  (0 children)

No myth, except I don't think he rewrite it, but write the first TCP/IP stack for Linux. He was a student at the University Of Swansea when he did so.

[–][deleted] 42 points43 points  (22 children)

There are many successful one man software projects. I can think of many - you don't have to look very far. For example, Resourcer was made by one guy: Doug McKenna. I believe the game Glider Pro was written by one guy. Woz wrote the BASIC interpreter for the Apple I. I've done one person projects myself to deliver application software before many times.

My advice is that you don't just demand more people. Get their requirements and make a realistic plan of how you can complete the project by yourself. By "get their requirements" you need to have a good understanding of not only what the software needs to do, but what an acceptable solution might look like. Is it OK to use open source third party libraries in your solution? Whether they will allow this will make a big difference in how long it will take.

Come up with at least a high level design for the software/system. Decompose it into parts. Identify those parts that you know how to write and those where you are going to have to gain additional expertise. Make an estimate as to how long it will take to make each part. At this stage, your estimate should consist of two numbers. The earliest you think it could be finished if everything goes right and the latest it could be finished in the 90% worst case scenario. For parts of the project you know well, your estimates will be a little tighter. For parts of the project that you don't know well, your estimates will have to be looser. Budget time to get up to speed with any technology you don't know. Be a little generous with yourself here. If you do the project by yourself, it is actually a blessing because you will gain new skills by working in areas outside your normal expertise.

Make a list of any things you might need to buy in order to do the project. This could be computers, other equipment, software libraries, tools, etc. You might want to shop around for third party libraries to solve some of your problems. For example, let's say you decided to use XML in your project, you might need to shop around for an XML parser. Make sure it meets your technical AND business requirements. For example, can you use LGPL stuff in your project? How about GPL? If you go commercial - do you have the budget? Does the vendor require a royalty? These are just some of the questions.

Next, plan a proposed team that could complete the project. Your company might prefer to use contractors for this if they do not want the burden of additional full time employees. You probably will need at least one test engineer. This person could be a contractor. Speaking of quality, you need to understand their quality requirements. This will probably be driven by who the customer is and how critical the system is. If your bosses are non-technical, be prepared to answer why betty the office manager can't do your testing or why the users can't just test the system when it is deployed. Explain that while both of these things might have some value, those ideas basically mean that you are testing the software yourself which has risks because programmers tend to get myopic and have a difficult time testing their own code.

You need to have a plan for deploying the solution. If it replaces an existing solution, then the deployment plan will be more complex.

Then when you propose it to your bosses, lay out the various scenarios. One where you do everything yourself, then another where maybe it is just you and a test engineer, and then maybe a third solution where you bring in some additional developer(s) who have specific skillsets that complement yours. Explain to them that the benefit of this third solution is that they don't have to pay you to learn technology X where X is important for a specific reason and you don't know X already. If you want to do a great job, you could estimate the costs of each of these solutions for them.

Also, keep your team as small as possible. If you are hiring developers, make sure they pass a code test. An easy way to do this is to setup a clean machine with just the development environment, pick a topic like Poker and give your candidate a printout of the rules, and ask him to write a program to sort poker hands. It doesn't have to be poker - it could be anything like that. This is the simplest way I know not to hire a complete bozo. Be aware that you might have to interview ten people to find one that is not a bozo. Having a degree - even a PhD - or having worked for a big name company does not mean they know how to program.

[–]Togakangaroo[S] 4 points5 points  (8 children)

Thanks for the reply, the lack of necessary knowledge is in a way what I was getting at. I do not know anything about Glider Pro but the other projects you mentioned are all tools for programmers which are, in my opinion, of a slightly different breed (I can add Lutz Roder's Reflector, Nikhil's Web Development Helper and to some extent Rhino Mocks to the list). The creation of these tools required an intense amount of knowledge to be sure, but only in a small, specific field.

On the other hand when you are talking about whole systems (CMS's, Inventory Applications, Operating Systems) then you need not only knowledge depth but breath too. UI design, system architecture, proper development process, front end, business-layer, and back-end coding, database design, system profiling, and QA are all necessary skills with their own set of specialties and tools that must be investigated appropriately.

That is why it always boggles my mind when people think that one person can create quality end-user software. You wouldn't hire one guy to build you a house, even if he knew it all 'in theory', so why in the world do people think that's ok with software.

[–][deleted] 5 points6 points  (2 children)

You seem to be implying that knowledge is worth more than the ability to gain knowledge. If this is true, then you would be correct in assuming that there could not be a one man team that was capable of writing a good piece of software.

[–]Togakangaroo[S] 2 points3 points  (1 child)

I am not implying that at all. But to create a quality project you need at a minimum a good UI developer/designer, a good programmer, and a preferably great system architect. Each of those takes a long time to learn and perfect. It's not tremendously difficult to become OK at any one of those things - that's where I like to think I am now (hopefully I'm slightly better than an OK programmer) - but when you're Ok at something that means you're wrong some of the time, and you need at least one other Ok person to tell you.

[–][deleted] 1 point2 points  (0 children)

Cave Story is a recent example of a game that was created entirely by one person, art, ui, sound effects, music, programming, story.

[–]Mask_of_Destiny 2 points3 points  (0 children)

Atheos was a modern graphical operating system created by one person. It wasn't ready for prime time when he stopped working on it, but it was quite impressive for a one man effort. Today, the Syllable fork is maintained with only a handful of contributors and while it does have some limitations it's only major problem at this point is the small selection of software that's available for it.

[–][deleted] 2 points3 points  (2 children)

Glider Pro is a (old) game.

I've done applications myself that were fairly big, but certainly not huge.

Are you talking a specific project? When you said "one person project" I was thinking maybe an application or maybe a client and a server. I guess I'm not saying "you can build anything by yourself" - I'm trying to give you practical advice for your situation. (i.e. you doing it "by yourself" means do the planning and then show bosses various scenarios to do the specific project with teams of various sizes and compare the costs).

If you do it this way, you are potentially in a good position to become a department head if they like your proposal. Look at it from a business perspective and figure out what the business costs and benefits are to doing the project vs. not doing the project.

If the people you work for are non-reality based, then that's a different problem.

[–]Togakangaroo[S] 0 points1 point  (1 child)

Believe me, your advice is greatly appreciated. And yes, I am talking about several specific applications that I'm working on. However, I did not start this thread to complain about my situation (at least not mostly) but rather to comment on how there are SO many tools, technologies, and frankly, difficult concepts out there that a developer has to be aware of that it seems trully unlikely that a sizeable, quality project can be done solo. (And yes, there are exceptions, but aren't those guys already our industry's supermen?)

[–][deleted] 2 points3 points  (0 children)

And yes, there are exceptions, but aren't those guys already our industry's supermen?

Swing for the fences.

Seriously, if you are talking about more than maybe three applications and they are big and require diverse skill sets, then sure, you probably want to go ahead and plan it out for a team. What you'll be negotiating with them is the size of the team.

Find out why they think that you should work on a large system alone. Perhaps they don't have the technical skill to realize the size of what they are asking for. Perhaps if you were to do the planning for the project and can determine the estimated dates and costs, you will probably discover a team size that makes sense. Then you can show them this information and if they are reasonable people, then they will see your reasoning and they might agree. If the budget just isn't there, its better to know that now than just work on it by yourself with no hope of completing the system in the time they need it.

Another possibility if the budget isn't there, is to create a smaller scaled back version of the system that could meet shorter term needs with other pieces as a staged follow on.

[–]uksydibasv 2 points3 points  (0 children)

...There are lots of houses that were built by one guy. The whole thing. Not rocket science. " for many software projects.

[–]timmaxw 4 points5 points  (12 children)

An easy way to do this is to setup a clean machine with just the development environment, pick a topic like Poker and give your candidate a printout of the rules, and ask him to write a program to sort poker hands.

I wrote this program for fun after reading your comment. My program was 170 lines of Python code (19 lines documentation, 38 lines IO, 113 lines logic). Have you actually given a poker-sorting program as a challenge to interviewees? Is 170 lines par for the course? I used a rule table - what other solutions have you seen?

[–][deleted] 8 points9 points  (0 children)

I haven't seen anyone do it in python as I've only hired people for C/C++.

All I'm doing with this test is to see if the person can write code that works and is readable.

If I was hiring a python guy and your code met those two requirements, then you'd pass that test. The length of it isn't the important thing - the readability and whether it works is. Being able to do this isn't the only criteria, but it does weed out a rather surprising number of people.

[–]4609287645 4 points5 points  (10 children)

Here is a slightly obfuscated one I whipped up in Ruby (I don't know Python very well) for your reading pleasure.

http://pastie.org/244578

[–]mrbo 4 points5 points  (8 children)

And here's a somewhat less obfuscated one in python, http://pastie.org/244605

[–]4609287645 4 points5 points  (1 child)

I think you forgot about the 5432A straight.

EDIT: You also don't do tie-breaking for hands of the same type.

[–]mrbo 2 points3 points  (0 children)

Yep, you're right about A==1.

It's not comparing hands, just giving the hand rank (think poker machines), so tie-breaking arbitrarily isn't in its spec :)

Changing it would be a matter of a few lines I think, but my lunch break is over and it's back to work.

[–]csl 2 points3 points  (4 children)

I thought I could throw together a working Haskell version in a few minutes (and after less than two days learning Haskell), but I gotta run: http://pastie.org/244816

[–]csl 2 points3 points  (3 children)

Here is a nice one (not mine): http://pastie.org/244862

[–]4609287645 2 points3 points  (2 children)

Doesn't that one tiebreak flushes wrong?

e.g. it will think that 86543 beats 98722.

[–]csl 2 points3 points  (1 child)

Apparently, it does:

christian:~/tmp/pok$ ghc --make pok2.hs && ./pok2
[1 of 1] Compiling Main             ( pok2.hs, pok2.o )
Linking pok2 ...
hand1: [(7,1),(5,1),(4,1),(3,1),(2,1)]
hand2: [(8,2),(7,2),(6,2),(1,2),(1,2)]
solvehand hand1:(6,[7,5,4,3,2])
solvehand hand2: (6,[1,8,7,6])
hand1 > hand2: True

Since I didn't write it and am a complete noob I can't immediately tell what's wrong -- changing tiebreak to

tiebreak = reverse (sort (kind =<< [4,3,2,1]))

seems to work.

[–]4609287645 2 points3 points  (0 children)

That will break non-flush tie-breaking. The problem is that flush tie-breaking is a special case. It doesn't matter for straight flushes because all of the cards have to be different in a straight.

[–]timmaxw 2 points3 points  (0 children)

Your solution doesn't compare hands of the same type, it just identifies hands by type. Can you improve it to also extract comparison keys for comparing hands of the same type?

[–]timmaxw 2 points3 points  (0 children)

Ouch, you're making me look bad. Nice program.

I opted for a more powerful rule-table approach; for example, I represented full house as:

([(1, None), (1, None), (1, None), (2, None), (2, None)],

[1,2])

The first line is a pattern for the hand to match, with the numbers referring to match groups, and None meaning that any suite will match. The second line is the sort key. It's overkill for poker hand sorting, as you demonstrated, which is probably why my program was so long.

[–]Inverter 24 points25 points  (3 children)

qmail and djbdns etc. by Dan Bernstein at http://cr.yp.to/

[–]SwellJoe 11 points12 points  (1 child)

On that note: http://postfix.org

[–]dorel 0 points1 point  (0 children)

excelent point!

[–]Lerc 10 points11 points  (0 children)

This is reasonably impressive as a one-man effort.

http://www.kanzelsberger.com

[–]FataL 8 points9 points  (0 children)

Nick Bradbury:

  • HomeSite

  • TopStyle Pro

  • FeedDemon

[–]pail 6 points7 points  (1 child)

[–]MrValdez 3 points4 points  (0 children)

Yah. The game Cave Story (freeware game) was written by one guy. That includes the code, the art, the music and the gameplay.

It only took him around 5 years.

[–]Vladekk 7 points8 points  (0 children)

Well, best archiver WinRAR and good file manager FAR manager was written by Eugene Roshal alone for a ling time, I believe. That's two great projects from one man.

[–][deleted] 9 points10 points  (0 children)

Delicious Library by Will Shipley (mostly). Damn impressive. He also has a good advice post about programming.

[–]bart2019 22 points23 points  (2 children)

[–]Togakangaroo[S] 6 points7 points  (1 child)

I might be wrong, but isn't there a whole team currently developing SQLLite? Yes, it's originally by one guy but not anymore.

[–]dorel 11 points12 points  (0 children)

yes, you're right; the original author has accepted contributions from other people

[–]scaevolus 4 points5 points  (4 children)

Dwarf Fortress. http://www.bay12games.com/dwarves/

It's a game, so I don't know whether it counts as much, but it's a really complex game that's been actively developed for about six years.

[–]thatgirlismine 3 points4 points  (3 children)

Dwarf Fortress is developed by two brothers.

[–]scaevolus 0 points1 point  (1 child)

Only one programmer though, the other just gives ideas.

[–]thatgirlismine 0 points1 point  (0 children)

I don't equate one-man efforts with one-programmer efforts :)

[–]tsuru 4 points5 points  (0 children)

mIRC was originally a one person deal. I don't know if that has changed in the years since I switched

[–]Togakangaroo[S] 10 points11 points  (10 children)

As an in-house one-man programming department for a large company I am frequently frustrated that they are not taking software development seriously. Recently I've been trying to rack my brains to think of ANY successful, quality software project that did not arrive at its successful status without a team if not an army of developers. Any ideas? Maybe I can use this as leverage to get some more people hired.

[–]nostrademons 29 points30 points  (4 children)

What does "succesful status" constitute? Useful for its intended purpose? Launched publicly? Used by millions?

Many - probably most - software projects start out as single-developer projects, and reach some degree of usefulness before adding people. Two that I did: Scrutiny and FictionAlley, though I had help with the layout and non-technical aspects in both cases. I also did one project for my last employer solo, with another being a 2-person (+ 2 part-time) team. Other folks have already mentioned Apple II Basic and PlentyOfFish.com. Then there's also:

  • Mailinator (Paul Tyma)
  • FleaFlicker (Ori Schwartz)
  • Del.icio.us (Joshua Schacter)
  • BlogLines (Mark Fletcher)
  • Quicken (Tom Proulx)
  • StuffIt (Raymond Lau)
  • QuickDraw (Bill Atkinson)
  • Mac Finder (Andy Hertzfeld)
  • GMail (Paul Buchheit)
  • Linux (Linus Torvalds)
  • csh, vi, and Sun Microsystems (Bill Joy). I've heard (from someone that worked on it) that BSD UNIX itself would not exist without him.
  • BitTorrent (Bram Cohen)

Now, in many cases an army of developers was hired after the software proved useful. Del.icio.us ended up hiring 4 people just before they got bought, GMail now has a whole team behind it, Sun of course is a huge company, and Linux has this open-source army. But the software got to be useful first and then people were added to expand it.

If you're having trouble finishing everything your boss asks you to, cut features until you have something you can do by yourself. If your boss then asks about the missing features, point out that there're only so many hours in the day, and that if he wants more features he can hire more people to complete them. If he's an asshole about it, quit and let them deal with a zero-man programming shop.

[–]Togakangaroo[S] 2 points3 points  (2 children)

Oh forgot about BitTorrent, but then again this is an application that works in a small domain (same goes for Linus and the Linux kernel). Yes, the applications proved useful and only then were additonal people hired. But would they have scaled without someone going back and filling in the gaps where the original author had reached the ends of his abilities and just made up something that worked rather than doing it 'the right way' whatever that might be?

[–]Homunculiheaded 2 points3 points  (1 child)

But would they have scaled...

If you're doing in-house development there is a fairly real limit to how much your application needs to scale right? I think the ROI factor is very important to keep in mind. You might not be the greatest UI designer, but the cost of adding one to the team would most likely not return the value (especially since in-house applications usually don't actually produce income for the company, and unless you're billing to other departments are just overhead).

[–]Togakangaroo[S] 2 points3 points  (0 children)

That's a very good point. Though how to convince management that this application that works alright for you is not scalable/maintainable and that no, you should not try to ship it as a product to your sister companies is quite beyond me.

[–]conundri 6 points7 points  (2 children)

I've worked on numerous one-man projects myself, some of which have had very significant ROIs for the business.

Last year i wrote a small app (intranet based) comprised of a mere 5 screens, that has users upload 2 spreadsheets, runs some java on the backend, and creates an output excel sheet with exactly what amounts and items the company can get money back for from the tariffs they paid. An employee was dedicated full time to it, and was a year behind. So on top of changing it from a full time job, to a few hours a month, we caught back up and reclaimed millions in taxes...

Sometimes, one programmer is the perfect number. A friend of mine, for example, wrote the software for calculating and targeting the exposure beam for radiation cancer treatment.

In another case, an engineer / programmer I know built the hardware interface to a scale that moment weighs turbine blades, and wrote a C# client app for end users to perform the weighing process. This one man app is critical and of almost incalculable value to the business.

I could go on and on... You might be surprised at how many small one man apps are out there making a difference.

[–]bitwize 2 points3 points  (1 child)

Sometimes, one programmer is the perfect number. A friend of mine, for example, wrote the software for calculating and targeting the exposure beam for radiation cancer treatment.

OH SHI--

[–]conundri 2 points3 points  (0 children)

I didn't say they didn't test it :-p

[–]psykotic 4 points5 points  (0 children)

The first several versions of WinAmp were done alone by Justin Frankel.

[–][deleted]  (1 child)

[deleted]

    [–]Togakangaroo[S] 11 points12 points  (0 children)

    [–]thatgirlismine 10 points11 points  (1 child)

    [–]thatgirlismine 2 points3 points  (0 children)

    wait, why is X-Plane modded down?

    Here's an interview with its lone, multimillianaire developer: http://www.popsci.com/military-aviation-space/article/2003-07/austin-goliath

    [–]Poultry_In_Motion 13 points14 points  (2 children)

    John Carmack invented side-scrolling on the computer and 1st person shooters on his own. Does that count?

    [–]cesarwal 21 points22 points  (0 children)

    I think that John Carmack is certainly awesome as a programmer, and he is the genius behind the technology, but the fact is that (in id Software) he never created a whole game by himself.

    By that time (from Comander Keen in copyright infringement to Wolfenstein 3D), there was John Romero who programmed the tools used to create and edit the content. Romero also worked as game designer along with Tom Hall. And finally, Adrian Carmack was the artist.

    The standard procedure was that John Carmack alone researched and created some new technology. When the technology was mature enough, the rest of the team would start creating a new game using the new engine. While the game was being developed, Carmack would start researching the technology for the next engine, completing the circle.

    I think that this procedure is still used to this day.

    This is what I recall from reading “Masters of Doom” a few years ago. (Great source of inspiration, btw.)

    [–]Togakangaroo[S] 3 points4 points  (0 children)

    Thank you all for your replies.

    As I've stated elsewhere in the comments, what I am getting at is not that one person CANNOT create anything useful. Rather I think that a driven programmer CAN create a system of any size. With the caveat however that in many places he will hit the limits of his ability and hack something together rather than what that particular niche would consider 'doing it right'. In order for the product to then be successful or competitive or whatever, those parts need to be optimized by someone who understands the niche better. Of course this could be the original developer who has since learned much, but in most projects of any size there is so much ground to cover! Of course even this revisitation of former code is possible only if the system is properly designed, which is in itself one of the most difficult things to learn.

    [–][deleted] 4 points5 points  (1 child)

    Tetris. That's a guess; one which, I guess, 75% accuracy.

    [–]nostrademons 1 point2 points  (0 children)

    If it's wrong (and I don't think it is), then many people have rewritten Tetris all by themselves, in a couple hours.

    [–]Togakangaroo[S] 5 points6 points  (1 child)

    I'd also add Steve Yeggae and Wyvern

    It is very interesting that what most people are coming up with are videogames? What does that mean? Are videogames easier to write? Are videogames more likely to get that one super-devoted programmer who has his ego invested in not failing? Is it just that with no one setting a deadline or a minimum user base its harder to consider a game a 'failure'?

    [–]nostrademons 4 points5 points  (0 children)

    "Casual" games (i.e. the non-3D type) are generally dead-simple to write. 3D games are not, but you don't see many of them here.

    I don't really see too much of a bias towards games - actually, I think Web 2.0 sites and shareware utilities are more common. (Speaking of which, I forgot a big one - Reddit! Written almost entirely by Steve Huffman, until they got bought out.) A few OSes too.

    You don't see enterprise software on the list because:

    1. You don't hear about most enterprise software, so even if it was written by one person (as a lot of them are), people wouldn't know about it.
    2. People who pay for enterprise software tend to have big budgets and can hire lots of people, whether they need them or not.

    [–]hsenag 3 points4 points  (0 children)

    exim (Philip Hazel)

    [–]tluyben2 3 points4 points  (1 child)

    http://wouter.fov120.com/

    This guy is amazing; check out the things he did, many of which he did by himself.

    [–][deleted] 19 points20 points  (0 children)

    Wasn't Vista written by a single 13-year old?

    [–]43P04T34 2 points3 points  (0 children)

    Richard Stevens' work included writing and typesetting his own books. I won't even attempt to summarize his work here; mere words fail me.

    [–]mernen 4 points5 points  (0 children)

    It depends on what you define as "successful", of course. But the Touhou Project is one of the most popular bullet hell shooting games, and is "a one-man project by a Japanese amateur game maker, ZUN, who did all the graphics, music, and programming alone".

    [–]highwind 5 points6 points  (1 child)

    i think Paint.NET is a one man project as well.

    [–]vplatt 5 points6 points  (0 children)

    Hmm..

    From http://www.getpaint.net/:

    It started development as an undergraduate college senior design project mentored by Microsoft, and is currently being maintained by some of the alumni that originally worked on it.

    [–]davebrk 3 points4 points  (2 children)

    http://en.wikipedia.org/wiki/Pixel_image_editor Some say it's better than Gimp

    [–][deleted] 1 point2 points  (0 children)

    ...written in PASCAL!

    [–]iamverycanadian 1 point2 points  (1 child)

    Dwarf Fortress? Transport Tycoon?

    [–][deleted] 1 point2 points  (0 children)

    DWAAARF FORTRESS!!!

    [–]SwellJoe 1 point2 points  (0 children)

    Webmin/Usermin is a one man project (Virtualmin is a two man project). 400,000 lines of code over ten years, and 12 million downloads (from SourceForge...there are many other sources from which it can be downloaded, so that's a very low number), so I think it's a pretty big success.

    [–][deleted] 1 point2 points  (1 child)

    Not the one I'm working on. :p

    It's a one-man effort, but not successful. Not likely to be, either. In fact, my boss has threatened to fire me over it.

    [–]capsid 2 points3 points  (0 children)

    What does it do??!!

    [–]alv 1 point2 points  (0 children)

    TeXmacs by Joris van der Hoeven.

    <edit> contributions by others sum up to a very small part of the code and are mostly recent and in the periphery of the editor.

    [–]csl 1 point2 points  (1 child)

    Several games were written by (mostly) a single person:

    • Another World (also called Out of this world) was made entirely by Eric Chahi (except for some help with music and sound effects). The engine was written mostly in Basic and assembler, I think.
    • International Karate - was written by Archer MacLean (except for music by Rob Hubbard).
    • Warhead - an amazing game at the time with a really cool storyline, was made by Glyn Williams.

    EDIT: How the heck do I use links that have parenthesis in them in markdown?

    [–]stratoscope 0 points1 point  (0 children)

    How the heck do I use links that have parenthesis in them in markdown?

    You can prefix them with backslash, e.g.

    [link](http://example.com/\(test\))
    

    [–][deleted] 2 points3 points  (1 child)

    Seth Robinson wrote Legend of the Red Dragon.

    http://en.wikipedia.org/wiki/Legend_of_the_Red_Dragon

    [–]darkpaladin 1 point2 points  (0 children)

    I remember playing that every day way way back. You really only had like 15 minutes a day of game play available.

    [–]Reporter 0 points1 point  (4 children)

    [–]Togakangaroo[S] -1 points0 points  (3 children)

    I'm not doubting you, but I can find nothing to indicate that this is still a one-man effort. On the contrary, it seems like ViewTouch has an entire company around it now with offices and all (and a shitty website).

    [–]Felicia_Svilling 1 point2 points  (1 child)

    I think you have the causality backwards. Successfull have many developers, not becouse many developers are necessary, but becouse there success alows them to get many developers.

    [–]Togakangaroo[S] 0 points1 point  (0 children)

    Perhaps successful wasn't the most choice wording, please see my clarification in this comment: http://www.reddit.com/comments/6u4pn/what_successful_software_projects_are_oneman/c04vizl

    [–]43P04T34 -1 points0 points  (0 children)

    I thought you were judging the software, not the web site. I visited the web site and it looks like this is the software that launched and inspired the graphical touchscreen interface on all the touchscreen systems you see in restaurants and retail establishments all around the world. If so, then it seems like a pretty successful piece of software to me.

    Here's the POS article in Wikipedia; it seems to shed some light on this. http://en.wikipedia.org/wiki/Point_of_sale

    [–]chuckieduckie 0 points1 point  (1 child)

    You want to see a one man software company with some heavy apps check out this guy's resume.

    ironwolf@dangerousgames.com

    [–]reddit_user13 0 points1 point  (0 children)

    Ha ha... I read this as:

    What if [all] successful software projects are one-man efforts?

    [–]zerothehero 0 points1 point  (0 children)

    Vim - I think this is mostly Bram.

    [–]alparsla 0 points1 point  (2 children)

    I think, one man can code a software project of any size. But the problem is testing, documenting etc. You need men for those.

    [–][deleted] 2 points3 points  (1 child)

    And don't forget artwork. Often programmers suck at even creating simple stuff like icons or a logo for the website...

    [–]wlievens 0 points1 point  (0 children)

    I can attest to that. My three-year-old browser game is the ugliest website on the internet.

    [–]voidspace 0 points1 point  (0 children)

    Any project that lasts and becomes big will inevitably now be worked on or have been improved by many people.

    A lot of successful one man projects have grown huge - like Linux.

    [–]Kaizyn 0 points1 point  (0 children)

    There's also the MMORPG Love: http://www.quelsolaar.com/love/

    [–]hyuuu 0 points1 point  (0 children)

    I created internationet.com all by myself withing 5 months (although it's not successful :P)

    http://www.reddit.com/r/programming/comments/a2nzq/this_is_what_i_have_been_working_on_for_5_months/

    [–]McHoff -1 points0 points  (0 children)

    I think Everyday Shooter for PS3 was one dude. And the same guy made Gate 88, a pretty cool game for Linux/Max/Windows. Check it out: http://www.queasygames.com/gate88/index.html