Stack OverflowWhat software for your own personal use did you write?
[+83] [115] flybywire
[2009-03-18 04:36:19]
[ discussion software ]

I don't mean scripts or tools for your work project. I mean actual software for your personal use, such as party organizer, CD administrator, whatever.

+1 Stealing ideas... from here... - Sung Meister
Why do you like Yoda speak? - Chris Lutz
Too bad this is a community wiki. This way, we are missing out on all the people crying "make this a community wiki". :( - Alex
[+153] [2009-03-18 08:59:47] Lunatik

I wrote my wife an app that allowed her to tap the spacebar to indicate the start and end of her contractions (about all you can do at this stage, apparently!). This then gave her a precise indication of how far apart her contractions were (with a nice chart, of course).

When the midwives arrived I could tell that they were impressed, even if they didn't want to admit it!

(45) I voted this up because it's just astonishly geeky, cool, romantic and a whole bunch of other words, all at once. - Kaz Dragon
(1) +1, that was so cool of you to do that for her. - Heather
(21) I didn't see the last line at first and was trying to figure out why apostrophes weren't sufficient indicators. >.< - Ben Blank
(15) I'll find a way to +2 this if you tell me you did it AFTER she went into labour. - Adam Hawes
(1) For us unwed lots, can you guys explain how (if) it is important to keep track of contractions? - maayank
(1) The time between contractions is an indicator of how close the baby is to arriving; there's a pretty strong correlation between this and the dilation of the cervix. We were having a home birth and didn't want to call on the midwives too early. - Lunatik
(14) lol! I imagine most thoughtful partners would be packing the hospital bag, getting their wife a drink, massage, mop brow etc, not you! You fire up VS. What a guy :D +1 - demoncodemonkey
(6) You should provide it in open source. - Uri
(1) This definitely qualifies as an xkcd moment... - Joe Internet
[+86] [2009-03-18 04:37:47] MrTelly [ACCEPTED]

A clock, which shows money not time, a brilliant way to stay focused at work. I toyed with creating a multi-user version, known as the meeting clock, where we could cost the meeting in realtime, really good for keeping meetings short, but it didn't catch on as everyone would then know who earned what.

(1) Have you uploaded it anywhere? - Shoban
(1) Unfortunately not, this pre-dated the web by a good few years - VB3, maybe I'll recreate it in Silverlight? - MrTelly
(1) That will be good ;-) - Shoban
(1) This is actually a pretty cool idea. Would like to find a hardware version of a desk clock that did this! - Kelsey
(1) I agree, when my current startup has made me an affluent developer I'll get Jonathan Ive to design it. Alternatively the IPhone must be the obvious platform? Especially if you can share it across multiple handsets, anyone want to take this offline (well off SO) ... - MrTelly
(1) ooo please you gotta do it xD hahaha - Luis Armando
(1) Very nice idea. I've heard it before, but I don't remember where. - BenMaddox
(26) This was a bad idea. Shit my thought just cost me one buck. Shit one more. Shit once again. Stop!! I don't have time for anything now. Everything I do cost money! - Flinkman
(1) I'd love to see this. I'm often sitting in meetings with a headcount of 10+ and I begin to add up the hourly cost in my head. - Some Canuck
(1) Nice. My very first C++ program in the 90s was the single user version of this. - Damo
(8) - Jim Puls
I did this in VB6 at my first coding job over 10 years ago. - Neil N
[+56] [2009-03-18 04:48:17] Andrew Shepherd

Like many programmers, I tried doing Sudokus, then felt compelled to save time by writing a program that solves them by brute force.

I triumphantly showed it to my wife, who just shook her head.

(10) haa yes... Sudoku solvers, minesweeper solver.. I mean the real fun in these games is not to play them but to program something that will play them for you ! - Newtopian
That is one fun. I get more fun solving it manually. - chappar
Yep, definitely identify with this one. Python script to play menial repetitive web based games comes to mind. - RedBlueThing
yeah lol that was the first 'real' program I wrote, did it in Python and ran it on Google AppEngine ;P - mike nvck
(9) What you have done is PROVE that Sudoku is a pointless waste of time. - Peter Wone
(3) Peter Norvig (Google's director of research) did the same thing: Of course the irony is that people are still writing programs to solve sudoku, when that program in itself is an already solved problem ;-) - Greg Beech
I had to do this for my algorithms course 2 years ago. I may have to write a parallel version of the sudoku solver for my parallel and distributed computing course now - phsr
(3) Greg: Does that suggest that somebody should write a program that writes programs that solves sudoku puzzles? - Erik Forbes
I have no idea what Sudoku is... I guess it is worth checking out. - Sung Meister
I wrote a Sudoku solver (brute force as well) in Java last year. - Dennis
(55) A legendary Diablo II bot: teleport to boss, cast area-effect spell, collect all loot, teleport to town, sell all loot, repeat. What made it special: superimposed on the playscreen was a Tetris game, so you could play Tetris while your bot played Diablo II. - Thomas L Holaday
Newtopian, solving Minesweeper is easy, and isn't any harder without assistance. The skill (and thus the fun) is in solving it in a shorter time. Writing a program to solve it for you doesn't make you a faster player. As someone who has twice placed on one of the [unofficial] "world records" lists (by combined Beginner, Intermediate and Expert scores being less than 100; current are 4, 19 and 72, though my previous low Beginner was 2), I find the idea of a solver program silly. :) - eyelidlessness
[+30] [2009-03-18 11:27:54] Alex

I've written an application that takes an dictionary and returns all words ending in a specific extension. For example

The purpose was to search a nice domain name.

(1) I like this one. - Kurt W. Leucht
(1) +1 You didn't happen to put that program online anywhere, did you? >_> - Brandon
(4) Brandon: does something similar - dbr
I like this one - Amr Elsehemy
(7) egrep "org$" /usr/dict/words - SF.
[+22] [2009-08-06 13:48:41] orip

I wrote a unix command-line to find HEX numbers that look like words, so I could use them as arbitrary numeric constants / magic numbers in code.

cat /usr/share/dict/words | grep -i '^[a-fsoi]\+$' | tr 'a-z' 'A-Z' | tr 'SOI' '501'

Got some nice constants out of it, such as:


Lots more great results when you run it.

brilliantly geeky:)) - mlvljr
I made a simple proggy that searches for words you can construct from a phone number, T9-like (before T9 was popular). So if you have a number 0-800-3733-2337, you could write it as 0-800-FREE-BEER. - SF.
[+21] [2009-03-18 04:47:45] Stefan Kendall

In 11th grade, I was presented 200 words to define with synonyms. Rather than complete the assignment as given, I downloaded an online dictionary ( Project Gutenberg [1]) and created a mass word definer. Most students took 8 hours to complete the project, as the rules for definitions were rather strict. It took me 1 hour, and none of that time was spent doing laborious copying.

The MassWordDefiner sat on for a while. You can still find remnants of it if you do a Google search.


(1) That sounds incredibly useful! Unfortunately, my English instructor still requires that we write definitions by hand. :( - David Brown
@David Brown: Why do you think Comic Sans MS is included on your computer? - chpwn
[+19] [2009-03-18 11:10:27] Gary Willoughby

After being fed up with people asking me to create a website for them, I wrote a program which can create and upload them automatically. I just select a template, enter the text they want to appear and select a few pictures. It then compiles everything and spits out a XHTML1/CSS2 compliant website straight to their webspace. Written in C# and .NET 2.0 with the templates in XHTML/CSS/etc. and all dynamic content handled using JSON [1]. I'm even thinking of marketing it.


I Did something like this but for forms on pages because I got tired of writing the exact same things over and over. - corymathews
[+16] [2009-11-11 18:55:22] Scott Whitlock

In our grade 12 computer class, we had to write an application that would encrypt a file by taking the first letter of a password, xor'ing it with the first character in the file, then the second letter of the password with the second character, and then just keep rotating through the password.

That night I was thinking, if the text was long enough and you knew the most common letter was E (and you knew how long the password was, say 5 chars), you could take the 1st, 6th, 11th, etc. chars from the encrypted file, count the highest occurrence, assume it was an E and figure out the password char used to encrypt it. So I wrote it... but it turns out I was completely wrong - obviously the most common character in the file was a space, which actually made it extremely easy to use this method. In order to find the length of the password, I just had it attempt with a length of 1, show the result, and you just kept hitting the spacebar (making it try a password one character larger) until the result was readable.

Used it to tell everyone what their password was the next day at school.

[+15] [2009-03-18 05:04:50] digitaljoel

AnyGen. A program that can be used for generating random stuff.

I used it as a vehicle for learning C#. It lets you create tables, reference other tables, and give weighted values to items in the tables. Some of the tables I created were:

  • name generator
  • inn name generator
  • inn menu generator
  • weather generator
  • critical hit table
  • full treasure generator for DnD 3.0. All 20 levels.

Ah yes, the RPG-related programs :) - Jacco
(2) The mark of a true dork :) - digitaljoel
halfway through making one of these myself! pen + paper RPGs taught me Java :D - frezned
(1) it's a great way to learn because it's interesting to you, and it's not a super hard problem. - digitaljoel
(1) critical awesome - elliot42
this sounds great. - Noon Silk
Thanks silky. I've though many times over the last 5 years about putting it on the web and crowd-sourcing the creation of tables Maybe I should start looking into that... - digitaljoel
[+13] [2009-03-18 05:12:45] Kelsey

