08 Sep 2007

Child 3.0

Posted by Jamis on Saturday, September 8

After nine grueling months of intensive development, Child 3.0 (code-named “Britton Edward Buck”) was deployed early this morning, at 1:55am MDT, in Boise, Idaho.

Major props to my wife, Tarasine, for all her work on this latest addition to the Buck family of products. ;)

Posted in Life | 44 comments

17 Nov 2006

Y, N, Z!

Posted by Jamis on Friday, November 17

My daughter, who is almost 3, has been learning the alphabet. Today, when my wife asked her what comes after Y, she answered, “N!”

She insisted it was so, because the song goes ”...W, X, Y N Z.”

Posted in Life | 13 comments

07 Oct 2006


Posted by Jamis on Saturday, October 7

Just a heads-up to say that I’ll be out of town for the next several days, returning to Idaho on Thursday night. My wife and I are flying to Chicago tomorrow morning to attend 37signals’ Getting Real workshop on Monday, and we’ll be touring the town for a couple days afterward.

I’m still working on the next “Under the hood” article, which will explore route generation in Rails. It’s a hairy one, which is why it’s taking longer to write than the other two, but I hope to be able to post it sometime next week (probably Friday).


Posted in Life | 0 comments

29 Aug 2006

Quick Update

Posted by Jamis on Tuesday, August 29

I safely arrived in Idaho a few months ago, and am getting settled in nicely. I apologize for my extended silence—things have been crazy. That, combined with the fact that I can’t seem to keep my blog from crashing for two days running…

Anyway, things should calm down soon, and when they do I’ll spend some time investigating what the deal is. It may be lighttpd, it may be typo, and it may be textdrive. However, I most strongly suspect typo right now.

Posted in Life | 10 comments

20 May 2006

Moving to Idaho

Posted by Jamis on Saturday, May 20

So, next week my family and I are moving to Idaho. We load up the U-Haul on Tuesday (the 23rd) and drive, drive, drive on Wednesday.

What this means is that I’ll be effectively incommunicado until the week after that (the 29th, or thereabouts). So if you send me an email, don’t be disappointed if it takes me a while to reply. I’ll also be temporarily unsubscribing from the various mailing lists I’m on, just to prevent my inbox from growing too quickly while I’m away.

Posted in Life | 9 comments

25 Dec 2005

Seasons Greetings

Posted by Jamis on Sunday, December 25

From my family, to yours:

Have a Merry Christmas and a Happy New Year!

— Jamis, Tarasine, Nathaniel, and Katie

(edit, 10/25/2010: family picture removed due to abuse by spammers and scammers.)

Posted in Life | 1 comment

11 Jul 2005

1,000th Wedding Anniversary

Posted by Jamis on Monday, July 11

Today, my wife and I celebrate our 1,000th wedding anniversary. (That’s 1,000 in binary, of course.)

May the next 0b1000 years be as incredible as the first!

Posted in Life | 0 comments

17 Mar 2005

Challenges of Parenthood

Posted by Jamis on Thursday, March 17

Apologies to my faithful readership—this evening’s article is taking a temporary departure from my usual programming-themed fare. My wife and I had something of a scare today, and I need to process it. And just what good is a blog if you can’t write about the things that really matter to you?

So, feel free to ignore this article. It really is more for me than for you, but I invite you to read it anyway, because it is about someone very dear to me: my one-year-old daughter, Katie.

Katie has had a rough couple of months. She’s been sick nearly constantly since January. When I left to go to Seattle for the Building of Basecamp workshop in late January, Katie was found to have an ear infection in both ears—from that time to now she’s only had a week or two of good health.

A few weeks ago, she was running a high fever, and one evening, to the dismay of my wife and myself that fever exceeded 106°. We quickly called a doctor, who directed us to go to the nearest InstaCare facility. The doctors feared it could be a blood infection, or meningitis, but after taking her to the hospital for further examination, she was released to go home. The next morning her fever was all but gone.

