I'm a husband, father, author, cyclist, sailor, travel addict, and former Silicon Valley software engineer. I've written 3 books and actively review books on this blog.
Comments on this blog are aggressively moderated against link-spam and rude or meaningless comments.

Monday, October 31, 2016

I tend to buy coffee beans when they're discounted at Costco, Target, or Amazon rather than be picky about coffee. As a result, I end up getting to sample various beans. There was a recent rash of deals, so I tried out 4 types. I'll provide capsule reviews below:

Veranda Blend: After various over-roasted American-style coffee beans, this one's great. Not bitter, not oily, with a faint chocolate aroma. Recommended. It's a pity it's so hard to find lightly roasted coffees on sale.

Friday, October 28, 2016

My go-to goggles for the last 3 years, the Aquasphere Kayenne, have basically had to be replaced every year or so. The failure mode is that the goggles' lenses fade or scratch, or become fogged up. When I looked at them, I realized that I'd seen similar patterns of failure before --- on Mazda Miata models that had a plastic rear window rather than glass.

At first, I thought that if I couldn't make these expensive goggles work, I could go ultra-cheap. Swedish-style goggles from swimoutlet.com only cost $3.50. But after I bought a pair I couldn't get them to not leak, no matter what. They also felt extremely uncomfortable, feeling as though they might pop my eyeballs out.

I noticed that my own diving/snorkeling masks are made out of tempered glass, and don't suffer from the fogging, so I set about looking for tempered glass goggles. To my surprise, an internet search revealed that there was only one model of tempered glass goggles: the Cressi Galileo. To add insult to injury, those cannot be purchased on Amazon.com, and I had to import them from Amazon.co.uk instead, costing about $30 after shipping fees.

When I received them, I was dismayed --- they were definitely sized big, and they were heavy. I tightened the strap all the way and managed to get a secure fit. Then they fogged up in the swimming pool. That's actually not a problem, since because these are tempered glass, you can apply toothpaste to the lenses and then they'll never fog again. That's what I did, and indeed, it worked. These are the clearest lenses you'll ever get, and again, because they're tempered glass, the UV will never fog them.

They're heavier than standard plastic-lensed swimming goggles. But so what? They're more comfortable (the skirt around them are more like those used for diving masks than goggles), they'll probably slow me down in the water by a couple of seconds each lap, but I'm not winning any prizes for swimming anyway. What's more important, they can serve as a backup to my diving mask for snorkeling. They aren't a real backup for diving, since diving masks need to cover the nose so you can equalize pressure under water.

Thursday, October 27, 2016

It was inevitable: I left my Sony SBH-52 in my pocket and it went into the laundry. The darn thing is water resistant, but IPX-68 will not guarantee survival in a washing machine for an hour. This forced me to dig up the LG Tone 750 which I got as a promotion a year or so ago but never even opened the box.

This was my first time using the "around the collar" blue tooth headphone format. Compared to the SBH-52, it has the following advantages:

It falls off when you take off your shirt, so you're not going to accidentally leave it in your pockets.

It's too big to fit in your pockets, so you can't accidentally leave it in your pockets.

The headphone never gets tangled up. In fact, most of the time I leave them dangling from the headset instead of snapping them back into their magnetic mounts, and they don't even get tangled.

The buttons are easier to manage. In particular, the "call" button activates Google Now, which is very cool. The play/pause fast-forward buttons are all easier to find and remember because they're placed on separate sides of the headphone.

There's no display. This turned out to be a great feature, as it forced LG to provide battery level announcements, etc., whenever you turn on and off the headset.

It's smart about the playback. For instance, if I pair this to my Moto G, and then plug in the headphone jack to my car, I can still use the buttons on the headset to control the music even though the playback's being done by the car's loudspeakers.

The collar is a much more convenient location than the clip the SBH-52 provides.

Against this, there are several disadvantages:

You can't use your own headphones. This would suck if the built in earbuds sucked. But they don't, so I'm OK with it.

You can't use the LG Tone while charging.

The volume control is practically non existent. Pushing volume up or down doesn't seem to do much. The default volume is fine, but I found myself having to reach over to the phone's volume control whenever I wanted to turn it up or down.

It's not a great cycling solution. While cycling, the device bounces up and down on my collarbone. This sucks. I cannot use this while riding any significant distance, but if it's say, riding to the local store to get milk, it's still usable.

All in all, the disadvantages are more than outweighed by the advantages, so I'd recommend this headset.

Wednesday, October 26, 2016

I was disappointed by Seanan McGuire's previous books that were reviewed here on this blog. Her narrators have always seemed too flippant for me. What's great about McGuire, however, is that her concepts are always great. In short, she has (for me, anyway), great elevator pitches for her novels but lousy follow-through on the implementation.

Every Heart A Doorway, however, has such a great elevator pitch I checked out the book from the library despite my previous history with her novels. I'm glad I did, because just this once, the implementation is decent.

Part of it is that the novel is short (175 pages), so the pace is very fast. The elevator pitch for the novel is: "Girl walks through fantasy portal into another world, has adventures, gets kicked out of fantasy world, and now has to go through rehab for PTSD induced by said fantasy world adventures."

The novel's setting is Eleanor West's Home for Wayward Children, a boarding school for kids who've been through adventures in an alternate world and a dumping ground for the parents who can no longer reconcile themselves to their changed children. Eleanor West, the school mistress, was herself one of those kids, and her school markets itself to parents by claiming to provide special therapy.

In reality, of course, the school is a place where the kids themselves can feel at home because they can relate to other children who've had similar adventures. The novel's protagonist is Nancy, a girl who's been to the Land of the Dead and is now returned to the world of the living but discover that her new manner and fashion preferences are not those that her parents want.

Through the protagonist, we learn how such as school is structured, a classification of the fantasy worlds in which the kids have been to, and of course, the messy social structure the kids themselves have as a result of their adventures, forming into cliques that are driven by which type of world they've come to call home.

There's a central plot and overarching storyline in the middle of all this, the pace is fast, and the extrapolation of the elevator pitch admirable. This novel is a lot of fun, and redeems McGuire's previous misses in my eyes. Recommended!

Tuesday, October 25, 2016

The Martian Child won both the Hugo and Nebula awards the year it came out, but somehow I didn't notice. It wasn't available at any of my local libraries, so I paid the Kindle price for it and read it in a couple of hours.

It's short, well-written, but is clearly autobiographical. The author, David Gerrold is famous for the Star Trek episode: "The Trouble with Tribbles", but clearly chooses to portray himself as a neurotic artist, rather than a rational computer programmer (which he is apparently able to be). He writes about his decision to adopt, his encounter with his (eventual) adoptee, and the process of adoption itself.

