I Hate PHP Sometimes

As one of the first few languages I learned, PHP has a special place in my heart. I am able to do a lot with the language. But sometimes, I wish that the core development team would actually make it into a full object-oriented language. See more of the story for the exact reason. I was writing a compare function in one of my objects. However, I ran into a problem with trying to use the original compare() function I created because it was static, and the way I was trying to call it won’t be around until PHP 5.3.0:

public function itemExists($item)
    $className = get_class($item);
    foreach ($this->_items as $lItem) {
        if ($className == get_class($lItem) &&
            $className::compare($item, $lItem) == 0) {
            return true;
    return false;

Star Trek Rocks

I’ll keep this brief and won’t include any spoilers. Out of 10 Star Trek gets a 12. The movie didn’t just beat every last one of my expectations for the movie, it flat out obliterated it. I was really impressed by how much different it was from the old series, yet not. For those trekkie fans out there, you’ll definitely notice the things that are the same from the original series & movies, and will hopefully like the fresh perspective and view that its taking to make it different from the past. Cheers.

Dojo Drag-n-Drop and Form Submission

While working on one of my consulting projects, I was having a difficult time finding documentation anywhere online on how to use the Dojo Drag-n-Drop (dojo.dnd) features with forms. I wasn’t too keen on making JSON calls or writing a whole-lotta JavaScript to solve my problem. Well, luckily I managed to derive a solution rather quickly. Read on for more details.

Vimperator and Tab Mix Plus

I typically only install Mozilla Firefox plugins that I find really useful and help improve my browsing experience. Because I’m a hardcore Linux geek, I also love applications such as vim, which is a text-based, high-performance editor. When I head about Vimperator, I immediately grabbed it and started using it. The plugin was amazing in that it really helped me move away from that dreaded mouse and back to my keyboard, improving my overall efficiency.

Reducing Memory Consumption in Firefox 3

When Mozilla Firefox was still in Beta stages (e.g. pre-1.0), I fell in love with it. The browser was light-weight, standards-compliant, and much more secure than Internet Explorer. Ultimately, the thing that won me over was the fact that the browser had multiple tabs to allow me to browse multiple web sites without having to open a dozen different windows, yet still consumed very little memory.

Virtual Mail - Individual Mailbox Filtering:q

So, one of the things I’ve been working on is getting a nice Virtual Mail system setup for Cerberus’ Enterprise Hosting Solution. One of the things I’ve come to be really annoyed with is the lack of being able to apply procmail filtering to my mailbox (getting ~100+ e-mails from systems logs every day really makes my phone’s battery drain trying to download them all). After scrounging around, I managed to find a nice solution for my virtual mail hosting. My system is setup has Postfix at the center. Before Postfix accepts any messages, it communicates with SQLgrey to greylist unknown hosts. This has resulted in a good bit (approximately 95% of spam) from being received. Once a mail message is delivered, I route to amavisd-new to check for SPAM and Viruses. Then, once it comes back to the Postfix server, it’s delivered to the recipient. (A graphic will come soon.)

Snip Snip

No, I didn’t get neutered, for those of you with a sick sense of humor. I got my hair cut. How much? Let’s say about 12”+, e.g. almost all of it got cut off.

Nails and Feet

I was on a quest. You know, one of those quests of “I can save myself close to $200 if I can figure out how to fix this.” types of quests. It involved trying to replace the chip on my color toner cartridges. My first attempt at replacing a yellow toner cartridge with a magenta chip failed (presumably because I scratched the chip). On my way back, though, my foot slipped off the little ledge in my garage and onto a box of nails - where one of them proceeded to go about half an inch into my foot.

Converted to DreamHost

I’ve been working relatively quickly to try to get everything moved off of one of my servers in Dallas so that I can turn it into a virtual server. One of the things that had to go is my blog. Rather than hosting it inside of a VM (when the space, memory, etc. would be better sold), I decided to package it up and send it over to DreamHost. So far, my experience has been pleasing, and it was a surefire cannot pass-up-this-opportunity thing when they had the 777 deal - 1 year of hosting paid up-front at the amazing cost of $9.24.

Certificate Services and Unsupported Critical Extensions

Because of the need to have Active Directory operating over SSL, Active Directory Certificate Services were setup in our environment. For those unfamiliar with Active Directory Certificate Services, it is essentially a Public Key Infrastructure for a Windows Environment that cleanly ties into IIS, LDAP, and anything else that needs to request certificates and have a parent certificate authority seamlessly sign requests (real purpose is shortened for brevity).