The most recent thing I have written for personal use was to address problems with this digital frame I own that has a lack of features such as random picture viewing and max delay of 30 seconds for a picture. I wrote a quick win app to solve it.

To solve the random issue, it takes a directory and then randomly generates filenames for all the pictures.

To solve the problem of wanting a longer delay it then uses the random filename and adds and number to it makes duplicate images for every 30 seconds of delaying that I want. So if I want it to cycle pictures every 5 mins, it makes 10 identical pictures.

Space became an issue with the delay making all the duplicates so I built in picture resizing to match the frames resolution and converting to jpg. It actually ended up doing a better job of resizing than the frame was doing so as a side effect I actually got better looking pictures displaying as well :)

I have also written many tools for online games to help me in a variety of ways.

awesome... never would have thought about that :p - Svish
[+13] [2009-03-18 04:51:27] Don

A desktop application named 'IOU' that my girlfriend and I use to keep track of how much we owe each other. It has two tables of data, one where we enter money that we lent each other, and another where we enter joint expenses that were paid for by me/her/both. It assumes that each party is responsible for 50% of joint expenses and shows how much I owe her (or vice versa). It also has an 'archive' feature which hides all previous transactions, but preserves the balance owed.

Prior to IOU we used to use a spreadsheet, but her Excel-foo is weak, so she kept overwriting the cells containing formulae.

(94) Cripes, mate, just marry her. Then you won't have to worry about who owns what (it'll all be hers :-). - paxdiablo
I have a google spreadsheet for recording our expenses, used the forms feature to make it a lot easier to enter costs. Works great! - macbirdie
(2) I've used an OO spreadsheet for this for the past year and a half. I invoice him for everything he owes me at the end of the month, it's been working well for us. - Heather
(6) You invoice him??? And I though I was unromantic..... - Don
(5) Ehhh... dude... you can lock the formulas in Excel, you know... ;-) - peSHIr
@peSHIr - true, but you can only define the forulae to work on a fixed range of cells. There's no way (that I know of) to define a formula such as (colC = colA + colB) for every row in the worksheet that has a value in colA and colB - Don
(1) @theycallmemorty - is another online solution - Don
@Pax: doesn't work that way with some relationship. My sister-in-law has her money separate from her husbands. They are always lending each other money... I don't understand it. - Bobby Cannon
(1) @Pax&Bobby: Because some people have been royally fucked in past lives - and some people's spending habits need to be kept on a leash. - Chris Kaminski
@paxdiablo "Then you won't have to worry about who owns what..." But probably start worrying about who owns whom. - mlvljr
[+12] [2009-03-18 04:41:59] RedBlueThing

I wrote a ScreenSaver [1] that rendered the US (with US Presidential Polling Data), but I couldn't find decent geometry data for all the states. So I wrote a Python tool to trace out textures on a image.

I had fun one night loading up a high resolution Google map of the US into my Python tool and then painstakingly tracing each state and saving the data to individual files. I now have a pretty decent set of geometry data for North American states.


Are you afraid of CRT burn-in? - Steve Kuo
Heheh. It keeps me up at night. - RedBlueThing
You must have thought it was going to be close... - RSolberg
When I started writing it, it was fairly close. I started consuming data right after the Republican convention. I'll have to break it out again in four years. - RedBlueThing
[+9] [2009-03-18 09:20:43] Raithlin

I wrote an app that compares cell phone costs across the spectrum. It was a few years back, when the 3 national operators were doing all they could to obfuscate costs so we couldn't compare apples with apples.

My app would take your itemised bill (csv file), and calculate against a selection of packages. It worked well, and I learned a great deal while writing it.

I'd be surprised if you didn't have a lot of interest in this. - Kelly French
It didn't ever generate enough interest for me to complete it, sadly. These days the banks have cleaned up their act and done their own comparisons. :/ - Raithlin
[+8] [2009-03-18 05:52:57] Steve Rowe

I wrote a "secret santa" program for a gift exchance between friends. It accepts a list of people along with blacklists, gift suggestions, etc. The results are mailed out to the recipients so not even the person running it needs to know who has whose name. The initial version was written in C about 10 years ago. It then migrated to C++ and finally to C#. We still use it yearly.

(1) I do the same thing, except I use it for family members. Started in '97 with C, then migrated all logic to SQL Server. Now I use C# to handle the emails, including the ability for people to email each other anonymously. - beach
Anonymous email handling, now that's pretty cool. - BradC
[+8] [2009-03-19 03:46:08] Andrew Medico

dailystrips [1], a program to automatically download multiple daily webcomics.


(2) Ummm . . . Google Reader? - JasonFruit
(2) Yeah, I had one of those for a while - lots of fun, and a great way to keep your scripting-skills up to date. But I've recently switched to using the Darkgate Comic Slurper as an RSS feed. Mostly, this saves me having to keep the auto-download script up to date all the time... - scraimer
[+8] [2009-03-19 23:42:17] Heather

I wrote a Valentine's day program for my husband that used the Microsoft Agent w/voice (think the characters that appear on the search screen by default in WinXP) to read him his Valentine's greeting out loud. What looked good on paper, sounded really creepy when the Wizard started reading it. We had a good laugh though!

[+7] [2009-03-18 06:07:25] Glenn

I wrote a plugin for Windows Media Center that displays in how many minutes buses and trams arrrive at my stop. Parsed from the traffic-company website.

(1) nice, I've done the same but it was a firefox plugin :) - Gaetan Dubar
ghaha, have been contemplating the same. - Nailer
Nice, but why WMC? Because you're always watching TV before you need to catch the bus? - BradC
now I feel like writing some kind of plugin to show time till next train - user58670
[+7] [2009-03-18 05:41:47] Scott Evernden

Versioning File System [1] for Windows built using IFS Kit. Quite similar to DEC VMS file versions - every revision of any file in protected directories are retained automatically. Complete with file explorer with adjustable timeline. Pretty cool actually. Was going to market it but didn't detect much demand so I use it myself for some projects. [movie] [2]


That's pretty cool =) - Erik Forbes
+1 because I started down this road using FUSE and gave up because my forked processes needed attention (the kids). - Adam Hawes
>>Quite similar to DEC VMS file versions Oh god, that brought back deeply-buried memories of my first (and only) experiences using DEC VMS at an internship at a large company. In 2006. - notJim
I WANT, please. :) - Chris Kaminski
[+7] [2009-03-18 05:00:38] paxdiablo

When I switched from Windows to Linux, I was glad to finally get rid of Quickbooks for my tiny investment company. So I took the opportunity to also switch from Excel to OOoCalc.

I put together a double-entry bookkeeping (did you know that's the only English word with three consecutive double-letters (well, other than bookkeeper)?) into which I could just enter balanced multi-line transactions and it would check them produce nicely formatted reports (P&L, balance sheet and transaction lists for both).

Then I just hand that over to the accountant at the end of the year. He's actually expressed an interest in marketing it to several of his smaller clients and I'm in the process of polishing it up and providing a direct feed into his own accounting package.

Other than that, I've got spreadsheets in OOoCalc for managing the share portfolios. Not much else that isn't toy stuff (connect4 and maze games for the kids).

How does it compare to - Eugene Morozov
+1 for the comments on 'bookkeeping' trivia. - Jonathan Leffler
(13) I'm also told that sugar is the only word where 's' is pronounced as 'sh' but sometimes it's hard to be sure. - paxdiablo
(1) subbookkeeper, although admittedly not all dictionaries have it. - Loren Pechtel
(9) It's true! egrep -i '(.)\1(.)\2(.)\3' /usr/share/dict/words - Frank Farmer
[+7] [2009-06-07 04:21:15] corlettk

I used to have a logic puzzle [1] addiction.

an example of a logic puzzle grid

But I got sick of making mistakes in "the monkey work". A simple typographical mistake like misplacing an "X" could take an hour to locate, and 2 seconds to fix;-), more often than not leading to an uncompleted puzzle, which allways feels like a failure, even if it's not worth diddly outside your own head. It just NEEDS to be solved, like a spotty Rubics Cube [2] sitting on a bookshelf. Ergo: No fun!

