thoughton:digitallife banner
about downloads imagery work
-- How To... --

From iMovie to YouTube, a.s.a.p.


Imagine this, if you will. You've put together your iMovie masterpiece and want to share it with friends and family. No problem, fire it through to iDVD and send them a DVD - right? But suppose it's a very short clip, or the friends and relatives in question are more of the 'casual acquaintance' variety? Is it still appropriate to physically send a DVD? This was the quandary I was in (short clips, not casual relatives) - so I decided to make use of YouTube.

Now, we know that YouTube wants the video to be in certain formats so they can convert it to the Flash movie that YouTube viewers see. On top of that YouTube specifically recommends divx or xvid video with MP3 audio to achieve the "best results". If the video or audio is in the wrong format you end up with a movie missing the video or audio (as I discovered on several occasions during this process :P ).

The problem is finding a video and audio format which - in order of importance - (a) is compatible with YouTube, (b) is as small as possible to reduce upload time, and (c) encodes reasonably quickly and directly from iMovie without any intermediate apps such as ffmpegX.

After a lot experimentation I have found that H.264 video with AAC audio offers the best combination of encoding speed, file size (and hence upload time), and being available from within iMovie itself. The fact that YouTube accepted H.264 was a surprise to me but given the format's excellent video quality it was definitely a most pleasant one!

Here's what I did and the settings I used:

1. Start with your video clip in iMovie. Highlight the video in the Clips panel so that it is displayed in the large preview window. Click File:Export.

2. You should now see something similar to the image below. Choose 'Expert settings'. Click 'Share'.
Imovie Youtube 1

3. You are now given a save dialog box similar to the one below. Click on the 'Export' drop-down menu and choose 'Movie to QuickTime Movie'. Click Options.
Imovie Youtube 2

4. You should now see the Movie Settings panel as shown below. In the video section click 'Settings'.
Imovie Youtube 3

5. Now we get to choose our video format. Set the 'Compression Type' to H.264 with a frame rate of 15 fps with automatic key frames. I have found that a 'Low' quality setting with 'Best Quality' multi-pass encoding produced video that is perfectly sufficient for YouTube. Click OK. (See that preview? That's why this blog has been kinda quiet recently :P )
Imovie Youtube 4

6. Back at the Movie Settings panel you already saw in step 4, click the audio 'Settings' button.

7. Now we choose an audio format. Unless your home video has some kind of superb stereo sound (unlikely), we can save some space here by choosing a mono format and reducing the bitrate. Set the format to AAC, choose Mono from the channels drop-down menu, change the 'Rate' (frequency) to 22.050 kHz, and choose a target bit rate of 24 kbps. Click OK.
Imovie Youtube 5

8. Back at the Movie Settings panel again. Make sure 'Prepare for internet streaming' is deselected.

9. Still at the Movie Settings panel. In the video section click 'Size'. You'll probably need a calculator here. My source video was from a European digital camera, so it is PAL video with frame sizes of 784 x 576 (essentially a 4:3 aspect ratio). YouTube's default video size is 425 pixels wide so we'll aim for that width, which means to preserve our aspect ratio our video should be 312 pixels tall (784/425 = 576/312). Choose 'Custom' dimensions and plug in the frame size you just calculated. I also, hopefully unnecessarily, check the 'Preserve aspect ratio' box using 'Letterbox'. Raincoat and an umbrella, you know? :) Check the 'Deinterlace Source Video' box. Click OK.
Imovie Youtube 6

10. Back at the Movie Settings panel from step 4 ... hopefully for the last time. Click OK.

11. You should now be back at the save dialog box from step 3. Give your exported movie a name, and click 'save'. iMovie will now show you a progress bar for your export.

On my 2.16GHz Core Duo MacBook Pro a 3 minute iMovie clip takes about 10 minutes to export using this method, and ends up being about 3 megabytes in size. This in turn takes me about 3 minutes to upload to YouTube on my bog-standard 2 megabit ADSL broadband with it's pitiful 256k upload speed. For me that is a quick-enough process to make using YouTube as painless as possible. And it keeps the rellies happy! :D
-- Apple --

Airport Extreme 802.11n setup problems - solved


So ... the Airport Extreme 802.11n base station (mentioned last week) arrived safely. On the same day I received a new LaCie Porsche Design 320GB USB hard disk (don't laugh, this drive had the best dollars to gigabytes ratio out of all the major vendors' offerings). I was too busy to do anything with the equipment for the first few days but eventually found an hour to set it all up. Little did I know how much more time I would need ...

A little background first. My current setup consists of an Airport Express in my living room connected to ADSL and a stereo. I have a Canon MP750 multifunction printer but it's upstairs in the study meaning I have to take my MacBook Pro upstairs to print anything. I wanted to connect the printer wirelessly, but without running very long cables from the living room to the study. Also due to rapidly shrinking free hard disk space on my laptop I have lately been wanting to install a network hard drive, so when the Airport Extreme (from now on referred to as AEN) was announced it looked like just the thing since it would also solve my printer problem. My plan was to connect the AEN to the printer and a USB hard drive, while continuing to use the Express downstairs for the ADSL and stereo.

Performancetop 20070112-1
Connecting all the appropriate cables was very simple - just a power cord each for the hard drive and the AEN and a USB cable between them. Inserted the CD that comes with the AEN and installed the software. Beyond this point I was expecting a mostly-automated configuration via Airport Utility which 'just worked'. Unfortunately Airport Utility assumes you are setting up a new network and doesn't seem to allow for joining an existing one. This meant I had to configure it manually...

Two days later, and many boring hours trawling the internet, I am finally done. It's been a long and arduous journey! And not at all what I've come to expect from Apple gear. What follows is a brief description of the problems I encountered.

The actual setup
You might recall that I wanted to keep my Airport Express in its current role and add the new AEN to connect the printer and hard drive. Now I foolishly assumed this meant I should use the AEN to extend my existing network and wasted a couple of already-scarce hours troubleshooting the faulty setup. Once I finally realised that I needed to use a WDS network and set the Express to WDS Main mode and the AEN to WDS Remote mode things started to look up - a little. While both Airport units were visible on the same network, I couldn't see my hard drive. After more research on the Apple 802.11n forums I came across several recommendations to reformat the hard drive to fix non-visible drive issues. Following this advice I connected the drive directly to one of my Mac's USB ports and formatted it as Mac OS X Extended (not journalled) and - Eureka! - the drive was now visible in Airport Disk Utility and could be mounted with the name 'AirDisk'. The light on the AEN was still flashing orange, but I didn't care. Success! Or so I thought ...

Teething problems
One of the first things I did was to start copying my iTunes library to the newly mounted AirDisk. This was something I wanted to do anyway to free up some space on my laptop hard disk and I thought I could get a feel of the AirDisk's speed while copying many gigabytes of data. Within the first few minutes I knew what the speed felt like - it was pretty slow. Don't get me wrong - I knew I only had an 802.11g Mac but my transfer speed was only around 3.1 MB/sec, nothing like the almost 7 MB/sec which 54Mbps 802.11g should be capable of. Nevertheless I left it churning away and left it for an hour or two. However when I returned I found a dialog box saying the AirDisk had disconnected, and my file copy had been aborted.

Things went downhill from this point. Now nothing seemed to work. :( I couldn't re-mount the AirDisk even though I could see it with Airport Disk Utility. The AEN was behaving extremely erratically, disappearing from the Airport Utility panel before mysteriously reappearing some time later. I could reboot everything and the network would seem to work but the AirDisk was still not mountable. Then 10 minutes later the network would fall apart again. It was all quite annoying.

After much head-scratching, I eventually figured out that the network dropping out after a few minutes was the sort of thing that would happen if two devices on the same network are both acting as DHCP servers. Searching through the Internet panel of the AEN configuration screens I finally noticed a drop box to disable 'internet sharing' and activate 'bridge mode'. Bingo! This solved the dropped network issues, AND it turned the AEN light to a solid green.
Internetsharing-Bridge

But my AirDisk was still not working. At this point I began wondering if the drive had suffered some kind of catastrophic failure in its first day of use.

It eventually occurred to me to disconnect the AirDisk from the AEN and reconnect it to my laptop. The only reason I didn't do this earlier was the fact that I had only formatted the drive a couple of hours earlier! But once I connected the drive, lo and behold, nothing. It didn't show up in the Finder. I proceeded to check the drive with Disk Utility and immediately discovered the problem:

Verify and Repair disk “AirDisk”
Checking HFS Plus volume.
Checking Extents Overflow file.
Checking Catalog file.
Invalid sibling link
Volume check failed.

Error: The underlying task reported failure on exit

1 HFS volume checked
1 volume could not be repaired because of an error
This 'invalid sibling link' could not be fixed by Disk Utility. I looked it up on Google but found precious little relevant information. Luckily the mighty DiskWarrior was up to the challenge and was able to fix the problem. One directory rebuild later, and the AirDisk was magically mounted on the Mac's desktop! I disconnected it from the Mac and plugged it back into the AEN via a USB hub. I remounted it wirelessly using Airport Disk Utility and everything now seems to be hunky-dory. Hopefully I'm not tempting fate by saying that. Watch this space.

The Printer
Getting the printer to work was pretty straightforward. Trying to print to my old printer profile resulted in a 'printer not found' error, but simply re-selecting my printer in the 'Bonjour' submenu of the print dialog box created a new working profile. I made that my default profile before deleting the old one. Job done. (Although my printer is a multifunction I don't expect scanning to work wirelessly and haven't bothered to test it).

Results
Well, I finally have the exact setup I was hoping for. My Airport Express is connected to the living room stereo and AirTunes works flawlessly. The Express is also sharing the ADSL signal. The AEN is upstairs connected to an unpowered USB hub which is in turn connected to my printer and the new hard drive. Everything is working, and I don't have any cables running through my walls! I'm very pleased. One thing I would mention to anyone contemplating this is that I took the opportunity to rearrange my iTunes library and copied 15GB of music to the AirDisk before adding it all to iTunes (iTunes was not set to copy files and not to keep the library organised). Since the files wouldn't be moved I figured that adding them to the library wouldn't take too long. Oh boy was I wrong about that - determining gapless playback over 802.11g for 15GB of music took around 14 hours! It all worked without dropping any connections though, so hopefully that's a good stress test of the AirDisk. One thing I have noticed is that the hard drive doesn't seem to spin down, and although it doesn't bother me this is something I would expect to be addressed by a firmware update. Some people claim that not spinning down reduces the life of the hard drive but - given that modern drives have a MTBF measured in hundreds of thousands of hours - I'm not one of them.

Despite complaining about the speed I should add that the system is still highly usable. iTunes plays over the 802.11g network just fine. Movies and music videos seem to play without problems. I am still experimenting with iPhoto but others have reported success. I've also copied a lot of stock photography to the AirDisk and despite a slight pause while the custom icons are displayed the responsiveness is excellent. I have also set up nightly scripts to backup important documents to a folder on the AirDisk. As a laptop user I find the convenience to be well worth the price of the hardware. Not to mention freeing up dozens of gigabytes on my already crammed laptop hard drive.

Conclusions
This is a great product with excellent benefits for us laptop-as-sole-computer types who don't want to be constantly connecting and disconnecting wires. Having said that however the actual product has a distinct 'version 1.0' feeling to it. I don't consider my single Airport Express network to be particularly unusual but adding the AEN to it was unreasonably difficult. Airport Utility's automatic configuration needs to be significantly improved for this device to be truly accessible to your average consumer. Nevertheless, I still love it :D
Posted on 21 February 2007, to Apple | How To... | Technology
Comment on this entry | TrackBacks (0)
-- How To... --

Roll your own .Mac


Idisk Replacement Box Whilst browsing through my newsreader today I noticed an article on Lifehacker about replicating .Mac services for free. Long-time readers will now that Apple's infamous bait-and-switch routine with .Mac really irritated me. So this is right up my street. The original article is at 5thirtyone, and is well worth reading. The box.net revelations were particularly interesting,
Posted on 1 January 2007, to How To... | Mac OS X
| TrackBacks (0)
-- Apple --

Preventing iPhoto albums from appearing in your screensavers preference pane


While searching for a solution to iPhoto polluting my screensavers list with hundreds of albums I found this thread over on the Apple discussion forums. Since those forum posts will expire after a few months I am posting gryphonent's solution here for my own records. if you do read through the thread, be sure to look out for the amusingly smarmy posts by the improbably-named Al Van Malsen.

To disable the iPhoto screen saver from showing your albums try this:

1.) Launch the Terminal application
2.) Type the following command (all on one line) and hit return
defaults delete com.apple.iApps iPhotoRecentDatabases ; chflags uchg ~/Library/Preferences/com.apple.iApps.plist

I have done this on my computer and have not noticed any ill effects from it. Essentially the command deletes the "iPhotoRecentDatabases" key from the "com.apple.iApps.plist" preference file and then locks the file so iPhoto can't write back to it the next time you launch iPhoto.

If you do experience any strange behavior after trying this you can unlock the "com.apple.iApps.plist" file in the Finder's "Get Info" window or you can issue the following command in the Terminal application:
chflags nouchg ~/Library/Preferences/com.apple.iApps.plist


Posted on 28 June 2006, to Apple | How To... | Mac OS X
| TrackBacks (0)
-- How To... --

Blocking a website with /etc/hosts in OS X


In an article on parental control of OS X, namely blocking children from accessing myspace.com, Dave Taylor proposes using the /etc/hosts file to accomplish the task. While experimenting with the method I found that I was unable to control the process, no matter what the contents of /etc/hosts.

After much trial and error I discovered that it is the lookupd process that needs to be restarted in order to respect changes to the /etc/hosts file. A reboot will accomplish the same thing, but twiddling my thumbs for several minutes through a shutdown and startup routine was not an acceptable solution.

In case anyone else has the same problem, here is the breakdown of this two-step process:

The default /etc/hosts file looks like this:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

To block both http://myspace.com and http://www.myspace.com add a line such as 127.0.0.1 myspace.com www.myspace.com. Fire up Terminal.app and enter these commands:

sudo pico /etc/hosts
(use the down arrow to move the cursor to the end of the file)
127.0.0.1 myspace.com www.myspace.com
(ctrl X, Y to save and exit)