About a week and a half ago, she was finally feeling well enough that we decided it was time to give her the immunizations we had deferred at her one year birthday, due to illness. Two shots, comprising three immunizations, and we were warned that she could exhibit a fever and/or a rash in seven to ten days.

Ten days later (yesterday, in fact), she woke up with a low fever. Tarasine (my wife) administered some Tylenol and we proceeded as though this was the prophesied fever. For about the last 36 hours, the fever ran between 101 and 103 degrees Fahrenheit—high, but not exceedingly so.

When Tarasine got Katie up from her nap at about 4:30 this afternoon, she noticed that Katie felt pretty warm. A few minutes later, Katie began convulsing.

Her fever was over 106°. She’d never before gone into siezures—in fact, I’d never before witnessed a siezure. I was working in my “office” (a converted corner of our bedroom) when Tarasine ran in, carrying Katie, asking what we should do.

Katie was shaking, and turning blue. She was grunting with the exertion of the convulsions. I immediately called 911. It seemed like forever before someone answered the phone.

By this time Katie was breathing again, shallowly, raggedly. She was sweating profusely. In a daze, I relayed instructions to Tarasine as the woman on the other end of the line told us what to do. Paramedics were on the way, she said. Get together all medications that Katie had been taking. Write down the name of our doctor. Keep Katie on her side. To be honest, I can’t remember most of what she said we should do.

When Katie’s siezure passed, Tarasine went to collect the necessary items and information. I stayed by Katie’s side and comforted her, trying to keep her awake and helping her stay cool.

She was moaning and whimpering pitifully. I prayed. Tears blurred my vision. The waiting seemed interminable. Thankfully, her fever rapidly dropped, and by the time the paramedics arrived, it was only about 103.5°.

By this time things had calmed down. The paramedics came in, examined her, and pronounced her as well as could be expected, but recommended we take her to the doctor. Our family doctor, may his name be forever blessed, was able to see her right away, in spite of the time being 5pm. His diagnosis? A viral infection, with Tylenol and Ibuprofin to be adminstrated in alternating turns every two hours.

Katie is sleeping now, with a temperature of (at last measurement) 99.8° My wife’s heart is still racing. And me? I’m still on the verge of tears. I was astonished by how much fear I felt during those few minutes. What if Katie died? Or suffered some permanent brain damage? It is impossible to describe how terrifying those thoughts were.

God watched over my family today. The fact that I am now working from home is another blessing—what if I’d still been working for BYU, and had been 15 minutes away when this all transpired? I’m sure Tarasine would have been able to call 911 and take care of Katie in my absense, but my being home was an immense comfort to us both.

Tonight will probably be a sleepless one. We’ll probably take shifts, checking on Katie every two or three hours to make sure her fever remains low and responds to medication. Tomorrow, my wife and I will probably take turns napping.

But you know what? If someone had been able to really make me understand, four years ago, how hard it is to be a parent, I might have hesitated. But “hard” is only half of the equation, and not even the strongest half. If that same person had also made me truly understand how wonderful, how emotionally powerful it is to be a parent, all hesitation would have vanished. If I had known then what I know now, I would have embraced parenthood with all the enthusiasm I did originally. Yes, it is hard being a parent. But it is so incredibly worth it.

Update (18 Mar): Katie is doing better. She slept soundly last night, and her fever abated for most of it. She has a low fever again this morning, but we’ve got her on Tylenol and Motrin, and she’s eating and drinking and being generally cheerful. We’re keeping a close eye on her. Thank-you all for your notes and prayers.

Posted in Life | 1 comment

08 Mar 2005

The perils of programming while sick

Posted by Jamis on Tuesday, March 8

So, I knew my turn was coming. My one-year-old daughter was quite sick about a week and a half ago, running a temperature of 106F. We even took her to the emergency room for that one, though her fever was all but gone by the next morning.

Then, my wife got sick. No fever, but she got the aches, the cough, the congestion, etc.

Then, my son. A mid-grade fever most of yesterday and this morning, but fortunately he’s such a hardy little fellow (at all of three years old) that even at the worst of it he was still cheerful, if tired.