SO... I wrote a VB5 app (hey, it was the 1990s) which read the Categories and Values from a text file, and rendered the game-matrix (as pictured above) in a picture box. I even rotated the top-vertex labels 90 degrees (creating a rotated fontset) by bit-sampling the painted font and transposing x and y.

I started out with a dumb (purely human driven) interface: - left-click to place an X; - right-click to place a O in the matrix.

Then I added automatic X'ing when you placed a 0:

  • which led to X'ing all other impossibilities;
  • which led to automatic O'ing when 1 possibility remained;
  • Recursion is fun!

This gave me with a "half automated" problem solver which totally sucked because it was "stealing my thinking" but only half-doing the job. I still had to go through every "rule" iteratively to check that every implied oxymoron was X'ed. It was time to step-up to the next level.

So... I wrote a simple "rule engine" to ease the pain.

Let's take a simple example: In the above puzzle you might be given the statement: Lauren doesn't like soft cheese or red wine. Which implies that:

  • Lauren is not associated with feta.
  • Lauren is not associated with (merlot, pinot noir, port, or zinfadnel); and therefore Lauren must like champagne.

So the rules might be:

  • person[Lauren] != cheese[feta]
  • person[Lauren] == wine[champagne]

So then you simply parse each rule and place the appropriate O(s) and/or X(s) letting the "consequence engine" developed above fill in the rest of the matrix.

Did I mention that the fun part is the recursion? You need to reparse every rule every time the board changes, which changes the board, which must eventually (but NOT immediately) trigger a complete reparse, until all rules are parsed and nothing new is "learned".

This was an "interesting little problem" and the "genericness" of the matrix and rule engine make it more widely applicable. It's sort of primitive decision support system, fringing on an AI. Good fun.


[+6] [2009-06-07 03:21:50] Jonas Kölker

Wiitones, an application that lets you play music with a Wii Remote [1] (and Nunchuk [2]).

The application has three channels.

Channel 1:

  • A: enable sound
  • vertical angle of the Wii Remote (i.e. its pitch): control the pitch (i.e. tone) of the channel, in semi-tone steps (frequency factor: 12th root of 2) over 441 Hz.
  • B: enable bend
  • Wii Remote roll (i.e. angle around the vector from the expansion slot to the IR camera): control the bend. Vertical is none, each 90 degrees (left=down, right=up) is one semitone. (Or was it two?)

Channel 2:

  • C: enable sound
  • pitch of Nunchuk: control pitch (also from 441 Hz in 2(1/12)-factor steps)
  • always bends
  • Nunchuk stick, x axis: control the bend (full range is one or two semitones)

Channel 3:

  • Z enable sound
  • roll of Nunchuk: controls the pitch
  • always bends
  • Nuchuk stick, y axis: control the bend (full range is one or two semitones)

Use + and - to control the volume (shown in binary on the wiimote LEDs). Use the d-pad plus 1 and 2 to offset the channels by an octave. Home quits, IIRC [3].

The tones are all sinus tones; Hand-computed sound waves, ftw. :)

It's kind of tricky, though. When the user disengages a tone, you have to continue the sound wave until the elongation hits 0, or else you'll get clicks. While keeping track of the fact that you're going to zero, you also have to deal with the user re-engaging the tone. And you need to do good mixing (hopefully without overflows). And you need to deal with the tone changing frequency not at (conceptual) wavelength markers, but in mid-wave.


+1 for developing on the Wii - scraimer
It's developed on PC, for PC. And my wiimote library is Linux only... - Jonas Kölker
(4) Theremin 2.0 - DR
[+6] [2009-03-18 05:32:03] Martlark

Rest and Stretch - a program to manage my RSI by not allowing too much keyboard or mouse activity.

Dialog Automation - automates responses to dialogs and windows as they appear.

Keyword Expander - can automatically resize dialog and windows to make bigger or move around - also can resize and move child elements of the dialogs

Do your Homework - stops me playing on facebook or stack overflow too much.

A Program to reset the corporate mandated screen saver timeout.

Podcast filler - fills my music player with random un-heard so far podcasts that I've subscribed to, keeps track of 'em so I can't listen more than once.

Seems I'm both lazy and undisciplined.

Care to share? The last one seems very useful. - the_drow
ken, ani yechol. Eza email shel cha? Enli www achshuv. - Martlark
[+6] [2009-03-18 04:45:15] Tim Post

I wrote a neat system to organize my snippets. I had literally thousands of them consisting of various mini libraries for conf file parsing, malloc() logging / debugging, general logging, socket functions, all kinds of stuff.

I had to be able to search for what I wanted and easily 'grab' the snippets via the command line. So, I could:

mkdir newprog
cd newprog
snippy search "foo"
 * bar1 - replacement for foo that does better logging
 * bar2 - replacement for foo that cuts your lawn

snippy insert bar2 libs/

Voila, done. I did it with sqlite3, I may even release it one day once I clean it up.

(3) HEY!!! I did the same thing, but did a Winforms App since I do .NET dev all day. Keep my SQL/HTML/comment scripts in there, and liked how I could easily drag drop. SQLite rocks!!! - Dillie-O
I'm actually thinking of doing this one too but using ncurses and console so that I can use it from anywhere with a terminal window :) - Pharaun
[+5] [2009-05-20 01:04:01] hasen j

I wrote a throw-away utility (using D) to re-arrange large volumes of detective conan manga [1].

The manga I downloaded was organized in volume/chapter hierarchy with different style for naming (e.g. Chapter 10, Ch11, etc), the files inside them were numbered in all different kinds of ways.

I wanted to re-organize them into stories/episodes.

So the command line tool would receive a range of chapters and a name, and would pull all images from those chapters and rename them and put them inside a folder called [][]Episode Title


[01.01][01.02]Shinichi Shrinks [Episode 001]
[01.03][01.05]Kidnapped Girl
[01.06][01.09]Idol's Locked Room Case [Yoko]
[02.01][02.03]Perfect Alibai
[02.04][02.07]100 Million Yen Robbery [Miyano Akimi]
[02.08][02.10]Imprisoned Killer in Haunted Mansion [Shonen Tantei]
[03.01][03.06]Hatamato Family Ship Murder
[03.06][03.10]Strange Presents
[04.01][04.03]Art Museum Murder
[04.04][04.06]Train Bomb [Gin][Vodka]
[04.07][04.10]Treasure Code of Italian Gang
[05.01][05.05]Bandaged Man
[05.06][05.09]Karaoke Case
[05.10][06.01]Conan Kidnapping [Shinichi's Parents]
[06.02][06.05]Three Visitors
..... etc

(1) +1 for detective conan! - ebrown
I need to do this! Oh man all of the directory & file name mess just drives me up the wall! - Pharaun
[+4] [2009-03-18 05:18:01] Chris

Does a generational AI solver for the light-bot game because i simply couldn't figure it out count?

[+3] [2009-03-18 05:36:42] Simon Hartcher

At the moment I'm working on a "run" program for Windows that functions similarly to the Vista start menu. Type in what you want to run and it lists the results.

I built it because of my hate of using the start menu in Windows. Click click click.

(6) You need some Launchy in your life - Lunatik
Far out. Thanks for that. I'll have to give it a go. Looks quite similar to what I've done except its UI is far superior :P - Simon Hartcher
(1) Or, you could learn some keyboard shortcuts like Window+R - Peter Wone
(1) Just installed launchy. Thanks for the pointer. - digitaljoel
@Peter Wow thats really intuitive... - Simon Hartcher
(1) Move to Windows 7. Much better :) - Svish
@Svish - I already have :) Given that this answer was 8 months ago now... - Simon Hartcher
[+3] [2009-03-18 04:41:13] cobbal

