How to jump into "real world" programming?
silentbicycle: I suspect part of your dilemma comes from too many CS students having the same problems. There are already a zillion webcomic downloaders, blogging engines, etc. You have other interests, yes? Perhaps you're geeked about baseball card statistics, blackjack, typography? Scratch an itch. Run with it.What tools would help solve (or even explore) your problems? Make them.That's one side of "real programming experience". Another side (which you won't learn from small - but ever so useful - projects) is how to work with other people on a common codebase under pressure, both writing clean code and interpreting other peoples' frantic twilight hacks. Kernighan and Pike's _The Practice of Programming_ is as good a style guide as any, and just practice reading code from open source codebases. Good code (Lua and the BSD userland utilites are good for bite-sized pondering) and bad code will teach you different things.