Leonard’s multi-screen setup. What’s really crazy about that (besides the fact he has a panaramic picture across 5 monitors) is he uses an open source project called Synergy to “share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware.” Who says open source doesn’t innovate? That’s almost as cool as News.com accepting pingbacks. 🙂
Category Archives: Tech
MX900 on OS X
I could not be happier, I finally got my MX900 bluetooth mouse working correctly on Mac OS X. To clarify, it always worked but I had 5 buttons that were just there for decoration, and I really missed the back and forward buttons. The magic application that made my day? Gamepad Companion. I tried a couple of others, including the awful Logitech software, and nothing even came close to working. For future reference here are the button assignments on the mouse as shown in the interface:
- Left button
- Right button
- Wheel button (press down on wheel)
- Side back arrow button
- Side front arrow button
- Switch window button (below wheel)
- Up scroll (above wheel)
- Down scroll (below wheel)
The only thing that would make it perfect is if I could make the wheel button a double-click.
Image Toolbar Header
I’m doing some code cleanup around here, and I came to a line in my <head> that is soley to work around an Internet Explorer feature I don’t want on my site.

Here is the standard way to remove it:
<meta http-equiv="imagetoolbar" content="no" />
Since the http-equiv attribute is meant to be simply a document-level replacement for real HTTP headers, and I have the ability to send out real HTTP headers, I decided to try out removing this line and replacing it with this bit of PHP, which according to the spec is functionally equivilent:
<?php header ('imagetoolbar: no'); ?>
Looks funky, but according to the HTTP 1.1 specification user agents should ignore headers they don’t recognize, so there’s no harm. However in my testing I was disappointed (though not terribly surprised) to find that Internet Explorer did not respect the header. I have trimmed other parts of my markup quite a bit though, and I’m willing to sacrifice this one line.
Contact Information
Tantek muses on contact information. One of my coding dreams has always been to sit down for a few months and write the perfect contact manager. I daydream about it sometimes and have a lot of the implementation worked out in my head. Imagine something like Plaxo, but distributed, not annoying, completely automatic, and with an infinitely flexible versioned backend. In fact, not like Plaxo at all.
More Googlebot Flailing
Now I’m seeing the Googlebot request /about/ pages relative to known blogs that don’t have any links to any /about/ URI. The last time the Googlebot flailed around like this it was fun to watch for a little bit and wonder what they had cooking in the labs, but then it got annoying. I don’t know if there are rules of bot etiquette, but requesting imagined unlinked resources while spidering can’t be a best practice.
There is of course one blog vendor who consistently has about pages at Now my question Google is: what should the rest of us do if we want our about pages indexed by this new system? Mine happens to be in the /about/ URIs, and that’s Typepad.about subdirectory of my blog, but what about people who have about.html or about-me.php? Should I set up a permanent redirect for every blog I have redirecting to the real about page?
(Note: That’s faux indignation. I don’t have any juicy conspiracy theories, and I’m not really that peeved, mostly I’m just curious what they’re up to. However juicy conspiracy theories are welcome in the comments. [As long as they don’t make fun of me for noticing these things.] )
UPDATE: It just requested a non-existent non-linked /contact/ URI.
UPDATE: It just requested a non-existent non-linked /stats/ URI.
DEVELOPING . . .
Typepad Error
Funky Typepad DNS error I ran into today. And what is up with every Typepad site having the same favicon? Ruins my tabs. ( I was trying to get to http://ditto.typepad.com/ the blog by the creator of RubHub.)
PHP Pear
Rotten PEAR. I’ve noticed a “good ‘ol boy” mentality in most of the PHP “community” efforts. Is PHP succeeding because of its community or in spite of it? Hat tip: Jeff Moore.
Perl’s Special Variables
acking Literature
More Friendster
I just logged into Friendster and it’s really fast. Like Orkut fast. Their markup looks good too. Russell Beattie continues the PHP discussion with Is PHP Really More Scalable Than JSP?
Calculate Pagerank
Calculate Pagerank with PHP, using some funky but cool code. Better than having to fire up IE just to use the toolbar.
Friendster goes PHP
Friendster addresses performance problems by switching from Java to PHP. Note in the comments how language zealots are flailing about pointing to benchmarks saying how much faster JSP is. The comments from the PHP guys are the only decent ones in the thread. I stand by the assertion that PHP is the top web language to use to get stuff done.
Converting CGI
Mike Davidson writes Converting CGI Movable Type Templates to PHP. No comment permalinks, but my response is # 13.
PHP, XML, and Character Encodings
Steve Minutillo writes PHP, XML, and Character Encodings: a tale of sadness, rage, and (data-)loss. Hat tip: Alex.
Aggregator Hotlinking
Image hotlinking protection breaks online aggregators, but bandwidth doesn’t matter anymore so it’s moot.
MMCache
Turck MMCache Vs PHP Accelerator. I used to use PHPA and then migrated to MMcache recently, however I had to turn it off because it kept segfaulting when compiling KSES files. However the caching functions and shared memory stuff is really neat.
Redirection Proposal
As many people have heard now, blogs that were previously hosted at weblogs.com are now needing to find new homes. Dave is going to be sending people their backup files but it looks like a lot of links may be broken, and some people proposed keeping a list of the old and new URIs.
Why not go one step better? I apologize if this is not technically feasible for whatever reason, but here’s my idea. DNS is very flexible, Dave can have specific A records for subdomains of sites that are going to stay under weblogs.com, and then set up a wildcard * A record to point to a different IP. This IP could be anyone running a service that would allow people to redirect their old domains to their new ones. Technically this would be pretty simple, no more than a few hours of hacking. The machine serving the redirects could have a wildcard virtualhost entry in Apache and a simple PHP script (or Python script, or RewriteMap) to serve 301 Moved Permanently headers depending on the hostname.
It could redirect to whatever the site owner wanted. The hosting overhead would be minimal. I’m willing to personally commit to writing the code and hosting it for at least 2 years.
Hi-tech Church
Scoble visits an amazingly high tech church.
Overping
I’m moving Leonard off my updated list because he seems to be pinging constantly, even when there are no updates or changes. With my old-school aggregator style it makes it very annoying to visit his site. Moral of the story: don’t cry wolf with your pings.
Key Values Plugin
Brad Choate’s Key Values Plugin for MT. I’ll have to look at how this compares to WordPress’ built-in custom fields functionality.