In many ways, I'm disappointed by the novelette. Yes, it's poignant, but there's no deep insight about parenting, no mention of the deep challenges involved. I think I got way more from a 5 minute conversation with one of my college lecturers in passing than from the entire novel.

Sure, there's a certain amount of bragging in the book (taking a company to $1.6B is no mean feat, and Horowitz isn't ashamed to take credit for it), but that's not why you should read books anyway. You read books for practical tips that will let you avoid making mistakes when hiring, firing, or screwing up. One avoided bad hire at the executive will more than pay for the time you spend reading this book, so in that respect the book's more than well worth your time.

The book's intended audience is the CEO of a technology company. It doesn't really

Here are a few insights from my reading of the book:

When hiring an executive, focus on whether his strengths fits your needs, rather than avoiding weaknesses. For that to work, you have to have a strong idea of what you need in that executive. Unfortunately, there's no easy way to get that insight, other than by running the organization that you need him to run for a while --- but that's OK. Better to get it the hard way than by randomly hiring people! (Note that there's a lack of emphasis on avoiding people with no integrity --- Horowitz assumes you know that and doesn't spend any time on it)

When hiring anyone (executive or not), don't ask questions like: "He's great for the job right now, but will he scale as the company scale?" Those questions lead you to make prejudicial judgements about your executive. There's no way to know whether anyone can "scale" in a particular way, so the best thing to do is to be honest and say, "I'm looking for the best fit for the current job. Next year, if the company changes, we'll still be looking for the best fit for that job. This applies to everyone in the company, even me!"

Deciding (with woefully incomplete data) that someone who works their butt off, does a terrific job, and loyally contributes to your mission won’t be with you three years from now takes you to a dark place. It’s a place of information hiding, dishonesty, and stilted communication. It’s a place where prejudice substitutes for judgment. It’s a place where judgment replaces teaching. It’s a place where teamwork becomes internal warfare. Don’t go there. (Kindle Loc. 2887)

Training is a competitive advantage for startups. Don't outsource your training. In particular, you need to get your best people involved in training new people. In order to do that, however, you have to make training seem valued. The best way to do so is for the CEO to spend time training others, to lead by example. Training is also where you set expectations for your team. In particular, Horowitz include a training document he wrote for Opsware called "Good Product Manager/Bad Product Manager". In it, he defines what a product manager does, what best practices are, and how product managers will be evaluated. It's a great document that defines what a product manager does.

Managing politics is counter-intuitive for the CEO. You have to actively manage it by setting up processes, whether it's for performance evaluation, pay raises, or promotion opportunities. If you do not do so, expect everyone on the executive team to become a squeaky wheel and playing politics. That means that the more actively non political you try to be by avoiding the usual big company BS, the more you encourage politics as people try to achieve the same goals out of band.

Similarly, the CEO has to actively give feedback all the time. Again, this is counter-intuitive, since typically people managers are generally told to provide feedback in a "shit-sandwich" fashion --- sandwich the negative feedback between the positive feedback. The problem with the latter approach is that experienced executives see through this right away, so the only way to be consistent is to provide both positive and negative feedback as soon as you see work that deserves it.

Organizations and Processes should be designed for the sake of the employee at the leaf node level, not for the sake of the managers. In other words, when designing or reorganizing a company, you should consider what it's like being a customer support rep or an engineer, rather than what it's like being one of the managers having to work in the environment. This may seem obvious, but keep in mind that most CEOs hang out mostly with executives and rarely reach down to the leaf nodes where people actually do the work, so it makes sense for Horowitz to emphasize this point. Furthermore, Horowitz makes the great point that organization designs all suck --- you're basically optimizing certain paths of communications between organizations while making certain other communication paths harder or even not happen at all. What this means is that along with the organization design you'll have to put into effect a plan to monitor the issues arising from the consciously designed sub-optimal paths so that if things get too bad you can redesign or hack around it.

There are other things that Horowitz say that I felt aren't necessary expressed well or are too general to be practical:

He makes the distinction between a wartime CEO and a peacetime CEO. While that distinction has some merit, I'm not sure it makes a ton of sense. For instance, Steve Jobs was an effective asshole (and effectively an asshole) even when Apple was no longer fighting for survival. I wonder how many CEOs are going to use this chapter as a justification for being a jerk to everyone around them.

There's an assumption that the CEO is technical, so the book doesn't discuss engineering management or the challenges peculiar to engineering management. I'm OK with that, since I did actually write a book about engineering management.

The book actively encourages the kind of non-poaching agreement that Apple/Google/Intuit/Intel were involved in that's illegal, though of course, none of the companies involved were ever punished in any significant fashion. But you'll love Horowitz's excuse for encouraging this kind of illegal behavior: CEOs are already very lonely people and can only commiserate with fellow CEOs, so pissing off other CEOs is a bad idea since you need all the friends you can get when you're a CEO. I have no idea if Horowitz is as actively un-self-aware in real life as he seems to be when he wrote this section of the book, but there you go. Apparently, having been a successful CEO is a license to encourage others to do illegal stuff.

Finally, at the end of the book Horowitz reveals that the entire book was a marketing brochure for his VC firm, Andressen Horowitz. That's probably OK --- you didn't expect anything else, did you?

Regardless, the book's well worth a read. Like I mentioned, if it helps you avoid one of the errors I noted above, it's worth the time. Recommended.

Friday, October 21, 2016

I checked out Writing Creative Nonfiction from the library, because why not? Non-fiction is what I write most of the time (at least, intentionally), and I have a fondness for non-fiction. It's also a Great Courses program, which has established a great deal of credibility with me over the past year or so.

One of the most interesting things I learned about the genre is that Creative Nonfiction used to be called Literary Journalism, of the sort Ernest Hemingway practiced. It was only called Creative Nonfiction after people started using that technique in other contexts.

In any case, the course is mostly about writing of the generic sort, so the lecturer spends a lot of time covering basic writing. I found that very disappointing, because so much of what makes non-fiction hard, for instance, is that you can't just make up dialogue --- and if you've lived through it, you'll have to tape every conversation so you can reproduce it later. That's not even something she talks about!

Furthermore, some of the techniques seem really fishy to me. For instance, she's very fond of indirect discourse. It turns out that indirect discourse (especially the untagged kind) is ambiguous in English. It's unattributed, so it lets the author inject speech into a character's mouth without having to substantiate it with any kind of reference, since that indirect discourse is also the author speaking. That seems really really iffy to me, but it's apparently such a mainstay of fiction and non-fiction writing that it's widely accepted, and she encourages the use of it as a tool so you can make up dialogue or conversations without having to have recorded the actual words that were spoken in some form or another.