Yesterday was when I felt my turn really coming on. I felt that scratchy, dry feeling in my throat that we all dread. This morning I also started feeling a tingling in my nose and sinuses. Then the aches set in. And the congestion. And the cough.

And the drowsiness.

And that was when I meant to type rm -rf /var/www/releases (while testing a new release manager for Basecamp on our development box). Instead, my fevered fingers refused to type more than /var/www...

All I can say is, thank goodness for file permissions and quick (if clumsy) reflexes. Even so, I managed to delete at least one directory that was actually missed—fortunately most of it was recovered. Jason and Ryan got a good laugh out of it, all while I blushed fiercely crimson. What a way to go and impress my new employer with all my l33t sk1llz…

Anyway. They’re all very forgiving, and I certainly appreciate that. I’m not usually such a clutz!

Finally, let me just take a minute to praise David. Yah, he gets plenty of that, especially in connection with Rails, but I have been very impressed with how easy he is to work with. Many people (cough me cough) have a difficult time “letting go” of a project enough to let someone new actually work in it unsupervised. David, on the other hand, not only lets me go unsupervised (though that might change with the recent rm -rf debacle, ha!), he generally only offers advice when asked for it. And when I do, he gives it graciously and unpatronizingly.

I consider myself very fortunate to be able to work under his tutelage. Thanks, David!

Posted in Life | 0 comments

05 Mar 2005

On the job

Posted by Jamis on Saturday, March 5

David Heinemeier Hansson, my partner-in-crime at my new job with 37signals, just posted a great summary of the insanity that comprised my first week on the job.

But let me add a bit more information: David touched briefly on the utf-8 conversion issues. What he didn’t mention was that, after 4 hours spent converting all that data, I accidentally rolled back about 80% of the changes in an attempt to restart the script so we could take advantage of some concurrency while converting one particularly large table.


Yah, but the kicker is, we didn’t realize what had happened until about 24 hours later, as reports began rolling in about garbled data. I was pulling my hair out, trying to understand why some data had been converted, and other data hadn’t. That, on top of all the server issues David described…imagine my frustration! It felt like the world was crashing down around us.

Fortunately we discovered the problem and were able to rectify it. Some data is still a little garbled due to the use of CP1252 by some customers (which adds characters to the “reserved” region of ISO-8859-1, the character encoding Basecamp originally used). But we’ve got a handle on that and will be running one more conversion script soon.

(Lesson learned: if you think you might ever want to handle internationalized text, plan for unicode up front!)

Oh, and on top of all of that, my wife and I were remodeling our bedroom at the same time! We were trying to make room for a small office area for me. Moving furniture, painting, painting, painting… To say I haven’t gotten much sleep over the last few days is an understatement. It’s been a pretty wild ride, in all.

But you know what? It’s a pretty good sign when you can go through all of that during your first week on the job, and still be excited about the job. I’m looking forward to the weeks and months ahead! (I mean, it can’t possibly get any worse...can it?)

Posted in Life | 0 comments

16 Feb 2005

Look at me, I'm a Signal!

Posted by Jamis on Wednesday, February 16

Two months ago, I began doing consulting work for 37signals. Primarily, I was working on Basecamp, adding new features and fixing bugs, as requested.

And now, two months later, it looks like Jason and friends feel that I’m a good fit. I’m going to be a Signal!

March 1st will be my last day at BYU, where I’ve worked as a programmer for the last 5 years. I’m certainly not leaving BYU out of any dissatisfaction there—it’s been an extraordinarily wonderful place to work, and I’ll be leaving a lot of friends I’ve made there.

But starting March 2nd, I’ll be working for 37signals, from home, in Ruby—definitely my definition of a “dream job”. It’ll be a great opportunity, and one that will really stretch me.

I had the opportunity to meet Jason and Ryan (and David, although David and I met previously at the 2004 International Ruby Conference) at the Building of Basecamp workshop in Seattle a couple weeks ago. I can honestly say that I’m leaving one fantastic job for another—these are great guys.

