
April 2009
March 2009
December 2008
October 2008
September 2008
August 2008
July 2008
June 2008
I was going to race the Omnium today at Boulder Indoor Cycling, and in my usual fashion of being slightly late, I don’t leave much time for errors, like forgetting my pedals. Being that it’s a bit of a gloomy day, I decided to take the opportunity to do something I haven’t done in a while–blog–and what better subject than the reason I got into blogging, cycling!
But soon, I won’t have to worry about forgetting the pedals because they’ll be permanently attached to my bike. BIC rents Fujis and Blues, which are fabulous to ride, but having one of my own will be even more fabulous!
David Tiemeyer ran a special for BIC members this winter on a custom track frame, so I decided to go for it. David has a rich background in building aerodynamic frames for some of the best cyclists in the world. He worked on the US National team frames with GT in the early 90’s, then went on to design the frames used in the Atlanta, Sydney and Athens Olympic games.
I went in for a custom fitting in February at his studio in Estes Park. As an engineer, I was truly impressed with the level of technology he employed for the fitting, which included measuring my heart rate and work output to decide what angles gave me the best advantage. After a few hours in his studio and a number of design revisions based on fork choices, etc, he came up with this:

Once the design was agreed upon, David set out to do the actual welding. He let me know that he spends most of his time on design, while a smaller fraction on actual welding. This frame is made of aluminum with titanium drop outs. The fork is pre-built carbon (I’ll be getting the JetStream Oval fork rather than the one shown below).

Now the bike is off to the paint shop, Spectrum Powder Works in Colorado Springs, to be exact, where they’ll give it a nice powder coat. Picking the color was the hardest part of the process and if I had a bigger budget, I would have done a few more fancy details. The nice thing is that I can always get this repainted in the future. For now, I’m going with the Red/Orange:

Stay tuned for part 2, when I show the actual built bike and maybe I can talk someone into taking some photos of me actually racing it. I would really love to have an all black long-sleeved skinsuit with the Gnip logo on the back (hint, hint!)
I got a chance to speak at the February edition of Ignite Boulder. It was a hoot!
The video is now on YouTube
The slideshow is here:
Tags: ignite
A few months ago, I wrote a post about installing svnserve on DV hosting at Media Temple. It was a great quick solution to get started, but I really wanted to get to svn via ssh instead for the long term.
Rather than scour the Internet for how to do this (I’ve done it a few times in my career, but I’m no sysadmin), I sat down for lunch one day with Collin, who used to be a mighty fine sysadmin! Saved me hours of time, hopefully this will help some of you all too.
Keep in mind that you’ll have to check out your files from scratch, so you’ll want to make sure all of your current changes are checked in (or otherwise managed) before you get started on this project.
Log into your server. I have root access from ssh disabled, and you may want to consider doing this as well.
I use the su - username notation to be sure the console session is refreshed. Now add a new group called svn that members will be a part of
Because we’re on CentOS, there are certain permissions that make the owner only having default permissions of the file, so we’ll have to deal with that here as well so that we can avoid permissions issues when users commit their changes to SVN.
Take a look to verify, in the group file, that your user is added to the correct group:
You also want to verify that svn is the secondary group by doing this:
You should see something like this:
Now you’ll set up the ssh keys. We’ll set up dummy keys for now because we’re going to copy the public key from our local computer, not the other way around. Make sure you are still acting as the new user.
when it prompts you for a filename, enter id_rsa
when it prompts you for a password, hit enter, leave it blank, we won’t be using these keys.
Now, go back to you local computer and generate the keys again as described above, but this time use a password. If you already have keys, you’ll just need to copy them to the server.
From your local computer, do a secure copy. My keys happen to be named identity. Also note that I am renaming the keys to authorized_keys2 for this CentOS environment.
Double check that the user can now log in properly without any trouble. Now to go back and change the permissions on the repository
You’ll want to make sure your repository has a group owner of svn and a user owner of someone in that group. Make sure you’re running as root here, and it never hurts to refresh the console using the dash notation.
Since the owner can read/write but the group can only read/view on the CentOS, we need to change the default umask for the user to avoid collisions:
In the .profile file, add the following:
then reload the environment again by doing:
Now we need to make joe’s default group SVN:
Now refresh enviro
You should see something similar to the following–notice the default group is svn now:
Now, if you’d previously been using svnserv, you’ll want to turn it off. Let’s start by viewing the running processes on the server:
I had more than one instance running, so I ended up doing the following (do at your own risk)
Double check that you can then check out, change and commit files. If you can’t, there is likely a permissions issue. Also double check that you can’t access the repository with plan svn://. If so, you may have not properly terminated svnserve. You will also want to clean up for yourself by making sure that you’ve removed any information from the passwd and svnserv.conf files in the /var/svn/reponame folder.
Cheers!
Tags: reference, server admin, ssh, svn
Well, I’ve been a bad blogger lately, lots of awesome stuff going in in the world of Ingrid. I’m now working at Gnip. I’ve gotten the chance to do some really cool stuff there, having a great time for sure!
In any case, here’s a little snippet of something I wrote. In Computer Science, recursion is a major conceptual hurdle to get through. Once you master it in school, you sadly may or may not ever see it again. Well, I was fortunate enough to need the beauty of recursion recently.
Say you are trying to calculate the date of the first Sunday in September of 2008. You know that the first day of September is September 1st. The following recursive function in PHP will take the parameters and return the day part of the date. For instance,
echo addDay(”9″, “1″, “2008″, “0″);
This will return 7; the first Sunday in September of 2008 is, indeed, September 7, 2008. Here is the function: