This is BrainLog, a blog by Dan Sanderson. Older entries, from October 1999 through September 2010, are preserved for posterity, but are no longer maintained. See the front page and newer entries.

April 2007 Archives

April 30, 2007

Thunderbird 2.0.0 released. Message tagging. Yes. I'm currently experimenting with using GMail as my main mail interface (using the POP forwarding feature), but once I get sick of that, Thunderbird 2 will be next in line.

Many ways to lock your screen in Mac OS X. Even if I knew that Mac OS X came with a manual screen lock feature, I would never have known to look in the preferences pane of the "Keychain Access" app in the Applications folder.

Latest Ubuntu Linux includes a free-of-charge Java stack, including J2EE, JDK 6, Java DB, and the NetBeans IDE.

April 27, 2007

I love details: If you run a MacBook (Pro) with its lid closed (with an external display and keyboard connected), the sound is automatically unmuted and muted when you connect and disconnect headphones.

I hate it when details go wrong: When I use the latest video iPod's search feature, it shows albums in its search results, which is great. But when I select an album from the search results, the tracks are presented in alphabetical order instead of track order, even though the iPod knows damned well I'm looking at the complete contents of a single album. I know of no way to play the album in track order except to completely back out of search and re-find the album by browsing all albums.

Kamaelia, concurrent Legos in Python, or something. Looks like fun.

April 26, 2007

John August's weblog about screenwriting. (Thanks John G.)

Native JSON Support is Required. JSON began as a wire format that could be deserialized in JavaScript simply by executing the data as JavaScript code. Today, best practices recommend using a hardened library to do the deserialization to protect against snooping and code injection. Native support for JSON parsing in the browser could make for faster, safer data serialization.

How to make figures and presentations that are friendly to color blind people, including a table of unambiguous colors.

April 25, 2007

101 Code Snippets for Web Designers.

Jess, the Rule Engine for the Java Platform. No cost for academic use, commercial licenses available. Includes an online demo.

MathType, a graphical equation editor for Mac and Windows that can output TeX and MathML. Commercial, $97; $57 for students.

LaTeX Equation Editor is a Mac utility that lets you type LaTeX equation mark-up in a box, then whips up a PDF file that can be dragged into Apple Keynote directly from the window. Seems like it could be convenient for other equation editing purposes, too. Free. See also EquationService, also free, requires that pdflatex already be installed.

April 24, 2007

Two Nickelback songs from two years apart played simultaneously. I wonder what it's like to be in a band like this, let alone listen to one.

6502asm.com: 6502 compiler and emulator in JavaScript. Cute!

The Hauptwerk Virtual Pipe Organ, realistic sample-based organ simulation software for Mac or PC. (Thanks Jim.)

April 19, 2007

Newbie Emacs tip: One way to set the background and foreground colors for an Emacs window is with the set-background-color and set-foreground-color commands:

(set-background-color "#003344")
(set-foreground-color "white")

These colors are my favorites, and look great on Emacs running in its own window. Unfortunately, if I run Emacs in a terminal window with this configuration, the nice dark green background gets rendered as ugly bright green. So I use conditional logic in my .emacs file to only set these colors when running in its own window:

(when window-system
  (set-background-color "#003344")
  (set-foreground-color "white"))

However, set-background-color does not set the default color to be used by new windows (new "frames" in Emacs jargon), such as one opened when you type M-x 5 2. This does not appear to be true for functions that adjust faces directly, such as with set-face-foreground, or with Emacs's Customize feature. One way to set the background color for default frames is as follows:

(add-to-list 'default-frame-alist '(background-color . "#003344"))

With this in your .emacs file, the explicit set-background-color et al. do not appear to be necessary. So:

(when window-system
  (add-to-list 'default-frame-alist '(background-color . "#003344"))
  (add-to-list 'default-frame-alist '(foreground-color . "white")))

From this, it appears set-background-color et al are not meant to be used to set defaults, only change the current frame's settings. Good to know.

P.S. I also use (set-cursor-color "red"), or rather, (add-to-list 'default-frame-alist '(cursor-color . "red")), on the dark green background.

April 13, 2007

No one belongs here more than you. I don't know who this person is and I'm going to buy her book. (Thanks John.)

How to Write a Spelling Corrector, by Peter Norvig.

April 12, 2007

Human Computer Interaction in Science Fiction Movies.

