views:

8982

answers:

103

Do you have your own hobby development project, that you like to work on your own?

If "yes", could you please tell a bit more about it (links are welcome)?

  • What kind of project is it?
  • Did it help you professionally? How?
  • Is it open-source? Do other people use it?

If "no" - Do you want to start one?

PS: This question came up after this answer ("Let's have a look at your hobby projects") to the question Write a program in 30 minutes (for a C# programmer candidate interview question) and was suggested by itsmatt

Related Questions:

Pet Projects - Should we have one?

+4  A: 

Yes: http://gong-shell.sourceforge.net/

It allows you to embed Windows Explorer controls in your .NET applications, and interact with the Windows Shell in code. It did help professionally to a degree, and I've actually used it in my current and previous job. It's open-sourced under a GPL licence. I generally get 0-5 downloads per day, but I've had very little feedback on it. I take that to mean it works perfectly :)

Groky
The library looks pretty cool. Too bad it is under the GPL license though - I could never use it at work. Any chance you could be convinced to move it to a BSD or Apache or even LGPL style license?
consultutah
Yes, I am thinking about using another licence. Probably LGPL, unless you have any other suggestion?
Groky
I prefer Apache or BSD (they are roughly the same; they just say use this how you want, but don't sue me), but LGPL is good for commercial software too...
consultutah
A: 

If I do (I don't have much time for some reason (hmm, internet)) it is the one that is about generating a nice set of website/database/admin/etc tools that I can use in case I do contracting in the future, as well as for any personal websites I might deign to create in the meantime.

JeeBee
This reminds me of my first personal remote development project. I got it only because I had hobby project framework that was really close to it)
Rinat Abdullin
+20  A: 

Yes, a couple:

1) Protocol Buffers

  • Open source port of Google Protocol Buffers to C#
  • It's part of what I do as Google 20% time - but that will help professionally anyway
  • Yes, it's open source. People will almost certainly use it when it's finished.

2) MiscUtil

  • Open source library of miscellaneous bits of interesting or useful code.
  • Developing it (with Marc Gravell) has helped me broaden my horizons, making me a more interesting developer IMO. I have sold a (non-exclusive) commercial licence for one part of it, which I guess counts as helping me professionally :)
  • Yes, it's open source. I don't know how many people use it. I'd expect (and encourage) people to take little bits of it as and when they want to, rather than the whole lot.
Jon Skeet
That's a nice library you've got there - MiscUtil. Resembles my OSS shared lib a lot)) Enjoyed reading through.
Rinat Abdullin
+11  A: 

I work on a cyberpunk-esque roguelike game called crashRun:

http://pixelenvy.ca/crashRun/

It's written in Python and uses (for now) Pygame for the interface. GPL'd. Also, somewhat related related question: http://stackoverflow.com/questions/128705/do-you-ever-code-just-for-fun#128769

Dana
Great game, I love the way it's coming out so far
Justin Poliey
Yay for roguelike developing. A roguelike is the perfect hobby project.
Oddmund
My first computer game I played was rogue! :)
thrashr888
Oh yay! And it's in Python too =) Can't wait to get home and try it out.
Wez
Oh cool, hope you have fun! The official website is now crashrun.org :)
Dana
+11  A: 

Personally, I believe any good programmer, unless he's working at a start-up that's taking 80 hours a week, is going to have a hobby project or two.

My main hobby project (I have a couple) is producing and maintaining the aeronautical data and the database generators at http://navaid.com/

The source code is not distributed because I don't think anybody would care enough to see it.

It wasn't done to help me professionally, and I don't believe it has done so. I did it partly to get more proficient with perl (a language I rarely use professionally) and mostly because I needed the data and the databases for my own hobby flying.

I solicit donations on the site, and that does not bring in enough to pay for the hosting, so you couldn't call it a money maker either.

Other hobby projects are running mailman mailing lists, usenet news servers, a Drupal site for our neighborhood association, a web site for my flying club, and now I'm producing a web site for my kayaking coach.

Paul Tomblin
Some hobbies turn into startups ;-).
Gamecat
Actually, sometimes I get tired of working at work and working at home. I often find that I'll get enthusiastic about my hobby projects on a Sunday evening, after I've had a break for a couple of days...
CJM
My current boss's hobby project turned into a startup. Now we have 2 VB guys stuck with 8yr old rotted VB :(
leppie
I have hobby ideas but I have trouble convincing myself to program after spending all day doing it at work. :( In response to your "Personally, I believe any good programmer, unless he's working at a start-up that's taking 80 hours a week, is going to have a hobby project or two." line.
MattC
You should revise your statement to "any good programmer who doesn't have kids" :P. After a day of work, commuting home, and dealing with a 1 year old and 3 year old for a couple of hours in the evening, my brain is toast.
17 of 26
That's something I always ask potential new hires. If they are under 30 are aren't programming something on the side (even if it's just a blog site customization or something), I wonder if they are in the right field. I do make allowances for under 30's with kids :-)
CMPalmer
+1  A: 

I have several, my MSBuild tasks, Umbraco Interaction Layer (a ORM for Umbraco) and I'm preparing an AJAX workshop for work which is a several part workshop on doing AJAX rich apps

Slace
+3  A: 

What kind of project is it?

Acts As Indexed is a plugin which provides a pain-free (no compiling or external dependencies) way in which to add fulltext search to a Ruby on Rails app.

Did it help you professionally? How?

Yes. Helped me gain recognition for my CS skills as well as my engineering skills, something my current employers flagged when they first got in touch with me.

Is it open-source? Do other people use it?

Yes. Before I hosted the project on GitHub, I had some stats from my SVN server that showed that it was downloaded many times a day. Several blog articles have since been written about it.

Douglas F Shearer
A: 

Yup, a metrics/documentation and analysis tool for Delphi software. (Athough i would like to create other frontends in the future.

It started as a dependency tool, but then the thing started to have a life of its own. Its 100+ classes, lots of files, but still fun. Right now i'm busy adding the 2009 delphi features.

The projects helps me to understand legacy code ;-).

It is not open source because its 80% hobby and 20% professional time. But if i'm satisfied i will put in on a server for download somewhere.

Gamecat
+9  A: 

I have 2.

  1. xacc.ide
  2. IronScheme

Both open source (the former for about 5 years, and the latter about 1 year).

I very rarely get bug reports, hence I think the usage is rather low :)

leppie
Usage low? Gee, you think so? ;) Seriously though - Good work, and I like your attempts at porting linq to scheme as well.
troelskn
Thanks :) I hope to get more users with IronScheme beta 1 coming soon.
leppie
I downloaded it :) But I don't even know lisp or anything, so it's time has not yet come :)
Roman Plášil
the most successful open source project I did was expatpp, which was used in many projects around the world including Valve, written up in articles and at least one book and hardly anybody reported bugs because by the time it was released they were only in the sample code!
Andy Dent
IronScheme? That must be awesome :)
Richard J. Terrell
+3  A: 

I have my personal website. Which is basically just a blog. I built all the backend code myself. I could have gone with a prebuilt package, but that would have taken all the fun out. It gives me good reasons to keep up with my PHP coding, which otherwise I wouldn't use very often. That's pretty stagnant right now though, as I haven't had to do any coding for a while.