I've tried several Mac OS X dashboard widgets that retrieve lyrics from the Internet, but I never found one that I liked. So I wrote my own.

[+3] [2009-03-18 04:51:58] derobert

Ummm... quite a bit. Some of the more interesting ones:

  • a podcatcher. I plan to release this one some day (this is recent).
  • my own music tagger. Not many existing ones handle classical music well. Need to rewrite this someday. Then maybe release it.
  • a web app to track the soda inventory sitting in my small fridge :-D
  • a distributed computing platform, used to encode ogg files faster. Sort-of released publically (this was back when a dual PII-450 was fast)
  • web front-end to linux tc
  • my own time tracking/invoicing/billing system. Twice. One of them was in HyperCard, which you've probably never heard of...
  • my own bug tracking system. At least once.
  • a web-based dungeon crawler. Think web-enabled adventure. Back in, umm, '97 was it? Come to think of it, it's still on line [1]. (please forgive the code, I was in middle school at the time!)

No doubt I've missed a lot. Those are just ones that I quickly saw sitting around in a version control repository...


(1) I remember playing with HyperCard when I was in 3rd grade! - Angela
[+3] [2009-03-18 10:20:42] hlfcoding

I wrote a one-pager web application using PHP and jQuery UI to load batches of images from a subdirectory and display as stacks using CSS on an interface where I can drag, position, and clear them.

I use these images as reference for when I am drawing. I keep it on my local XAMPP [1] install and bookmarked it with Prism [2] as an application so it opens in its own window. I call the application Corkboard and find it way more useful than Windows Preview or any other application since they don't allow seeing full-resolution versions of multiple images.


[+3] [2009-03-20 22:39:34] jn_

A few years ago, my internet connection was provided by the computer centre of my university. The only way to access the internet was to login via Cisco VPN. Now the problem was/is, that the cisco Client is (still) unable to keep your connection up 24/7. That's because as soon as the connection breaks (for whatever reason), the client displays a messagebox informing you that the connection broke. Great! Long story short: i reverse engineered the local Cisco protocoll and wrote my own client, namely the Evil Client [1]. Many students at my place and even a few profs use it since then :)


[+3] [2009-03-20 22:58:39] runrig

I wrote an app that finds my wife a temp job (so important in today's economy). It logs into a website, keeps refreshing the list of available jobs, and if there is anything in the list, it selects a gig based on certain criteria.

And I may not be the direct user, but I do directly benefit :-)

[+3] [2009-03-18 22:20:54] Jay

A firefox plugin to collect images. It does all the work of saving them, recording where I got them, renaming duplicate file names, and putting that info into a database for me.

Would it be possible for you to put up that plugin somewhere? I would like a copy - Pharaun
[+3] [2009-03-18 10:43:16] Kobi
  • Wrote a calculator that takes expressions ('3^2+5cospi'), also can draw graphs. Still have it online somewhere. But that was years ago...
  • Wrote a systray app that toggles the screen saver. My sister wanted to disable the screen saver when she's watching long movies online.
  • My girlfriend Suzi exported her SMSs using the cellphone's program, which resulted in hundreds of text files (!). I wrote her a program that parses these files and creates an Excel file, with all data arranged in columns.
  • Wrote a tiny program that delays subtitles by a few milliseconds (open file, add number, save file). Not needed these days.
  • Wrote Suzi a GreaseMonkey + jQuery script to make a web site much more usable - each image was on a different HTML page, so I used ajax to put them all together.

  • Now I'm working on something to keep track on my expenses. I'm planning to do that with my girlfriend, I want to teach her some web development.

(1) "Wrote a tiny program that delays subtitles by a few milliseconds (open file, add number, save file). Not needed these days." I did the same thing too :P - Edison Gustavo Muenz
[+2] [2009-03-18 11:21:34] Damien_The_Unbeliever

At one point we had some fairly flaky servers in our organisation. I wrote a screensaver for my machine which showed the Processor % for the various servers, much like the graph in Task Manager, but full screen (and showing processor usage from various machines).

The idea being, even if my machine was locked and I was sat in a meeting on the other side of the office, I had a pretty good idea if one of the servers had spiked (or conversely, if one died).

[+2] [2009-04-03 13:20:08] Damo

I wrote (or more accurately hacked up) an online photo gallery in PHP for use by myself and a group of friends. It's now got over 7,500 images on it and Twitters whenever someone uploads.

[+2] [2009-03-18 21:00:16] Scott

Back in high school I wrote a garbage collector/defragger for my calculator.

Last year I wrote myself an alarm clock that required entering a sequence of numbers, to force myself out of bed and my brain to start working coherently. Worked well for a few weeks but I began to mistrust the accuracy and stopped using it.

[+2] [2009-03-18 10:40:06] Duke Navarre

A glut of AutoHotkey functions. Technically, it's all one program, but the code is pretty modular, and a lot of it consists of what you can get in the form of smaller apps. The modules include a clock/uptime tooltip, a take-a-break reminder, a stacked clipboard manager, cycling wallpaper, and a grid-based window mover/resizer that allows me to manipulate GUI windows with OCD precision without having to rely upon the mouse. The rest of the AHK stuff consists of hotkeys and automations for programs with accessibility problems.

When I was 12 or so, I wrote a QBASIC program to help me improve my math skills. Later, I made a few Dragonball Z inspired typing games to help me increase my speed. (Alas, none of them were over 9000.)

[+2] [2009-03-18 08:51:32] MK_Dev

A small program that would take a bunch of IP addresses (of proxy servers), ping them and separate them into two lists - dead and good ones. Still use it once in a while.

[+2] [2009-03-18 09:25:21] John Topley

AssetsGraphed [1] for tracking my personal finances. It was my first Ruby on Rails application.


I signed up. Looks like a great app :) I am wondering where's the Google AdSense :) Can you add other currencies? - the_drow
Thanks. Let me know what currencies you want adding and I'll add them. - John Topley
[+2] [2009-03-18 09:49:02] Bevan

Back in the mid 1990s, I wrote a repeating alarm clock called OOSAlarm to remind me to take Micropauses (12 second pause every 4 minutes) recommended by my physiotherapist. I've had it available for download [1] on my website ever since.

Every time I get a new PC, whether at work or home, OOSAlarm is one of the first tools I install. It bugs the living daylights out of me - but has undoubtedly helped me stay healthy.


[+2] [2009-03-18 05:44:20] Chris Brandsma

When my wife got pregnant the first time I wrote a due date calculator. I also wrote my own app to copy images off of my digital camera. It did rotation and a few other tricks, but nothing too fancy.

Then there are 100 other project I've started but never finished.

[+2] [2009-03-18 05:00:03] sharptooth

A program that computes the date of transition from standart time to daylight savings time and back in any given year.

It's ironic that Windows knows when it is to happen, but never tells in advance, it only does tell post-mortem. And I don't want to painfully recall or find this online.

[+2] [2009-03-18 04:45:17] staticsan

I wrote a templating language for a website. It's pretty simple, but effective. The main requirement was so that I could add new articles to a list-like page by adding a few lines in one file, instead of modifying four files in just the right way.

I'm still impressed by how useful it is.

[+2] [2009-03-18 05:25:52] Shyam
  1. As I lost all of the Music Library on my PC that I had synced with iPod and that iPod stores the files with some weird names, I used a Java API to read the ID3 tags and reorganize the music files with titles as names and Album names as folders.
  2. The other one was that for one of the Internal Audits that were conducted in my company to check for media files stored on the PC, I wrote code to flip the first bit and rename the file as DLL and with some randomly generated name and move them under C:\Windows\System32. In this program I created a map and stored as another DLL under the same folder and after the audit undid the same process.

These two are the favourite ones that I wrote for personal use.

@ point 2: oooh nasty. Hope you don't get caught. Why not just write a kernel-level filesystem plugin to simply hide the directory of media files from anyone who isn't you? - Adam Hawes
that was not the case, they had a utility to understand what content is in the file by looking at some of the data. To circumvent that I had to do this. :) - Shyam
@1, pretty awesome that you were able to do this, but if you were to import the songs into iTunes, and let it reorganize your music, you'd be all set. - drhorrible
@drhorrible. It won't rename them on your file system though. @Shyam. Please Opensource #1. I've been wanted to write the same thing! - prestomation
@1 Imagine that your iPod decides to loose the ID tags for some tracks as well. I am so pissed at apple. - the_drow
[+2] [2009-06-07 05:17:45] Craig McQueen

