Visit to the Fruit Stand and Sony Store

On Wednesday, I ended up going to Sherway Gardens for the afternoon, where the main attraction is an actual Apple Store. Said store is also known as the Fruit Stand or Fruit Stall, similar to how the “Apple/Command” key on Mac keyboards is commonly called “Fruit.” A few points of interest:

  • When you get in, you’re accosted by no less than five people. The initial object of my first trick was to look at iPod accessories, which are located about 2/3 of the way back in the store. Five salespeople asked if we required any assistance on the way there.
  • All iPod accessories in the Fruit Stand are overpriced, and anyone buying a case for their freaking Shuffle needs to seriously reconsider what they’re doing with their disposable income.
  • Those MacBook Pro systems are incredibly nice looking. Maybe next time a laptop purchase is needed…
  • That Mac Pro system is also incredibly nice looking, especially paired with the 30″ Apple Cinema Display.
  • You know, my 4th gen iPod/20GB is getting kind of scratched, not to mention it’s having syncing issues and freezes sometimes.
  • Why yes, sir, I *would* like to purchase a new 80GB black iPod video right this minute!

So, after damning myself repeatedly because of my incredible consumer-whoreism tendencies, I walked out of there with a new device that will help kill time on the bus. I’m so conflicted, because on one hand the 20GB black and white unit still technically works for what I need it to… but on the other hand, it’s so shiny and will play videos of Jack Bauer gettin’ some terrorists and it’ll hold all my music and… stop it.

I’m going to have to put in some extra hours for work for this one, at least.

The other interesting expedition today was to the Sony Store. I am of the opinion that Sony makes a certain number of things with really decent quality:

  1. Televisions
  2. Camcorders
  3. Headphones (as long as they’re more than $20)
  4. Decent-looking PC displays (well, at least the Trinitrons)

Unfortunately, the company is currently on this huge “Full HD” or “True HD 1080” kick, which basically means that their really expensive TV’s will support a native resolution of 1980×1020 running progressively (60fps.) This is due to their launch of the PS3, which doesn’t have an internal scaler, so your games run at either standard-def or 1080p; if your TV doesn’t support 1080p, guess what mode you’re running in?

What was mildly amusing that the TV shown in the front of their store had an infomercial going on about Full HD 1080p, blah blah blah… until I realized it was a 42″ Grand Wega LCD projection model, which has a native resolution of 720p and doesn’t support the Full HD variety.

I also took a look at the PS3 on display in the store, which failed to impress. (Hint: show the XMB interface and perhaps flOw; both of those things look pretty. I don’t want to see NBA ’07.)

Achievement unlocked

One of the threads in the Awful Archives that really should have gone further – and made a “gold” rating – was the Achievement Unlocked photoshop thread. The principle of the thread was to insert the Xbox 360 “Achievement Unlocked” logo over a picture.

I had a grand scheme for creating a few more of these, but I figured I’d post the template for the images to get some ideas circulating.

First of all, you’ll need the Xbox 360 “Convection” font used in the user interface. The font can be found as a part of the Media Center Extender software download; it’s called ConvectionRegular.ttf. I used WinRAR to extract the XboxMCE05Lite-enu.exe, then used WinRAR again to extract the contents of XboxMCE05.exe. The font is located in the mcrdinstaller directory in the setup archive.

For the lazy among you, grab the font here:

To install the Convection font, click Start > Run and type in fonts. Drag the ConvectionRegular.ttf to the Fonts window, and wait for the progress bar.

I’ve provided “raw” PNG files of the achievement text, both as a single line (how it’s actually displayed on the 360) and as two lines. I used Fireworks 8 to edit them, but any program capable of reading PNG files should be able to process them.

Here’s the results:

Achievement unlocked
(Download raw PNG)

Achievement unlocked (two lines)
(Download raw PNG)

Update 3/10/2007: Per Dave’s comment, here’s the two St. David’s-related achievement images, as well as some UW and Laurier related ones…
Continue reading

La Fonera wireless router

During my browsing of Something Awful’s coupons forum, I noticed an offer for a free “La Fonera” wireless router. The concept of this device is that it’s an 802.11b/g router with custom OpenWRT firmware, which creates two separate SSID’s:


    • FON_(accesspoint), which is an open WLAN that allows anyone to connect


    • MyPlace, a WPA or WPA2-encrypted WLAN that is “private use”


I figured it’d be a useful device to physically isolate my network from unknown PC’s, since the public WLAN doesn’t allow connection to other PC’s on the internal network by default.

Some pictures of the packaging and device follow, as well as my specific configuration changes:
Continue reading

Webalizer statistics on DreamHost