I don't have any other on-going projects. However, when I have free time, or when I encounter a problem I don't have a program to solve, I like to program little apps and scripts for myself. I work at a small company, so I get plenty of time there to experiment with different kinds of coding.

Kibbee
+19  A: 

I currently only do hobby projects, teaching myself how to program.

My most complete project is my rss reader, but it's still not done. I really don't know when I would release it since currently I don't feel I'm good enough to release something so complex without bugs.

Here's a screenshot from a week or so ago.

sieben
Is anybody good enough to release something without bugs? Don't let that hold you back! Release early, then your hard work fixing bugs goes on record!
Liam
Wow! This looks professional! What platform do you develop it on?
Rinat Abdullin
well I've only been coding for just about 2 years, but the first year I didn't understand anything really. It's written from scratch in C#.
sieben
AWESOME JOB MAN. I say release it and let the user group submit bug reports. Build a Error processing tool so when it crashes on users, it will send you some info. Other than that I say release it!!!!
Scott
The only way for you to find bugs is to use the program, bugs get found (and hopefully) fixed faster because you have a large number of beta testers.I am a Mac guy and the 'shareware' community there has tons of awesome stuff that are written on the side by developers. Everybody is a beta tester!
Redbeard 0x0A
well the thing is, I'm worried about people getting annoyed with bugs (show stopping bugs, things not working etc..) and just going back to miro/itunes. I want to make a great first impression, maybe I'm being too cautious though. Thanks for the feedback though, it's really inspiring.
sieben
This looks really good - a nice clean, simple interface. Well done - you should release it when you feel your ready to.
Scottm
+2  A: 

Funny you ask right now as I started one last week. :] I imagine Ikulo as a Mono/.NET daemon which watches a directory/several directories and tags newly incoming mp3/ogg/flac/… files (ie. using MusicBrainz). As a lot of stuff is still theory, there is no release, yet. However, one could watch the ongoing work by following the open Mercurial repository. The idea is to release it under the WTFPL.

Besides that, I am on the Warsow team since two years. I rarely contribute code and mostly do beta-testing and support, though.

hangy
+1  A: 

Myself and a few friends listen to a couple weekly trance radio shows. It got to be a lot of work to download them individually every week and add them to our iTunes libraries. So I wrote a little utility that would download the shows automatically and create a podcast out of it. It started as a project to A) reduce the repeated work of downloading the shows every week and B) to teach myself Python.

I keep looking for ways to expand it. Most recently I updated it to rip the shows straight from the radio rather than downloading them. Then I refactored the whole thing to use a SQLite database rather than a messy bunch of text files to save the data.

My newest project is building a Ruby on Rails app on top of the database to allow my friends to add their own shows to be recorded and turned into podcasts. This will save me work whenever they have a new show they wanna listen to. It's also so I can teach myself Ruby on Rails.

It's not open-source right now but I think I'd be interested in making it open source and releasing it when it's in more of a final state. I think it could be pretty useful to other people who find themselves listening to the same radio shows every week and want to turn them into on-demand podcasts.

Owen
A: 

I've got a couple of private ones that I've started but haven't had time to work on in months.

  • An amateur radio contact logger.
  • A scanner programmer/controller
  • Transceiver controller w/ support for digital modes.
Brian Knoblauch
+1  A: 

Yes, Im currently rewriting the coldfusion MachII framework into my own PHP framework (its so heavily modified that it scarcely resembles MachII anymore). It has helped me professionally because a couple of websites that I've launched at work run on my framework. My project is not closed source but its no available to download anywhere at the moment since its undergoing major changes.

michael
+135  A: 
MrZebra
if I could vote twice for this I would
slf
This is just sweet!!!
Rinat Abdullin
Maybe you should make it open source, giant robotic giraffes could become popular
Ólafur Waage
What language do you program the giraffe in?
Simucal
Also, is your nickname MrZebra a hint of things to come?
Simucal
The giraffe is programmed in C (with a little PIC assembler) for the embedded stuff, and C++ using WinAPI directly (no MFC or anything) for the Windows part.Maybe one day there will be a robotic zebra to match... we'll see ;)
MrZebra
That is actually very inspiring. Do you have a ballpark of how many hours of development you have spent on the project?
pearcewg
Hmm, I've worked on it every day for about a year and a half. During crunch times, I would do about half an hour before work, an hour in my lunch break, and then 4 hours after work. Generally I work on it for a few hours every day, and all day on weekends.
MrZebra
Great, this earns you 10000 geek points.
Gamecat
Maybe you should hook up with a museum. I've seen some pretty cool animated creatures at the Creation Museum in Kentucky.
Greg Ogle
Aliens! I knew it!
steffenj
Your booking page renders in text.
Ethan Post
Ethan, yes I know :( It's not my website... I've been bugging the owner to update it for over a year now!
MrZebra
holy crap! I've seen this thing at Maker Faire for two years running.. super cool!
Jeff Atwood
awesome stuff!! i hope there's a big market for this thing. everyone needs one.
Leon Bambrick
Jeff, you were at the Maker Faire? Cool! We will be there next year, come over and say hello!
MrZebra
FryGuy
This is quite possibly the coolest thing I've read on SO
Jess
You sir, are my hero.
Robert Venables
This pwns so hard!!!!!
Jason Watts
Wow. You win. I'm going to go cry in a corner now.
Noon Silk
Thanks ^.^--- Zebra
MrZebra
A: 

I was fed up with the woefully inadequate editor support for angles and arcs. So I've written custom editors and types for handling this and I'm currently working on refactoring AGauge so that it doesn't require so much hands on configuration, and so that it works with my new types.

It's not available outside of my home yet, but I envisage it being open source. I started it because we needed similar things on a work project and I wanted to learn how to do it right. It's also given me an opportunity to learn more about coding unit tests and C# 3.0, as well as .NET 3.5.

Jeff Yates
+4  A: 

I had a hobby of making asteroids clones. In whatever language i was learning at the time. I wrote 2 in java. 2 in c++ (one directdraw and then again in direct 3d)

I keep meaning to open the code up and do something with it.

Ed Haber
+5  A: 

I have only small things i am currently doing as a hobby, just mainly for home and my wife.

My wife is a graphic designer, So I have built an online font viewer for her, shows her all the fonts we have from anywhere over the web, plus a sample of how it looks with whatever text she wants. It renders the font as an image for fast viewing.

Another is my home movie catalog. I basically paste in the IMDB link and it scrapes the info as best it can and populates the database.

I used to work on a botting system for Diablo II a while back, which i stopped doing, but it seems someone revived the website, although i dont know the status of the project. It was a botting automation engine written in .net that allowed others to build bots as a .net assembly and load it into the game. it's called botNET, a play on dotNET. not a botnet though.

mattlant
A: 

I have a number of hobby projects, DotNetNuke modules, and windows applications. All are released open source. I spend way too much time on them, but at the same time, they are great resume items, and giving back to the community is a good thing as well, as everyone benefits.

Mitchel Sellers
A: 

Yes, UTF-CPP

  • What kind of project is it? A C++ library for handling UTF-8 encoded strings.

  • Did it help you professionally? How? No, not really.

  • Is it open-source? Do other people use it? Yes, it is released under Boost license. It has approx 200 downloads each month so I believe people are using it.

Nemanja Trifunovic
+1  A: 

The main thing I do is a Facebook Photo Uploader. It's basically a Java desktop app which will upload your photos to Facebook (and do a couple of other things such as tagging them). I did it because I got fed up with Facebook's applet uploader (and it used to crash my browser as well).

I also started a PHP Proxy script just as a learning exercise, and then decided to upload it in case it would be useful to anyone else.

I'm not sure whether either of them helped me professionally, but - particularly with the Facebook thing - it feels good to write something which other people find useful (according to Facebook's statistics, about 400 users per month) :)

