







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,
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
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:
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:
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:
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.
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:
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:
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:
// 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):
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:
Step 5
There is no step 5. You should now have a working FolderBlog installation on a Windows IIS server.
Thus concludes Mac History 101.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.
Neisha 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.
Pretty nifty, especially in this day and age when ordinary people have to come up with more and more non-trivial passwords.
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.cgiAfter a dead end or two, Aaron & Isaac Goldberg provided the vital clue - it appeared to be a problem with the server's GD installation.
[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
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.
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.
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.
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.
Stumbled across an interesting blog entry on Quartz Composer today.
Update: Someone's already launched a dedicated site.
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.
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/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. 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:
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:
And enter this change ownership command:
And voila! Everything works again.
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
Secondly 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
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.
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.
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.
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.
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!
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.
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.
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.
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
. 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.
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?
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.
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.
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.
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:

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:
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.
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>
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!
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...
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.
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.
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
While 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.
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!
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.
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.
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.
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.
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.
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).
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.
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...
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!)
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.
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.
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.
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
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
I rearranged my desktop recently and have now concluded that I like this layout:

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"
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
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.
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.
To 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).
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):

A good place to ask RegExp-related questions is regexp.org.
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
rograms:Sony Ericsson
800 and fire up Backup and Restore. Cick Backup and off you go!

One caveat: I have yet to try and restore the phone. Watch this space
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.
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 busyI 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.
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.audHit 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.
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.
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.
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.
Update (Jan 2005): getting a screen capture of the lock screen proved to be impossible, so here is a photograph instead:
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.

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)
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.
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!
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.
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.
Good news: a contributor at MacOSXHints has found a solution to prevent postfix from breaking down whenever you repair permissions. Three cheers for clvrmnky!
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.
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
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).
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).
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).
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.
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.
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.
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.
This "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).
The 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.
The 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.
Not 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.
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.