Now you need to fire up Activity Monitor (Located in OS X's /Utilities folder) and force quit the process named lookupd. You will need to enter your administrator password.

Fire up a web browser and enter http://www.myspace.com. You should now find that the browser is redirected to the localhost at 127.0.0.1. This will be the contents of OS X's /Library/Webserver/Documents/ folder.

Reversing the procedure

First you need to remove the myspace line from /etc/hosts. Head back to Terminal and reissue the pico command you used earlier:

sudo pico /etc/hosts

And delete the myspace line. Once again, hit ctrl-X, Y to save and exit.

You now need to again launch the Activity Monitor and force quit the process named lookupd. You will need to enter your administrator password again.

Open up a new web browser window and enter http://www.myspace.com. The browser should once again connect as usual.


Posted on 7 March 2006, to How To... | Mac OS X
Comment on this entry | TrackBacks (0)
-- How To... --

FolderBlog on IIS


I've been using the great little image CMS known as FolderBlog for the last few months and have been thoroughly enjoying it. The program is easily adapted to any design and is incredibly simple to use, allowing even the most computer-illiterate client to easily upload images and edit captions. The official program doesn't have an easy non-FTP way to delete images, but that is taken care of by a nifty little modification by Björn-Frederic Limmer known as FolderBlog Ikue Reloaded (FIR). FIR also adds other features - including adding .gif compatibility and sorting by EXIF data - but it is the delete function that tops my list.

However, my entire experience of using FolderBlog and FIR has been on Apache servers. Today I tried to use it on an IIS server and ran into many problems. Searching for information to solve this problem was difficult, largely due to the lack of a search function at the official FolderBlog forums. The incomplete documentation for the current version 3 of the program also doesn't help! As a result I've decided to post my solution here:

Step 1
Edit fb_settings.php and replace:

$use_alt_url = 0;

With:
$use_alt_url = 1;

Note: To post new images and captions after changing this setting you need to browse to fb.php?p=post instead of fb.php/post/

Step 2
IIS does not have the REQUEST_URI function. We need to use PHP_SELF instead. Open up fb.php and replace all instances (there should be 5) of:

$_SERVER["REQUEST_URI"]

With:
$_SERVER['PHP_SELF']

Step 3
Some IIS servers which are running PHP as CGI may not have EXIF enabled. This was the case with my IIS server. In order to fix the exif_imagedata errors that result from this I had to find this section in the FIR version of fb.php:

function createThumb($filename,$altname="") {
global $photo_directory, $thumb_directory, $thumb_maxsize, $square_thumbs, $file_extension;


// MODIFIED BY IKUE
// check if it is a supported filetype, better error handling included

$original = @imagecreatefromjpeg($filename);
// could it be loaded? if not, try another
if (!$original) { $original = @imagecreatefrompng($filename); }
// could it be loaded? if not, try another
if (!$original) { $original = @imagecreatefromgif($filename); }
// still not loaded? dear... give an error message
if (!$original) { showerror("You attempted to load an unsupported filetype. Check your file extensions in the settings.<br>File: $filename"); }


$x = imagesx($original);
$y = imagesy($original);
if ($square_thumbs==0) {
$scale = $thumb_maxsize/max($x, $y);
$newx = $x*$scale;
$newy = $y*$scale;
$thumb = imagecreatetruecolor($newx, $newy);
imagecopyresampled($thumb, $original, 0, 0, 0, 0, $newx, $newy, $x, $y);
} elseif ($square_thumbs==1) {
$scale = $thumb_maxsize/min($x, $y);
$newx = $x*$scale;
$newy = $y*$scale;
$thumb = imagecreatetruecolor($thumb_maxsize, $thumb_maxsize);
imagecopyresampled($thumb, $original, ($newx-$thumb_maxsize)/-2, ($newy-$thumb_maxsize)/-2, 0, 0, $newx, $newy, $x, $y);
}
if (exif_imagetype($filename)==IMAGETYPE_JPEG) {
imagejpeg($thumb, $thumb_directory . basename($filename), 95);
if ($altname) {
imagejpeg($thumb, $thumb_directory . $altname, 95);
}
} else
if (exif_imagetype($filename)==IMAGETYPE_GIF) {
imagegif($thumb, $thumb_directory . basename($filename));
if ($altname) {
imagegif($thumb, $thumb_directory . $altname);
}
} else
if (exif_imagetype($filename)==IMAGETYPE_PNG) {
imagepng($thumb, $thumb_directory . basename($filename));
if ($altname) {
imagepng($thumb, $thumb_directory . $altname);
}
} else { showerror("You attempted to load an unsupported filetype. Check your file extensions in the settings.<br>File: $filename"); }

return array($newx, $newy);
}

And replace it with the same function from the original unmodified (not FIR) version of fb.php (this will remove EXIF functionality from FIR, but I don't need it anyway):

function createThumb($filename,$altname="") {
global $photo_directory, $thumb_directory, $thumb_maxsize, $square_thumbs, $file_extension;
$original = imagecreatefromjpeg($filename);
$x = imagesx($original);
$y = imagesy($original);
if ($square_thumbs==0) {
$scale = $thumb_maxsize/max($x, $y);
$newx = $x*$scale;
$newy = $y*$scale;
$thumb = imagecreatetruecolor($newx, $newy);
imagecopyresampled($thumb, $original, 0, 0, 0, 0, $newx, $newy, $x, $y);
} elseif ($square_thumbs==1) {
$scale = $thumb_maxsize/min($x, $y);
$newx = $x*$scale;
$newy = $y*$scale;
$thumb = imagecreatetruecolor($thumb_maxsize, $thumb_maxsize);
imagecopyresampled($thumb, $original, ($newx-$thumb_maxsize)/-2, ($newy-$thumb_maxsize)/-2, 0, 0, $newx, $newy, $x, $y);
}
imagejpeg($thumb, $thumb_directory . basename($filename), 95);
if ($altname) {
imagejpeg($thumb, $thumb_directory . $altname, 95);
}
return array($newx, $newy);
}

Step 4
Almost there! The FIR gallery now displays in my web browser, but although the thumbnails are visible none of links work. It turns out that all of the links were missing the ?q= characters. Thanks to this thread all you need to do to fix this is edit fb.php and replace this line:

$path[0] = $fbfile = str_replace($path[1], "", $_SERVER['PHP_SELF']) . (isset($_GET["p"]) ? "" : "?p=");

With this line:
$path[0] = $fbfile = str_replace($path[1], "", $_SERVER['PHP_SELF']) . (isset($_GET["p"]) ? "?p=" : "?p=");

Step 5
There is no step 5. You should now have a working FolderBlog installation on a Windows IIS server.


Posted on 30 December 2005, to How To... | Internet
Comment on this entry | TrackBacks (1)
-- Apple --

Mail.app nightmare over


Mail Attachment IconizerBack in April, I posted a rant about Mail.app's handling of inline images. The gist of my tirade was that Mail.app insisted (nothing's changed - it still does) on displaying images inline, rather than as attachments. The problem here is that messages with inline images or PDF documents take an age to open. This glacial response time is infinitely more aggravating when there are several such emails to open in succession (for instance when searching for one particular image out of dozens emailed to you). Mail.app does offer you the ability to right-click an image and choose 'display as icon', but close and re-open the email and you'll find that Mail.app will blithely continue to display the image as if you'd never told it otherwise. Even worse, there is no global preference to alter this behaviour.

This glaring tidbit of user-interface idiocy is particularly frustrating for me since I was a long-time Eudora user prior to the arrival of Mail.app and Eudora has always, for at least a decade, clearly distinguished between inline images and attachment images. Those of you who have never used any email client other than Mail.app may wonder what I am blithering on about. The basic explanation is that 'inline' should mean that the image is displayed along with the text of your email, whereas an 'attachment' should properly be an image (or other file) that is sent with the email as a file attachment but is not displayed with the text of your email.

The 'official' description of the difference between 'inline' and 'attachment' can be found in this RFC document, the relevant part of which is:

2.9 Content-Disposition and Multipart

If a Content-Disposition header is used on a multipart body part, it applies to the multipart as a whole, not the individual subparts. The disposition types of the subparts do not need to be consulted until the multipart itself is presented. When the multipart is displayed, then the dispositions of the subparts should be respected.

If the `inline' disposition is used, the multipart should be displayed as normal; however, an `attachment' subpart should require action from the user to display.

If the `attachment' disposition is used, presentation of the multipart should not proceed without explicit user action. Once the user has chosen to display the multipart, the individual subpart dispositions should be consulted to determine how to present the subparts.

Thus concludes Mac History 101.

"So", I hear you ask, "why are you moaning about this again?". Despair not dear reader - there is a solution! I have recently discovered that I am not alone in my Mail.app nightmare. Adam Nohejl of Czech outfit Loki Software must have been a fellow resident of inline-hell, but unlike yours truly he actually did something about it, writing a wonderful piece of $6 shareware named Mail Attachment Iconizer. This program does one thing only, and by God does it well. Simply fire up the installer and Mail Attachment Iconizer will modify your copy of Mail.app and forever turn those inline images into image icons. Double click 'em and they expand into images or PDFs; double-click a second time and they revert to icons. Apple - are you watching? This is the way it should have been done from the start. :evil:

For those of you wondering why I switched from Eudora in the first place if it was so damned wonderful, the answer is that Eudora at the time did not make the transition to OS X very well and wasn't updated for at least two years. It also didn't have Mail.app's tight integration with Address Book and the iLife apps. Not to mention the fact that Mail.app is free, whereas Eudora requires an annual (annual!) payment for the ad-free version.
-- How To... --

Mac OS 7.5.5 running on a PSP


System7 on PSPNeisha Erin Stadelhofer has managed to get Mac System 7.5.5 running on a PSP! It's still in its infancy, but very interesting nonetheless! Interesting tidbits: it takes 4 hours to boot; and she's only had her PSP for one day. In her own words - "yes, girls can hack too". Via MacSlash.
Posted on 30 September 2005, to How To... | Mobile
| TrackBacks (0)
-- Entertainment --

Video on your old iPod


Using the magic of iPodLinux you can now play videos on your third-generation (or earlier) iPod! These are the greyscale iPods, and there is not (yet) support for sound, but amazing stuff nonetheless!
Posted on 13 August 2005, to Entertainment | How To...
| TrackBacks (0)
-- Bereft of Reason --

OS X anti virus


Although there are famously no viruses on OS X other than artificial "proof-of-concept" examples, OS X Guide have posted a tutorial on how to use the open-source Clam anti-virus. Apparently the main reason is so that you don't inadvertently pass on Windows viruses. All very well-intentioned, but surely by the same rationale we should be scanning for OS 9, Symbian, Windows Mobile and Linux viruses...
Posted on 24 July 2005, to Bereft of Reason | How To... | Mac OS X
| TrackBacks (0)
-- How To... --

Password assistant


I've used Keychain Access for quite a while now, both to store logins and passwords for websites and for personal information such as banking and identification details. So it was a bit of a surprise when I finally clicked that key-shaped button next to the password field: Password Assistant Pretty nifty, especially in this day and age when ordinary people have to come up with more and more non-trivial passwords.
Posted on 22 July 2005, to How To... | Internet | Mac OS X | Technology
| TrackBacks (0)
-- How To... --

Drastically reduce mailbox disk usage


Thanks to this hint on MacOSXHints today, I have just reduced my Mail.app mailbox from 860MB down to 460MB in about 10 seconds. Apparently this only applies if you imported your pre-Tiger mailbox. Still, this is the kind of hint I love :)
Posted on 12 July 2005, to How To... | Mac OS X
| TrackBacks (0)
-- How To... --

Home made laptop batteries


Roll your own for around half the price.
Posted on 23 June 2005, to Apple | How To... | Mobile | Technology
| TrackBacks (0)
-- How To... --

MT SpamLookup


Despite having recently checked Six Apart's plugin directory for Trackback management plugins, I somehow missed SpamLookup until I read a brief blog entry on it tonight. Installation is a case of simple drag and drop and everything seems to be working smoothly.
Posted on 21 June 2005, to How To... | Site News | Web Design
| TrackBacks (0)
-- How To... --

Smart mailbox tip


There's a great tip on MacOSXHints today describing how to implement IsNot checks so you can, for example, redirect all mail that isn't already in another mailbox.
Posted on 21 June 2005, to How To... | Internet
| TrackBacks (0)
-- How To... --

Tiger and OS9 warning


Alice Wang over at Techie Geeky Mac Stuff reports on a serious problem with booting to OS9 on a Mac with Tiger installed. Presumably this only applies if you performed an upgrade install of Tiger. If like me you erased your hard disk and did a clean install then, well, no need to worry - you don't have OS9 on your drive anyway.
Posted on 17 June 2005, to How To... | Mac OS X
Comment on this entry | TrackBacks (0)
-- How To... --

SCode reinstalled, GD issue solved


During the relocation of this site to Register1's hosting service an issue cropped up with James Seng's MT-Scode. The scodetest.cgi script was failing due to a missing GD.pm. Register1 were very helpful and had GD.pm installed within a couple of hours of my first email. However GD still refused to function - the SCode numbers weren't being drawn. From the http error log:

[Fri May 13 18:46:04 2005] [error] [client 81.151.xxx.xxx] Premature end of script headers: mt-scode.cgi
[Fri May 13 18:46:04 2005] [error] [client 81.151.xxx.xxx] /usr/bin/perl: relocation error: /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto/GD/GD.so: undefined symbol: gdFontGetGiant
[Fri May 13 18:54:38 2005] [error] [client 81.151.xxx.xxx] gd-png: fatal libpng error: Invalid number of colors in palette
[Fri May 13 18:54:38 2005] [error] [client 81.151.xxx.xxx] gd-png error: setjmp returns error condition
After a dead end or two, Aaron & Isaac Goldberg provided the vital clue - it appeared to be a problem with the server's GD installation.

Despite just having spent a fair amount of time on my GD.pm problem, Register1 enthusiastically started investigating the new problem. They weren't running CPanel so the Goldbergs' cleangd advice didn't apply. Nevertheless Register1 solved the problem two days later without any further prompting, and the previously-broken SCode installation suddenly started working. They explained how they fixed it:

We had to downgrade the version of GD from 2.23 to 2.11 and use a pre-compiled Perl-GD rpm available from Redhat as opposed to a self-compiled version.

SCode was the one stumbling block to a complete migration to Register1's servers. With that solved, this site's old address is now officially defunct, and all traffic is being redirected to thoughton.co.uk/digitallife/

Comment
Register1's support has been nothing short of outstanding throughout this episode. Email replies were very quick - often within an hour. On one occasion, having just sent off a half-past-midnight email inquiry, a reply arrived at 1am! A great personal service - I've only been with them for a week but they are looking like the perfect hosts. Highly recommended, and very reasonably priced as well. They are also currently offering a "3 years for the price of 2" deal.


Posted on 16 May 2005, to How To... | Internet | Site News
Comment on this entry
-- Apple --

Tiger notes, vol. 2


Spotlight is still slow. Top tip of the day: don't make any spelling mistakes in your spotlight query.
Solution: possibly re-install QuickSilver and use it solely for launching apps.

Safari RSS no longer works with HSBC's online banking site. Safari didn't work at first too. That finally got fixed by the 1.2 update. Back to square one. :evil:
Solution: use FireFox.

DoubleCommand no longer loads.
Solution: Daring Fireball notes that Apple have added some of DoubleCommand's functionality, but alas not including the ability to remap a PowerBook's 'enter' key. The developer's says on his site that he is aware of the incompatibility, but is unsure when a patch will be available.

KeyChain Access has changed for the worse. It now takes several extra clicks to make clipboard copies of certain information.
Solution: none yet.

Not specifically Tiger related, but since my copy of iClock vanished after installing Tiger I took the opportunity to upgrade to iClock 2. However there is a major problem - this new version has an annoying iClockWarnings icon taking up valuable dock space :?
Solution: none yet. May try and revert to the old iClock.


Posted on 5 May 2005, to Apple | How To... | Mac OS X
-- Mac OS X --

Quartz Composer


Stumbled across an interesting blog entry on Quartz Composer today.

Update: Someone's already launched a dedicated site.


Posted on 5 May 2005, to How To... | Mac OS X
-- Mac OS X --

Tiger notes


My Tiger notes so far:

Spotlight is quite slow on my 667MHz G4. Using it to launch apps (granted, not it's primary function) is several times slower than with QuickSilver.

Dashboard is fast. Especially once you remove all animated Dashboard widgets since they hog so much CPU - the analog World Clock widget eats around 5-10% of my CPU, but the third-party Dash Monitors is by far the worst culprit (up to 40% CPU in full graphical mode).

Automator is fast (and awesome). My favorite workflow so far is Mail Images.

iPhoto was broken. Trashing plists and library did not fix it.
Solution: delete and reinstall.

iSync crashes upon launch. Trashed plists. Now launches but crashes as soon as I attempt to connect to the phone.
Solution: None yet.

Little Snitch was broken.
Solution: install new 1.2b3 version.

iClock had vanished.
Solution: downloaded and installed newest version.

Fire crashes on launch.
Solution: Apparently recompiling from source using XCode2 will fix this. I've switched to AdiumX.

MySQL acting strangely. After a reboot mysqld sometimes (but not every time) jumps to 100% CPU and gets stuck there.
Solution: force quitting mysqld and manually restarting in terminal fixes the problem (until your next reboot).

BitTorrent official client crashes on launch.
Solution: use Tomato Torrent Bits on Wheels (having to find a new BT app led me to discover Bits on Wheels. It's much more informative than both the original client and Tomato. Azureus provides similar information, but the obvious java-ness really grates on me).

Ecto behaves strangely. For instance Command-Shift-U used to insert a hyperlink of the clipboard contents. Now it sometimes does this, but at other times it does nothing.
Solution: Upgrade to new 2.3 version.


Posted on 1 May 2005, to Apple | How To... | Mac OS X
Comment on this entry
-- How To... --

Upgrade to Tiger, PHP and MySQL broken


I quickly noticed after upgrading to OS X 10.4 that PHP includes were not executing and MySQL queries were once again producing the dreaded 'cannot connect' error message which 10.3.9 had introduced:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
:evil: Fixing the broken PHP was easy. I simply installed Mark Liyange's PHP 5.0.4 package. Tiger ships with 4.3.10.

For the MySQL error, for reasons I have not yet looked into the previous solution (repairing the ownership of the /usr/local/mysql/data folder) did not fix the problem. And trying to load mysqld in the Terminal showed that it not have permission to access the /usr/local/mysql/data folder. Since changing its ownership to the 'mysql' user did not help, I tried changing to it my user account instead (in my case the command was sudo chown -R thoughton data/.) Bingo, that did the trick! Everything works again. :)

A word of caution, this is just a quick fix while learning the ins and outs of Tiger, I wouldn't be surprised if doing this has opened up some huge security hole - so do it at your own risk and always keep a backup.
Posted on 27 April 2005, to How To... | Mac OS X | Site News
Comment on this entry
-- Mac Video --

Video-On-Demand using Mac Mini & VLC


Short but sweet.


Posted on 23 April 2005, to Apple | How To... | Mac Video
-- How To... --

MySQL broken by 10.3.9?


I noticed today that my MySQL install seemed to have broken. I was getting an error when I tried to post a new entry via Ecto, and after poking around a bit I discovered that any query involving the mysql database (such as a site search) produced the same error:

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Further investigation seemed to indicate this was a permissions problem. The only thing I've installed recently has been the OS X 10.3.9 update, so I'm guessing it happened then. After much googling I found the fix.

Change directory to your mysql directory:

cd /usr/local/mysql

And enter this change ownership command:

sudo chown -R mysql data/

And voila! Everything works again.


Posted on 21 April 2005, to How To... | Internet | Mac OS X | Site News
-- Digital Imagery --

P800 as a photo viewer


What a coincidence! I've had this entry on the back burner for a few days, when this hint appeared today at MacOSXHints, describing how to view your iPhoto albums on your internet-enabled mobile phone. Essentially the hint is having iPhoto generate a web page which you then view on your mobile phone. Not what I've been doing, but the end result is similar.

P800 as an iPod photo?
Rather than try to view my iPhoto albums online I've loaded several albums onto my P800 phone. Since the whole point is to view them on the phone, we can dramatically reduce the size of the image. I've found that reducing them to the size of my phone screen (320x208 ) and saving them as JPEG quality 20 results in perfectly acceptable photos for casual phone viewing (see the example at the end of this entry). And the file size drops from 1MB+ down to 15-25K! Taking 20K to be the average, that's over 6000 photos on a 128MB memory card. My entire photo library is only around 2500 photos so I could carry the whole thing around with me and still only take up 50MB of my 128MB card. I've actually chosen to carry around an album of around 200 of my best photos which only takes up 4MB.

The Mechanics
I've been using Adobe's ImageReady to resize and save my photos. ImageReady comes with a ready-made droplet (Constrain, Make JPEG 30) which only needs minor adjustment to do what I want. I just changed the Constrain to 320 pixels in each dimension and changed the Make JPEG to quality 20 instead of 30. Batch processing my 200 photos took about 10 minutes. If you don't already have ImageReady the well-regarded shareware application GraphicConverter can do all this as well.

Once you have your mini images you just need to transfer them over to the phone. You can bluetooth them all (although saving each one to the correct location is a pain), or do what I did and use a USB memory card reader to copy them all in one fell swoop. (I can't recommend these readers enough, especially since they can be had for as little as £9).

The final ingredient is an image viewer on your phone. The P800 comes with an image viewer (creatively titled Pictures), but it is a pile of crap pretty mediocre (it used to be a pile of crap that couldn't even display full screen images, but that got fixed in a firmware update). The interface is the main drawback, it requires several steps to display full screen images and cannot rotate images (which means you should rotate landscape photos prior to resizing). If that annoys you like it did me, I'd suggest using Resco Photo Viewer for UIQ, a more full-featured replacement. For non P800 users, Resco make this software for virtually every mobile platform there is.

And that's it! My P800 is now a fun little photo viewer I can bore friends and family with!

Comment
What are the pros and cons of each method?

Firstly it should be mentioned that contrary to first impressions, the MacOSXHints method doesn't provide 'live' updating of the photos, so new changes to the iPhoto album will only be available to the phone user when someone sitting at the Mac re-exports the album. That's still better than no updating at all, which is what happens with my method :)

SiberutSecondly the MacOSXHints method will give you the ability to scroll around a large version of the photo (provided your phone browser supports side scrolling) while my method only shows the photo at my phone's screen resolution. Luckily for me my phone has a large screen - the image to the right is a photo resized to fit my phone shown at actual size (the photo is a 320x220 JPEG quality 20, and is 12KB in size). Meet Pilipus from the island of Siberut :D


Posted on 21 April 2005, to Digital Imagery | How To... | Sony Ericsson P800
-- Apple --

Mail.app inline image annoyance


I've noticed for a while that Mail.app seems to insist on displaying image attachments inline. This is fine for small web-optimised images, but becomes intensely annoying when you are trying to read several emails in succession, all of which have one or more large (1MB+) image attachments, because Mail takes several seconds to open each email due to the huge image that it insists on displaying inline.

I had always intended to figure out a solution, but today when I actually sat down and looked for one, I had nasty surprise. There is no solution. Apple really needs to sort this out, it's enough to make me consider ditching Mail.app.


Posted on 12 April 2005, to Apple | Bereft of Reason | How To... | Mac OS X
-- How To... --

Build your own Salling Clicker


The Unofficial Apple Weblog commented on a very interesting MacDevCenter article today detailing how to control iTunes from an internet-enabled mobile phone via a WAP browser and OS X's built-in Apache webserver. Great stuff, but hang on a minute ...

If you already own the incredible Salling Clicker, you're probably wondering what all the fuss is about. With Clicker you can already do everything described in the article without typing a single line of code. Furthermore you can view album art and playlists on the phone, which really has to be seen to be appreciated. And to top it all off it's not only iTunes - Clicker also has controls for iPhoto, DVD Player, Keynote and PowerPoint, as well as numerous third party plugins (admittedly of varying quality).

Given the all-round awesomeness of Clicker, it was the ability to script apps other than iTunes that really intrigued me about the MacDevCenter article. One such use I will be looking into is toggling P800 Manager's internet sharing. Since Clicker can activate the BlueTooth connection from the phone, this would eliminate the need to physically visit your Mac to start P800 Manager's internet sharing. It may be that P800 Manager is not scriptable, in which case I'll be looking into applescripts which enable internet sharing over bluetooth.

Back to the MacDevCenter article, the use of a web interface was also interesting - on the plus side it is not range-limited like the BlueTooth-based Clicker is, but on the down side internet access on a phone costs money (quite a lot in most cases). I suppose if you have an unusually large home the web interface may be the best option, but I for one cannot imagine any other need for the greater range.

One free alternative that comes to mind is sharing your Mac's internet via BlueTooth to access the web from your phone, all in order to surf to your Mac's webserver and control iTunes. How's that for convoluted? :) But we're now back to limited BlueTooth range, which kind of defeats the purpose. I think I'll be sticking with Salling Clicker, at least for iTunes control.


Posted on 2 March 2005, to How To... | Mac Audio | Mac OS X | Mobile
-- How To... --

Internet sharing success


Opera screen Despite previous failed attempts to get this working I did not lose hope. Since the recent firmware upgrade hadn't done anything significant to solve the problem, I concluded that it must be the generic bluetooth dongle I had. I decided to do what I should have done to start with, and bought a D-Link DBT-120 bluetooth dongle. This has cracked it!

The combination of the new firmware and the new dongle allows P800 Manager to share my internet connection for what appears to be an indefinite duration! So far my P800 has been sharing my laptop's internet for about 6 hours straight without any problems.

Opera full screen The mobile Opera browser is, as you can see, pretty slick. It resizes images very nicely and the 'fit-to-width' option saves you from a lot of side scrolling. Furthermore the full-screen option (as shown to the right) allows you to make maximum use of your screen real estate.


Posted on 6 February 2005, to How To... | Internet | Sony Ericsson P800
-- Apple --

P800 syncing, solved


After the failure of my recent P800 firmware upgrade to solve certain long-standing problems, I finally splurged and replaced my el-cheapo generic bluetooth dongle with a D-Link DBT-120 bluetooth dongle, which is incidentally the dongle that Apple recommends. This has completely and utterly solved my often mentioned syncing problems. Syncing works 100% of the time now! 8) All Apple needed to do was to put a warning on their website - something along the lines of "using other brand bluetooth dongles may cause iSync to crap out" would have sufficed. :evil:


Posted on 6 February 2005, to Apple | How To... | Sony Ericsson P800
-- Mac OS X --

DragonBurn does something useful


If you've ever inserted a blank CD-R or DVD-R, you'll know that OS X has a built-in disc burning ability. It also comes bundled with the Disk Utility application for, among other things, burning disk images. Despite this, Roxio's Toast 6 is still generally considered as one of the "must buy" apps due to it's much more extensive support of various CD and VCD formats, not to mention dual-layer DVD support. Given these facts, I've always wondered what it was about DragonBurn that made it worth US$50. It appears that this is one of the reasons.


Posted on 30 January 2005, to How To... | Mac OS X
-- Digital Imagery --

iPhoto 5, hero and zero


My copy of iLife '05 has arrived! The app I was looking forward to most was iPhoto 5, in particular the long-awaited addition of folders to help you organise your albums. However there are apparently numerous problems: MacOSXHints, MacInTouch, Accelerate Your Mac, and MaxFixIt have all had reports. The MacOSXHints article in particular specifically concerns a problem with folders. This problem did not affect me for some reason - although MacOSXHints has included a solution if it does start to occur.

My own experiences so far have been generally good, with the one glaring exception of exporting photo galleries for the web. Don't get me wrong, iPhoto's web export works pretty much as it always has (pretty well, but not great), but neither of my preferred web-export plugins, BetterHTMLExport and PhotoToWeb, work with iPhoto 5. They look like they're working, but no images get exported. BetterHTMLExport's webpage states that the developer is aware of the problem.

Also a concern is that iPhoto 5 seems to be noticeably slower than iPhoto 4. In particular opening images used to be instantaneous. Now you have to sit and wait while iPhoto displays your selected thumbnail for a second or two in the centre of a large empty black box before the full-size image fills the window. I've also heard that it is almost useless on a Mac with a G3 processor - most of the editing functions do not work and navigation is painfully slow.

26/1/05 - Update: At some point in the last few hours BetterHTMLExport was updated to version 2.1 and is now compatible with iPhoto 5!

27/1/05 - Further update: Ack! I just noticed that Keyword Assistant has vanished! I refuse to even attempt to assign keywords without this wonderful piece of software. Luckily it appears that there is an iPhoto 5 version going through beta-testing right now.


Posted on 26 January 2005, to Digital Imagery | How To... | Mac OS X | News
-- How To... --

PCM to MPEG1 to AIFF to AC3


I recently encountered an unusual AVI video file, containing MSMPEG4 video and PCM audio. My favorite DVD (ffmpeg) preset in ffmpegX refused to process the file. I knew from previous experience that the DVD (ffmpeg) preset could handle MSMPEG4 video, so I surmised it was the PCM audio that was fouling things up.

Slower workaround
I worked around the problem by using the DVD (mpeg2enc) preset with 'Decode with mplayer' selected. After a slow encode (probably twice as long as ffmpeg) I ended up with an .mpv video file and another file. This second file had a truncated name, according to the settings it should have been some sort of AC3, but the mpeg2enc engine had produced a file without a suffix.

Not actually an AC3 at all
The first thing I did was drop the mystery file onto ffmpegX for identification but, unusually for ffmpegX, nothing was revealed. I then tried adding an .ac3 suffix only to have A.Pack reject the file. Soldiering on, I changed it to .mp2 and tried to open it in QuickTime Player. Still no go :evil: . Finally I tried an .mpa suffix. Bingo! :) Hitting command-J showed that QuickTime identified the file as an MPEG1 audio file. Unfortunately my good mood was short-lived. I was unable to export it from QuickTime - the only options were movie formats. :(

MPEG1?
After resorting to Google I was reminded that iTunes can play MPEG1 audio files. The first thing I did was change the iTunes import preferences to 'AIFF encoder'. However iTunes then refused to let me drag my .mpa file into the music library unless I changed the suffix to .mp2. Once I had done that I used iTunes to convert the audio file to AIFF (by option-clicking the Advanced menu and choosing 'convert to AIFF').

The Finish Line
Once I had my AIFF, I was able to drop it into A.Pack, select my two channels, and convert it into a two channel AC3 file. From there it was just a matter of using the .mpv video file and .ac3 audio file in Sizzle to author a DVD, and using Toast to burn it. :D

Conclusions
The Mac used to boast a system where, no matter what you changed the name of a file to, double clicking it would always open the correct application. We used to brag about this to PC users. Why am I now, fifteen years later, messing around changing file extensions?


Posted on 22 January 2005, to How To... | Mac Audio | Mac Video
-- Apple --

Uncripple your G5 superdrive


Macbidouille are reporting that most G5s shipping today are equipped with an artificially crippled DVD burner. By removing the drive and installing in a PC, they were able to flash the firmware and upgrade it from a ordinary 8x DVD-R burner to a dual-layer 16x DVD-R burner! Re-install it in the Mac and use Patchburn to enable it in the iApps.


Posted on 22 January 2005, to Apple | How To... | Mac Video
-- Apple --

Automatically copy Bluetoothed images into iPhoto


While searching for some iPhoto information, I found this interesting tutorial on how to set up folder actions to automatically copy images into iPhoto after they've been bluetoothed to your Mac.


Posted on 14 January 2005, to Apple | Digital Imagery | How To... | Mobile
-- Apple --

Stop iphoto from importing images


After spending more time using my new Dimage X50, the major annoyance is rapidly becoming iPhoto launching itself and glacially preparing to import images every time I connect the camera. After a fruitless visit to iPhoto's preference window, I resorted to Google and found this. The option to launch iPhoto when you connect a camera is controlled in the preferences of the Image Capture application. Obviously. :?


Posted on 14 January 2005, to Apple | Bereft of Reason | Digital Imagery | How To...
-- How To... --

Googlescript Searches


I read a useful Google hack recently - the following link opens a Javascript window:

Javascript:void(q=prompt('Type%20in%20the%20search%20term:')); if(q)void(location.href='http://www.google.com/search?q='+escape(q))

Click the link and type in your search term. When you click 'OK' it takes you to the Google results page for your search term. What's that you say? Not very inspiring so far? Well, how about this -

Using just a little knowledge of the way Google searches you can search web directories:

Javascript:void(q=prompt('Type%20in%20the%20type%20of%20file%20here:')); if(q)void(location.href='http://www.google.com/search?client=googlet&num=100&q=intitle%3A%22index%20of%20/%22%20%22'+escape(q)+'%22')

Or you can specify a particular file type (in this case I've used .mp3, you can replace it with .ogg or .avi or whatever takes your fancy ;) ):

Javascript:void(q=prompt('Type%20the%20name%20of%20the%20MP3:')); if(q)void(location.href='http://www.google.com/search?client=googlet&num=100&q=intitle%3A%22index%20of%20/%22%20%22'+escape(q)+'%22%20mp3')

Of course, despite the title of this post, this tip isn't restricted to Google - my favorite use of this technique is the search term below which I cobbled together to enable me to quickly search this blog:

Javascript:void(q=prompt('Search%20Digital%20Life%20the%20OS%20X%20way:')); if(q)void(location.href='http://thoughton.co.uk/cgi-bin//mt-search.cgi?IncludeBlogs=1&search='+escape(q))

Note that there should be no spaces in the above code snippets.

One great use of this method is to place a button in your Bookmarks bar:
Search button


Posted on 11 January 2005, to How To... | Internet | Site News
-- How To... --

PB CallerID


BluePhoneElite menu I tried out BluePhoneElite today and to my surprise it works with my original firmware P800! The manual even mentions the P800, saying that although you can initiate calls from the Mac - which will also have on-screen caller-ID - and have 'answer the phone' and 'ignore' options when the P800 rings, the SMS funcions will not work due to a firmware bug with all Series 60 and UIQ phones. A pity - something I would find very useful would be SMS composing on the Mac.

BluePhoneElite also has a slick proximity function. I particularly like the option to set your iChat status:

Proximity tab


Posted on 10 January 2005, to How To... | Mobile | Sony Ericsson P800
-- How To... --

Sizzle not Sizzling


Sizzle Add Chapter button I encountered this oddity in Sizzle 0.1 today. After launching the app I found that the 'Add Chapter' button was greyed out. After quite a lot of head scratching and poking around Sizzle, I finally discovered that it was caused by having the 'Use Custom Chapter Times' checkbox selected under the 'Other' tab (from a previous authoring session) without having a chapter selected in the 'Chapters' tab.


Posted on 8 January 2005, to How To... | Mac Video
-- How To... --

Smilies in Movable Type


Using Brad Choate's MTMacro plugin I've enabled smilies on this site :)

All I did was install the plugin as per the instructions, and then put a bunch of smilies inside a smilies folder (inside my icons folder).

Then I inserted this code into the head of each template (and repeated it with modifications for each different smiley):

<MTMacroDefine name="smiley1" string=":) ">
<img src="<$MTBlogURL$>icons/smilies/biggrin.gif"
alt=":) " />
</MTMacroDefine>

Posted on 14 December 2004, to How To... | Internet | Site News | Web Design
Comment on this entry
-- How To... --

iTunes 'Album Artwork Not Modifiable'


I encountered this message displayed in the album art window of iTunes today. After some googling I found that it might be the result of trying to add album art to songs on ejected disks, or songs on a CD, but neither applied to me. After some investigation I discovered it was because that particular album was in the ogg format!


Posted on 6 December 2004, to How To... | Mac Audio
Comment on this entry
-- How To... --

Forward Delete on a Powerbook


Back when I first got this PowerBook (667MHz DVI Titanium), it took me a few months to figure this out. You can forward delete by pressing function-delete. A dedicated key would still have been nice...


Posted on 6 December 2004, to How To... | Mac OS X
-- How To... --

Airport disconnecting when switching users


Since getting the Airport Express and going wireless, I've noticed that I get disconnected from the Airport network when I use Fast User Switching to switch over to my iTunes user (I used this MacOSXHints hint to set up a large second shared iTunes library on an external hard disk). After a bit of research I came across this mailing list post. Switching to my iTunes user showed that I could not make any changes to the Network settings. This was when I remembered that I had set the iTunes user to Simple Finder to see what was so simple about it. Switching back to my main user showed that I couldn't make changes to logged in users, so after a quick switch back and logout of the iTunes user, I set it to Full Finder, logged back in, opened up the Airport tab of Network preferences and entered the appropriate network name and password. Note: the password box only appears once you've chosen a network. Voila! No more disconnects when switching users.


Posted on 2 December 2004, to How To... | Internet | Mac OS X
-- Games --

tintin++ 1.93.5


Igor asked me to compile his latest version today - I had a look at my previous write-up on the process, but I needn't have worried - it installed without a hitch.


Posted on 29 November 2004, to Games | How To... | Internet | Mac OS X
-- Apple --

Running Apache behind an Airport Express


In order to reduce the number of wires I have to connect to my laptop I recently picked up an Airport Express. Setting it up to stream iTunes music to the stereo and print wirelessly to a USB printer were relatively painless, so I had high hopes for the device's third function - acting as a wireless internet router. However since the Airport Express only accepts ethernet network connections (the USB port is solely for printers), I needed to replace the free USB ADSL modem that comes with the BT Broadband service with a 'proper' ethernet ADSL modem. Based on nothing more than a solitary post by one guy reporting success with it in conjunction with an Airport Express (on some forgotten discussion forum otherwise I'd link it) I ordered the D-Link DSL-300T modem.

Easy setup
Once the modem arrived I simply attached it to BT's ADSL microfilter using the supplied RJ-45 cable and to the Airport Express unit using the supplied ethernet cable. The modem's lights flashed a few times and the Airport Express's light went green. Apparently the Airport Express's primary function is the internet connection, because the light will flash an angry orange forever unless the unit is connected to the internet, even if you only bought it to stream music and print wirelessly. Once it was hooked up the Airport Express Setup program launched itself and led me through the extremely simple setup process. As soon as that was done I fired up Safari and to my delight I had wireless internet access.

Teething problems
However, as is so often the case, spending a short while exploring my new capabilities quickly showed one major flaw. I could not access this website! After some research it began to make sense. What used to be 'my' IP address was now the Airport Express's IP address, while the Airport Express was using DHCP to distribute private IPs to the client computer (my mac). After doing some research an Apple KnowledgeBase article entitled AirPort 4.0 Help: Can I use a web server on my network? finally shed some light on the subject. Since I don't have a static IP the first solution was ruled out, but the article contains a reference to achieving the same result by using what Apple calls port mapping (and what the rest of the world calls port forwarding).

This should work
I then found another Apple KnowledgeBase article AirPort 4.0 Help: Assigning IP addresses to devices on your AirPort network. This seemed to address my exact problem, so I fired up the Airport Admin Utility, chose to configure the Airport Express, and clicked on the Port Mapping tab. Here I mapped public port 80 to the private IP 10.0.1.201 port 80. I then opened the System preferences Network panel where I modified the Airport connection's TCP/IP settings to 'Manual' IPv4 configuration, IP Address 10.0.1.201, subnet mask 255.255.255.0, router 10.0.1.1, and the appropriate DNS servers for my ISP. None of this is very complicated, and it SHOULD work. But it didn't. I could still access the internet, but I couldn't access this website.

The clouds part?
After more research, and browsing through assorted forums, I finally discovered this post in the MacOSXHints forums. This looked like a working solution! Not only did the poster have the exact same modem as me, he was trying to do the same thing!

Maybe not
However, there's still something wrong. It took me a few minutes to figure where in the modem's web-based configuration controls I could set the modem to act as a bridge, but once I had it set I set the Airport Express to log in using PPPoE. Apparently if I can get the Airport Express to login then port mapping will work. However when I fire it all up I get an endless 'Looking for PPPoE hosts' message scrolling in the menubar! Annoying.

Temporary solution
DefaulthostWhile I think about it (never admit defeat!) I've switched to using the 'Enable Default Host' option in the Base Station Options (located under the Airport tab in the configuration page of Airport Admin Utility). By setting the empty field to 201 (so the IP address is 10.0.1.201) you are limited to only having one Mac accessible from the internet, but that's what I had with the old non-wireless connection anyway. It simply would have been nice to get the port mapping to work in the event of any further computers being added to the network.


Posted on 17 November 2004, to Apple | How To... | Site News
| TrackBacks (0)
-- How To... --

Installing MT-Captcha (aka SCode)


This site has recently started to attract spammers, extolling the virtues of viagra, cialis, and large penises in general. Since the Movable Type interface is relatively slow, deleting these spams has become a bit of a pain.

There are several methods of defence, ranging from simply removing the 'post message' button and forcing everyone to preview, to installing Jay Allen's MT-Blacklist, or a script which disables comments after a set period of time. Elise Bauer of the Learning Movable Type blog has an extensive description of the various approaches.

The best solution for minimal admin-interaction (i.e. the best solution for lazy folks like yours truly) appears to be James Seng's MT-Captcha, an MT plugin which adds a graphical security code which the commenter has to read and type in (thus defeating the automated spam bots). Apparently captcha stands for "Completely Automated Public Turing test to tell Computers and Humans Apart."

Fink hell
Unfortunately, in order to draw the images, MT-Captcha requires that you install the perl module gd. I had previously downloaded and attempted to install this using these instructions but got lost in a maze of dependencies and fink hell. However today I stumbled across a promisingly-titled document How To Install gd version 1.8.4 on Mac OSX on DarwinPorts!

However, this meant I had to install darwinports ...

Next up, DarwinPorts
I set about following the site's instructions:

% cd ~
% mkdir darwinports
% cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od login
% cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od co -P darwinports
% cd ~/darwinports/base
% ./configure
% make
% sudo make install

Unfortunately I hit a problem almost immediately. The second cvs command left me with this error:

cvs checkout: in directory darwinports:
cvs checkout: cannot open CVS/Entries for reading: No such file or directory
cvs [checkout aborted]: cannot write : No such file or directory

After a few minutes of Googling I discovered that this error was likely the result of already having a directory called darwinports (i.e. there is an mistake in the instructions). I removed the directory and tried the second cvs command again, and hey presto! Screenfuls of stuff scrolling past as darwinports downloads! This lasted several minutes on my half megabit ADSL.

Eventually it finished and I moved onto the next step. After switching directories as instructed I entered ./configure. Cue lots more scrolling, only to come to a premature end with this message:

Please install the X11 SDK packages from the Xcode Developer Tools CD
configure: error: Broken X11 install. No X11 headers

And then X11
Argh! I thought I had already installed XCode 1.1 back when I was getting tintin++ to work. Apparently I didn't install the X11 part of XCode. Popping in the XCode 1.1 CD confirmed that it was missing. A lengthy 35 minute install later (the last 1% of which took 15 minutes), I was back to the Terminal to try and configure darwinports again. This time ./configure went smoothly, and make and sudo make install both completed without incident.

Finally, gd
Now to install gd! Referring back to the How To Install gd version 1.8.4 on Mac OSX document, the first instruction was to type sudo port install gd. Naturally this didn't work (does any unix software work first time?) - 'port' was not recognised. Adding export PATH=$PATH:/opt/local/bin to my ~/.profile file fixed the problem. After a 5 minutes or so I ended up with a screen like this:

$ sudo port install gd
---> Fetching jpeg
---> Attempting to fetch jpegsrc.v6b.tar.gz from http://www.ijg.org/files
---> Verifying checksum(s) for jpeg
---> Extracting jpeg
---> Applying patches to jpeg
---> Configuring jpeg
---> Building jpeg with target all
---> Staging jpeg into destroot
---> Installing jpeg 6b_0
---> Activating jpeg 6b_0
---> Fetching libpng
---> Attempting to fetch libpng-1.2.6.tar.bz2 from http://voxel.dl.sourceforge.net/libpng
---> Verifying checksum(s) for libpng
---> Extracting libpng
---> Configuring libpng
---> Building libpng with target all
---> Staging libpng into destroot
---> Installing libpng 1.2.6_0
---> Activating libpng 1.2.6_0
---> Fetching gd
---> Attempting to fetch gd-1.8.4.tar.gz from http://www.boutell.com/gd/http/
---> Verifying checksum(s) for gd
---> Extracting gd
---> Applying patches to gd
---> Configuring gd
---> Building gd with target all
---> Staging gd into destroot
---> Installing gd 1.8.4_3
---> Activating gd 1.8.4_3

And that's it! gd is now installed.

Now onto MT-Captcha...
The instructions for installing MT-Captcha itself are quite simple. All you have to do is insert some code into your MT templates. However after making the necessary changes and rebuilding I got lots of these errors:

MT::App::Comments=HASH(0x815db34) print() on closed filehandle OUTFILE at lib/MT/SCode.pm line 5

This turned out to be incorrect permissions on my MT-Catchpa temporary folder. Setting the owner of that folder to www (UID 70) cured the rebuilding errors. However, my security code was still not appearing! According to James Seng if your image doesn't appear it is always related to your gd install. After much frustration I finally realised that my install was missing GD.pm! Seeing as how I know absolutely nothing about perl, I failed to appreciate that gd and GD.pm are two different things, and we need to install both.

Not just gd, GD.pm too
So, after some more googling, I found that GD.pm (version 2.17) can be found here. After downloading and expanding it, perl Makefile.PL resulted in hundreds of error messages:

GD.xs: In function `newDynamicCtx':
GD.xs:440: error: structure has no member named `gd_free'
GD.xs: In function `gd_cloneDim':
GD.xs:460: error: structure has no member named `alpha'
GD.xs:460: error: structure has no member named `alpha'
GD.xs:466: error: structure has no member named `thick'
GD.xs:466: error: structure has no member named `thick'
GD.xs: In function `XS_GD__Image_newFromPngData':
GD.xs:595: error: structure has no member named `gd_free'
GD.xs: In function `XS_GD__Image_newFromGdData':
GD.xs:614: error: structure has no member named `gd_free'
GD.xs: In function `XS_GD__Image_newFromGd2Data':
GD.xs:631: error: structure has no member named `gd_free'
GD.xs: In function `XS_GD__Image_newFromJpegData':
GD.xs:651: error: structure has no member named `gd_free'
GD.xs: In function `XS_GD__Image_newFromWBMPData':
GD.xs:676: error: structure has no member named `gd_free'
GD.xs: In function `XS_GD__Image_copyRotate90':
GD.xs:1189: error: invalid lvalue in assignment
GD.xs:1189: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_copyRotate180':
GD.xs:1210: error: invalid lvalue in assignment
GD.xs:1210: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_copyRotate270':
GD.xs:1231: error: invalid lvalue in assignment
GD.xs:1231: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_copyFlipHorizontal':
GD.xs:1252: error: invalid lvalue in assignment
GD.xs:1252: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_copyFlipVertical':
GD.xs:1273: error: invalid lvalue in assignment
GD.xs:1273: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_copyTranspose':
GD.xs:1294: error: invalid lvalue in assignment
GD.xs:1294: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_copyReverseTranspose':
GD.xs:1315: error: invalid lvalue in assignment
GD.xs:1315: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_rotate180':
GD.xs:1335: error: invalid lvalue in assignment
GD.xs:1335: error: invalid lvalue in assignment
GD.xs:1336: error: invalid lvalue in assignment
GD.xs:1336: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_flipHorizontal':
GD.xs:1353: error: invalid lvalue in assignment
GD.xs:1353: error: invalid lvalue in assignment
GD.xs:1354: error: invalid lvalue in assignment
GD.xs:1354: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_flipVertical':
GD.xs:1371: error: invalid lvalue in assignment
GD.xs:1371: error: invalid lvalue in assignment
GD.xs:1372: error: invalid lvalue in assignment
GD.xs:1372: error: invalid lvalue in assignment
GD.xs: In function `XS_GD__Image_stringFT':
GD.xs:2085: error: `gdFTStringExtra' undeclared (first use in this function)
GD.xs:2085: error: (Each undeclared identifier is reported only once
GD.xs:2085: error: for each function it appears in.)
GD.xs:2085: error: parse error before "strex"
GD.xs:2104: error: `strex' undeclared (first use in this function)
GD.xs:2108: error: `gdFTEX_LINESPACE' undeclared (first use in this function)
GD.xs:2112: error: `gdFTEX_CHARMAP' undeclared (first use in this function)
GD.xs:2114: error: `gdFTEX_Unicode' undeclared (first use in this function)
GD.xs:2116: error: `gdFTEX_Shift_JIS' undeclared (first use in this function)
GD.xs:2118: error: `gdFTEX_Big5' undeclared (first use in this function)
GD.xs:2140: warning: assignment makes pointer from integer without a cast
GD.xs: In function `XS_GD__Image_stringFTCircle':
GD.xs:2188: warning: assignment makes pointer from integer without a cast
GD.xs: In function `XS_GD__Font_DESTROY':
GD.xs:2353: warning: comparison between pointer and integer
GD.xs:2354: warning: comparison between pointer and integer
GD.xs:2355: warning: comparison between pointer and integer
GD.xs:2356: warning: comparison between pointer and integer
GD.xs:2357: warning: comparison between pointer and integer
GD.xs: In function `XS_GD__Font_Small':
GD.xs:2369: warning: assignment makes pointer from integer without a cast
GD.xs: In function `XS_GD__Font_Large':
GD.xs:2380: warning: assignment makes pointer from integer without a cast
GD.xs: In function `XS_GD__Font_Giant':
GD.xs:2391: warning: assignment makes pointer from integer without a cast
GD.xs: In function `XS_GD__Font_MediumBold':
GD.xs:2402: warning: assignment makes pointer from integer without a cast
GD.xs: In function `XS_GD__Font_Tiny':
GD.xs:2413: warning: assignment makes pointer from integer without a cast
make: *** [GD.o] Error 1

Reverting to GD.pm 1.33
This error totally stumped me. There's a thread here which discuses it along with a possible fix, but it might as well be Greek as far as I'm concerned! Finally I read a note here, which suggested that reverting to GD.pm version 1.33 would work on OS X. After a quick download of the older version, I was once again installing GD.pm as per the ReadMe file. This time, despite hundreds of make test errors, make install worked perfectly! A quick rebuild of the site and - wow, stop the presses! I virtually jumped out of my chair as the sweet sight of a graphical security code greeted my eyes!

PS: for perl idiots like myself, here is a useful command to see if GD is working:

perl -e "use GD"

If there are no errors then GD is working.

Back to reality
Alas, despite the appearance of my security numbers, all was not rosy. After turning off comment approval and posting a few test comments, it became rapidly apparent that the security code was not being checked at all. Any comment was accepted, no matter what number was input into the security code field! Back to the drawing board...

Finally, success!
After flailing around for a couple more hours, and reading every one of the 500 comments on the MT-Captcha page, I've finally figured it out. There is a typo in the ReadMe!!! Growl. The key passage is this:

+++++++++++++++++++++++++++++++++++
INSTALLATION MT 3.x
+++++++++++++++++++++++++++++++++++

From: http://www.setcomputing.com/blog/archives/computing/2004-September/incorporating_mtsecu.html

Follow Step 1 to 5 as above and then...

But this is wrong, wrong, wrong. What it should say is:

+++++++++++++++++++++++++++++++++++
INSTALLATION MT 3.x
+++++++++++++++++++++++++++++++++++

From: http://www.setcomputing.com/blog/archives/computing/2004-September/incorporating_mtsecu.html

Follow Step 1 to 7 as above and then...

Once I completed steps 6 and 7 from the MT 2.x instructions (editing Comments.pm and the templates), the security code check FINALLY started working. I'm on cloud nine! :-)


Posted on 14 November 2004, to How To... | Internet | Site News | Web Design
| TrackBacks (2)
-- Apple --

USB Printing via Airport Express


As well as setting up the Airport Express and AirTunes, I've been attempting to attach an old USB Lexmark Z52 printer to the Airport Express unit. This printer works when plugged directly into my Mac. However when I try to print wirelessly to it the print job spools to 100% and then stops itself. Opening the print queue shows my print job has stopped itself with a message which reads "Printer: Jobs Stopped".

Despite some extensive searching, I couldn't find the solution. I tried reinstalling the Lexmark drivers from Panther disc 2, a tedious job, but to no avail. This discussion describes my exact symptoms, but the given solution didn't improve my situation at all. After spending a couple of frustrating hours reading the Apple discussion forums, I stumbled across this page which lists Airport Express compatible printers, and the Z52 is not listed as being compatible. However I couldn't be sure since the Lexmark page on Airport compatibility has been down for the last several hours. To be honest, it's a relief to find out. At least I know how to fix the problem now! (The Z52 was a hand-me-down, and virtually not worth using in any case due to the extortionate cost of ink cartridges).

Edit: while typing up this entry, I attempted to print this page in order to double-check the exact wording of the print queue error. The printer name had a small exclamation mark next to it so I clicked 'Printers' and 'Rendezvous' and choose the Lexmark Z52 again. This created a new printer, and lo and behold, the damn page printed out! This is almost too annoying for words - I must have deleted and recreated the printer a dozen times using this exact same method without result, and now the damn thing decides to start working for no apparent reason. It's good to know it works, but I will still be replacing the printer shortly - it's too big and the ink costs almost 20 times as much as Canon cartridges.


Posted on 10 November 2004, to Apple | How To... | Mac OS X | Technology
-- Mac OS X --

Quick Icon Thumbnails


In order to quickly create a thumbnail icon for images I've been a long time fan of the great freeware contextual menu extension QuickImageCM. Simply right-click the icon and choose QuickImage:Add Thumbnail Icon and you have a great thumbnail icon. However despite its convenience, QuickImage suffers from a few problems. For slower Macs with a few contextual menu items installed there can be a delay of a few seconds before the menu appears. This delay increases with the number of icons selected, so if you try and right-click a selection of a few hundred images, the delay can run into minutes, during which you cannot do anything else while waiting for the menu to appear. This is extremely frustrating, so I set out to find a drag and drop solution.

Enter the $15 shareware DropIcon - this app is a good solution for the problem. This software hasn't been updated since 2001, but it seems to work well on OS X 10.3.5. I've tested it with over 500 images at a time without any problems, except a few images (perhaps 1 in 100) end up with erroneous black and white thumbnails. Running DropIcon on these problem images again did not fix the problem. I ended up using QuickImage on them to get the correct thumbnails.

Update: I recently discovered a program called dropBatch iconMaker. Apparently it's highly regarded.


Posted on 19 October 2004, to How To... | Mac OS X
-- How To... --

Flippin' ecto!


I've heard good things about some blogging software called ecto and decided to try it out today. Installing it was a bit of a pain, it turned out I needed some files that were included in a full Movable Type 3.x install but not included in an MT 2.661 upgrade install. I ended up in the ecto support forums where with some very prompt help from the author managed to get it working.

I've now been playing with the software for a couple of hours and, essentially, I love it. There are a few areas where it it still manages to outfox me, most of them are to do with ecto's WYSIWYG Rich Text editing interface. There is also a plain HTML interface, which is mainly what I've been using. Even though the entries in plain HTML look the same as they do in the Movable Type entry screen, ecto's interface is infinitely better, largely because of the vast speed increase the whole blogging procedure undergoes.

Other highlights have been ecto's clever HTML tag shortcuts For instance you can copy a destination URL into the clipboard, switch to ecto and highlight the phrase to be hyperlinked, press command-shift-U and hey presto you have a hyperlinked phrase. Simpler stuff like command-I and command-B work as well (this sounds like nothing, wait until you've have typed <i> and </i> a few hundred times). Also worth a mention is the highly illuminating graphical breakdown of the program in the ecto support forums.


