Archive for December, 2008

Dec 22 2008

Design Elegance

Published by Ryan under books, design

Elegant and crisp interface design is an important whether you’re designing an automotive dash or a command-line tool.  I find good design practices can be harvested from a variety of seemingly unrelated sources.  The underlying thread, is to keep things as simple and straightforward as possible.  It’s been said a million times, but it’s so true, whether you’re paring down your argument list or making sure your diagrams have functional uses for the colors you introduce.

Some resources:

No responses yet

Dec 20 2008

ArbCamp!

Published by Ryan under AnnArbor, science, technology

SessionGrid!ArbCamp08 was great, thanks to all the organizers, who had to scramble at the last minute to handle a huge turnout by changing the venue.  With more than 160 attendees, there was a wide variety of interesting breakout sessions and impromptu discussions.

I enjoyed the parallel programming session led by Jon Cohen – I hadn’t realized that graphics processors were up in the hundreds of cores, and that they can be utilized for scientific computing with the help of Nvidia’s Cuda compiler.  Users of this technology were first hand, including Eric Janikowski Jankowski, who agreed that this technology has revolutionized molecular simulation work.

A2game disussionOther sessions of note included a plan to set up a co-working space in the Arcadian Antiques location on Main Street, and a loose discussion of DIY photography.  Apparently the disposable digital cameras available at CVS are a good source of image sensors for DIY photography projects like kite photography.  Someone has even mounted one inside a volleyball to take pictures on each impact.

The event was, more than anything, a great opportunity to meet some of the interesting people in Ann Arbor, and for people in different disciplines to cross-polinate.

One response so far

Dec 20 2008

Upgrade

Published by Ryan under meta

Completed my first wordpress upgrade, which went fine.  Of course, backpus are key.  Backup processes for apps like this can be a tricky verification challenge, as users can have a long history of different versions installed as the starting point, possibly with custom modifications.

No responses yet

Dec 15 2008

Easy backups in OS X

Published by Ryan under technology

I’ve settled on the killer combination for easy backups to a NAS on OS X, and it involves installing no software.  It’s a combination of rsync, and scheduling with launchd.

The first step is getting your rsync command working.  I like it because it allows you to maintain a mirror of your files on the remote drive, and only copies over files that have changed when you run it.  Being a built-in command, it’s also a lot sleeker than installing a GUIed app of questionable speed. I mirror various key folders like this:

rsync -aSv --delete --progress ~/Pictures/ /Volumes/MACSHARE/rsync/Pictures > ~/scripts/logs/pictures.txt

There’s a number of options you can look at through the rsync man pages. I store my rsync commands in a file called backup.shIn order to Automate this process, you can set up a launchd task. Launchd replaced a lot of unix apps like cron on more recent OS X releases. You need to set up a plist file that points to your backup script and tells it how often to run, and store it in ~/Library/LaunchAgents/. Here is the file I use (you can call it something like com.backup.plist):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>ryan.backup.script</string>
        <key>LowPriorityIO</key>
        <true/>
	<key>ProgramArguments</key>
		<array>
			<string>/Users/ryan/Scripts/backup.sh</string>
		</array>
        <key>StartCalendarInterval</key>
        <dict>
        	<key>Hour</key>
		<integer>2</integer>
		<key>Minute</key>
		<integer>0</integer>
        </dict>
</dict>
</plist>

You can look at the Apple man pages for launchd to determine what other arguments you can use. This one is set to run at 2am. You can also do some cool things such as running a script when a watched directory changes.Once you have your plist file, you have to register it with launchd.  In the LaunchAgents directory at the terminal, you can type launchctl load com.backup.plist A trick I used to make sure the scheduling was working, is to point to an alternative script (test.sh) containing say hello. I set the schedule a few minutes ahead and made sure the speakers were on to hear it say “hello”.

No responses yet