November 28, 2003

Spay The Spammers

[06:32 PM]
Technology

I am getting very tired of junk email. Over the past week, I’ve been getting more spam than mail—today it was 17 junk mail messages and about 5 real email messages. Ok, fair enough, Mail.app is correctly identifying almost all of it as spam and tossing it in the junk, but that’s not the point. What is wrong with the idea of identifying the source of all this junk, going to their houses, and playing Kylie Minogue songs at them 24 hours a day?

On a cheerier note, Halo is finally coming to the Mac. A bit of history here. Bungie was, for years, a producer of superb Mac-only games. They were going to release the best game in the universe a few years ago, until Big Bill came knocking. Some conspiracy theorists think that it was a deliberate attack on the Mac world, an attempt to prevent a potential killer app for the platform getting out. Not that Microsoft would ever do something like that…

Another cheery note: I finally bought a graphics tablet. The character recognition software built into Mac OS X works pretty well. The only problem is that I can’t read my own hand writing at the best of times.

I’m hoping the tablet will help me improve my handwriting, my drawing skills, and my ability to make good selections and masks in Photoshop.

November 19, 2003

Oops.

[10:10 PM]
Technology

Nuck pointed out that “something was funny” with the blog. Yep. My grand scheme for posting to iDisk within Panther went astray. Throughout the MT template files were references to $MTblogURL. Which I changed to be a localhost reference. Didn’t think of that, did I. In the short term, those references have now been replaced with a fixed (correct) URL, and normal services should be resumed.

Silly boy.

November 17, 2003

Not Much News

[07:42 PM]
News

I’ve been chipping away at a lot of little projects in a desultory way. Some are visible — such as the new selectable style on the main page — and others are housekeeping in preparation for more work.

I’ve got more video to edit up and put on the Sable Rose site, but before I can do that, I’ll have to grab some tapes to archive the raw footage. You forget how hungry for space raw video is until you drop an hour or so on the disk…

Some light reading for your pleasure. Tog has written a nice article on computer security design, and Alan de Smet has started collating explanations of the format of all those odd magic numbers like UPN, ISBN and US drivers licence numbers. Nifty. As is the article at Apple on the new Panther boot process. It’s good to have that article handy, because the process is (a) signifcantly different to the older processes, (b) a lot simpler and more “standard”. Now if only they’d do something about processes to run at shutdown time…

Finally, a few places have put Niven’s Man of Steel, Woman of Kleenex on line. A classic bit of speculative writing, and quite funny. I just wish I knew where my copy of All The Myriad Ways has gone.

November 11, 2003

Finder Oddness Fixed

[08:15 PM]
Technology

Something that I’d been wondering about was why the Finder view on the /Users/Shared directory wasn’t sticking. No matter what I did, it was reverting to a spectacularly ugly view.

Fortunately, the internet is good for something, and I stumbled across this rather amazingly detailed article at MacOsXHints which details exactly how Finder stores the views.

It turns out my problem was the “viewed in OS 9” one, so I was able to sort it out by hosing out the .DS_Store files and using SetFile to turn off the OS 9 bit, as the article describes. One note though, if you’re following that article—the find command will need to specify /Developer/Tools/SetFile, unless you’ve put that in your path. Also, you’ll need to have the developer tools installed.

November 09, 2003

Sunday Morning Link Bag

[09:39 AM]
News

I don’t know what it’s like in other cities, but the Sunday edition of Brisbane’s main—effectively only—news organ is analagous to Coca-Cola. It largely consists of sugar, artificial flavouring and coloring, and is likely to rot your brain. Oh, and if you put dirty coins in it, it tastes better. You can usually get through the Sunday Mail in half an hour, if you have a favourable wind and a running start. I find the best approach is to skim through it to see if anything catches your eye, and only read those bits, because there is a very real danger that if you read the whole thing, your brain will melt and run out of your ears.

In the editorial spirit of the Sunday Mail, here are a group of completely unrelated links that have caught my eye over the past few weeks.

The website of Graphic Design USA has an article on 15 trends taking shape in logo design which is not only interesting for the trends it points to, but also as a neat summary of logo design techniques.