Phill Sacre
The Facebook Photo Uploader Java app looks really useful. Been looking for something like this for a while, as I also find the Facebook applet a bit slow and clunky.
Mun
A: 

Yes... tox (Tomcat, Oracle, & XML)...

The tox (Tomcat Oracle & XML) web archive is a foundation for development of HTTP based applications using Tomcat (or some other servlet container) and an Oracle RDBMS. Use of tox requires coding primarily in PL/SQL, JavaScript, and XSLT, but also in HTML, CSS, and potentially Java. Coded in Java and PL/SQL itself, tox provides the foundation for more complex applications to be built.

The tox framework enables the construction of applications using the model/view/controller (MVC) design pattern. With a controller that executes interpreted XML for creating the model and view, developers can construct new functionality. The model is retrieved either via includes or by the execution of Oracle's stored procedures and then passed to an XML Stylesheet transform (XSLT) to construct and return the view. Different combinations and options provide rich dynamic content.

dacracot
A: 

YES

What kind of project is it? An URL redirection service (like tinyurl).

Did it help you professionally? How? Yes, I starting learn python and google app engine

Is it open-source? Do other people use it? Isn't open-source. Yes, so many people are using it. Can you use it too.

The project url is http://gofrom.us

Zote
+9  A: 

Yes. Several years ago I wanted to learn Python but I knew I wouldn't be motivated unless I had a project to apply it towards. So I decided to create a computer version of a pen & paper role playing game, based on the movie Aliens.

Originally I had a web site and sourceforge place but, even though I got several people who said they were interested in helping out, they never participated. Some didn't like the idea of using Python and some just never got back to me after their initial enquiry.

After creating a simple console character creator, I gave up the project. I had learned to program in Python but didn't have the time to dedicate to the project (I'm in the military).

Now, however, I'm stuck in Iraq and have a lot of time on my hands. Since I don't have distractions like friends and family around, I really have no excuse. So I started working on it again, this time teaching myself wxPython while creating a GUI for the character creator. And I'm also recreating the old table-top RPG Twilight 2000. I figured it's easier to create a game that already has rules so I don't have to think of the rules while programming too.

Once I have a decent handle on how to make a multi-player application like this, I hope to go back and actually make a new Aliens game. My Twilight game is going to be GPLed but I'm not going to post it anywhere until I have an application or two that someone can use and build upon.

It hasn't helped me professionally since the military doesn't really care about that stuff; at least, not the operational side I work with. It's just another bullet point for my eval but that's all.

crystalattice
+44  A: 

No, I don't and at the moment I have no interest in starting one.

I am a professional developer with over 10 years of experience and I find that the programming I do at work satisfies my programming itch.

Of course, this may mean that for some people here I am not a "good" programmer. But then is a "good" doctor one who also treats patients for free outside of his working hours? There are many professionals who are competent at what they do without also doing what they do as a hobby outside of their work. There are a few professionals who are excellent or even brilliant at what they do and do what they do as a hobby outside of their work.

Personally I think that a company who is looking for professional programmers who also program for a hobby is looking for an "excellent" programmer, not just a "good" programmer. The starting salary should reflect this excellence!

Shunyata Kharg
Great answer! +1
Rinat Abdullin
Programming at work and as a hobby have different constraints usually. For example, at home one may choose any programming language, at work as a rule it is impossible.
J.F. Sebastian
Very interesting answer.
dshaw
+40  A: 

Yes. I am the developer of JFugue, an open-source Java API for programming music without the complexities of MIDI.

JFugue makes it this easy to create a musical application:

Player player = new Player();
player.play("C D E F G A B");

Lots of people use JFugue, but I think lots more should know about it!

One of the biggest ways this has helped me professionally is in having a project I could speak enthusiastically about during interviews. I was pleasantly surprised how many people asked me about JFugue at job interviews.

David
OK, that's just possibly cool enough for me to drop everything and have a look..
SCdF
Awesome, just like in quickbasic!
Blorgbeard
Cool! I put a link to your project from a music programming site I maintain: http://www.ibm.com/developerworks/spaces/algomusic
Paul Reiners
You should have named the class Musician :)
jmucchiello
+1 for an awesome API. Thanks!
JasCav
Reminds me of MSX-Basic.
simon
+9  A: 

I'm the main developer of Descent and recently started a game called FruitFactory, but it's in its early stages.

Personally, the first project helped me a lot in understading and writing lexers and parsers, abstract syntax trees, the visitor pattern, the Eclipse infrastructure and working in an open source project. I also met a lof of interesting people. Finally, some guys in Spain contacted me because they needed a Java developer and one of them used my tool, so I also got temporary job thanks to it.

I don't know exactly how many people use it, but I receive feedback from time to time, and people seem to be happy about it.

So I would definitely recommend anyone to start a project on their own. It's very valuable.

asterite
I thought you were referring to the game Descent at first :)
Joe Philllips
Oh, it's not that game...
Sergey
A: 

This question is similar to “Pet Projects” - Should We Each Have One?

Anthony
+2  A: 

I definitely have projects that I have done in my own free time (which varies greatly). I actually have started what I call The List, basically the things that I would like to someday build and release.

Currently I have been working on two websites written in Django:

  • Silicon Sea - My personal tech oriented website. I hope to grow this site into a small community with contributors other than myself. However I need to finish coding the essential features. This is where I will be publishing any of my personal projects, articles, tutorials and downloads.

  • Projekt Trak - Project time and expense tracking webapp. It combines two things that are rare to see in an application together. Hours spent on a project along with expenses spent on a project.

  • Email/Web Hosting services - I have been putting together email and web hosting services with Linux and OpenSolaris, which I have a few clients running my services, but mostly friends and family at this point.

I typically have put together these projects to itch the need for developing something outside of the 'Microsoft Stack', it furthers me professionally because I develop more of a generalist mindset which is extremely beneficial when learning new technologies and for development in general.

Nothing I have put together has been open sourced, however I do have plans to eventually work things in that direction. I also want to move towards writing system administration software for Linux/BSD/OpenSolaris platforms that make things stupid easy to run these servers. This I believe is a severely under served part of the community and I hope to build something that is beneficial to the world. I haven't embarked down that path yet, however it is on The List.

Redbeard 0x0A
+1  A: 

I think every programmer has at least one - so here's my: I am writing a tiling window manager called subtle.

unexist
+1  A: 

My main hobby project is shell-fm, a console based last.fm player for Linux. I open sourcedabout two years ago and since then received many good contributions from ambitious users. According to the shell-fm user group on last.fm, there are about 140 "official" users.

jkramer
A: 

Yes, two, but they're on the backburner at the moment due to a busy work schedule and an infant.

