Ted Leung on the air: Open Source, Java, Python, and ...
This weekend I had some stuff I wanted to write (on paper) and couldn't find any space on the desk in my office. That pushed me over the edge, and I spent Saturday afternoon cleaning my office instead of doing that work. So I was amused to read Kathy SIerra's post about her new office, and James Duncan Davidson's post about the Aeron that he bought when he went solo.
I've been working at home since January of 2001, and I am fortunate to have a dedicated office. When I worked in the Valley, I worked at many companies that believed in hardwalled offices: Taligent, Apple, the IBM Cupertino office. I can easily say that my home office is the nicest office that I've ever had. I have good office furniture, a small (too small to sleep on) sofa, doors to the outside/deck, and nice views of trees. But my office can't touch Kathy's trailer -- sorry no pictures, because I still didn't finish cleaning it.
Like James, I bought a nice office chair when I set up the home office. We had Aerons at the previous job, but even though they were trendy, I didn't like them. Being small, I found them to be cold and relatively uncomfortable. Having had repetitive stress injuries (tendonitis), I knew that things like correct sitting posture and so forth could make the difference between being able to work and being in pain. There wasn't a question in my mind that I needed a good chair, the only question was what it would be, since Aeron's were out. In the end, I got a Steelcase Leap Chair, which is adjustable in all the right ways. It doesn't have the brand recognition of the Aeron, but for me it is far more comfortable.
The following week I will be in Portland for OSCON. In addition to the normal OSCON festivities, James Duncan Davidson is organizing a photo walkabout on Sunday if you are getting in that early (I will be).
If you're at either event, come by and say "Hi".
Longtime readers will know that shopping for clothing usually results in a blog post...
Yesterday I took Abigail to the mall to buy a bicycle. As part of the deal she agreed to go shoe shopping with me, since both types of shopping required a trip off island. While traipsing up and down the rows of the shoe store, she asked me "Why do you need a new pair of shoes? Did you outgrow yours?". A bystander looked up from his own shopping and remarked "That's a good question". Which it was. We stopped and I explained to her that once you reach a certain age, your feet stop growing and you actually start to wear out your shoes (and shirts, and pants). Then I pulled off one of my Nevados (I actually didn't even know what brand the shoes were until today), and showed her how the back of the shoe was ripping out. We then resumed the frustrating experience of looking at shoes that either I didn't like or which were not in stock in my size.
When we got home, I started Googling for a few of the brands of shoes that I liked, which itself started turning into a frustrating experience. Nevados, for example, has no corporate web presence that I could find, and I ended up at shoes.com. Julie wandered in and said "I have a site for you": Zappos.com. No only could I search for shoes by brand and style, I could search by size, which is a huge timesaver because I am at the bottom of the shoe size distribution. I was starting to feel better. Then I learned that Zappos had free shipping and will enclose a prepaid UPS/USPS return label in case I didn't like the shoes. The hassle of shipping (and worse, return shipping) was why I hadn't even bothered to try buying shoes on line. It took (another) frustrating shopping edition for me to wind up at Zappos. While I enjoyed the time that Abigail and I spent shopping and talking, I'm probably never going to darken the door of a shoe store again.
- In all the startup situations that I've been in, office infrastructure services were a big distraction. The cost in attention, time, and money was really not worth it.
- As an open source person, and a former independent consultant, the whole notion of Going Bedouin just makes sense. It's just a normal part of what you do.
- The tools for working Bedouin are definitely all there -- I use almost all of them on a daily basis. The only thing I would need to change from my current setup is to pick up EVDO service if I was more mobile. Fortunately, I don't need to do that. I have a decently decked out office at home, which is probably the best office I've ever had, including the hard walled offices I had at Taligent, Apple, and IBM.
I was very glad that Greg didn't equate Going Bedouin with working in coffee shops. There might be some job functions that can work perfectly well in a coffee shop, but jobs that require large amounts of flow state are non-starters in a coffee shop, at least for me. It's also starting to look like coffee shop workers are going to have security concerns to contend with. I'd much prefer software/technology versions of the Grotto. Places like that would be ideal for a few days a week of physical, time, allow for cross pollination and water cooler style serendipity. I know that Chris Messina has been working on something like this down in San Francisco. If I were still consulting, I'd be trying to do similar thing for the Seattle area. Even so, I'd only want to be there for meeting/communications days. Right now at OSAF, even the people that work in the San Francisco office are only there 3 days a week. Those three days get filled up with meetings and other in person stuff. I guard those other two days for the high flow state stuff.
Greg devoted a big paragraph in the follow up to worker socialization. If people don't all go to the office, how will their social needs be met? The question is a variant of one that I get asked when people find out we homeschool our kids: If children don't go to school, how will they learn to socialize? I think Greg asks the right question: do we want some other institution to be responsible for our social structure/network/well being? Work and school are not the only places where one can interact with people.
On the way home from Northern Voice, we stopped off at the Vancouver Aquarium. After a fun time inside, we returned to our car to find the glove box open, a suitcase unzipped, and the pair of bags containing my and Julie's laptops gone.
Needless to say, this is going to a pretty major cramp in our ability to blog/respond to e-mail, etc, while we sort out police reports, insurance companies and so on. We really depended on those machines for day to day life. The impact of them being gone is still sinking in.
If anyone has tips for dealing with this kind of situation, we would really appreciate them.
In 2005, I did something different at the end of the year. I worked really hard to stay away from e-mail, and I didn't write any blog posts. This lead to a very relaxing end of the year vacation, which including movies with the kids, ice skating, and building a lightbox (pics on flickr). Unfortunately, it means that a ton of e-mail and other stuff has piled up, so those of you waiting for a reply from me will have to be patient a little while longer.
Also, our Christmas Day power outage trashed a disk in one of our Linux servers. If anyone has experience recovering an ext3 disk that's was part of an LVM group, I'd appreciate a comment with your experience. I've done a bunch of Googling and tried a bunch of programs, without luck. Right now e2retreive has been running for over a week now, but I've no idea whether it's going to work.
I'm going to be at the OSAF offices in San Francisco next week from Monday (12/5) through Friday (12/9). After that I'll be at ApacheCon 2005 (it's not too late to register!) from Saturday (12/10) through Wednesday (12/14). If you'd like to get together, leave a comment or send e-mail.
A long time ago I posted about the travails of finding clothing that would fit me. The change of seasons always brings the question, "do I have enough good clothes to wear", which inevitably leads to another round of me being disgruntled about the experience of shopping. Julie dug up some links that have some pretty good ideas for clothing for small men. Just in case there are any more of you out there feeling aggravated.
is that you aren't in a continuously air-conditioned building like many workplaces. Ordinarily I consider this a plus, but for the last few weeks my allergies have been killing me, to the point where I can't manage to wear my contacts for a full work day. My nose is being crushed by the weight of my heavy glasses. Airconditioning is one of the few things that seems to be effective at keeping the allergies at bay.
For those who care, here are the conferences that I'll be at this Summer:
Gnomedex 2005 - Julie is giving a tightened up version of her Northern Voice presentation, and I will be there to cheer her on. The main room for Gnomedex is now sold out, but by popular request, Chris and Ponzi have opened up an overflow room, so hurry if you still want to come.
OSCON 2005 - I will be giving a presentation on how to build parcels (extensions) for Chandler. My plan is to be around for the entire conference (including tutorials).
I hope that I'll meet some of you in person this summer!
I've taken so many different kinds of medication during the course of the last 11 days that it makes for a nice lineup:
I recognize that there are plenty of people in the world taking more (and nastier) medicine than this on a daily basis, but for me, this was a personal best (or worst). You're looking at 5 different Tylenol branded combinations of acetaminophen, a decongestant, and possibly an antihistamine. These, along with a pallet of tissue were the mainstay until yesterday, when I finally threw in the towel and went to see a doctor.
The remainder of the medicines are the result of the doctors visit, including a prescription for amoxicillin, a nasal steriod spray, a probiotic formula of "friendly flora", and some Advil. Missing from the photograph is the bottle of children's Motrin which served as a stand in for Advil last night.
I have to be in pretty bad shape to see a doctor -- as evidenced by the (new) doctor's comment "You haven't been seen here in a while". Yep, long enough, that my "regular" doctor no long works at the clinic. After that it was a few questions, "breathe in, breathe out" followed by "let's get a chest x-ray". 45 minutes of waiting and 5 minutes of x-ray later, we were looking at no pneumonia, and most likely a sinus infection. So antibiotic (amoxicillin) for the infection, nasal steriod to control the dripping and running, and probiotics because the amoxicillin dosage is high enough to seriously disrupt my digestion. Oddly enough, I've had amoxicillin prescriptions before, and never been encouraged to get a probiotic. I'm a little unsettled by the thought that my GI bacteria are going to be wiped out by the amoxicillin and replaced by a careful mix of "eight of the most well-researched and stable strains of friendly flora". I'm also not crazy about the idea that there are 6 billion probiotic live cells in every dose.
That covers everything except the Advil/Motrin. We got home from the doctor and I went back to work (fortunately it's tough to infect your co-workers when you work remotely). Julie and the girls picked up the prescriptions and we were off. I took my first dose of antibiotic a few hours before dinner. At dinner I was starting to run a fever, so I took a pair of extra strength Tylenol. By the time dinner was over and the kids were in bed, I was in a bad state -- I had a truly pounding headache, and the fever had gone up to 102. So we called the on call number, talked to a nurse, and then to a doctor. This doctor ordered 600mg of ibuprofen to get the fever down. We didn't have any adult ibuprofen, so we ended up substituting children's Motrin for "adult" ibuprofen. Fortunately, that worked like a treat, at least on the headache -- the fever went down some also. I then ingested the second dose of amoxicillin, and things seem to have improved from there.
[via Kathy Sierra's excellent Creating Passionate Users ]
The fact that these guys talked about the whole productivity thing in terms of "protecting your flow state" was what really did it for me.
This is a really good alternate way of explaining what Getting Things Done is all about.
I think I've recovered enough from the trip home to write about it. I suppose I should just accept that this is going to be an annual ritual.
Our car trip from GWU to Dulles was reasonably speedy -- we only made a few minor wrong turns, and we learned a few things about Washington D.C. from bear, who seems to know something about everything. So we arrived at Dulles with plenty of time to spare, made our way through security without any problems, and walked to Concourse B, which is where all of us were flying out of. PJE and I were flying from adjacent gates, and Alec was flying from a gate down the hall a bit. I was originally schedule to fly from Dulles to Pittsburgh on United/US Airways Express and then pickup a United flight from Pittsburgh to Seattle. The problem arose when the US Airways flight was cancelled due to mechanical trouble.
The agents at the gate immediately got to work at trying to get people onto flights. There was a Dulles to Chicago to Seattle flight which the guy next to me managed to get onto. Alas, it looks like he got the only remaining seat on the Chicago to Seattle flight. All the rest of the combinations were physically impossible (I wouldn't be able to get to the appropriate concourse in time), so the agent told me that I didn't really have any choice but to fly the next day. The thought of going all the way back to D.C. and coming back the next day was definitely unappealing, and we did manage to find a hotel close to the airport. Unfortunately, I could not persuade them the issue me a voucher for the hotel. There was also a problem "getting control" of my United ticket (the whole thing was purchased through United.com) to issue me a new ticket, so I was issued a hand written ticket (a Flight Interruption Manifest) and sent on my way.
Before leaving the gate, I sat down and called United, since I had purchased the ticket through them. The woman that I spoke with looked at her computer and saw that the flight had been cancelled due to a mechanical problem, and told me that yes, United would issue me a hotel and meal voucher in this case. All I had to do was go to the United customer service desk in Concourse C.
So, information in hand, and feeling slightly less grumpy, I backtracked and took a mobile lounge over to Concourse C, where I discovered that the customer service desk was swamped by a late Orlando flight many of whose passengers had missed connections. So I stood in line for about 90 minutes, talking with a the fellow in front of me in order to pass the time. When I arrived at the counter, the agent told me that they couldn't help me and that they wouldn't issue me the voucher. Apparently, the claim is that United wasn't responsible since it was a US Airways flight. The flight also had a United flight number, and United certainly didn't have any problems being responsible for taking all of the money when I bought the ticket. I was pretty unhappy. I was even more unhappy when they told me I had to go back to US Airways. The did advise me to go to the US Airways luggage desk (which is outside the security zone, so if you leave you pretty much can't get back in).
By now it was almost 9PM (we had arrived around 4:30PM), and I was hungry, cranky, and tired. I had to go to the luggage desk anyway to get my suitcase, so I took the mobile lounge (again) back to the main portion of the airport and went to the US Airways luggage desk, where I got my bag (at least they got that right), and was told that I could not be issued a voucher because my flight originated in Dulles. Apparently if I was connecting in Dulles, they would have issued me a voucher. So now I had both airlines flim-flamming me, and I was out the extra money for a hotel stay and the time lost due to having stand in line, etc. At that point, I just gave up, and caught the shuttle to the hotel, where I had dinner (at 10PM) and went to bed early (11PM) to be ready for the next morning.
On Saturday I got up at 4:45AM for a 7:35AM flight on Alaska Airlines. (I didn't know Alaska even flew to Dulles, not that it mattered. Julie and I had a bad experience with Alaska many years ago, and I've avoided them whenever possible ever since. This weekend's misadventures are making me reconsider that.). I bumped around Dulles for a little while trying to find the Alaska counter (it was small and out of the way), and I was hoping that I wasn't going to have any problems with the handwritten ticket bit. Thankfully, there was no hassle over that, although I found it odd that I was assigned my seat by the agent asking another agent what seats they had left. While I was there (there wasn't anybody else in line) I asked their opinion on what was proper for the previous days situation, figuring that they didn't have any stake in the matter. Their opinion was the the originating airline (US Airways) was at fault. I suppose I'm going to try to call them on Monday, but I have low expectations at this point. The only other odd thing that happened was that a fellow took the bag I was checking and asked me to follow him and watch the bag go through a large x-ray machine. After that, I was directed to the gate.
Of course, before you can get to the gates, you have to go through airport security, This time, I was the winner of a special screening, so I was wanded up, down, and sideways, while another TSA employee picked her way through my bag. The search didn't get any worse than having to loosen my belt, so I considered myself lucky. This was followed by yet another ride in the infernal mobile lounge.
I arrived at the gate with plenty of time to spare, and settled in to wait. I found a power outlet and plugged in the Powerbook and my phone and was sucking down my e-mail when I heard, "Is that Ted?". I looked up and discovered Anna Ravenscroft and Alex Martelli coming into the gate. Alex is starting at Google on Monday, and they were flying to San Jose (via Seattle) to get settled. I was glad for the company, and we talked about the conference, Chandler, Google and various other topics. Then it came up that they were sitting in the emergency exit row, which they considered a benefit. They were in seats 12E and 12F. I was in seat 12D. Remember I told you that my seat was assigned in an unusual manner? So we spent the entire flight together, talking, napping, etc. I knew Anna a little bit from last year's PyCon and being drafted into their wedding toast at OSCON, but I had never really talked much to Alex. Alex is one of those people whose reputation precedes him, and I had been in a few of his sessions earlier in the week and learned quite a bit. I also learned a decent amount from the Python Cookbook, which he, Anna, and David Ascher edited (the new second edition has just come out). So it turned out that I got a really pleasant surprise to take some of the sting out of the previous day's events.
We landed in Seattle 5 minutes early, which was good because Alex and Anna had a tight connection. I bade them farewell and made my way to baggage claim. My bag came up really quickly, so I dashed out to the garage and grabbed a cab. I was expecting to miss the 11:25AM ferry and having to wait for the 12:20PM ferry, but the efficient baggage handling meant that I actually caught the earlier boat with a few minutes to spare. I spent the boat ride uploading the last of the PyCon SubEthaEdit notes and posting yesterday's entry. Julie needed to get the girls off to a rehearsal, so I grabbed a cab home. I didn't even mind when the cab needed to stop along the way to pick someone else up -- I was just so happy to be home.
I'm still not sure what travel lesson I should have learned from all of this. I am definitely going to try to avoid flights with connections, but I already try to do that. Certainly, I'll work to avoid connections between different airlines as well. I've "punished" a number of airlines by trying to avoid flying on them, but all the other airlines seem to have problems as well. Anna suggested that I try Frontier Airlines -- she and Alex are heavy travelers, and she recommended Frontier highly, so I'm going to give that a try the next time I can. At the end of it, I'm highly distrustful of both US Airways and United. That's especially bad for United, since I supposedly have some kind of relationship with them as a frequent flyer. Not that it made a bit of difference this weekend. All it took was a few hours to destroy a few years worth of goodwill.
Tonight was our biweekly meeting of the Bainbridge Island Geeks, a local gathering of software types on the island. We've been working our way through Josh Kerievsky's "Refactoring to Patterns", but we didn't quite get to it tonight, in part because turnout was a little bit light, and in part because we got sidetracked onto other things.
One of the other things that I got sidetracked into was a long discussion and exploration of color settings on the Mac. Sarah was complaining about the differences between colors on Macs versus Windows and Linux, so Rick sat down to give her (and me, inadvertently) a lesson on computers and colors. During the course of the lesson, we ended up creating several color profiles for Sarah's Powerbook. Sarah was switching back and forth between profiles, and she and Rick were commenting on the differences that they saw under the various profiles. I was watching along, but at a certain point, I just could not see a difference between the two profiles under consideration. I moved so that I was looking at the LCD straight on, and then I stuck my face quite close to the screen while Sarah toggled back and forth between the profiles. I just could not see any difference whatsoever.
Early on when we got married, Julie used to tease me about being color-blind. While I'm not color-blind (I can see colors), the whole experience has left me feeling "color-impaired". My eyes seem to be lacking a certain amount of color resolution, because I just could not see what Sarah (and Rick) were talking about.
There is an e-mail link on the right side of this blog.
If you are a recruiter, here are some things you should know before you click on it:
- I'm not looking for a new position at this time.
- I don't give out my resume when I'm not looking.
- This blog has much more information about me than my 2 page resume.
- Reading the blog before you click is likely to earn you a much warmer reception.
I appreciate your interest. Thanks for reading this.