Ultimately, creative non fiction is the use of the novelist's toolbox to non-fiction or personal writing. It's interesting that (according to the lecturer anyhow) it's by far the best-selling genre today, leading to scandals like A Million Little Pieces, where a novel was essentially passed as non-fiction in order to generate awesome sales.

One interesting lecture in the series is "How not to have your friends and family hate you." It's a great lecture, and if you're planning to write a family history or memoir, is definitely worth the price of admission.

My biggest criticism of the lecture series is the lecturer herself. She loves to pepper her sentences with verbal diarrhea. For instance, "You wouldn't want your readers to be bored, would you?" If you added up all those extra two-words she tacks on at the end of every other sentence, I'm sure you could save at least half an hour of run-time on the entire series of lectures.

Is the course useful? I'll let you decide. I wrote many of the daily trip segments of this year's Tour of the Alps report "creative fiction" style, rather than my preferred Jobst-style. If you think that it was an improvement, then the course is recommended.

Thursday, October 20, 2016

I tried to buy a copy of The World According to Garp on my Kindle, but apparently there's no Kindle version. As a result, I borrowed the dead-tree copy from the library. Now that I've read the book, maybe it's a deliberate decision by John Irving, as the novel is set in a world pre-1970s. That meant that there were no car-seats, no internet, and certainly no Kindles.

My first exposure to the novel is from "watching" the movie at the student lounge in my dorm at Cal. I put "watch" in quote because I think I was either doing problem sets or grading homework, so I wasn't paying much attention, and only raised my head when someone made a comment about the movie. Nevertheless, it made somewhat of an impression, so 16 years later I decided to go to the source and see what the hype was all about.

The movie was supposed to be funny, as was the book. It's not funny in the Douglas Adams/British-style, but in the Garrison Keillor style: kinda dead-pan, and deliberate in its humor. Certainly, some of the situations are hilarious, and the setups are long in coming and thus funnier when they do come. The themes, events, and reflection of both the times and feminism work well, but only in the context of the time of the novel. (The pivotal event in the novel, for instance, could never have happened once car-seats were mandatory) That's a reflection of how much safer the world has gotten, but also a reminder of how violent the USA was in the 1960s, when people of political significance were getting murdered and assassinated everywhere.

Did I enjoy the book? Somewhat. In many places, it greatly reflects the life of a writer. In other places, it feels as fantastical as any book marketed as "magical realism." Would I recommend you read it? Maybe. You have to like the Garrison Keillor type voice (I don't, not unless your name is Larry Hosken). You have a strong sense of the absurd (which I do, which is why I did find some of the situations funny). You have to enjoy "literary fiction" as a genre (I don't). So for me, the book was mixed, but maybe you'll like it if your response to the previous 3 statements was positive. Otherwise, you might be better off watching the movie instead.

Wednesday, October 19, 2016

In my book, Independent Cycle Touring, I refrained from giving specific equipment advice as much as possible. That's because I don't know what tour you might be doing, and to be honest, for most people, there's no reason to buy a new bike just so you can do a tour. Just use whatever bike you have.

Now, if the question is: "I'm going to join you on one of the Tour of the Alps. I know there's going to be intense suffering. How do I reduce it as much as possible without breaking the bank, given that all I have right now is a mountain bike and a low quality hybrid?" Then you're in the situation Arturo Crespo was in earlier this year, and I do have specific recommendations!

For Arturo's bike, I recommended a Rivendell Roadeo geometry in Titanium (he ended up with a Lynskey) built around long reach caliper brakes and a 2x10-speed SRAM drive train. The key contact points were based around carbon fiber brake levers, SPD pedals, and a Brooks C17 saddle. In practice, he never really got used to the C17, and you can substitute SPD pedals for any kind of pedal that gives you a walkable cleat, because I don't stop riding up a mountain just because there's some walking required to get through the pass on the other side.

OK, so what if you don't have the budget for a titanium frame? Dan Wallach put together a spreadsheet with most of my recommendations. Paired with the Soma Smoothie ES and a steel fork, the entire thing would probably cost about $1700 or so. (Note that a Rivendell Roadeo frame by itself is $2200, so don't assume that Arturo went Titanium because he wanted a lighter bike --- he just wanted a faster delivery time than Rivendell was willing to promise. Ironically, after he got his frame from Lynskey, Rivendell sent around an e-mail saying that they were now willing to sell the demo bike that he test rode and wanted to buy! So there's nothing wrong with the steel Roadeo --- it won't be as robust as the Ti frame that Arturo got, but it'll be tough enough)

Key features:

Long reach caliper brakes. Disc brakes are not reliable enough (rotors warp). Cantilevers and V-brakes are too finicky. People who think caliper brakes don't stop when wet just aren't using the correct brake pads. My caliper brakes (Tektros) are now 8 years old and I was over-taking people with disc brakes coming down Stelvio in the rain. If you're a poor bike handler, disc brakes won't make you any better. By the way, Arturo says that it took a huge amount of faith for him to go against the hype and marketing behind disc brakes, but after touring with his bike he agreed that it was the best approach.

36-spoke wheels, front and rear with CR-18 rims. These aren't the lightest on the planet, but they're not that heavy. The Shimano hubs have to be overhauled even when new because Shimano lightens their hubs by shipping them with next to no grease inside. The weirdest thing about the wheelset I picked is that the cost to overhaul them at a bike shop ($60) is 2/3rds the price of the wheels! But if you're paying for assembly, the shop will do an overhaul as a matter of course.

Integrated brake levers/shift levers. They're not as reliable as my preferred bar-ends, but if you change out the cables on an annual basis they seem to be reliable enough. My friends who ride with them do survive my tours nowadays, so it's probably just that I've had bad luck with them in the past. On the other hand, I only change out my cables when they fray, so clearly there's a maintenance advantage to them. Note that I went with SRAM instead of Shimano: Shimano in their infinite wisdom have made their mountain bike and road bike drivetrain parts incompatible, and if you want low gears you want the mountain bike deraileurs, cranks, and cassettes, but road handlebars and brake levers/shifters are still appropriate for long days in the saddle. Since Campagnolo doesn't make mountain bike parts, that leaves SRAM. Fortunately, SRAM makes all of its parts compatible (road + mountain), so mixing and matching SRAM works great. Note that compatibility is a non-issue if you use bar-end shifters in friction mode. It's only the indexing systems that get screwed up by Shimano's inane design.

