Auto Ads by Adsense

Booking.com

Sunday, January 20, 2013

The "Science" in Computer Science

When I was an undergraduate, it was very common for many of us to view the "science" in Computer Science as an oxymoron. The proof was that all the "real" sciences had names like "Physics", "Chemistry", "Astronomy", and "Biology", while we were lumped in with "Political Science", "Social Science", and of course, "Military Science". Many took the position that Computer Science should be considered a branch of mathematics, while those of us who were liberal arts majors (I count myself and Jonathan Blow as the major advocates of this) considered Software Engineering a branch of the literary arts as the goal was ultimately to produce code that was easy for humans to read, since machines didn't care what your code looked like.

If you read Thomas Kuhn's The Structure of Scientific Revolutions, however, there is a sense in which Computer Science is a science. Consider the construction of a program to be a sociological construction of a theory about how best to approach a problem. You start out with version 1, which solves some portion of a problem. Later on, as the problem is better understood through the lens of your theory (i.e., your users start using your program and start providing you with feedback), you tinker with your theory to make it better fit the evidence (user feedback or market feedback). As a result, your program becomes more complicated and your program's structure (theory) starts to show it's datedness. When things go to a head, however, you either refactor or rewrite all the offending crufty code, throwing it away and replacing it with a new program (theory )that accommodates all the evidence to date. This is equivalent to perhaps relativity supplanting Newtonian physics. Note that the analogy even holds here --- old versions of your program continue to work, but the newer program (better theory) is more elegant, and fits better with the problem space. If your rewrite fails, the result is less useful than the previous version and society refuses to adopt your new program. For instance, Vista was not widely adopted and most users stayed on Windows XP instead.

There's even space in there for unit tests and systems tests: those tests are the empirical experiments by which you attempt to prove that your theory (program) works. In effect, when writing tests, you're trying to prove that your theory about how the problem should be solved is wrong. If you have the resources, you might even want such experiments be run/written by a third party, so they have no cognitive biases with which to approach the problem.

Obviously, this view of software engineering as actually "doing science" can only be carried up to a limit, but I find it to be an interesting analogy, and would be interested in hearing your thoughts.

Friday, January 11, 2013

Review: Odd and the Frost Giants

I somehow missed Odd and the Frost Giants when it came out. I usually check books out from the library, but since this book was $1.99 on the Kindle store for the rest of the month, I decided that it was worth the risk when I read the first chapter to my son and he didn't immediately start screaming. (It's too much to expect him to pay rapt attention --- my wife told me that he runs around at story hour even at the library)

The book's got beautiful language, and has lots of little scenes that are funny. You could imagine a Disney movie made from the book. I enjoyed the character of Odd, the little boy who kept up a great attitude no matter how tough a life fortune hands him. The story has a slow, lilting dream-like cadence, and the events unfurl smoothly and naturally.

All in all, a short book and a quick read. Recommended.

Sunday, January 06, 2013

My New Job

When I announced my retirement almost 3 years ago, I got three reactions:
  1. "I can't imagine staying home to feed the cats and watch TV." Those folks couldn't be more wrong. I don't have any cats, and I barely had time to finish a couple of video games, let alone watch TV. Instead, I wrote 3 books, traveled a lot, started a consulting business, got married, had a baby, and in general lived a pretty good life that never left me feeling bored or unfulfilled. My personal experience is that the kind of people who make those statements are people lacking in imagination: they can't imagine leading a self-directed life, so they imagine a life of boredom if they left work. 
  2. "You're too young to retire, you'll be back at work." They were partly right. Writing books is significant work, and my consulting business was also work, as is getting married and coping with baby.
  3. "Would you ever consider leaving retirement?" My response was "Of course, for an appropriate role and an opportunity that gets me excited enough."
My life has been full enough that I didn't think that there would be an opportunity big enough to get me excited. However, when I met the team at Quark Games, it was quite clear that this was a team that was something special. Passionate about games,with lots of talent (both engineering and otherwise), I was impressed by their designs and vision for what the next generation of games are going to look like.
So when the team asked me to join as the VP of Engineering for the company I was delighted to say yes and prove that yes, there are opportunities that will get me to return to the workforce. (I did discuss positions at other Silicon Valley startups, and yes, I am happy to report that Silicon Valley is as full of opportunity as ever for those of us for whom big companies are undesirable work environments)

Yes, Quark Games does have job openings, including engineering positions. All engineers will report to me, so if you've enjoyed working with me in the past or you know my management philosophy and like it, consider applying for a job!

This has implications for my negotiation business. Effective immediately, I will take on no more new customers. If you're an existing customer, don't worry, I won't abandon you. I will keep on your case until you are satisfied or give you a full refund. Existing customers who basically treat me as a sounding board for financial advice don't have to worry either --- I will keep servicing your requests as there's no conflict of interest with my new job. My books will always be available on Amazon and on-line.

Wednesday, January 02, 2013

Long Term Review: Resmed Swift FX Nasal Pillow System

I just replaced the nasal pillow on my Resmed Swift FX Nasal Pillow system due to wear, so I'm guessing that it's time for a long term review. I'd always used full-face masks before, but they had several problems: first, they were heavy and bulky. Secondly, they leaked. Finally, they were costly to replace and maintain. For a while, discount retailers on the internet would get them to me for a relatively cheap price, but the manufacturers recently clamped down on them so they're now very pricey.

I thought I wasn't a good candidate for a nasal pillow system because my brothers were all mouth breathers, and so I thought I was one as well. I took a loaner from SleepQuest, along with a chin strap so I could tie my mouth shut if it stayed open at night. (Yes crack all the jokes you want about my wife wanting me to use it during the day) After two days, however, I stopped using the chin strap as it would slip off at night. The nasal pillow would cause a nasty backflow through my mouth if my mouth slipped open, so obviously I wasn't a mouth-breather, since I would have woken up the minute my chin strap slipped off!

