Blog | Admin | Archives


On Friday, I graduated Facebook bootcamp, a six-week onboarding program that is designed to get new engineers at Facebook up to speed quickly. Overall, I think bootcamp is a good program — it certainly beat the socks off of my onboarding experience at Amazon. Facebook moves even faster than Amazon, yet the onboarding sessions were up-to-date because they were owned and presented by engineers, not relegated to some out-of-date wiki (although, overall, Amazon’s wiki is considerably better than Facebook’s).

At any rate, the best parts of bootcamp for me were two excellent onboarding sessions: one on JavaScript a few weeks ago, and one onĂ‚  Git last week. The engineers presenting had good presentations, but more importantly, they took time to answer my questions very thoroughly. It is very exciting to be working with people who have such deep knowledge and are so readily available.

One of the tasks during bootcamp is to figure out what team to join out of the teams that are hiring. I found I enjoyed most of the tasks I worked on, so I had trouble narrowing it down initially. In the end, it really came down to working on Scribe, an open-source distributed logging system that Facebook created, or working with the Databases team on what essentially amounts to MySQL hacking. As hard as the choice was to make, it was a good choice to have because I’m certain either team would have been an interesting place to work. However, in the end I had to make a choice, and today I started with the Databases team.

For now, my task is to get up to speed on Drizzle, a stripped-down branch of MySQL. I certainly have my work cut out for me, but I wouldn’t have it any other way.

Now Serving: Minimus is now hosted by Minimus, a new server that Dan put together with funds that he and I pooled to replace the aging, big, and noisy Frankenputen.

The changeover took place early this morning, after hours of struggling against forces that I had never before met, namely AppArmor, a security system in Ubuntu Linux that is newly enabled-by-default as of Ubuntu 9.04. Specifically, it prevented Mysql from reading to a new directory I had set up for it on the non-root drive. Once I knew what the problem was (after barking up the wrong permissions trees for a long time), the fix was fairly simple — adding a couple of lines to Mysql’s AppArmor config, and bouncing AppArmor made everything work fine.

The only remaining issue appeared to be Gallery’s non-relative-path issues, which I temporarily fixed up using a symlink. but, Scott, Dan, and I all need to update our Gallery configs to use the right path, because one of these days I’m going to delete the symlink.

Of course, if you used to have a user account on SilverFir, you probably don’t anymore, unless your name is ‘Dan’ or ‘Ryan’. Send me a message about it (email is best. but a comment also works) and I’ll set it up for you. Also, if you notice anything not working, let me know, and I’ll look into it.

Minor Miracles and Marathons

One week ago, I completed the Portland Marathon. Even as I started out, I truly did not expect to finish, because two weeks ago, I hurt my feet. Initially, I thought my feet would heal within the week and I would be able to do the marathon, but at the week wore on, my feet weren’t getting better. So, I slowly came to the realization that I would be watching my friends run the marathon, not participating myself.

Down in Portland, however, my mom suggested that I invest in some new shoes, since the ones I had were fairly battered. I thought it was a bad idea, because breaking in new shoes during a marathon didn’t seem that smart. But then my friend Scott, who run done a few marathons in his time, agreed with her, saying that good running shoes don’t actually need to be broken in. Thus I found myself in a Sports Authority on Saturday night buying new shoes.

Also on Saturday, I spent some quality time in a hot tub, which seems to have, in large part, miraculously healed the blistering and bruising on my right foot. Combined with the new shoes, I suddenly started believing again. Maybe I could complete the marathon. I really wanted to get this out of the way, because during training I discovered that I didn’t like long-distance running at all, and if I didn’t finish the marathon now, it would bother me until I finally did, so getting it out of the way was pretty important to me.

And thus, I found myself on the start line of the 2009 Portland Marathon, in new shoes, new shorts, new socks, and wondering how far I was going to go. I started out by walking. I found that by turning my left foot a little further out than normal, combined witht eh new shoes, I could eliminate the pain that I usually felt in that foot. The right foot, as discussed earlier, seemed to have spontaneously healed in a hot tub. Or maybe it just got better all week and I didn’t notice until after getting out of the hot tub, but that story isn’t as fun. And so I walked. And walked. And walked.

A few miles in, I was feeling alright, but I was still skeptical about my chances of finishing — after all, the previous week, I had felt pretty good until a popped blister suddenly halted my progress. When asked by my cheering family if I thought I would finish, I simply shrugged, and kept on walking. About 10 miles in, still walking, I noticed that my left knee was protesting a little to my left foot’s new outward position, so I started changing the position of my left foot around a little, which helped enough to keep going.

At the half way mark, I actually started to believe for real. I was slowly feeling worse, but I could tell that the rate at which I was feeling worse would get me well past the finish line. So I continued to walk, miles slowly ticking off as I continued to pound sports drink and occasional gummy bears from enthusiastic volunteers.

Walking gives one a lot of time to talk to people around you, since it certainly isn’t your respiratory system that is maxed out. I met a few nice ladies (I seemed to be in the pace preferred by 50-60 year old women), and generally had a good time, depsite the creeping pains.

Around mile 24, I started flirting with the idea of running the rest of the way, but I found that it was hard to get myself to change the motion that I had been doing for six hours already. At mile 25, however, I actaully did start running, albeit slowly. Even at the barely-running pace, I was quickly passing people, which helped me keep it up. But I promised to myself that I would actaully kick up my feet and really run after mile 26. Thus mentally preparing myself, I found that I actually could do it this time, and I came across the finish line considerably faster than anyone else around me.

Six hours, fifty-five minutes after I crossed the start line, I finished a marathon.

It was nice to be done.