another excuse to be in austin
On the deck of our rental in Travis Heights with our Central market loot, the day after Matt and Amanda’s wedding.
On the deck of our rental in Travis Heights with our Central market loot, the day after Matt and Amanda’s wedding.
Last weekend was the debut race for Doug’s 1986 300ZX Turbo: Sears Pointless 2010. Unbelievably, the car came together in time and ran all 16 hours over two days, green flag to checker. Doug has some pics on his page, and I’ve uploaded a few of the professional shots of our car to gallery. Here’s one of me dealing with some traffic:
We had a video camera in the car, which was unfortunately mounted to the roll cage, so it was pretty shaky on acceleration. If you can stand it, here’s a video of Tommy at the race start:
The whole weekend was a blast. I drove a total about about 30 minutes on Saturday and an hour on Sunday—and that was plenty. It was simultaneously amazingly fun and terrifying and stressful. I did rub another car once on each stint, but always came out clean—no black flags or spin-outs! I’ll get some more pictures up soon.
Marc — 2010-03-15 19:06:43
Whoa. We’re impressed. Susan and I watched the race start. This shows our age, but it looked like Steve McQueen in the move Bullitt (1968). Way to go!
Ten years ago today, I sat in my dorm room at UT Austin with a dictionary in my lap, hunting for a simple English word, five letters or less, that hadn’t already been claimed as a domain name. I must have tried a hundred things before I came across “overt.” I was a college freshman and totally digging all this new freedom over my life and interests, meeting new friends every day, trying on new ideas all the time—so overt seemed like a perfect fit. Although all three of overt.com, overt.net, overt.org were available (these being the only three top-level domains available for public registration at the time, not counting ones for other countries), my anti-corporate and alliterative (see?) tendencies let me to choose overt.org. In retrospect, I should have just registered all three, but the $75/year it cost to register a domain in 2000 seemed like a lot of money to me and I definitely wasn’t going to spend it three times over.
I worked part-time doing web and database development at the career center for the college of engineering and had access to several internet connected computers. The same night that I registered overt.org, I set up an illicit web server (embarrassingly, Windows 2000/IIS) on my publicly accessible workstation in the career center and pointed my new domain to it. I stayed up late creating a web page with dated, journal-like entries that ran in reverse order on the front page just like my favorite website at the time, slashdot. Later I would learn that web sites like this had been called “web logs” since at least 1997—I was way behind the curve! And so, overt.org was born:
A week or two later, I set up an SMTP/POP3 email server on the same machine, assumed the email address I’ve used since then, and started handing out accounts to my friends.
The hardware behind overt.org took many forms over the next four years at UT, moving from my workstation to a dedicated machine in ENS, the electrical engineering building, but it always remained hidden in a corner or under a table, leeching off of UT’s excellent and pretty much unmonitored internet connection. As we approached graduation, Ali, George, Drew and I pooled our money together to pay for a dedicated server based out of San Francisco: overt.org was legit and has been ever since.
Over the last ten years, overt has grown quite a bit. It now hosts over three dozen web sites, blogs, and photo galleries. It’s a labor of love for Ali and I to maintain the server and it’s been a lot of fun to watch become a home for us, our friends, and our families on the internet.
Here’s to the next ten years of overt.org!
Clare — 2010-02-17 09:38:42
And we’re all very grateful for it! Hip hip, hooray!
Cameron — 2010-02-19 07:09:02
Seconded! Hip, hip hooray!
Julie — 2011-04-10 12:27:29
Wow, that old wet-paint header takes me back! Ten years. Jaysus.
I’ve been using dirvish, an rsync-based snapshotting backup system, for years to manage local and off-site backups. It’s simple to set up, automatic, creates daily snapshots of entire systems (or just specific directories), and it’s a breeze to browse and restore–all the files are right there in a tree, organized by date. Think of it like Apple’s time machine, but better because you can actually make it do what you want.
I recently needed to set up off-site backup for a few hundred gigabytes of data. My first thought was S3, but the HTTP interface meant that I couldn’t use a simple tool like rsync (or dirvish) to automate the snapshotting, and that browsing and restoring entire filesystems from backup would be cumbersome. Then I remembered that Amazon recently announced support for booting EC2 instances from persistent EBS volumes. This lets you “save” an instance by shutting it down and starting it up again, and you only pay for compute hours when the computer is running. Storage on EBS volumes is cheaper than on S3 ($0.10/GB instead of $0.15). Also, EBS volumes are just normal block devices that can be mounted by EC2 instances as though they were hard drives.
So here’s the idea: create an EC2 instance that boots from a big, dedicated EBS volume. Every night (or week, or whatever), start up that instance, run dirvish for the off-site backup, and then shut it down again. I only pay for the instance during the short periods it runs to perform the backup, and my data is saved offsite on the durable EBS volume. I implemented this system and it has been working great for several weeks. I just launch a python script (as a cron job) that starts the instance, runs dirvish, and then shuts it down when it’s complete. For those interested, here’s the (quick, dirty) python source (which uses the excellent boto library for manipulating the EC2 instance):
#!/usr/bin/env python -t
# encoding: utf-8
"""
run_offsite_backups.py
Wake up the EC2 backup server, run dirvish backup, then shut it down
Created by Bryan Klingner (code.b@overt.org) on 2010-02-02.
Feel free to use this code yourself. Maybe email me if you do :)
"""
import sys
import os
import boto
import time
import subprocess
BACKUP_INSTANCE_ID = 'YOUR_INSTANCE_ID'
def main():
conn = boto.connect_ec2()
# get the backup instance object
instance = conn.get_all_instances(instance_ids=(BACKUP_INSTANCE_ID,))[0].instances[0]
# if the instance is stopped, start it up
if instance.state != 'running':
conn.start_instances(instance_ids=(BACKUP_INSTANCE_ID,))
waited = 0
while instance.state != 'running':
instance.update()
sys.stdout.write("rInstance starting up (%d sec)..." % (waited))
sys.stdout.flush()
time.sleep(1)
waited += 1
print "n"
print "Backup instance running:"
print " ID: ", instance.id
print " State: ", instance.state
print " DNS name: ", instance.dns_name
# chill for a few seconds so the SSH server is listening
time.sleep(10)
print ""
print "Initiating backup..."
retcode = ssh_cmd('dirvish-expire; dirvish-runall', instance.dns_name, user='username')
print ""
# backup is done; shut down the instance
conn.stop_instances(instance_ids=(BACKUP_INSTANCE_ID,))
waited = 0
while instance.state != 'stopped':
instance.update()
sys.stdout.write("rInstance shutting down (%d sec)..." % (waited))
sys.stdout.flush()
time.sleep(1)
waited += 1
print ""
def ssh_cmd(cmd, host, user='root'):
""" Run a shell command on a remote server via ssh """
ssh_cmd = 'ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no ' + user + '@' + host + " '%s'" % (cmd)
print "Running SSH command: %s" % ssh_cmd
returncode = subprocess.call(ssh_cmd, shell=True)
#logging.debug( output, returncode )
return returncode
if __name__ == '__main__':
main()
slux — 2012-11-03 02:47:57
Has this been working for you well still? I’m planning to do something similar, I only give the remote server the permission to start the instance and do the rest with scheduling on the backup server though so there’s minimal access to. Now that EC2 has FreeBSD instances you could use ZFS with compression (or even dedup, but that is heavy on resources and dirvish already does some of it) and save some space that way.
bryan — 2012-11-06 07:45:35
It worked well when I set it up years ago, but I’ve since left the job I set it up for, so I can’t speak to whether the solution endured. I have to use cheaper options for my personal backups :)
You may have heard me mention that Doug is putting together a car for the 24 hours of LeMons race at Infineon Raceway in March. Well, George and I are helping a bit (me a very little bit) working on the car and are also supposedly going to help drive the thing. A major concern with this plan, of course, is my total lack of experience and competence racing a full-sized car on a racetrack, especially in the presence of other people trying to do the same thing. I did one autocross long ago, but let’s just say that driving alone around cones in my 104HP Honda Civic hatchback probably doesn’t do a lot improve my status.
Well, all that changed today, ho boy! George and I went racing at Laguna Seca (he’s in the gray car on my left).
We signed up for a 4-hour “Intro to Racing” class at Skip Barber, which uses Laguna Seca near Monterey as one of their school locations. It was outrageously fun and terrifying, not least because it was pouring rain the entire time we were on the track. Each of us was outfitted with a Mazda Miata MX-5 Cup Car and followed an instructor (insultingly driving a pokey Mazda 3 much faster than us). We started slow, and did increasingly faster and faster laps around the full track.
Just being on the track sort of fulfilled a lifelong fantasy of mine, because I’ve probably done at least 500 laps around Laguna Seca while playing Gran Turismo 3. In fact I actually said (out loud, while driving, about 5 times), “Oh shit I’m lapping at Laguna fucking Seca.” George and I agreed that it felt smaller in person than it did when playing a video game, but we both think we benefited from our minute acquaintance with every turn. Here we are just before the start (George ahead of me in 09):
The rain made everything hard, but also more worthwhile from a learning perspective. It was no problem at all to put the car into a skid with just a touch too much throttle too fast coming out of a turn, and I ended up in the gravel more than once. After I realized I wasn’t dead, I pulled it back on the track with a huge smile on my face. What a blast.
I should have had video of the whole thing, but like a dumbass I put the Doug’s loaner video camera in take-a-still-picture-every-two-seconds mode instead of take-a-video mode. Luckily, George paid for the professional in-car video and spent half the time right behind me. Hopefully I’ll get a good clip of the time I spun out spectacularly right in front of him after leaving the corkscrew (he dodged me with aplomb).
Here’s a final, accidental shot of me just after removing helmet. I look exhausted, yes… but do I also detect a slight air of smug satisfaction?
Marc — 2010-01-19 18:51:06
Roll cage… a very wise investment. Glad to see that was on Doug’s wish list. What a blast you and George must have had! Share the video.