Posted on 6 October 2004, to How To... | Internet | Mac OS X | Site News
-- How To... --

It's Symbolic!


I occasionally need to FTP into my home Mac in order to retrieve some file or another. The Mac is set up with two hard disks with certain default folders (like music and pictures) both residing on an external drive with aliases in my internal drive's home folder. However when I FTP in, these aliases don't work, which means I have to trawl through a whole load of folders to get to the appropriate folder on the external disk. This is pretty annoying :-) For a while I've been vaguely aware of symbolic links, and had always intended to look up the syntax for creating one, but with the usual million other things to do it was only recently that I noticed an app on VersionTracker that puts a symlink command into your contextual menu. Just like that, problem solved! Now when I FTP into my home folder instead of seeing a file called 'Movies alias', I see the actual directory. Update: I've recently read a few reports of people deleting a symbolic link, and not realising this will delete the original item as well. Be warned :-)
Posted on 5 October 2004, to How To... | Mac OS X
-- Apple --

Superdrive DVD-RW without Firmware Updates


MacInTouch had a report today about a workaround for Apple's crippled superdrive firmware which doesn't allow DVD-RW. Normally you would hop over to the Superdrive firmware page of the incomparable Cynikal and download a firmware update to enable the RW features of your drive, however if you're worried about ruining your drive, or your drive is too new for a firmware update, then the MacInTouch solution may be more appropriate.