10-speed. 10-speed parts are starting to be hard to find. Get them while they last, since 11-speed wheels are weaker because the wheels have to be dished further!

Carbon brake levers. Arturo was surprised I bought these, but raved about them on the first cold mountain descent. Carbon is an insulator, and on a cold day, these levers stay warm to the touch, unlike metal brake levers which conduct heat away from your hands. Well worth the money and effort to hunt them down.

No high gears. On a tour of the Alps, you're only going up or down. Don't expect to do any flat riding. So a high gear of 39x11 granting only 95 gear inches is plenty. This is not a bike with which to sprint a gentle descent in the peloton doing 45mph is feasible. The regular bike shops will happily sell you those types of bikes. Don't ask me to help you with a bike if you want to sprint or do 4 hour centuries in a pace-line carrying no load.

No racks. Saddlebag only. Racks just add weight, and if it doesn't fit in the saddlebag, you have no business bringing it!

It's significant work to buy parts and build the bike yourself. But you end up with a much more "fit-for-purpose" bike. I'm actually jealous of Arturo's bike, since because of the new technology, he has a much better shifting and lighter drive train that's also lower maintenance! He was particularly pleased despite the amount of money he had to shell out --- "I expected to get an incrementally better bike, but I got a much better bike!" In particular, the Rivendell Roadeo geometry is significantly better than other touring bikes or even "club touring" bikes out there. If you have never ridden a Grant Petersen design you owe it to yourself to try the Roadeo (I'm not so much a fan of his 650B wheeled designs, so I'm only going to single out the Roadeo for praise). Nobody else even comes close.

Tuesday, October 18, 2016

The Garmin Vivoactive survived the Tour of the Alps with flying colors, as expected (see original Long Term review). Pengtoh also brought along the newest version, the Garmin Vivoactive HR, which includes a HRM mounted on the underside. Since we both uploaded our tracks to Strava, we got a chance to compare the accuracy of the two devices side by side.

The most important difference is that the Garmin Vivoactive HR has a real barometer. That means that it gets real altitude/elevation data. For instance, on the Grimsel and Furka day, my Vivoactive got an optimistic 8031', while Pengtoh's Vivoactive HR got a much more realistic 6850'. The most accurate device was probably Arturo's Garmin 810, which gave us 6969'. The Edge 810 is probably more accurate because it has a temperature sensor, which is essential to giving an accurate air density measurement as the day warms up. Arturo's 810 died in the middle of the tour from water damage, however.

Garmin provides a temperature sensor for its watches. The $24 question is: does the Vivoactive HR use that to adjust the air density measurements in order to get more accurate elevation data? The main reason not to have a temperature sensor on the watch proper is that your body heat would heat up the sensor, granting in accurate temperature readings, which would invalidate any results from such computation. Garmin doesn't say and doesn't publish technical explanations for altitude/elevation measurements.

Suffice to say that with the addition of a barometric measurement, the Vivoactive HR is now high on my list of devices to upgrade to before the next tour of Alps. Pengtoh says that the HR function works well even for cycling for him, which is another big benefit.

The limited battery life of the Vivoactive was such that I had to carry an external battery to charge it mid-day (usually at lunch), but the Vivoactive HR that Pengtoh had is good for 16 hour stretches with the GPS turned on, which eliminates even that weakness.

By the way, one of the most hilarious aspects about the Tour of the Alps is that the Vivoactive is clearly designed for sedentary people who don't do massive bike rides. It was funny during the tour to look at the watch and see it register 4000-5000 calories a day (a massive under-estimate, by the way, since the Vivoactive doesn't know that my bike was carrying a touring load), while the Garmin Connect app's "Insight" feature kept telling me that I was being less active than usual, while the Garmin "Auto Goal" feature kept telling me that I'd missed my "step goal" for the day. The poor Vivoactive kept scaling down its "step goals" and missing them during the entire tour.

Given all that, the need for a dedicated cycle computer is no longer apparent except for the navigation features. In rural country towns and alpine country with few roads, the Garmin Edge 800 performs admirably. However, Google Maps has also improved to the point where in urban areas or places with dense road networks it's actually more useful. The smart phone touch screen interface is also better than the Garmin maps screen. It's strange that Google Map's cycling directions are sporadic --- we had availability in Switzerland, no availability in Italy, and full coverage in Austria and Germany. But in any case, when it was available, the provision of elevation changes en-route means it's a much better source of information than Garmin's offering.

As such, for future trips, a Vivoactive HR (or whatever replacement model available at that time) coupled with a waterproof phone (with an international data plan!) capable of Google maps and a bike mount for the said phone potentially the better touring solution. You'll always need paper maps for large scale coverage and designation of scenic routes which Google will probably never provide, but you've always needed them anyway. This is a huge change from previous years, where the lack of international data plans and incompleteness in offerings from Google Maps made such use of phone navigation lacking.

Monday, October 17, 2016

OK. The RX100 is in a class of it's own. The only drawbacks it has is that sharing is a pain --- I have to pull the SDcard, plug it into an SD card reader, plug that into my phone, and then run Nexus Media Importer and Photo Mate R3 to get a pictures. It takes time (which we had, since we had nothing else to do at night anyway), and while the photos are exporting, my phone is essentially useless for 15-20 minutes since photo processing chews up all the CPU. The other drawback is the lack of GPS. It's disappointing that in 2016, I still cannot find a high end large sensor compact camera that gives me RAW and GPS location.

The Moto G3 is pretty useless as a camera. I only used it when raining or as a last resort. It's better than no camera, but barely so. There's no doubt that if it shot RAW I could salvage more from the pictures, but let's face it, the phone is so cheap that was never going to happen.

The Moto X Pure is better, but suffered from hardware issues when exposed to water.

Pengtoh's iPhone 5S is very strange. When he used it to take pictures, the images as shown on the phone looked very impressive. But it also has a smaller screen (and lower resolution) than both the Moto X and the Galaxy S6. So when he uploaded the photos to Google Photos and I looked at all the pictures from both phones at once, it was obvious that whenever I saw a picture that looked good, it almost always came from the Samsung Galaxy S6. So while the iPhone seemed to produce better photos during the trip, when it comes to actually good photos, the Samsung phone did a much better job.

Ultimately, I have only a few requirements for camera equipment on a bike tour:

I must be able to operate it one-handed and without having to look through a viewfinder or at a screen. I used to think this is impossible for a phone, but Pengtoh and my own experience with the Moto G has proven this wrong.

