PHP Hacking

The Milwaukee PHP User Group invited me to speak at their January 2011 meeting, so I talked about PHP Hacking, or at least my perspective on it, with a talk titled: PHP Hacking: The battle between great ideas and not-so-great code.

I recorded the audio from the talk, and since I felt the slides themselves didn’t say much, I thought about syncing the audio to the slides and making a video, but since SlideShare has these things called SlideCasts, I thought I’d give that a try…

John Boutelle has a great intro called Slidecasting 101 which explains it all. I found the SlideCast tool pretty easy to use, my only complaint would be that I’d like to not publish my slides until the audio is synced. If there’s a way to do that, I must have missed it.

As for the talk itself, it pokes a lot of fun at Java, .NET, Ruby (on Rails) and a few other things… Don’t take it too seriously… much of this talk was for entertainment purposes. Also, I mentioned a few people in this talk, or if I didn’t mention them, I mentioned things that they’ve done. Here’s a few: Dave Winer, Rogers Cadenhead, Kellan Elliott-McCrea, Phil Wilson, Vinny Carpenter, Steve Minutillo, Matt Gauger, Tom Henrich, and probably a few more I’ve forgotten…

If you’d like me to come speak at your user group or meeting, let me know… I’d be happy to come and insult whatever technology you’d like, even your own. :)

This presentation is published under a Creative Commons Attribution-ShareAlike license. You can also see it at SlideShare.


Heard – a mirror

I love I love music, and I love data, so it makes sense., for you unhep cats out there, allows you to keep a log of what you listen to by “scrobbling” your music – that is – it submits the info about the songs you listen to the web site via various bits of software. There’s scrobbling clients that work with iTunes, and your iPod, and your iPhone, and other things that don’t start with ‘i’ or come from Apple. (Oh, I’m rasterweb at

It’s interesting to see what I listen to, and who my top artists are, and all that jazz that comes with logging data… charts, graphs, etc. Fun stuff!

But as you’ve seen, I’ve been on a kick lately to pull all that data back to my own site. (See Also: Scuttle rides again!, Tweet Nest: Archive Your Tweets, Data goes in, Data comes out., Reclaim What’s Yours… Take Back Your Data!) So I figured it was time to get the data I’ve been feeding into since 2006 back to me, and back to my own site…. thusly “Heard” was born.


Heard is a bit of PHP code I whipped up which uses the API to pull my scrobbled data back to my own site and stuff it into MySQL, and from there it simply displays the data. Once again, this is my insurance policy. If goes down, disappears, loses all it’s data, or something else happens, I’ve at least got an archive of all of my listening data. is a great service, and they’ve provided a great API that makes doing these sorts of things possible, and I thank them for that.

So Heard is really just some hacked together code right now… I don’t think I’ve spent more than a few hours on it, but it is functional, and syncs data once per hour. Once I implement all the ideas I have for ways to improve it, I’ll upgrade my version, and think about releasing some code if there is any interest in it. I’m a pretty poor PHP programmer, but I’m dangerous enough to build simple things. If someone else loves this idea and wants to run with it, let me know, and I’ll share whatever I can.

And yes, the design (or lack of design) of Heard is minimalist to say the least. In one part it pays homage to’s display of data, and in another part, I didn’t want to get too caught up in the look at this point, but I do have some plans for later.

(And one more thing: Thanks goes out to Pixis Creative for doing a bit of CSS debugging for me.)

Update: The code for Heard is on GitHub. I’d love if people smarter than myself found ways to make it better.


PHP error_reporting

PHP (Once again a note for myself, but if you find it useful, well, you’re welcome!)

After a PHP upgrade, I noticed at least one bit of PHP code one the server wasn’t working (the TextLinkAds plugin for WordPress) so after a bit of digging around in php.ini, I found that this line was uncommented:

error_reporting  =  E_ALL

Which was causing warnings to spit out when some PHP scripts were run. I commented that line, and uncommented this line instead…


…for a little bit less error reporting/warnings about things, and that fixed it.

I’m sure this is not a cure-all, as another site with the same plugin always worked fine, and was never affected, but still, I didn’t really like seeing those warnings (which I believe are harmless, but they may need investigating anyway.)


Damn Excel!

Face it, even though Excel is a spreadsheet, the vast majority of users think it’s a database. Sure, why not? It’s got columns and rows and you can type data into it. Isn’t that what a database is?

In the olden days it was common to let people think this way, and then just dump the data out to a tab-delimited file and use Perl to rip through it. That was the olden days, because now we’re used to the new days, and Spreadsheet::ParseExcel

The Spreadsheet::ParseExcel module makes it pretty easy, and those people can keep sticking their data into Excel, and we’ll keep right on ripping it out with Perl. (Thanks Kawai Takanori!)

Even after all these years, when PHP and Java got bigger and stronger, and Ruby showed up and what not, Perl is still a great language for processing text and data, mainly due to the huge amount of useful modules available.