A program that took a list of track times on a CD, and figured out what tracks to pick to fit nicely onto each side of a cassette tape without cutting off half-way through a song.

[+1] [2009-09-07 00:12:55] Noon Silk

I wrote a Twitter [1]-like system but with some additional features and a change in model, such that it's installed on your own server and basically replaces your blog. It's not social, just like me.


[+1] [2009-09-07 00:14:55] vector

Flight logbook, freefall calculator (after years of jumping and not totaling all those seconds of freefall time got curious how long I've been in freefall, literally ;-) should make a full blown skydive logbook out of it.

[+1] [2009-09-07 01:54:21] slebetman

Too many to list. I've probably written more code for myself than all the code I've written for all my previous and current employers combined. Among the more notable highlights that I really, really like:

  1. My own web server. Fully HTTP/1.0 compliant and almost HTTP/1.1 compliant - the only thing not implemented is chunked transfer encoding. I learned a lot about script kiddies [1] and worms from doing this (when you're merely USING one, most hacking attempts are simply ignored and don't get logged).

  2. My own console text editor: I use this a lot. I wrote it simply because I hate the fact that all other console text editors break convention when it comes to use and feel. I mean, all GUI editors use Ctrl-S for save, Ctrl-F for find, F3 to find again, etc. Why do console editors insist on ignoring this?!

  3. Scrolling LED display. OK, this one is both software and hardware. I built it mainly to impress my co-workers (one of whom immediately rose to the challenge and built one that's not only larger but tri-color to boot!).

And about a couple dozen more large, multi-weekend projects. I'm not even counting the small did-it-during-lunch-hour projects like my batch thumbnail generation script etc.


[+1] [2009-11-11 21:08:44] Paul U

Power Hour (or Century Challenge) party game. Basically it pauses music playback on your computer every 60 seconds and reminds you to take a shot or drink your beer. We probably use that one too much.

Mileage calculator in J2ME for girlfriends leased car. Every time she fires up the app it shows her the maximum amount of total miles for that day so she can easily compare it with the odometer and tell if she's over or under.

[+1] [2010-03-18 11:34:32] cobian

Cobian Backup was created to solve my needs, but the beast has grown out of control.

[+1] [2010-06-25 06:16:33] Evan Plaice

A MDI (Multiple Document Interface) Notepad clone in .Net

  • to learn how MDI works
  • to learn OOP in C#
  • to get a feel for the .NET libraries

Moving from a PHP web development background to C# desktop background was a bit of a shock. Surprisingly, I had a working version with all of the basic functionality (open, save, close, print) in about 5 hours.

A Javascript collapsible tree menu on my desktop

It used an XML file to store the links in a semantic structure

The sections included:

  • quick shortcuts to the folders I used most for work
  • quick shortcuts to the folders I used for play
  • links to open mindmaps I used for reference or track work progress
  • links to the remote production webserver, local testing webserver, phpmyadmin, etc...
  • links to online references I used most
  • links to commonly used applications

I deeply loathed the 'Start Menu' back when I used Windows because it was so slow and unproductive. I wanted to be able to access the stuff I was constantly using in no more than two clicks.

For as long as it took me to write and implement it, it saved me many magnitudes more time that I would've wasted clicking through Windows explorer. Unfortunately, one of the windows updates broke active desktop and I could no longer use it.

[+1] [2009-06-07 03:23:45] Jonas Kölker
  1. I play Nexuiz against a girl I just met, beating her silly
  2. I implement a handicap system. You ask for a damage multiplier (between 1 and 100); all damage dealt to you is modified by that multiplier.
  3. I play Nexuiz against her again, this time beating her (but not silly).

Three lines of code. Profound change in game balance. Pretty nifty :-)

[+1] [2009-06-07 03:29:31] Jonas Kölker

Wiimote XEvent Synthesizer.

A program to listen to a wiimote for button presses (etc.) and generate X events (via the XTest extension), so that I can control my computer with my wiimote. Useful for running Elisa with my computer hooked to my TV.

There are probably many other programs like it; for one, wminput. However, I've grown tired of it---it needs write access to /dev/uinput (bad for security), I need to tell it to synthesize keys pre-keyboard-mapping (so, since I'm using dvorak, I have to say "generate an s" if I want an o). And it really doesn't work well if you want to control the mouse with a nunchuk.

So I wrote my own (in C). It embeds Guile (the GNU embeddable scheme implementation), and I do most of the heavy lifting in Scheme.

[+1] [2009-06-07 02:22:52] smcameron

I wrote a drum machine back in 2005. I had come up with a guitar riff that had 13 (or 26, depending how you count it) beats, and the riff resisted any effort to add or subtract beats by losing it's coolness. The only real linux drum machine at the time was hydrogen, and it didn't do weird timings. I wanted to learn gtk, had some MIDI synths lying around, and wanted to know how to drive those as well... so I wrote a step sequencer (a drum machine interface) that can handle arbitrary steps and timing. Probably the neatest feature it has is that you can cut/paste ascii drum tablature directly into it.

It doesn't make any sound on its own, it just drives MIDI devices. (you can drive a softsynth with it though.)

[+1] [2009-08-06 13:51:23] orip

I wrote a Python script to download all the then-newly-published-online Calvin & Hobbes comics.

Please publish this software :) - luc
[+1] [2009-09-06 23:28:35] Zach Johnson

I wrote Promptu [1], an application launcher, to make it faster and easier to get around in my electronic world. I used SlickRun for a while, but I decided to write my own launcher because I wanted more features.

Promptu lets you associate meaningful names with programs, folders, files, URL's, etc, and access them almost instantly from your keyboard. When you press the hotkey you associate with Promptu, such as Ctrl + Q, Promptu opens a textbox for you to type in next to the mouse. As you type, Promptu suggests in a similar fashion to Visual Studio's Intellisense. When you finish typing or see the name of the command you want, press Enter and Promptu will execute the command for you.

Advanced developer-friendly features include:

  • ITL, a language for dynamically evaluating text into commands, using external .NET functions and parameters supplied to the command from the prompt.
  • The ability to use external .NET functions from the prompt and ITL.
  • Namespaces can be used to categorize your commands and functions.
  • Ability to automatically synchronize commands, functions (and their associated assemblies) between multiple computers.

[+1] [2009-06-14 12:23:47] Nathan DeWitt

I wrote a Windows Service that counted down the time to the first Lord of the Rings release. It had a One Ring that would sit in the system tray, and when you hovered over it would tell you the time remaining. There were other options when you clicked on the ring - I think opening the LOTR web page or something like that.

[+1] [2009-06-14 12:27:21] ercu

Last one was a program that tracks and saves song names from shoutcast [1] radios I listen to. So later, I could use online music services to directly listen to lovely ones by just clicking on them.


[+1] [2009-06-14 12:42:49] AareP

Key-mapping utility, that removes the need for shift and altgr keys. By using it you can press '1' simultaneously with any key lower to it, and get '!'-character. Pressing 2 and any key lower to it will in turn result in "-mark and so on. In the similar way you can input lowest row characters ",.-", by pressing them simultaneously with any key above them ("JKL") or left to them ("M,."). First combination will result in ";:_"-characters, second in "<>|"-characters (based partially on nordic- and partially on us-layouts).

oh wow, that's brilliant. interesting concept, and i think it is quite acceptable. nice! - Noon Silk
[+1] [2009-03-18 05:11:53] Rayne

Replacement for the calculator included with Windows Vista is something I wrote for myself last night in Clojure using Swing. Simple enough and fun, maybe even useful.

[+1] [2009-03-18 07:30:22] Priyan R

The last one I wrote was a simple accounting application for tracking daily expenses. It was a Windows Mobile [1] application.


[+1] [2009-03-18 08:34:21] Gordon Mackie JoanMiro

3-4 years ago I wrote a Windows Desktop Wallpaper [1] changer that allowed you to select a set of image files and have them change at configurable intervals in sequence or randomly with options to set the mode for stretching/tiling etc.

I still use it on all my machines. However it looks like Windows 7 has added this functionality to its wallpaper option in Control Panel - so it looks like it might be obsolete in the near future.

A while back, I also wrote a piano chord/scale finder utility [2] for personal use - it displays the notes of a chord and/or scale on a piano keyboard, plays the chord and features inversions and quite a few other things. It was originally written in VB6.0 and I am currently porting it to a Silverlight version [3].


