Forwarding Address: OS X

Thursday, February 28, 2002

Blosxom [pronounced "blossom" or "blogsome"] is a lightweight (to say the least -- it's <30 lines of code) Weblog-in-a-jiffy Perl CGI script for (but in no way limited to) Mac OS X. Blosxom simply nabs text documents (written in your text editor of choice) from a particular directory and displays them (in reverse chronological order) as a Weblog. Simplistic -- but a potentially useful spot of fun nevertheless.

The idea for Blosxom, while rattling about in my head for some time now, came to the fore in response to George's query regarding the existence of any weblog tool that takes makes use of some of the built-in yummy goodness of OS X.

Blosxom version 0+1i is available for download now. See Blosxom run with or without style.

What prescience! As I write this up, George has more to say on the subject. George, I guess I hit at least two of the four: Apache Web server, Perl scripting (so it's not AppleScript, oh well). I might even pose that simple text files are quite the content management system for the vast majority of computer users. I guess that just leaves XML-RPC and SOAP...

vi blosxom<return>

Once you've got MySQL and php installed you're ready to install phpNuke, which is why I bothered mucking about with any of this in the first place. I quickly learned something about phpNuke though: its installation instructions suck. For a *nix newbie they're downright obtuse. Fortunatelly the installation instructions for Geeklog are extremely clear, very step-by-step, and pretty much identical to what you need to do to get phpNuke installed

My advice if you're planning to install phpNuke under X: download both phpNuke and Geeklog. Use the instructions from Geeklog to install phpNuke. Wash, rinse, repeat.

Another tool that works extremely nicely with the apps George has listed below is MySQL. Mark Liyanage (a remarkably knowledgeable fellow) has written an excellent MySQL Installation tutorial. He also has installation instructions for php. Once I'd found these docs, it took me all of about 2 hours to install both apps.

one thing that's got me thinking is how most of the blogging tools and news aggregators out there are reinventing the wheel (or at least reimplementing it). when you look at what we have available on every Mac OS X installation (a real web server, choice of popular, interoperable scripting frameworks, support for XML-RPC and SOAP) it's interesting that you've got three of the "Big Four Building Blocks of Blogging" built right in. the fourth building block -- content management -- is a tricky one since nothing built-into the OS fits the bill (Cocoon might be a way to go). but in the spirit of "Navajo blogging tools" (ie, using all parts of the OS), i can't help wanting to use the blocks that i've already got to do the job.

Now that's better! Thank heavens for Unsanity's WindowShade X. While the transparancy effect is a little goofy (I'd actually like it to ignore my clicks until I raise it again), it's somewhat nifty to have my mail floating about, readable but unobtrusive, on the desktop. I'd quite forgotten how much I used OS < X's window shades.

here's an update on my quest for an RSS client for Mac OS X.

thanks to Morbus Iff, i managed to get AmphetaDesk installed and running on Mac OS X. the most difficult part was installing all the prerequisite Perl crap, which doesn't go as smoothly on Mac OS X as it does on, say, Linux. that's doubly-true if you're Perl-ignorant (hell, Perl-hostile) like me. nevertheless, once all of the plumbing's in place, AmphetaDesk itself is a snap to run.

i whipped up a six-line AppleScript that launches AmphetaDesk from the Script Menu (mmm...scripting, and it takes about 30 seconds poll the 24 feeds i currently have listed (by the way FA:OSX generates a huge feed -- i'm seeing every post to the site since Feb 18). AD generates a fairly snappy single web page with your stories grouped by source, and sorted by recency. administration and usage is browser-based so things will be very familiar to Radio UserLand vets. for example, adding and removing sources works much as it does in Radio's news aggregator -- you enter a URL into a form field to add a source; you remove sources from your list by unchecking their checkboxes and submitting the form. of course, since the UI is HTML-based and the incoming RSS feeds are ground through templates, you can customize the look of your news page to meet your needs. one other nifty nicety: you can toggle whether or not clicking on a story opens the URL in a new window.

i'm going to be adding more feeds until AD either a) breaks, or b) i run out of feeds. another issue (for me, anyway) is that i can't see any quick way to set AD to poll the sources at regular intervals -- so far, i've been hiccuping AD to achieve the same effect. but my overall report would be: so far, so good.

Wednesday, February 27, 2002

Far from the Cocoa/Carbon religious wars, here a few random command-line things I've picked up recently.
  • Typing "AppleSystemProfiler" dumps, well, Apple System Profiler data to the console. (If only it had a gratuitous XML output option...) A clever Mac tech I know at an Apple reseller uses this in single-user mode (Cmd-S on startup) to verify RAM upgrades on new systems without getting sucked into Apple's automatic registration app. If that's just too many letters for you to type, take advantage of command completion: A (tab) S (tab) (return)
  • Typing ">console" as a username at the login window takes you straight to a full-screen login shell, if for some reason you need to avoid Aqua but don't want to reboot for single-user mode.
  • Added to ~/Library/init/tcsh/aliases.mine: alias here open `pwd`. So now I type "here" in the shell and I get a finder window for the very directory I'm in. Kind of the inverse of the Applescript widget I linked to a few days ago.
Also, I want to plug LaunchBar again, since there's a new beta up. This is an elegant, super-intelligent, unobtrusive, way deep, incredibly useful tool. Its keyboard-driven philosophy isn't for everybody, but what is? For me, it obviates the need for all kinds of Dock enhancements, launchers, hotkey utilities, and retro-hacks. I liked it so much I bought it twice.

from the "My God, What Have I Done?" department, i officially bow out of the PEF/CFM v Mach-O/dyld jihad.


it's actually an interesting intellectual exercise for Mac OS X developers: is Apple right when it steers developers towards Mach-O, or is this just another example of the NeXT "reverse takeover"?

if you care to dig deeper, have a gander at this doc from the ADC for Apple's point of view on the matter.

so far my search for an RSS client for Everybody's Favorite OS has yielded four suggestions: all for AmphetaDesk (thanks to Rogers, Rick, Bill, and Gordon). the one report i've seen of a Mac OS X installation wasn't completely glowing (the author preferred PluckyX), but i'm going to give it a whirl. perhaps later this evening.

Tuesday, February 26, 2002

So, it's been a week, so I decided to install 10.1.3, and it worked fine. Of course, I backed up everything with Retrospect first, but I had no problems. I also haven't found any advantages either, but maybe I will later. The length of the list of things that people reported at Macintouch is still scary, but at least the new complaints have died down a bit....

i too am in the market for an RSS client for Mac OS X. so far, Radio UserLand seems to be the most complete (oh, yeah, it also comes with a blogging tool built on an extensible content management system and an Apache-based (thanks Jim) web server), but i suffer from an inability to pay for software when the free stuff is so close to doing what i want it to do.

i took one look at Plucky and pitched it into the trash -- it's a CFM/PEF binary that'll suffer from performance issues until such time as REALbasic can spit out Mac OS X-only Carbon apps (ie, Mach-O binaries) like CodeWarrior or Project Builder can. (what i meant to say is REALbasic rules all -- happy Chris?)

using Fink, i installed Python solely for the purpose of using Peerkat (written by our very own Rael Dornfest) but, so far, i have proved too stupid to add my own feeds to the beast -- it's only polling O'Reilly stuff.

i also discovered an AppleScript Studio application in the Mutsu AppleScript Studio Repository on SourceForge called RSSX. it doesn't work for me at all, but it's open source (under the BSD license). i'll be digging through the source -- maybe i can learn something.

so, the upshot seems to be that the most complete solution out there is commercial. it's damned frustrating.

As a long time Unix user who has just taken the OS X plunge (and absolutely loving it), I was quite delighted to discover the "open" application that launches file type viewers from the terminal. I no longer have to remember that "acroread" is for PDFs, and "xmms" is for MP3s, I just "open" the files and the correct viewer is launched!

Plucky is the most promising RSS reader I've ever seen, and what's more, it'll run under OS8/9 as well as X. The app is a $15 shareware package, with free expansion packs that bring the total number of feeds available up to over 4,000, including a bunch I'd never heard of and am now addicted to. Each feed can get its own regex filter, and an iTunes-style searchbox allows for ad-hoc filtering of fetched results. It's multithreaded. It has smart timeouts. I'm in love. Two major downsides:

1. It's not stable. Once I added a couple hundred feeds to my queue, it began to crash every time I checked feeds. I'm going to experiment with the number of threads it opens and reduce the number of feeds in my queue, see if that helps.

2. It's slow, and doesn't make allowances for being slow. Once you've got 4,000+ feeds in your library, opening the feed subscribe/unsubscribe is really slow (understandably). However, one way to make allowances for that would be to allow previews of feeds before they're subscribed to, within the preferences dialog. As it stands, you try a feed out by adding it to your queue, refreshing all your feeds, then, if you don't want it, you have to re-open that prefs dialog (zzzzzzz) and remove it.

A couple other UI niceties, like resizable panes, are missing, but I'm sure they'll come into play soon enough. (Thanks, Hen's Teeth!)

Monday, February 25, 2002

Prefling is a Dockling that lets you access the individual preferences under System Preferences. Handy for those acclimated to accessing Control Panels via the Apple menu in Classic and just can't shake the habit.

Darius Bacon emailed me another blog relating somebody's experience with OS X. Darius' idel virtual machine, recently unveiled at CodeCon, builds and runs beautifully on OS X.

for all you ILM and Pixar wanna-bees out there, Alias|wavefront has released Maya Personal Learning Edition for Mac OS X. (via MacMinute)

in other Mac OS X houskeeping news, Apple has updated its Java 2 Standard Edition environment. Java 1.3.1 Update 1 is available via your Software Update control panel (in your System Preferences). (via MacMinute)

Adobe's making a lot of Mac OS X noise this week: in addition to announcing Photoshop 7.0, GoLive 6.0 and LiveMotion 2.0 are available for purchase. they've also released a 30-day tryout for their InDesign publishing solution. (via MacMinute)

Sunday, February 24, 2002

Adobe Photoshop 7.0 is now "out" (i.e. they're taking pre-orders... no, wait, they're almost ready to take pre-orders...). MacWorld has a big exclusive review.

Friday, February 22, 2002

Oh, good, I get to come off as the scary one with respect to OS updates and as the lonely one with respect to easy scripting languages. :-) I have generally had good luck with updates, but not always. I have always had good luck with Perl.

On an unrelated note, I just discovered FruitMenu, a wonderful little hack that lets you put whatever you want in the Apple menu, in whatever order you want. Sweet and cheap.

For what it's worth, I've downloaded and installed every OS X update (including 10.1.3) the day it came out and have yet to have a problem.

i don't want to diminish the possibility of complications with system software upgrades, but i've never had a problem. granted, going from the Public Beta to the release version of Mac OS X was a disaster, but i've always gotten full value for my upgrades since 10.0.

There has been much more discussion about the OSX 10.1.3 update on various boards. There are enough unrelated disasters where I would still say that new OSX users should wait for a while before upgrading; I'm certainly going to wait at least another few weeks.

Paul Krohn on the WELL has discovered an interesting way of recovering 10MB of RAM on his OSX machine: use a TIFF for a background in the Finder. According to his research, JPEG background textures can occupy up to 10MB of RAM.
Memory usage note: setting a JPEG to be your desktop background can consume 10 MB of memory, even if the JPEG itself is smallish (in my case, 44 KB). I guess it consumes (screen resolution) x bitdepth bytes.


Yeah, my testing was empirical: how much less private memory does the Finder consume with a solid blue background than it does with a picture of Thomas enjoying his lunch?

It stands to reason that the entire uncompressed image has to be held in memory, otherwise I guess the jpeg would have to be decompressed every time part of the desktop was revealed, so that part could hae the appropriate part of the image painted in.

Sometimes you're looking at something in the Finder and realize you need to twiddle it in the shell. One helpful shortcut is to drop the item on an open Terminal window, which types the pathname for you (typically you'd type your command first). You can also use Marc Liyanage's Open Terminal Here Toolbar Script. Once it's installed in your Finder window toolbar, clicking on it opens Terminal and "cd"s you to the folder (directory) you were viewing.

Wednesday, February 20, 2002

For the past year and a bit (or so) Slashdot has been remarkably friendly towards the Mac (something about some influential /.'er's girlfriend being a Mac user, or so the rumours say). Today /. announced, a Mac-specific off-shoot of which CmdrTaco states: "We'll be posting more news for our sizable Apple population there in the future.".

The road to world domination is slow but satisfying sometimes, isn't it?

Since this is a blog for folks new to OSX, here's a bit of sage wisdom: never install an update from Software Update for the first five days it has been available. Over on Macintouch, some people are saying that 10.1.3 has crippled their previously-fine systems. There is nothing urgent in 10.1.3, and I would say wait until next Monday, and then only do so after reading some of the other Mac forums.

Tuesday, February 19, 2002

Apple has posted system update 10.1.3, available through the Software Update control panel.

"Optimizing System Performance" during software installation usually means prebinding libraries. Mac OS X has a number of ideas as to what a library is, too. There's the standard Unix .so "shared object" dynamic library (what you get when you compile software with dynamicly-linked libraries, also known on Windows as a "DLL"), the NextStep concept of a "bundle", the Mac OS 9 concept of, um, whatever, and so on and so forth.

Oh, and just to keep up with the Jones's in OS X (well, Mach/Darwin) systems programming, scripting, and general shell hackery, I give you the new 0.6.0 release of scsh. Don't forget to grab and compile the ubiquitously portable and tres cool Scheme48 first.

Monday, February 18, 2002

On the subject of not-Perl: Possibly the most "Mac-like" (i.e. clean, elegant, and powerful) of open-source scripting languages, useful in the shell as well as with Apache, is Python. Tony Lownds offers a binary package of Python 2.1, and has pointers on getting 2.2 as well.

one small step for Mac OS X, one giant leap for Mac OS X users. REALbasic developer James Sentman has released beta 2 of acgi dispatcher. now Apache can invoke AppleScripts and Apple Event-aware (i was going to link those, but i got lazy) applications via CGI. bridging Apache and AppleScript is a crucial step for those of us coming from a more traditional Mac OS background: it brings me closer to never having to look at Perl ever again.

Perl makes the Baby Jesus cry.

Sunday, February 17, 2002 has released Chimera (v0.11), a Mozilla variant that has a native Cocoa-developer front end (sorry but Mozilla is just butt-ugly. If my dog had a face like that...).

Interesting stuff, but I have three questions: why does it need my password to install? And why does it then need to optimize the performance of my machine? What the hell is it doing?

Saturday, February 16, 2002

Kernel Santos gives a Linux perspective on OSX management: "Here's a fast and easy way to get a Linux-ey config running on OS X. First get Fink, then install gnome-bundle, then install sawfish. Then the easy part: copy /usr/X11R6/etc/xinit/xinitrc to ~/.xinitrc. Then take all the muck out from the bottom, it'll try to start twm and a clock and a bunch of xterms, take all that crap out and just put gnome-session. Presto!"

Friday, February 15, 2002

I'm kinda surprised Graphic Converter hadn't been mentioned, but it is shareware after all.

A much smaller app than Photoshop and a lot of versatility.

Image tweakers. Except for the fact that none will write GIFs (damn you, Unisys), these three free apps are all nice complements to Preview -- and would make good editors for use with iPhoto too. No pixel-level editing, but lots of useful whole-image transforms. ToyViewer is an updated NeXT app (nice retro icon) that does tone/color/size adjustments etc. and saves in many formats (with some hiccups); PixelNhance won't resize images, but offers a brilliant split-image before/after view; Goldberg offers a slew of image manipulations via QuickTime and can view PDFs and movies.

In an earlier post I was waxing poetic about the command-line ability to blog locally, publish globally using rsync and friends. I added a URL-line ping to my one-liner and thought I'd pass it along. My blogsync alias now looks something like this:

rsync -t -v -essh -r /Library/WebServer/Documents/ {username}@{hostname}:public_html ; curl{blogname}&url={blogURL}" | grep "Thanks for the ping"

Ever have someone goggling your GUI and making fun of your over-icon'd dock? I sure did. Cory (last name withheld ;-) pointed, stared, and laughed -- "Holy dock, Batman" or the like -- at my (over)use of the dock as triage for URLs and documents I was reading, writing, or blogging. piDog's DockSwap to the rescue! Multiple docks of your choosing and configuration allow for a Default dock, URLs dock, various bits-and-bobs dock, and so forth. Switch by click-holding the DockSwap icon in your dock or via ctrl-esc key combination. About the only annoyance is its insistence on maximizing all of my minimized windows upon switch, otherwise it works like a charm.

A while back I found that iBook was inexplicably grinding to a crawl. After much ado, I traced the problem to AIM, consistently usurping 67-81% of my CPU -- even when standing dead-still. I fired AIM, replacing it with Fire, a kitchen-sink (AIM, ICQ, MSN, Yahoo!, Jabber, IRC) IM client. But Fire had its own little irritations, not the least of which was inconsistently causing my sound to disappear; Entourage couldn't chime it's little blliiinng when I had mail and Fire itself no longer poo'deep'd when I had an incoming IM. So I packed up my buddies and moved into Adium, a nice clean AIM-alike with optional combo-window holding my buddy list and tabbed individual conversation windows. Once you replace it's hideous sound-effects with those you know and love from AIM (a setting -- there are many useful settings), I recommend you try the combo window and enjoy!

an amusing dispatch from the Reg's Andrew Orlowski reporting from BSDCon. besides an attempt to bribe Apple developers to kill the Dock (hey, i like the Dock), Andrew elicits some interesting details on the Darwin core of Mac OS X.

Thursday, February 14, 2002

argh...thanks Rael. just after posting my question, i took a second look at your Wednesday post. a very dim light bulb went off over my head.
and, yes, while Radio is brill (i've never used MovableType), i was looking for something that took advantage of some of the built-in goodness of Mac OS X (ie, Apache, AppleScript, etc). i don't think anything fits that bill exactly quite yet.
i have visions of an AppleScript-Apache-XML-RPC/SOAP bridge that does two-way translation of Apple Events requests via XML-RPC (like you can do with PHP and this script). web services on/from the Mac OS X desktop.

Weblog software running locally under OS X: While the *nix underpinnings make just about anything port-able and CGI support comes with OS X's bundled Apache Web Server, my favourites (and the simplest I've found) are: * Radio Userland, a download-double-click-blogging-in-5-minutes dollop of user-friendly simplicity combined with deep functionality. Radio is brill! * MovableType is CGI/Perl and a snap to install with a little command-line tomfoolery well within the grasp of just about anyone wanting to learn. I use MovableType for all of my various blogs and writing repositories.

i have a question: has anyone implemented a Mac OS X weblog server that supports the Blogger API? i thought i'd ask you geniuses before i got too lost in Google searches. please tell me -- i do so want to learn.

Geoff Perlman, CEO of REAL Software (makers of REALbasic), has posted "What is the difference between Carbon and Cocoa and should I even care?" in response to the almost non-stop flood of people asking "when will REALbasic compile cocoa-native apps?" on the RB NUG mailing list. A very interesting, enlightening read but I doubt it will do any good.

osOpinion takes a gander at the possiblity and probability of an Apple foray into the *nix -- particularly graphics -- workstation and server market versus staying its comfortable consumer course. The PowerPC G5, RapidIO, and new Firewire -- is Apple Big Iron in the offing? Link Discuss

Apple's claiming that BSD installs have outstripped Linux by 300 percent, thanks to OS X. Link Discuss

Wednesday, February 13, 2002

At the risk of waxing poetic over something perhaps rather obvious, I still find myself awed at the nexus OS X provides between eye-soothingly gorgeous GUI and hack-inspiring *nix underpinnings.

Take my blog, for instance. I blog via local MovableType install on my iBook, connected or no. The next time I dip into flowing IP, the flick of a switch (ok, so a few keystrokes, password, and flourished <return> or three) and piping-hot content is poured into into my publicly available server. Blog locally, publish globally.

And the mind-numbingly simple one-liner (albeit a tad ghastly to the uninitiated upon first glance) is:

rsync -t -v -essh -r /Library/WebServer/Documents/ {username}@{hostname}:public_html

Alias that to something sane, drop it into your .tcshrc file, and there you have it... DIY upstreaming. Admittedly not elegant as Radio Userland's point-and-click simple upstreaming, it nevertheless makes you feel warm and fuzzy -- at least about that Terminal app.

Of course one can take this to the nth, cron'ing it, checking for updated content via modification time, attempting an upstream only if you're wired (or pleasantly untethered, mind you), and wrapping it in the UI GUI goodness of an AppleScript/Aqua interface. But don't underestimate the thrill of % blogsync, especially if you've been locked in the candy-coated GUI world of Mac OS < 10 and never chanced upon a command-line before -- or worse, a stunningly featureless DOS shell.

Forwarding Address: OSX now has its own RSS feed thanks to the wonders of Cory's memory, the convenience of Julian Bond's RSSify, and the wonders of screen-scraping. Of course I've added the feed to Meerkat where it now lives under the OS: Macintosh category.

Cory posted a command-line way to disable receipt of incoming udp pings. An easier way to accomplish this is via Firewalk X, a GUI for X's built-in firewall. It also provides excellent control over all other facets of the firewall.

While hunting for a native Cocoa mp3 player (iTunes is a terrible CPU hog), I stumbled across this page which lead to me xAudic, a young mp3 player who takes up a small fraction of the cpu cycles that iTunes needs. It has it's problems, like slow loading of a large amount of mp3's, a little skipping, and it's basic visualizations hog up some serious cpu time but it's still only version 0.21. I'll run it nonstop for a few days and see how if I can live with these problems. Turning off the visualizations is a must.

The release of Emacs that dnm mentioned earlier immediately supplanted Project Builder's IDE as my development environment. Hellllo speedbar, I've missed you so.

Tuesday, February 12, 2002

If you like to keep up with the news but don't want to keep a zillion browser windows open, you should consider SlashDock. It looks up the latest headlines on websites that use the RSS standard for updating headlines. It sits in the dock, letting you peek at headlines whenever you feel like it (or, more likely, when you don't feel like doing Real Work). And it's freeware!

this will not help you run Mac OS X any faster or more efficiently, but it's just one of the many cool things you can find at RedLightRunner.

Monday, February 11, 2002

Here's a couple of nifty command-lines to disable Office for X's PID checking and eliminate the possibility of nasty DoS attacks (as well as allowing you to run Office on two machines on your LAN, as I do, though I only use one machine at a time):
 root# ipfw add deny udp from any 2222 to any
 (will keep your Office V.x from talking to other instances.)
 root# ipfw add deny udp from any to any 2222
 (...keep from listening)
From the WELL: thanks, chuckk!

Solid. Native Carbon port of Emacs 21.1 to OSX. It may not be native XEmacs, but it beats using XEmacs in XDarwin, as I had been doing. You can download a build now from courtesy of It's based off of Andrew Choi's magnificent work to get Mac OS and OSX patches into the main Emacs tree; this is just a handy prebuilt binary until an official one is put up. (Thanks to Rainer Joswig for finding this.)

LaunchBar would be my vote for "Indispensable Tool." It's a little utility provides access to everything (applications, urls, email addresses, shell scripts, etc.) from the keyboard. Apple-Space+"GO" opens up Google in OmniWeb for me, but you can train it to open whatever you wish, easily (built-in adaptive search algorithm: standard). ObjectiveDevelopment creates some other ultra-useful applications, including an easy-to-use SAMBA client called Sharity.

Another indespensible tool: TinkerTool 2. TinkerTool 2 is a module for the System Preferences application. It doesn't add new features to the OSX 10.1, it simply reveals features that are already there. The font smoothing options saved my eyes on my PowerBook, and the dock placement stuff made my desktop look like I wanted it to.

Tim Connor has released BlogApp -- a posting tool for Blogger API-compatible weblogs -- for Mac OS X. it's a good example of what you can do with AppleScript Studio: harness AppleScript's support for XML-RPC and SOAP in Studio's RAD environment.

one of the more indespensible tools in my Mac OS X arsenal has been Space, which isn't quite a virtual desktop utility, but more a virtual workspace tool. development seems to have stagnated over the last year, but the project is open source.

Charlie writes:
This may sound odd, but ... do you know of any virtual desktop programs for OS/X? Turns out it's the one feature of a GUI that I *really* depend on that Apple doesn't provide. (I'm still floundering around a bit with the graphical stuff, although having the UNIX command line to fall back on is very nice.)
Versiontracker doesn't list anything. Anyone got a tip for Charlie? Discuss

Sunday, February 10, 2002

I don't honestly like BBEdit for code editing, it doesn't tab the way I expect a text editor to tab from my years of using XEmacs. XEmacs 19.something has been ported to OS X but that's older than dirt. Mostly I use Project Builder's code editor for my all my needs (including Blogger), even though it also doesn't handle tabs the way I expect. It does keep a dropdown menu of symbols for me to browse through which I find super handy and I never saw BBEdit do. Unfortunately, it doesn't recognize variables in it's symbolizer.

Disclaimer: I don't write HTML, which seems to be where BBEdit excels.

Good tip, Paul! Here's a note I sent to my pal Fred, who was looking for advice on an html editor and wanted to know why he should consider something as feature-rich as BBEdit for such a simple task:
Here's why you should use BBEdit:

1. You will thank yourself for learning a bull-goose king-hell text editor. Once you've gotten the BBEdit bug, you won't go back. I write *novels* in BBEdit. I edit exported Excel spreadsheets in BBEdit. Its UI is awesome, progressively revealing greater and greater depth as you require it, while presenting a dead-simple initial state for beginners.

2. It's free. BBEdit lite does almost everything BBEdit does, absolutely gratis.

3. It's extensible: There's a wealth of excellent BBEdit plugins that operate in both the free and payware version.

4. It's independent. BareBones Software is a small shop that makes fantastic software. Once you're ready to pay for it (all of $89 the last time I checked), you'll be supporting a wonderful gang of coders.

5. It's an easy entrée to powerful computing concepts. BBEdit supports (but doesn't demand) the use of Regular Expressions (grep) in its powerful, multi-file-aware search-and-replace tool, as well as emacs keymappings for editing. The help files are incredible, and will hold your hand as you gradually learn these vital, crossplatform concepts.

BBEdit: It Doesn't Suck.

(unpaid plug!)

I can't believe that none of us have thought of this yet. Every operating system needs a really good text editor. Every operating system comes with a barely-passable one. Folks new to the Mac probably have never heard of BBEdit. If you want a text editor that does everything for (a) programming, (b) HTML editing, and (c) normal text writing, get BBEdit and never look back. Oh, and their tech support is also wonderful.

Saturday, February 09, 2002

Personally, I'm for the mix of self-contained topical posts and conversational posts. Why not keep everything out in front? Not that QuickTopic isn't nice, but it's another layer to drill down through to get the tasty blog goodness. Or something.

On the Perl front, if you're the type who uses a lot of Perl for various things in OSX, you may find PerlService of use. Also by the same author: SSHAgentServices and SSHAskPassword. Yay Services! (Now with correct links! Thanks Paul!)

This blog seems to be a mixture of new posts and discussion. (Cory: please tell these folks how to automatically use QuickTopic like you do on Boing**2.) If you are new both to OSX and programming, you should strongly consider learning Perl, which comes as part of OSX.

OK, OK, I'm a bit prejudiced: I am a long-time Perl enthusiast and wrote Perl For Dummies. But Perl is the easiest-to-learn language for what the vast majority of users want to do, namely to easily work with the contents of files and to easily do Internetish things. It is easier to pick up than AppleScript or, god forbid, LISP.

Friday, February 08, 2002

It's true. Stacy does come before Steve alphabetically. But, as the token minority, The Man's always tryin' to keep me down.

(Steve "promises" to fix it later.)

Alphabetically, does 'Stacy' not come before 'Steve'?

My file is located in /Users/usr/Library/Menus/. Try just dropping it in there and restarting. 'Course the Apple site states: "Itís easy to install. Just drag the file to the menu bar at the top right of your screen and let go."

Here's something that other people (*cough*Chris*cough*) seemed to have no trouble with, but that's giving me a fair bit of grief. I have the neato-keen ScriptMenu from Apple that places a tiny menu in the top menu bar of AppleScripts, but I can't get it to stay there. I heard that you can just double click it to install it, which works, and then trash it, which I can do, but when I restart, it's not there and I have to go through the process again. Is there some place I should stash, say in a sub-directory of ~/Library?

here's my first Mac OS X tip (which is being mirrored from my blog Radio blogaritaville).

a simple, free (as in "free beer") way to reduce Dock clutter and give you quicker access to your apps is to take the "Applications" folder from your Finder directory view and drag it into the your Dock. now you can Control-click, mouse down, or (for multi-button mouse users) right-click on the Applications folder icon in your Dock for access to your applications.

As an update to my earlier post, it seems OpenMCL also now runs on OSX. This is just the kind of thing I like to read about on my day off (I just completed a month-plus long web app project for a client early this morning and have taken the next few days off to relax and geek out in my own special way). I found this via lemonodor, blog of the aforementioned John Wiseman, who seems to be as much of an AI and Lisp geek as I am. Somehow I managed to avoid reading it all this time, despite seeing it pretty frequently on other fave blogs of mine like Lambda: The Ultimate.

Apropos of Paul's raves for Retro, a post I recently made to the WELL:
Topic 565 [macintosh]: Backup/restore utilities
#273 of 282: Sad Mac (doctorow) Thu Jan 24 '02 (08:46) 27 lines

Well, I did a fantastically stupid thing yesterday. I inadvertently trashed my ~/Documents folder. Then I emptied my trash. Lucky for me, the Microsoft User Data dir is locked, so only those files and dirs whose name started with letters higher than "M" were deleted. I lost a whole ton of very important suff, though, including all "W"riting-related documents that I've accumulated since 1984.

Lucky for me, I'd done a complete backup with the new Retrospect for OSX beta a few days before, when I got on a plane to go to Toronto (I always backup before flying; up until now, I've been booting into OS9 to run my tape-drive, but this last time, I decided to take a risk and use the OSX beta). I had a horrible sinking feeling when I relaized that my only backup of all this crucial, vanished data was recorded with an unsupported beta.

However, I am now 3/4 of the way through the restore of the missing files, and, woo-hoo, it appears to be working like a charm.

The lessons:

1. I need to figure out how to set the permissions on ~/Documents to make it undeletable.

2. Back up more frequently

3. Retrospect Beta for OSX works

I'll post again if the recovery goes blooie.

and later:
Well, the recovery completed quickly -- about 15 minutes to bring back a gig and half of docs. Of the 2000+ files I tried to recover about 100 couldn't come back. Unfortunately, Retrospect can't tell me which ones or why.

I swear, sometimes y'all conspire against me. Here Cory and Chris were, having a nice playful conversation about Mac RAD tools, and I indulged my better side in not joining the fray to rave about Lisp. Then John Wiseman (hi John!) goes and does what I might have done in my younger, more rash days, and emails Cory about Macintosh Common Lisp. Cory mails me and says hey, this is right up your alley! Why don't you blog this? Sigh.

Fine. Have it your way.

As far as I'm concerned, there is no better (for highly subjective values of "better") programming language on Earth right now than the Lisp family of languages, and in that realm, Macintosh Common Lisp stands out as a beacon of software development tool goodness. An Axis of Perfection, as The Prez might say. I've been waiting forever and a day for Digitool, the makers of MCL, to finally release a native (read: Carbon) version of MCL for OSX but so far, no dice. You can run the latest released version under Classic, but who wants that? Digitool is legendary for being lethargic in updating their website, despite the tens of dozens of screaming Mac and Lisp freaks out there who love their product. And the pricing scheme is a bit goofy, but I can ignore that mostly because the product rocks so hard.

On the other hand, some of the principals of Digitool did start up the OpenMCL project back in the Summer of 2001, which lets you run a ported MCL core engine under LinuxPPC. John didn't mention it in his email to Cory, but his Lisp Porn website also mentions the gone-but-not-forgotten Dylan language and IDE as well, which is another killer dev suite spawned from several chief Lisp freaks at CMU and Apple in the early-to-mid-90s. And FWIW, the Project Builder and Interface Builder tools you get for free in Apple's Developer Tools kit are evolved versions of the same killer tools from NextStep Developer, as is WebObjects. Who says old technology is no good? I'm looking forward to writing software that'll work on my OSX Pismo PowerBook, my Turbo Color Next slab, and on Linux, BSD, etc. with GNUstep.

For those of you moving to OSX from any non-Mac OS, one of the "well-known secrets" of Mac land is that Retrospect is by far the best backup program ever. (Quite frankly, it's the best one I found for Windows too.) They haven't finished their OSX version because Dantz is much pickier about restrotation than other backup systems, and they want to be sure that all the file permission stuff that is new in OSX works.

The good news is that you can try out the "preview" of the OSX version. Even if you don't have a removable backup medium, back up over FTP. Macs aren't nearly as disaster-prone as Wintel, but they aren't impervious, either. Download it, learn the interface, practice good backup hygiene.

BTW, one complaint that people have about Retrospect is that it is slower than other backup software if you turn verification on. It turns out that is because they do a much more careful verification. Many backup systems just do a checksum of the backed-up files on the backup media; Retrospect actually does a full restore (to a null device) to be sure that the backup medium is actually readable by the restore system. So restoring takes almost as long as backing up, but it prevents nasty surprises later.

Thursday, February 07, 2002

As you can see, Generalissimo Steve has added a member list in the left nav. Please email Steve a url you'd like your name to point to.

Here's something weird that I don't really understand. When I leave my OSX iBook on for an extended period without using it (i.e., overnight), and then sit back down to use it, it is really sluggish for the first five or ten minutes. The machine isn't in sleep mode, so there's nothing to wake up from. There's lots of disk-churn, too. Knowledgeable friends have suggested that the OS is swapping out all the user processes. Anyone know how to force it not to do this? Discuss

Chris, Runtime Revolution also cross-complies for every OS in the universe and is a cool, HyperCard-like RAD tool.
Revolution supports these platforms for both development and deployment:

* Mac OS 7.1 and later

* Mac OS X

* Windows 95, 98, ME, NT, 2000

* Unix flavors including:

* Linux (x86 and PPC)

* Digital UNIX




* SCO Open DeskTop/UnixWare

* Solaris (x86 and SPARC)

* SunOS

Reposted from Boing Boing: MSFT patched Office for OSX today, to close a security hole that their own "security" measures created. Office X checks its local area network to see if any other copies with the same serial are running before launching, as a way to force owners to buy licenses for every copy of Office X they use. So far, so good. But as it turns out, malicious users can capture the serials of legit Office copies and broadcast the numbers over the network (or spoof them into your network from outside) and shut down your copy of Office. Copy-prevention: gotta love it.
A security vulnerability results because of a flaw in the Network PID Checker. Specifically, the Network PID Checker doesnít correctly handle a particular type of malformed announcement Ė receiving one causes the Network PID Checker to fail. When the Network PID fails like this, the Office v. X application will fail as well. If more than one Office v. X application was running when the packet was received, the first application launched during the session would fail. An attacker could use this vulnerability to cause other usersí Office applications to fail, with the loss of any unsaved data. An attacker could craft and send this packet to a victim's machine directly, by using the machine's IP address. Or, he could send this same directive to a broadcast and multicast domain and attack all affected machines.
Link Discuss (Thanks, Biscuit!)

Speaking of Matt Neuberg (MemoryStick's author - tag, you're it Cory): he happens to be the author of REALbasic, The Definitive Guide (pub. by O'Reilly). REALbasic is the one & only Mac RAD tool that also compiles for Windows. I love it like a man should not love an IDE.

Re: my duplicate post: wow - they always said your first time was... special ;-)

Fred sez: "MemoryStick gives you a graphical read on your RAM usage under OS X. Even better, you can set it to "bing" every time OS X has to "page out" (go to hard disk) because of a RAM shortage." I'm digging it hard.

With Chris's latest post, Forwarding Address: OSX now has its first ever duplicate post! It just so happens that Stacy posted on January 14 about the 24/12 hour display setting being under "International" as well. Some people might see this as a bad thing, but on the contrary: it represents something two people had to find out how to do that should have been easier, and both felt that posting it so other people would know was the appropriate course of action until the problem is fixed. Perhaps this ought to be the beginning of a frequently encountered problems list? Apple, we obviously like your new OS, but, are you listening?

Since this blog is also for folk coming to OSX from the *nix world, here's one for you. The Terminal program is not nearly as smart as it could be, and Apple doesn't seem to want to make it much better. A great example of this is that Terminal normally doesn't remember the previous layout of terminal windows that you used.

I like tall windows; there is no reason to limit windows to 24 rows. Make your default window almost as tall as your screen. Then open another one. Terminal starts the new one slightly down from the first one, with the bottom of the window running off the bottom of the screen. D'oh!

Solution: create about five windows all the size and shape and location you want. In the Shell->Save As command, give this set of terminal windows a name (like "five good windows.term"), set "What to Save" as "All Windows", and select the "Open this file when terminal starts up" option. Quit Terminal, and when you start Terminal each time, you'll get your preferred set of terminal windows.

Oh, and don't forget fonts. The wrong font can make you go blind. My preference (for a PowerBook screen) is Andale Mono 11 pt. It seems to have the right balance of size and inter-line spacing. I'd be interested to hear if anyone else has a strong preference for something else.

I was just recently asked: "how do I switch my menubar clock from 24-hour time to 'normal' time?" and I had no idea. So I checked. It turns out that this particular time preference is not under the Date & Time prefs like one might expect but instead one finds it in the International prefs, under the Time tab.

Of course.

Thanks for the intro. More relevant to this blog, I am also a long-time Mac person (bought my first one during the first week they were available in 1984), switched to Windows about five years ago "for business reasons", and then switched back two years ago because the Mac is just a better system. I went to OSX at 10.1.

If you're new to OSX and were running a nifty Finder-replacement under 9.x, you should definitely check out SNAX from Cocoatech. It is very OSX-ish, and it much more useful than the OSX Finder. I still end up doing lots of file munging in Terminal, but I never open Finder windows any more except by accident.

Please welcome Paul Hoffman to Forwarding Address: OSX. Paul is the president of Proper Publishing in Santa Cruz and he's one of the people responsible for getting NetBSD to run on Virtual PC (an offshoot of his work being that the folks at got OpenBSD working in VPC as well, which I use and love).

WTF? The Office X updater wants you to quit all your other apps! Someone go explain Unix to the Mac Business Unit, please.

MSFT released the first in what's sure to be a long line of patches of Office X this morning. When are they gonna ship a Cocoa MSIE?

Wednesday, February 06, 2002

Adobe's PR machine takes Creative Writing 101:
Q: Is there truth to the rumors that relations are strained between Adobe and Apple?
A: None whatsoever. The relationship is very strong, and could even be characterized as familial. As with any close, long-standing relationship, issues sometimes arise that are dealt with and overcome, but overall the relationship is solid.
But, why is Dad sleeping on the couch, Mom?

DockFun. In case you need 10 Docks, and frankly, I'd like to know why you would.

Though, truthfully, "DockFun" to me sounds like what happens when the Navy ships come into town.

[11:41] mrhappy: hey - can I post to your OS X blog?
[11:44] dnm: Have you found any new cool software you can't live without recently?
[11:45] mrhappy: I see, I have to audition to post to your blog
[11:45] mrhappy: well then....*
That's when I froze. But I should have mentioned OpenTerminal Here, a toolbar applescript that simply opens a new terminal window who's local working directory is the current directory of the front-most Finder window. Which is to say: it opens a terminal to whichever folder you happen to be working in at the time. This saves me more time and effort than I care to imagine.

I've gone from not having to use a terminal window ever (in 10 years of Mac computing) to spending almost 3/4 of my working day in one. If you ever use the terminal, get this script and drop it into your toolbar. You'll come to love it too.

* (all comments taken out of context)

I love instrumentation -- compasses, GPSes, watches, chronographs, RFBugs and so on. My OSX desktop always has a CPUMonitor bar showing me the current load, and it looks just swell next to my Network Monitor floating windoid. Network Monitor provides a realtime histogram of bandwidth in and bandwidth out, on your network interface of choice. I use it instead of a mail-chime, since incoming mail generates a signature pattern of bandwidth spikiness that subliminally injects itself into my back-brain, letting me know that there're new messages waiting.

Software Update rocks, but I didn't know about a cool feature of it until, yet again, my uncle recently pointed it out to me. You may notice that if you don't select some packages to update on your system, they'll continue to show up in subsequent package lists when you go to update again. The trick is to select (but not check) the packages you don't want to see and use "Make Inactive" from the Software Update "Update" menu. Using this, I was able to ignore such delights as Traditional Chinese Language Support and friends, preemptively saving myself some space in the process.

If, in the future, you want to see those inactive updates again, you can easily select "Show Inactive Updates" from the same menu.

Don't feel too sorry for Steve. Besides Kawa, there's also Jscheme (formerly Silk), my personal favorite choice for a Scheme implemented in Java.

I neglected to mention another useful app suggested to me by my uncle: FruitMenu from the fine folks behind Unsanity, who also make another one of my faves, WindowShade X. I may also, like my uncle, hate the cutsey title "haxies", but you cannot deny how much these little apps and system mods rock. I'm glad that people are still pumping these sorts of useful little bits out, much as a lot of people did for Mac OS <= 9.

On a space reclamation front, I downloaded and fired off DeLocalizer today, which allows you to remove unused localizations from your machine. You could do this with a shell script easily enough, and I remember seeing some posted to places like Mac OS X Hints and the like, but I never got around to grabbing one of them. Besides, what's Quartz for if not good-looking gratuitous GUI interfaces to mundane Unix drudgery? DeLocalizer lets you select the locales and language packs you don't want and scans then cleans your system of those unwanted files. In the current version, it never removes American English, so if that's all you use, just check all and hit clean. I reclaimed over 268 MB of space!

Oh, and my "/" key is working again. Just needed a little fiddling with. Now back to my regularly scheduled wait while my OpenBSD ports tree continues updating in Virtual PC 5...

I'm really pissed that I can't find a decent Scheme environment. I know that bastard Dan Moniz has an alpha DrScheme on his hard drive while I have to plug along with Kawa (Scheme in Java).

Welcome Christoph!

Tuesday, February 05, 2002

Much as I am chagrined to say it: Sherlock sucks. Any search app that can't search every directory on my drive, even those scary system dir's, is half a search app. Thankfully there's an alternative: the 'locate' command. All you have to do is open a terminal and.... err, nevermind. Just download Locator and use its dandy GUI (using locate is also a hell of a lot faster than using Sherlock. Sure, there are no pretty graphics....).

Monday, February 04, 2002

I usually just pry off the key and clean out the crap under it, but I'm assuming you already tried that and the problems run deeper.

By the way, Dan, and (I suppose only I would appreciate the humor of the situation), your post had some extraneous colors and I realized that you hadn't typed a "/" in the "</a>" tag and then I realized that it was the manic-depressive key's fault.

Typo fun on a Sunday night. Super Bowl Schmooper Bowl.

Sunday, February 03, 2002

Despite a wonky, only somewhat functional "/" key, I felt I had to bring you a new app recently shown to me by my uncle. It's Drop Drawers X, a great multi-use application launcher, Stickies replacement, and generally cool app. Check it out at If anyone knows what may be the cause of my manic-depressive "/" key, or has potential solutions (I'm using a Pismo 500 MHZ PowerBook), please get in touch.