AccordionGuy :: CodeCon (Stagette): Very funny story.

Today, once again, I plug in my MP3 player, and my Mac crashes, like it does about every tenth time I plug in my MP3 player. This bug has been around for over a year, no change. This time it managed to trash my iTunes Music Library file. I hope it didn't cause directory corruption. Because OS X does so many more things at once, its filesystem is actually more prone to corruption than Mac OS 9 ever was. I'm definitely going to get my swap files moved to another disk today.

There used to be no problems with my computer that bothered me day in and day out, as recently as two years ago. Now there are hundreds of outright bugs in the OS. Windows don't activate when they're supposed to, they don't update properly, I get unexplained crashes and lengthy hangs, everything is slow and cumbersome to use. And OS X still crashes once every day or too.

The standards of quality in OS X, currently, are atrocious. On the other hand, Apple is doing very well with fixing the other bugs I've reported this year. So I hold hope for the future as OS X moves past the “immature, new OS” stage.

The public Darwin bugs web site hasn't been updated in two weeks, with no indication of when it will be back again.

Adam Curry
has some things to say today that really resonate with me. “I
remember 1993, trying to explain to MTV that the net was going to
happen, they didn't believe me, had their own initiatives. Look at the
'official' MTV, then look at my mtv. I like mine better. Its honest,
no smoke, no mirrors. Of course I don't have JLo either, but I'll get
over it.” I don't mind the compromise!

Early this morning I was walking home in the fresh snow, listening to
an hour of KPIG I had recorded on
my MP3 player. Most of the music I hadn't heard before, or even the
fake commercials, but I was singing along because it was good,
and I was really happy, exhausted, going home, thinking about what I was
going to do tomorrow.

And the RIAA would have me deprived of free (or listener-supported)
Internet radio because it wouldn't be possible for the big guys to
squeeze everyone else out and feed everyone a steady diet of
repetitive drivel. An ignorant consumer is a willing customer, anyone
else is a criminal… or something, the way society seems to be evolving.

Finally finished writing Multi-Status parsing code and sent off an alpha of the WebDAV upstream driver to one lucky contestant.

sample WebDAV post

I need some snack food I can eat at the computer and not make a mess. I am forever picking crumbs out of my keyboard and its tray as I eat granola bars. At least, now I primarily drink water during the day, there aren't issues with sticky things stuck in the keyboard. Suggestions?

And after the previous post, I've been getting lots of great work done. Guess I should complain about not being able to work on here more often—erm, no, probably not, I'll lose a reader and cut my audience in half. “qbullet.sidesmiley”

I've been completely unable to focus on work all day. This is really annoying. Keep trying, I guess…

Emacs 21.1 for Mac OS X is a great port; I've been using it for a few months. Like everything else on Mac OS X, it suffers from glacial startup speed. If you have a lot of RAM, the best solution I've found is to leave frequently-used programs open all the time.

Then you need some way of communicating with those programs from the command line. My launch tool is a help for most applications, and some, such as BBEdit, provide their own command-line tools with additional functionality.

But Emacs isn't really a Mac app, so it doesn't respond to Apple Events. You can't drop files on top of it or use launch.

One alternative is to live in Emacs, so finding a file is always a keystroke away, but I don't work that way. Another is to run a server inside Emacs, which you can ask to open files and execute commands. You can run this server with (server-start) in GNU Emacs, or (gnuserv-start) in XEmacs. No, I didn't get those commands mixed up, the usual convoluted heritage of the programs is responsible.

Next up are the client-side programs: XEmacs has 'gnuclient', and GNU Emacs has 'emacsclient'. Much like BBEdit's command-line bbedit tool, these behave like an editor, in that they take command-line arguments of files, but instead of opening a new Emacs process, they instruct the already-running Emacs to open the files.

With Carbon Emacs, emacsclient does not cause Emacs to come to the front, and you can't pass command-line arguments to the Carbon Emacs when it's running in a window. On any platform, emacsclient gives an error message if Emacs is not yet running. By default, emacsclient pauses until the editor exits: good for using Emacs as an external editor, but not so good when calling it directly from the command line.

So, I wrote a quick script to make emacsclient like bbedit. First, make sure you include (server-start) in your .emacs file or equivalent. Then put this alias in your .zshrc file, or adapt it for tcsh/bash/scsh/whatever you use.

if [[ ! -z $TERM_PROGRAM ]] {
  e() {
    ( emacsclient -n $@ >&/dev/null && \
      osascript -e 'tell application "Emacs" to activate' ) || \
    ( launch -a Emacs && sleep 2 && emacsclient -n $@ )
  }
}

If $TERM_PROGRAM is set (you're running inside Terminal), this script creates an alias called e which tries to invoke emacsclient with the -n option (don't wait around) and bring Emacs to the front. If that fails, Emacs is probably not running, so it opens Emacs, waits a couple of seconds for Emacs to finish launching (if you have a slower machine you may need to change the number 2 to something bigger), then invokes emacsclient.

Mac OS X .pkg files don't work if you rename them. What a mess.

Please just bring back the Apple Installer! It's years and years of work on easy-to-use, user-friendly installers, just thrown out the window all because the NeXT installer worked with a recompile. No amount of shell script wrappers are going to save it.

Yes, it's snowing, for real! All I see outside is white.

« Previous PageNext Page »