Allow me to make a generalization and ask a question at the same time. When you write your code, do you write it for yourself, or for someone who might use the code? Do you try to make your code as clever as possible, or as simple as possible?
At YAPC::NA 2008, Schwern had a great talk on skimmable code. Simple code frees up the programmer's cognitive resources to concentrate on the business logic, not on reading the code. One could argue "well, you're just not smart enough to understand my code". That's a valid answer, but it is more likely that I don't have the time to spend deciphering your code. I believe that I'm a reasonably intelligent person. But also a busy person, and it's rare enough that I get the time to write my own code and focus.
I'm starting to believe more and more that writing simple code is hard, and writing complex code is easy. Simple code is easy for your users to read, and it is easy for you to read as well. Most often, we are the biggest users of our own code. Damian had a nice anecdote in PBP about watching out for the person who has to look at your code six months after it has been touched. Most often, that user is you, so be kind to yourself and code for the inner user in you!
I gave my YAPC::NA 2008 talk today, Handling the Ball of Mud. The auditorium was big, and the screen was definitely the biggest I have ever given a talk on. I was a bit nervous and went over a couple minutes, but I think it went fairly well
Saw a couple of other great talks. Schwern's Skimmable Code: Fast to Read, Fast to Change had some good insights on "Get in, do your thing, and get out" and "Narrow Focus", and how to use those mantras in writing easy to maintain code.
Ricardo Signes' haunted house themed talk Email Hates the Living! was a very entertaining look at the oddities of the various email RFCs.
tags: yapcna2008
CPAN
It is somewhat serendipitous how when the right design falls into place, the code gets really simple and refactoring becomes a matter of removing the noise and leaving the signal.
I've been doing more mod_perl hacking of late, and have been running into the issue of diagnosing problems on different operating systems.
Parallels has basically failed me at this point. I paid $99 for it initially, then they released 3.0 a few months later and wanted to charge me another $99 to upgrade. Shortly after, my 2.x version started acting wonky, taking upwards of 10 minutes to start virtual machines, eating up all cpu in the process.
I called up VMWare a week ago and asked them if they had any discounts for open source developers using VMWare to do open source development. The person I talked to didn't really understand what I was asking for, so it didn't pan out. I've download a trial version of Fusion, and it has been working great.
So does anyone know of deals with virtualization environments for open source developers? I can't promise that I would use the virtual machine code _only_ for open source development, but that is really what is driving my needs right now.
My sidekick 3 was close to the junk pile today, so I got a three week old used iPhone off Craigslist. I have a good deal with TMobile, so I decided I would try to unlock the iPhone and load on 3rd party firmware
I had looked at ZiPhone.org previously and it looked pretty good. Good enough to blindly install it on the iphone I just paid a few hundred bucks for. Downloaded ZiPhone 3.0, inserted my sim card, hooked it up to the mac, opened the program, and clicked unlock. The timer started at 4.5 minutes.
Saw a lot of terminal scroll across the screen (cool!). Had the obligatory panic attack ("I'm going to turn this thing into an expensive paperweight"). Four point five minutes later I had a working ZiPhone. Stuff hardly ever works like that, you know what I mean?
Thoroughly impressed, donated 20 euros ($32) to the author. Top notch experience, and this is a great phone.
I discovered today that TypePad.com is another website that if you request a password reset, they send you your current password in plain text, which means it is either stored unencrypted in their database, or it is encrypted symmetrically (whoever steals their key gets all the passwords for the price of one).
Everytime I see someone do this I am alarmed. My password shouldn't be in plain text anywhere except on my computer (here it is in plain text going over the wire and possibly in their database also). TypePad is a professional web service with millions of users, and they don't have a password recovery system that even pretends to be secure?
Went out today and ran eight miles in 66 minutes (about 8:15 minutes per mile). My snowboarding injury flared up again in my ankle a few weeks ago, so I haven't run in since then. I've been spending several days a week in the gym working on strengthening my legs and ankles. Today it paid off. I ran the first four miles in about 30 minutes, about 7:30 per mile. Feeling great, looking forward to doing a marathon this summer if I can keep up this level of fitness.
mod_perl 2.0.4 was released tonight!
Lots of great stuff, including perl 5.10 compatibility.