The two are a character generator for D&D 3.5 (yes, I know it's been replaced by 4.0, but I like 3.5) and a set of libraries for TADS 3.

Jeff
+4  A: 

I write apps for handhelds/PDAs/phones in my spare time. I wrote a few for Palm OS, a couple for Windows CE, and now I'm working on iPhone.

What's nice about iPhone is that I can actually make a little money from it via the App Store. It's not much (currently about 50 bucks a week), but it helps me convince my wife that this is not a complete waste of time.

I've always wanted to do embedded-systems programming professionally, so I hope this will turn from a hobby into a career

Kristopher Johnson
+2  A: 

Another thing, which probably doesn't count as a hobby project, but probably appropriate: If you google for my name, you'll find it in the comments of several open source projects. Basically, if I find a bug or a feature missing in a project I'm using, my first instinct is always to submit a patch. I've been doing that since before the phrase "open source" came into being.

Paul Tomblin
A: 

I went to school to be an Electronic Engineer, did HW design, then taught my self SW as a hobby writing an Audio Editor in C++ when Windows started supporting sound. So I turned my "hobby" into my profession. Now my hobby is desiging and building HW for guitar effects and tube amps. All analog. The best hobby being a combination of art and technology with a big helping of subjective.

humble_guru
A: 

I have worked on one or two things but I never have time to see it through to the end :-

The main ones are

Cattle registration system
A system for farmers in the UK to help them maintain their records (to help steer them away from really terrible paper filing systems). I made this for my dad and it also has a mobile application which allows farmers to register the birth of newborn calves from out on the farm. If anyone is interested in screenshots or anything leave a comment.

Adventure Games Anyone who is a fan of the Monkey Island point-and-click adventure games should have a look at Adventure Game Studio. This tool helps you to make these kinds of games easily. I have worked on a few small games and one day I am going to release a full-length one to the community on that site.

Scottm
A: 

I've build a product to help me in live coding sessions or demonstrations, which allows me to zoom in on the screen (kinda like what ZoomIt does), but still have a live screen (ie. no screenshot which is blown up).

It isn't open source, but it is free. Don't think many are using it, but the most important part is that I'm using it myself, so I don't really care if nobody else is using it.

http://presentationmode.blogspot.com/

Haven't had a release in a while now since I haven't completed the major branch yet, which is to allow more zoom factors, in addition to just blowing up a quarter of the screen to 2x the size.

Lasse V. Karlsen
A: 

I've been dabbling with Greasemonkey a lot lately. A couple of my scripts have even developed a following, which is a bonus - and sometimes a curse. It has taught me quite a bit JavaScript, and that has paid off professionally in the enterprise web apps that I am paid to develop.

All of the best developers I know have side projects: hobbies, side-work, and/or a mix of both.

Chris Noe
A: 

A couple of little projects I've put out there (open sourced) in case someone finds them useful or interesting:

Ziparcy is a WINNT-family shell script that can be scheduled to create/update an encrypted zip (.7z file actually) / archive of your files (and directory structure).

This script leverages two other free utilities: 7-zip and wget.


Mandown - Markdown/Javascript-based documentation system as a way to write ‘How To’ manuals.

Mandown syntax follows all the rules of Markdown (as implemented by the Showdown Javascript port); it's a portable, web-centric documentation format you can run on your local file system or just as easily be tossed onto a fileshare or webserver for network accessibility.

micahwittman
+2  A: 

Yep - Spark view engine for Asp.Net MVC, MonoRail, and standalone. It is open-source and a number of people are using it and have done some write-ups about it. I don't think I'd say it's helped me profesionally - but it has resulted in plenty of interesting interaction with people in the development community.

loudej
+1  A: 

Every now and then, an idea pops into my mind about something that would be awesome if someone sat down and coded it. Then I most likely start coding it on my own. Well,... even more likely only until I have a proof of concept. That's the point at which I - most of the time - realize, that I actually don't have that much spare time to make it a production ready solution. ;-)

Currently, I am working on the idea of integrating the Second Life protocol into an open source Multi Messenger application for delivering a Live Messenger alike user experience when chatting with SL friends.

I already reached the proof of concept stage... would anyone here like to take over the idea? ;-)

Mephisztoe
A: 

Chiefly Limp, a Lisp IDE for Vim.

Mikael Jansson
A: 

No - just don't have enough time.
Besides, there's more to life than just a programming. There are a lot places to visit, people to meet, things to try.
So why burying yourself in front of a computer?

Sergey Stadnik
Maybe because some of us DO LIKE programming? It can be fun.
Calmarius
+2  A: 

several:
lolball - super monkey like game
4th dimension - tic-tac-toe in 3 dimensions
tetris - current project, small project with clear and diverse goals and a good testbed for unittesting.

On my horrible outdated website are a sucky lua ide, a less sucky fsm editor, and some other applications that never got finished.

Projects that isnt online and incomplete includes a build-suite, interactive text to html app, screengrabber, imageconverter and a graphical calculator. I work on theese when I dont feel like making games :)

None are opensource, but I usually give away the source/make another arrangement(like os) if asked. I got an interview thanks to an app(worked like google sketchup) that I started but never finished(was working on it at that time). Never got the job though.

lolball seems really cute, props to you :)
thmsn
A: 

Over the years I've had several projects. Usually I have too many ideas and not enough time because of work. Hopefully in a few years I'll be able to take a full year off and experiment more.

My first pet project was building out the backend of a website back in 2001 for a friend at work and actually for a work-based project. At the time my job was a web designer, but I was always interested in web development since '95.