Edit: due to MacInTouch's terrible layout and constantly changing URLs (the above link from yesterday is already broken!) I'll repost the relevant passage here:

If you put a fresh DVD-RW in your Superdrive, it spits it back out. However, get a friend with a DVD-RW on a PC to write something onto it. This will mount on your Mac just fine. And guess what? Toast will now erase it and from now on it can be used like any DVD-RW! It's as killer workaround that I have tested with no problems.

Posted on 7 September 2004, to Apple | How To... | Mac Video
-- How To... --

Ogg and the Music Man


When Mireth Technology, the makers of MacVCD and iVCD, released Music Man (formerly MacMP3CD) a few days ago I was curious to see if it would simplify the process of converting songs from my MP3 collection to 48Kbps Ogg files for my P800 phone. My current method involves batch converting MP3s to WAV with MACAST MP3 Converter and then converting the WAVs to Ogg with Ogg Drop X.

After installing Music Man as per the instructions, I discovered that in order to convert MP3s to Oggs I would need to install the LAME MP3 encoder as well as the Ogg Vorbis Quicktime component. I already had the Ogg component installed, and after a quick read of this I was ready. Note: installing LAME 3.96 resulted in an error at the end of the make install process - the error was make: *** [install-recursive] Error 1, however the encoder seems to be installed correctly, since Music Man MP3 conversions now work correctly.

