Posted by Andrew
Mallory and I traveled to the Olympic Peninsula to hike up Mt. Zion in Olympic National Forest. The trip there turned into quite a journey. We had to wait a while for the ferry, and we did some off-road driving in my not-so-off-road car—but we eventually found our way. The hike was short but steep. At the top we were rewarded with some beautiful vistas of the Puget Sound, and the Olympic and Cascade Mountain Ranges. During our epic journey we also discovered a babbling brook, a gnome home, and a few other surprises. Full Photo Set.
The views were fantastic.

Smiles from the top.

Sunset on the ferry ride home.

Mappage.
View Larger Map
Posted by Andrew
The Red Sox won (good or bad? I still don’t know who I’m supposed to root for.). The local Boston College chapter is full of nice people. We drank beer. We had fun.


Posted by Andrew
Mallory and I spent a beautiful weekend practicing for 29er Nationals in the Gorge. 505 North Americans were going on at the same venue, which provided plenty of entertainment between our practice sessions.

Posted by Andrew
Big Picture
Nginx will accept connection on ports 80 (http) and https (443). Under SSL/TLS nginx will negotiate the encryption and proxy any requests that it cannot serve to our trusty mongrel running on port 3000. Mongrel doesn’t handle encrypted traffic, instead we pass a flag (X_FORWARDED_PROTO) that indicates the request came over SSL.
Prerequisites
You will need a functioning Macports installation and a functioning development environment (i.e. you can browse your project at localhost:3000).
Conventions
$ indicates a standard shell prompt.
# indicates the command needs to be run as the root user by assuming root privileges with sudo.
Install nginx with SSL Support
# port install nginx +ssl
Make Your Certs Directory
# mkdir -p /opt/local/etc/nginx/certs
$ cd /opt/local/etc/nginx/certs
Make Your Own Certificate
Follow the prompts but MAKE SURE TO USE *.example.com AS YOUR Common Name!
http://pastie.org/234929
# openssl req -new -x509 -nodes -days 365 -out server.crt -keyout server.key
Create an nginx Configuration File
Use http://pastie.org/234927 as an example.
Edit out my locations with yours. (i.e. Replace /Users/Andrew/Projects/macchiato with wherever your code lives.)
# mate /opt/local/etc/nginx/nginx.conf
Fire Up nginx and Your Mongrel
# /opt/local/sbin/nginx
$ script/server
Check Your DNS
# mate /etc/hosts to make sure app.example.com points to localhost
Accept Your New Certificate
Open https://app.example.com/ in Safari. Select Show Certificate and accept it permanently.
In Firefox you will have to manually import your certificate.
Firefox => Preferences => Advanced => Encryption => View Certificates => Authorities => Import => /opt/local/etc/nginx/certs/server.crt => Make sure Trust this CA to identify web sites is checked => Ok.
ssl_requirement is the de-facto standard Rails SSL plugin.
Posted by Andrew
Summer is here in Seattle. Mallory and I took full advantage of it last week and took our fancy picnic basket (thanks Mom!) and some tasty treats to Volunteer Park. We took some pictures of our Picnic in Volunteer Park.
Mallory was satistfied.

Posted by Andrew
Summer has finally hit in Seattle, I think its time for some well deserved Vitamin D. Tonight I will be having a picnic in the park before reading my book in the grass and watching the sunset.
Posted by Andrew
Its unlikely that this will ever matter in local development, but its good practice to have your environment properly setup.
Dump your database to a file:
$ mysqldump -u root --default-character-set=latin1 --skip-set-charset project_development > project_development.sql
Convert the characters in that file from latin1 to UTF-8 using iconv:
$ iconv -f latin1 -t UTF-8 project_development.sql > project_development_utf8.sql
Drop your existing database and recreate it with the appropriate defaults:
$ mysql -u root --execute="drop database project_development; create database project_development character set utf8 collate utf8_general_ci;"
Repopulate your database with your converted data:
$ mysql -u root project_development < project_development_utf8.sql
Don’t forget to add the encoding to your database.yml!
adapter: mysql
database: project_development
username: root
password:
host: localhost
encoding: utf8
Posted by Andrew
I just spent a few minute setting up Site Specific Browsers for my Google Apps. Using Fluid, which was inspired by Mozilla’s Prism, and some nice icons left me with a pretty cool setup – little red badges even show up on my icons if I have unread mail or feed items.

Posted by Andrew
While tinkering away with Evan Weaver’s sweeper (a ruby gem for updating id3 tags of mp3s based off last.fm’s fingerprint database) I started clicking around my last.fm profile. I’ve been a religious scrobbler for a few years now (nearly 20,000 songs since May 4th, 2004), but I had never stopped to think about how powerful all of this data could be. I mostly used last.fm for its music recommendations; my profile page will suggest artists for me to explore based off what I have listened to in the past.
Today, I discovered an even cooler feature: events. Last.fm knows what I like, and it knows about lots of events (concerts, shows, festivals). By combining this data, the service can build me a custom calendar of upcoming acts that I may be interested in! I’ve created a quick mash-up using 30 boxes iCal support to display the information on the web, but I have already added this calendar to my personal google calendar. Now, even as my music tastes change, and I move around, I will always have calendar of upcoming events in my area that I will likely be interested in attending. It makes even more sense that CBS spent big money to acquire these guys.
Posted by Andrew
Its that time of year again—Graduation. I just want to congratulate everyone on their successes.