There was an initial adjustment period. Basically, my nostrils would get sore from the pillows in my nose. I guess despite the name, they're not particularly soft or comfortable, at least at the beginning. I would swap between my full-face mask and the nasal pillow every 2-3 days to give my nostrils a rest. I used vaseline as well on my nostrils so as to lubricate the pillows and not chafe my nostrils.

Then during the Hawaii trip I basically went cold-turkey and used only the nasal pillows. They worked great. Basically, my nose has gotten use to the pillows now and I can use them all the time with no problems. I was told that the pillows would last about 6 weeks or so, but in practice I got 3 months out of each pillow set. Replacements are about $21 each on Amazon, so there's no reason not to replacement whenever you notice wear. (Basically, my wear indicator was that the inside silicone wears larger and larger)

The best thing about the pillows is that they don't leak, and they feel very comfortable. On a secondary basis, the pillows are also much lighter than the full face mask and easier to pack, making future tours of the alps potentially easier on my body.

Highly recommended.

Tuesday, January 01, 2013

Review: The Perfect Woman

Happy New Year! And what better way to start the year on this blog with a book review.

The Perfect Woman sounds like a self-help book or some kind of romance, but is actually a police procedural. The novel revolves around two detectives, John Stalling and Tony Mazzeretti, who are rivals on the police force. When a serial killer goes on the loose, the two men are put together on the same team.

Stalling is clearly the book's protagonist, and the novel portrays a police detective's attempt to balance his life, his past, and his obsession with work and keeping killers off the street. Mazzeretti's a less well-rounded character, but as the story unfolds we begin to see the person behind the facade.

Unlike many police procedural, the novel gives you a clear idea of who the killer is right at the start, hence the novel reads more like a suspense genre book than a detective novel. The question is whether the police will catch the killer before he nabs another victim.

While a more than slightly entertaining first novel, there are moments when it feels like the author tried to cram more into the book in the name of "character development". I didn't feel my time was wasted reading the novel, but it didn't give me much that Silence of the Lambs didn't, for instance. But if you enjoyed that novel, I see no reason why you wouldn't enjoy this one. Mildly recommended  as an airplane novel.

Monday, December 31, 2012

Review: Ted the Movie

Two guys are lifelong friends and roommates, but then one of them gets a girlfriend and the other is forced to move out. This sounds like a tired, cliched plot of a romantic comedy, except in Ted's case, the roommate is a talking, walking teddy bear who's been with John Bennett since he was 8. My brother told me about the movie, and the trailer made me want to see it, even though the biggest problem with movie trailers is that they essentially show the best parts of the movie, leaving you watching the movie composed of the less interesting parts.

Well, there's some of that going on, and the movie seemed loosely edited without the feel of the tight pacing required to keep you from one laugh to another. Ted, however, looks great, and moves realistically, if such is possible for an animated Teddy bear. The plot while cliched, is a lot of fun. It's a pity the dialog doesn't live up to the plot, actors, and characters --- they almost always feel forced.

For $1.99, however, I felt like I enjoyed the movie enough to recommend it. Just don't go in expecting it to be great. But hey, if you ever grew up talking to your stuffed animals, you should watch it.

Wednesday, December 26, 2012

First Impressons: Scion xB


My wife's BMW was starting to need costly repairs (and it certainly wasn't cheap to begin with). The choices were to keep it and keep paying for it, or buy a new car. While XiaoQin didn't want to go car shopping, when I threatened to buy another Honda Fit, she changed her mind and decided that car shopping was less crazy than having 2 of the same car. (Given how happy I've been with my Fit, I have no idea why the objection exists)

We started with the Toyota dealer. We first tried a Prius Station Wagon, but discovered that the latch placement in that car meant that the car seat had to be on one side or another. Since we only had one kid and the safest place in the car is the middle of the back seat, we decided to keep shopping. We tried the Yaris, but discovered that the trunk was so small Bowen's stroller wouldn't fit in it. The salesman had a moment of insight and introduced us to the Scion xB. I had actually tried the xB way back in 2009, but discovered that it wouldn't fit the tandem. Since I already had a Honda Fit, that was no longer a concern. The amount of room in the car was substantial, and while it wasn't the most fuel efficient car around, we would most likely drive it around with at least 3 people inside, so that was less of a concern. The car's driving position felt higher than a regular car, but doesn't feel like an SUV: it's still easy to get in and out of it, and there's relatively little ground clearance. My bicycle will still be the primary vehicle for my solo trips.

We tried the competition. The Nissan Cube was substantially smaller though more fuel efficient. For whatever reason, the rear seat felt cramped with the car seat inside. Honda had discontinued the Element, which was its vehicle in the same class. The Mazda 5 was substantially more expensive, and suffered from the same problem as the Prius Station Wagon.

Negotiating with the dealers was a problem. The Scion brand features True Pricing, which meant that all dealers would only quote me the sticker price over e-mail, rendering my usual trick of soliciting competitive bids from all dealers within 200 miles useless. We did find two dealers who would offer about $1,000 off the sticker price, and after an afternoon of shopping, went with one of them.

Having had the car for about a week, I'm actually quite impressed. The car is stable and drives well, though it feels a bit top heavy and isn't as nimble as the Fit. The built in accessories are impressive: you get blue tooth linkage with your phone, as well as a USB port for an MP3 player. The bluetooth player handles streaming stereo audio as well. Overall, as a baby mover, I think the car has a lot to be said for it: the rear windows are tinted, for instance, so are more comfortable for Bowen when the California sun is shining. The price is also pretty amazing for what you get. The biggest criticism is the fuel efficiency, but as you can imagine, almost anything Japanese beats a BMW on that front. No car is perfect, but if you have a small family I can recommend this one.