In my last post, I detailed the way in which you could activate the Analog statistics application on DreamHost accounts with root WordPress installations. I’m really not a fan of Analog, though – my preferred application for statistics tracking is Webalizer.

I’ll describe the best way to install Webalizer in this shared hosting environment, with information distilled from the DreamHost Customer Support Wiki.

First, you’ll need shell (SSH) access to your Dreamhost account. Once you’ve logged in, carry out the following tasks:

  1. Make a new directory in your home path called webalizer. Also make a new directory for your domain’s statistics.

    mkdir ~/webalizer
    mkdir ~/

  2. Change to the directory.

    cd ~/webalizer

  3. Open a new links browser instance to the Webalizer download page.


  4. When Links opens, press Enter to bypass the information box if it appears.
  5. Arrow down to the Linux ELF – Binary x86 link. (You don’t need the static binary.) Press d to download the file, and then press Enter to save the .tgz file.
  6. Once the file is downloaded, press q and then Enter to exit Links.
  7. Extract the .tgz file (change the version number if necessary).

    tar -zxf webalizer-2.01-10-linuxelf-x86-bin.tgz

  8. Move the contents of the versioned Webalizer directory to the ~/webalizer directory, and delete the version numbered extraction directory.

    mv webalizer-2.01-10-linuxelf-x86/* .
    rm -rf webalizer-2.01-10-linuxelf-x86/

  9. Copy the sample.conf file to a new file with your domain name.

    cp sample.conf

  10. Edit the file using your preferred editor. You will want to uncomment and change the following lines to reflect the DreamHost configuration:

    TheLogFile line should read:
    LogFile /home/username/logs/

    The OutputDir command should be:
    OutputDir /home/username/

    The Incremental option should be enabled:
    Incremental yes

    And the IncrementalName directive should be uncommented:
    IncrementalName webalizer.current

  11. Save the file, then run the webalizer application:

    ./webalizer -c

  12. Browse to your site’s webalizer directory and view the statistics. The URL is:

In order to retrieve each day’s statistics and have Webalizer parse them, you need to set up a cronjob to automatically run each day after midnight. 2 AM is about the best bet for the cycle to run.

  1. Set your EDITOR variable to vi, so that your commands all are on the same line.

    export EDITOR=vi

  2. Edit your crontab file:

    crontab -e

  3. Add the following line to the crontab file. (Press i for Insert mode to begin typing in vi. To exit, type :wq.)

    0 2 * * * /home/username/webalizer/webalizer -c /home/username/webalizer/ >/dev/null 2>&1

Your cronjob will now run at 2AM every day, processing the previous day’s log entries.

If you want to secure your /webalizer/ directory from prying eyes, you can create a .htaccess file under ~/ with the following information:

AuthName "Webalizer Statistics"
AuthType Basic
AuthUserFile /home/username/
Require valid-user

Then, use Apache’s htpasswd tool to create the .htpasswd file:

htpasswd -c /home/username/ useraccount

You will be prompted for a password for the user account. To add more users to this file, run the htpasswd command without the -c flag:

htpasswd /home/username/ anotheruser

While there’s a lot of information to digest, Webalizer is an excellent tool for tracking web statistics and the user interface is slightly more friendly than Analog. I plan to use the two applications concurrently – Analog seems to do a better job of tracking referral URLs and Webalizer provides colourful graphs.

Update 3/07/2007: I’ve updated the crontab section to reflect that the full /home/username/webalizer/ path needs to be passed for the -c flag.

DreamHost statistics with a root WordPress installation

If you own one or more of the 350K domains hosted with Dreamhost, you may be interested in using their statistics tracking system. However, if you have WordPress installed at the root of your domain, the /stats/ URL is inaccessible and only results in a 404 error, as WordPress tries to parse /stats/ as a permalink to a post or page. This is due to the .htaccess directives that WordPress employs.

The solution is on the DreamHost wiki and can be added to the top of your .htaccess file fairly quickly:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(stats|failed_auth\.html)/?(.*)$ [NC]
RewriteRule ^.*$ - [L]

This code comes before the WordPress commented line:
# BEGIN WordPress

Alternatively, if you’re concerned about people possibly bruteforcing your statistics username and password (since it uses simple HTTP authentication), you can deny public access to /stats/ and access the logfiles from an SSH session. Keep in mind that this will be a text-based view of your statistics.

cd logs/
links index.html

The logs directory is accessible under your home directory (~). You could also always run a tar/gzip command on the ~/logs/ directory and SFTP/FTP the file, then view the stats locally.

For more information, such as performing the same operation with Ruby on Rails apps or TextPattern, check the wiki.

VNC on a Mac? Use Vine.

Thanks to Dave for this pointer:

The default VNC application on OS X really bites, so if you want to access your Mac remotely, get a copy of Vine Server.

For viewing the result on a PC, install UltraVNC and use the following connection settings for best results. (This assumes you’re on a local area network – both wireless and wired worked fine for me.)

UltraVNC Settings Dialog is now live again

Barring any monkey business… works again. Carry on as usual. Please report any errors and I’ll crank out a fix as soon as is possible.

In other news, co-op rankings begin Friday at 1pm. Good luck to any UW-goers in this process.

In other news, I just wrote an essay for English that has made me enraged at slippery slope arguments. Why must people continue to prove Godwin’s Law, even in professional writing? is now

The site lives again… at

Please update your bookmarks, email addresses, and whatever else you may have that references the previous address. For most of you, this will not involve too much work. For me, it’s a significant amount of pain at a time when I don’t especially need it. There’s still a lot of code referenced in Ethanol that may point to the specific .net domain.

In other words, I’ve moved “the site” to a domain directly under my control. ( was registered directly to Future Point, my previous web host. The .org equivalent is directly registered to me.) I’m really disappointed that things had to come to this, but I really haven’t been given much choice with the way things worked out.

If I do hear from Future Point’s tech contacts and can make things happen, I will likely permanently redirect .net to point to .org.

Hasta la Vista

I’ve been running the RTM version of Windows Vista on my primary PC workstation for a little less than a month. I figured I’d have a license key to enter from UW’s MSDNAA program before the end of February, but it’s looking increasingly unlikely that the promised serial number would be delivered before the activation timer expires. While it was useful to have around, since all new computers being purchased these days are coming with it, there comes a point where I get fed up.

In my case, the primary issue was that of driver incompatibility. nVidia’s latest (even beta) drivers do not allow users to set custom resolutions for Vista. What’s more, it might not be a scenario in which the feature is “not there yet” – my random searching has led me to believe that Microsoft’s WHQL certification process may preclude custom resolution switching.

Since my Viewsonic VX2025wm uses a resolution setting of 1680×1050@60Hz, and I’m running the monitor through a KVM switch that doesn’t expose EDID information, I have to force the issue with the nVidia (or ATI) drivers installed. The problem doesn’t occur when I run the monitor using its DVI port, but VGA connections in Vista – even without the KVM switch – refuse to acknowledge the monitor’s capabilities.

I did try several alternatives – a “hacked INF” file, and using a tool called PowerStrip. Both of these attempts failed miserably, and PowerStrip only led me to believe that paying $30 for the full version would be like paying $30 to bang my head against a wall.

That application is the epitome of “don’t touch this if you don’t know what you’re talking about.” I like to think I know what I’m talking about with my own hardware, but when presented with at least twenty different settings in a confusing, menu-driven interface, it’s hard to know what might irrevocably ruin one of my nicer pieces of equipment.

The problem with Vista, as I see it, is not really based on anything Microsoft does. They can rest assured that their new operating system will help reduce their current issues with spyware and malware and leave it at that. I just don’t see the reason to upgrade if I can’t have one of my key features. While the DVI+USB 4-port KVM switch is a project of mine for the future, I shouldn’t need it in order to function properly.

User Account Control in Vista will be a real piss-off when someone writes the following program (spyware), though:

// pseudocode follows
function installNastySpyware()
do {
MessageBox("You *must* click 'Allow' on the next dialog in order to install Cute Little Happy Cat Cursors.", "Cute Little Happy Cat Cursors");
AuthenticationToken token = getTokenFromOS();
} while (token.authLevel < AUTH_ADMINISTRATOR);
// go to town on system
using token.authPermissions {
} domain updates

I’ve escalated the issue with the DNS resolution problem. To reiterate the problem, the community blogging/random video/insult site at is currently unavailable for public access – it’s been replaced with some spammy search site that apparently is trying to flog DJ equipment or something else useless.

Things from the administration end seem to be fine; I can still log into the administrative panel and phpMyAdmin instances that Future Point provides. I’m also able to access my account using SSH to upload and change files. Right now, I’m currently creating a copy of everything originally hosted on ev98, as well as a backup of the site’s text content, in the event that I have to permanently move things offsite.

For now, I’ve redirected all content on the site to the “hosting preview” address, which still should work. (You might have to log in again, though.)

I’ll update in the near future with what ends up happening. At worst case, the site moves over to a new domain and I have to tell everyone to update their email address information for me. At best case, the site comes back up and I change a few Ethanol settings back.

I also managed to push the WordPress 2.1.1 update here, which apparently fixes some XSS exploit issue. I’m still trying to determine if there’s a legitimate bug with the “custom fields” functionality, since I’d like to exploit that capability for a new project. That’ll have to wait until I can verify things though.