[+1] [2009-03-18 10:03:38] community_owned

My own torrent website. Yeah, got bored one day and made my own torrent website/search engine. Full system too (sorta?). Check it out here: Also made my own blogging system and a full featured website/server pinging script too.

[+1] [2009-04-03 12:48:32] Nicolas Dorier

I created a learning tool, to learn the vocabulary of a new language (it shows you your progression, ask questions, and you can easily extend your vocabulary sheet)

[+1] [2009-05-12 15:53:37] SurvivalMachine

I code demo effects and 3D engines for my own pleasure.

[+1] [2009-03-20 23:19:56] pixelbeat

I bought a DVD + SD card camcorder and found out that it wouldn't record video to the SD card, nor could one copy videos from the DVD-VR discs it created. So I wrote a program to extract the individual programs from the DVD-VR:

[+1] [2009-03-18 15:40:07] Perchik

I wrote a simple widget for Mac to convert back and forth between decimal and binary notation. For a bigger application I was working on, it became convenient to store "12345" as 2^1 + 2^2 + 2^3 + 2^4 + 2^5 = 62. So I wrote a widget that went from "12345" to "111110" to "62" so that I could see what I was actually working with when I debugged.

In another moment of fun, I rebuilt the NY Times flashed based "kendoku" game into a standards compliant xhtml/javascript/css version as a proof that some flash games don't need to be flash. I ended up with a near identical version of their game, exact same functionality, plus some extras that I felt like they were missing. Good experience.

[+1] [2009-03-18 10:43:52] Ngm

I had developed a simple "take a break indicator"

[+1] [2009-03-18 11:29:37] karim79

I wrote a page in PHP scraper that extracted all the movie info from a movies page on IMDB for a large list of movie IDs, and put it into a database. A script would then read the info stored in the database, and generate an entirely different movies portal of my own, with full pagination, images, and so on. Another script would pull relevant products out of Amazon and and display products related to each movie on each movie page.

To increase the size of the portal, I simply had to add more movie IDs into the database and re-execute the script.

I learned so much from that experiment, I get a happy, warm fuzzy feeling whenever I recall....

[+1] [2009-03-18 11:42:24] Daniel Earwicker

I implemented this with ASP.NET a few weeks ago:

It has my own songs on it, with lyrics, free .mp3 downloads, comments, the usual stuff.

I would have used ASP.NET MVC but the hosting service only supports .NET 2.0. I found it easy enough to get something like an MVC architecture.

When I get some time, I'm going to get into jQuery and plaster it with ajax for no good reason.

[+1] [2009-03-18 22:43:02] Jayrox

Back in the "good old days of VB3" I made a number of tools for my personal arsenal.

1) A program for auto-loading videos on cd/dvd that displayed cover art, a link to imdb and a play button.

2) A tool that did file comparisons. This one was my favorite. When I first got interested in programing it was for AOL2.5-AOL3.0 "proggies", "punters", "scrollers" and other damned annoying crap were the big thing. I didnt make those programs, thankfully.

Someone released a program that would allow you to decompile them to VB3 source. Sure, the code looked like crap, all the varibles meant nothing, but you could change a few things, recompile the source if you wanted and make it "yours".

Then someone came up with this idea to change a few bytes in the header of the VB3 program which would cause the decompiler to think the executable wasnt a valid VB3 file. Then out of no where, everyone was making their own 'decompile protectors'.

So, I made a small 1 form, 1 label program and would run the so-called protector against it and do a file compare and undo what ever it was that they did to protect it. For the most part this was a simple byte change some where around byte 34 of the file.

Then I added their changes to the list of changes my program watched for and undid them, leaving the program unprotected. The fun thing was, these "protectors" were protected by their own scheme. I would undo it, decompile it and post the source. Needless to say, some people didnt like it.

I never released this program into the wild, but it had a ton of other things it could do, like generate subclassing code to get rid of the standard title bar of a program and make some gradiant thing instead. It also served as a very very bad screen saver.

Sadly, a few years ago (something like 8 years ago) the harddrive it was saved to crashed and began making the dreaded click noises. Still to this day I wish that drive was good and I could go back and look at the code. Nostalgia at its finest.

3) I also made a very very basic game that subclassed AOL chat rooms and watched for commands. The game was called 'Wizards and Warriors'. It was a turn based two player game. It had something like 7 different attacks that varied in damage dealt and based on a random roll for if the attack landed, and what range of damage it would do. Was a fair amount of fun as it kept a scoreboard for kills based on the player's screename.

Those were the Good Old Days :)

[0] [2009-03-18 22:45:04] Marcus Lindblom

I'm working on a Django app to record votes + manage setlists on cover songs for my band.

Basically, we suggest and vote on songs every now and then, in a few stages. Currently we use a wiki but it's hard to keep it updated and votes aren't as anonymous as one would like.

I've also written a page that allows set-list editing via drag-and-drop, and it also keeps track of various data per song (acoustic/electric guitar) and marks these changes in the printed setlist, so everyone knows when we have to wait a bit between songs.

[0] [2009-03-18 23:19:14] community_owned

Programs I wrote in C# for personal use:

  1. Organize my digital photos and sort them so I can quickly backup them to DVD without wasted space on each disc
  2. Display photos from different digital cameras in a timeline format so I can adjust incorrect date and time in the EXIF metadata easily.
  3. A Family Tree manager that allowed me to print a PDF of my family tree (Huge! close to a hundred pages)
  4. A file renamer.
  5. Duplicate image finder (related to 1 and 2).

[0] [2009-03-18 23:35:22] community_owned
  • a Visual Novel engine in DX 'cause i wanted to know how they may work

  • a cheap, tiny (but incredibly usefull) C binary which allowed me to switch the icon view of the desktop to whatever mode the listview supports 'cause in some bad cases i had more than 120 items on it at a resolution of 1024x786 [sadly it doesn't work on Win7 anymore - can't get the handle to the programmanager window for some unknown reason]

[0] [2009-03-19 04:12:58] Dinah

Instead of iTunes, we use Media Monkey. We love it except for when we added a remote control. The UI uses very small fonts that makes it very difficult to use a clumsy remote pointer to do much unless you are close enough to just use a mouse anyway. So I made an alternate UI for it. It's big and ugly and really functional. The buttons go to the edge of the screen with no buffer zone. Everything is in black and white and where ever the cursor is gets highlighted. We use it daily and love it.

[0] [2009-03-19 13:10:55] Stephen Friederichs

I used to do extemporaneous speaking in high school. I used a lot of online sources but you couldn't have computers in the prep room - just paper (you carried HUGE file tubs with newspaper clippings, magazine articles, etc around. They probably still do). I had to print out all of these online articles and make notes of dates accessed, authors, etc. But the graphics were awful on our printer, so I made a program to strip out IMG tags, then other graphics-intensive tags that were extraneous, and then I standardized font sizes, spacing, etc so it was easier to read in print. Kind of an automatic print version.

[0] [2009-03-19 23:33:37] Steve Claridge

"Who's round is it?"

Many moons ago in my first job we went to the pub every lunchtime. Every day someone bought a round of beers for the team. Problem was there were one or two tight-wads who always had to nip to the loo or had a coughing fit when the question was asked: "Who's round is it?"

So I wrote a desktop app in Delphi that listed on pub attendees and kept a score of number of times they'd been to the pub and the number of rounds bought. I think it also factored in how many beers they bought on their round.

Very useful but there was still one guy who simply never bought a round, ever.

So you brought this to the pub and entered in the data while drinking? That just seems annoying. Or.. you did this at home and didn't share it. That just seems weird! - GreenRails
Heh. We only used it at lunch times during the week, when we would all go for a pint or two at lunch. We ran the app before we left to see who had to buy and updated the DB when we got back with the number bought. - Steve Claridge
[0] [2009-03-18 15:32:25] Zyx
  1. Some simple scripts to organize the pictures into HTML galleries, resize them and generate thumbnails.
  2. A backup system in Bash with DVD burning option.
  3. Chatbot with silly sentence generating algorithm that gives pretty amazing (mostly funny) results. It was written in D and once I lost my notebook for 5 hours, because my friends kept talking with it and did not want to end :).

And I wrote my own blogging script for my website.

[0] [2009-03-18 16:20:59] Kaz Dragon