It should be weather resistant if at all possible. Obviously, of the list above, only the Moto G3 would have fit this bill.

It should produce as high a quality image as possible.

I think the best camera you can bring on a tour of the Alps is something like the Sony RX100 or the Canon G7X Mark 2. But if you have to be like Arturo and Pengtoh and rely on your phone for everything, it's very clear that the Galaxy S7 is what you want.

Friday, October 14, 2016

In the time since my initial impressions of the Moto G (3rd Generation) last year, I've had a good long time with my Moto G3 in and out of California: Japan, Iceland, and the European Alps. I also bought my wife a Moto X Pure. In the mean time, Motorola has released the 4th generation Moto G, the Moto G Plus, and of course there are other countless smartphones you can buy.

First, the strengths: the Moto G3 has proven to be a tough, durable phone that's truly waterproof. I used it to shoot photos in Hot Springs, rode with it in the Tour of the Alps in my pocket with no hint of any problems, despite rain, hail, and snow. By contrast, Arturo's Moto X Pure started giving problems early on in the trip, and while he had a workaround for the problem it irritated him to no end. This alone means that the Moto G3 is better than the 4th generation Moto Gs (which aren't waterproof), the Moto X Pure (also not waterproof), and pretty much every other phone except the Samsung S5, S7 series (note: the S6 is not waterproof!), the iPhone 7 (hey, if even Apple can do it, anyone should be able to do it), and the Xperia waterproof series (M, Z, etc).

By and large, the phone has been performant. While it could be faster for running Nexus Media Importer or Photo Mate R3, I never felt like more speed would have given me a better experience --- just a shorter wait time for my exports. I never felt like it was slow for uploading to Facebook, etc., which was the case for the (much cheaper) Nokia 521.

Battery performance was good. Except for the one day when I had a mega train trip after a plane ride with no place to recharge except a small portable battery, I never had any battery problems with the phone. It always ended the day with plenty of charge left to do photo processing, Skype calls, Google hangout calls, and plenty of text messaging and Facebook posting.

Support for SDcard storage was also huge. I had a 64GB SD card installed on my Moto G. I filled it with videos, audio books, music, and never ran out on the plane or on tour. I used the Moto G to process photos from my Sony RX100 (yes, at 25MB per picture!) from RAW to JPG using apps on the phone. Even with the 64GB SDCard (on top of the built-in 16GB primary storage), I was still occasionally having to manage storage on the phone and delete videos after watching, etc. I have no idea how people with iPhones or Nexus phones manage. There's no such thing as too much local storage capacity if you're a traveler!

Now, where are the compromises? The first big compromise is the number of bands the Moto G3 supports. The USA Moto G3 only supports 4 LTE bands: 2, 4, 5, 7, and 17. There's no version of the Moto G that supports all the bands that say, the Moto X Pure does. What this means is that occasionally in Iceland and in Europe, while my wife's or Arturo's Moto X Pure was getting a signal, I was getting nothing. It's irritating but not the end of the world, though it does mean that the "true" flagship phones like the Sony Xperia series or the Samsung S series do give you something for the insane prices that the manufacturers demand.

The camera is a joke. Now obviously no phone camera can come close to what the Sony RX100 that was in my pocket provide (though nowadays, I'd recommend the Canon G7X II). But on one day when it was rainy I would hide away the RX100 and use the Moto G instead as my main camera. What a mistake. Better to risk damaging the nice camera than to have the crap pictures the Moto G provides.

Finally, I think nowadays 16GB of primary storage is no longer sufficient for a heavy phone user. At least 32GB is required. Since adoptable storage doesn't mean what you think it does, primary storage is required for apps and OS updates, so I think sadly, that means if my Moto G breaks, I'd have to buy a waterproof phone that has more primary storage rather than buying a (now much cheaper) Moto G3.

Suffice to say that I still highly recommend the Moto G3. It's flaws are completely understandable, for the price, and the reality is that the phones that have similar features cost way more than what the Moto G3 would cost you. It easily outperforms phones 2-3X the price. It is truly a pity that Motorola gave up on waterproofing the new generation Moto Gs. If given a choice between the 3rd and 4th generation models, buy the 3rd gen!

Thursday, October 13, 2016

I picked up a manufacturer refurbished 55-250mm IS STM lens for the EOS M3 on sale for $141.36 after tax and shipping. There were a few reasons for this: the 50mm/1.8 that I had was not officially supported by the M3, with super slow focusing. It's useful to have a longer lens, and the 250mm is equivalent to a 400mm lens. While the M3 system has a much smaller lens, the EF-M 55-200, not only does that lens cost more (more than 2X more), it's also slower and has a shorter range.

This is an impressively good portrait lens. We brought it with us to Iceland, and at the 55mm end, even without being opened wide, you still get a nice background blur.

In fact, when I look at the Iceland pictures, whenever I see an outstanding portrait, it's almost always the 55-250.

For such a large zoom range, it's not very bulky, about equivalent to my 70-200mm/4L. Of course, that lens is much faster but doesn't have IS. Even with the 250mm range, however, I still had to resort to severe cropping for any bird pictures:

But that's OK. The M3 with its 24MP sensor lets you do a ton of cropping and still have great pictures. As an environmental portrait lens, it's also pretty great:

All in all, especially given what I paid for it, this is an outstanding lens. I highly recommend it, and it has earned its place in the camera bag.

Wednesday, October 12, 2016

This year marked my 7th tour of the Alps. There's no sign that I weary of the European mountain roads and their amazing facilities that enable you to ride with a minimum load, eat well, and sleep with a roof over your head every night. Further more, on every trip I discover new roads, or new ways of getting over passes I'd done previously.

Cycling is an amazing sport: if you tried the same level of effort when backpacking or running, most likely you'd be too sore to continue the next day. But because cycling is gentle on your joints, you can expect to get stronger over the tour, provided you eat and sleep well. Over the years, here are a few tips I've learned:

In the mountains, winds build over the course of the day. If you're facing a stiff headwind at the end of the day, don't bother fighting it. Find a place to stay, and in the morning the wind will be gone. There's no point fighting mother nature --- you won't win, and there's no point even if you did those extra miles.

Weather should determine your route. Last time, we did the northern route to Chur because of rain in the southern route. This time, we should have kept the northern route to avoid the extreme heat. Now, I don't regret finally getting to ride Splurgen and Maloja pass, but boy, those hours in the heat were not fun at all!

AirBnB is viable if you can plan a head a day or two. It's not viable, however, in the touristy areas in the Alps, and only more viable in populated cities. As such, while I endorse AirBnB and use it a lot, the rest of the time you're better off with booking.com or hotels.com in Europe.

Surprisingly, booking.com gives you the same or better price than just showing up at a hotel. I don't know why that is, so in general, it's better to use booking.com. When a hotel owner quotes you a more expensive price than booking.com, don't hesitate to point it out --- they'll give you a discount, and both of you save the cost of the booking.com commission.

I'm not sure I'd start a tour from Frankfurt again. The train transfers were painful, and the ride back was only OK. Zurich is still the best starting point for the Tour of the Alps, though Geneva is probably also very good. But the reason to start from Zurich (or thereabouts) is Rosenlaui: I book Rosenlaui at the start of the tour because it's a destination worth planning ahead for. But while the start of the tour is fairly predictable, the end of the tour isn't (where I ended up riding during the last 2 days of the tour was nowhere near what I would have predicted!), and so if Rosenlaui is a must-visit (and believe me, it is!), then Zurich ends up being the place you start your tour in.

Don't mix up your feet and meters when telling your friends about the expected elevation gain on the trip. It's funny after the fact, but during the ride it's not funny at all.

In countries where train transfers are cheap, feel free to use them to skip flat boring parts or headwind. In expensive countries (e.g., Switzerland), you have to ration those transfers. Keep in mind that usually trains save you only 50% of the time you'd otherwise spend riding, so the real cost is the opportunity cost of riding the train when you could be riding the bike.

There's a risk in writing a tour report like this in over-dramatizing the difficulty and level of challenge on an independent cycle tour. Yes, we had tough challenging days, but remember that we chose those tough challenging days. I've had people come up to me and say, "I'm in no way ready for one of your tours." After talking to them I discover they've done a challenging ride like the full 100 mile Sequoia century. If you can do the Sequoia century, you can do this ride! And if you can't, do your own independent tour --- when you determine where you go, where you stop, and when you stop, the days can be as hard or as easy as you like. Yes, my days got longer when I was on my own, because I like to ride a lot. But the flip side of it is this: any time you feel like stopping on a tour, you can! It's fun, not tedious, boring, or hellish. My idea of a hellish ride is one in which I have to do a ride because someone else said so, or because someone wrote it down without knowledge of the conditions I'd' be facing. On a tour like the ones I advocate, you'd never be placed in that situation.

But most of all, there's no place like the Alps. If my photos look pretty, keep this in mind: in no way can they be compared to actually being there. You need to go. Stop making excuses. Go.

Tuesday, October 11, 2016

In the morning, I took the scenic route to the Gutenberg museum and got there about 15 minutes before it opened. This wasn't bad, as it turned out that the museum was right at the center of town, and where the thrice a week market was, so I got to watch the stalls open with colorful fruit and vegetables. The architecture near the museum was pretty as well!

There was a sculpture of Gutenberg (made from imagination, since nobody actually knew what he looked like), and I couldn't help taking a picture of someone reading next to the sculpture of books and odes to the printed page.

Once the museum opened, I went in and had a look. It's a pretty impressive place, with various printing machines of all sorts, and even covered the Chinese printing industry, which were way ahead of the West at the time. While most of the machines were labeled as "please don't take pictures", the basement had a demonstration of the original Gutenberg printing process, and next to it were machines such as the original Heidelberg, which had no such prohibition.

Once I had my fill of printing, it was time to head back to the apartment, load up my bike for the last time, and ride once more across the Rhine.

German bike paths are not very well marked, and once again I found myself on the Rhine bike path for a while before realizing my mistake and then switching to Google maps to find the Main bike path. The ride along the Main river is pretty nice, and indeed would be an ideal beginner's tour --- it's well graded, has lots of facilities, and if you don't mind it being a little boring, it's not bad.

Near Kelsterbach, I ate my last bit of cycling food and rode off the bike path in search of the Steigenberger Airport Hotel. I started using Google maps for navigation and discovered to my delight that it routed me off pavement into the forest roads that I had used so many days ago when leaving for the train station near downtown. Only when I was obviously near the hotel did I ignore the directions and headed directly to the hotel lobby.

I had arrived at the hotel at noon, but the receptionist informed me that checkin was at 1:00pm. This being Germany, I knew that asking for an exception was not likely to garner a decent response, but that was no problem: I showed her the left luggage ticket and asked for my bike box so I could stuff my bike back into the box. She didn't have any issue with it, but the porter/bell-boy gave me a tough time, telling me that I was supposed to pay for storing my luggage at the hotel! Since it was obviously the receptionist and not the bell-boy who was responsible for such issues, I kept my mouth shut and just calmly accepted my luggage and proceeded to disassemble my bike at the place he designated. That did not keep him from coming back to me every so often and harassing me, however, claiming that the place he had designated might have customers coming through at any moment. He seemed determined to single-handedly prevent cyclists from staying at this hotel ever again.

By the time I was all done, it was 1:00pm, and walking in with my running shoes and bike carefully packed was more than good enough at that point to get me my reserved, single person suite. After the treatment I'd received, I was determined not to give the hotel any more money if I could help it, and so after a shower, I changed to civvies and took the complimentary airport shuttle to the airport and then bought a day pass for the train so I could go downtown. There, I had a great Thai lunch, and bought some stuff for family back home. I also bought enough instant noodles and fruits so I didn't have to leave the hotel for dinner and breakfast the next day.

I spent the rest of the day swimming in the hotel swimming pool and catching up on everything I'd missed for 3 weeks. The next morning was cloudy and rainy, but I didn't mind --- all I had to do was to catch the short shuttle to the airport, deliver my bike to Wow airlines, and keep myself occupied on the flight home. It had been a great tour, and I hope you enjoyed reading about it!

Monday, October 10, 2016

In the morning, I had breakfast with Brigitte's husband. Even though it was AirBnB, I didn't actually expected to get to eat breakfast --- I was planning to catch an early bus to town to eat breakfast, but when Brigette heard of my plans she said, "No. You can eat cereal with us, and since we're headed in that direction anyway, you can come with us and we'll drop you off at the castle." That was way faster than the bus, so I took them up on the offer.

They first took me on a scenic route, and when we arrived in Heidelberg, pointed me at the bus stop where I would take the bus back. They'd given me keys to the house, and I gave them some of my cash to cover both gas and the breakfast that they never advertised. At $19/night, their price was absurdly low, and even if they were only doing so to meet people and see friendly faces, I didn't want to take advantage.

Heidelberg on a Monday morning was much different than a Sunday evening. Everything was quiet, and I could actually move through the main street without getting blocked every which way. The town was quaint and pretty. I hiked up to the castle for the panoramic view of the city and its environment, but didn't enter the castle as I didn't have sufficient time if I still wanted to ride to Mainz.

I was given conflicting information about when the bus would arrive, so I decided it was better safe than sorry. The light wasn't as nice as the evening before, but I didn't have the time to stay longer. And as nice as the place was, it still didn't compare to the Alps.

I left Wilhelmsfeld at 11:00am, and rode through the forested area to Wald-Michelbach and then Morlenbach before making the long descent into Heppenheim. This was the cool forested part of the ride, and it was pretty enough, but my goal was to hit the Rhine river and then make it over to Mainz along the Rhine. I confirmed my lodging via AirBnB but it turned out to be quite a chore. Thomas had switched his approval settings, but the AirBnB app had cached it and so I wasn't allowed to finsih the transaction. Eventually, I figured it out --- uninstall the app and then use the web interface using a mobile web-browser. While the app is convenient, bugs like this make the user experience much worse than if they'd forgone the app in the first place.

Once down into the flatlands, I tried the Rhine river bike path for a while, but it was incredibly rough! It was also relatively unshaded and hot, so I decided that if I was going to suffer, I might as well have something show for my efforts and got onto a main road as directed by Google maps. Unlike in the Alps, where every town had at least a couple of water fountains with which to refill water bottles, here in Germany there were not many water fountains to be found. In a little village near Riedstadt, I was finally forced to beg for water from a lady who was about to leave her house. She graciously went back into her home with my water bottles and refilled them.

At Kornsland, I arrived just before the ferry was about to depart. Given that I'd heard that the West side of the Rhine had much better bike paths than the East side, I decided that it couldn't hurt to do an earlier crossing in exchange for the 2 Euros it cost.

Indeed, it was night and day on the West side vs the East side. The pavement was smooth, and the bike path routed me up along the vineyards on the hill sides. When it eventually returned to the river, I was on an unpaved route, but one fast enough to sustain 16kph even with a touring load. Near Mainz, the bike path became paved once more, and I was able to ride along at speed, though still slow because the commute traffic along the bike path became quite significant!

Once in town, I quickly found the AirBnB lodging --- the owner had left on a trip, but had left the key locked in a pad-locked box outside the apartment. The best thing about AirBnB is that they usually have washing machines and a full kitchen. I took a shower and started the laundry going while I went out to a restaurant that turned out to be closed for a summer vacation. On the way back, I looked at other places but their prices were so high that I went to a supermarket and bought stuff to make dinner with instead, so the $35 AirBnB saved me about $20 in dining costs!

Saturday, October 08, 2016

You might have been in this situation before: you and your spouse keep a shopping list next to the fridge, but you both took a picture of it on your smartphone and arrived home one evening with double sets of everything on the shopping list because each of you thought you were going to buy everything. Or, you have to visit multiple stores, or missed something on the shopping list.

In any case, I tried a bunch of shopping list apps on the Google Play app store, and discovered that none of them do something I thought would be obvious: let you share a shopping list with someone else in real time. The "real-time" part means that if you check something off the list, it shows up as being checked off on the other person's phone as well, preventing you from buying double of anything.

Well, I have some development experience, so I pulled up Android Studio and wrote my own Shared Shopping list app. Along the way, I decided that it could be used to share a checklist of any sort. For instance, if you're organizing a camping trip, you can set up a shared checklist, and if someone else in the party has that item (say, BBQ skewers), they can check it off, and then everyone going camping won't have to scrounge around their house to find it (or go to the store to buy it). Conversely, if someone remembers something that ought to be on the list but isn't, they can add it and everyone will know that it's something that's missing.

I also added the ability to make a copy of a shopping list, so for instance, if you have a checklist you commonly use (say, a packing list for a bicycle tour), you can make a copy of it and send it to a friend. Said friend can then modify it for their own purpose without affecting your copy.

I spent about 30 hours or so on the project, so it's understandably incomplete. Here are the known issues:

Only works on Android right now. (I have no Macs or iPhones, so unless the app takes off like a rocket, I'm not going to build one) I do have plans to work on a web UI so you can use a real computer with a keyboard at some point.

Only works with Facebook login. I didn't want to maintain my own database of e-mail and password, so just piggy backed off Facebook. I spent a day trying to get Google's OAuth login system to work, and came away with a very deep understanding of why Facebook login took over the world. The Google OAuth integration probably ensures security and scalability but is developer-unfriendly to the extreme, even when you're the kind of person who uses Google's domain hosting, Android Studio, and Android phones. I might get around to it, but for now, Facebook login only.

Cannot rename a checklist. Let's see how many people squawk about that.

Cannot edit a checklist item. See above.

Notifications are funky. I haven't found a good way to deal with notifications of shared checklists. Suggestions welcome.

I have to say that in the year in between attempts at writing Android Apps, Android Studio's improved dramatically. It's no longer slow as molasses on my desktop (a 2009 i7-920 which still runs rings around most people's laptops). The debugger has strange glitches, as does LogCat, but modern day programming tools suck and there's no escape from that sad fact. (No, don't blame it on threads!)

The app is in Open Alpha mode right now, and we'll see if anybody finds it useful enough to leave a note. I suspect the requirement for a Facebook login and Android phones rule out a bunch of the usual people who might otherwise try the app, but if you do try it and share it with friends and find it useful, let me know!

Friday, October 07, 2016

It was 8:00pm. I was sitting in a window seat at the Talblick Restuarant in Wilhelmsfeld. A tall glass of beer stood to one side and the view of the valley below on the other. Cool evening air came through the window, providing a contrast with my sweat-sticky bike shorts and jersey. I turned on my phone and plugged in my camera's SD Card to look through the day's pictures. My heart dropped like a stone. There were no new pictures. A random bump had shaken the SD card from the phone loose and every picture from that day had been lost.

Thursday, October 06, 2016

We weren't in a hurry, but the forecast for rain made us not want to dally either. We ate a regular breakfast with plenty of time, and then rode the 10 odd miles to Villingen. We tried to take the bike path, but after some frustration, ended up on the local highway. It wasn't pleasant, but it sure beat waiting at the train station twice: once at Trossingen, and another time at Villingen where we'd have to make the transfer.

We asked a woman on what looked like a standard European "trekking" bike where the bike car was, and she said: "it's either the first or the last." Then I noticed that her bike sported a $1200 Rohloff Speedhub. This wasn't a casual trekking bike, this was a serious touring bike. And indeed, since we got on the train together and asked her about her travels, she'd been to England (on the ferry!) and done a few weeks of touring there, and hoped to one day ride the Land's End to John O' Groats route. She gave me a few tips on where to go on from Baden-Baden, mentioning that there was a bike path to Heidelberg (which she recommended) from Baden-Baden via the Neckar. I took note of Heidelberg, since I'd seen it on a map and it was labeled as an interesting town.

She expressed doubts that our skinny bike tires could handle the bike route, and I told her we spent half the day yesterday on the Danube River bike path, which was only partially paved. "Ah. If you can do that, then you can do the Neckar!" Europeans very much get sold on big fat touring tires on their touring bikes when in reality, with a little practice most dirt paths rarely get rough enough to demand anything wider than about 28mm tires. While I sympathize with the trend to ride wider tires, there are very few inexpensive lightweight high quality 700c tires above 28mm, and for those of us who climb alot, light weight is well worth the time spent learning to ride better.

She explained that she bought the Rohloff bike second hand, and that she did do an oil change every 5,000km, but didn't think it was really necessary.

The one nice side effect of the thunderstorm from last night was that Arturo had a nice long time to find a good hotel, and boy did he find a good one. Not only was it well priced, it had grand views and easy walking access to town. They didn't have covered bike parking, but supplied us with plastic bags to cover our bikes with outside. After that, we went downtown for lunch and then over to The Friedrichsbad. Introduced by Rick Steves as the 2nd best way to get over jet-lag (the best way, of course, is to ride a bike as hard as possible in the afternoon sun), the place was very German: the baths have 17 stages in which you're supposed to take them, each labeled carefully and in a certain order. Arturo told me to order the package with the soap and brush massage as well.

Near the end, Arturo said, "if you make it in the cold plunge a full minute I'll buy dinner." I got into the cold plunge and said, "Oh, this isn't nearly as bad as the Stelvio descent, and started counting." The result was a well-earned dinner at the Monte Christo Tapas Bar.

It was our last day touring together, so we celebrated and reminiscence over the adventures we'd had on this trip. It's a truism that as you get older time seems to pass faster, but cycle touring shows how you can reverse that. On a bike tour, even 2 days ago seems like a long time ago, as every experience is so intense that your mind recalls everything, which lengthens the days of your experience. People who ride to new places don't just live longer physically because of the effects of exercise, but also subjectively live fuller lives, as each day is packed with new experiences.

Wednesday, October 05, 2016

The Heart Goes Last is a sort-of science fiction story by Margaret Atwood. The premise is that the economy has tanked to the point that corporations have taken over towns, and in particular, one corporation has signed up citizens to take part in an experiment: a new kind of community where you spend half your time in prison, and the other half as a free person. Apparently, this makes everything so efficient that you can have really nice houses, etc. Of course, the corporation has some deep dark secrets and the reader (and the two protagonists) get to find out.

I write "sort-of" above because Atwood is not a science fiction author, and as a result, her world building is implausible and completely unexplained. Apparently, when you're not a science fiction author and are a main-stream "literary" writer, the kind of rigor I expect in my science fiction is not a requirement, and people just accept whatever premise you throw at them.

The plot twists are kind of transparent, and I'm not sure the plot makes much sense either. I kept reading hoping to get some sort of enlightenment or idea that this is some kind of metaphor for something or another, but nope, the story just keeps going in the most obvious fashion possible.

Tuesday, October 04, 2016

It was absolutely pouring rain. We were standing at the train station in Tossingen looking at all our options. "How is it that a town of this size doesn't have any hotels?" I asked. Arturo said, "Look, there's one, Hotel Baren, but it has iffy reviews." "Let's actually read the reviews." "Oh geez, this guy's just complaining about internet in the room." "Well, I don't give a * about that. Let's go!" Now we were hearing thunder. "The sooner we get out of this rain the better!"

Monday, October 03, 2016

Rain and wind blew through when I opened the window in the morning, forcing me to close it right away. "I guess this is not the day to ride Klausen pass." Looking at the forecast, it wasn't going to get better over the next few days, so our tour of the Alps was over.

Well, the good news was that there was a tailwind headed towards the Bodensee. As a result, backtracking Northwards didn't feel difficult at all. The miles that felt like a drag the day before flew by, and before long we were past Liechtenstein and in Austria, where we found a lovely zip-line along the bike path.

As we approached the Bodensee, however, the weather got better. The sun started breaking through, and we managed to have lunch along the lake in the sunshine!

We knew going in that the Bodensee typically has far better weather than the rest of the Alps. That's one of the reasons it's a prime cycling destination for the 3 countries that border it. Despite knowing all that, it was impossible for us not to come up with a conspiracy theory to drive us away from the mountains. We pictured Angela Merkel's German meteorology service: "Ve vill forecast rain all the time in the Swiss Alps. That vay, the tourists vill not spend their money in Schweiz. They vill come to Germany instead, and spend their money here! Bwahahahahaha!"

Well, at Lindau, a thunderstorm passed overhead and granted us a bit of rain, but it lasted for only all of 5 minutes. We found the bike path and rode along it until we got to Friedrichshafen, where the Zeppelin museum was. I asked Arturo if he wanted to stop here, but he shook his head: "The museum's closed for the day anyway, and it won't open until tomorrow at 10:00am. I doubt you'll have the patience to wait that long." He was right.

We looked at booking.com again, and the cheapest hotel that was in the direction we wanted to go was Heiligenberg. We booked the place and started riding. Within 2km we ran into a recumbent cyclist who said he was riding to Markdorf, where he lived. Since he was a local, we immediately followed him as he led us through winding paths at speed. At Markdorf, he gave us directions on how to find the bike path to Heiligenberg, which turned out to be fairly easy to follow.

With a name like Heiligenberg, you'd expect the place to be on top of a hill, and you'd be right. The hotel turned out to be a fancy place which was having a discounted rate for us for whatever reason. The restaurant was good, but after dinner we walked around and discovered cheaper restaurants in town that would have served just as well. We found a castle in town, but it wasn't open to visitors.

Looking at the map and the weather forecast, it looked like we should stay in Germany for a couple of days. Tomorrow looked like a nice riding day still, but the day after looked horrendous. Arturo had been to Baden-Baden a couple of times before, and thought that the baths might be a great day to spend a rainy day. So the goal was to head to a train station that would take us there in reasonable time tomorrow, and then we'd be in place for the baths. After that, I would head north towards Frankfurt while Arturo would take the train back to the Bodensee and ride back to Zurich to catch his flight to South Africa. It looked like a great plan. The last time I visited the black forest, I had no idea that Baden-Baden actually had baths!