Second one was a site showing off my DVD collection. I looked back at the code recently and was surprised how well it was (other than the fact that it wouldn't survive a SQL injection attack today and my code was all uppercase :P).

Third was a web-based MP3 collection manager and player. You can browse/search the collection, create playlists, and control the music that played on the server (which was connected to my home audio system) from any computer. Also had a scrolling display for my TV screen. I began rewriting it and planned to support video, but my current pet project took precedence.

Forth and current project which is slow going is a niche social network. I really want to spend time on it regularly and get some prototype working. I get too caught up in planning, researching, and trying to implement too many features rather than sticking with the basic concept to iterate upon.

iamgoat
A: 

Castle Project, I am a committer and use it professionally on a daily basis. It has teached me a lot about .NET development, collaboration (with people you've never met...) and having to work out in the open with lots of people looking at/using it.

Being an active member of an open source project is something I would recommend everybody: don't underestimate yourself and think that you don't have the skills, a lot of projects welcome any help in whatever form.

roelofb
A: 

I work on an open source IMAP client library written in C#, available here.

Jason Miesionczek
+2  A: 

Currently writing a very simple reporting framework, just for fun.

What kind of project is it?

C#, windows form, some web/jquery integration

Did it help you professionally? How?

Sort of thing i would've used in some other jobs i've had. Other hobby projects i've had have been very helpful professionally.

Is it open-source? Do other people use it?

i intend to release it as a freeware edition and a commercial edition, but not open source.

Leon Bambrick
A: 

I have one, a simple music player and library, that has basically stagnated now, and is at the point where I could finish off the last few features and make it really polished, or I could leave it (it does 99% of what I need to do). I'm leaning towards the latter.

I need to find something new to do, but coming up with ideas is always the hard part. I tend to start by re-inventing something that I use but find myself saying "if only it did XYZ", but I have nothing like that at the moment.

Ch00k
What did you write the player in?
Darrel
Its written in C#
Ch00k
A: 

I have this pet project I never really finished, but I've learned alot of GWT by doing it. http://code.google.com/p/gwt-scheduler. It's open source under the APL.

Miguel Ping
A: 

My Project: FDO Toolbox

http://fdotoolbox.googlecode.com

What kind of project is it?

It is a .net application to manage, administer and process spatial data using the Feature Data Objects (FDO) library

Think of it a spatially-enabled version of MS SQL Server Management Studio.

Did it help you professionally? How?

It helped me to:

  1. Get more recognition within the geospatial community.
  2. Make sure I still had the programming skills!
  3. Land a job with more $$$.

Is it open-source? Do other people use it?

Yes it is licensed under LGPL. It is known to be used by some well known members of the geospatial community.

jumpinjackie
+1  A: 

I'm working on a Half-Life 2 mod in my spare time: Construct.

I would tell you more about it, but the entire development team is under rather strict NDAs at the moment so... well... I can't. :)

Bob Somers
A: 

I'm creating a freelance projects website for canada, available in french too. Quebec freelancers are happy that can post and bid on projects in french.

www.youhaveaproject.com

A: 

Yes, I do:

It's a set of algorithmic composition programs. I don't know whether it helped me professionally or not. I did get paid for the article I wrote about it. It is open-source. Quite a few people have downloaded it, but I don't know how many are actively using it.

Paul Reiners
A: 

Ya, I run a couple browser MMOs on the side.

www.novapowers.com

www.seapowers.com

Niether of them are particularly large in terms of player base, but I get a lot of solid reviews from the players.

watchwood
+1  A: 

A few months ago I was checking out LINQ and decided to go learn more about the functional style of programming. Being a .NET guy, this eventually led me to F#.

And of course what better way to learn a language than to actually build something useful. So I set out to build Storm to help myself and my team quickly test our web services. Now the tool is in release 1.0 and has been well received by the community. :)

A: 

I've got a boatload of ideas in my head and in my notebooks, but surprisingly little to show for it, even though the ideas are pretty mature and the designs are pretty defined. I think I should focus more on doing one thing at a time.

Among the more developed projects I've got

  • A roguelike (of course) with a cool class/job system
  • An Eclipse plug-in for rom hacking
  • A sophisticated way of organizing and choosing music that fits your current mood (originally meant to be a Winamp plug-in)
  • An Object Oriented MIDI tracker in Java
  • A plug-in for Music Brainz Picard Tagger that prefers original albums before compilations.
Oddmund
A: 

Within the .NET my primary hobby development project is about Lokad Shared Libraries - an Open Source set of helper classes for .NET 3.5 that helps me to deliver complex systems into the production.

The project itself is written and maintained within the job duties, but all the articles and documentation get created in my spare time.

Plus, there's my web journal on efficient .NET development. It has definitely helped me to straighten up a lot of ideas about things like IoC containers, UI composition, application configurability and got me into touch with some really bright people.

Rinat Abdullin
A: 

I have my ascii art utility: http://alterlife.org/asciiartist/ . Converts images into text art.

and a few other things: http://alterlife.org/projects/

All made for fun, Open source, tiny and arguably somewhat usable :) .

Alterlife
A: 

Since I've started programming professionaly I find that I have little time left for hobby projects. Still I get the urge sometimes. So now I'm helping out at a great webcomic that I'm also a fan of myself - DrowTales.

Not exactly opensource though, as I doubt anyone else could use the code. :) I have also dozens of older hobby projects of my own, but few are finished, as I usually run out of enthusiasm about halfway through. :P

There is one tiny one though that I can show to other people - BadFix. It tries to "fix" bad sectors on hard drives by overwriting them with zeroes. For some reason this often works. This one is opensource. :)

Vilx-
A: 
+2  A: 

I tend to drift from one hobby project to the next. I made a GBA game once and right now I'm working on a 2D game engine for Windows, Linux and OSX based on C and SDL. I'm also looking at porting XBMC to ARM architecture and OpenGL ES for use in portable devices. I want to build my own Portable Media Player--I have all the hardware put together and a basic build of Angstrom, with MPlayer, now I just need to see if I can get the XBMC interface ported.

Stephen Belanger
A: 

Yes. I decided I wanted to learn PHP and MySql and I also play the game Eve-Online. So, I created a Fleet Management tool which would let me see the fittings for all the other gamers in my (and my alliances) fleets to enable me to balance things out.

Ended up including a security model, management reporting, dealing with issues arising from using the in game browser etc etc. The code isn't open source yet (rather embarrassed about the quality as I developed as I learned) but may be if I decide to refactor it.

Did it help profesionaly? Not sure but I think that PHP and MySQL are so pervasive now thatit couldn't hurt. From start to version 1.0 release was about 10 days. Now I can just tinker adding new functionality or fixing any reported bugs.

JRL
A: 

Yes, I've done several minor and some bigger projects at home. It did help me in my job, since many ideas for classes and features could be reused there. Also the programming at my job influenced my home projects in code style, approach and design.