First Impressions: Republic Wireless Defy XT (Dual Band)

My 2 year old Nexus One had started getting a flakey power button, so I was going to have to buy a new phone. While I was very happy at my extremely low cost monthly cost for my pay-as-you-go T-mobile plan, I  was also somewhat jealous of XiaoQin's always-on Virgin Mobile Optimus V with the $25/month unlimited data with 300 minutes. Having relied on her phone while traveling for navigation and other such niceties, I decided that it was time to join the 21st century and look for a phone that would get me that functionality at a reasonably low cost monthly fee.

I had signed up for the Republic Wireless beta program ages ago, but never made it to the front of the queue before the beta was over and the company went live. There were lots of people complaining on-line about how obsolete the Motorola Defy XT was, but having seen how much nicer a phone with data was over a phone without, I came to the conclusion that I'd rather have a Motorola Defy XT with a $19/month unlimited data/voice/text plan than a latest model phone with a $50 (or more)plan.

When the phone arrived, I was surprised. First of all, it's a light phone. So light that for my first day of carrying around I constantly checked that it was still in my pocket because I just couldn't feel it. The 1GHz single-core processor is slow by today's standards, but it didn't feel like a downgrade from the Nexus One, and neither did the Gingerbread OS. The phone's exterior ports are all covered by rubber grommets, and the phone is IPX7 waterproof. Whether it stays that way over the course of a year is in question, since the charging port's cover will most likely be pried on and off too many times and wear out.

The biggest penalty of buying this phone instead of a later model one is the amount of on-board storage: it comes with 512MB, and after all the preloaded software, you're left with not much more than 220MB. That's not a lot, given the penchant for modern software to hook into Android's notification and therefore requiring to be installed on the on-board storage instead of being on the microSD card slot.

Call quality is reasonable: it's not as good as our Comcast voice-over-IP phone line, it's quite usable on our home wifi, and I've successfully made and received calls over random wifi hot spots. When not connected to a wifi zone, the phone falls back into the Sprint service, and it's every bit as good as the Optimus V was.

The data connection works well as well, whether on wifi or on the fall back Sprint connection. The GPS is a bit balky, and takes a while to lock on compared to the Optimus V. By far the biggest problem, which I didn't anticipate, is that the charging port is on the left side of the phone instead of the bottom. This is problem because the wide side of the phone gives you more surface area in which to get confused and become unable to locate the charging port in the dark. The smaller screen compared to the Nexus One turned out to be a non-issue.

