Slashdot Mirror


In Praise of the Solo Programmer

HughPickens.com writes: Jean-Louis Gassée writes that once upon a time, we were awestruck by the solo programmer who could single-handedly write a magnum opus on a barebones machine like the Apple ][ with its 64 kilobytes of memory and an 8-bit processor running at 1MHz. Once such giant was Paul Lutus, known as the Oregon Hermit, who won a place next to Jobs and Wozniak in the Bandley Drive Hall of Fame for his Apple Writer word processor. "Those were the days Computers and their operating systems were simple and the P in Personal Computers applied to the programmer," writes Gassée. "There's no place for a 2015 Paul Lutus. But are things really that dire?"

As it turns out, the size and complexity of operating systems and development tools do not pose completely insurmountable obstacles; There are still programs of hefty import authored by one person. One such example is Preview, Mac's all-in-one file viewing and editing program. The many superpowers of Apple's Preview does justice to the app's power and flexibility authored by a solo, unnamed programmer who has been at it since the NeXT days. Newer than Preview but no less ambitious, is Gus Mueller's Acorn, an "Image Editor for Humans", now in version 5 at the Mac App Store. Mueller calls his Everett, WA company a mom and pop shop because his spouse Kristin does the documentation when she isn't working as a Physical Therapist. Gus recently released Acorn 5 fixing hundreds of minor bugs and annoyances. "It took months and months of work, it was super boring and mind numbing and it was really hard to justify, and it made Acorn 5 super late," writes Mueller. "But we did it anyway, because something in us felt that software quality has been going downhill in general, and we sure as heck weren't going to let that happen to Acorn."

114 comments

  1. In praise of ... by Taco+Cowboy · · Score: 1

    ... those with original ideas

    We get to enjoy so many wonderful things, every single day of our lives, because of those who came up with original ideas - and work to make their ideas become reality

    Solo programmers with original ideaas deserve praises - as for those who can't or don't - nothing special, reaslly - as they are just like all the millions of data monkeys throughout the world

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re: In praise of ... by Anonymous Coward · · Score: 0

      The difference between them and you of course is you sold your project like a fucking bitch. The rest stuck it out and plowed ahead. The first site of a problem and you left. You are not in this group sir. So get off your high horse taco. You are no different then a patent troll. You just build it and sell it. Now go play with the rest of the entitled programmers in your sandbox.

      Bitch.

  2. Its easier now by Anonymous Coward · · Score: 5, Insightful

    Once upon a time you had to write a type renderer if you wanted to write a wordprocessor, now the OS does that for you.
    Once upon a time you had to drive the audio directly, now the OS does that.
    3D? You had to write your own stack, now OS does that.

    Really its a LOT easier for one person to write a full app these days, and behind a lot of those mega teams you'll find there is actually one person doing the heavy lifting.

    I find it trivial to do major apps these days.

    1. Re:Its easier now by Viol8 · · Score: 2

      "I find it trivial to do major apps these days."

      You'll be able to give us a link to some of them then won't you.

    2. Re:Its easier now by Anonymous Coward · · Score: 0

      I think it's like saying that making a text editor is now easy -- which it is, a demo is included with the Qt source. But the individual programmer that takes this code, changes one thing, and says that they "wrote" their own, didn't really contribute anything to the world.

    3. Re:Its easier now by ILongForDarkness · · Score: 4, Insightful

      The problem is there is trivial and then there is trivial. Yeah you can get a notepad clone up and going quickly. But if you want to compete with other editors that are out there for free you need to add syntax highlighting, efficient support for large files, likely tabbed content support, fonts, good search, potentially regex support etc. In short: we rarely need to create something completely new now. But we have an endless list of required features to compete. Often few are technically difficult to implement just a huge amount of work to get through and lots of nit-picky things like borders on controls rendering differently on different browsers and the like. You're not solving one of lifes mysteries but you still might burn a week figuring out why one does it different than the other and finding what magic combo makes all browsers happy at the same time.

    4. Re:Its easier now by Anonymous Coward · · Score: 0

      Look at 80's wordprocessors, they had all of modern features and were one man bands. Yet they also implemented the fonts, printer drivers, and sometimes memory management.

      "efficient support for large files"
      Memory management is now a lot lot easier, they were working with 1MB ram and very slow drives!

      I think the issue you raise is really CLONING the micro detail of other apps, and that is time consuming, but the features themselves are not. So making a clone of an existing app might take forever and you'd be hitting moving target as you reverse engineer how their system works and try to mimic its quirks, but don't think its hard to make major features.

      The open source too, makes a hell of a difference too, who would implement their own non-linear constrained optimizer these days!

    5. Re:Its easier now by Viol8 · · Score: 1

      "I think it's like saying that making a text editor is now easy"

      Sure, if you just use the default widgets. Now try and implement something NOT included with them. Syntax highlighting for ANOther language. Oh dear, that means you'll have to write your own lexical analyser and integrate it. Not so easy now is it?

    6. Re:Its easier now by Anonymous Coward · · Score: 0

      Speaking as someone who wrote a syntax editor with highlighting (and stacked undo/redo etc etc. all the usual stuff) *DON'T* EVER use the default widget. (It took 2 weeks).

      There was one thing I saw where a programmer had "implemented" a rich text edit field, he'd done "bold", then resigned. What he'd actually done was take a normal text field, detect the section in bold and redrawn the bold part shift right one pixel, it flickered like crazy and could never have worked for anything else, Italics? Forget it, mixed typefaces, forget it. Even bold didn't handle the font width properly.

      The issue was he didn't set out to implement the edit field, he didn't have the confidence, so he tried to start from an normal edit field and twiddle to implement the rich text.

    7. Re: Its easier now by ZiggyM · · Score: 2

      however there are now many new ways to write programs (like browser extensions and mobile apps), which provide oportunities for new ideas and where you could be the first with the idea. personally ive written a free 5-star chrome extension for the past two years which is used by thousands and is a chrome editors choice, all in my free time. its one of the 4 featured if you google "chrome extensions" and enter the first search result.

    8. Re:Its easier now by stabiesoft · · Score: 2

      Or you can write and use a text editor for terminals. I redid the old Rand Editor and called it sre. I have the source on my website. Took awhile, but I use it for coding exclusively. I also have written over the past decade or so a integrated circuit layout editor that has a limited DRC/LVS along with a matching schematic editor. The performance of the layout editor exceeds that of the "big" guys. A solo programmer can do alot with the tools available.

    9. Re: Its easier now by Anonymous Coward · · Score: 2

      Imagine what you could do if it was your one and only task and not part time.

      Really Apps allowed solo programmers to shine, and they great ones shine very brightly just as they did in the 80s. The crap ones pretend it can't be done, even as others are doing it!

    10. Re:Its easier now by RabidReindeer · · Score: 1

      Once upon a time you had to write a type renderer if you wanted to write a wordprocessor, now the OS does that for you.
      Once upon a time you had to drive the audio directly, now the OS does that.
      3D? You had to write your own stack, now OS does that.

      Really its a LOT easier for one person to write a full app these days, and behind a lot of those mega teams you'll find there is actually one person doing the heavy lifting.

      I find it trivial to do major apps these days.

      The old Silver Bullet.

      Never happened. They keep moving the goalposts. With the resources available these days, it would be fairly easy to create a WordStar in short order - as long as you didn't expect the original WordStar's resource frugality. But a modern-day app needs to run in a windowing system. And have menus, dialogs and toolbars. And interact with all sorts of programs. And handle lots of file formats. And be Internet-friendly. And have this "essential" feature and that "essential" feature. And so forth. Modern-day apps even for mobile devices dwarf the old-time mainframe operating systems.

      And then they come to us and say that they want an eBay with Amazon.com capabilities by next Thursday. Because "All You Have To Do Is..."

    11. Re:Its easier now by edremy · · Score: 2

      It's also a lot easier when you start from scratch and don't have to support any old versions/file formats. The bad decisions you make on day 1 (and you *will* make them, no matter how good you are) are going to haunt you for the rest of your life.

      --
      "Seven Deadly Sins? I thought it was a to-do list!"
    12. Re:Its easier now by hunterellinger · · Score: 1

      It's much easier now. Browsers have trained users to a standard set of basic interactions (this used to be a massive obstacle for new programs). Databases, combined with modern storage capacities and CPU speed, have eliminated massive amounts of work. The languages are both safer and more powerful, and less tied to specific hardware. Deployment is trivial via the web. I can do more now by myself than the good team of developers I led were able to produce 30 years ago. There are certainly plenty of projects that require substantial teams, but these are ones whose scope (e.g., AI) or polish (e.g., games) would have been totally unfeasible in the past. More to the point of the post, there are probably many more places now than in the past where a single programmer can quickly make and deploy a useful database-driven website.

    13. Re:Its easier now by Anonymous Coward · · Score: 0

      Isn't notepad++ maintained by 1 person?

    14. Re:Its easier now by tlhIngan · · Score: 1

      The problem is there is trivial and then there is trivial. Yeah you can get a notepad clone up and going quickly. But if you want to compete with other editors that are out there for free you need to add syntax highlighting, efficient support for large files, likely tabbed content support, fonts, good search, potentially regex support etc. In short: we rarely need to create something completely new now. But we have an endless list of required features to compete. Often few are technically difficult to implement just a huge amount of work to get through and lots of nit-picky things like borders on controls rendering differently on different browsers and the like. You're not solving one of lifes mysteries but you still might burn a week figuring out why one does it different than the other and finding what magic combo makes all browsers happy at the same time.

      Or rather, those features came out because the programmer involved didn't have to worry about a lot of stuff - type rendering, graphics, even a lot of the UI is already socked away nicely by the OS. Back in the old days, all that stuff had to be written from scratch, and if you're dealing with PCs, the hassles of configuring the various video modes and such.

      Now it's abstracted away, and we can turn to adding real value to the programs rather than just boilerplate. A clone of notepad is trivial, which is the point - we can get the basics going with little work. Then we can add the hard stuff like syntax highlighting, regex and other things that go to the core of the editor, not fluff like how to display a menu and things we don't care about.

    15. Re:Its easier now by ILongForDarkness · · Score: 2

      Open source, or even closed sourced but published libraries do help. Sometimes it is too much choice though, to the point where sometimes you wonder if you'd have been better to do it yourself. Ex: I've used 2-3 different JSON serialization tools for my project, one can map dictionaries, another can embed information about the class type neither do both etc. You spend time figuring out how one works, change your mind and have to change a bunch of element decorations to the new tool. Get stuck, go to the forums get a snotty reply like "why would you do that?", or "why don't you read the source code and figure it out yourself?". Mah. Things aren't just big chunks of code you can drop into your project. Often it takes A LOT of effort to find which one to use, how to use it, and to glue it into place. Again nothing novel but you can't exactly say in the 80's one guy was a genius and now you must be stupid because you aren't doing it all yourself even though you have "all these tools" available to you.

      In some ways or systems have more components too and varying stuff needed for it, example my work I do C#, XML/XSD and t-sql programming, but my code is serialized using both JSON and SOAP off to Java/javascript/html clients on both desktops and mobile browsers, and consumed by C++ windows desktop apps. I need to understand from one end to the many terminating ends on the other. I can't dictate the programming language across the whole project (actually collection of products), can't control the OS or browser versions on the consuming end (though our testers/business guys can spit out the required ones to support, which ones actually work) etc. Things were easier in that regard when you could make an app that only used BASIC and only ran on a Commodore 64 and no networking.

    16. Re:Its easier now by Your.Master · · Score: 1

      That may be, but it's not a trivial app.

    17. Re:Its easier now by r-diddly · · Score: 1

      So essentially what you're saying is that there are no solo programmers anymore. Everybody's work depends on everybody else's work.

    18. Re:Its easier now by toddestan · · Score: 1

      Notepad++ has also been around for a long time. These solo projects are pretty impressive, but also remember that the author has been working on their program for 15-20 years or more. Likewise, it would probably take someone else years to build a similar program by themselves.

  3. Mobile apps by fluffernutter · · Score: 4, Insightful

    Surely there are a great many people out there who develop both android and iPhone apps, along with the web site and server that they go with. I didn't think the 'solo programmer' was an uncommon thing.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    1. Re:Mobile apps by operagost · · Score: 1

      The guy who wrote Flappy Bird had no problem doing it himself-- he just couldn't handle the success.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    2. Re:Mobile apps by Anonymous Coward · · Score: 0

      How about different things than smartphone apps that were solo developed, or does the world of programming end there?

    3. Re:Mobile apps by Anonymous Coward · · Score: 0

      Yeah, I think a large amount of the software I use is primarily written by one person. Calibre, Notepad++, a ton of important code libraries, servers, etc. Yes, the projects are on github and occasionally get contributions from other people, but when 90%+ of the code is written by one person, and the rest is examined and approved by them, I would consider it a solo programmer project.

      I've written an app for iOS and Android, with an API server and website built by me as well. I also don't think it's very rare, and it's not even that difficult with all the tools and libraries available at our disposal these days. I'm certainly not bragging about it.

    4. Re:Mobile apps by Tom · · Score: 1

      There are, but at least the ones I know do rely on other people. For example they will buy assets (icons, sound effects, whatever) or get ready-made-libraries for many tasks.

      --
      Assorted stuff I do sometimes: Lemuria.org
    5. Re:Mobile apps by Anonymous Coward · · Score: 0

      Yeah, I think a large amount of the software I use is primarily written by one person. Calibre, Notepad++, a ton of important code libraries, servers, etc.

      IMHO, Calibre is a great example of why one person should NOT be responsible for the entire app. The interface is atrocious, and Kovind just keeps telling users to "get used to it."

      At the opposite end of the spectrum is where you have experienced developers who know how to build interfaces being dictated to by marketdroids and UX "experts" who insist on destroying usability for the sake of fashion...

    6. Re:Mobile apps by Anonymous Coward · · Score: 0

      IMHO, Calibre is a great example of why one person should NOT be responsible for the entire app. The interface is atrocious, and Kovind just keeps telling users to "get used to it."

      I found Calibre's interface transcendentally intuitive. Works great for me.

    7. Re:Mobile apps by Anonymous Coward · · Score: 0

      > I found Calibre's interface transcendentally intuitive. Works great for me.

      Is that you, Kovind?

  4. " Once such giant was" by Anonymous Coward · · Score: 1, Funny

    " Once such giant was"

    How about something entitled "In Praise of the Solo EDITOR" ???

    Oh wait, this is slashdot.

  5. Hackers by crow_t_robot · · Score: 4, Interesting

    This book has some great stories of the days when solo programmers reigned: http://www.amazon.com/Hackers-... It still blows me away that some of my favorite games from Sierra, etc were designed and coded by one person (art and all) while today you can't make a video game without a team of hundreds.

    1. Re:Hackers by Anonymous Coward · · Score: 1

      ... while today you can't make a video game without a team of hundreds.

      You can. Check 'Indie game: the movie'.

    2. Re:Hackers by crow_t_robot · · Score: 1

      I've seen the documentary and it was pretty awesome but as soon as each programmer gets the game to early alpha they have to start bringing in other people to finish the game up to get it ready for release.

  6. With QB64, solo programmers can do a lot more. by hackwrench · · Score: 1

    Sample Programs: http://www.qb64.net/forum/inde...
    Another place with programs: http://www.thejoyfulprogrammer...

  7. The Legend of Davy Brogramar by NotDrWho · · Score: 5, Funny

    He can write a C++ compiler using only javascript.
    He can build a robust modern MMO with no bugs in 2 days, using only a Commodore 64 and a case of Red Bull.
    He can promise an application to solve all your company's problems, and actually deliver it !!
    And he always puts pros before hoes
    He's Davy, Davy Brogramar...master of all programming!

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
  8. Loners count by Anonymous Coward · · Score: 0

    I think we need to accept people who don't work with others, instead of trying to squish them into the unsuitable role of "team member." I've been thusly squished, and I've won lots of praise for cooperating. No one seems to have noticed that my output has dropped by about 80%.

    1. Re:Loners count by BVis · · Score: 0

      It's not about productivity, it's about drinking the Kool-Aid. If your employer artificially forces work relationships (by encouraging "collaboration", which is usually two coders complaining about their manager), then you're less likely to complain about something ("we're all in this together") that you really should be complaining about. They would rather have a worker bee at 20% capacity than an independent thinker at 100%.

      --
      Never underestimate the power of stupid people in large groups.
    2. Re:Loners count by RabidReindeer · · Score: 1

      Efficiency in modern business is measured by how many hours you spend in your cubicle chair like an inflatable Bozo doll looking like you're typing something. Not on actual production of a quality product.

      And you're expected to be 110% efficient, so if you could come in Saturday ... that would be great.

    3. Re:Loners count by BVis · · Score: 1

      Measuring productivity is hard. Butt-in-seat time is easy.

      --
      Never underestimate the power of stupid people in large groups.
    4. Re:Loners count by Anonymous Coward · · Score: 0

      Measuring productivity is an art and not something that can actually be quantified solely by METRICS (uggh now I feel dirty I used the M word).

    5. Re:Loners count by Bengie · · Score: 1

      Measuring productivity is situation sensitive where everyone is in a different situation and the number of situations are infinite and can vary wildly between any two people. You also have the whole issue of "quality" where increased quality can reduce the current situation's productivity for an overall increase of productivity in the future.

  9. I knew I remembered that name from somewhere by DNS-and-BIND · · Score: 5, Informative

    "I once preached peaceful coexistence with Windows. You may laugh at my expense - I deserve it."

    -- Jean-Louis Gassee, CEO Be, Inc.

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
  10. Notepad++ by peon_a-z,A-Z,0-9$_+! · · Score: 2

    In a way, Notepad++ was written by one person, right?*

    *With a handful of contributors since 2014?

    1. Re:Notepad++ by Camel+Pilot · · Score: 1

      Notepad++ is based on Scintilla. The point as made above by other posters it is easier today to write major public visible applications using libraries and other code source. Not to take away from the significance of the accomplishment of the author of Notepad++.

  11. It's not famous or widely used by msobkow · · Score: 1

    It's not famous or widely used, but my pet project MSS Code Factory started in 1998 and has kept me busy ever since. I think I'll finally be finished with it this year, though. I think it's time to find something new to occupy my mind and my time with. :D

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:It's not famous or widely used by lannocc · · Score: 1

      Your project looks interesting, thank you for the link. As a Java/XML/DB guy myself I realize the importance of good tools for turning business processes and workflows into working prototypes and overcoming the verbosity of these languages. I'm now following your project on Github and hope to install it and try it out soon. Best wishes!

  12. 124k? by AndyCanfield · · Score: 1

    The Apple ][ we had had a 64k address space, true. But it was bank switched. Main memory was 60k, as I recall, but the top 4k had an OS function to select an additional 60k that would map into the low-order 60k. So you had a high 4k permanent bank and two low switched banks of 60k each.

    If you stuck to BASIC you never knew this was going on, and maybe it was only the later machines that did this. But us 6502 hackers knew it. A total of 124k.

    It was many years ago; I think it was the top 4k but it might have been the top 8k. I thought it was so neat that Apple was using address lines to bank switch.

    1. Re:124k? by Anonymous Coward · · Score: 0

      * if you had an 80 column card.

    2. Re:124k? by mark-t · · Score: 1

      The Apple ][ had only 48K of regular RAM. There was 4K of IO-mapped space, and 12K of ROM. With a ram expansion card, could could map the 16K of additional memory using bank switching into the top 12K rom area. In practice, most software did not use this area. When ProDOS came out, the area was not available for end-user programs at all, since it used this space.

    3. Re:124k? by WheezyJoe · · Score: 2

      The Apple ][ plus had 48K of regular RAM and an expansion slot 0 for the 16K RAM expansion card (known as the "language card" because it enabled Pascal to run on the machine). The older Apple ][ did not have this slot, and maxed out at 48K.

      The Apple //e came with 64K built in, but still arranged as above for compatibility. Whereas the earlier DOS fit within the 48K space, the more feature-full ProDOS occupied the language card space and thus required a 64K machine.

      The Apple //e replaced slot 0 for a specialized slot for an 80-column card, and the latter came in two flavors, the "extended" one carrying another 64K of RAM which could be accessed through yet another form of bank-switching. One the of the best known apps to take advantage of this was Appleworks.

      Third-parties like Applied Engineering expanded on the idea of the extended 80-column card with products like Ramworks, which provided additional 64K bank-switchable banks all the way up to a total of 3 megabytes, useful for ram-disks and so that Appleworks could load it's entirety into RAM. Even at 1MHz, an Apple // operating entirely under ram-disk seemed darn-well snappy.

      --
      Take it easy, Charlie, I've got an Angle...
    4. Re:124k? by mark-t · · Score: 1

      You are right... it was the Apple ][+ that could utilize the 16K ram expansion card. My bad. My first experience with an Apple was on a ][+, and I sometimes forget about the +.

    5. Re:124k? by WheezyJoe · · Score: 1

      Same here. The green "plus" on the name plate didn't stand out too much. My school library got one with a color composite monitor, paddles, two floppy drives, an Epson printer, and the fantastic documentation (Applesoft Tutorial, Apple ][ Reference Manual) but needed some kid to help with how it works. After I showed 'em how to boot "Oregon Trail" and "Lemonade Stand", they let me use it whenever it was free. Awesome.

      --
      Take it easy, Charlie, I've got an Angle...
  13. Minecraft by Anonymous Coward · · Score: 0

    Obviously Minecraft shoots this theory out of the water. The first version was created by one person. Software can still be created by one person. I always wonder what software companies that employ thousands of programmers actually do with them. They aren't producing that much software. I think people just pile on because money can be made, and every manager wants their own fiefdom.

    1. Re:Minecraft by coldtone · · Score: 1

      Minecraft is a great example. Written at a time where all major games had teams in the hundreds, and multi million dollar budgets. Everyone had declared the solo programmer dead.

    2. Re:Minecraft by Anonymous Coward · · Score: 0

      Too many people haven't read the mythical man month. In short a lot of software is produced under the guise of, if we get 9 women, we can make a baby in one month, right?

    3. Re:Minecraft by tepples · · Score: 1

      But in order to get Minecraft or Cave Story or any of the other solo success stories onto game consoles everywhere, the team had to become a lot more than just Markus Persson or Daisuke Amaya.

    4. Re:Minecraft by Anonymous Coward · · Score: 0

      It didn't have to. Probably one person could have done that as well, maybe not as fast. Plus many programmers get bored with just porting. I'm sure that microsoft has hundreds of programmers added to Minecraft now that they have bought it. Unnecessary but typical of modern software companies.

    5. Re:Minecraft by ILongForDarkness · · Score: 1

      Part of it I think is there is a lot of software features that don't make it into production and then a lot of supporting code to control the testing servers, test data generation etc etc. My work on my project for example, about 10 server devs, 5 client side, and 3 "tools" guys that keep the CI servers running, deploy all the test environments and generally automate things. So that is 30% right off the top that a customer will never "see". Then for one reason or another an API server side creates has maybe a 50% chance of actually having a client side developer call it, and often in a year or two by the time they get around to their side of the feature the UI has been completely re-thought up and so they need different data at different times, or different business rules etc. Obviously there is room for improvement here but the end result is roughly the same: maybe a factor of 2X could be generated, but still would have over 50% of the time wasted on non-customer generated activity. A profitable business will suck in business analysts, manual and automatic testers, the IT/devs that support those systems, potentially coder/technical sales guys (a la something like big Oracle Sql Server project) or coder/custom configuration guys (a la SAP and the like).

      The beauty of the "one person" project is (we assume since we have little public evidence to the contrary): is they made something useful that actually hit a market demand the first time out. They had less need for support stuff because they don't have a dozen internal stakeholders and another dozen testers all demanding testing environments updated at different schedules with different featuresets turned on and off etc. Once they hit a homerun and be come popular I bet a whole lot of "business processes" get slapped on/around that golden goose and the efficiency goes way down. Of course those that choose not to make a business/worry about profitability like the Notepad++ guy can happily keep coding whichever features s/he want to add without adding a whole lot of bloat.

    6. Re:Minecraft by Bengie · · Score: 1

      The scaling of productivity to the number people on the team can be very strange. going from one person to two can over double output, doubling yet again may be slightly less than double the output, yet another doubling may be more around 50% increase, doubling yet again may be more like 25%, and doubling yet again may have negative performance gains.

    7. Re:Minecraft by Anonymous Coward · · Score: 0

      Have a look at the nowhere demos. And hopefully soon the release. He's working hard on it, living from donations (i.e. presales), only with his wife (doing the artwork for the game) at his side.

    8. Re:Minecraft by tepples · · Score: 1

      But in order to get Minecraft or Cave Story or any of the other solo success stories onto game consoles everywhere

      Have a look at the nowhere demos.

      From the FAQ:

      The final game will run on all three major platforms, just like the Codex of Indie Game Development that I just made up demands it. We release alpha builds for Windows, Linux and OS X, with a new build available to founders ideally every two weeks, if a major feature doesn't require more time.

      I see nothing about a console port. My point is that it takes a larger team to shepherd a game through console makers' bureaucracy.

  14. Hiawatha webserver by Aethedor · · Score: 2

    Or the quite unknown Hiawatha webserver. A very good alternative to the well known Apache webserver and completely written by one person.

    --
    It doesn't have to be like this. All we need to do is make sure we keep talking.
    1. Re:Hiawatha webserver by phantomfive · · Score: 1

      Webservers are fairly easy to write from scratch.......you can write one in a day (with basic functionality). The time-consuming part is when you add all the bells and whistles and features. Adding the ProxyPass feature to your webserver (like Apache has) will take yet more time.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Hiawatha webserver by Anonymous Coward · · Score: 0

      Hiawatha does actually feature a reverse proxy.

  15. Solo isn't always solo ... by Anonymous Coward · · Score: 0

    Solo programming efforts in the past are the stuff of legend (i.e. Knuth's LaTeX) But even several of posted examples were written by one person and then documented, marketed, sold, and supported by _teams_ of people. Software research literature beginning in the '80s shows that one properly skilled designer/developer could be better than 10 or 20 mediocre ones (see 'N-version programming' and 'software cleanroom' which led to the '10x programmer' buzzword). The 10x programmer is great, but finding one is like finding a unicorn. And once the code is written and debugged you still have to have a team to sell, support, invoice, etc. because the 10x guy doesn't do this stuff.

    As for iPhone apps: if you're doing anything useful there's somebody developing on the backend - plus sales, support, etc.

    1. Re:Solo isn't always solo ... by Anonymous Coward · · Score: 0

      Knuth had absolutely nothing to do with LaTeX.

  16. Chris Sawyer by Anonymous Coward · · Score: 0

    Independently authored RollerCoaster Tycoon (almost entirely) in x86 assembly.

  17. Same old story that accompanies tech progress... by SlideRuleGuy · · Score: 1

    Another variation on the same story we get here every month or so. "Such-and-such is so complex now that the individual is no longer able to contribute anything truly new, as the stuff that one person can do on their own has already been done." That's the price of technological progress, people.

    Sure, the exceptions jump out at us, as some of you are posting. But they jump out at us because they are the exceptions nowadays. As things progress we should expect that the serious front-line work will require more than one programmer.

  18. Programmer don't matter! by Anonymous Coward · · Score: 0

    I know, they do, you know they do, but everyone in IT has been trying to prove they don't. The one position in any IT that is looked upon as a mere cog is the programmer. Lose your Java programmer, hire another Java programmer. Most organizations are pretty bad at documentation and what most people don't like is that the programmer generally is the one who know how the "system works."

    Most places I've worked there's an emphasis on team. I don't have a hard time with that and any programmer with a whit is not afraid to share what they know but then you introduce Agile and Scrum. The programmer is now given small tasks; basically you're the puppet for everyone who writes a story. Because these tasks are small, it's okay to do them over and over again in the name of agility. You're never going to learn anything about any system by working on an agile team.

    Now a word about BAs. I've met some really good BAs. Most weren't very good. They end up being a layer of obfuscation between the developer and the business. They don't know anything about the business (except what the business tells them) and they generally are pretty poor at technology so of course they're the logical communication conduit between the business and the programmer.

    There was a time when the programmer acted as BA and programmer. Now programmers are just implement. I've been told on more than one occasion to "shut up and code it" when I questioned a requirement.

    The only way to be a programmer as describe in this article is to code your own project. That's really tough. You can poor a lot of love into something that is either ignored or becomes so popular a large company steals it.

  19. Total Commander by Anonymous Coward · · Score: 0

    The best modern piece of software I know of that is written by a single programmer is Total Commander. By far the best file manager in existence, anything you can think of in terms of file management is possible with it. Unfortunately Windows-only, I miss this functionality on Mac and Linux.

    1. Re: Total Commander by Anonymous Coward · · Score: 0

      Midnight commander (MC) for linux, maybe?

    2. Re:Total Commander by Anonymous Coward · · Score: 0

      You can try Double Commander as an (almost) identical alternative for Linux and Mac. Not as mature as Total Commander, but it is getting there slowly.

  20. Pegasus Mail and Mercury by Anonymous Coward · · Score: 0

    AFAIK, both are developed and mantained ba a single person: David Harris.

  21. what a load of crap by Anonymous Coward · · Score: 0

    "There's no place for a 2015 Paul Lutus. But are things really that dire?"

    This fellow Jean-Louis Gassée - pompous, witless and clueless.

  22. Remember the type-in programs? by Anonymous Coward · · Score: 0

    Those were all single-programmer programs. On the Commodore side there was SpeedScript.

  23. Two Reactions by sottitron · · Score: 1

    First: Some of the best stuff I ever worked on was entirely by me. For one thing, you don't have to get your point across to another person to know what you are trying to accomplish. Its actually very hard for lots of people to share a vision and work on it.

    Second: http://www.paulgraham.com/head...

    1. Re:Two Reactions by Anonymous Coward · · Score: 0

      Thanks to Sam Altman, David Greenspan, Aaron Iba, Jessica Livingston, Robert Morris, Peter Norvig, Lisa Randall, Emmett Shear, Sergei Tsarev, and Stephen Wolfram for reading drafts of this.

  24. Working on the next big thing right now by myself by DidgetMaster · · Score: 1

    Well, not quite...I do have one other guy helping with a GUI admin tool that calls down into my system. But all the guts of my new, general-purpose data management system were written exclusively by me. I have a huge list of features yet to implement, so I could use a lot of help, but until someone steps up and wants to dive in with me, I am on my own. It is an incredibly ambitious product (think file system, relational database, key-value store, graph database, and distributed data management system all rolled into one big data object store that uses multiple data models) so there is nothing trivial about it. I have been in the data management business for 30 years (wrote file system drivers, custom file systems, PartitionMagic and Drive Image, cloud backup, etc.) and I have never seen anything that comes close to my system in terms of speed and flexibility. At this rate, it might still be more than a year before it is ready for use in a production environment but I still code on it every night and weekend. A video of my demo can be found at https://www.youtube.com/watch?...

  25. Color me impressed (for real)... apk by Anonymous Coward · · Score: 0

    "PartitionMagic and Drive Image" - by DidgetMaster (2739009) on Thursday August 27, 2015 @10:42AM (#50402109)

    See subject: If you wrote those, you have my respect (big fan of applications, not webstuff, here - & those are useful ones).

    APK

    P.S.=> Good job... apk

    1. Re:Color me impressed (for real)... apk by DidgetMaster · · Score: 1

      I was one of 4 programmers that wrote the first 3 or 4 versions of PartitionMagic. I was the only programmer on the Drive Image team for its first 2 versions. After it started bringing in a few million $ in sales, the company (PowerQuest) decided to add some other programmers to the team to help me :)

    2. Re:Color me impressed (for real)... apk by theArtificial · · Score: 1

      Cool piece of software, thanks for posting! I've got a box of it floating around somewhere still. Thanks for the effort, you helped the rookie me and my parents.

      --
      Man blir trött av att gå och göra ingenting.
  26. pros and cons by Tom · · Score: 1

    There are definite advantages to a solo-programmer project.

    For starters, you can take shortcuts you couldn't take in a team, because there is a reason that you have all these coding styles and guidelines and templates and levels of abstraction and frameworks and all that other stuff, and the reason is "you are not the only person working on this project".

    Well, if you are a lot of these constraints disappear. I love to write code with a low amount of abstraction, because yes, I understand its advantages, but if I need to hop through 20 levels of abstraction before I find the place where the actual (potentially buggy) calculation is being done, that's just a chore. In a team, where other people re-use your code, you want modular.

    There are projects you can do alone. In fact, a lot of applications can perfectly well be written by one person with enough time. I've got probably a million lines of code in various projects that are all one-man projects or started out that way.

    And frameworks make your job easier not more difficult. There is so much stuff in them that you don't have to re-invent or write yourself. I wrote one complex web-app using pure PHP and I don't want to ever do that again. With Symfony2 (my choice ATM) or whatever other framework you like, you can have a basic app running in one day.

    What I find to be the problem more and more is not that you need more programmers. But that you need designers and graphics artists and UX experts to make a competitive software, application, website, etc. today.

    Back in C64 times, you could draw a couple sprites yourself, even if you were not an artist. Yeah, they would not look as great, but it was good enough. Today, peoples standards are higher and while you can make a 12x21 pixel that looks similar to what a real artist might make, you will not do something that comes even close at 128x128.

    So in summary: Absolutely, you can code a reasonably complex application with one programmer. Aside from a few edge cases it is really hard to create the whole application with everything as one person. Though in parts you can simply buy what you can't make yourself. Icons are not a problem to get for free or for money, for example.

    --
    Assorted stuff I do sometimes: Lemuria.org
    1. Re:pros and cons by omtinez · · Score: 1

      What I have found is that, when I write code like I would for a team, I tend to re-use those modules, bits and pieces in many more projects; so the payoff is actually quite good in the long run. Furthermore, after a few months have passed I always regret when I have not documented those re-usable pieces well enough.

    2. Re:pros and cons by Tom · · Score: 1

      True to some extent. I didn't say forget all good practice.

      But, for example, for the game listed in my .sig I wrote a lot of very specific GIS code. Yes, I could have spent the additional time and conceptual work and written a generic "find object on map based on criteria" service and maybe it would be useful in some future project.

      But with what I've learnt doing it the way I did, I could write another task-specific piece of GIS code in half the time that the abstraction would cost me, with none of the overhead and performance impacts.

      --
      Assorted stuff I do sometimes: Lemuria.org
  27. Agreed, it's nice work... apk by Anonymous Coward · · Score: 0

    See subject: Almost TOTAL agreement here - maybe not about it being "the best there is" but it's good stuff!

    * I've always like WinRar myself - compresses better than WinZip (& does more formats natively afaik, not lately, but from the past, better memory usage etc.) which I used to consider a paragon of functionality & form fitting perfectly. BOTH are...

    APK

    P.S.=> You know, there's NOTHING STOPPING YOU from learning how to make these things yourself really - ever consider it? Believe me - a few programming courses is all it really takes (suggest C++ here, most used) + a GOOD idea... apk

    1. Re: Agreed, it's nice work... apk by Anonymous Coward · · Score: 1

      I am surprised no one mentioned apk. He single handedly created a host files solution to block spam and malware. The one man team is not dead. The legend of APK lives on.

  28. nice ad for Acorn by ksheff · · Score: 1

    Who else had never heard of this software before?

    --
    the good ground has been paved over by suicidal maniacs
    1. Re:nice ad for Acorn by Anonymous Coward · · Score: 0

      i've seen it but what i really used was gus's open source FMDB to use sqlite with a objective-c wrapper

  29. Re:Yup, it's like that on larger/complex ones... a by DidgetMaster · · Score: 1

    Glad you liked them (PM and DI). Some of the best words a programmer can hear is..."I used your software and it really helped me solve a problem."

  30. Agreed 110% & your work did for me... apk by Anonymous Coward · · Score: 0

    "his hosts program is actually pretty good" - by xenotransplant (4179011) on Monday August 10, 2015 @03:34PM (#50287195)

    See subject & that quote "I know the feeling/what you mean" via that quote from others here.

    (THAT, for me, IS a rarity here - as most make their monies from GOOGLE here afaik as webmasters etc. - they don't want their admoney cutoff - sure, malware makers might object, but I think they're the least of my 'enemies' - they just make more, like doritos, in malicious sites... admen, webmasters, & inferior browser addon competitors are the ones I deal with most, as far as "detractors"... funniest part is, THEY TOO can benefit by my program's outputs also!).

    APK

    P.S.=> You're right - word of mouth goes a LONG ways & it's what it's ALL about + inspirational too... apk

  31. GoldWave by Anonymous Coward · · Score: 0

    GoldWave was (and is) written entirely by one person and is still being updated 23 years later.

  32. The obvious solo programmer is... by Anonymous Coward · · Score: 0

    Geoff Crammond, https://en.wikipedia.org/wiki/Geoff_Crammond

    who wrote ALL the Grand Prix games.....

  33. Code First by Anonymous Coward · · Score: 0

    Solo programmer always codes first.

    1. Re:Code First by Anonymous Coward · · Score: 0

      Over my dead body.

  34. Minecraft? by T.E.D. · · Score: 1

    Good thing nobody told Notch that the days of the solo programmer are over.

    1. Re:Minecraft? by Anonymous Coward · · Score: 0

      Good thing nobody told Notch that the days of the solo programmer are over.

      What has Notch programmed lately, other than the security code for his fabulous mansion?

    2. Re:Minecraft? by T.E.D. · · Score: 1

      What has Notch programmed lately, other than the security code for his fabulous mansion?

      After you get a $2.5 Billion payday, how hard will you work?

  35. DragonFrame: Stop Motion Animation Software by theDerek · · Score: 1

    While it's not a program that an everyday user would use, the application DragonFrame is the work of a single developer. This application is used on most of the major stop motion animation movies (Boxtrolls, Shaun the Sheep, Frankenweenie, etc.). I think that one-developer applications require a very, very good (aka "rock star") developer who enjoys working on one project for a long time.

  36. The romance of the code ninja by quietwalker · · Score: 4, Insightful

    - Silently checking in 12000 lines of code in the middle of the night and leapfrogging the entire development schedule by months.
    - Spending 72 consecutive hours at the keyboard, sustained by caffeinated drinks and a desire to produce an end product that will make your users - and other programmers say 'Wow!'
    - Delving into the voodoo and deep magic of a system, consuming it all and spitting it back out with ease, and being regarded with awe by your peers.

    Yeah, these are awesome. The Story of Mel was an early encouragement to me; between it and the movie Tron, it put me on the path to being a software developer.

    Lots of folks pointed out pro- arguments, so I won't cover those, but there are an awful lot of cons. 20 years plus into my career, I'm seeing some fatal flaws.

    The first is the Bus Factor. A solo developer, whether in a group or not, does not facilitate the dispersal of knowledge. There's a difference between documentation - even the elusive technical documentation - and knowledge, and that gulf widens with each feature, bugfix, and release. In my experience, when a solo developer leaves - for whatever reason - it's often easier to start from scratch than try to maintain their software.

    That leads us to the next issue, maintainability. As was described above, a solo developer can skip quite a bit; coding style, documentation, modularization, naming schemes, readability, unit testing, automated build and deployment, and so on. I've had to take over so many projects in my life that required more time to set up a working build and test environment than they did to fix the error I had been brought in to tackle. I used to carry a pack of cd's with precompiled versions of sed, awk, as, and other tools for various *nix platforms (and versions of those platforms) because these were often not just pre-requisites for the often complex script-based builds, but often only came in for-pay packages that weren't on the machine I was expected to work off of. I had a set of about 30 just for HP-UX alone (because you have no idea which version-specific behavior a given build relies on). Put it this way: every build required a port.

    Of course, it's not just other people's code. I'd come back to something I wrote a year prior and it'd be horrible.

    "Why did /THEY/ do this? Wait ... did I do this? Geeze, I USED to write bad code." - me, every. single. time.

    I have a theory that only constant modifications to code keeps away the gremlins that cause bitrot. Leave a piece of code alone for a month, no commits (assuming you're even using version control), and they come in and crap all over your beautiful hacks and graceful architecture, rendering it just barely capable of doing what it was designed to do, and sometimes not even that. Yet, you write your code as if a team will handle it, losing most of the benefits of being a solo dev, and it's usable when you come back to it later.

    Communication is next, and it ties into the maintainability above, but on a software development lifecycle level. When someone is silently making architectural changes and off doing their own solo thing, sure, they get a lot done. When you're completely by yourself, that's fine. What happens though, when you're doing solo development in a large company? Suddenly there's no code reviews, no understanding of department or organization architectures, or even just updates to them. Your code usually stands on the back of a whole architectural stack, and without two-way conversations, it isn't guaranteed to hold up. It's not just that you might accidentally reinvent the wheel - it's that you could do it wrong and limit the application (or have it die) later, with an expensive to fix systemic issue. Documentation fits in this category too - and why do documentation when you're a solo dev? You can always answer any question, right? Yo

    1. Re:The romance of the code ninja by Anonymous Coward · · Score: 0

      Yes! I've only ever been a solo developer (doing my third commercial indie game, countless freeware prior) with one artist making up our team and code maintainability is a struggle no matter how much effort I put in. I'm getting better, each project I push myself to learn new methods and coding techniques, but still feel I would gain a lot from doing one project in a team.

  37. Re:HR loves this shit by sjames · · Score: 1

    But of course, they won't be considering the other prerequisites like reducing manager count, burning the timesheet forms (with the 30 second intervals), or offices with doors that close.

  38. Flamebait? by WheezyJoe · · Score: 1

    Ya know, I have nothing against Apple, and lots of praise for interface builder and the other tech that came out of NeXT, but is this AC honestly jizzing for Apple development products, or is he actually an alien trying to test how quickly Apple-haters will start flaming and others will argue frivolously over their favorite development environment?

    --
    Take it easy, Charlie, I've got an Angle...
  39. My favorite example; huge app with 1 dev by microTodd · · Score: 1

    Dwarf Fortress!!!!!!!!!1!!!1eleventy!!!!!

    Here's a pretty cool article about Tarn Adams. His lifestyle sounds pretty similar to the guy in the cabin.

    http://www.nytimes.com/2011/07/24/magazine/the-brilliance-of-dwarf-fortress.html

    --
    "You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
  40. There are lots of super software by Cafe+Alpha · · Score: 1

    that's mostly the work of one programmer, for instance luajit http://luajit.org/ mostly the work of Mike Pall.

    He's transitioning to open sourced without him though.

    It's not perfect (for instance writing his own assembler instead of using a standard one for the interpreter makes debugging changes to the interpreter hard).

  41. heh by Anonymous Coward · · Score: 0

    In these days and age peeps can still make living selling image manipulation tools..... lol.... there's GIMP, Krita, Inkscape or Blender and of course there are the Adobe's stuffs... heh.

  42. Repost vs. bogus downmod: Yup! by Anonymous Coward · · Score: 0

    See subject: I'm impressed + I take you @ YOUR WORD (why not? Until it's time not to, I do)! I'm a former user of YOUR work!

    I spent a 20++ yr. professional career writing mostly custom business info. systems (everyone needs them, no 2 businesses do business EXACTLY the same is why - so, there's always work) that managed everything from shop floor to all the business-related aspects that tied into the departments concerned - mostly all really!

    You can do imo & experience, about 1 million lines of "bugfree & bulletproof" code yourself in a year but large systems are MUCH larger than that as you know & take more time AND MANPOWER!

    E.G./I.E. - Code on front-ends are only part of it, reporting & DB work is even more (now 'semi-retired' & into realestate, occasionally doing custom app + network migrations for various Fortune 100-500's that contract me to do it - only thing that "gets me off my lazy ass" is the payrate (well over $45/hr. usually)).

    Other than that though? I'm quoting David Bowie from "The Prestige" on this one:

    "So, here I am, enjoying my retirement..."

    APK

    P.S.=> In any event, good luck to you in your future endeavors!

    The future's MORE about DATA & INFORMATION, ala this creation of mine (yields more speed, security, reliability, & even anonymity) - about 40k lines of code I popped together in about a month:

    APK Hosts File Engine 9.0++ SR-2 32/64-Bit

    http://start64.com/index.php?o...

    For free, for folks using it - ONLY GIVING FOLKS WHAT THEY WANT (their money's worth in bandwidth ads rob + more speed, & security vs. malwares etc.)!

    It's far more efficient than browser addons &/or DNS locally installed (considering admen are bribing browser addons to not work fully crippling them, OR ala MS Edge not running them etc.).

    Using what you ALREADY NATIVELY HAVE, vs. "bolting on 'MOAR'" for no good reason, in slower usermode (vs. hosts in kernelmode & part of the IP stack itself)... apk

  43. Someone from long ago can speak for me by Anonymous Coward · · Score: 0

    I'm sorry, but I don't want to be an emperor. That's not my business. I don't want to rule or conquer anyone. I should like to help everyone - if possible - Jew, Gentile - black man - white.

    We all want to help one another. Human beings are like that.

    We want to live by each other's happiness - not by each other's misery. We don't want to hate and despise one another.

    In this world there is room for everyone. And the good earth is rich and can provide for everyone. The way of life can be free and beautiful, but we have lost the way.

    Greed has poisoned men's souls, has barricaded the world with hate, has goose-stepped us into misery and bloodshed.

    We have developed speed, but we have shut ourselves in.

    Machinery that gives abundance has left us in want.

    Our knowledge has made us cynical. Our cleverness, hard and unkind. We think too much and feel too little. More than machinery we need humanity. More than cleverness we need kindness and gentleness.

    Without these qualities, life will be violent and all will be lost...

    The aeroplane and the radio have brought us closer together. The very nature of these inventions cries out for the goodness in men - cries out for universal brotherhood - for the unity of us all. Even now my voice is reaching millions throughout the world - millions of despairing men, women, and little children - victims of a system that makes men torture and imprison innocent people.

    To those who can hear me, I say - do not despair. The misery that is now upon us is but the passing of greed - the bitterness of men who fear the way of human progress. The hate of men will pass, and dictators die, and the power they took from the people will return to the people. And so long as men die, liberty will never perish.

    Soldiers: Don't give yourselves to brutes - men who despise you - enslave you - who regiment your lives - tell you what to do - what to think and what to feel! Who drill you - diet you - treat you like cattle, use you as cannon fodder. Don't give yourselves to these unnatural men - machine men with machine minds and machine hearts!

    You are not machines! You are not cattle! You are men! You have the love of humanity in your hearts!

    You don't hate! Only the unloved hate - the unloved and the unnatural! Soldiers! Don't fight for slavery - Fight for liberty!

    In the 17th Chapter of St Luke it is written: "the Kingdom of God is within man" - not one man nor a group of men, but in all men! In you!

    You, the people have the power - the power to create machines. The power to create happiness!

    You, the people, have the power to make this life free and beautiful, to make this life a wonderful adventure.

    Then - in the name of democracy - let us use that power - let us all unite. Let us fight for a new world - a decent world that will give men a chance to work - that will give youth a future and old age a security.

    By the promise of these things, brutes have risen to power. But they lie! They do not fulfill that promise. They never will!

    Dictators free themselves but they enslave the people!

    Now let us fight to fulfill that promise! Let us fight to free the world - to do away with national barriers - to do away with greed, with hate and intolerance.

    Let us fight for a world of reason, a world where science and progress will lead to all men's happiness.

    Soldiers: in the name of democracy, let us all unite!

    * FROM -> https://www.youtube.com/watch?...

    APK

    P.S.=> Quoting a great man (Charlie Chaplin) from LONG AGO on that one - he said it better than I ever could... apk

  44. Huh? by Anonymous Coward · · Score: 0

    There are several people who work on Preview.

  45. Eat your own dogfood by allo · · Score: 1

    Its the "eat your own dogfood", what helps.

    A person has a problem, solves it with code and shares his program. He improves on the program, as he uses it and needs it, others benefit, too. He will be way more efficient and his product way more useful, than a hand full of programmiers, with some unclear specification, which needs to be worked on to check bulletpoints on a TODO list. They will do what they are told to, while he will do what he needs for his program to work fine. And if he sees that some idea won't work out, he will find another solution, instead of pushing hard until the TODO list item is finished, even when the feature will be useless.

  46. Re:HR loves this shit by Anonymous Coward · · Score: 0

    Looks like some HR pukes modded you down.

    Listen up kids: HR is there to defend the company, NOT you. Never say a word to them thinking they're your friend. They're looking for a reason to fire you and replace you with someone cheaper.

    Ignore this advice at your own peril.