Joel has written about the absolute minimum every developer must know about unicode and character sets. If you’re writing software, publishing text on-line, or working in the printing industry, this stuff is important. Typography and character sets are very complicated things, and there are some very powerful tools for dealing with them. Most of them are built into OS X 10.3. If your view of type is that there are 256 characters, and Word lets you underline, then you’re probably building software that will break horribly when Ulan Bator goes online.

Thinking of typesetting, LilyPond is a solution for typesetting and printing music. Not only is it free and readily implemented on almost any computer system, the files it works with are quite compact and (being plain UTF-8 text) easily distributed.

Robin Benson has put together a list of Mail.app plugins and suggestions, some of which are no longer necessary with 10.3, but your mileage may vary.

Neal Stephenson has written a new book. He’s also constructed a wiki to extend and embed the book. Mmm. Christmas is just around the corner.

I keep thinking that RDF is something that will be useful to me sometime at work, but I’ve yet to figure out where. Meanwhile, here is an excellent tutorial.

In case you ever need it, here’s how to make old-style leather grease and black dye. On the same sort of lines, here is the website (in German) for some fantastic reproduction 15th century shoes, instructions for making felt hats, and some reasonable camp furniture. (Be careful though, if you’re a 15th Century re-enactor, as apart from the trestle table they’re historically a little bit dodgy. The reconstruction techniques are very good, and could serve as a general guide for making feasible camp furniture.

Finally, how to make a web browser with one line of code using Mac OS X, the free development tools from Apple, and a piece of string. Some of the comments point out it’s possible to build a browser writing no code at all.

November 08, 2003

Bagels and Hammers

[11:15 AM]
Design

A List Apart is always worth reading, but one of the latest articles is superb, and hints at an issue that will become important within the next few years: distinquishing “The Web” from “The Internet”.

They missed the fact that even though all those company and organization sites had closed down, the internet was still ablaze with activity.

On another note, the solution I posited for syncing the blog to .Mac didn’t quite work—if I’m not logged in, but the machine is running, then the iDisk volume is not mounted, and I get emailed error messages. The simple solution was to write a little shell script that confirms that the source and destination directories are available before attempting the sync, and run that from cron instead of launching psync directly. Too Easy.

November 06, 2003

Almost Forgot...

A couple of lovely programs that have passed by in the last few days: iMol is an industrial strength, but free, tool for viewing and manipulating molecular models, and it’s absolutely gorgeous.

And the Hacker Translator from Pineapple Studios is great fun, allowing me to understand and talk to 1337 h4×0r d00d2 i|\| +3hir pw|\| l4|\|gu4g3.

Purring Panther

[08:12 PM]
Technology

This will be—to the relief of the reader—the last post with a Panther label, as I can start winding up my reports from the frontline.

As I indicated earlier, I decided to use psync to push the blog to .Mac via a local cache. This is all very straightforward.

First of all I set up a cron job for myself. I like to stick these in a read-only file in my home directory called .cronfile. So my entry for psync was the following, where “???” is my account name

MAILTO=???
HOME=/Users/???
0,15,30,45 * * * * /usr/bin/psync -q /Users/???/Sites/blog /Volumes/iDisk/Sites/blog

Next, a simple crontab ~/.cronfile to tell the Cron Daemon about my desires, and that’s all there is to it. I initially mucked about with log files and tracing what it was doing, but the setup above (now that I have local mail working properly) means that any errors written to stderr will get sent to me by the daemon, and apart from that I never should see any messages. Too easy.

Thinking of too easy, the behaviour of Safari and Panther when faced with an FTP URL is a joy to behold. I only stumbled on it by accident, but if you hit a link like this, then whoosh a pseudo-disk shows up in finder. Fantastic stuff, and really well thought out. Try it, you’ll love FTP all over again. (Of course “whoosh” depends on the load of the server…)

There’s only a few things I need to do now. Given the new FontBook, I can rationalise and organise my fonts properly, so I will. The new Finder makes it more sensible to throw almost all my Applications in /Applications, and organise within there, so I will. And I need to rationalise what languages are supported by the OS. Too Easy.

Popping Panther

[07:59 AM]
Technology

I sat down last night to re-install qpopper in order to allow Mail.app to send and receive mail locally. Being wise, I thought I’d google to see if anyone else had attempted this, and found an excellent article over at Kung-Foo TV.

There’s little to add to that article except mentioning that the instructions to set CFLAGS and CPPFLAGS can be a bit of a gotcha—they should be -I../paminclude, and that’s an upper case ‘I’, not a loser lower case ‘L’.

I still had one hassle, resolved through a combination of bload, sweat, tears and reading the comments on that log. For some odd reason, HAVE_SECURITY_PAM_APPL_H didn’t get set, making compiles of popper/pop_pass.c. Fixing that was simply a matter of hacking popper/pop_pass.c around line 364 to add an explicit definition.

Once that was done, following the instructions in the article allowed Mail.app to pick up mail again. It Just Worked. I scratched my head for a moment about how to get Mail.app to send mail locally, then read the previous article which, indirectly, pointed out that all you needed to do was define an SMTP server in Mail.app with the server name of ‘localhost’, and no authorization required.

I’ll have to do some reading and grok the security aspects of Postfix, just to make sure that the setup that I now have is secure, and particularly to ensure that the server cannot be misused by evil external forces. I’m pretty confident that it is already, since the firewall is setup to forbid connections on the SMTP ports, but thinking will need to be in progress.

November 04, 2003

Panther Progress Postscript

[10:06 PM]
Technology

Did I mention that I found out why the PGP mail bundle doesn’t work? The PGP support page explains that the freeware version:

Does not provide plug-in integration with Outlook, Outlook Express, or other email applications on any platform

I can live with that. I encrypt or sign infrequently enough that the old cut-and-paste of messages isn’t a worry. There’s also the possibility of using SSL certificates, as Joar Blå explains. My only concern is that in order to get a certificate of identity that’s reasonably definite I either have to pay money, or give Thawte a little more private information about myself than I’m comfortable with. Not that I don’t trust vaguely sinister South African companies…

Now there’s a thought. Apple could value-add .Mac by giving all paid subscribers certificates of identity to integrate with Mail.app.

I think I’ve got the blog publishing thing worked out: I will definitely get MT to write to a local site cache, then use pysnc to copy them to the iDisk shadow location. Now I just need to figure out how to trigger that. I’d like to get MT to do it for me, but I guess the alternative is to run it from cron every fifteen minutes or so.

(I just tweaked this entry to see whether cron is running or not. In ten minutes, all will be revealed…)

Panther Spurns Fetid Dingo Kidneys

[09:07 PM]
Technology

I just tried removing all traces of the old HP ScanJet 5370c drivers and reinstalling the version that had worked under 10.2.x (despite HP insisting that it only runs on 10.1.2). I took more careful note of where they stuffed things this time, in case I wanted to back out. The attempt was a failure, the installed software collapsed horribly. Looking at the installer logs, you can see why: they relied on kernel extensions. On a scale of painfully stupid, this ranks about 3 Georges. Until they get around to writing new drivers, which isn’t likely to happen soon, since they’ve still not written official Jaguar drivers, my scanner is a boat anchor. Well, that’s exaggerating. I could always buy VueScan. Or I could reinstall the old OS 9 drivers, and scan from within Classic.

Remind me never to buy HP products again. A year ago I described them all as being a pile of fetid dingo kidneys. The kidneys have ripened.

November 03, 2003

Not to mention Panther

[08:20 PM]
Technology

Let’s see how many times I can use “Panther” in the title.

There are about a thousand online articles talking about the more than 150 enhancements released with OS X 10.3. Here are a few of my favourites so far that don’t seem to be talked about in that list of 150:

  • The new FontBook application gives you industrial strength abilities to browse, manage and explore all those lovely fonts. It’s a terrifically well designed program, and it’s great fun. It doesn’t replace the two other tools I have for examining the deep magics of Unicode, but it’s perfect for typeface management;
  • The new version of TextEdit can open Word files. This is a Good Thing, and because it’s using all the latest and greatest technologies, it gets access to the new typography services. It’s not been widely talked about, but the text engine now running under Panther gives you the ability to do serious production level typography (if the fonts are suitably enhanced). Quite simply, no other operating system has this built in;
  • The new Console application is a one-stop-shop for seeing all the logs. No more trips to the Terminal and trying to remember which file to tail -f;
  • The new Disk Utils tool rolls together all the disk management in one place. It just works;
  • The new Activity Monitor replaces the older process viewer and CPU monitor, and provides more geeky monitoring goodness than you can manage at one sitting, including a hierarchical view of running processes. l33t d00dz!
  • The Calculator application can do conversions. Not just dimensional conversions, but currency conversions. And if you’re on line, you can tell it to get current rates to do your currency conversions. Sweet! So that $US59.95 I’m thinking about is $AU83.08. Or 23.05 Omani Rials, which sounds much better.

HP Frightened By Panther

[07:40 PM]
Technology

More news at 11. Once again, HP are lagging with support for OS X on their scanners. Their update page reveals that a 10.3 driver for pretty well their entire range (including my 5370c) is “In development – available soon”. It also states for most of the range that the driver for Jaguar is “in development for future release”. This on a page updated 24th October, 2003.

Last time while I was waiting for an OS X release of the scanners, I signed up for an email notification that was never sent. Now, after going through about 12 layers of HTML forms, you get told that you can’t register for notification for the 5370c drivers. I’m starting to wonder whether it is time for this scanner to float down the river Lethe, or be sold on eBay, in order to buy a scanner from someone who cares.

Quite seriously: if you’re in the market for a flatbed scanner to run under Macintosh OS X, do not by one from HP. Buy a Canon instead, but make sure it has TWAIN drivers, so that at the very least Apple’s own ImageCapture application can drive it.

Ooh! I just poked around, and it looks like the latest version of VueScan works! This could be good. Oh. It works, but until I pay for it, it puts “$” signs on the image. Not so good. Oh. $US59.95. Mmm. Have to think about this. Mind you, I’m impressed that it works, and the test scan I just did came up with much better quality than the HP drivers gave. Very tempting.

November 02, 2003

Panthers Everywhere!

[02:44 PM]
News

This via AntiPixel. Sounds like Panther has escaped and gone feral.

Apropos of nothing in particular, it seems that Safari 1.1 can supports the CSS2 text-shadow attribute. Sweet, if fairly useless.

Also very sweet is Tapestry which provides RSS feeds of various online comics. Highly recommended.

Panther Progress

[01:32 PM]
Technology

I’m making progress with all the tricky bits of the upgrade. As I anticipated, it was mainly things that had made changes in the magic hidden secret system folders that ceased functioning, including some of my own bits and pieces.

I’ll use this entry to (a) tell you what I did in case you need it and (b) make a record for myself. Before doing that, though, I’ll mention that the Mac OS X Hints site is a treasury of tips contributed by a lot of folk going through the installation process, and a great deal of information there was helpful.

An example was this neat tip which I acted on. A hidden option for the Dock makes hidden applications ghost out in the dock:

defaults write com.apple.dock showhidden -bool true

Last year and early this year I went to quite a bit of trouble to get sendmail working nicely and securely in conjunction with Mail.app. All that has gone out the window, because Panther runs Postfix instead. I know nothing at all about Postfix, except that apparently it’s easier to configure (which wouldn’t be hard) and much more secure (ditto). I’ve found a bit of a discussion here and here, and I can report that after an Archive and Install, it just seems to work. Going out to the terminal, I can send (using the Unix mail command) from any local account to any local account, and from any local account to any external account. Unsurprisingly, return mail didn’t work, but that was the mail exchange at my ISP refusing delivery more than anything else. I can’t set up Mail.app to work with this, but I think that if I reinstall qpopper I’ll get over that.

Once I got that far, I decided to put mail aside for the moment and get other things working again. The only other things I did were remove my old TickleSendmail startup item, and I also removed BroadbandOptimizer while I was in the neighbourhood. Both are cached somewhere in case I need them again. Also, in my travels, I found this interesting article which seems to suggest that I can get Mail.app to provide automagic encryption and signing via SSL. Thinking is in progress.

Getting MySQL up and running was easier than I expected. I simply recovered the old /Library/MySQL directory, and reinstalled the symbolic link from /usr/local/mysql to /Library/MySQL, and everything worked. Sweet. About halfway through testing, while I was trying to remember the root password, I wondered if the data was backed up. Fortunately, I’d taken to doing weekly dumps via /etc/weekly.local:


echo “Dumping movabletype database”
DUMP=/Users/??????/Documents/WWW/mt.database.backup
touch $DUMP
/usr/local/mysql/bin/mysqldump -uroot -p????? movabletype > $DUMP
gzip -9f $DUMP
chown ?????:staff ${DUMP}.gz

so I wasn’t worried about completely borking MySQL

MovableType was a bit of a pain. I new from reading this and this that I would need to reinstall the perl DBD::mysql bundle again. I ran up cpan, tried, and it fell over because various developer tools weren’t available. I installed XCode and the rest of the developer tools, and remembered my previous problem with head just in time. I tried to install DBD::mysql, and it failed. I installed DBI. I tried to install DBD::mysql, and it failed. I removed the MySQL root password. I tried to install DBD::mysql, and it failed a lot further on. I did a make clean, banged my head on the desk, and tried again. It failed. I did a force install, then went googling, where I found these comments. Not knowing enough about perl, I relied on this test, and everything seems to be working again.

I next recovered all the altered files from the old /etc/httpd/ to the new location, and miriabilis, MovableType works again. Sort of. Previously I was publishing this blog to my .Mac homepage location by mounting the iDisk from within Finder, then telling MovableType to write files directly to /Volumes/rhook/Sites/blog. About six weeks ago, the behaviour of this changed, and it started asking for an account and password before proceding. Now it doesn’t work at all. There seems to be some fairly deep magic going on in here, related to the facility within Panther to locally cache the iDisk. A bit of investigation shows that the local cache is mounted under /Volumes/iDisk, and the WebDAV iDisk is still mounted under /Volumes/rhook. Directly writing into the latter seems like a bad idea, as there appears to be all sorts of strange magic going on to get mirroring working, quite apart from security problems (which is what MT seems to be burping on).

iDisk mirroring is managed by a new daemon called MirrorAgent. The logs for this beast are in ~/Library/Logs, and it’s fairly enlightening to watch those logs to see what’s going on. The main thing of interest for my MT needs is that changes written from the Unix level to /Volumes/iDisk are correctly mirrored to the real iDisk when the agent wakes up. There are two problems here, though. First problem is that there doesn’t seem to be a way to trigger the agent from the command line, although various actions in the Finder do trigger it. More importantly is that MT is run as the www user, which doesn’t have write privileges into the appropriate directory. I can appropriately chmod and chown the directories and files, and get it to work, but those changes go away the next time I log in.

A tentative solution is to write into ~/Sites, and have some mechanism for syncing from there to /Volumes/iDisk/Sites. Thinking is in progress, and at the moment that synching process is called “manual drag and drop”.

I did notice one weirdness related to this: the webdavd daemon reports its activity to the system log with a UTC date/time, not the local date/time. Suffice to say that this was momentarily very confusing.

There were a few other items that I recovered from /etc, although there were fewer than I expected: csh.login, firewall.conf, httpd/, motd, profile and weekly.local. I altered /etc/sshd_config to set UsePrivilegeSeparation to “yes” (it had been hashed out). I did not (yet) install the hack to /etc/rc that I’d added to Jaguar on 17th July 2003:

/usr/sbin/sysctl -w kern.maxvnodes=36032

I noticed that PGP 8.0 was not working, but a quick hunt around revealed an 8.03 upgrade that was Panther compliant. I removed all trace of the old PGP, reinstalled, and almost everything is working. The PGP Mail.app plugin bundle seems to be non-functioning, so a little bit of thinking is required there to see what’s going on. Incidentally, the installer from PGP is a very good example of how to make a decent installer. It wasn’t compressed needlessly, it had lots of documentation (including a list of what was going to be installed and where), it was a very simple process, and it clearly preserved the corporate image. I wish more publishers did this sort of thing.

There are still a few things I need to do. Fink may have ceased functioning, I just haven’t tested it. Scanning no longer works, I’ll have to remove all the old scanning stuff I can find and try reinstalling. Now that there’s a whizz-bang font tool, I’ll rationalise all my typefaces by grouping them sensibly, and making sure they are stored in sensible places (and disable most of the foreign-language typefaces). Thinking of foreign-languages, I might need to teach Jaguar that I don’t need support for as many languages as it’s offering, since I speak neither Cherokee nor Swahili.

I’ve re-enabled a number of login items for my account, and I’ll have to investigate them more fully. One or more are quite slow to start, making the initial login fairly slow. I also want to investigate this hint in a bit of detail, since there are a lot of logs around that could do with cleaning up. Speaking of which, the new Console application seriously rocks, revealing all sorts of logs in one place. It’s a lot more convenient than cracking open the terminal to look at the logs!

I really quite like the new Finder interface, UI quibbles aside. It does a nice job of making locations less computer-centric and more semantic, and as a result I’ll move most of the applications I’d tucked in my home directory back to the main /Applications folder.

November 01, 2003

My Panther Ate My Homework

[02:38 PM]
Technology

All things considered, the Panther installation went very well. I chose to do an “Archive and Install”, given that there were lots of reports of this being a sucessful approach and it gave an opportunity to cleanly sweep out the cruft that accumulates in the system folders. The good news is that the process worked perfectly. The bad news is that a number of things broke, for a variety of reasons. Most of the things that ceased working I expected to, because they involved tweaks I’d made under the hood to various magical system bits. A few others were suprising and irritating.

Palm HotSync and the iSync conduit ceased functioning altogether. After thinking about it a bit, I took the path of least resistance, downloaded Palm Desktop 4.1 and the iSync Palm Conduit, and reinstalled both. Both now work flawlessly. This was an irritating thing to break, since the only reason it broke was that Palm had elected to put strange libraries in strange places, completely disregarding Apple’s documentation on where to put things. In general, Palm Desktop has always been faintly irritating. Palm got it for free from Apple once Apple ceased marketing it as Claris Organizer back in the early 90’s. And they’ve done almost nothing to keep it up to date since. The OS X port shows all the sign of having been farmed out to a junior developer with the instruction to do as little as possible to get it working. The only thing that I use Palm Desktop for now is to cache the notes from my Palm, and this latest episode might be all I need for me to actively search for—or create—an alternative.

We both have Hotmail accounts (in my case, little used), so I’d installed the nifty httpmail bundle so that Mail.app can process Hotmail mail. This ceased functioning, but a quick poke around showed that there was a new Pantherized version. Download, install, reconfigure, and off it went. The only thing that was a bit problematic was that it got upset about finding old Hotmail mailboxes in ~/Library/Mail. I got around this by renaming the directory containing those mailboxes, creating the Hotmail account in Mail.app, then using the import feature of Mail.app to suck in the old mail. Once that was confirmed to be successful, the old mailbox directory was discarded. A little bundle I’d had to set the mail priority now breaks Mail.app, and there doesn’t seem to be a new version. I’ll probably not bother reinstalling it if it gets upgraded, as I seldom used it.

The AppleScript Script Menu vanished, but that was simply a matter of tracking down the new Script Menu installer in /Library and running it. I can’t tell whether this is particularly well documented by Apple, but it’s a bit of a geek tool anyway.

There’s been some comment about the fact that version 7.x of StuffIt tools were installed, rather than the 8.x version. I downloaded the 8.x, but I’ve not installed it, waiting on a compelling reason to do so.

Perl has moved from /Library/Perl to /Library/Perl/5.8.1/… (and there seems to be stuff in /System/Library as well). I recovered a bunch of things to the new location, but will have to see what happens with MT as a result.

I embarked on the task of recovering things from the preserved System folders. This is a fairly painful process, and it wasn’t until I recovered a bunch of things that I realised I’d forgotten to take note of what I recovered so that I could (a) back those things up explicitly and (b) not have to think too hard the next time I do this. At the very least, I recall that I had to recover quite a few fonts, and recover the MT and MySql bits and pieces. The fact that you’re reading this shows that I got that working again, although there may be further comments on that process, since I’m writing this off-line, as it were.