Here are some projects:

  • YouTube DJ: basically embedded IE windows that fades between two videos (no link yet)
  • winLAME: mp3 encoder UI for LAME (http://winlame.sf.net/)
  • Underworld Adventures: Ultima Underworld 1 clone, unfortunately abandoned (http://uwadv.sf.net)
    • a library as collection of useful classes (doesn't write everyone of use such a thing?)
vividos
A: 

Yes, I am working on a simple Tower Defense game in XNA 3.0. Using it as a project to help me learn C# since I do not have a lot of opportunity to do C#/.Net at my day job. Not open source, and much too early in the process for it to even be playable.

Not really programming but I also enjoy making FPS maps (UT3/UT2k4/HL2) and have been considering trying to put together a Left 4 Dead Campaign.

DMMcKinnon
A: 

Yes : rewriting the TrocK website.

TrocK is an association that promote Swiss musical artists. We have a pretty complex database of artists, labels, events ... and an old website to publish it. If anyone has some free time and wants to help Swiss artists, you are welcomed !

I started this project for a part because I work with TrocK and for a part because I wanted to learn Django (I'm a J2EE developer by trade).

Guillaume
A: 

No, I don't. Yes, I do want one.

Right now, I'm trying to get up to speed on some .net 3.5 stuff. Once I do that, I'm not sure what will be next.

peacedog
A: 

Ham radio has been a huge source of hobby programming projects for me. I have used station automation and logging DB's as fodder to learn VBA, COM, .NET, serial comms, threading, etc. Big fun!

n8wrl
+1  A: 

Yes

  • It's a web radio tuning application... but not the tricky kind where they try to game some weird protocols, mine just run it inside a hidden browser. Works for every single webradio sites I've tried so far.

  • I learned a lot of things writing this thing, particularly unit testing and ClickOnce and a lot of Python for its website. Sure will be of good use sometimes soon.

  • It is GPL-ed and have been downloaded around 700s last time I checked. And I have received a small donation from one guy, not too much... but hey! somebody liked it :-)

I've just did a major overhaul to it, you can check it out at http://www.quicktuner.net/ .

The website, documentation and seed content still needs work... but that's another story once tonight's version is out in the wild :-)

chakrit
radio list is cool. knowing what type of music that radio is streaming would be nice.
Orkun Balkancı
+3  A: 

Yes! Currently I'm working on a completely ridiculous project which is likely going to take 5-10 years of my life and is... rather useless.

The project is Kronos C#, which is designed to be a drop-in replacement for the Microsoft Visual C# compiler, i.e. the idea is you will be able to literally replace the Visual Studio compiler with Kronos C# and everything still works precisely the same - so it compiles, interacts with Visual Studio, emits correct metadata, compiles on-the-fly as you use Visual Studio, etc. etc. - everything. Not to mention the fact it has to have excellent performance characteristics. The idea is to expose myself to the development of a modern compiler, with all the constraints actual commercial compiler devs have to deal with.

The purpose of the project is twofold - firstly and most importantly it's very, very educational, both with regard to C# as well as compilers and programming languages in general, secondly it establishes a compiler framework which I hope to go on to use to develop compilers for other languages as well as tools for Kronos C# which may turn out to be useful to C# devs as a whole.

It's likely nobody is going to use any of the code... but goddamn is it interesting; most importantly I hope I'll come out of the process a better programmer than when I went into it!

kronoz
Wow! That's an attitude)You may end up being hired by Microsoft Research in the end)
Rinat Abdullin
Hardcore! Can you keep up with their changes to the language?
MarkJ
Thanks :-) well, I'm aiming at 2008/3.5 right now. 'We'll see' basically when it comes to 2010/4, as that involves some tricky stuff e.g. dynamic keyword, etc.!
kronoz
A: 

I have a few personal projects that I'm working on, the biggest of which is probably Memories of Hyrule. It's a Zelda fan game that I have been developing on and off for about 5 years now. My goal is to fully recreate the original NES game, The Legend of Zelda in the style of it's SNES sequel A Link to the Past. The game is being written in C++ using the ClanLib SDK, and will run under Windows, Linux, and MacOSX (hopefully).

Game programming is strictly a hobby for me so I have no intentions of trying to monetize the project (given the use of the Zelda name, I'm sure that would be impossible anyhow). When the game is finally finished it will be available as a free download on my site.

Matt Flowers
+1  A: 

Yes. I scrape Yahoo for stock data & I will pump them into a data-mining program.

I also run some websites for people.

Paul Nathan
What data mining do you use? Your own?I used to play with the stocks data from time to time, while testing different AI heuristics.
Rinat Abdullin
Paul Nathan
A: 

Yes, I usually have 1-2 hanging around. Rarely do they ever go beyond proof of concept.

Two which are currently rather far along: Unifico Framework, and GreatVocab. The former is a way to develop highly scalable ASP.NET applications in MVC (thru WCF remoting). The latter was developed out of personal need while I was preparing for a Graduate Records Exam (GRE). The application grew from a personal tool into a small biz and has just wrapped up development. It's my first complete and out the door MVC app.

ccook
A: 

Yes

I have always had several hobby projects on the go, since I started to learn to program. I still start new ones at the rate of 3-4 a year (not counting small experimental bits of code I sometimes hack together to see how something works).

Most of these projects only last long enough to get hard, and then I lose interest, but occasionally I'll pick one up, dust it off, and give it another few days of development time.

The only one that's really been of much use to a large number of people is the Eclipse CORBA Plugin, which I originally started when I was developing software with CORBA for my job, and wanted a way to edit the IDL files from within Eclipse.

It is open source

It's still missing many things that I plan to implement, or people have asked for, but it's apparently being used quite extensively: up to about 400 downloads a month on average, which doesn't count people installing from the update site. How many of those users encounter a bug that they never report and abandon it I'm not sure.

The most satisfying part for me about developing open source software is when people offer to help out - ECP has gathered up bits of code from several different contributors, and it's very gratifying to know that other people have the same interests or needs.

Career

I wouldn't say it's necessarily helped me in my career directly, but I've been able to reuse parts of it in another project (Ada to Java bindings) I developed as part of my current job, and used it directly to develop new software based on CORBA at work.

The irony is that I'm now leaning towards using ICE, instead of CORBA for new projects that need a middleware framework.

Mike Houston
A: 

Do you have your own hobby development project, that you like to work on your own?

yes, 'kin': kin is a simple language for creating compilers for simulations and systems engineering modelling tools.

What kind of project is it?

It's a small language and interpreter (currently) based on

  • co-routine based functional transducers
  • traits
  • relations as described in 'Database in Depth: Relational Theory for Practitioners'
  • parser expression grammars for external or internal DSL

Did it help you professionally? How?

kin is the name I've given to various languages I've been playing with based on tuple/pattern matching/prolog/relations for the last five years.

Implementing it in its various guises meant I learnt a lot about parsers, prolog implementations, pattern matching, JVM bytecode, language design, PowerPC assembler, x64 assembler, C99. My background was general engineering, aerosystems, then specialising in computer aided engineering, so I didn't do that sort of stuff as a computer science undergrad.

There have been numerous times where something I've first tried out in kin has ended up in the professional project I've been working on, not least as most of the inspiration is to find something better than C++ or Fortran to solve the problems I'm faced with at work. The obverse of that driver is that it changes every six months, as I'm faced with different problems, so end up pulling bits of different languages in and deprecating other parts.

Also, whenever I've explained about it in an interview, I've been offered the job.

Is it open-source? Do other people use it?

There's a very old JVM version on sourceforge because I can't delete it, and the bignum libraries were faster for some uses than those shipped with 1.4. The current version (C99/x64) will appear on assembla if it gets to a state that anyone else might find it useful before I run out of cash and need to get another contract (the only thing there are the notes I did last year). Usually when I'm working I don't have the energy for both a day job and to code at night, and have other things (like commuting back home and seeing my wife) to do at the weekend.

I also played with an in memory RDF query engine; that will end up being the relational bit of kin at some point, and there are various small bits of pieces at tincancamera. It loaded and indexed some largish data sets very quickly, but one of the drivers of kin was wanting to be able to adapt the code on the fly based on queries, which is too tricky to do in C++; it's metaprogramming is limited to static code. I've had a couple of queries from PhD students about its techniques, but no actual users.

Pete Kirkham
A: 
gnovice
A: 

Yes.

I take on graphic arts requests, website design requests all for free in my spare time. I can show off the websites to potential employers.

I used to be working on various javascript widgets. These are nice to show off as well as a nice javascript refresher.

I am working on a MMORPG game. Not open source but free with an active close knit community.

rlb.usa
A: 

As a hobby I have started an open source Movie Management HTPC application (I am currently the project manager and lead developer of a team of ... 3 or 4?). It is basically an app to manage your movies you have ripped to your hard drive. Plot summary, rating, actors, cover art, full screen backgrounds, etc are all pulled automatically based on a heuristic algorithm to match your movies to multiple online data sources. Currently we have something like 5000-7000 users? It's hard to say exactly, but we are growing fast.

Project page here: http://code.google.com/p/moving-pictures/

The project is open source but in my professional job for my last raise I was given an additional $3,000 on top of what was initially planned to be my raise, due directly to my work on this project. Upper management felt this demonstrated initiative and a drive to learn.

So anyone questioning the value of spending time on open source projects, think again...

John Conrad
A: 

I have only hobby projects now. Because I'm an ameteur (and I'm 19 ys old at the moment.)

What kind of project is it?

Computer game

Did it help you professionally?

Maybe It will once... (I don't think such things will be good for reference at an interview...)

Is it open-source? Do other people use it?

Source code is not open yet. I will consider open it later... You can use them free...

This is the latest: http://scdescent.tk (Lightweight multiplayer Space shooter 3D game. The current project. Has international support.)

This is something I gave up: http://realhirroz.tk (This is an unfinished online strategy game like travian, but when I defated in the Travian I lost all motivation to continue it. ps: you can login with 'demo' name and blank password field at 'belépés' to view it.)

This is the biggest one: http://users.atw.hu/calmarius/Download/Space_Tactics_III/Space_Tactics_III.htm (But still unfinished and has bugs. It is a simple 2D space RTS against the computer.)

These stuffs are Hungarian, I hope you find the download link... I've never thought before that I post them here...

ps: sorry for grammar mistakes...

Calmarius
A: 

Yes, currently I'm one project of significant effort, so on to the questions.

  • What kind of project is it? RSS Spy is my attempt at a feed reader with the features that I find to be useful. Namely, automatic downloading of podcasts.
  • Did it help you professionally? How? It's hard to say if it has helped me professionally or not, the major thing that it does to for me is allow me to work on C# when I don't always get a chance to at work and it also gave me my first exposure to Subversion.
  • Is it open-source? Do other people use it? I don't know if other people use it, but it is open-source and I released it not too long after asking this question here on StackOverflow.
Rob
A: 

Yes, I'm developing a Java application that generates a HTML page with all OpenPGP keys stored on biglumber.

BigLumber is a key-signing coordination page where you can find opportunities to sign each others OpenPGP key.

The map will display a list of Names & keys according to the city mentioned on the biglumber entry.

It works statically, because it has to be pure HTML. It uses OpenLayer for OpenStreetMap data and the free webservice GeoNames to get all city coordinates.

I use TDD for the first time and it works pretty well. It's not open source because it's too small :)

furtelwart
A: 

I've got a few rummaging around.

The first is a dead simple little birthday and anniversary reminder program that a few of my friends and family use and love. It was originally written in Borland C++ Builder, but I am rewriting it in gcc/mingw with wxWidgets, mainly because I want a Linux version for myself, as well as the windows version for others, and as a simple program to introduce myself to wxWidgets. Not open source yet, but will be once the rewrite is done.

I also occasionally get enthusiasm for a FIBS client I've called Prevarication to play Backgammon. I've done the first stage of thoroughly documenting the existing server, and started the second stage of writing the low level framework stuff. It will also be the only FIBS client fully localisable, which is something I've never written before. I've started it in Java, but am considering starting again in Ruby, either as JRuby so I can use Swing for the graphics, or standard Ruby with wxRuby. Of course first I have to learn Ruby.

I also have a utility library of Java code called EvLib, comprising things I keep finding I am writing again and again for various projects, or are just darn useful for certain things. I intend to give it a little more polish and then make it available under a BSD type license. I've used it in several customer projects so have been of use professionally.

I have a file synchronisation tool that I have used with a few customer projects to keep remote websites in sync with a local version, only pushing/pulling files that have changed. It is inspired by the Unison sychronisation tool, but it doesn't need another copy of itself running at the remote end, only an FTP or SFTP connection. It has been invaluable for rolling out a couple of customer projects, and ensuring I don't clobber stuff on the site that others have changed. Written in Java, and will be released open source after I've tidied it up a bit and written some documentation.

Aside from a few other smallish utilities, they are all the projects I have that have actually been started in one fashion or another.

I'm planning to write a punch-clock style time tracking desktop application for two reasons: I want to replace the commercial windows app I use currently with a cross-platform one, and I think it would be a good little exercise for learning Ruby (and wxRuby). I will call it "Punch Evan".

I've also been tinkering with ideas of a project management application base on a couple of articles Joel has written. Don't know if it would be web based or desktop at this point. I keep vacillating on that one, and there's plenty in the queue before it.

I've been freelancing for a few years, and found I was becoming increasingly miserly about any time I spent in front of the computer that wasn't billable, and my pet projects were languishing as a result. I started a full-time 12-24 month office job a few months ago for several reasons, one of which was to give me some time and energy for some pet projects. It's nice to get some enthusiasm for them back.

Evan
A: 

If "yes", could you please tell a bit more about it (links are welcome)?

Yes--

What kind of project is it?

.NET 3.5 WCF RESTful Web Service. It takes a phone number (ANI) via Http, populates a MySQL db and does a reverse lookup via anywho.com to obtain the ZIP code. If the number of instance of that ZIP during a given time span are excessive, it displays a Google Map image of that region.

Did it help you professionally? How?

Honestly, this is a side project that I'm using to bolster my credentials and gain valuable "real world" experience with the .NET framework. My stepfather is a consultant for a large ISP that has mentioned they had a need for a proactive support tool.I don't work with .NET development in my current job (support apps written with much older technologies). I've learned a LOT doing this---such as how to create a Web Service, parsing HTML with C#, how to integrate MySQL (good fun) into a .NET application, etc. I'm looking at this as a means of gaining some visibility and experience, and am better off for it regardless of what it leads to.

Is it open-source? Do other people use it? Not yet to both questions. We're prototyping it now.

If "no" - Do you want to start one? I still want to answer this. I'm fielding a couple of SourceForge projects-one written in C/Gtk and the other in C#.NET; I'd like to make sure that my exposure is to multiple platforms/languages. It can't hurt.

Todd
A: 

I maintain a small, but really good (IMHO!) open-source class library called SixPack.

Sklivvz
A: 
Thomas
A: 

Yup www.my-clock.net, an online alarm clock :p soon to be time tracker, calendar and so on. Using it to learn javascript and web development.

fmsf
Why downvote this? It's a totally valid working project???
badbod99
+1  A: 
JimDaniel
A: 

Yes, I'm a hobby programmer generaly.

I write various utils for games - to allow to bring new content, add-ons, mods. Map editors, format converters, data editors. There are communities around these games and players use my tools.

Recently I've started writing own games, there are only 2 of them yet - jigsaw puzzle is the first one WIP. Other one is a remake of strategy game, here's video: http://www.youtube.com/watch?v=y-7cbQzJ-Z4 Both are work in progress.

Running own website where you can see most of my hobby for yourself: http://krom.reveur.de

With every new project I feel my skills becoming better. I notice that 1yo projects are looking naive and stupid sometimes, there are lot of unoptimal moves and algorithms. Now I see it :)

