Often they're things I've never used before and have developed a prejudice against. Once upon a time, I insisted on using Perl to write all my programs. Then came the day I needed to use MySQL -- and I found PHP handled the process much easier. Unfortunately, it was a paid project that I needed to get done immediately, and had no time for a learning curve. I threw myself into it, and found out how much better it was than Perl in so many ways. Same with CSS -- I had written it off as a flowery annoying bastardization of the tried-and-true HTML...but after working with Blogger templates and deciding to make significant use of it in some new software I've written, I've decided it's not so bad.
It always seems that, after learning a new batch of programming skills, I inevitably have to go back and look at an older program I wrote long ago. This, more often than not, results in disgust at what a horrible programmer I was -- how could I have ever thought it would work that way!?!? Now, I do marvel at the ingenuity I've demonstrated in making things work, but now that I know the more direct way using a more modern system, it's difficult to go back to the old way.
Today's project was WML -- or, in layman's terms, the language for writing cellphone-compatible webpages. Have you bought a celphone with internet capability, only to find out all your favorite websites give you errors? It's because there's a difference between a webbrowser and a celphone browser...wireless devices don't understand HTML. I've glanced over the WML specifications in the past, but didn't have anything to apply it to, so I ignored it.
Last weekend, while we were travelling for the holidays, I had a flash of inspiration: I Am... would be handy to have on my celphone, so I could post from wherever I Am. The I Am site is a rather simple page (archives aside), heavy on text, with a simple form process to send data to the server. This afternoon, after completing a major component of a moneymaking project, I told myself that I should take an hour and write a WML shim for I Am...
Of course, as I've proven numerous times before, I have no concept of time. The project actually lasted 3 hours -- stopping to make dinner during the bleakest, most broken point in the programming -- but now I've learned a whole lot and have a very workable version of I Am... for celphones. Frustrating? Yes. Time-Consuming? Yes. A new skillset that has uses beyond my 6-year-old community 'blog' project? But of course! We'll see what I come up with now -- no doubt I'll figure out a useful application for this new knowledge.