Here we go!

Posted in Life | 0 comments

11 Jan 2005

Busiest. Day. Ever.

Posted by Jamis on Tuesday, January 11

Today, I attended a staff meeting, babysat my 3-year-old son, helped launch a new feature on Basecamp, registered a new RubyForge project, and released Net::SSH 0.9.0, Net::SFTP 0.9.0, and Syntax 0.5.0.

Mostly, I just wanted to get the latest Net::SSH out the door. It fixes a bunch of nasty bugs and adds some really cool features. In fact, with this new version of Net::SSH, you can even write a simple SSH terminal client in pure Ruby.

I’m positive that terminal client will have all kinds of problems in Windows, but from my linux box I can use it as a drop in replacement for ssh, almost. It doesn’t support window resizing, and if you run vim it assumes a window size of 80×24. But more would you expect from 45 lines of Ruby code?

Posted in Life | 0 comments

07 Jan 2005

The Cat's Out of the Bag

Posted by Jamis on Friday, January 7

David Heinemeier Hansson announced today on his blog the launch of several new features to Basecamp. He also was generous in his praise of my contributions to this latest upgrade, both on his blog, and on the Ruby on Rails weblog. So, the proverbial cat is out of the proverbial bag: I’ve been moonlighting for 37signals for the last month.

It has been a lot of fun to work with David and the rest of the 37signals crew, not least because it has all been in Ruby! It has also proven to be an excellent means of stretching my “rails muscles”, and helping me to learn much more about the innards of that fantastic web framework.

It has been challenging. Adding the time-zone support, especially was educational. I learned, first of all, that time zones have a pretty far-reaching impact on an application, and as Jason Fried mentioned in the upgrade announcement, “Note to everyone who wants to build a web-app: Build time zones into your product from the start.” But all in all, it works pretty well.

The other feature I helped with was adding SFTP support. This has helped fix a few bugs in the Net::SFTP, and also identified several areas that need work… hopefully there will be a new release of both Net::SSH and Net::SFTP in the near future.

And in spite of David’s glowing words about me, I have to say that he is the wizard here. Just reading the Basecamp code, and learning the ins and ous of Rails and its components, has revealed to me (as it has to others) his genius.

Oh, and I’m going to have an opportunity to meet David (again) and the rest of the 37signals crew later this month, at the Building of Basecamp workshop in Seattle. I’m looking forward to it!

Lastly, and unrelated to anything else: I’ve moved my blog to a new host (TextDrive) and there are a few wrinkles that I need to iron out. Feel free to drop me a line if you find anything acting strangely.

Posted in Life | 0 comments

02 Nov 2004

The Pinball Number Count

Posted by Jamis on Tuesday, November 2

Let me just take a moment to wallow in nostalgia.

Wallow. Wallow. Wallow.

I’m sorry that you had to see that, but I just stopped by the blog of whytheluckystiff and discovered that he had uncovered the history of the Pinball Number Count song!

Yes, you heard it correctly the first time. That’s the Pinball Number Count song! He has both the song, and the video, right there on his site.

This is the song (and video) that I remember most vividly from my childhood TV watching days. Watching that glittering silver ball bounce through a freak-show pinball game, with the words “one-two-three-foooour-five, six-se-ven-eight-niiiiine-ten, eleven-twelve!” echoing around me.

Those were the days. Thanks for taking me back, _why.

Posted in Life | 1 comment

29 Sep 2004

Getting Ready!

Posted by Jamis on Wednesday, September 29

Tomorrow I leave for Virginia! I’m pretty excited, but nervous too, hoping that everything comes together to get me to the conference in one piece. I’ve touched up my presentation a bit (adding a few more slides, so now I know it’s going to be too long). I’ve also worked hard on Copland, getting it ready for the big 1.0 release. I feel really good about it—I hope I can do it justice at the conference. I read things like this and despair of ever helping people see how cool IoC (and Copland, specifically) really is. :(

Posted in Life | 0 comments