October 2007 Archives

RubyConf 2007... gah!

| | Comments (0)

53 slides and I still don't feel like I'm close to done.

OOPSLA... damn

| | Comments (3)

Monday I spent all day watching talks on dynamic programming from some amazing people.

Yesterday I saw (the) Guy Steele Jr. and (the) Dick Gabriel give one of the best talks I've ever seen. I also saw James Gosling and Bertrand Meyer (with Steele and others) talk. (I also missed Kathy Sierra--but hey, lots of old smart guys > Sierra)

Today I'm (just about to) seeing THE Fred Brooks Jr, THE John McCarthy, and the (someday to be strong/emphasis) Ward Cunningham (sorry Ward, I love ya, but you're not up to Brooks or McCarthy).

So... Why aren't you here?

Vlad Hanging on you?

| | Comments (0)

I just finished writing up a lighttpd plugin for Vlad so I can switch my textdrive projects over. I had a problem where firing up lighttpd would hang. I knew there wasn't any IO it was actually waiting on, it was just hanging...

After googling I found a similar bug regarding capistrano having the same problem and the workaround offered works beautifully!

The solution/workaround is to forcibly detach all IO from the process:

#{web_command} -f #{lighttpd_conf} </dev/null >/dev/null 2>&1

For non-unix geeks, this:

  • merges stdout and stderr (2>&1)
  • redirects stdout to /dev/null
  • redirects/attaches /dev/null to stdin

By doing this, ssh doesn't hang around waiting for more stuff to happen. This is specific to lighttpd, but I'm guessing there are other daemons out there with similar problems.

Exporting Keynote 3 as PDF

| | Comments (0)

NOTE: This version runs on Keynote 3, bundled with iWork '08. If you have Keynote 2, you want my older version.

on run
  display dialog "Drag keynote documents on me to convert to PDF."
end run

on open draggeditems
  repeat with thisFile in draggeditems as list
    tell application "Finder" to reveal item thisFile
    set thisFile to thisFile as alias

    tell application "Keynote" to open thisFile

    tell application "System Events"
      tell application process "Keynote"
        set frontmost to true

        if menu item "Hide Inspector" of menu 1 of menu bar item "View" of menu bar 1 exists then
          keystroke "i" using {command down, option down}
        end if

        click menu item "Export&hellip;" of menu 1 of menu bar item "File" of menu bar 1

        repeat until sheet 1 of window 1 exists
        end repeat

        tell sheet 1 of window 1
          click button "PDF" of radio group 2
          click checkbox "Include slide numbers"
          click checkbox "Include date"
          click checkbox "Print each stage of builds"
          click button "Next&hellip;"
        end tell

        repeat until button "Export" of sheet 1 of window 1 exists
        end repeat

        tell sheet 1 of window 1
          click button "Export"
        end tell

        delay 3
        keystroke "w" using command down
      end tell
    end tell

  end repeat
end open