All of the above only took 20 minutes or so, and soon after that I was merrily converting MP3s to Ogg in just one click. Very handy, although watching the output folder shows that Music Man converts the MP3 to WAV before reconverting to Ogg, so the actual workflow appears to be similar to my previous two step process. However, I was disappointed to discover that Music Man does not apparently allow you to set the bitrate of your output Oggs. They appear to be 128Kbps files, which is too large for me to consider using on a mobile phone with only a 128MB memory card.


-- How To... --

Dual Layer DVDs on OS X 10.3.5


Insanely Great Mac reported today on an article on the French site MacBidouille about burning DVD-R dual layer discs on a Pioneeer DVR 108 using OS X 10.3.5. You can find an English translation here. Points of interest include support only by Toast and DragonBurn (no Finder or iApps), and Toast 6.0.7 only being able to burn a maximum of 8GB onto the disc (which took 27mins).


Posted on 6 September 2004, to How To... | Mac OS X | Mac Video | News
-- How To... --

Compressing sparse disk images


After recently getting a bargain on a no-name 256MB USB key drive I wanted to store an encrypted password-protected disk image on it. However after playing around with Disk Utility for a while, I discovered that although a 'sparse' disk image sounded like what I wanted, it actually wasn't! The problem with sparse disk images is that although they aren't fixed in size and grow as you add more stuff to them (which is what I wanted), when you delete the same stuff they do not automatically shrink! Technically this is understandable since the 'deleted' data hasn't been zeroed and is actually still on the 'disk', however it wasn't what I was hoping for.

So after much fruitless searching, I appended a question onto this existing Apple discussion in the hope for an answer. However after re-reading the discussion and having a look at the hdiutil man pages I eventually managed to refine my search enough to turn up an article on MacOSXHints which had exactly the solution I needed!

The answer is simple! Simply fire up the terminal, and type:

hdiutil compact (with a space at the end)

and then drag and drop your sparse disk image file into the terminal window. Note that you need to type a space after the word 'compact', before you drag the image icon to the terminal window.

Depending on the size of your sparse image the process will take a few seconds to a few minutes. Get info should now reveal that the image file no longer 'remembers' the size of the deleted files.

Note: when specifying the size of an encrypted sparse image in Disk Utility you are specifying the maximum size.


Posted on 4 September 2004, to How To... | Mac OS X
-- How To... --

Improving spelling in TextEdit (and other Cocoa apps)


After years of ignoring TextEdit's insistence that I was spelling words incorrectly, I set off on a Google search to find out how to replace the default American English dictionary with a British English one. However I soon discovered that it was my omission all along - all I needed to do was choose the Edit:Spelling:Spelling menu item and I could change the dictionary to a British English one! However my time was not completely wasted, I discovered a very slick (and free) improved spell checker for OS X named cocoAspell, an OS X implementation of the open source Aspell. Aspell has a wide selection of additional European language dictionaries available for download.

And before anyone asks, the answer is no, I don't know why the Croatian dictionary is ten times the size of the others...


Posted on 29 August 2004, to How To... | Mac OS X
-- How To... --

Slow 12x/16x DVD burning on G3/G4 Macs


The Accelerate Your Macintosh site explains why 12x and faster DVD-R burners will burn at slower than expect rates on G3s and G4s. G5 owners don't need to worry :) (All the more reason to get one!)


Posted on 27 August 2004, to How To... | Mac Video | News
-- How To... --

RealVideo to SmartMovie


I missed this story on MacOSXHints while I was away on holiday, but I just noticed it tonight. Converting RealVideo to anything else on the Mac has always been hard, but this guy is reporting success converting RealVideo internet streams to SmartMovie AVIs using the command line encoder Mencoder.


-- How To... --

In-depth Analysis: The Colour Palette


A MacOSXHints report today points to a great exposé of the OS X colour palette. The same author has also done a similar examination of Panther's fonts window.


Posted on 25 August 2004, to How To... | Mac OS X
-- How To... --

Converting audio tape to CD


As mentioned on a couple of occasions recently, I've had to do this a few times now, both for unique live music tapes and family archive interviews. The following method has given me good results and is very easy, albeit somewhat time-consuming.

First off, get yourself a copy of Rogue Amoeba's US$16 utility Audio Hijack (Ambrosia's free WireTap might also work, but it crashed when I tried it). Plug the output from your tape deck into your Mac's line-in port.

Next you'll need an app called LineIn, which is included with the US$32 Audio Hijack Pro. Download the trial version of Audio Hijack Pro and install it. Find the Audio Hijack Pro application icon and control-click it. Choose Show Package Contents. Browse through Contents/Resources and find the LineIn app. Copy it to your Applications folder. You can delete Audio Hijack Pro now if you like.

Fire up LineIn and press play on your tape deck. You should now hear the tape through your Mac speakers. Launch Audio Hijack, select LineIn as the application to be hijacked and click Hijack. Click Record and start playing the tape at the same time. Audio Hijack will now be recording an AIFF file onto your desktop. This is a realtime process, so if your tape is 45 minutes long, recoridng it onto your Mac will take 45 minutes.

Optional: Once you have finished recording what you want, use QuickTime Player to cut the AIFF into tracks (QT Pro required). Save each one as a dependent file.

Optional: Use Bias' excellent SoundSoap to remove all the tape hiss from the AIFF file(s). This application is expensive (US$99), but the difference it makes to non-musical recordings is astounding. Note: to save yourself a lot of sitting around and clicking, you may prefer to run the entire AIFF track through SoundSoap before cutting it up into tracks.

Drop the AIFF(s) into iTunes. Arrange as a playlist. If necessary, open up the iTunes preferences and assign a value of 0 seconds as the gap between songs. Burn.

Edit: Don't forget to delete the AIFFs from iTunes' library afterwards. A 90 minute tape converted to AIFF will fill up around a gigabyte.


Posted on 18 August 2004, to How To... | Mac Audio | Mac OS X
Comment on this entry
-- How To... --

Audio Hijack Pro & 10.3.5


I was at the in-laws' house today attempting to record a family history audio tape (via line-in) onto my laptop for later conversion to a CD. I have done this for them before, but after much frustration I came to the conclusion that Audio Hijack Pro no longer works properly. Everything appears to be fine, but the recording doesn't actually start.

At the time I assumed the problem was a conflict between APE and the new OS X 10.3.5 upgrade I installed yesterday. The console log shows a permissions error involving Unsanity's Application Enhancer (APE) which doesn't seem to be able to execute superuser commands. A quick online search didn't turn up any answers but lack of broadband at the in-laws' place prevented any real thoroughness. In an attempt to work around the problem I downloaded Ambrosia's free utility WireTap to record the tape, but my whole laptop froze and started repeating a ringing noise when the recording got to about 95MB (about 30 minutes into it). By this point I had run out of time and had to postpone the whole exercise.

Some further research once I got home into the Audio Hijack problem showed that Unsanity are on the case, and have released a free upgrade to Audio Hijack Pro 1.3.2 to address 10.3.5 compatibility. I'll be trying again in a few day :)

Edit: Tried again on 17/8/04 - and it works :)


Posted on 11 August 2004, to How To... | Mac Audio | Mac OS X
-- How To... --

Encrypted emails


Interesting article on MacMerc this week describing how to enable encrypted and digitally signed emails in Mail and other Mac email apps. I'm waiting for my certificate now, although to be honest I can't imagine anyone I know encrypting their emails :-)


Posted on 17 July 2004, to How To... | Internet | Mac OS X
-- How To... --

My Desktop


I rearranged my desktop recently and have now concluded that I like this layout:
desktop_small.jpg

Presenting ... Tim's Really Useful Desktop™ - the guided tour

Starting on the left side of the screen, and working clockwise...

1. Since I have a Powerbook and it's wide-aspect screen, I moved my Dock to the left side. I use it solely as a list of running apps - I don't keep any commonly-used apps permanently in the Dock - if I need to launch something regularly I use Butler.

2. The Konfabulator widgets are, from left to right and top to bottom: iTunes Bar, The Weather, mini Calendar, FTP Mini, WhoDoesWhat, one-liner, upTimeRecord, SiteCheck, mini Digital Clock, and Word of the Day (all available from the Konfabulator Galley). I also use the National Rail timetable widget when I'm catching a train later in the day. In my opinion most of these widgets exemplify the virtues of Konfabulator - they look good and display some regularly updated information in an easily seen place (use Expose to get windows out of the way if necessary). SiteCheck, which simply carries out periodic checks to see if a specified website is responding, and Word of the Day, which updates once a day to display a new word and its definition, are two great examples.

3. My menubar contains, from left to right: the Konfabulator menu, iClock, the Bluetooth menu, MUMenu, the Modem menu, all four MenuMeters modules (modem throughput, memory usage, disk usage, and CPU load), the Battery menu, the Keyboard layout menu, the Eject menu, the Volume menu, and the WinSwitch FUS menu.

4. The two white windows near the center of the screen are Butler windows. The big one is the launcher window (it fades out once you launch something, in the image it is awaiting keyboard input). The lower one is the iTunes track window. This fades in when a new song starts and displays the track name before fading out again. I had to be quick with the screenshot before it faded out :-)

5. On the right is a DragThing dock, configured to have no tabs and to automatically hide. In the image the mouse is on the right edge of the screen, so the dock has expanded and become visible. Move the mouse away and the dock shrinks back into the edge of the screen. I use this as my 'drop box' dock. It's full of drag-and-drop apps (think Stuffit Expander) and various folders that I often move items to.

6. On the bottom of the screen is another DragThing dock, this one configured with tabs and ten layers and also set to automatically hide. Each layer is labeled Applications, Utilities, Internet, etc. This is my secondary app launcher. Almost every app in my Applications folder is also in this dock. Having them categorised sometimes helps me find what I want, especially if I cannot remember the app's name (my Applications folder currently contains 322 items). In the image the dock is minimised, since the mouse is over on the right edge of the screen.