I wrote a program to generate statistics from an XML database of raids in World of Warcraft that my guild had done, and to convert it to BBCode on our forums, because I got really tired of figuring it all out myself each week.

[0] [2009-03-18 20:48:38] Mr. Will

I have a rather large DVD collection and I got tired of scanning the shelves to decide which one to watch. So I wrote an app that would keep track of my library and allow me to search for types of movies I wanted to watch.

[0] [2009-03-20 02:51:49] Adam Hawes

I started writing an app for Debian systems which works kind of like the RedHat network does. I had every intention of finishing it off some day but for the past 2 years it's sat idle, barely able to read the package database, detect available updates and schedule scripted tasks. I guess I should get around to implementing the server so that it can be controlled...

[0] [2009-03-20 22:29:21] Sergey

I made a converter from color document (highlighted code in HTML) to a nicely grayscaled document. So when I print my code with syntax highlights on a black-white laser printer, it is easy to read.

[0] [2009-04-03 12:41:56] Manrico Corazzi

Dragonpaint ( Dragon 32 [1] BASIC)

When I was a kid (in the eighties) I wrote this application which mimicked MacPaint after seeing a MacSE for the first time. I wrote it in BASIC. It had some nice features like UNDO and printing. It used the joystick as a mouse.

File Sieve (Ruby)

This very naive script [2] sorts the file in a directory according to the tags. Saves lots of time.

Many small scripts (Autohotkey, Javascript, Ruby...)

I love to automate small tasks (like grabbing some files from a web site, generate code, autologin to some site, etc.) and I have various scripts in different languages.


[0] [2009-03-20 23:02:12] peSHIr

Most important right now: my own Windows Mobile Twitter client.

[0] [2009-05-12 16:21:45] slolife

A few years ago I wrote a Family Tree website in ASP.NET for my own use that I am still using. It is not focused on graphics at this point. More with storing of the data and detailed notes about events and people and connecting all of the relationships. It also has pages that show aggregates of the data, like number of people with a surname and pins on a map for births, deaths, weddings, etc.

Like someone else mentioned in a previous answer, soon I'll throw a bunch of jQuery, ajax and probably convert to ASP.NET MVC for no specific reason.

[0] [2009-04-03 13:55:13] Kim

I wrote a chess clock [1] that runs in the browser using jquery. It supports 5 different time control modes. You enter the time for the players and the time control settings, start the game by pressing s, and end your turn by pressing the space bar.
I'd be happy to get some feedback.


[0] [2009-04-03 14:06:06] Chris Doggett

I've written these Firefox addons:

Affiliator [1] - Generates Amazon affiliate links with one click from any page on

baNdit [2] - A port of Farkit for, with a bunch of additional features, like the ability to ignore users, paste links or images from the clipboard as formatted HTML tags, and copy/paste memes with a few clicks.

CopyURL [3] - Copies the current page or image URL to the clipboard, wrapped in an anchor or image tag. It defaults to HTML, but comes with BBCode and Wiki formats, or you can build your own.

TextSaver [4] - I built this in 3 days for the Extend Firefox 3 competition, and to keep my wife from getting upset when she spent a lot of time on a post or email, then accidentally closed the tab and couldn't get it back. It's not maintained, and I've since written a much smaller GreaseMonkey script after being inspired by StackOverflow's feature that stops you from closing the tab if you've started typing an answer.


[0] [2009-04-28 21:05:39] community_owned

A few years ago I was taking a finite mathematics course, and one of the topics we had to learn was matrix multiplication. I learned the technique pretty quickly, but solving them by hand was frustrating - you might not catch one little mistake until several pages later.

The process of multiplying matrices is very algorithmic, of course, and so is the perfect kind of thing for a computer to do. I reasoned that if the purpose of the course was to learn how to do matrix multiplication, writing a program to do it would demonstrate an adequate mastery of the subject.

The end result isn't exactly a beautiful work of art, but it functions quite well. I decided to release it as freeware...

MatrixCalc [1]


[0] [2009-05-12 15:42:06] TheVillageIdiot

I've written quite a few toy programs. The recent one was a bit serious one. We are using DAL (generated by SubSonic [1]) in our project. It is a big project so there was to be a business logic layer (BLL). We didn't want to access the DAL objects directly from UI layer. So we had to implement properties of DAL objects in bll objects. My colleagues were very opposed to the idea. They were not able to see the benefit of separating the responsibilities.

So I wrote a code generator using C# utilizing Reflection which took DAL Assembly generated by SubSonic, browsed for the types implementing ActiveRecord and generated a stub class exposing the (column) properties in DAL objects through BLL objects and writing constructor and save method.


[0] [2009-05-12 15:43:48] smok1

Simple requirement management tool - it took me one week. Buying commercial package would cost me few months of my work at the time, so it was a good deal.

[0] [2009-03-18 10:01:32] Antony Scott

I used to use a PVR system called GB-PVR [1]. When I needed to upgrade to newer hardware I didn't want to lose the recordings from the recordings screen. I could have just copied them over to the new PC and added them to the video library, but that didn't feel right.

So, I wrote a tool that scanned a folder for all MPG files, created an import xml file and ran the built-in recordings import function of the GB-PVR [2] software. It worked great, but I did have to do a bit of testing with a test installation of the GB-PVR [3] software. I released the software to the GB-PVR [4] community and started to get some positive comments along with feature requests. So, it grew for a while. But I began to lose interest in maintaining it when I moved over to MediaPortal [5], so I released the source code in case anyone else wanted to make changes to it.

I just checked an it's still on the wiki here [6]. It was interesting for a while as I learnt a few things while doing it.


[0] [2009-03-18 09:04:07] community_owned

I DL a lot of radio shows and I wanted to automate the process of organising them into folders. The files generally don't have ID3 tags, or tagging is patchy or inconsistent. They do tend to have useful names though, like "I Clavdivs", "Clavdivs the God", "Documentary on Clavdivs".

I wrote a C# app that parses a directory files and, with a bit of jiggery-pokery, it matches file names to common sub-sequences and uses a ranking to find the most "popular" sub-sequences, which it then uses as the basis for folder names.

To cut a long story short, I can run it on a folder of files and in a few seconds everything is organised into meaningful folder names. For the example 3 file names above, I get a folder "Clavdivs" with all three files inside. Sweet!

As it does not rely on ID3 it works on any file types: it's equally good at organising photos, data files, movies, rar & par sets, etc.


I, Claudius was made into a radio show? I had no idea. I remember when the TV show was made. It was great. And I read the books, of course. - Nosredna
[0] [2009-06-14 13:07:59] MiffTheFox

I've done a couple of things like this myself, some of which were published in a (quazi-) finished state:


idnet [1] - A lightweight image viewing utility.

findexe [2] - A Windows equivalent to which on Unix. (Which i did not know about at the time... ;P)

silentcmd [3] - Allows you to run a Windows console command without the Command Prompt showing.


mpwgen - A simple random string generator.

xclip - A program to change the clipboard via the command line. (I didn't know about the Unix program of the same name at the time.)

Smartcuts - A program to modify a command line with a simple substitution language.

Gmail/Reader Notifier - Sits in the system tray and checks your Gmail inbox and Google Reader list for unread items.

TimeSync Checker - Compares clock drift over SNTP.

TempExtract - Automatically unzips ZIP and TAR files to a temporary directory.


wdialog - A command-line-based wrapper for common Windows dialogs.


[0] [2009-09-06 23:40:57] user128026

I created a web interface for my home media server. Written in PHP and uses JQuery. It allows the user to "administer" the server which supports the following:

  • Search Google and other sites
  • Monitor Raid, UPS, Hard Drives and other Devices
  • Install applications
  • Keep track of torrents
  • Add movies to XMBC
  • Stream music/movies via UPnP
  • Provides a uniform web interface for my home network

[0] [2009-09-06 23:56:52] Jesus Rodriguez

A colorful notetaking program that I use for write some notes about what I need to say / ask / download / ... divided in categories.

[0] [2009-09-07 00:02:54] Michael Stum

The most recent one is SWiki [1], essentially a standalone Wiki Software, because I was just fed up with Word for complex documents but did not want a webserver-based software as I wanted my document to be a single physical file on the hard drive.


Are you familiar with tiddly-wiki: - Noon Silk
Yes, but I lost my data twice with it. Not sure if it was my fault or if I dod not install the java thingy correctly, but I did not like it. - Michael Stum
Ah, fair enough. I've used tiddly before, but these days everything is in trac or notebooks. Glad you've heard of it though, and hopefully improved on it :) - Noon Silk
[0] [2009-09-07 00:06:25] Jeremy Wall

