Ruthless Refactoring and Other Activities post
As I finally wrestle down my Sportsticker parser and scoreboard system into submission, I spent some time going through my code and applying the DRY (Don't Repeat Yourself) wherever I can. So, I've moved some functionality into a support library and are slowly replacing old code with calls to new functions I've created. The result? Easier testing of my code when I add new features AND less lines of code to go through when figuring out more tweaks.
It also looks like I have a large amount of side work to do in the next little while. Marco over at php|architect has asked me to get involved in a few projects over there. Firstly, he's asked me to contribute a smaller version of my recent magazine article to A/R/T. That shouldn't be too hard to do, the trick will be figuring out what to cut out. Secondly, Marco also mentioned that he was interested in having me do a 20 minute webcast about "What Can PHP Learn From Ruby on Rails" as a teaser for my talk at php|tek 2007. Again, that should be fairly easy...but I will have to definitely cut down my presentation from php|works to focus on just the basics. Maybe just talk about "convention over configuration" or something. I'll figure that out.
Lastly, I've been asked to participate in the creation of an introduction to Ruby training course. This is very exciting and very scary at the same time. While I'm no Ruby expert, I feel that I can show other people with programming experience just what Ruby has to offer. Of course, it's ironic I'm asked to do this while I'm busy ignoring Ruby while fooling around with Python and Django. :)
Not to feat though. Your humble correspondent is up to the task. Since I love to talk, coming up with up to 18 hours of instruction on Ruby (and some Rails as well), while challenging, is the type of task that kicks my butt and tends to help me create something good. First step is the outline of the course. If that goes well, then we can figure out how to turn that outline into a large quantity of slides for the actual course.
Back to my Django tutorial... ;)