This layout has been a pleasure to use so far. Some of the Konfabulator widgets might go (the upTime module hasn't been particularly useful!), and although I previously used MUMenu on a daily basis I now use NetNewsWire to keep abreast of new releases along with regular news, so that will probably go too. Other than that, to quote Ronald McDonald: "I'm lovin' it" :-)


Posted on 17 July 2004, to How To... | Mac OS X
-- How To... --

A bit of Butler


After a comment in a recent entry, I had my first experience playing with Butler today, and I think I am starting to see why so many people rave about it. This donationware software is now up to version 4.0b15 (it was formerly known as Another Launcher). Why did I wait so long before trying it? Mostly because I didn't like the sound of the name (either one) ;-)

Butler Basics

The basic idea, that of a keyboard-based application launcher, is similar to LaunchBar and QuickSilver, however there are some extras thrown in. Launching an application is a matter of hitting the hotkey (ctrl-space by default) to bring up the launcher window and typing the first few letters of your desired app. Folders, web bookmarks and email addresses are also recognised and will open the appropriate item (or compose a new email, as appropriate). The search algorithm seems much the same as LaunchBar's. Both are better than QuickSilver. The launcher window snaps into existence when you press the hotkey and looks pretty good too. Speedwise Butler is definitely faster than QuickSilver on my Mac. It may even be faster than Launchbar.

A myriad of extras

If Butler has a drawback, it's that it does so much. The configuration and preferences windows are quite intimidating at first. In addition some of the extras seem a bit superfluous. Surely the whole point of a keyboard launcher is to use the mouse less, so the inclusion of a launcher menubar item, a bookmarks menubar item, and a web search box in the menubar comes across as a little odd. They look pretty, but in my opinion don't add much convenience and take up more space in my already crowded menubar (although you can choose to put all the menubar items into a docklet if you prefer). I can only assume that some people (ones who can't type, presumably) use Butler for these menubar items and don't use the keyboard functions at all.

Another Butler extra is controlling iTunes with hotkeys (play, previous, next, etc.), and there is also the option of enabling a bezel which fades in and displays the track details each time a new song starts. This level of iTunes control would usually be the result of a standalone app or control panel (PTHiTunesNotifier (RIP) was an early example, and there are dozens of Konfabulator widgets to control iTunes in the same fashion). However, unlike both QuickSilver and LaunchBar, Butler does not recognise iTunes playlists (not an issue for me, I don't use them).

In my opinion by far the best extra is easily Butler's web search hotkey. This very nice feature is faithful to the whole keyboard-launcher concept. Press the hotkey (Ctrl-Opt-W by default) and a white bezel appears centered on screen containing a web search box. Just type away and hit return, and watch your Google or Dictionary.com results appear in a Safari page. I can see myself getting a lot of use out of this one :-)


Posted on 16 July 2004, to How To... | Mac OS X
-- Mac Audio --

The Land of Ogg


Until a few weeks ago I never gave the Ogg Vorbis format a second thought as a music format. I always knew it could achieve the same quality as mp3 in less space, but so what? Hard drives are bigger and cheaper than ever. Then came my awakening (cue choir breaking into song) - I got my first phone which can play real music. The limited storage on a 128MB memory card suddenly made the Ogg format rather appealing.

A bit of digging around on the Mac software sites turned up an OS X app named Ogg Drop X. This is a nicely done drag-and-drop Ogg encoder. It works well, can batch encode Oggs at a variety of bitrates and has good metadata tag support. Unfortunately the program is intended for ripping CDs to Ogg and as a result it only accepts the uncompressed music files you'd find on a CD (AIFF / WAV format). I'm reliably informed that audiophiles would recoil in horror at the thought of re-encoding an mp3 as an Ogg, which is presumably why this program doesn't offer the option. So you're stuck with creating your Oggs direct from CD, or using something like QuickTime Player to convert your mp3s back to AIFF prior to using Ogg Drop X.

Update: If you have a batch of MP3s to convert, using QuickTime Player to convert those MP3s to AIFF is a painstaking process, primarily because you have to sit and wait for each conversion to finish before starting the next one. After a few conversions I was heartily sick of it so I set off in search of a better solution. Enter the freeware app MACAST MP3 Converter. This a batch converter for MP3 to AIFF/WAV conversions.

However in the default mode, MACAST MP3 Converter's output AIFF and WAV files are not accepted by Ogg Drop X. To fix this, select AIFF in MACAST MP3 Converter's pull-down menu, click options, select Custom, click Set, and then select Compressor: 24-bit Integer. The output files will now be compatible with Ogg Drop X.

Finally, MACAST MP3 Converter isn't totally bug-free. The notable one is that it appears to consume all available CPU power, even after the conversion has finished. So don't forget to quit the program once you've finished your conversions!

Who says size doesn't matter?

As far as size is concerned, mp3s at 128kbps (generally accepted as CD quality to the untrained ear) weigh in at about 1MB per minute, or just over two hours on a 128MB memory stick duo. However an Ogg can achieve very similar quality at half the bitrate. Since space is at a premium, I have chosen to encode my Oggs at 48kbps. In my opinion the quality is still totally acceptable, and this means we can fit almost six hours of music on a 128MB MS Duo. In practice I generally only keep a couple of albums at a time on my P800, for a total size of about 40MB.

Playback on the P800

The bad news is that there isn't a lot of choice. As far as I'm aware there is only one Ogg player available for the P800, and that is OggPlay. The good news is that OggPlay is a quality piece of software! It can not only play Oggs (you'd hope so!), it can do so in both flip-open and flip-closed modes and it's clever enough to mute the music if the phone rings. It's also skinnable - there are various skins available on the developer's site.

Crappy P800 headphones

I've heard the bundled headphones that come with the P800 are less than satisfactory (I wouldn't know since my phone from eBay didn't come with them!). But since they have the pickup-hangup button on them you are kinda stuck with them if you want to receive phone calls while listening to music. All is not lost however! On a recommendation I bought this headset adapter. What can I say - this is a nifty little device. It consists of a spring-loaded retractable wire connecting the P800 to a combination microphone, pickup-hangup button and headphone miniplug adapter, and it comes with a detachable single earpiece for your handsfree conversations. The clever part is that you can unplug the single earpiece and plug your high-quality third-party headphones into the miniplug adapter, and still use the pickup-hangup button and microphone on the adapter itself.


Posted on 15 July 2004, to How To... | Mac Audio | Mac OS X | Mobile | Sony Ericsson P800
-- How To... --

Category icons in Movable Type


I wanted to add category icons to the website, so after a bit of reading I decided to give the TopIcon Movable Type plug-in a try. Installation was fairly straightforward - the only slightly obscure part was the documentation on the naming conventions for the icon files. I seem to have it cracked though, except for an odd spacing issue where the entry title doesn't extend to two lines.

Update: worked around the space problem by wrapping everything in a table with a defined width for the first cell.


Posted on 11 July 2004, to How To... | Internet | Site News | Web Design
-- How To... --

P800 ringtones


The P800, unlike it's newer sibling the P900, cannot play an MP3 as a ringtone. It is restricted to normal ringtones (which are MIDI based, i.e. they only reproduce the melody of a song, not the actual sound or any lyrics) and WAV files. Unfortunately, a WAV file is by definition uncompressed, which makes them enormous when compared to the phone's memory. An average MP3 that is 4MB in size, when exported to WAV with QuickTime Pro at the default settings (48KHz, 16bit, stereo), will weigh in at around 50MB in size! How can we reduce the size of our WAV file? Luckily for us, since the file is only for a phone's ringtone, and given the limited speaker in the phone, we can drastically reduce the fidelity of the WAV file to the minimum possible and still have a recognisable song. Using the minimum settings (8KHz, 8bit, mono) when we export to WAV, our output file comes out to about 2MB in size. This is of course for the entire song - for a ringtone we only need about 15 seconds of the song which at the same settings will somewhere in the 100KB range. Qtplayer BookendsTo cut out the section of the song we want, use the 'bookend' markers underneath QuickTime Player's position slider to select the portion of the song you want to keep, copy it, and paste it into a new empty QuickTime Player document. We can then export to WAV from this new document. To export to a WAV, simply choose Export (this requires QuickTime Pro), select WAV, click Options and choose 8KHz, 8bit, mono. If you have a lot of MP3s to convert you may wish to have a look at SoundConverter, a great drag-and-drop audio conversion application. It is free for input files under 500KB in size, otherwise it costs US$10. What I do is cut my MP3s in QuickTime Pro, save them all, and then batch convert the lot with SoundConverter (once your MP3s are cut down to size they should be quite a bit smaller than 500KB).
Posted on 7 July 2004, to How To... | Mac Audio | Mac OS X | Mobile | Sony Ericsson P800
-- How To... --

RegExp and Konfabulator's one-liner widget


I've recently been trying out one-liner, a handy Konfabulator widget. This is a highly customizable widget that uses regular expressions to extract data from a user-specified webpage and display it on screen with regular updates. The suggested uses are to keep track of new comments on a site such as VersionTracker, or to keep track of the latest version of an application. This latter use is what I like it for.

Some history: a few years back, VersionTracker made their name by offering a free service to check for updates of all your installed software. It was a bit slow (at the time everyone had dial-up connections) but it worked very well and was a big timesaver. Rather than Get-Info on each application (or worse yet, launch it just to check the version number), you could just run VersionTracker's app and it would tell you which of your installed apps had an update available online. Unfortunately, VersionTracker now want us to pay for this program (now called VersionTracker Pro, obviously). Worse yet, it's not even a traditional "pay-once" program. We now have to pay US$50 every year to use the service! This is known in some industries as a "bait and switch" scam ;-) but in the computer world it is unhappily quite common (mac.com anyone?)

Back to one-liner. What I wanted to do with it was to set it up to check for updates to a few apps that I regularly use (and have some minor issue that I'm waiting for a bug-fix for). After a bit of reading, including this nicely done RegExp tutorial, I was able to put together some generic expressions to parse VersionTracker entries for the information I want (i.e. the latest version number). Simply create a new entry in one-liner and enter the following values (use the VersionTracker URL of the application you want to watch):

Update: I realised VersionTracker have a different page for each version, which makes tracking the newest version difficult. MacUpdate only keeps the latest version which simplifies things a lot.

Parse Target URL (use the MacUpdate URL of the app you want to track):
http://www.macupdate.com/info.php/id/13341

RegExp1(A):
/<title>(.*)<\/title>/[1]

Title:
/<title>(.*)<\/title>/[1]

Display:
A

This will make one-liner request the MacUpdate page and display what the current version number of the software is. You can set the interval in the one-liner preferences. This is the result (the bottom five lines are the result of this technique):
oneliner_macupdate.jpg

A good place to ask RegExp-related questions is regexp.org.


Posted on 7 July 2004, to How To... | Internet | Mac OS X
-- How To... --

Backing up the P800


Although using iSync to sync with the P800 backs up all your contacts and calendar to OS X's Address Book and iCal respectively, it is probably a good idea to have a backup of the entire memory contents of the phone - if only to backup the contents of Jotter and PIM apps like HandySafe! Furthermore, it appears that when I finally get around to having the P800's firmware upgraded the procedure will erase all of my phone's data.

Unfortunately the included PC Suite software is for the PC only. The only Mac solution at the moment is to run it in Virtual PC. All I did was fire up Windows XP under VPC and then plug in the P800's USB Cradle (aka the SyncStation). XP should detect the new hardware (this may take a while, depending on your Mac's speed). You may need to select the cradle in the USB section of VPC's settings.

Once XP detects the cradle, insert the SonyEricsson CD that came with the phone. VPC should detect the inserted CD and autostart the PC Suite installation process. Obviously if you downloaded a newer version of the PC Suite install that instead. Just follow instructions, the software should install without any problems.

You should now notice a connection icon in the system tray at the bottom right of XP's screen. Stick your P800 onto its cradle and you should see the connection being established. This might take a minute or two. Be patient. VPC is slow. Choose Start:P rograms:Sony Ericsson:P 800 and fire up Backup and Restore. Cick Backup and off you go!

p800_vpc_backup.jpg

One caveat: I have yet to try and restore the phone. Watch this space :-)


Posted on 29 June 2004, to How To... | Mac OS X | Sony Ericsson P800
-- How To... --

More Mobipocket Conversions


Some of my ebooks are in html format. I briefly experimented with reading them on the P800's web browser but the files are quite large and really thrash the P800's CPU. The phone is barely usable while the html file is open, at least with the default web browser. I was unable to access the html file with Opera.

I found a slick hint at MacOSXHints which details how to use txt2pdbdoc and the pdftotxt portion of xpdf to add the ability to export documents, via the Print command, in the pdb format. This means you can export any text from almost any document (it only exports text, not images), be it a webpage, a spreadsheet, a pdf, or an email. Note that the author had some trouble getting backslashes to display in the main hint, he's posted a correction here.

This solution, while extremely elegant, does have its downfalls. For one thing single carriage returns seem to be lost in the conversion, so you end up with extremely long paragraphs. This can be a problem, especially for novels with lots of dialogue. I had hoped to use this method to easily convert some pdf and html ebooks I have. I was unable to find a fix for this, so I am stuck with exporting the text from pdf and html ebooks manually.

For pdf ebooks I've just been choosing the File:Save as Text command in Acrobat Reader and then converting the resultant text with PorDiBle.

For html ebooks I've been opening the html file in Safari and choosing Edit:Select All, and then choosing Safari:Services:TextEdit:New Window Containing Selection. I then save the resultant TextEdit document as an rtf file and drop it onto PorDiBle. Note, according to this slightly dated Doc Converter review, earlier versions of PorDiBle could convert html files. Unfortunately this no longer appears to be the case. The review also mentions MakeDocDD, which I plan on experimenting with, but my initial test resulted in the app crashing.

Both of the manual conversion methods above produce properly formatted ebooks, within the limitations of PorDiBle (notably it's inability to translate some common higher ASCII codes, '...' is a particular bugbear of mine).

This may seem like a lot of trouble, but given that reading a novel takes ten hours or more, the two or three minutes it takes to convert an ebook becomes entirely acceptable. Especially when you save all your conversions to replicate your entire library in pdb format!

Finally, in the course of my experimentation I decided I needed an OS X pdb reader rather than bluetoothing the books over to the P800 to check the formatting. A quick google search turned up eReader. There doesn't seem to be a lot of competition, but eReader doesn't suffer for it. Everything works, it looks decent, and performance is good. What more could you ask? The Pro version includes skins and changeable fonts and font sizes.

Update: I recently discovered the OS X version of Palm's very own DropBook. It works well but like PorDiBle has problems with certain unusual higher ASCII characters.


-- How To... --

OS X Internet sharing with a P800


On the face of it, this shouldn't be a problem. After all, it apparently works on Windows.

My early efforts at this stemmed largely from this hint and this hint at MacOSXHints. However I was unable to get it to work. I was continually getting this error in my Console log:

Failed to open /dev/tty.Bluetooth-PDA-Sync: Device busy

but I cant for the life of me figure out what device is busy.

I then spent a few days fiddling with this method from TechnoHappyMeal, but after a lot of frustration I gave up on it. At the time I had decided that because my internet connection was coming through a USB port I wouldn't be able to share it over bluetooth (the various scripts that were developed in this and the MacOSXHints threads above all only specified built-in-ethernet or airport connections).

I left it for a while but then I heard about an app called Bluetooth to Internet Utility. It looked promising, but unfortunately it seems to have been broken by one of the recent OS X system updates. (In step 3 of installation it tries to open Sharing Preferences but instead opens Universal Access Preferences and then pops up an error window).

Then a few days ago I read about an app called P800 Manager which has an internet-over-bluetooth option. This app looks like it has (almost) cracked it. For one thing it can establish (and maintain indefinitely) a bluetooth connection with the phone (the phone's bluetooth icon shows a two-way connection, which none of my previous attempts had managed to do). Almost there! However when I fire up Opera on the phone it appears to manage to send out a page request, and I can see some data being downloaded over the broadband modem (courtesy of MenuMeters), but the data does not reach the phone. I'm not sure what is going wrong, but I am investigating the phone's settings and the Mac's port settings.

Update 9/12/04: I recently went wireless with an Airport Express which involved replacing my USB broadband modem with an ethernet one. This has solved my problem - P800 Manager's internet sharing works now! I still get occasional drop-outs of the bluetooth connection (which requires a restart of the P800 Manager sharing process), but I'm confident that is a P800 firmware problem fixable by getting a firmware upgrade.


Posted on 16 June 2004, to How To... | Internet | Mac OS X | Sony Ericsson P800
-- How To... --

Converting Ogg (ogm) and Matroska (mkv) video


So ... you've obtained an .ogm or .mkv video file and you want to convert it to something else (in my case either a DVD or a SmartMovie .avi for the P800). These .ogm and .mkv files are Ogg media files and Matroska video files respectively. Both are container formats like .avi or .mov and can contain various types of video and audio.

The Mac video Swiss army knife ffmpegX does not (yet) like ogm or mkv containers, so you need to demux the video and audio streams before converting them. The apps you need to demux are OGMTools and MKVToolNix by Shawn Holwegner. These are both ports of Linux apps by Moritz Bunkus. This means they are command line apps, but don't worry! They couldn't be simpler to use.

Just download the installer packages, unstuff, and install. They will install several ogm and mkv tools into your /usr/local/bin folder. You don't have to worry about that, all it means is that they are easily accessible. Now all you have to do is open a Terminal window, and (if you have an ogm file) type:

ogmdemux (including a space at the end - do not hit enter!)

Now drag your ogm file into your terminal window. This will fill in the correct path to the file. Hit enter to begin the demux process.

or (if you have an mkv file)

mkvextract tracks (including a space at the end - do not hit enter!)

Now drag your mkv file into your terminal window. This will fill in the correct path to the file. Do not hit enter. Continuing on the same line, type

1:video.vid 2:audio.aud
Hit enter to begin the demux process.

For both .ogm and .mkv files the demuxing process will take a minute or two for a 700MB file. When the process is complete, you will have the demuxed audio and video files in your home folder.

Once you have your separate audio and video, ffmpegX should be able to convert them to whatever format you desire - unless your audio is in the ogg vorbis format, in which case I would recommend you download and install this Ogg Vorbis for Quicktime plugin, and then use iTunes to convert your ogg to an mp3. To convert your ogg launch iTunes, option-click the Advanced menu, choose 'convert to mp3' (if this says something other than mp3 you need to change your iTunes import preferences), and finally choose your ogg.

Note: ffmpegX should be able to recognise your .vid and .aud files, but if you need to you can use ogminfo and mkvinfo to find out what type of video and audio are inside your ogm or mkv.

Edit: correction to the mkvextract instructions thanks to Jasper's comment below.

Posted on 15 June 2004, to How To... | Mac OS X | Mac Video
Comment on this entry
-- Sony Ericsson P800 --

QuickContact screen lock issues


Further news on the QuickContact screen lock - I've realised that after turning the phone on that I have to manually launch QuickContact otherwise the screen lock won't kick in, so I decided to look for a way to automatically start QuickContact when I turn the phone on.

There is a program called Autostart which does this, but apparently it doesn't work very well and in any case seems to be no longer available at the developer's website, so after some further searching I found a post by zhubajie in this thread on HowardForums which describes how to manually create a startup item.

However when I tried to use the instructions in zhubajie's post to make QuickContact auto-load at startup I found it wouldn't work unless I also had HandyDay 2004 installed (I found I didn't have to have it autoload at startup though). Uninstalling HandyDay 2004 broke the QuickContact auto-start again. I'm guessing that HandyDay changes a configuration file somewhere to tell the P800 to look in the /system/startup folder when it boots up.


Posted on 3 June 2004, to How To... | Sony Ericsson P800
-- Sony Ericsson P800 --

eBooks on the P800


One of the reasons I took the plunge and upgraded my old Nokia 8250 to the new P800 is that I wanted a portable device to read eBooks on. I had originally gone onto eBay looking for an obsolete £30 Palm and ended up with a £150 P800 phone, but that's another story...

One of my early finds on the P800 was MobiPocket Reader. This is a great eBook reader which can handle many (but not all) popular formats. The one major drawback is that it does not like gzipped text files (oddly enough the default reader that comes with the P800 handles them with aplomb). Since a gzipped text ebook can be 30% the size of a plain text ebook I really wanted an easy way to compress my many plain text ebooks into a format MobiPocket would like.

Enter Pordible. This is a slick OS X drag-and-drop app that converts text or html files into a compressed .pdb (PalmDoc) file. PalmDoc is not quite as space efficient as gzipped text, but it's pretty good. And it is compatible with MobiPocket :-)

One final note: after bluetoothing a .pdb file over to the phone, I found that it would only get imported into MobiPocket's library if MobiPocket was not loaded. If MobiPocket was already open in the background, it would read the .pdb file, but would leave it in the Beamed messages folder. My workaround is just to remember to quit MobiPocket before bluetoothing a new ebook over.


-- How To... --

P800 Screen Lock


One of the first things I needed to sort out on the P800 was a decent screen lock when in flip-removed mode. The default one is the bouncing Sony Ericsson logo which, being animated, isn't too battery-friendly. What's even worse is that when the screen is locked touching the screen will turn on the backlight. This means the light is likely to turn on when the phone is bouncing around in your pocket. A partial workaround is to use the virtual flip screen lock which does disable the touch screen, but I don't like the virtual flip and would never use it otherwise, so I don't see why I should use it just to lock the screen.

I set about looking for a replacement. My early searches resulted in an app called SClock. SClock will display a basic lock screen showing the date and time, and most importantly, it disables the touch-sensitive screen when locked. Problem solved! However as well as the lock screen looking distinctly amateur and generally unimpressive, there also seems to be a bug where the time digits do not appear the first time you activate the SClock lock. Nevertheless, I continued to use this for a few days, that is until I gave QuickContact a try! This is a replacement Contacts app which has an included Screen Lock module. This screen lock is just what I've been looking for! It shows the date and time, disables the touch screen, AND looks very slick! I've been using it exclusively for several days now and am very pleased with it.

Quickcontactscreen Update (Jan 2005): getting a screen capture of the lock screen proved to be impossible, so here is a photograph instead:


Posted on 30 May 2004, to How To... | Sony Ericsson P800
-- How To... --

Encoding for SmartMovie


Okay ... I've made some progress on SmartMovie. After spending hours reading every scrap of information I could find on the net, I've come up with a couple of processes for encoding SmartMovie files on OS X. There seems to be some sort of obscure bug in ffmpegX which means we have to demux and process our audio seperately before remuxing the final file.

Note: depending on the aspect ratio of your source movie, these are the resolutions you want to aim for when resizing (step 4 below)

4:3 -- 272x208
3:2 -- 320x208
1.66:1 -- 320x192
16:9 -- 320x176
1.85:1 -- 320x176
2.35:1 -- 320x128

METHOD 1
Pros: Works on a wide variety of formats
Cons: Needs QuickTime Pro, only works on movies you can open in QT Player

Required software:
DivX 5.1 Mac codec
ffmpegX 0.0.9h
QuickTime Pro

1. Open the movie in QuickTime Player.
2. In the Movie menu choose Get Movie Properties (cmd-J)
3. Select 'Video Track', select 'Size', click 'Adjust'
4. Drag the corner of the video until it is the correct size for your aspect ratio (see chart above), click 'Done'

Exporting video from QT Player
5. In the File menu choose 'Export', select 'DivX AVI', click 'Options'
6. Uncheck 'Audio', set framerate to 12.5, click 'Settings'
7. Set 'Encoding bitrate' to 120kbps, click OK
8. Click 'OK'
9. Change the name in the 'Save As' box, click 'Save'

Exporting audio from QT Player
10. In the File menu choose 'Export', select 'Sound to AIFF'
11. In iTunes, option-click the Advanced menu, choose 'Convert to mp3', choose your AIFF file. An mp3 version of your AIFF will appear in your iTunes library.
12. Drag the mp3 from your iTunes library onto your desktop, delete the mp3 from iTunes

Finishing up with ffmpegX
13. Drag the mp3 from your desktop onto the ffmpegX icon
14. In ffmpegX select the 'Audio file to mp3' preset
15. In the Audio tab enter an Audio bitrate of 32kbps, click Encode
16. In the Tools tab, click the first 'Browse' button, choose the AVI file you created in step 9
17. Click the second 'Browse' button, choose the mp3 from step 15
18. Choose AVI in the drop-down menu next to the 'Mux as...' button
19. Click 'Mux as...'


METHOD 2
Pros: Does not require QuickTime Pro, can encode directly from a vob
Cons: Limited to mpeg 1 and mpeg2

Required software:
ffmpegX 0.0.9h
0sex (only if you wish to encode a movie from a vob file)

Doing everything with ffmpegX
1. In the Tools tab, click 'Browse', choose your mpeg or vob file, click 'Demux'
2. Drop the video file (the m1v or m2v created in step 1) onto the ffmpegX icon, choose the 'Xvid' preset
3. In the Video tab, set bitrate to 120kbps, 12.5fps, screen size according to the aspect ratio of your source movie (see table above), click 'Encode'
4. Drop the audio file (created in step 1) onto the ffmpegX icon, choose the 'Audio file to mp3' preset
5. In the Audio tab, set bitrate to 32kbps, click 'Encode'
6. In the Tools tab, click the first 'Browse' button and choose the avi file created in step 3
7. In the Tools tab, clock the second 'Browse' button and choose the mp3 file created in step 5
8. Choose AVI in the drop-down menu next to the 'Mux as...' button
9. Click 'Mux as...'


After both methods you should end up with a file named 'yourmoviename.muxed.avi'. This movie should play at full screen in SmartMovie.

Using the values I've given above you should get about 10mins of video per 9MB file size. The video shows some compression artifacts and the audio is slightly tinny, but both are acceptable. You can experiment with changing the video and audio bitrates to achieve whatever quality is suitable. For example for a music video you would probably want to increase the audio bitrate to at least 64kbps, while for high speed, wide angle footage (like sports) increasing the video bitrate will help.

simpsons_capture.jpg
A 21 minute episode of the Simpsons encoded with the above settings comes out to 18.1MB (12.1MB video, 4.8MB audio, plus overhead)


-- How To... --

Movable Type, here I come


Well, I've taken the plunge and installed Movable Type onto my PowerBook. It's a very popular web log package which also happens to be free if you install it yourself (which probably accounts for its popularity). Since I know nothing about MySQL, I did some googling and found a very useful installation tutorial which led me through most of the process. Everything looks pretty good so far, although I still need to customize the look of the new pages.


Posted on 16 May 2004, to How To... | Site News | Web Design
-- Sony Ericsson P800 --

P800 - second opinions


I've now been playing with the P800 for a few days, and have discovered some other things about the phone, both good and bad.

On the positive side of things:

Mobipocket Reader is a fantastic application for reading ebooks.

VICS Video Player is a promising-looking program, although it's still in beta. This program apparently can play video at full-screen resolution at 25fps! It seems to occasionally crash (although it may just be that I am low on memory) but when it works is a real eye-opener. The one drawback is a proprietary video format which you can't encode on a Mac.

On the negative side of things:

I've discovered what seems to be a major (from the point of view of an OS X user) problem in the last few days. It appears that if you don't have some way of sending an email from your phone (such as GPRS), there is no way of transferring a file from the phone to a Mac. From my readings it appears that the most common way to do this is to browse the phone (from a PC) via the SyncStation and just copy the desired file off the phone. As noted earlier this doesn't work on a Mac. But when I try and send a file via bluetooth from the phone (which should work!) I almost always get an error - actually, I've only succeeded once!


Posted on 16 May 2004, to How To... | Mac OS X | Sony Ericsson P800
-- Apple --

Remapping the enter key


Apple PowerBooks don't have extended keyboards - not even the 17" model which clearly has room for one. While I don't really miss the lack of a numeric keypad (as far as I'm concerned they are primarily used as as direction keys in games!) on my 15" 667Mhz model, I've always wished that Apple had managed to squeeze dedicated page-up and page-down keys onto the PowerBooks, rather than making you press the 'Function' key and an up/down arrow key. But what is really aggravating is that there is only one 'Function' key, and it is on the left side of the keyboard! This means that you need two hands to page-up or page-down.

As a result, ever since I got this laptop, I've been trying to remap my Enter key to a Function key so I could page up and down with one hand. I thought I had found a clue in this MacOSXHints story, but it turned out to be aimed at remapping Exposé activation keys. After more searching on the same site I eventually discovered this old story, which led me to DoubleCommand. What can I say - this kernel extension has answered my prayers and is a must-have for any PowerBook owner! It can not only remap the Enter key to a Function key, it can also remap other modifier keys as well as the caps-lock key. Not only that it can make your Mac react like a PC when you press the Home and End keys. On the Mac the Home and End keys have traditionally moved to the beginning and the end of the document, while on the PC they move to the beginning and end of a line. I've always found the PC behaviour to be more useful. Note: this seems to work in all apps I've tried, except TextEdit.


Posted on 21 April 2004, to Apple | How To... | Mac OS X
Comment on this entry
-- Apple --

Keyboard problems


Bad news: the 'o' key on my keyboard has started acting up. Sometimes when I press it a second 'o' appears 2 or 3 characters after the first one. At other times I press it and the 'o' doesn't appear until 2 or 3 characters later. Very, very, very, annoying.

Here's a sample:

This paragraph is just randomo text but hopeofully when I look up from typing it you will see where all the extra o's have appeared. I need to type moroe woords with o's in them. Here are some more o words: bomb copper balloon crock crook rolloover zoo soap crd ooval oopal orogan oroganic odour orifice

Update: I've managed to fix it! All I did was pry the key off, clean out the crap that had accumulated underneath, and re-attach it. For one heart-stopping moment I thought I had snapped something off when I pried it out, but it seems to have re-attached without problem.


Posted on 14 April 2004, to Apple | How To...
-- How To... --

Postfix fix!


Good news: a contributor at MacOSXHints has found a solution to prevent postfix from breaking down whenever you repair permissions. Three cheers for clvrmnky!


Posted on 12 April 2004, to How To... | Internet | Mac OS X
-- How To... --

iPhoto tip


After using iPhoto for about 18 months now, I only just discovered today that I could remove a photo from an album and delete it from the library by selecting the photo in the album and pressing option-command-delete. No more trawling through the library looking for unwanted photos for me! I don't know when this was introduced but back in iPhoto 2 I did a lot of googling for this feature and it apparently didn't exist in that version. I'm using iPhoto 4.


Posted on 26 March 2004, to How To... | Mac OS X
-- How To... --

tintin++ on OS X


Finally got tintin++ working on OS X! I think it's more to do with Apple switching to the bash shell than anything else. I did this on OS X 10.3.3, but this should work under any version of OS X 10.3. Pre-10.3 installations use the tcsh shell instead of the bash shell. tintin++ reportedly does work under tcsh, but it needs some special configuration to make it work (I've tried many times but always failed). Also note I am a unix novice and this is written for people like me :P

What is tintin?
tintin++ is a mud client for unix-based operating systems. It features triggers, aliases, tickers, paths, variables, gagging, and many other advanced features.

Getting the software
The first thing you will need is a compiler. Most users of OS X wouldn't know a compiler if they tripped over one, so it's not included in a default install. To get your compiler you will need to download the OS X Developer Tools (also known as Xcode 1.1). This is avalable at the Apple Developer Connection (free registration required). Note that the Xcode package is approximately 600 megabytes in size - we only need a tiny piece of it but this is the easiest way to get it). Note: recently-purchased Macs may come with an OS X Developer Tools CD.

Next you will need a unix package known as readline-4.3. This is available here.

Finally you will need the tintin++ package. The original tintin++ (v1.86) does not seem to be developed anymore (and the old homepage is dead), but my buddy Scandum has been working on updated version (v1.91) which is available at here.

Once you have all the software, you're ready to go!

Installing everything
1. Mount the Xcode disk-image. Launch the installer, follow the on-screen instructions for a default install.
2. Launch Disk Utility and repair permissions! This is recommended after installing any OS X system software.
3. Unpack the readline.tar and tintin.tar.gz packages by dropping them onto Stuffit Expander (installed by default with OS X). This will produce two folders, one called readline-4.3 and one called tt.
4. Copy the readline-4.3 and tt folders into your home folder.
5. Launch Terminal (inside /Applications/Utilities/).
6. Now you're going to compile readline. In the terminal, type the following:

cd readline-4.3
./configure
make
make install

You may get a couple of errors, but don't worry, you've just installed readline (enough of it for tintin anyway!). Congratulations. Type exit and quit the terminal.

Note: The readline install sometimes produces a load of messages about not having permissions to write in /usr/local/ This didn't happen to me - I don't know why - but it happened to another buddy Jeff. His solution was to type su and his root password before typing make (you may need to enable the root account and set a root password in NetInfo Manager [inside /Applications/Utilities/] - you should probably disable the root account after finishing this install).

Further note: Jeff has since told me that the permissions issue was due to him having just installed OS X and never having logged out since installing. After logging out and back in he was able to install readline without resorting to su.

7. You also need to compile tintin. Launch Terminal again and type the following:

cd tt/src
./configure
make

You've just installed tintin++. Congratulations again. If you get an error while compiling tintin saying it cannot find readline in either of the two usual locations, there's something wrong with your readline install (most likely you had the permissions issue described above).

Using tintin++
You can navigate to the tintin directory and launch it by typing

cd ~/tt/src
./tt++
.

Once tintin has loaded, you can connect to a mud by typing:

#ses sot sotmud.net 23

where sot is the name of the session you are starting and sotmud.net (port) 23 is the address of the mud you are connecting to.

Note: To exit from tintin press ctrl-c

Getting started with login scripts
Create the file run by typing the following:

cd ~/tt/src
pico run
./tt++ run.scr

save the file (ctrl-X, Y, <enter>;) and make it executable by typing:

chmod 755 run

Create the file run.scr by typing the following:

pico run.scr
#read run.tin

save the file (ctrl-X, Y, <enter>;)
Create the file run.tin by typing the following:

pico run.tin

To auto-load a login alias called 'loginsot' every session, type the following:

#alias loginsot #ses sot sotmud.net 23

An alternative here is to bind the login command to the F1 key (#help macro for more information) by typing:

#macro {\e[11~}{#ses sot sotmud.net 23}

save the file (ctrl-X, Y, <enter>;)

What did that accomplish?
After all of the above typing ./run should start up tintin, and read in the contents of run.tin You can then type loginsot (or hit F1, depending what you did at the end of the previous step) to login to the mud address you defined.

While you have a session open you can now type: #config and set the configuration to your liking, and once done type: #write run.tin This will save your configuration in the run.tin file, so it'll be loaded whenever you use run.

Adding an alias for speedy launching
Launch Terminal and type:

pico .profile

This edits a hidden file (.profile) in our home folder. Use the down arrow to move down to the end of the file. Add the line:

alias tintin='cd tt/src;./run'

save the file (ctrl-X, Y, <enter>;)

You can now launch tintin (and your run.scr script) by opening a new terminal window and typing tintin.

Additional help
While in a tintin session typing #help will give you detailed help on making the most of tintin++. Also don't forget to look in the docs folder (inside the tt++ folder) at the example scripts. Finally the tintin messageboards has some useful discussion about older versions of tintin (most of it is still applicable).


Posted on 22 March 2004, to How To... | Internet | Mac OS X
Comment on this entry
-- Internet --

Postfix problems


Well ... I've already broken my Postfix installation. All I had to do was repair permissions! I noticed a bunch of Postfix related stuff in the repair log and, sure enough, I couldn't use my SMTP anymore.

After much googling I found this page which contains the following fix:

sudo chown -R postfix /private/var/spool/postfix
sudo chown root /private/var/spool/postfix
sudo chown root /private/var/spool/postfix
sudo chown :postdrop /private/var/spool/postfix/public
sudo chown :postdrop /private/var/spool/postfix/maildrop
sudo chown :postdrop /usr/sbin/postqueue
sudo chown :postdrop /usr/sbin/postdrop
sudo postfix start

Now it all works, but presumaby repairing permissions will break it again! We'll see.

Continuing in the spirit of experimenting with an 'always-on' internet connection, I've been playing with setting up my own FTP server courtesy of PureFTPd-Manager. This app makes the set up ridiculously easy, and after some teething problems with my firewall, all is well (time-saving tip: if you want your clients to be able to use passive FTP you will either have to open all ports from 1024 - 65535 on your server's firewall, or you will need to manually specify which ports your server will use for passive FTP, and then only open those ports on the firewall).


Posted on 17 March 2004, to How To... | Internet | Mac OS X
-- How To... --

Postfix on Panther


I've become sidetracked. MySQL is on hold because after playing with Apache I got interested in setting up a mailserver on my laptop, especially since BT Broadband do not offer an SMTP service. I had been testing SpyMac's free SMTP but it doesn't always allow me access if I haven't checked my SpyMac mail recently.

However there is a solution - sending mail with my own SMTP server and not relying on any ISP. Prior to version 10.3 OS X came with sendmail installed but disabled; it now ships with Postfix installed but disabled. So I needed to enable Postfix. Graham Ordorff covers OS X and mail servering (including Postfix) in intricate detail here, whilst John Brewer has written a slick tutorial here concentrating on setting up Postfix with authentication. Reading through these two tutorials enabled me to get Postfix up and running for my outgoing mail. For incoming mail I still rely on Fastmail's excellent free service.

Update: since getting Postfix working I've discovered (via FreshGoo) that the easiest solution may be Postfix Enabler which is available here on Bernard Teo's excellent weblog (he also has a Sendmail Enabler for pre-10.3 installations).


Posted on 16 March 2004, to How To... | Internet | Mac OS X
-- Internet --

Broadband revisited


I discovered that the BT broadband is actually going at almost full speed. The connection is reported as a 288000bps connection, but it seems that OS X is detecting the upstream and not the downstream. I didn't figure this out until trying out the excellent broadband speed test at the ADSL Guide. My downstream results were 444kbps (estimated at approx 480kbps with overheads) and the upstream results were 245kbps. Both values are pretty close to what they should be with a 256up/512down ADSL service.


Posted on 14 March 2004, to How To... | Internet | Mac OS X
-- Mac OS X --

Finally, a 24/7 connection


The broadband modem arrived today. Setting it up was pretty simple, just plug it in and a few clicks. BT's OS X installer even works (their dialup one didn't, I had to manually open up their coookie to configure that). It only seems to be able to connect at 256kbps though, instead of the advertised 512. I'll give it a few days and see how that goes, since some ADSL modems need to be 'trained'.

Setting up the Apache webserver that's built into OS X was very easy. One click fired up the server, but then I had to spend a few minutes googling to finding out where the root directory was (inside /Library/Webserver/Documents/ if you're wondering). I then set up an account with no-ip.com to forward emandtim.no-ip.com to my broadband connection's IP. no-ip.com make a nice little utility which will monitor your connection and regularly report your IP address to no-ip.com (and thus update the emandtim.no-ip.com redirection). Pretty slick for a free service. I'm now downloading the 600MB Apple Developer Tools - apparently I need them to set up MySQL. With my half-speed broadband it's going to take 4 or 5 hours.


Posted on 12 March 2004, to How To... | Internet | Mac OS X | Site News
-- Internet --

Pondering email


I just learned that SpyMac has recently started offering a free email and webspace offer (which includes a mountable volume known as SpyDisk, very similar to Apple's iDisk service). I've signed up for accounts for both Emma and myself. The service includes both SMTP and POP, which will be useful once we cancel our BT dialup account. My preferred email service, Fastmail, does not offer an SMTP server with their free service so I had been wondering how we were going to send emails.


Posted on 10 March 2004, to How To... | Internet | Technology
-- How To... --

DVD clips onto VHS


Emma recently asked me if I could compile a selection of clips from amongst our DVDs that would illustrate various aspects of life in the future for her Religious Studies students. After thinking about it for a while and viewing a few scenes we decided to rent a few more select titles. We find the DVD-by-post service of LoveFilm very useful as the local Blockbuster is quite small and only has a limited selection of non-chart titles.

The final caveat was that Emma had to have three identical copies of these clips which ruled out me just sitting there pressing the record button on the VCR at the correct times!

Getting hold of all the clips

I started by figuring out which DVD chapters contained the scenes we wanted and then using Cinematize to export those chapters. The process is very quick (a couple of minutes each) and you end up with mpeg2 QuickTime files. The extracted clips are interesting - there is a faint dithered effect you don't get when watching the DVD itself, but the quality is otherwise excellent. It's as if it is a perfect copy but with a smaller colour palette.

I could have used a plain vanilla DVD ripper such as 0sex instead, but I would ended up with vob files or elementary mpeg streams which I would have had to do more work on to get them into an editable format. The quality may have been slightly better without the dithered effect, but Cinematize was the quick and dirty option. Additionally Cinematize lets you preview which chapter it is that you're extracting (although the preview is limited to fifteen or thirty seconds which isn't always enough). With 0sex you'd have to skip through the film beforehand and write down the chapter numbers.

Editing out unwanted material

The one other odd thing about the mpeg2 clips that Cinematize outputs is that many mpeg editing programs will not accept them as 'true' mpeg2 files (for instance the mpeg splitters mpgtx and Gumby). I eventually solved that by using Goldberg to cut out the unwanted parts of each chapter. Goldberg doesn't seem to be a 'true' mpeg splitter, but it does the job if you aren't worried about file sizes (using Goldberg to cut an mpeg in half will only reduce its size by ten or twenty percent). Note that you need Apple's mpeg2 decoder for Goldberg to play mpeg2 files.

One clip that we really wanted to use had one instance of foul language which we had to cut out. This is harder than it sounds. Since I had iMovie experience from doing the wedding video I at first tried to use that before discovering that iMovie isn't designed to handle widescreen formats. After much trial and error I ended up imported the clip into Final Cut Pro (which I've never used before) where I was able to reduce the volume to zero to blot out the offending word. After this single edit I re-saved the clip as a QuickTime file. Importing an mpeg into FCP and re-saving loses some quality, but the final result is still pretty good.

Creating titles

Finally I used iMovie to create some titles on black backgrounds to place in between each clip. These just contained the name of the movie to inform the audience what clip was coming next and also to serve as spacers in between clips so searching via fast-forward would be easier. Unfortunately as iMovie only operates in 4:3 format, there is a bit of a flicker when Cellulo changes resolution as it moves from a widescreen clip to a 4:3 title. In hindsight instead of using iMovie I should probably have tried to figure out how to do the titles in widescreen format in FCP.

Getting it all onto VHS tapes

Emma's school doesn't have any DVD players, so I had to get it all onto three VHS tapes. The simplest solution I could think of was to simply put all the clips and titles into a playlist in Cellulo and then connect my laptop to the VHS recorder via the S-Video output for a straight analog recording. On the playback settings for the FCP-edited clip I had to set the playback size to 110% of screen size since the FCP output had a thick black border around it and enlarging it made it fill the screen.

I could have obtained a prettier final result (with cross fades between scenes, fade-outs at the end, etc.) if I had imported the whole thing into FCP to edit and author as a DVD, but that would have probably take ten times as long for a minor benefit. After recording the DVD onto VHS tape the quality of each clip would have been the same as my current method but it would have pretty transitions between scenes. Oh well, it would have been nice but not worth all the extra work.


Posted on 21 February 2004, to How To... | Mac OS X | Mac Video
-- How To... --

A new home theatre package


Complete systemThis "DVD Digital Theatre System" is currently (November 2003) available as part of a £499 package at Argos in the United Kingdom. The package consists of a Hitachi HTDK170 UK DVD player with 5.1 surround sound (includes 5x 25W speakers and a 35W subwoofer), a Hitachi C28W440N 28" wide-screen CRT TV, and a Hitachi VT-FX340EUK R VCR. A two-shelf stand is supposed to be included, but at the time of purchase we were told that they had run out of two-shelf versions and asked if we would mind a single-shelf version (pictured). There is also a £699 version of this package which substitutes a 32" TV for the 28" one.

Since Argos is a kind of warehouse-store where you order an item through a catalog and it is subsequently delivered it is difficult to know exactly what you will be getting. I know that I spent several hours online trying to find out more about this particular model with virtually no success whatsoever (variations in model numbers on different websites didn't help). So my hope is that this page might illuminate a few people who are researching this particular combination of devices and help them make their choice. Although I will briefly discuss the TV and VCR, this review will concentrate on the DVD player (since that is the device where compatibility and features will be the biggest issue).

The Hitachi C28W440N 28" wide-screen TV
The TV is extremely bulky with dimensions of 532mm (D) x 777mm (L) x 468mm (H) and weighs in at a massive 33.4kg. The box it arrives in is at least 50% larger again in all dimensions (absolutely enormous! and resulted in me having to move a hallway bookshelf in order to get the box into the sitting room!). The TV has all the features I expected, with automatic aspect ratio detection as well as various manual settings (4:3, 4:3 widescreen, 4:3 letterbox, 14:9L and 14:9 zoom). The screen is obviously not perfectly flat (not for this price!) but it is completely acceptable. One negative is that there is a very slight moire effect on the edges of the screen when in widescreen format but it is barely noticeable unless you study it closely. On the plus side the built-in speakers work well - if anything they are too loud, I regularly have the volume set on 3 when the maximum is about 40!. And, probably most importantly, the price is right!

This TV accepts video inputs through a Euroscart connection and a regular RF video connection. It does not have an S-Video input (although higher-end models in this same range do). One thing I noticed is that the package comes with a regular television RF cable (instead of a Euroscart connection) to connect the VCR to the TV. However, upgrading this connection to a Euroscart cable didn't make any noticeable difference to the picture quality (admittedly I tested this with a cheapo £10 scart cable - the store had some that were £50!). However the documentation does say that if you want to watch a NICAM (dual language) VHS tape, then you need a Euroscart connection from VCR to TV. Oddly enough, there is no mention in the documentation of this model of TV working with the NTSC system used in the US and Japan. The included VCR and DVD player do (see below) but this TV apparently doesn't. Odd eh? I have not had the chance to test this since I don't have any NTSC tapes or discs handy. Edit: I have since tested an NTSC DVD and the TV does display NTSC, it's just not mentioned in the documentation.

Note that unlike some higher-end models this TV does not have a built-in decoder for digital terrestrial TV (Freeview in the UK).

VCRThe Hitachi VT-FX340EUK R VCR
The VCR is an unremarkable piece of machinery. One of the first things you notice when you see it is the silvery plastic casing which looks fine but feels decidedly cheap once you pick it up. It's also pretty noisy when inserting and ejecting tapes. However it does its real job without any problems. The VCR can playback PAL and NTSC formats and also accepts VideoPlus+® numbers for easy recording of TV programmes.

The video output choices of the VCR are RF out and Euroscart out. There are also RCA audio out sockets. Inputs are via a normal TV aerial socket or the second Euroscart connection. The second Euroscart is intended for input from satellite, cable, or digital terrestrial converters, but I have also had great quality VHS tape recordings from a digital video camera (Sony PC10) using the camera's S-Video output going through an S-Video/Euroscart adaptor and into the Euroscart input port.

HTDK170The Hitachi HTDK170 UK
The HTDK170 UK DVD player - also known as the HTDK170UK, the HTD-K170 UK, and the HTDK170-UK - appears to have a decent build quality and feels much more sturdy than the included VCR. The front face of the machine is mirrored which looks fairly decent in a retro kind of way. The mirroring is the reason you cannot see the LCD display in the picture to the right. Overall I've had no complaints, except that the open/close button on the player itself is too sensitive (sometimes when I press it the player seems to see two separate presses and opens and closes the disc tray). I've had no complaints about the speakers either. They seem to work fine and sound great.

The video output choices are listed as PAL/NTSC CVBS, PAL/NTSC S-VIDEO, or RGB+CVBS through a Euroscart connector. I have not tested the S-Video output as I have no devices which accept SVCD input.

This player has a built in radio tuner but does not come with any antennas. Unless the signal in your area is particularly good you will need to purchase one.

Note that all commercial DVDs are protected from casual copying by CSS (content scrambling system) and Macrovision. Essentially this means that any analog recording will have a huge amount of static and interference making the film unwatchable. So you can forget any ideas you might have had about recording DVDs onto VHS tape. If you have a DVD burner in your computer you can visit this site for more information on making legal backups of DVDs you already own.

A variety of formats
The HTDK170 UK DVD player advertises itself as a DVD/VCD/CD player with AV Surround Receiver which supports DVD, VCD, CD-DA, CD-R, CD-RW, MP-3 and JPEG discs.

I have tested over a hundred commercial VCD and VCD 2.0 discs on this player (I used to live in Hong Kong where the VCD format is very popular) and all except one has played flawlessly. One thing I noticed is that with VCD 2.0 discs you can press play to stop fast-forwarding or rewinding, while on normal VCD (1.0) discs you have to use the rewind button to 'cancel' fast-forward. This might just be a limitation of the original VCD format, I don't know. Edit: I have since discovered that it is. I have also tested a large amount of CD-Rs and CD-RWs with both movies and music on them. The player has had no problems with any brand I've tried (Imation, Verbatim, Emtec, TDK, SKC, Memorex, Phillips).

The player has not had any problems with either purchased or rented DVDs (it had better not!). I have not tested CD-DA or JPEG discs. I have also not tried a MiniDVD (a CD with data in a DVD format on it), although I would like to sometime. I have also not yet tested XVCDs or XSVCDs (VCDs and SVCDs with non-standard video bitrates).

Edit: I have since tested a miniDVD and found that the player did not recognise it.

DVDNot all DVD players are born equal
I would have been extremely disappointed if this DVD player had trouble with DVD-Rs. It would be pretty unusual for a modern player but you never know! Luckily I have found that the player happily accepts purple-dye Packard Bell (widely available here in the UK) and Ritek G04 DVD-Rs. On a slightly more surprising note, the player recognises and plays SVCD discs flawlessly! This is a bonus for me as I am a fan of the SVCD format (near-DVD quality movies on regular CDs, approximately 45 minutes of video per CD), and VCD compatibility doesn't always mean SVCD compatibility. However, not everything was rosy. The MP3 disc features of this player weren't so clear cut.

MP3 compatible (mostly)
After some experimentation, it seems that a CD-R or CD-RW with a bunch of MP3's at the top level of the directory plays OK, but putting MP3s into folders seems to cause a few problems. The DVD player on-screen menu has options for music playback consisting of Single Track, Repeat Track, Folder Normal, Folder Repeat, Disc Scan, Disc Normal, Disc Repeat, Random and Shuffle. However, if you have a disc full of folders containing MP3s, the Disc Normal and Disc Repeat modes seem unable to automatically start playing a new folder when the last song in the previous folder has been played. This is a serious drawback since it rules out continuous music due to having to manually switch folders (albums) when each one finishes. Random and Shuffle are restricted to songs within one folder. So my advice would be to forget using folders on your MP3 CDs. However if you are like me and would rather not have the TV on while playing music, folders aren't an option anyway (since you cannot navigate through the folders without having the TV on).

For those of us who don't want their TV on while listening to music, the player also displays track numbers and times on the LCD display on the player itself. The track counter can definitely display track numbers over 99 (I've tested with an MP3 CD with 150 songs on it), and there is also a fourth LCD digit so presumably it can also display track numbers over 999. Note that when inserting a 150-song MP3 CD, there is a pause of about 10 seconds before music starts (this appears to be due to the player having to read all the song titles from the CD - the pause is longer with more songs).

Note that it is not possible (on this player) to have music from regular stereo CDs or MP3s playing through all 5 surround sound speakers - only the two central speakers will emit sound. Only discs with 5.1 surround sound (generally this means DVDs only) will be able to take advantage of all 5 speakers and the subwoofer. On the other hand, if you have the TV turned to the AV channel, you will also get music out of the TV speakers.

Continuous music without folders
While I can accept having a CD of MP3s without any folders, when you get to the scale of a DVD it just seems crazy that the folder feature doesn't work properly. Renaming the approximately 150 MP3s you can fit onto one CD so they remain grouped into albums seems daunting enough; renaming the thousand or so that would fit onto a DVD-R sounds like my idea of a nightmare. Having said that, any decent music-playing software (iTunes is one) can take a selection of MP3s and burn them onto a CD, and keep them in order by adding sequential numbers to the beginning of the track names. This at least keeps the album songs together in clumps, although it doesn't indicate which song belongs to which album. However, if you did this on a DVD-R, you would still have to scroll through a thousand MP3s to play a track near the end of the list. Not fun.

Another MP3 DVD consideration
Playing MP3s that I had burned onto a DVD-RW resulted in the machine occasionally freezing while browsing through the MP3 list. This seemed to particularly happen when I was navigating between folders. The only way I found to escape from this freeze was to unplug the DVD player - which, as you can imagine, was extremely irritating. The fact that I had to move an extremely heavy television to unplug the DVD player didn't help either. I have yet to test this with a DVD-R, but I suspect the results will be the same (and I'd rather not waste a DVD-R).