Krom
A: 

Yeah I have a little hobby project just released a beta of it today...

It's a Job search document generator/tracker called jobdb. It's written in OpenOffice Macros and MySQL. Feel free to join the project and contribute to it.

leeand00
A: 

What kind of project is it? JSMS: A program I created for myself years ago to quickly send SMS text messages without having to open a web browser. I'm Irish. All the Irish mobile companies provide hundreds of free "web" texts to their users each month. JSMS works with all these Irish companies SMS interfaces plus over 25 international providers (not free but very low cost SMS).

The program has evolved from a very simple GUI application to a fully features SMS tool including:

  • Full Phone Book manager
  • Create/edit groups
  • Import contacts from various sources including GMail,Outlook and web based phonebooks
  • Export contacts
  • Spell Checker
  • Multi-platform (Windows/Mac OS/Linux)
  • Auto-update mechanism

I've also re-written the code in Objective-C to run on the iPhone.

Did it help you professionally? How?

Yes. i learned a lot about Java and learned a new language (Objective-C). I may soon be working on an iPhone demo project at work because of my experience.

Is it open-source? Do other people use it?

Yes. It has been downloaded over 15,000 times so far. Source code is available under the GPL.

Fin
A: 

One of my most recent personal coding projects was implementing MD5 in Scheme. The MD5 algorithm lends itself to lots of "functional" ideas, and if you don't care about speed (as conventional implementations do), you have lots of room to play. :-)

