Blog | Admin | Archives | Heatmap | Recent | Random | Wishlist | Plan | Gallery

Firefox Turns 5

Almost six years ago, I first downloaded Mozilla Firebird, the web browser that became Firefox. Within a week, the new browser had won me over. It took about another year for Mozilla to release Firefox 1.0, the first generally available version of the new browser, on November 9, 2004. Now, Mozilla is celebrating Firefox’s fifth birthday.

Since then, Firefox has seen over 1 billion downloads and has made significant inroads against the once totally dominant and stagnant Microsoft Internet Explorer. Despite experiments with Chrome, Safari, Opera, and the newer versions of IE (which wouldn’t even exist had Firefox not forced Microsoft into action), Firefox has remained my browser of choice, due in large part to its constant improvements, rich set of extensions, and supporting all the little things that make browsing fast and fun.

In a lot of ways, the culture of Firefox has grown into a religion, with its adherents being encouraged to spread the good word of Firefox, convert their friends, and so on. Nevertheless, it is a religion I feel good about being a part of. So, if you don’t already use it, go give Firefox a try.

Issue 9

Like much of the tech world, I learned about Google’s new programming language yesterday, and listened to the tech talk on it before going to sleep last night.

This morning, an engineer at Facebook started a discussion thread on the language. That’s when I learned about the now famous “Issue 9“: In short, there is already is a language named Go! (as compared to Google’s chosen name, ‘go’). In the somewhat rancorous discussion that followed, one recurring theme emerged: ‘go’ is a bad name for a language, and “Issue 9″ (or perhaps Issue9) should be the new name. Robert Greiner wrote a good post about this. In a similar vein, here is why I think a name change is in order:

  1. ‘go’ is a poor name choice for a programming language, and of all companies, Google should understand this: ‘go’ is a too-common word that will make search results almost useless (try a search for “debug go”). Even with well-established languages with poor names such as C, searches can be troublesome.
  2. As I mentioned before, there is already a language named Go! To stay in line with their “Don’t be evil” mantra, Google shouldn’t squash the little guy, which they are perfectly capable of doing here.
  3. There is an epic marketing opportunity for Google here. Many people and the press will love it if Google renames their brand new language in order to do the right thing. At the same time, they can deal with the fact that ‘go’ is a poor name to begin with.
  4. ‘Issue 9′ or ‘Issue9′ — abbreviated i9 either way — is a good name for a language that incorporates a computer science idea but is still generic (but not too generic!)
  5. There is already a groundswell of support for the Issue 9 name.
  6. Issue 9 would not have any search engine name collisions.
  7. Others have already suggested incorporating the new name into language constructs. For example the keyword ‘go’ could be replaced (or aliased by) ‘issue’ — this even makes sense!

I hope that Google makes the right choice without litigation. Even if Google doesn’t make the right choice, I hope there is not litigation — it doesn’t actually help anyone in this case. The creator of Go! has gained more publicity through this than a lifetime of toil would have gotten, so in a way he should be grateful. There is no other way most people who are now aware of his language would have heard about it otherwise. I want Google to do the right thing, but even if they don’t, I think legally it should end there.

Finally, I will give mad props to Google — and I promise to learn the language — if they change the name to Issue 9.

Scheming

This month should be a good and busy one. I have been scheming over the last few days, and this is what I have come up with so far for the rest of the year:

  • Post pictures from Peru on this blog (these photos are already posted on Facebook)
  • Post pictures from Australia and New Zealand here and on Facebook (I’m way behind on this front).
  • Bring the Checksum Arcanius Photo Gallery up-to-date.
  • Swap my Apple Macbook Pro for a Lenovo Thinkpad T400 with Windows 7 at work. My plan is for this to also become my main laptop; my current laptop, Graphitica, a Dell D630, will go to my wonderful mom. I will miss the touchpad on the Mac, but I think that pretty much everything else will get better for me with this swap.
  • Help the new housemate, Jasmine, move in. This will probably involve finding a truck that I can borrow for a weekend.
  • Drive the Saturn back to Washington for Thanksgiving; leave it there, and fly back to SFO (this will lower the car pressure on the house, which after Jasmine moves in, will be at 5. Returning my car to Washington will lower that to 4.) As long as I can occasionally borrow a housemate’s car, I will be fine with respect to transportation.
  • Have a few good contributions to Drizzle’s development

That is all for now. More schemes may come.

Bootcamp

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

Silverfir.net 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.

Blistering

Today I went for my final “tune-up” walk/run before next week’s Portland Marathon. I know by now that there is no way I will survive actually running 26 miles, so I am planning on a hybrid walk/run (mostly walk), not unlike Theo, although I certainly won’t be keeping up 8 minute speed-walked miles.

Today’s adventure consisted of 14.3 miles in about 3.5 hours, which is around 4 mph. I walked the first 9 or so miles at a pretty good clip, then started running back on Middlefield. A few miles into the run back, I had a sharp pain in my heel, so I stopped to check it out and found a popped blister. I found it hard to even walk in my shoes immediately after that, so I actually went barefooted for about a half mile before deciding that shoes would be better in the long run.

So, I put my shoes back on, and adjusting my gait a bit, was able to stay mostly pain-free. I even got up to a pretty good clip with a modified gait and a good amount of ignoring the pain.  At Loma Verde, just over a half mile from my house, I ran into a friend from work, who was tooling around town in his brand new rally blue Subaru Imprezza WRX. He offered me a ride home, and it was a pretty good way to end an otherwise kinda crappy walk/run.

20090927-walk-run

I managed to listen to music the whole way, thanks to the iPhone and another not-as-advertised iTunes experience. But that may earn its own post.