Edit: I am now (December 2003) pretty convinced that this freeze is purely a result of having folders on the disc, and now suspect that a folderless DVD-RW would work. Still haven't tried it on a DVD though! Although I have tried a folderless CD-RW which seems to work just fine.

Yet another DVD question
I have only used DVD-R and DVD-RW discs with this player. I do not have a DVD writer that can burn DVD+R or DVD+RW discs, so I don't know how the player would react to them. Presumably it would be fine with them. It might be that using the + format would cure all my problems with MP3 DVDs (or it may make no difference, who knows?). Although having said that, home movies that I've transferred onto DVD-R have worked without any problems whatsoever.

A shot in the dark
I was curious if the DVD player would be able to recognise MP3s copied onto a DVD-RAM disc rather than a DVD-R or RW but, rather unsurprisingly, the player just spat the disc back out. However this DVD-RAM disc was not in UDF format, which may have been the problem (unlikely, it's far more likely that the player is just incapable of reading DVD-RAM discs).

Freedom of region
DVDs are 'protected' against international piracy by what is known as 'region-coding'. Essentially the world is split up into 7 regions where DVDs released in one region will not play on a player from a different region. As you can imagine I think this region business stinks - since it prevents you from buying off-the-shelf DVDs while abroad, and also prevents people like me from being able to send United Kingdom store-bought DVDs to family and friends back in Hong Kong.

What is needed is a hack to disable the region coding on our players to allow them to play DVDs from any region. Unfortunately there is at this time no known region hack for this particular model of DVD player - the hack for this DVD player's predecessor (the HTDK160 UK) does not work (if only it was so simple!). However people are constantly discovering new hacks for different players. You can check here to find out if someone has discovered a region-free hack for the HTDK170 UK.


Posted on 28 November 2003, to How To... | Technology
Comment on this entry
-- How To... --

Powerbook Superdrive self-install


The DVD/CD-RW drive in my laptop started malfunctioning due to a crapped out CD laser, probably from burning too many SVCDs! After some research I replaced the faulty drive with a Matshita UJ-815 CD-RW/DVD-RW/DVD-RAM drive. Getting the new drive to fully integrate with OS X was tricky, so I took a few notes along the way...

Installing a UJ815 DVD-RAM drive in a Powerbook G4 under OS X 10.3

This was inspired by djjuice at the SpyMac.com forums and AirForceRed at the MacNN.com forums. AirForceRed's original post was here. djjuice's original post was here, but djjuice himself has apparently edited out the revealing passage. It was so difficult finding information about this procedure but in the end so satisfying getting the drive to work under OS X 10.2 and later OS X 10.3 that I wanted to save the method for posterity (and in case the original thread at MacNN ever vanishes!)

Important Note: Before you start this process make sure you have the DiscRecording.framework mentioned by AirForceRed and djjuice.

You will also need a T8 Torx (star-shaped) screwdriver. I ordered one online, but in a pinch a set of mini flat-head screwdrivers will do the job.

The Hardware

First you need to obtain a Matsushita UJ-815 (also known as a Matshita UJ-815 or a Panasonic UJ815) DVD-RAM drive. I got mine at DFWDepot for a grand total of US$342.96 (which included the approximately $60 charge for next-day UPS delivery to southeast England). I dealt with Terry Harrison and apart from what I believe to be an honest mistake with shipping charges (albeit still unresolved - watch this space) everything went smoothly.

Update: the mistake DFWDepot made may have been honest, or maybe not, but in any case in addition to the UPS charge of approximately $60 for shipping from the US to the UK, UPS tacked on another $75 charge for the local delivery from the local airport to my house. This second charge was apparently to pay for a local courier company (it wasn't UPS who actually delivered it to my door). I had to pay the second charge in cash on delivery.

The next step is to install the drive. There is a slick installation instruction document (in PDF format) available from MacResQ. The document for older (400-667Mhz) SVGA Powerbooks is here, while the one for newer DVI (667+Mhz) Powerbooks is here. My torx screwdriver took a lot longer than the drive itself to arrive, so I ended up opening my Powerbook with the 4th largest screwdriver in a typical set of 6 mini-flathead screwdrivers. After that it was easy, with the possible exception of the power cable (unplugging it is slightly fiddly, I used to screwdriver to carefully lever it out), and the whole process only took a few minutes.

The Software

Once you've installed the drive you need to find out what it's called by your system. Fire up Terminal and type

drutil info

The drutil tool will display the name of your newly installed drive. For the UJ815 you're installing this should be 'DVD-RAM UJ-815A'. Remember this information exactly (copy and paste it into TextEdit if you think you can't be exact).

Now turn your attention to the DiskRecording.framework you acquired earlier (you did remember to acquire it right?). Control-click it and select 'Package Contents'. Dig down through the folders and find a file called DeviceSupport.drprofile (it's located in Versions / A / Frameworks / DiscRecordingEngine.framework / Versions / A / Resources). Launch TextEdit and open the DeviceSupport.drprofile file and do a search for 'DVD-RAM'. The first instance you find should look like this:

<key>DRDeviceProductName</key>
<string>DVD-RAM SW-9571</string>
<key>DRDeviceVendorName</key>
<string>MATSHITA</string>

You will be replacing the text DVD-RAM SW-9571 with the text that the drutil tool returned earlier (DVD-RAM UJ-815A). Once you've done that, save the file.

To finish the procedure you need to replace the existing DiskRecording.framework with the one you've modified. The easiest way is to boot into OS9 and then just replace the old version (found at /System/Library/Frameworks) with your modified one.

Reboot into OS X and you're done! Disc burning in the Finder should work now.

Notes

The drive is very noisy at first when you eject discs, and the disc doesn't eject all the way (it 'sticks' a little so you have to give it a light pull to get it out). However after using it for a few weeks the mechanism loosens up and both of these problems go away. The drive is now considerably quieter than the old combo drive it replaced.

Note that if you later update your system software you may have to repeat this procedure (if the update replaces the framework), although hopefully Apple will recognise this drive in the next version of OS X 10.3.

Update: I recently upgraded to OS X 10.3.2 on a fresh install of Panther and copied over my old home folder, including preferences etc. Somewhat surprisingly, the DVD-RAM drive works in the iApps and the Finder under the new install. It seems that it is now supported in 10.3.2, although the framework seems identical to the old one, and System Profiler still claims the drive is unsupported. YMMV.


Posted on 28 September 2003, to Apple | How To... | Mac OS X | Mac Video
Comment on this entry

Category icon Sponsors