All in all, I can recommend the phone. However, I myself am unlikely to keep it. My wife dropped her Optimus V into some water, which meant that it's now have to be retired. Buying another Virgin Mobile phone was out of the question, as Virgin refused to grandfather her $25/month plan. She decided that the Defy XT was an ugly phone, so we ended up ordering her a Samsung Galaxy Note 2 from Ting. Ting's not as cheap as Republic Wireless for a single user, but if you switched the entire family over and use the pooled data/minutes/text plan, it's actually not that bad. So depending on whether she's happy with the Galaxy Note 2, I will likely return the Republic Wireless phone and buy a Ting phone so we can all be on one shared data plan. Note that Republic Wireless has a 30-day money back plan (now extended to 30 days from January's OTA update), so trying out Republic Wireless is relatively low risk. Recommended.

Tuesday, December 25, 2012

Rest in Peace Frank Spychalski

My last photo with Frank in it, taken in July 2011 (Left to right: Phil Sung, Alan Wissenberg, Dan Vogelheim, Frank Spychalski, Me)


When I was assigned to the Munich office in 2008, Frank Spychalski was the first person to take me out for a beer and asked me to join his project. As an Asian who couldn't hold his beer, I couldn't do much drinking, but Frank overlooked that, and  I gladly joined his project and tried my best to help him as well as the rest of the Munich office. We became office-mates and good friends. When I found an apartment, Frank helped me find, buy and then organized a party to move my washing machine. When I moved out, he bought that machine off me.

Frank was an outdoors enthusiast in every sense of the word. He was a runner, a hiker (he'd done the West Highland Way twice!), and cyclist. In the office, he was always up for a quick run, and was always full of energy, frequently biking to work. Others in the office sometimes called him "super-humanly strong", but I knew that he was relentless in his pursuit of fitness. While we'd rode together a few times, we never did manage to sync up on my long trips, including the Tour of the Alps. We nevertheless became good friends and we always managed to squeeze in a quick meeting at least whenever I visited the Munich office.

I was shocked when I received e-mail from a mutual friend that Frank had gone missing. I knew Frank was very experienced and participated in many challenging hiking events. While I knew he frequently did these trips solo, he'd come through every one of his treks without a scratch, which is more than I can say for myself. I was horrified therefore, to hear that his body had been recovered from the Cascade Saddle track in Mt. Aspiring National Park. (Update: Sara Adams provides more background on what happened) (Update: the news reports provide further detail)

I'm very sorry that Frank and I never got to do a substantial trip together, and that we'll never get a chance to do so. I did not expect that I would spend Christmas this year writing his obituary. It stuns me that I will never see his quick smile, laugh at his eagerness to do so much in so little time whenever he was travelling, and hear his frequently sarcastic comments again. I lost a good friend, and the world lost a great engineer, hiker, cyclist, and backpacker. I will miss you, Frank!

Long Term Review: Continental Gatorskin Tires

For the longest time, I ran only Avocet Fasgrip tires. They're grippy, and they were cheap, especially after a dealer online blew them out for $13/pop. About 2 years ago, however, my supply of them finally ran out, which meant I had to switch to a new tire brand.

For several years, I'd steered clear of Continental Tires. Between 2003-2007 in the Western Wheelers Bicycle Club, I personally witnessed more Continental tire blowouts than blowouts of any other tire brand. Granted, Continental tires were very popular but so were Michelin tires, as well as Specialized. While these blowouts were not common, I saw them about once a year, and they usually resulted in hospitalization/air evacuation.

I'd run Michelin tires for many years, especially when they were $12/pop for the excellent Michelin Hi-Lite Comps. Unfortunately, Michelin realized that after market tires were market in which selling tires at a higher price would result in a perception of increased tire quality, so the Michelin Pro tires ran for about $50 each. On top of that, Michelin abandoned the use of carbon black in its tires in order to provide colorful tires so that the urban hipsters could match their tires to their frame color. While this is not of general concern in California, I do tour in rainy places and wanted a tire that provided maximum wet traction.

The advent of the Continental Gatorskin line led many to conclude that Continental's sidewall problems are gone. Bill McCready of Santana even endorsed the 28mm tires for tandem use! I decided to give them a try. The good news is that these tires definitely wear longer than the Avocets I was using. I put them on last year in August after returning from the 2011 Tour of the Alps. (I ran Continental Gatorskin 28mm tires for that tour, but 25mm for this long term review) They recently wore through to the cords in several places. Also, the wear was more even than on the Avocets: rather than wear a penny-sized hole in one place, they wore in slices all over the tire. The tires grip fine, and I never had an issue with wet or dry traction. Furthermore, they don't flat frequently: I don't recall getting more than one flat tire or so in my entire year of riding them. (Somewhere around 3500 miles) The subjective ride quality isn't so hot: I think the Avocets I used to run feel a bit cushier, probably because the sidewall is of a different material.

The bad news? As I was removing the old tire, I noticed that the sidewall looked a little cracked, and I had threads coming off them. Examining the rear hub, I noticed a black thread from the sidewall completely wrapped around my hub axle! The sidewalls did not look like they would last another season. Now this is for just 3500 miles of use under ideal conditions --- unlike in the past, I did not go out of my way to take these tires off road this time. It was also an unusually low mileage year for me.

Last year, I found an international supplier of Michelin Pro 3 tires at a reasonable $30/tire. I stocked up and will switch to those for the foreseeable future, even if the prices for the tires go up. In the mean time, I am sad to be unable to recommend the Continental Gatorskin tires for those who ride aggressively and don't stop riding their bikes when the pavement ends. There's just too much risk of hospitalization when the sidewalls blow. Now for a short tour of 3 weeks or so I'd be willing to run the 28s, but only if you inspect the sidewalls frequently and regularly.

Monday, December 24, 2012

Frank Spychalski MIA in New Zealand

Current Googler Frank Spychalski left for New Zealand in November and was supposed to show up at a friend's place in the last 2 weeks. His last Google+ posting was on November 26th, and neither his mother nor his Google manager has heard from him. Nobody seems to know where he is.

The police in New Zealand have been contacted and have started searching for him from Wanaka, where he last posted. A backpacker there said he mentioned wanting to go to Mt. Aspiring's French Ridge hut.

Frank is a strong and careful hiker, but if there's any time to start worrying it's now. If you've heard from him or talked to him since November 26th, please let me know. Additional information could save his life, not to mention his friends, colleagues, and family a lot of worry.

Sunday, December 23, 2012

Head to Head: Sonicare versus Oral-B electric toothbrushes

I've been a Philips Sonicare electric toothbrush user for years. While I've been largely satisfied with the brushes, they had several problems. First, the brush heads are expensive. A 3-pack costs $27 after taxes, and even Costco doesn't provide a decent discount. At $9/head, they would be affordable if they lasted about 6 months like Sonicare claims they would. In practice, the heads start looking shaggy after 2 months and are beyond dead after 3. Granted, I have tough to clean teeth, and I brush my teeth after every meal, so I'm tougher on my brushes than most by about 50%. The second problem is that the brush bodies are not very reliable. The batteries die after a couple of years, and I've had brush heads die on me for no reason within a year of purchase.

My dental hygienist told me that his patients with Oral-B electric brushes seemed to come in with better cleaned teeth (not that my teeth had any problems), and the brush heads seem more robust and are at the very least cheaper. Oral-B claims a more realistic 3 months for their brush head's longevity, but their brush heads are half the price of the Sonicare ones on Amazon, and you can get a Costco family-sized pack for much less than even that.

As far as I can tell, there are no peer-reviewed studies of Oral-B versus Sonicare brush-heads on the internet, so all I can go by are my subjective experiences. Sonicare's teeth brushing experience is light driving an electric car. There's a purr in your mouth, and the brush softly moves up and down on your teeth and along your gums. The noise is there, but it's not annoying. Oral-B is like sticking a machine gun in your mouth: not only do you get a massive grinding noise, you feel the bristles scrubbing against your teeth and gumline. It's definitely a very German approach to teeth brushing --- you can feel the raw brute power in your teeth.

I tried switching back and forth for a few weeks here and there, and the conclusion I can draw is that the Sonicare experience is the deluxe pampered experience (sort of like driving a BMW or Mercedes), but the Oral-B feels cleaner. Whether that's because my gums/teeth have been brutalized or because they're actually cleaner, I'll have to wait for a dental visit to see. The reality though, is that I haven't had any cavities for a decade and a half, and don't expect any change. My conclusion, buy the Sonicare if you have sensitive teeth or don't mind spending the money, the Oral-B if you prefer the "big throaty engine" sound of say, a Harley Davidson in your mouth.

Tuesday, December 18, 2012

Bloomreach Talk

I was invited by Bloomreach to give a variation of my talk on Startup Engineering Management. The talk was held in confidence, but after the talk, they asked me a few questions so they could share the video with the rest of the world. I enjoyed giving the talk and got lots of great, challenging questions. I hope you'll enjoy the above snippet.

Monday, December 10, 2012

Review: The Hydrogen Sonata

Any Iain Banks book automatically gets put on hold at the library. Triply so when it's a Culture novel. The Hydrogen Sonata is the latest Banks novel, and it's a romp and a fun read, but unfortunately, feels very much like an episode of American TV series pre-Buffy: status quo is reset and there's a bit of hollowness involved.
One of the biggest problems with writing a Culture novel is that the Culture is so technologically superior to most civilizations that they encounter that its ships and technology have no equal and face practically no resistance as they go about their tasks. To counter-balance that in this novel, Banks introduces the Gzilt, a civilization older than the Culture, and that was invited but declined to join the Culture during its setup phase.
As an elder race, the Gzilt has decided to Sublime, going off into hyper-dimensions (Banks clearly read quite a bit about string theory and incorporated what he learned into the novel) and saying goodbye to the Real. But before they can do so, they're contacted by a predecessor civilization which tells them of a terrible secret.

This secret was so terrible that it sparked off fratricide within the Gzilt,  Prompting Culture ships to get involved in understanding the secret. You'll notice that at no point do I mention human/humanoid protagonists. That's because in the Culture, humanoids are relatively ineffectual compared to ships and their minds.

If you enjoyed Excession, you'll enjoy this book. There's very much a similar setup, with a group of Culture minds discussing amongst themselves what to do next, how to approach the problem, and possibly kibitz amongst each other with regards as to what the right thing to do is. The primary human protagonist is uninteresting, in that all that she's good at is getting lucky. She just gets dragged along by one event after another, and when she's finally done, she doesn't seem to do anything with what she knows.

Ultimately, though, the terrible secret isn't very terrible, and in fact, you get a foreshadowing of what the secret was the entire time, and the fact that status quo is more or less retained at the end of the novel despite the reveal makes the entire novel feel empty.

Would I recommend this novel? Yes. It's a fun read, even though the ending was a let down. However, if you've never read a Culture novel before, I'd recommend that you read Use of Weapons instead. That's one novel that's great throughout and doesn't feel like a let down at the end.

Mildly recommended.

Tuesday, December 04, 2012

Review: Ergo Depot Adjustable Height Standing Desk

Earlier this year, I read an article about how sitting is bad for your health, especially women's health. I told my wife about this and she said, "I'd like to try a standing desk." You can actually buy mechanically adjustable height desks, but seriously, if you want to be able to adjust the height frequently, what you want is for it to be entirely motorized. That way, there's no "oh, I won't stand up because it's too painful to adjust the height of my desk" excuse.

Motorized desks vary greatly in price, but I found the ErgoDepot one to be the cheapest of them all. Most people assume that low price = low quality, but the reviews on Ergo Depot were incredible, so I took a risk and ordered one. The first desk arrived with the box torn open and with parts missing, so I rejected the shipment and made the shipper take it back to Ergo Depot. Ergo Depot kindly sent me another one. This one arrived relatively quickly.

The desk assembly was fairly straightforward: screw the base together, and then use a power drill to screw the base permanently to the table surface. It is essential to use a full power drill here. A cheapo drill won't cut it. Then wire together the power adapter to the controller, plug into a power socket, and away you go! There's one minor quirk in the control system, which is that you have to hold down both rocker switches to get the table to go up or down. I have no idea why it's not just one rocker switch instead of two. The desk is fairly sturdy: it is rated for 154 pounds, which means that any monitor (or two) you buy nowadays will fit in the weight range. However, the desk does come with all sorts of warnings saying that if you move it you must lift it by the base, not by the table surface.

There are two entry ports so you can run wires for power, etc to the connectors. They work quite well. The surface itself is pretty great, but the test is in the usability. Xiaoqin loves the desk. She uses it nearly every day, and has come home from work early because her sit-down desk at work made her uncomfortable and she longed for her stand-up desk at home. You can't get a better testimonial than that. I've used it as well and the easy adjust-ability makes it very nice when we switch between users.

What are the flaws? First of all, it seems designed for laptops, not desktops. There's no space under the desk for a desktop tower to reside. Of course, if you don't plan to move the desk, that doesn't matter, just place the desktop on the floor. But given that the desk has wheels, it just seemed like an oversight not to have some provisioning for desktop towers.

If the above sounds like a minor nit-pik, it is. This is a great desk at a great price. Recommended.

Sunday, December 02, 2012

Long Term Review: Schlage Keypad Locks

It's been 3 years and a little bit since I installed the Schlage Keypad Locks in the house, and sure enough, the battery on the front door has gone out, which reminded me both to change it and that I needed to write a followup review.

Changing the batteries turned out to be fairly straightforward. You unscrew the back, and the cover pops off. The battery is located in a bracket, and is a standard 9V battery which are fairly cheap to get from Amazon. When removing the cover, make a note of the orientation and make sure that you have the handle in the correct orientation when replacing. Otherwise it just won't go back in. Obviously, I use the front door of the house a lot more than the back door, so the battery for the back door is still going strong.

As for the product, I like it so much that I replaced the rental unit's lock with a Schlage unit, my parent's house also now sports one, and my wife's house also has them. I cannot recommend them highly enough, especially if you own rental property --- no more re-keying your unit between tenants, and even better, your tenant will never call you up in the middle of the night after they've locked themselves out, because they can't. It's also great if you're in the habit of exchanging your home with someone else on HomeExchange, or renting out your home on AirBnB. You set up a code, give them to your exchangees or renters, and delete the code when you get back. You can also set up specific codes for house-cleaners, etc and other trusted personnel and delete those if you ever switch providers.

Home ownership is in general a pain, but being able to replace the standard keyed locks with one of these is definitely a bright spot. Highly recommended.

Thursday, November 29, 2012

2013 Book Reviews

Books of the year have been selected!

Non-Fiction
Fiction

Review: No Easy Day

No Easy Day is Mark Owen's account of the mission that killed Osama bin ladin, and an autobiographical account of how he came to be on that mission.

What's most impressive about the book is the picture of the American military. They were under incredible constrains: for instance they had to take photos and provide documentary evidence of the combat site after the combat in order to satisfy lawyers and provide the government evidence that they did engage combatants rather than civilians. I know the Israeli army is under similar constraints, but I didn't expect the commando types to not only have to take out a target, but also document all the circumstances they did. In the book, Owen describes a colleague who quit when the documentary requirements for doing the job became too much as the locals learned the rules the US military operated under. For instance, insurgents would make sure that their weapons were stowed in a different place from where they slept, assured that if the Seals came to make an assault they would be considered non combatants and therefore spared to fight another day.

The amount of weight in body armor and gear is also incredible. Jumping out of a helicopter with 60 pounds of gear does sound really extreme. The constant training and fitness preparation does sound really daunting. Another thing that comes through is how much Owen (a pseudonym) loves his job. For instance, he could have joined the Navy as an officer, given that he had a college degree, but chose to enlist because it would provide him with more combat. He proudly boasts that he'd never had a desk job or been away from the front-lines: he was either training or deployed.

That's cool information about Seal Team 6, the amount of work that goes into preparing for the Neptune Spear mission, and the Obama-ordered mission itself, including maps of the compound they assaulted, and a detailed description of what happened. If you are a gun nut you will love the description of all the custom weaponry available to Seals and what the load out was.

The account of the assault was exciting, and it's interesting to read the Osama did not himself take up arms but was shot in action.

There's some politics in the book. The author was clearly not an Obama fan, and bragged that he probably secured Obama an election victory. In reality, the killing of Bin Laden was not a factor in the 2012 elections, having occurred too early in the campaign. On the other hand, the account was exciting and fun to read. The book's short --- I finished it in about 4 hours, so it's a suitable airplane book. Recommended.

Wednesday, November 28, 2012

My Favorite 8 Trips

I've traveled enough to have opinions on what trips are great. My criteria for the following list is simply this: Am I willing to repeat the trip? If it doesn't make that criteria, it doesn't make this list. I'll start from the best trips. Note that anything I've already done more than once automatically comes ahead of the ones that I've done only once.
  1. Cycling The Alps. Well, this isn't theoretical. I've repeated this trip no less than 4 times, and each time, I come back wondering why I do anything else on vacation. On my recent trip to Hawaii, I found myself dreaming about touring the Alps. Nothing beats this.
  2. Hiking the Bernese Oberland. I've done this three times. Each time it's been magical, and I find something new. If you enjoy hiking even a little bit, do this trip.
  3. The Canadian Rockies. This includes Glacier National Park. I've also done this trip 3 times. It's not Switzerland, but it's the closest you can get in North America. And it offers great camping. For hot springs though, visit Yellowstone National Park instead.
  4. Sailing, Snorkeling, and Diving the Caribbean. I've done this 3 times, once with a skipper who was a total ass. I like it so much I want to do it again. I could do this every year, and not get tired of it.
  5. Cycling the Pacific Coast. I've done the entire coast on my bike. The parts I've repeated are the California coast. Not to say that Washington and Oregon aren't pretty, but California has the best weather, the highest roads, and the best scenery. I'd ride it again.
  6. Coast to Coast in England. I've only done this once. But it's easily the best long hike I've ever done. I could be easily persuaded to do this hike again. Or visit any of the famous long walks in England. It's a pity that England is so expensive, but I'll be taking Bowen on at least one of these classic walks once he's old enough.
  7. Japan. I've only been in Japan once during the 2009 Tour of Hokkaido. The cycling is pretty crappy compared to Bay Area riding, so I wouldn't go there for cycling again. But I would happily go back to Japan again for the hot springs, the food, and the people and adventures. The hiking is pretty solid, but you have to be into volcano hiking. I've had enough of volcanoes for a while.
  8. New Zealand. It's pretty, it's infuriatingly tough to get to, and the cycling sucks. But the mountain biking and hiking is great, and I'd be happy to go back.
I'm not the kind of person who can repeat a trip endlessly and not want to try new things. However, in my lifetime I've discovered that there are certain places so magical that it's worth returning to do discover new things. These places are so rewarding that I find myself dreaming of doing so. If you've not visited these places I strongly recommend that you put them on your list.

Tuesday, November 27, 2012

Product Review: Garmin GLO bluetooth GPS unit [guest post]

For 2 years or so, I’ve been using a track-recording app on my Android phone to plot my courses on cycling and running excursions. I’m a cyclist, but in the past 3 years I’ve added running to the mix of things I do. On cycling trips, a cyclecomputer will tell me things like ride distance, average speed in motion, etc., but there’s nothing easy to wire into my running shorts to get the same effect on a run. I got interested in tracking runs with GPS, and it snowballed to tracking rides that way as well pretty directly. I was already carrying my phone with me in case of emergency or mechanical failure anyway.

Also, in about the same time frame, I got more active in a social media scene, after Google+ launched publicly. Posting about a completed run or ride, including the exact track, has been a reasonably nice use of the platform. And for the morbidly curious, here’s my Strava profile. I typically log all runs there -- I can’t get good metrics on them otherwise -- but I only log notable or unusual bike rides.

Over time, though, I noticed a couple of problems with using my phone to lay down a GPS track:

  1. Recording adversely affects battery life. I’d get maybe 8-9 hours tops before the phone was nearly out of juice.
  2. On the phones I’ve recently owned [1], GPS accuracy is fairly poor. In fact, even staying stationary in the open, the GPS position will jitter.

Both of these factors conspire towards making one adopt a behavioral tic: when stopped for a considerable length of time, hit the “Pause” button on the GPS-track recording app [2]. When the ride or run resumes, unpause and resuming recording. Which brings us to another pair of problems:

  • Pausing the phone for every traffic light, 2-minute drinking break at a water fountain, etc., is a prohibitive pain-in-the-butt, so you’ll just have to accept the jitter sometimes.

  • At the long stops, where you do take the trouble to pause: will you remember to unpause the GPS app when underway again? It’s easy to forget!

It seems most people deal with these problem by buying a Garmin GPS-enabled cyclecomputer or GPS training watch. The latter would be a better choice if running is in the mix. I didn’t give this option too much consideration, though. I like the idea of having a smartphone with a reasonable amount of computing and interactive power recording my ride. I also like uploading activities to the web directly from the device. Tethering [3] my recording device to a full-sized computer at the end of my rides to do anything at all interesting with the data appears to be the usual option with Garmin, and it seems... less appealing. Maybe I’m just impatient, but I like to have the basic thing that I do with a ride taken care of on its completion, not as part of some post-completion task. Sometimes a post-completion task that I’d be hours away from being able to complete -- many of my runs and rides do not end at home.

Then I heard (from an office e-mail list) some prerelease buzz about the Garmin GLO. Part of the context of this discussion was “hey, the Garmin Connect software ecosystem is kinda poor; this would be a way to get good Garmin data without having to butt heads with the software.”  This is perhaps hearsay, though; I’d love to hear some more definitive opinions on that in the comments.

The GLO is a small external GPS receiver which connects to a client device via bluetooth. Speaking more accurately, the device locates and tracks GPS and GLONASS satellites; the latter is a parallel system to GPS, largely workalike, with roots in the old USSR aerospace sector. It is also the namesake acronym for the device. An Android or iOS device can be configured to use the GLO as its GPS data source rather than the built-in GPS hardware [4]. The GLO gets its initial GPS fix relatively quickly -- though more on this later -- and once fixed, updates its position at 10 Hz. (With a phone, you’d probably be lucky to get a 1-Hz refresh.) Advertised battery life is 12 hours between charges.

What does it look like? Here: next to a deck of cards, for scale. The GLO is slightly slimmer than the deck.

The middle LED monitors the Bluetooth connection between the device and its counterparty. The lower LED is a GPS signal and battery status indicator. It is mounted on a push button that turns the device on and off.

GPS accuracy with this device was hyped as being quite good. Great! The promise of that was enough to justify the $99 asking price alone. The next potential benefit: a bluetooth GPS unit could be good for phone battery life by offloading power-hungry GPS calls to an external unit (and battery) and substituting lightweight bluetooth calls in their stead.

I hoped that if the battery-life improvements were good enough, maybe I could generally keep the unit recording continuously rather than worrying about pausing at long stops and forgetting to unpause later on.

Setup Guide

Given that there’s no good guide for setting up this device with Android elsewhere on the web, and it wasn’t entirely trivial to figure out, here’s a quick how-to:

  • Turn both devices on.
  • Pair your phone and the GLO via the standard approach for bluetooth devices.
  • Install the Bluetooth GPS app onto the android device.
  • Launch the app
    • Go into the settings, and allow the phone to “Use Insecure Connection” (which isn’t checked-off/allowed by default).
    • Back in the Main App screen, check the box to “Enable Mock GPS Provider”. This will take you to a developer option in the phone settings.
    • Back in the Main App screen, touch the dropdown to select the source GPS device. It’ll be “Garmin GLO #6eadb” or something similar.

All of this is one-time setup. That done, connecting to the GLO is then just a question of launching the app and pressing the big “Connect” button.


I can’t directly comment on the setup process on iOS, though copy associated with the product makes me suspect it is less involved, as the device is specifically certified as compatible with Apple devices.

Initial Results


GLO accuracy is much better than base phone GPS accuracy. Here’s how a segment of my typical run to work looks if recorded with the base phone GPS (image taken from http://app.strava.com/runs/18462316):



and here’s how it looks with the GLO (http://app.strava.com/runs/19567252):

Much smoother, even scaled down a bit so as not to be unwieldy on this page, and generally much truer to my actual path. The GLO will still be off by a bit sometimes -- there are still lots of tall buildings in Manhattan, certainly -- but typically the egregiousness of this error is much reduced.

In fact, the built-in phone hardware was typically overstating the length of my runs by about 10%.

I haven’t yet completely run down the GLO battery in a single go, but the advertised life of 12 hours seems to be about right.

On the phone side of things, though, I wasn’t realizing the gains in battery life I was hoping for. Using the GLO was draining my battery more rapidly! Seemingly relatedly, my phone was warm to the touch after prolonged GLO-linked use.

Debugging battery life issues, and the solution


The first thing I checked was whether explicitly disabling the onboard GPS hardware made a difference when using the “Mock” source instead. This didn’t matter, though.

“Google Maps” was listed as the culprit application or process in the battery usage log, with the Strava App coming in distant second. Hmmm.

Then I noticed that for trips of 3+ hours, the Strava app would have trouble successfully uploading to Strava’s cloud servers at all. Digging into the underlying storage on the phone, I realized that the underlying .gpx files the app was creating were unusually large when using the GLO compared to without.

A-ha! The refresh rate on the GLO is 10 Hz, compared with maybe one update per second with the built-in hardware. How frequently does the Strava App poll for updates? Best as I can tell, it does so continuously, as fast as the device will allow for it. My conclusion is that the app was not engineered for the GLO’s speedy turnaround time, and was running itself (and my phone) ragged trying to keep up with all the updates.

Alas, the Strava app does not allow manually tuning the GPS refresh rate; it only offers ASAP behavior. MyTracks allows for tuning, though. I was able to reproduce the same battery drain & warmth effects with MyTracks at its default settings, but dropping the refresh rate down takes care of it immediately. Battery life was obviously improved with a 1-second polling interval, marginally improved further from there with a 2-second polling interval, and debatably improved again with a 5-second interval. Lately I’ve been using a 5-second interval.

With this tweak in place, battery performance seems to improve slightly over the non-GLO alternative, but not remarkably so. It’s still advisable to pause recording at a long stop [5].

Also, MyTracks’ introduction means that my workflow on the phone does not include automatic upload to Strava when the ride is done. Instead, I save the file to the device in GPX format, and then “share” the track file by email, To: upload@strava.com . It’s unfortunate. If I know a workout will be short, especially if I have means to charge my phone on the other end, I’ll often opt for the Strava app instead, heedless of the battery implications.

I’d also note that even if battery life weren’t at issue, pausing at long stops would still be good idea, if the stop involves a trip indoors. Movement indoors can cause apparent jitter in position even if there is none in actuality, as the GLO gets partial or reflected readings even inside the building.

Not just for run- and ride-tracking


I’ve also paired my phone with the GLO when getting ordinary turn-by-turn directions from the navigation feature of the Maps app. This has been helpful in gauging my position and upcoming turns more accurately. (With built-in GPS, sometimes my phone would lose track of me when driving, e.g., on the elevated Brooklyn-Queens Expressway and decide that I was on one of the parallel frontage roads or on an underlying avenue instead. Eep.)

Other quirks


The first time the device is turned on in a rampantly new geography -- out of doors, with a good view of much of the sky -- it takes maybe 20-30 seconds to get an initial fix on its position. I noticed this when the device was new, and again immediately after air travel. There have been a few instances of the latter. Shorter positional gaps during which the device was off -- between work and home, say, or the 35 miles between my own apartment and my parents’ house -- have delayed initial fix slightly, but less dramatically.

If I start to record an activity before I get initial GPS fix -- something I’d really like to be able to do freely, since I live in an apartment building -- the recording app seems to receive a few stray points from the last place the GLO had a fix on its position, which get inserted as junk data at the beginning of my overall track. If I don’t want to wait before getting underway, I can repair this after the fact by manually editing the .gpx file before loading it. It’s human-readable XML, so this is fairly trivial. Alternately, I may use the “Crop Ride” feature in Strava after upload, though this seems to be slightly too blunt an instrument.

The unit will flash a different pattern on the charging/fix LED if it is running low on power. IME, it will shut itself off soon after that. There’s no way to otherwise gauge the runtime remaining, except to charge it fully. I tend to do this even if I don’t think I need the full runtime, just to make sure the device is in a known state.

If the connection between the GLO and my phone goes sour mid-activity, I’ve found that I have to power-cycle the GLO before it starts serving data properly again. I’ve only seen this happen if I physically separate the GLO and the phone, though. For example, let’s say I lock up my bike and take my pannier, with GLO inside, into a cafe. I put the phone in my pocket. Then I leave the pannier with my family while going to the bathroom 20 yards & a door distant. Oops.

The power button requires a press (for a short count) to turn on, or a press and hold (for a long count) to turn off.  This makes it too easy for the GLO to “turn itself on” if put in a pouch or a pocket, and silently drain away its battery out-of-sight. I’ve taken to wedging a small piece of paper between the battery’s contacts and the pickups in the battery slot to keep the GLO off when I really want it off. At other times, I stow the paper harmlessly under the battery cover.

I also worry about the converse problem -- the device “turning itself off” -- but this hasn’t happened yet. In any case, a sliding on-off switch may have been a better design choice.

Conclusions


Despite the quirks, the drawbacks of the polling-frequency workaround, and the fact that phone battery-life improvements are marginal, I do like this device. Seeing smoothly-drawn track lines at the end of a ride or run is much more satisfying than seeing squigglies, and the improved distance accuracy for running trips is very valuable in its own right. It’s enough trouble that I don’t bother with it for ordinary rides to work, but I never bothered with tracking these rides before anyway.

I would probably enjoy using a GPS watch as well, if I had one. Prices are slightly less gentle than the $100 GLO -- figure $170 MSRP for a decent wired-data-transfer GPS watch, or $250 MSRP for one that syncs wirelessly, via ANT+ -- but that wasn’t really the blocking consideration. Mainly, I consider the necessary intervention of a computer to get the data off such a device to be a serious drawback, and I can usually get away without doing this with the GLO. I’d like the GLO even more if I didn’t have to be so careful not to trip over its many quirks, alas. And if these quirks weren’t sometimes easiest to remedy with, in fact, computer intervention.

If you think you might be of a similar mindset, give the Garmin GLO some consideration.


---

[1] GPS accuracy on my current phone, a Samsung Galaxy Nexus, is poor. My previous phone/current backup phone, a Samsung Nexus S, is even worse.
[2] The Strava app has had a “Pause” button as long as I’ve used Strava. MyTracks finally added one a few months ago.
[3] Yes, I realize many devices can communicate wirelessly via ANT+ and don’t require a literal tethered USB cord to transfer data.
[4] Some Android and iOS devices even lack built-in GPS entirely. The most notable examples are wifi-only Apple devices, such as the iPod Touch and the wifi-only iPad.
[5] Lately I’ve been playing games to remind myself to unpause recording before I proceed. The latest: I’ll stash my phone somewhere on my person that I usually don’t -- in a jersey pocket instead of its usual spot in my pannier, for example. When I ask myself later “Hey, why did I take this out of the pannier?”, it jogs my memory. "Oh, right, I need to hit unpause before I put it away."