Mosaic Coffee House, a new pay-as-you-will coffee house in the Wallingford neighborhood of Seattle. Intended to promote healthy community, this service of the Seattle First Church of the Nazarene features coffee, music, and a separate room for children. 60% of the tips 10% of all proceeds go to charity, with a different charity each month. [They no longer collect tips. Thanks Tim in the comments.]

They're on 44th and 2nd, with the entrance on 44th.

April 11, 2007

Pearls Before Breakfast. The Washington Post investigates what happens with passersby when a street musician is really, really good.

April 10, 2007

Matplotlib / pylab - matlab style plots and charts using Python. Probably the first such open source package I've seen that has decent font and anti-aliasing support built in.

April 9, 2007

Setting up Django on Dreamhost. Jeff Croft's instructions are the definitive resource for setting up Django projects on inexpensive Dreamhost hosting. I'm happy to report 100% success with his instructions. Dreamhost's wiki page on the subject refers everyone to Jeff's instructions, and includes a dozen or so further configuration and usage tips.

WiigoBot, a Lego robot that plays Wii Bowling perfectly.

See also: A 22-month-old baby playing Wii Tennis [YouTube]. Thanks Lily.)

silentpcreview.com: Everything about Silent / Quiet Computers.

April 6, 2007

Ask the CSS Guy: Form field hints with CSS and JavaScript.

CSS Tips from Google Blogoscoped (an unofficial Google blog).

April 4, 2007

New NSA Security Guidelines for Mac OS X Published.

ColorJack: Sphere. Yay, an inspirational color picker toy.

April 3, 2007

Apple Unveils Higher Quality DRM-Free Music on the iTunes Store (Reuters story). EMI's entire catalog, about 20% of the iTunes music catalog, will be available as DRM-free AAC files for $1.29, and iTunes customers that already bought DRM-encumbered $0.99 versions will be allowed to upgrade for $0.30. And the newer files are higher quality, too.

Something other reports are missing, but can be seen in EMI's press release: Full albums will be available at the higher bitrate and without DRM with no change in price, effectively a discount on albums full of the higher quality DRM-free tracks.

While this is in line with Steve Jobs' "Thoughts On Music", it's still a huge surprise. Some doubted Jobs would back up his claim that they'd be happy to distribute music without DRM. Many doubted any of the "big four" music companies would go along with it. And this particular implementation—two different versions of the same song at different prices—runs counter to Apple's tendency to go to great lengths to keep pricing simple, one rationale many people assumed was partly behind Apple's unwillingness to charge anything other than $0.99 per song while the music companies were demanding prices be raised.

This sounds like a trade: Apple will charge an extra $0.30 per song and presumably give EMI a larger cut, and EMI will allow Apple to distribute DRM-free music. This is huge for customers, especially music collectors, because they can buy out the DRM, or they can live with the DRM at the old price. And it benefits Apple, because it opens up a new market for a more expensive product without impinging upon current customers.

This is also huge because it opens up a category of iTunes-purchased music that can work on non-iPod music players, where previously iTunes-purchased music was iPod-only. Beyond the why-wouldn't-I-just-buy-an-iPod piece of junk portable players, this also includes computers running Linux. Governments concerned that the iPod-bound DRM gave Apple an unfair market advantage in the music player market have less to worry about.

Something tells me many people will stick with the cheaper iPod-bound DRM'd music, just as something tells me that many people will continue to buy iPods even if other players are compatible with (more expensive) iTunes tracks. For customers that ignore the DRM issue (as many, many have so far), the new iTunes pricing still favors iPods, so it's still not a level playing field.

This is the kind of move that will get me buying all my music from iTunes. Will the other music companies follow suit?

Space Station 77, a fan site for the Disneyland ride Space Mountain, includes detailed 3D animated recreations of the experience of the ride. I'm not a fan of the ride, but the videos match my recollection of it exactly, without the horrendously long lines. The site also includes "work lights" videos, views of what the ride would be like with the lights turned on and the tracks exposed. A genuinely impressive fan feat.

Lambda reduction tutorial.

April 2, 2007

Nickel Creek with special guest Jon Brion, in Seattle Thursday May 10. Jon Brion will also be with them for the Portland, Eugene, Boise and Salt Lake City shows. Jon Brion's home page, Wikipedia entry.

Make - An afterburner for your command-line. I just like the idea of writing short context-sensitive shell scripts without having to create dozens of little files.

C Puzzles, little puzzles for C programmers.