WHAT
front page
entry archive
my flickr photos
professional home
my twitter
my wishlist
my tumblog
my facebook
WHO
3 September 2010 : reviews
Piaw Na’s An Engineer’s Guide to Silicon Valley Startups was a well-written and succinct book on the topic. Piaw distilled the subjects he discusses into their essence, and doesn’t belabor the point. I appreciate this approach to providing the essential commentary on each topic and nothing further, especially with his rich suggestions for further reading on each topic.
The book does an excellent job of explaining the stages of startups, compensation expectations within them, and pretty much everything else that’s relevant about jumping ship, one way or another. Especially useful is the treatment of pre-IPO stock options from a financial and tax planning perspective, which was illuminating for me.
If you’re curious about Silicon Valley startups and compensation considerations for a software engineer (or indeed startups in general — the author admits inexperience outside of that area, but I think much of the advice is applicable to working for a software startup anywhere). This book is an exceptional value, and you know exactly where your money for the purchase is going, which is pretty neat.
9/10.
22 August 2010 : reviews
I really don’t know how to describe how terrible P. F. Chang’s was. I’d been meaning to give it a shot for years, and finally got around to visiting the one in Stamford.
The experience started a bit rough; we had a reservation; one of the individuals at the front of the house grabbed some menus and started walking towards tables; in the absence of any fucking words to tell us what was going on with our reservation I assumed that meant we were being ushered to our tables. I was wrong. We returned to the front podium and with no further words the same individual came back, grabbed some more menus, and beckoned to us.
We were seated at a table for four (there were only two of us) that could have been separated. Not a big deal. We waited a few minutes for our waiter to appear, ordered a couple of drinks (a pear mojito, which was okay, and a martini that featured sparkling wine, which was sweet and not particularly martini-like) that took about 10 minutes to show up. Water was also requested, which showed up and was refilled infrequently (every 20 minutes or so) throughout the evening.
We gave the dinner-for-two $40 menu a shot, featuring two soups, an appetizer, two main dishes, and two desserts. We started with both the egg drop and hot and sour soup. Both had the consistency of hot pudding. The egg drop soup tasted like semen mixed with chicken noodle soup, and the hot and sour soup tasted like beef vegetable soup. Both were salted beyond even my love of sodium, exacerbated by the infrequently refilled water.
The appetizer arrived and our delinquent waiter had yet to deliver the sauces for the table, which are apparently part of the experience at this fine establishment; we requested them again and they showed up and explained how the show works.
The appetizer was calamari, in theory. In practice, it was some sort of dry extruded polystyrene. It didn’t look at all like calamari, and I couldn’t find any evidence of the squid anywhere inside the Styrofoam. It was well engineered for sucking up sauce, but … I can’t describe how terrible and unimpressive this was.
The main dishes were two different chicken dishes, and both were easily the worst “Chinese” chicken dishes I’ve ever had. The $4.95 special at whatever takeout Chinese restaurant is in your neighborhood is at least two orders of magnitude better. The chicken came in minuscule chunks. It was soggy, flavorless, and had texture worse than chicken nuggets. I would have celebrated a trip to McDonald’s. Seriously. The vegetables tasted like dirt at best, and the sauce was worse than something from a jar.
Dessert wasn’t a real dessert, but some shot glasses with dessert in them. The tiramisu (?!?) wasn’t ghastly, the cheesecake was pretty horrible.
The meal cost $75 after tip. That’s $20 per person for the fixed price menu, two drinks from the drink menu, tax, and gratuity. What the hell.
On the upside, the restaurant looked nice inside. It was very clean, modern, and aesthetically pleasing. On the downside, this is the only upside.
I can’t really emphasize how terrible this was. I have no idea why anybody would ever eat at such a place.
Your Thoughts [1]
22 August 2010 : reviews
Unlike Michael Lopp’s first book, Being Geek has typesetting that isn’t atrocious and features unique content. As a long-time blog reader, there were certainly familiar passages, but I found the entirety of the book worthwhile.
Even for the stuff I’ve seen before, there’s something to reading it on a piece of paper, in your hands. Maybe this is why I still have not ordered a Kindle.
Anyway, on the plane, the following passages jumped out at me, and caused me to tear up my bookmark for later regurgitation:
On escaping from reality:
If you walked in and looked over my shoulder at trollkill #653, you’d think I’d dropped into a twitchy, fugue-like mental state, and I have. I am…a machine. Machines don’t have a care in the world, and that’s a fine place to be. This is the act of mentally removing ourselves from a troubled planet full of messy people, combined with our ability to find pleasure in the act of completing a small, well-defined task. This is our ability to lose ourselves in repetition, and it is task [sic] at which we are highly effective.
On using incentives and rewards to make shit happen:
It’s a knee-jerk management move to use money as an incentive. Problem is, money creates drama. Money makes everyone serious, and while you may be in dire straits as you design your game, you don’t want the team stressing about who is getting paid; you want them to stress about the work.
On “truly knowing somebody:”
I’m not suggesting your Facebook pals aren’t an important part of your life, but until you’ve sat in a bar arguing about the relative benefits of your favorite programming languages until 2 a.m., you don’t know how someone is built.
The Web connects us, but the medium also filters out the aspects of humanity that make us interesting and knowable. You’re not going to know me until you see that I talk with my hands. I’m not going to know you until I realize that when you’re really thinking about a thing, you can’t look anyone in the eees, because it distracts you.
You get the idea. Or you don’t. That’s fine too. If you’re in software, you should read this book. Is it the only book you ever need to read about your career as an engineer? No, but it’s the best one out there. Maybe I’ve just spent enough years in the industry and climbed the ladder far enough that everything resonates, but this book is relevant to me, working in software for a financial services firm on the east coast. If it’s half as relevant to you, you owe it to yourself to buy it and read it (or bug me to borrow my copy). It’s the kind of book that makes you say something like “wow, I want to go work for this guy, he has it figured out, and he knows what my job is like already.”
Again, it’s a supporting text for your career, it’s not the be-all. It occasionally feels a bit cobbled together. The chapters stand pretty well on their own, but the narrative isn’t completely coherent. To be fair, makes it clear from the onset that this isn’t going to be a linear narrative from the get-go. I don’t think this is a material detriment, but it’s something to keep in mind.
Enough of my babbling. Go buy it.
9/10.
Your Thoughts [1]
21 August 2010 : gaming
iPhones and iPads are getting an amazing assortment of truly excellent board games. Already, we have Mü, Catan, Carcassonne, Small World and a bunch of Knizia’s stuff. Things like Le Havre, Chicago Express, Neuroshima Hex, and Tichu are just around the corner.
These are exciting times.
Your Thoughts [3]
21 August 2010 : rambling
The Kindle is becoming more tempting. I’ve gotten pretty good at traveling for week-long business trips. I travel with soft-side 22×14×9 bag (which will easily compress to 20” for international travel), which is pretty much legal in any carry-on, unlike the wheeled monstrosities most people seem to bring. I also travel with a briefcase to carry my work laptop.
Space isn’t really a problem; via bundle packing and not overpacking, it’s pretty easy to fit everything I need for a week. Weight is a problem. About one third of my carry weight is technology. The next third is clothes, shoes, and toiletries. The final third is books. If I’m traveling for fun and taking camera gear instead of business technology, that quickly comes about half of my carry weight (which makes it very hard to travel within international weight limits carry-on only).
So, I carry a decent amount of books. Most of the reading I accomplish in a given year I accomplish during travel. Since this hasn’t been a high-travel year until recently, I’ve ready very little. I tend to read in the airports, on the planes, and in the evenings when I travel. So, it’s not abnormal for me to carry half a dozen books and finish most of them on a given week-long trip.
The new Kindle seems like a natural solution to my problems. It’s cheap, tiny, and weighs very little.
Getting content onto the Kindle is easy; either I buy the books I want to read, or I download an instapaper mobi bundle, and load it up. As much as I love instapaper on the iPhone and iPad, I’m sure I would prefer the kindle’s delivery.
There are three problems.
The first is the cost. The Kindle charges a pretty nasty convenience tax. Many of the Kindle books are the same price (or even higher) than the paperback versions. This makes zero sense to me. I know Amazon has a fee, and they have to pay the cellular carriers for “whisper net.” I realize that I’m buying intellectual property, and not a physical thing, and that intellectual property is worth something. Still, I just don’t get that there isn’t a huge price differential.
The second is the nature of books. I still love the feel and experience of books. But, more than that nostalgic and tactile aspect, books are an important part of my existence. I have shelves full of books. I love the way they look. I love it when somebody comes over and I can say “I have a book on that, here, let me give it to you so you can read it.” Whether it’s a gift or a loan, the ability to treat my library as a library is a pretty meaningful thing to me. Maybe it’s just a romantic notion, but I want books to be a part of my life. In my dream house, a room will be wallpapered with shelves of them.
The final aspect is somewhat related to cost. I have thousands of dollars of books I haven’t read. It will cost me thousands of dollars to re-buy those books and put them on the Kindle. I have a license (in my mind, at least) to own the content of the books I have in person, it bothers me that I cannot transfer this license. I know there is no ethical or practical way to make this happen, but I fear that this problem will propagate — when I do read books I love on the Kindle, I will want to buy them so I have a physical copy too. This is dumb. It relates to my problem with digital delivery of music. I have zero problems buying music without a physical copy, provided I can have an unprotected full-resolution version. Until that time comes, I need to buy a physical copy so that I can also acquire the digital copy that meets my requirements.
I’ve probably talked myself into getting one, don’t get me wrong. It makes a lot of sense for travel and convenience, and it seems like travel is going to be more common in my immediate future. I wonder if a subscription model (n-at-a-time ala-Netflix) would solve my gripes. I doubt it will happen anytime soon.
Your Thoughts [2]
21 August 2010 : whining
I’m usually not overly worried about a remote reboot of my linux box. I had been putting it off for a little while, but am about to be out of town for a couple of weeks, so decided to do it when I was home. It didn’t seem to be coming back up when I first bounced it, so I checked the console, and sure enough, it had decided it was fsck day for a 4TB partition. Oops. Well, that’s fine, I thought, I’ll let it do its thing.
It still didn’t come up after that finished several hours later. I got dumped into a maintenance prompt because a partition was failing to mount.
Long story short, some hardware I’d removed from the box several reboots ago still had an entry in the fstab, and when fsck ran, it thought something was wrong, so it didn’t bother continuing to boot.
So, this is just a friendly reminder not to bounce your boxes from remote unless you have remote console access too. Or somebody in your data center.
11 August 2010 : personal
It’s time to check up on my 2010 resolutions again. I originally planned to track my progress every quarter, but it seems we’ve made it through two thirds of the year, more or less. I guess that will suffice for the last check prior to the new year. It seems like a mixed bag so far.
I’ve completed seven books and three video games. So, not doing so hot there. On the upside, I’ll be spending enough time in the air in the next two months to make some material progress on the book front.
My weight and health hasn’t changed for the better. My ankle doesn’t seem like it can be fixed without surgery. The surgical fix is a band-aid. Not sure what to do about any of that, beyond that I still need to lose weight and get into shape.
My job is quite a bit different than it was eight months ago. It’s definitely new, exciting, and challenging. I have no idea what I’m doing. This is good.
Thinking in terms of months left in the year, I have detected a problem: I’ve taken three vacation days; the first was to prevent me from losing my mind. The other two were for a wedding. I have no vacation planned at this point. I need to fix this sooner rather than later; I have no delusion that I’m going to burn my entire stash of vacation days in four months, but I need to reboot sooner rather than later.
My brain is rotting and I’m getting rusty. I haven’t been coding at all. I haven’t even thought about project Euler in months. Open source contributions are a joke at this point as well. I did spend a lot of time learning Scheme earlier. I don’t know that I really learned Scheme, as Y still makes my head hurt.
I’m not taking enough pictures. So far I’m happy with a picture of a hummingbird and a shot of a plane. Toss in some goofy snowflake stuff from earlier in the year and that puts me at 3 okay photos. Going to be a busy four months if I’m going to make any progress there.
I picked up a new hobby; I’m now pretty good at crashing model helicopters. I’m now mildly experienced at repairing model helicopters. Maybe by the end of the year I’ll be okay at flying them too.
I’ve acquired more board games this year than I’ve played. I’m really disappointed about this one.
So, it’s not all bad. I’ve made some progress on some goals and knocked another one out of the park, but I’ve still got a lot of work to do.
Your Thoughts [1]
11 August 2010 : rambling
So you’re working on Project Pluto. Call it that because that was a really neat project. Call it that because it’s a really scary project. If you have to pick one, read the second link. Point being, this dichotomy is an important characteristic of all important projects. Neat and scary!
Project Pluto has a problem. It’s too slow. Everything looks great, on schedule, the world is your oyster. Except Project Pluto doesn’t perform well. Ted Merkle (Project Pluto’s director) comes to you and says “Pluto is too slow, it takes too long to run its calculations. The engineers have fast workstations that mask this fast, but with our normal computers, it’s too slow. You need to do something.”
So, you put on your management cap and start scrambling engineers. You tell them “Pluto is too slow on real hardware, you’ve been lulled into a false sense of security because your workstations are fast.” You tell them this because it makes sense. The reason you have fast workstations is because software development on normal computers is horribly slow, especially with all of the virus scanners, disk encryptors, automatic backup agents, policy audits, software updaters, and so forth that forms the modern corporate computer ecosystem.
The engineers follow your orders. They instrument everything. They use profilers. They figure out where the big slowdown is coming from. They start proving that the performance characteristics of Project Pluto do indeed indicate that much of the calculation performance is bounded by hardware performance. Everything adds up. It doesn’t just make sense, the data actually supports it, and it’s clear what needs to be done.
The problem is there isn’t any low-hanging fruit. There’s a thousand little inefficiencies.
You say “make a thousand little improvements!” The engineers make a thousand little improvements. They put in long hours. The weeks drag on. They prod and poke and squeeze every ounce of performance out of Pluto that they can, but the improvements are marginal. Single-digit stuff. Weeks go by. Pluto is ten times as good as it was weeks ago, but … the calculations are still too slow on Mr. Merkle’s computer.
You build a test environment just like Mr. Merkle’s. You don’t run anything special on it, it’s just the same hardware to keep variables to a minimum. Performance on it isn’t great. You set some performance goals, and start testing hypotheses. You start tuning Pluto to meet those performance goals. Hypothesis are proven and disproven, and more improvements are made. You’re getting close to your goals. You’re happy. You’re succeeding. You weren’t crazy all along, nuclear cruise missiles really are the answer. It’s all going to be okay.
You present your findings to director Merkle, and discover that they’ve already tested the newest version of Pluto. It’s slow. You suck. It’s even slower than before.
You’ve controlled the environment and proven that the process works; the software is fast. It must be something hostile that didn’t manifest in the lab environment. You try to figure out the difference between the two environments. Nothing makes sense. You started the day with the end in sight. You end the day starting to formulate contingency plans and control fallout.
Naturally, there are other awesome and scary projects, like Project Orion. The engineering director on Project Orion is talking shop with Mr. Merkle and the discussion turns to Project Pluto. “That’s weird, what happens if you try to run the thing without any plutonium in it?” That’s stupid, of course. The problem is that the computers are slow to calculate results, duh. Think about it. Would Project Pluto really work without PLUTOnium?
Luckily, at this point anybody will try anything, and it’s a good thing: Project Orion’s director did your job. The calculations are lightning fast in this silly nonsensical scenario. The specific test was silly because it described an atypical use case of the project. Yet, it made something very clear very quickly: The problem has nothing to do with the performance of Mr. Merkle’s computer. The entirety of the delay is caused by an upstream system that hooks into the project. As soon as that system is removed, the problem goes away. The fix for that may be hard, but it’s not something that had any chance of being fixed by making Project Pluto itself faster or better.
You’re an idiot and you suck. You forgot to think like an engineer. You thought you could just manage and direct.
Here’s what happened.
Somebody outside of engineering came to you with two things: A problem and a reason for that problem. You did the “right thing” and directed your team to put all of their energy into looking into this reason and fixing it. Things didn’t get better, so you doubled down and invested in proving that your efforts were treating the reason.
Then a real fucking engineer came along and casually did what you should have.
The problem was real and needed to be fixed, the reason was a distraction. You fell for it.
Your Thoughts [1]
22 July 2010 : reviews
In general, I’m happy with the iPhone 4. It’s a huge upgrade in performance from my iPhone 3G, which was getting to be sluggish and useless, especially under iOS4. I don’t think it’s a huge upgrade from a 3Gs; if I was in contract with a 3Gs, I would probably wait till next year. It is faster than the 3Gs, but it doesn’t really seem faster, except for in situations where you time some computationally intractable task (like how long it takes to load Grocery IQ; I’m going to try a new shopping list application, because this has gotten silly).
There is no other phone on the market that is interesting or compelling to me, though I would be hard-pressed choosing between this and a 3Gs, given the price differential, were I a new customer. If you don’t own either device, you should.
Multitasking
I know this is an OS feature rather than a hardware feature, but it’s an OS feature I didn’t have available to me until I upgraded.
It’s great, for the apps that support it. More apps need to support it. I like the multitasking implementation. It does everything I strictly want/need, but doesn’t hit me with a penaltry otherwise. It’s perfect, except that it requires developer effort to fix.
Sidebar: The difference between developers that ship apps and forget them and those that keep up with the iOS advancements is huge. I’m thinking of separating my applications into pages. The first page is “applications by developers who give a shit” and the second is “everybody else.”
The Screen
The screen is amazing. The difference is palpable, but I don’t miss it when I’m using my old iPhone 3G. It does make text look nice. The apps that take advantage of it look more crisp, but aren’t fundamentally more useful or different. Maybe my vision just isn’t so good that it matters for most use.
It’s very impressive. It’s very obvious. But, I don’t think it makes any real difference to me in what I do. I don’t find myself making the text much smaller, though I appreciate that it’s crisper. I don’t find myself not zooming into photos that I would have zoomed into before. I wish more applications would be updated to support it, but it’s not really going to change anything for me. At playing distance, games don’t seem any more impressive. Maybe time will tell on this one, but the most “amazing” feature of the new phone is amazing in theory, but it doesn’t really increase the utility of the phone for me at all.
Glass & Steel
I’m so happy that the plastic is gone. I brought it back with a bumper. I have a bumper for one reason: I don’t want a phone that can slide on a slick or semi-slick surface. The rubbery case I had on my iPhone 3G prevented it from sliding off things and onto the ground numerous times; the grippy sides of the bumper provide the same functionality in a less obstructive package. I’m a fan. I want a phone that stays put. If they put little rubber feet on the back of the phone, I wouldn’t bother with the bumper.
I am afraid of breaking the back glass, a little bit. We’ll see how this holds up over time.
Battery Life
I’m not impressed with the battery life. 2.5 hours of use and 12 hours of standby is enough to deplete half of the battery. When used as a telephone, the battery seems to decay even faster. Maybe I just have a bum battery, but it appears one day of moderately active use is all I’ll ever get out of a full charge.
There’s an incredible reserve of battery life in the iPad; it seems to hang out at “100%” for longer than should be possible, and a day’s worth of use on and off leaves plenty of power left for the next day’s adventure. I know we’re talking about apples and oranges here, but I’ve become spoiled by the iPad; I want the same from my iPhone now. This is probably an unreasonable desire given the size and weight of the device.
The Phone Is Fundamentally Broken
No, the antenna is fine. Reception has been good.
Every phone call I’ve made, the proximity sensor issue has triggered. I’ve gone to speaker phone, face-dialed, and hung up on people. This never happened for me on the 3G. I’m going to have to switch to a headset, because I cannot use this phone reliably as a phone right now. This is a serious flaw and is unacceptable. This needs to be fixed.
On the upside, I don’t really own an iPhone for its phone capabilities. It’s much more useful as a piece of wearable connectivity and reality augmentation, so I’m still happy to have upgraded, and definitely would not go back.
Your Thoughts [2]
20 July 2010 : photo
Niki noticed that there was an abundance of hummingbirds at the resort in Pembroke where Bill had his wedding. She spent a lot of time being patient and getting some amazing shots.

