Hiking Mt. Zion 0

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.
The Trail.

Smiles from the top.
From the top!

Sunset on the ferry ride home.
Mt. Rainer

Mappage.

View Larger Map

Mariners vs. Red Sox

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.

Mariners vs. Red Sox

Mariners vs. Red Sox

Columbia River Gorge 7/19-20

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.

505s

Rails Development with SSL

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

ssl_requirement is the de-facto standard Rails SSL plugin.

Picnic In The Park

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.
Yummy.

Sunshine!

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.

Convert your Rails' application database to UTF-8

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

Site Specific Browsers (SSBs)

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.

Dock

The Power Of Social Networking: Last.fm Gets It Right

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.

Graduations

Posted by Andrew

Its that time of year again—Graduation. I just want to congratulate everyone on their successes.