"This is the best time to be a programmer."
I remember reading the quote above from one of Michael Abrash's programming articles in Dr. Dobb's Journal back in the early 90's. He was talking about how computer hardware and software had progressed so far the past decade or so. Computers were becoming more and more powerful, and software technology was rapidly advancing, making the present time the most fun times to be a programmer. This was in an era when PC's were mostly running on Intel 386 and 486 CPUs, and the dominant operating system being MS-DOS and Windows 3.1.
Today (February, 2010), I would like to say that this is the best time to be a programmer. It was fun before, and it's even more fun now. With the Internet you have access to an endless amount of resources and tutorials. You can download various freely available source code and tools and learn the valuable techniques on how to create similar ones.
It's a good time to take advantage of all the programming resources available online. Here are a couple of practice projects I've been thinking of starting this year:
1. Write a language interpreter (flex, bison, C)
2. Add new features to scintilla text editor (scintilla, C++)
3. Write an arcade game (pycap, python)