I think the lesson I learned from this is that there’s probably a lot of photography that comes from stealing somebody else’s idea. In this case, I cheated by using a camera with better resolution (despite its depressingly bad AF) and shot in afternoon light from an elevated position on a bench, and got lucky after about 400 exposures. Bigger crop on flickr.
19 July 2010 : photo
Bill got married in the south this weekend; it was my first excuse/opportunity to wear a seersucker suit.

Pro tip: When you’re wearing light-colored seersucker, remember to get some flesh-colored underwear.

Thanks goes to Niki for the photos.
Your Thoughts [1]
12 July 2010 : reviews
I finished the Millenium Trilogy over the weekend.
I get it. Loyal narcissistic obsessives polyamorists and hyper-rational autistics are neat. The hubris of the evil will be dealt with by the eternally vigilant.
I guess I just don’t see what the big deal is. “Bottled lightning?” Hardly. It was good light reading, but I don’t think there’s anything deep or meaningful here. It’s a great script for some action films. It was worth reading, but I guess I’m glad I’m done with it, as well.
6/10.
6 July 2010 : rambling
The weekly internal temperature chart is looking even worse today, so when my box fell off the grid, I assumed there was a thermal cause:

Turns out there wasn’t a direct thermal issue (though the battery controller on the RAID controller is pretty ornery about how hot the battery got). How do we explain the story?
Here’s line voltage into the UPS that feeds my equipment rack:

And UPS charge levels, for added effect:

And that’s pretty much the story. I’m guessing there were some crazy power issues today trying to cool Connecticut when it was running over 100 degrees.
Everything went into safe shutdown once the UPS ran out of power, and then turned back on once the power was back. Sort of. My core switch didn’t come back online; I think there’s a timing issue about when it first powers up, and one of the switches on the network never ran out of power (it has a few hours of battery life on its UPS).
Anyhow, having a girlfriend willing to go check all of this stuff out when you’re on the other side of the country is pretty awesome.
Your Thoughts [2]
5 July 2010 : rambling
It’s 66 in California right now. I’m glad to not be sharing the room with the Tubbs Center for Advanced Computation right now:

(ignore the k, and it’s x10 instead of x100)
5 July 2010 : reviews
I read Overtime by Charles Stross on the flight to California this morning. This is the first thing I’ve “read” in iBooks. It wasn’t unpleasant, but I much preferred the time I spent with a paper book later. The iPad is still too heavy. I enjoyed this, I’m glad I didn’t waste the paper, but alas. The story itself was okay. I hadn’t yet read The Atrocity Archives, so I had very little context. It was a cute sci-fi story and all, but nothing really compelling or engaging. Not very thought-provoking. A weak showing, compared to some of his other shorts, to be sure. 5/10.
Palimpsest was far longer, but I read it via a cached copy in Instapaper instead. On the iPad, I prefer reading in Instapaper to iBooks, though the headers were mangled in the mobilizer conversion. Can’t have everything, I guess, but I like the lack of superfluous fake book shit. Anyhow, Palimpsest was much longer than the previous story, and took some time to actually read on the iPad. As far as time travel paradoxes mixed with singularities go, it was a pretty compelling read, and it’s worth a go, especially since you can read the whole thing online for free. Painfully predictable at times, but I still enjoyed it. 8/10.
The Atrocity Archives was a good book to read on a plane; it doesn’t take a lot of thought, and reads pretty easily; I polished it off in about three hours. It combines lovecraft, insider IT jokes, math and computer science, and Castle Wolfenstein. Pretty much can’t go wrong, if it’s the sort of thing you’re looking for. If you’re looking for hard singularity/relativistic science fiction, however, it’s a bit on the easy side. I’ll probably finish the series, but it’s fluff reading. Reading this one on paper was far more pleasant than either of the digital reading experiences. I’m quickly becoming an anachronism. 6/10.
Your Thoughts [2]
Your Thoughts