10 Ways to Get Inspiration as a Programmer

by redshift

Sometimes I fall into the trap of reading about programming and not programming. I can’t always find an interesting project to work on, even though I know there are a sea of opportunities. If you have the same issue, here are some tips that might help.

  1. Hang out with other programmers. This is the best source of inspiration because, naturally, they’ll have ideas that you won’t. It doesn’t matter if it’s just some coder friends, a programming group, or even a conference. The mixing of all those ideas is sure to give you a fresh perspective.
  2. Hang out with non-programmers, too. First of all, it’s healthy to be around people that make you happy or challenge your thinking, whether or not they code. Second, they can give you inspiration from a user’s perspective. What frustrates them about their computer? Can you come up with a solution?
  3. Have a dedicated workspace. If it’s not possible to have a dedicated space, at least make sure it’s quiet and you can focus on the computer without distractions. Make it your cave. Make sure your chair is comfortable and supports your back. Have water handy. Don’t sit without moving all day — stay healthy.
  4. Have a good development environment. The software version of the previous tip. I don’t care which editor you use (though I recommend vim) but make sure you’re using one that gives you some power and flexibility. Always use source control – in particular, I recommend you learn git because of the concepts it will teach you. Always back up your work. All of this will prevent the massive demotivation you will experience if you don’t use them and you lose your work.
  5. Keep your ears open. Read the twitter feeds and blogs of the programmers you respect. (Look at my twitter feed if you want – it’s mostly programmers.) RSS aggregators, such as Ruby Inside, or the old-school Planets, can be great sources of news because they add prominent new programmers without you having to search. Pick a few blogs on topics you wouldn’t normally read, and subscribe to them too.

    Yes, this can get you sucked into the trap of reading code and not writing it, but being plugged into the larger coding ecosystem is good for you and can be the source of many ideas.

  6. Read good code. Think of some software you love and look at the source code. What problems did they have? How can you learn from it, or better yet, how can you improve that software? There are many sources of good code, but GitHub has to be one of the best. The GitHub Rebase series on the GitHub blog lists a number of notable new projects if you want some specifics.
  7. Read the rest of this entry »

Android contest

by redshift

I’m a fan of Google’s Android effort – here’s a contest to win a T-Mobile G1 to try it out.

Programming Language Websites Need Code

by redshift

Please – if you’re making the website for a programming language, show some code. What could possibly be more important?


by redshift

Highly recommended logic puzzle – the Masyu series by Tootsweet for iPhone. I’ve beaten Masyu Bug and Masyu, and I’m on to Monster Masyu…

Proposition 8.5

by redshift

Good work on Prop 8, California. I’m going to propose Proposition 8.5 to prevent mustachioed people from being legally married. I hope you’ll support it as well as you did Prop 8 yesterday!

How to fix an Ubuntu crash

by redshift

Ok, this isn’t specifically related to Ubuntu, but I’m hoping it can help someone. Maybe you won’t have to spend a week cursing at your computer like I have.

Here’s a summary of the problem. I wanted to try Ubuntu to see what all the hype was about. I downloaded the latest LiveCD for 8.10 (Intrepid Ibex) and booted it up. Liking what I saw, I started the install process. From that point, until just before the install was completed, my computer would lock up hard. Every time.

It’s important to note that the same computer never crashes in Gentoo or even *gasp* Windows. Also, the “alternative mode” (text) installer works fine, and booting into Ubuntu recovery mode (single user) works fine as well.

If I just used the LiveCD without installing, sometimes it would be OK – but it would always lock up eventually. Usually this would happen when there was a high level of activity, but occasionally it would freeze when sitting idle as well.

At first, I thought it was caused by the hard drive I was installing to, because I’ve had some issues with it in the past. After unplugging every drive, and having the OS crash with the same frequency, that was quickly eliminated. This also eliminated problems with the drive controller.

Then I thought it had to be an incompatibility between Ubuntu and my motherboard chipset, which is an nVidia nForce 570 SLI. I tried all kinds of advice on disabling apic (noapic and nolapic kernel options) to no avail. I tried noacpi, but that disabled my keyboard and mouse and I don’t have any PS/2 ones lying around. I tried updating my BIOS to the latest version – no dice.

Then I thought it was an incompatibility with the video card, an nVidia GeForce 7950 GT. After all, it works in the alternative installer and recovery mode, so it has to be something graphical, right? Nope. I tried the “nv” and “vesa” drivers for Xorg with the same results. Any difference in time-to-crash was coincidental.

I tried to think of issues I’ve had in Windows in the past. Then, of course, it hit me. Whenever I tried to turn on AMD’s Cool’n’Quiet feature, the system became very unstable. I had to go through a lot of pain to remove that driver without crashing the system.

The equivalent software in Linux is powernowd, also known in Gnome (and, therefore, Ubuntu) as “CPU Frequency manager”, which takes advantage of the different CPU power-stepping features to slow down your processor when you don’t need it. This fits the pattern of crashing on high activity (when the CPU steps up) and occasionally at idle (when the CPU steps down after high activity).

The fix: Go to System -> Administration -> Services and uncheck the option for powernowd. This will permanently stop the daemon. You can also run “/etc/init.d/powernowd stop” on Ubuntu and several other distributions to stop the daemon temporarily. (Distributions vary as to how to permanently stop a daemon. In Gentoo, for example, you’d run “rc-update del powernowd default”.)

So, it seems that the chipset on many motherboards (mine is an Asus M2N-SLI Deluxe), or perhaps the processor (mine is an AMD Athlon 64 X2 5200+), is incompatible with power stepping. The same advice applies to Ubuntu 8.04 (Hardy Heron) and probably previous releases as well.

A Good AOL Product?

by redshift

I didn’t discover it until finding their iPhone app, but AOL Radio is actually really good. It’s the only online radio I’ve found that has real metal stations.

Win Grooming Gear

by redshift

The folks at The Art of Manliness, a great blog about men’s traditions, are running a contest to win some nice grooming gear. They’re giving away shaving cream, aftershave gel, etc. If you were turned on by our first shaving guide, you might be interested in these goodies.

Broken Pixels

by redshift

Highly recommended: the Broken Pixels podcast. Hilarious reviews of 15+ year old games. The default player name in China Warrior was “fuckchop.”

Kindles finally available

by redshift

You can actually buy a Kindle from Amazon now… I’d love to try one, but I’m still not sure on the interface.