Once done, try it for the SHA-1 and SHA-2 algorithms. :-P

Oh, and it doesn't have to be Scheme. Just try writing implementations in various different languages. It's probably a good way for you to get familiar with whatever language you're coding it in.

Chris Jester-Young
A: 

Here's a recent one I did:
http://stackoverflow.com/questions/761121/performance-issue-building-a-string

I built a "CompiledFormatter" class to address one of the short-comings of the String.Format() method. In the end it turned out to not be much of a gain, but it was a for-fun project from the beginning and I learned some things about how .Net works internally, so I figure it was a net success.

Joel Coehoorn
A: 

When I was a teenager I used to spend my time programming games. It was easy then (1980s) now it's difficult to do tiny games that look even funny when paired with the incredible games out there. But I still believe game programming is the funniest area and you can learn a lot there.

tekBlues
A: 

It's been awhile, but I wrote a staff picture gallery in Ruby on Rails as an effort to learn how to use it. RoR introduced me to the ActiveRecord database pattern which has become my standard DB pattern for all of my .NET web apps.

tvanfosson
+1  A: 

I'm a transportation engineer by training, and a lot of the software we use in the industry is archaic and/or is terrible. I usually spend my spare time reading the research behind the methodology and programming it using python then interfacing it on my local intranet.

What i'm trying to say is that find something that you are really fond of. for example, my buddy does a lot of music related coding with ruby. Another friend does the so called "scripts under 50 lines" for linux. We share code between each other and we don't critique each other either.

Another thing I do sometimes, is i code some of the proposed answers on stackoverflow in different languages. For the color coding question posted the other day, I recoded the answer in python and in c++ just for shits and giggles.

Find a topic that you love, and explore the areas that haven't been tackled yet.

dassouki
Nice, you have a big chance of creating a niche product a make a small fortune!
tekBlues
A: 

Yes, I work on a web site I call History Based Estimation.

It is a solution for recording elapsed time and estimates for tasks and projects. It uses the accuracy of historical estimates for making simulations that result in statistical probabilities of various completion dates. Read more about it here.

It is inspired by Evidence Based Scheduling, and I am just starting to use it for my estimates and schedules for both work and home projects.

It is open source on SourceForge.net. I started a few weeks ago and guess it has not been downloaded from SourceForge by anyone yet.

I hope this project will help me handling my estimates and schedules. If it can be turned into something that would help other people as well, that would be great.

Technical note: It is written with ASP.NET WebForms / C# / LinqToSql / Sql Server database, and I try to use a repository pattern with dependency injection.

Ole Lynge
A: 

Yes. I work on Free Stock Market Software

  • JStock makes it simple to track your stock investment. It provides compact and organized stock market information, to help you decide your best investment strategy.
  • It acts as a solid prove that I am able to create a software which is accepted by end user market. After 2 years of work, there are around 45,000 downloads, and several positive independent software reviews.
  • It is open source. It is used by others. Its current download rate is 100~200 copies per day.
Yan Cheng CHEOK
A: 

Yes, I do have two in the works.

One is something I want to show at work soon, the other one has to do with my interest in compiler development.

Turing Complete
A: 

Yes, I make and (sometimes) sell JISHOP, a mobile Japanese/English dictionary. A Windows Mobile and iPhone versions are out in production (on the respective markets), Android version is in beta testing. It started when I decided I wanted a mobile version of my favorite PC-based electronic dictionary.

There's a surprising amount of code reuse between the three. About 60% of C++ code is common - even though the native language of the iPhone is Objective C, and that of Android is Java. I won't say it was a matter of "copy and rebuild" - the platforms are still diffrent, I had to tweak the C++ and compiler settings somewhat (did you know char was unsigned in NDK on Cygwin? what about size of wchar_t?).

Too bad I cannot pull the same trick for Windows Phone 7.

Screenshot Screenshot

Helping me professionally - if only marginally. The other day, an iPhone project came up at work, and I already had the skills.

It's closed-source, licensed as shareware. Apparently they use it - I've got thousands of trial users, hundreds of sold licenses.

Seva Alekseyev
A: 

Yes. I am working on a...

wait, its not open source, and I intend to sell it, and I'm hoping for a market lead. I think I won't mention it after all. ;)

It's a WP7 app though, I'll tell you that much. Good fun way to learn ~Silverlight (WP7 isn't either Silverlight 3 or 4, its in between) , WP7, and get used to VS2010. Microsoft's free tools for WP7 development are actually quite good so far.

Kyle Hodgson
A: 

I've been working for 5 years with a friend of mine writing a new encryption. We call it Timeshift (working title). It's a 4096 bit stream cipher that is more precious to me than my first born (if I had one). We started off with something pretty basic that I wouldn't expect anybody to actually use, our goal was to lock it down for security while making it faster than anything else out there. Initially it was a 512 bit encryption running around 10 MB/s. We were proud, but we knew we weren't done. As we progressed we figured "Why stop at 512?" and found that jumping to 1024, 2048, and finally 4096 wasn't too much of a slow down. We then focused on speed. 10 MB/s was seriously slow, so we optimized... a lot! In some of our most recent C# builds, we've topped 110 MB/s, and C++ is averaging 150 MB/s. Not to mention the languages play well together (as expected) meaning one can encrypt and the other decrypt just fine.

We've actually discovered a phenomenon about LFSR loops that is going to tighten security even more. Timeshift'll still be 4096 bit, but it's another layer of internal state manipulation to prevent crackers and ensure pseudo-randomness even more (fancy talk for a more secure encryption). Of course we can't explain this phenomenon (yet) and we'll need to be able to before we can implement it on such a large scale.

Aside from blowing my own horn with numbers and stats about Timeshift, I can tell you that this project has taught me so much about code optimization. I'm sure I don't have to tell you all about the different between "just working" and "working right." I've learned about compiler optimization as well. Not to mention working in a geographically spread out group. My friend is 800 miles north of me and we've never met. Google Docs saved the day!

Corey Ogburn
A: 

I have the luxury of being able to code an open source project in my work hours.

Breeze multi-touch for WPF 3.5

About 1500 downloads so far.

I can choose the language I program in (and let others do the same mostly). We use WPF / VVVV / Unity3d amongst others. Grew up programming just for fun, when I started programming for a living I stopped programming for fun.

I still enjoy programming, but I get to do plenty at work and I just enjoy having a family and mountain biking much more!

badbod99