MCEGuru 3

MCEGuru is a client/server application that turns your Nokia 770 “internet tablet” into a touch-screen Windows XP Media Center Edition remote. And it looks nice while doing it. In fact, I think this is a 770 killer app.

Be sure and check out the videos; I showed them to a coworker and he placed an order for a 770 within minutes.

PHP4 is dying 2

About 11 days ago now, Derick Rethans (author of the wonderful XDebug, among other things) broached the topic of dropping support for PHP 4 at the end of the year on the PHP internals mailing list. Seven days and approximately 165 replies later (record time for the internals list, if you ask me), an announcement was posted on php.net.

As a developer working for a company that bemoans the fact that we still have one legacy application running under PHP 4 (and only on the server; it’s running under 5 on our workstations), I thought nothing of the announcement. I definitely didn’t expect the uproar that it’s apparently caused. Perhaps the most visible complaint so far: the author of WordPress.

PHP 5 has been, from an adoption point of view, a complete flop. Most estimates place it in the single-digit percentages or at best the low teens, mostly gassed by marginal frameworks.

Again, my view of the transition has been skewed, so I can’t even relate to the above statement. In either case, it’ll be interesting to see how PHP 4 projects react.

Namespaces++ 4

PHP 6 now has namespace support checked into CVS. Unfortunately, they opted for the easy route: a single namespace construct at the top of a file declares the namespace for everything contained within that file. In other words, completely contradictory to every other construct in the language. It also limits you from ever using two namespaces within the same file. And all for no good reason. I even got involved and posted to the php.internals mailing list (unsurprisingly, with little, if any, effect).

</rant>

Coming soon 1

www.iphonegay.com Coming Soon!

(No, that’s not my domain.)

4th of July 1

The compulsory 4th of July post: hope everyone’s having a great holiday.

America! America!
God mend thine every flaw,
Confirm thy soul in self-control,
Thy liberty in law!

America the Beautiful, Katharine Lee Bates

SD to CF adapter 1

Found on DealNews today: an SD to CF card adapter. Note that it appears to be CF II, so not every CF device will support it. My D30 will, though, and if I pile in a MicroSD to SD adapter, I could take pictures and then email them directly from my phone. As a side benefit, it’d also allow me to consolidate to a single card format, although I’m not sure that MicroSD cards approach nearly the same speed as some of the high-end CF cards.

A tale of religion 1

A long time ago, in a galaxy far, far away, the hottest thing in the Linux world was XGL and Compiz. Together, they brought things into our desktop world the likes of which we’d never seen before. They were the messiahs, coming to lead us into the promised land named desktop dominance.

Support for the revolution mounted quickly, as the open source community threw it’s entire weight into the cogwheel. Unfortunately, this movement, like so many others, was beset with internal strife.

It began with doctrine, as it so often does. The members of the AIGLX tribe argued that the underpinnings of XGL did not hold true to open source philosophies, and denied their siblings heritage and legitimacy. To make matters worse, others, such as nVidians, claimed to have the same answers, yet needed neither XGL or AIGLX.

Meanwhile, Compiz was growing organically, particularly an underground movement following one known as Quinnstorm. This faction soon became frustrated with the mainstream’s inability to accept their fanaticism and decided to secede. Soon Beryl was born.

With all the dissension, newcomers were understandably confused. Should they use Compiz with XGL? Compiz with AIGLX? Beryl with just the nVidia drivers?

But perhaps that’s all at an end. After weeks of deliberation, it appears that the Beryl and Compiz camps have decided to once again unite under the name Compiz Fusion.

You can find out more at http://www.opencompositing.org/.

MySQL Compression 6

There are a lot of instances where it’s extremely convenient to blobs of data in a MySQL database. It’s not necessarily the most efficient storage, but it definitely has convenience points.

Speaking of convenience, MySQL actually includes compression functions that you can use right in your queries, allowing you to store the data compressed, but sill have introspection abilities without any special interface. Unfortunately, however, those functions aren’t directly compatible with, say, the PHP gzip extension, so you’re stuck packing all of the compression load on your perhaps already overloaded database.

That is, until now. A few days ago I was facing this exact problem at work, and with a little goading from the DBAs (i.e., they said it was “impossible”), I determined that I’d fix it, regardless of what it took.

After a few skinny dips into both the MySQL and gzip-extension source code, I discovered that MySQL was prepending a long integer onto the beginning of the compressed string. Luckily, this is easy to replicate in PHP:

<?php
// compress compatible with MySQL UNCOMPRESS(...)
$compressed = pack('L', strlen($string)).gzcompress($string);

// uncompress compatible with MySQL COMPRESS(...)
$uncompressed = gzuncompress(substr($compressed, 4));
?>

Compression for all!

Certifiable 1

Back in May I had the opportunity to attend the php|tek ’07 conference that was put on by php|architect magazine. They included a complimentary Zend Certification Exam, which, of course, I took advantage of. I found out the other day (only about a month later!) that I’d passed. I guess I’m now official.

Before taking the test I was required to sign a bulletproof non-disclosure agreement and swear on a stack of Bibles that I wouldn’t divulge any of the contents, so I won’t say much. However, being a self-developed developer from the very beginning, I always knew that a piece of paper with a shiny seal wouldn’t change a single thing: I was either a good developer, or I wasn’t, certified or not. Taking the test only served to make me more aware of that.

So while I’m sure it’ll look pretty on my resume, I’m just not that excited.

Wii Boxing 0

Joshua (my nearly 2-year old son) just kicked the CRAP out of one of the introductory level opponents in Wii Sports Boxing. I wish I’d taken a video of it, but — unfortunately — my camera happens to be dead. I’m sure I’ll get another chance, though, since he just knocked down another guy. He’s such a boy.

« Previous PageNext Page »