I wrote a Recipe/Shopping program. It stores a list of recipes and lets you plan a menu for the week. Then puts together your shopping list for you. I love to cook and it was a great way to control food expenses. With 5 kids and my wife controlling food expenses is important. :-) That was probably the most useful and money saving one.

Besides that I've written:

  • Conways game of life in multiple languages. (it's my standard learn this language app)
  • eTap an erlang tap testing library
  • Test.Tap an lighter-weight simpler to use and set up Javascript TAP protocol testing library (specializes in command line javascript tests using prove from perl)
  • A templating engine (what programmer in web dev more than 5 years ago hasn't built one of those?)
  • Lots of other libraries of useful stuff I can't list right now.

can you publish the recipes app someplaces ? i would really like a copy of it :D - solomongaby
I really should get it into publishing shape sometime. I just never seem to get the time to do so. - Jeremy Wall
[0] [2009-06-07 02:30:02] whichdan

Blog app where 90% of the interface is the texteditor.

Of course I stopped using it altogether after a few weeks, but it certainly had a nice interface.

[0] [2009-06-07 02:59:16] Jorge Israel Peña

A screenshot taking app called Screeny [1].

When I was 16 and first learning C# (And was enthusiastic with how easy it was to write programs as opposed to C++, in MY case), I used to use a certain screenshot taking app (It looks different now) that was actually a trial. I didn't have the money to buy it, so I decided to shoot down two birds with one stone by trying to write one myself: I would have my screenshot taking app and I would learn a bit more about C#. I ended up modeling it exactly like the trial app down to the UI and functionality, and called it Screeny [2]. It was my first full-blown app I wrote. I then added some extra functionality and many of my friends also used the app.

Now I'm mostly on my MacBook, OS X, which has some pretty good screenshot taking functionality built in that suffices for me. I haven't used Screeny in a while, I wouldn't be surprised if it doesn't work on newer systems (Vista or 7), and some friends told me there were some bugs with multi-monitor setups, that I never got around to fixing. But it did serve it's purpose a few years ago and helped to motivate me to continue learning about programming :)


[0] [2009-06-07 03:08:45] Jonas Kölker

Filling, an implementation of the `Fillomino' puzzle as seen on Find my implementation at

The rules are simple: fill an n-by-m grid with numbers; coalesce the numbers into maximal chunks such that there are no two different numbers in any chunk. The size of each chunk must be equal to the number it contains.

I did it mostly for the fun and challenge of writing it, but I've played it a few times too, so I guess it counts :)

[0] [2009-06-07 02:08:52] Mike Heinz

All my open source projects were written for my own benefit - going back 20 years or more. They ranged from screenblankers to image views to games played on calculators. My sourceforge projects are the same - AstroInfo, PDF2PSP, HPConnect, Sound Bridge Commander were all written for my own use and shared out. Even the facebook app I wrote is really for my own use.

[0] [2010-10-13 09:10:35] Prakash Raman

I wrote an application in which I can save my notes. Tags are created from the notes implicitly. Then thought it would be a good application and now it is hosted at

[0] [2009-11-12 01:26:15] Cristian Ciupitu

After seeing the Millenium TV series [1] I decided to write my own Y2K countdown timer. I wrote it in Pascal and it displayed the days left until 2000 at boot time.


[0] [2009-11-12 01:36:03] David in Dakota

I've written a few things over the years: a regular expression tester [1], a property generator [2] for C#/VB.NET, a password generator [3], some photoblogging software, a web based sql server explorer tool, an iTunes playlist utility [4](did that way back, should still work though) and a time tracking tool.

I've had a lot of fun and learned a lot writing my own tools. It gives me no shortage of pleasure to see other people using my stuff of thought.


[0] [2010-02-17 15:18:55] sharkin

I must have written 4 or 5 personal movie databases over the years. One day I'll write the ultimate one. If for nothing else it's fun to see how ones programming skills evolves over the years.

[0] [2010-02-23 20:51:13] Matt Ellen

Outside of university?

So many things! Some that I can remember:

In Delphi 7 I wrote an app that displays the time much like this clock [1]; a little tool for learning how to pronounce Japanese number 1 - 10 and an artificial neural network designer.

In QBASIC I've written a space invaders clone.

In C++ I've written a little programme that (using OpenGL) displays an L-System where each node's position is affected by that of the other nodes ( that's here [2]).

In C# I've written an app that takes in a string and outputs it in binary in ASCII, unicode or UTF-32 encoding.

There's loads more. Most of them aren't that usefull!

[2] http://independence:88/index.php?page_name=portfolioitem&item=dynamicmotion

[0] [2010-02-23 21:19:04] Gareth Wilson

A small program to store simple text notes/thoughts/snippets/URLs, with keywords for quick searching later, and a command line copy program that accepts URIs for source/destination as well as local files - easy for putting in a batch file or something.

Thinking of doing a explorer/file browser application soon as the standard Windows explorer is continually annoying me, and none of the other 3rd part ones are done how I'd like.

[0] [2010-03-18 11:30:51] Daniel T. Magnusson

Wrote a python web parser for it parses 25 links, and inserts them into a new webpage with the comments in a iframe "above the picture". Comments are usally just as good as the picture itself.

And then it loads up all 25 pages in new tabs in firefox... basicly, this saves me ALOT of mouse clicks. 1 button to open 25 new tabs with comments/images.

Lazy person solves very important problem... ;(

[0] [2009-06-07 05:38:28] Ritesh M Nayak

Most of the items on this page are things I wrote for personal usage.

[0] [2009-11-11 19:26:41] cwallenpoole

Both of these were in Django:
I have a logger which I use consistently.
I also have a commenting system -- basically it lets me track code updates for local histories and builds (between SVN [1] comments)

There are a lot of .bat files I use daily -- most commonly, I wrote a command which force terminates Windows (a beefed up version of using the Windows button to call shut-down). I also wrote a .bat file once which compiles a list of .fla files and then pumps them into Flash so that they can be easily turned into SWF's. That's saved me probably as much time as it took to build it, but just barely.


[0] [2009-11-11 19:45:20] jldupont
  • iTunes to Banshee ratings transfer
  • BT Transmission "auto-stop when finished"
  • Stackoverflow Google Chrome extension
  • "Auto-Reload" extension for Chrome
  • Garage doors monitoring (uses Phidgets devices)
  • Erlang Port API library
  • Inter-thread messaging library
  • Mindmeister automated backup tools
  • Gliffy diagrams automated backup tools
  • Feedburner Awareness Data to RSS
  • 100's of Mediawiki extensions
  • AOP library for PHP
  • State-Machine design library for Python


[0] [2009-11-11 20:00:32] luc

I have a big familly and for christmas we can't buy a present for everyone. So we have decided that everyone must buy a present to only one other person of the familly. That's a kind of present sort.

We have some rules to follow (can't buy for his wife or husband, not to the same one than the year before, keep the secret about who is yours....).

Moreover, we have people in different locations and it was a big headache to have everybody a few weeks before christmas to organise this present sort.

So, I wrote a tool to randomly make this sort, to check all rules are ok and send an email to everyone. I've done it with a python script and hopefully it works... everyone gets a christmas present.

[0] [2009-11-11 20:04:21] PurplePilot

I wrote a load of dashboard widgets for the Mac from Man pages, Vi, Grep, SED+AWK etc just so i could reference them (and to learn Dashcode). To my surprise they are on quite a few site and as far as i can tell, not all site produce metrics, several thousand downloads as ell.

[0] [2009-11-11 20:07:59] Bozho

I once wrote a mobile (J2ME) determinant calculator (for matrices), but I discovered a bug in a rare case, which happened to be my exam problem..and I had to solve it by hand (correctly, as it turned out).
(And of course many more programs of less interest.)

[0] [2009-11-11 20:22:35] Loadmaster

I use various DOS/Windows command shell utilities I've written over the years, including:
• File finder.
• File modification time changer.
• File hex dump. Very useful for finding malformed CRLFs and to determine what type an unknown file is.
• Newline conversion program. Very useful for converting between Unix and DOS/Windows text files.
• tee(1) command.
• what(1) command.
• FTP utility, driven solely by command line options.

FWIW, my open source web pages: