Archive for February, 2008

Talk Back With My New Chatbox

jason| February 27, 2008 2:20 pm

Check it out!  On top of the sidebar to the right is my new Google Talk Chatbox, a feature announced by Google today.  When you click it, a window will open and you can talk to me.  Pretty spiffy.  I’m dying to try it out, so give it a click and let’s get our chat on.

Synchronize a Folder Across Machines Over the Internet–Mac, PC, Whatever

jason| 1:52 pm

Here is a useful HowTo for anyone who needs to keep files in sync between PCs. There are many commercial solutions out there (iDrive et al.) that facilitate this, but those can be expensive and often limit space to a few gigabytes at most. This solution allows you to synchronize as much as you need and keep costs down. It is also relatively easy to implement across multiple platforms and operating systems. Here are the basic ingredients of this design:

  1. A publicly accessible machine, always connected to the Internet, that you can access via ssh. This can be a web host that allows ssh access or a machine of your own hooked up to the Internet with a static IP or dynamic DNS.
  2. Unison. Don’t worry about this one. It’s a free rsync-like tool that supports bidirectional edits and can be downloaded for free.
  3. Some time and patience. This method isn’t exactly for the faint of heart–but no worries, walk through step by step and you’ll get there.

If it looks like you can handle those three, read on for the details.


Show me more… »

GIMP on OS X Leopard

jason| February 25, 2008 6:11 pm

I needed to do some image editing over the weekend and installed GIMP on my MacBook Pro, running OS X Leopard, using MacPorts. I was happy to find that some folks have worked hard to integrate GIMP with OS X. Included in the default ‘gimp’ port is a Gimp.app that allows easy launching of GIMP and also facilitates opening GIMP when you double click associated files.

I did have to tweak the Gimp.app package just a tad to get it working with Leopard. The package attempts to start X if it is not already running but doesn’t appear to handle Leopards switch from XFree86 to X.org. Furthermore, this sort launchd provides a launch-on-demand service that launches X11.app if an application tries to open an X $DISPLAY. Below are some quick instructions outlining what I did to get this working.

To install GIMP, install MacPorts, then open up a terminal and type:

sudo port install gimp

Grab a sandwich.

Once the install completes, type the following command from the terminal:

sudo vi \
/Applications/MacPorts/Gimp.app/Contents/Resources/script

This will open the script Leopard no longer requires in the vi editor. Feel free to use your editor of choice, but you will need to run it using sudo to have write permission. I commented out every line except the directory change, just to leave something there, but I’m fairly certain you could do without this entire script. Here’s what mine looks like:

#!/bin/sh
#
# Author: Aaron Voisine <aaron@voisine.org>

CWD="/opt/local"

#ps -wx -ocommand | grep -e '[X]11′ > /dev/null
#if [ "$?" != "0" -a ! -f ~/.xinitrc ]; then
# echo “rm -f ~/.xinitrc” > ~/.xinitrc
# sed ’s/xterm/# xterm/’ /usr/X11R6/lib/X11/xinit/xinitrc >> ~/.xinitrc
#fi

#cp -f "$CWD/bin/getdisplay.sh" /tmp/
#rm -f /tmp/display.$UID
#open-x11 /tmp/getdisplay.sh || \
#open -a XDarwin /tmp/getdisplay.sh || \
#echo ":0" > /tmp/display.$UID

#while [ "$?" == "0" -a ! -f /tmp/display.$UID ]; do
# sleep 1
#done
#export “DISPLAY=`cat /tmp/display.$UID`”

#ps -wx -ocommand | grep -e '[X]11′ > /dev/null || exit 11

cd ~/
exec "$CWD/bin/gimp" "$@"

Once I had GIMP installed, I wanted a quick easy way to change my file associations. The OS X mechanism, in the file info dialog, would require me to find a file of each type I want to open in GIMP to change them. What I found was RCDefaultApp from Rubicode.

RCDefaultApp is a Mac OS X 10.2 or higher preference pane that allows a user to set the default application used for various URL schemes, file extensions, file types, MIME types, and Uniform Type Identifiers (or UTIs; MacOS 10.4 only). MacOS X uses the extension and file type settings to choose the application when opening a file in Finder, while Safari and other applications use the URL and MIME type settings at other times for content not related to a file (such as an unknown URL protocol, or a media stream).

A nice feature of this preference pane is that it allows you to view the extensions a given application is capable of opening and associate them with that application all in one place.

RCDefaultApp Screenshot

So, with the help of MacPorts, a quick hack, and Rubicode, I have all the power of GIMP with all the convenience of an integrated OS X application.

Microsoft Opens Up

jason| February 22, 2008 9:06 am

For many years now, a battle has been raging between those in favor of open standards on the internet and those who feel their best opportunity for profitability lies in proprietary, closed protocols. This was probably symbolized most dramatically in the now nearly forgotten battle between Netscape and Microsoft. Netscape was arguably a company founded on principles opposite Microsoft’s. They embraced open standards and had a large part in popularizing many of the protocols that people today bring to mind when they think of the internet. Microsoft eliminated Netscape by integrating their browser into the operating system in a way that Netscape was unable to duplicate. I remember consciously switching to Internet Explorer back then. I couldn’t uninstall Internet Explorer and I didn’t need two browsers, so Netscape went.

Since that time there has been increasing pressure on Microsoft to give up some of these practices. It is argued that the only reason their protocols are adopted at all is because they use the Windows operating system and it’s near monopoly on the desktop to force the hand of end users. Third parties often cannot create viable alternatives because Microsoft has not published the protocol documentation necessary. Companies and individuals resort to reverse engineering in order to produce third party products compatible with Microsoft’s. Microsoft in turn condemns the reverse engineering of it’s operating system as illegal and it goes on.

In an announcement yesterday, Microsoft took a monumental step back towards cooperation with the community:

Microsoft today announced a set of broad-reaching changes to its technology and business practices to increase the openness of its products and drive greater interoperability, opportunity and choice. These changes are codified into four new interoperability principles and corresponding actions: 1) ensuring open connections; 2) promoting data portability; 3) enhancing support for industry standards; and 4) fostering more open engagement with customers and the industry, including open source communities.

The protocols have been published here. There is also a Slashdot article that links to a few others and also has some humorous user comments that make clear Microsoft has a long way to go. At this point, I’m unsure how this will affect the current controversies surrounding Microsoft’s assertion of it’s own standards in the place of existing open standards, such as in the case of Internet Explorer 8’s “compatibility” meta tag and the “Open XML” used in Office 2007 file formats.   No doubt this is a strategic move aimed at helping Microsoft on both of those fronts.  Regardless, it is a sure step in the right direction. I, for one, am looking forward to the next major releases of Wine and Samba.

Manage Your Medical Records With Google APIs

jason| February 21, 2008 11:25 am

Recently I’ve spent a disproportionate amount of time in the hospital and other medical facilities, first for pneumonia and then for the birth of my son. This has convinced me of the completely broken state of medical information systems and the need to bring systems for storing and exchanging patient medical data into the 21st century.

Those of you unfortunate enough to see me on a daily basis have had to put up with my scheming and brainstorming–trying to think up a better way to handle medical information electronically. Google apparently beat me to the punch. Help is on the way.  According to this post today on the Google Blog, the Cleveland Clinic is beginning a pilot program using Google’s APIs to securely transmit medial records at a patient’s request. Google is promising to give patients more control over their medical records:

By using the GData protocol already offered in many Google products, and supporting standards-based medical information formats like the Continuity of Care Record (CCR), our health efforts will help you access, store and communicate your health information. Above all, health data will remain yours — private and confidential. Only you have control over when to share it with family members and health providers.

Anyone who has been through the ridiculous ordeal of filling out authorization forms, which must be delivered in person and then faxed to transfer medical records from one provider to another (often for a fee), can appreciate what Google is trying to pull off. Apparently they have a “health team” with at least one engineer working on it. Is there any problem they aren’t solving?

OpenCourseWare MBA

jason| February 20, 2008 12:19 pm

I know I just wrote about this, but I can’t help it–the more I see of MIT’s OpenCourseWare, the more I love it. One thing on my list of things to take a swag at before I die (no aversion to commitment there) is obtaining an MBA, focusing on Entrepreneurship and Innovation. If all I’m going to do with an MBA is become an entrepreneur, then the 100+ MIT Sloan graduate courses up at OpenCourseWare just might suffice. I don’t need a piece of paper to hire myself. ;)

Mac is Back

jason| 11:01 am

Picked up my MacBook Pro from repair at the Cambridge Apple Store this morning. Don’t I look happy? w00t! I promise I’ll give the story on this soon. Looks like it will be ongoing…

MIT OpenCourseWare to the Rescue

jason| February 19, 2008 7:08 pm

I ran into a little bit of a snag in one of my courses recently. I’m unable to attend sections outside of the main lecture that, it turns out, are conveying information vital to my success in the course. In my search for help and answers, I’ve rediscovered MIT OpenCourseWare.

I’ve heard of OpenCourseWare before. Slashdot posted an article on it back in January. At the time I thought it was neat, but didn’t really look into it further. OpenCourseWare is amazing. MIT has published course materials for 1800 courses and has committed to adding or updating 200 courses per year. You can access lecture notes, slides, handouts, homework assignments, and tests with solutions–all online. View the materials on their web site or download a zip file containing all materials. This will be extremely useful for the rest of my undergraduate work and there is plenty there to keep me busy once I’m done with that. Check it out!

Samuel David Masker

jason| February 16, 2008 2:01 pm
You must register and log in to view this post.

Number Five Arrives

jason| February 14, 2008 7:29 pm
You must register and log in to view this post.