Critical Section

Archive: July 2015

<<< June 2015


August 2015 >>>

trebuchet = siege

Wednesday,  07/01/15  09:05 PM





Bitcoin 102: Smart Contracts

Thursday,  07/02/15  01:22 PM

Some other things you wanted to know about Bitcoin, but possibly did not know you wanted to know ...  (this follows my now-infamous Bitcoin 101 post, read that first, if you dare :)


I had a little trouble* building Bitcoin Core, but finally emerged victorius with a working "full node".  Please check out this readme if you're interested in building one yourself...


Onward to a few comments about Smart Contracts...

<post type=informational>

Remember that time you discovered a poem you really liked had a totally different meaning when translated into French? And you were like, "whoa, who knew poems could even be translated"?


Well that's how I feel about blockchain transaction scripts. I thought Bitcoin and the blockchain was cool, but I had no idea how cool. There's another whole layer of amazingness here.

And I think ... this amazingness opens up some interesting business possibilities. Even better, I think relatively few people have investigated this deeply and hence this leads to some *unexplored* interesting business opportunities.


Allow me to digress for a minute, to talk about the epochs of Bitcoin (so far).

Epoch 0, the formative phase, was in the mid-2000s, when "Satoshi Nakamoto"* and a relatively few other academics had long and deep conversations about the potential value of digital currencies and how computational difficulty could be substituted for trust. Their motivations were political (libertarian, anti-government) and philosophical and technical; they did not appear to consider deeply the business implications of their work. During this phase Bitcoin was simply a term bandied about in emails and message boards, and was ignored by most of the 6B Earthlings.

* Satoshi was not his real name, and it appears likely "he" was actually a "they", and that they were English, not Japanese

This changed in November 2008, when Satoshi published the landmark Bitcoin paper, signaling Epoch 1, the implementation phase. In early 2009 Satoshi coded a reference client in C++, it was installed on six servers, and poof!, the Bitcoin network was born. The reference client (now called Bitcoin Core) implemented a "full node", a wallet, and a user interface, and was posted as open source (on SourceForge, but since moved to GitHub), enabling anyone anywhere to run a Bitcoin node. Due to the mechanism of mining, wherein operators of Bitcoin nodes are rewarded for doing so, everyone everywhere did so, and the network grew rapidly.

Criminals soon realized that Bitcoin provided an anonymous and untraceable way to exchange value, and the cryptocurrency was adopted for every kind of vice, from sex to drug dealing to arms merchandizing. This created demand for the currency, driving up its value. (The first Bitcoin transaction was 10,000 BTC for one pizza, but the value grew steadily thereafter :)

Meanwhile, the underlying technology of Bitcoin, the blockchain and the 2m+1 trust model and so on, began to attract serious academic and technical interest. The mechanism was verified theoretically even as it was being validated empirically in the real world by people with real money at stake. And Bitcoin began to creep onto the radar of businesspeople and investors.

That led to Epoch 2, the bubble, from early 2013 through late 2014, in which Bitcoin and the blockchain was celebrated as the solution to every problem everywhere, mostly by people who had limited understanding of what it was and less grasp of why it was interesting. The shark jump was probably the sensational and incorrect public identification of Satoshi Nakamoto by Newsweek Magazine. Meanwhile Andreesen Horowitz raised a blockchain investment fund of $BIG and tons of little startups spawned, and Chinese investors built gigantic Bitcoin mines. Which brings us to...

Today. Epoch 3, the reality, in which Bitcoin the currency is reasonably well established (the $1,000BTC bubble has burst, begatting $250BTC) and used by quite a few everyday people in addition to criminals, and not just for experimentation, and in which blockchain the technology is being explored for all kinds of business purposes.


So that was fun.

To understand the potential business value of Bitcoin transaction Scripts, we have to think about why they exist. Those idealistic theorists in Epoch 0 wanted it to be possible for *every* kind of business interaction to be enabled without a central authority, and especially without reference to any government. They were thinking wide and long term, and carefully built in a cool mechanism to enable arbitrary transaction structures. Immediate transfer of value from one party to another is the simplest case, and 99.99% of all Bitcoin transactions do just that. But far more complicated cases are inherently supported.

During Epoch 1 the proposed Script structure was documented and carefully implemented in Bitcoin Core. The current Script documentation shows that some of the more complicated cases have been deprecated (quoting: "Some of the more complicated opcodes are disabled out of concern that the client might have a bug in their implementation"), and there are documented bugs (Opcode CHECKMULTSIG: "Due to a bug, one extra unused value is removed from the stack."). The overall result is a stable definition of transaction logic supported across the entire network.

As businesspeople began looking at Bitcoin blockchain and Epoch 2 inflated, the phrase "smart contracts" began appearing in value propositions. I'm convinced most of the time it was simply parroted around, because there are very few explanations of what this means, not even incorrect ones. (The Bitcoin wiki has a good explanation, but it’s a bit technical and easily skipped*.) Most of the businesses created during the Bitcoin frenzy ignored transaction logic; they focused on Bitcoin as a ledger, Bitcoin as a currency, Bitcoin mining, and second-order opportunities like blockchain infrastructure and mining hardware.

* On my first pass I looked at it, said “hmmm”, and moved on…

Now that we're in the reality phase, we should examine the purported "smart contracts" value proposition in more detail. What does this really mean?

Consider the general case of a contract, a business agreement between multiple parties in which there is value exchanged. Each party agrees to input certain value in order to get specified other value as output, based upon certain conditions. Either all the parties trust each other, based upon experience or reputation, or a mutually trusted additional party is used to conduct an escrow, during which the various conditions are verified. The idea of "smart contracts" is that a complicated series of conditions can be evaluated without trust or any additional party.

The Bitcoin transaction script mechanism enables each party to contribute value as input, verified via the public key / signature mechanism, and arbitrary combinations of conditions to be evaluated, specified via additional public key / signatures. The existence or absence of each condition can be verified separately. When all the conditions are met in the specified combinations, all the outputs are authorized to the specified Bitcoin addresses. The mechanism provides for a two phase execution, similar to an escrow, in which the first phase defines the contract, and the second phase executes the contract, with the phases separated in time. There can be more than two phases, as with progress payments or periodic satisfaction of conditions. The minimum and maximum time elapsed between phases can be specified, as well as the time intervals required for each condition to be evaluated.

Examples of smart contracts include:

  • An escrow for purchase of an asset, by one or more parties from one or more other parties, with verification of certain conditions
  • A loan, in which one or more parties are lent value by one or more other parties, with or without collateral, with payments to be made at defined intervals
  • A service contract, in which parties agree upon compensation for services rendered over time, in which value is released as services are provided
  • An exchange of value, such as a purchase of an asset, in which the amount of value is contingent upon conditions which are evaluated over time

To nail the point home, let me expand on the first example. Suppose you are buying a house. You’ve agreed upon a price. Now you want to execute a contract to buy the house. You open escrow, make a down payment, and a number of contingencies are identified – you need a title search*, house inspection, earthquake review, loan qualification**, etc. The disbursements of funds are identified, payment to the seller, commission to the agents, fees to various vendors, etc. When all the contingencies have been met, and after a predefined time interval, the transaction is executed; the funds are disbursed, you receive a refund of the amount left, and title is transferred to you. How could all this be done with a Smart Contact in the blockchain?

  1. The contract is defined and recorded as a transaction.
    a.  As part of this transaction, you make a down payment.
    b.  The contract identifies all the contingencies.
    c.  The contract identifies the amount to be paid to the seller.
  2. Each party responsible for evaluating a contingency executes a transaction which updates the contact. For example, the home inspector performs the inspection, and executes a transaction which signifies the house has passed inspection, and charges their fee. The lender approves the loan, and executes a transaction which records that the loan is approved, and charges their fee. Etc.
  3. As a special case*, the title agency performs the title search, verifies ownership, and executes a transaction to say so, charging their fee. This is a special case because they are responsible for transferring title when the transaction is completed, which is [for the time being] an offline operation involving the government.
  4. When all the contingencies have been met, execution of the contract is triggered, and the funds are disbursed to the respective parties. The seller is paid, the various vendors receive their fees, and you receive the residual amount. The title agent records the title in your name (including a lien for the lender**), and you own the property.

* Of course, this would be even cooler if title were recorded in the blockchain, but that’s not necessary for this scenario to work

** Of course, this would be even cooler if the loan were recorded and serviced in the blockchain, but that’s not necessary for this scenario to work

Now that we have a preliminary grasp of Smart Contracts (we have translated the poem we like), where is the potential business value (what does it mean in French)?

It can be seen that translation of desired business terms into corresponding Bitcoin transaction logic is complicated. Consider a business which exists to help individuals and other businesses craft Smart Contracts, in exchange for a fee. Such a business would have the same relationship to Smart Contracts as outside lawyers have to ordinary contracts. The Smart Contract Consultants (SCC, your [better] name here) would create, verify, evaluate, and contest Smart Contracts on behalf of the parties. SCC would become expert in the creation of such contracts, and could carve out a significant niche in the blockchain value chain (p.i.).

I have a bunch of follow-on thoughts to this, presently half-baked, and this is already a longish post, so let me stop the business thinking here and continue separately in future.


Let me close with a couple of technical observations.

First, the genius of the Bitcoin transaction Script mechanism is that it is an explicit part of the blockchain. As noted previously, anyone can embed anything in the blockchain, including entire contracts or hashes of externally stored contracts. That would give integrity to the *existence* of a contract, but not to the enforcement of the terms of the contract. By including the transaction terms in the transaction logic, the entire Bitcoin network cooperatively enforces the contact.

Second, I feel the weakest part of the transaction Script mechanism is the treatment of time. Each transaction in a multi-phase contract is fixed in time, embedded in the blockchain. At time A, when transaction TA is executed, the most it can say about time B when transaction TB is executed is that it must occur within a certain time period. It feels like conditional time should be possible, with more flexibility. Perhaps after more study I'll conclude the mechanism is actually more powerful than I thought. But additionally, this constraint opens the door to more need for SCC, to correctly structure the transaction sequence within this limitation.


Bitcoin is cool, but the blockchain is really cool...


Friday,  07/03/15  05:12 PM

under the bridgeA relatively quiet day-before-the-Fourth ... it's always a bit weird when Holidays fall *on* the weekend, right?  Anyway if you've followed me and my blog for any time, you know there's only one thing for me to do tomorrow: race the annual Round the Island race at Westlake.  The race is around the Island :) a task somewhat "complicated" by the presence of a low bridge under which one must either capsize or lower one's mast...

This pic shows my mighty steed, "It's the Water", with a special rig to lower the mast, approaching the bridge...

Google Earth ... turns ten!Google Earth turns ten!  Wow.  Interesting to remember that when Google first bought Keystone and then launched this incredible service, they were not yet "Google", just an upstart search engine with a funny name and some big ambitions.  Google Earth remains entirely amazing, familiarity might hide it a bit, but how cool is it to pick anything on Earth - the pyramids, the North Pole, the Champs Elysees, or your girlfriend's house - and poof you can see it.  Very cool.'

Cannot wait for Google Mars.  I know it's coming :)

Novartis on digitizing medicine in an aging world.  A big vision.  Interesting that so much of the "innovation" in medicine comes from pharma companies, right?

orange kitten befriends photographerThis is adorable ... A tiny kitten befriends a photographer
Cats are amazing.

The morning routes of the most successful people.  I don't think there's one way to be successful, or even on definition of success.  Follow your own path :)

Hmmm... test pilot says the [new] F-35 fighter can't dogfight.  There's always some controversy around new expensive weapons systems, but it seems there is a lot of resistance to this one.  Too big, to ambitious, too expensive...

Beats 1So have you been listening to Beats 1?  Yeah, it's okay - I think the DJs are excellent - but then there's always a song I don't care for (usually rap or hip-hop) and then I change the channel.  It's a good option but only one of many.  (And with streaming services like Slacker, there are many... )

This image from a Beats 1 ad seems to capture the problem perfectly.  Everyone does not listen to the same music, any more than they eat the same food or wear the same clothes.  I predict this will end in failure.

Interesting note: no, Apple is not adding DRM to songs you already own.  Except ... yes, they are, kind of ... the key phrase in this story is "iCloud is not a backup service".  So if you're thinking, well, everything is copied to the cloud anyway, I can just delete my local copies, then you are going to get DRM if you ever try to download the music from the cloud.  So keep your local copies!


taking the fifth

Sunday,  07/05/15  10:09 AM

Happy Fourth!Good morning all ... and welcome to the fifth of July!  Did you have a nice Fourth?

We did ... celebrated by competing in the Westlake Yacht Club's annual Round the Island Race* - in which the competitors must capsize their boats or lower their masts or otherwise navigate underneath a low bridge - and then watched fireworks from the back yard.  The technology of fireworks is amazing, isn't it?  Just thing of all the technology that goes into making cool visuals in the sky :)

* sorry but no, I did not win this year, some early and critical boat failures kept me way back, although I did make it under the bridge in fine style...

Onward to the Fifth! 

Le Tour 2015!Among all the other cool things that are happening this weekend, yesterday saw the start of this year's Tour de France, in Utrecht, in the Netherlands.  I watched the first stage last night and am planning to watch the second in a few minutes, also in the Netherlands, between Utrecht and Zelande.  I am most definitely looking forward to this year's Tour, not only is it a most interesting route, but for the first time in a long time all the favorites are riding, and it will be a horse race among [at least] four strong riders (Alberto Contador, Chris Froome, Vincenzo Nibali, and Nairo Quintana).

Right now I've decided NOT to follow my previous practice of blogging about each of the stages.  In a weird way this is a result of my blog's Flight feature, which shows my posts on the same day in each previous year.  I've realized that old TDF posts are just not that interesting.  So ... be it.

[Update: I did accumulate thoughts and pictures throughout the Tour, which was one of the greatest ever; please see my galactic summary post for a grand report!]



Sunday,  07/05/15  10:27 AM

A fifth filter pass ...

Amsterdam!I just mentioned this year's Tour de France starts in the Netherlands; apropos, TechCrunch has A look at the World's High-Tech Startup Capital.  "It may seem superficial to say so, but one of the biggest advantages Amsterdam has in the tech world is that it’s a place where people want to live — and can actually afford to, even on a startup budget. Local leaders recognize how attractive their city is, and they're not shy about selling it on those terms."

Europe: Debt as %GDPVox: 11 things about the Greek crisis you need to know.  Interesting although the confluence of fact and opinion is troubling, as always with Vox.  Biggest thing I learned: Vox thinks Kentucky is supported by Massachusetts.  (!)

I do agree with the central premise, that a single currency spanning multiple countries with varying fiscal policies was bound to run into trouble.

Business Insider: Margaret Thatcher was freakishly correct about why the Euro would be such a disaster.  She was, but not sure "freakish" is the right adjective for an experienced leader extrapolating from past experience.

From Nick Szabo*: The Greek financial mess and some ways Bitcoin might help.

* Nick has been rumored to *be* Satori Nakamoto.

not a bug :)Cory Doctorow: Not a bug :)

Totally weird: If you divide 1 by 999,999,999,999,999,999,999,998,999,999,999,999,999,999,999,999 (that's 999 quattuordecillion btw), the Fibonacci sequence neatly pops out. Wow!


Tuesday,  07/07/15  09:51 PM

Having recovered from my diversion into Bitcoin, including figuring out how to build Bitcoin Core with Visual Studio, I am on to my next technical investigation, how to extract HD video from a Tivo, edit it, and encode as an MP4.  Stay tuned :)

the IBM 1620, from 1959This is so beautiful: The IBM 1620, an affordable "scientific computer" from 1959.  Where by affordable we mean, $88,000, which would be $715,000 in 2015.  Still looking at those old pictures, it was probably worth it.

No word on how fast it could run Handbrake to encode MP4 video :)

Detroit News documents the decimation of one city block.  I'm unclear on why news media use the phrase "predatory subprime lenders".  These are businesses which makes loans to "subprime borrowers", people who would not otherwise be able to purchase property because they don't have a sufficient down payment or cannot afford the monthly payments. So the interest rate is high, to compensate for the risk.  With such loans often the borrower can't afford the payments, doesn't have much or any money invested as a down payment, and hence abandons the property. Then the lender has to foreclose. This doesn't seems surprising or "predatory".

PS the comments are most instructive.  Many readers seem to feel racial preferences had something to do with lender decisions to foreclose.  I'd like to see evidence of that - correlation does not imply causality.

New Horizons to Pluto - the Wired previewOn deck this week: New Horizons mission to Pluto!  You can warm up by watching this video from Wired.  I can't wait!

You can read more about the mission on NASA's New Horizons mission website.  Coolest thing I learned: after its five-month-long encounter with Pluto, New Horizons will go on to explore other non-planets in the Kuiper Belt, including two over a billion miles beyond Neptune.  To give you an idea of the distance, it takes light 5 hours to travel from Earth to Pluto.

the abandoned TWA terminal at JFKInside JFK's abandoned TWA terminal.  Wow, frozen in time, and super cool.  TWA had a sad history, but use of this terminal was stopped by 9/11.  Let's hope it lives a nice new life as a hotel...



Wednesday,  07/08/15  09:16 AM


Pluto! (as seen from New Horizons)

This is the best-ever photo of Pluto.
Tomorrow's will be better.




world of languages

Thursday,  07/09/15  09:11 PM

A great thought-provoking chart, showing the distribution of languages around the world
(click to enbiggen so you can read the fine print)

My takeaways:
- wow, Chinese
- okay, English 2nd, Spanish 3rd, Hindi 4th, Arabic 5th, but Portugese 6th?  (Brazil!)
- Tamil?  Telegu?  Urdu? ... India
- Surprised German and French aren't more broadly spoken

How broadly is C spoken?  World-wide, I think :)



Sunday night scan

Sunday,  07/12/15  10:56 PM

It's Sunday night, I have a big week ahead.  So naturally I'm going to get a good night's sleep...  Bssst!  I'm going to blog.

From Fortune's CEO Daily: "Which number is larger: $350 billion?  Or $3 trillion?  The first is Greece's total debt.  The second is wealth that has evaporated from the Chinese stock market in the last month.  The difference suggests we are paying too much attention to the wrong thing."

The Shanghai and Shenzen exchanges continued their rout Tuesday, despite heroic efforts to stop them.  IPOs have been shut down, short-selling has been banned, more than 700 shares - about a quarter of the market - have been suspended from trading, and, oh yes, a government-backed fund is buying billions of dollars worth of stock.


I will say, at least China are reaping what they've sown.  Greece seem being spared the consequences of their actions, with dire result.  VDH comments America, like Greece, may end with a lawless whimper.  "All the German euros in the world will not save Greece if Greeks continue to dodge taxes, featherbed government, and see corruption as a business model."

Yosemite Halfdome flake breaks offYosemite rock fall changes face of world-class climb.  "A massive sheet of rock fell from the vertical face of Half Dome in Yosemite National Park, making one of the most popular routes attempted by climbers in North America even more challenging, park officials said Tuesday."  Whoa.

NASA / SpaceX commercial astronaut teamMeet the first commercial space crew in NASA's history.  Wow, these four astronauts will be the first to fly to space in the SpaceX Dragon.  Awesome!

It cannot be too soon; do you realize it has now been 43 years since humans walked on the moon?  Mars or bust!

NASA's Mars TrekPerhaps they can use this: NASA's Mars Trek is Google Earth for the red planet.  Excellent.  Just wish the realtime traffic feature was working :)

Have you been tracking the soap opera at Reddit?  It's pretty interesting, and we public probably only know 1/10th of the truth.  Anyway Steve Huffman, the original founder, is back on the helm.  Judging from this public Q&A, things are going to get better.  At least he has a sense of why people use Reddit, and a desire to help them do it.  And he knew enough about their system to know this was the right way to reach them...

Sigh; the sexual train wreck behind 'yes means yes'.  Glenn Reynolds comments "I'm glad I went to college when I did, we had a lot more fun".  No kidding.  This pendulum must have swung about as far over as it can go, right?

Hehe: welcome to the paperless societyGreek newspapers are running out of newsprint, and Venezuela are running out of toilet paper.  And they've both run out of other people's money.

the Bitcoin blockchain, explainedThe Bitcoin blockchain, explained, from the IEEE.  A pretty nice video, not entirely right but not wrong either.  See my Bitcoin 101 and Bitcoin 102 posts for more :)

bluelist QR code - why?The other day I was having coffee with a friend at Coffee Bean, our local caffeinery, and they had a Bluelist QR Code next to the register.  I asked the Barrista about it, and she had no idea what it was or why it was there.  Staff training, anyone?

So okay, I launch Red Laser and scan the QR code, and ... the value is 4071.  That's it.  No URL!  Boy, this is going to be the most successful in-store program ever!

Most people think they check their smartphones less than others.  Yes, and most people think they're smarter and better looking than average, too :)

Totally agree:  Pompous Apple is Pompous, regarding their new "if it's not an iPhone, it's not an iPhone", ads.  Steve Jobs would never have run these.

Fast Company: Why the Apple Watch is flopping.  "How did this happen?  The answer may sound like heresy to those who canonize - or even merely admire - Apple's designers.  What if the Apple Watch, for all its milled and woven metals, all its appearances on the catwalk, isn't actually all that well-designed?  So far, the Apple Watch doesn't seem very useful, and it hasn't proven that fashionable."  I don't think it is flopping in the sense of not selling well, but I do think it hasn't changed the world.  Few of my friends wear them, and tellingly, few seem to know why they'd want one.

Parenthetically, I've been wearing my 40-year-old pre-TAG-Heuer a lot more often.  Sort of an anti-Apple Watch statement, I guess.  And I'm still proud of my Pebble Steel...

Okay, it's time.  Good night!


the new world of app development

Monday,  07/13/15  09:42 PM

Recently a contemporary (50ish) friend shared his thoughts on finding a job as a software developer today:

  • There are fewer fulltime positions now, and more contractor / parttime positions
  • It's harder and harder for experienced engineers to find work
  • A lot of the work out there is maintenance of old systems, not new development

I was thinking about this, and here are my thoughts...


Hello, IOSA couple of huge things have happened in software, the cloud / web thing, and mobile.  Most new development being undertaken today involves one or both.

The predominant language used for cloud / web things is JavaScript.  A lot of the code is client side, all JavaScript, and the server side stuff has drifted around from Perl to Java to C# to PHP to JavaScript.  On clients the main chunk of knowledge needed (besides JavaScript itself) is JQuery.  This started as an attempt to create a cross-browser-independent way to do stuff (Microsoft IE being quite different from everything else), but evolved into a whole platform for client-side development.  It is unwieldy but it's there, and to work in that world you have to get to know it.  On the server side there's such a mishmash.  There are two platforms, Windows and Linux, and they don't mix well, with separate development tools and frameworks.  About the only thing you can say is all the current languages are "curly-brace" derivatives of C: Java, C#, PHP, etc.

All that said ... the big new thing is mobile.  There are two platforms that matter, IOS / ObjectiveC and Android / Java.  If I were trying to get a job as a software engineer today - building new stuff, not forensic debugging of 10-year-old still-working systems - I would be an app developer.  And on the Internet, nobody knows you're a dog, or a 50+-year old engineer.  I think with a mobile skillset anyone would be in demand.

So, how do you climb that learning curve?  Well, the first thing is you have to get a Mac and learn OS X, enough to be a user. Hardly anyone develops *for* OS X, but just about everyone develops *on* OS X.  I have installed OS X in a VM on my PC laptop, but I'm weird.  Everyone just gets a Mac laptop.

Next, I would recommend learning IOS / ObjectiveC first.  Android / Java is similar enough to be analogous, but it is a bit clunkier and has more variations.  The development platform is XCode, from Apple.  You join their developer program for $100/year and then download and install it.  The first step in the learning curve is learning ObjectiveC.  (Apple now have a new language called Swift, but it hasn't gained traction and ... I would not start there.)  ObjectiveC is a mashup of C and Smalltalk.  To learn it, I suggest reading the Big Nerd Ranch guide to Objective C.  Yeah, that's what it's called, and it's a great hands-on learn-as-you-go guide.  For an experienced engineer, I don't think this is going to be a huge curve.  And it's a valuable skillset; ObjectiveC is used for IOS *and* OS X.  It's also a step to learning C# or Java since they are quite similar.

After that, to learn developing for IOS you have to learn the intricacies of Cocoa.  This is Apple's runtime library.  It does a lot of the work for you, but it also hides a lot of the detail so it's a bit tough to get your arms around.  The XCode environment is highly integrated with Cocoa, the seam between development and deployment is wiggly.  (Think of it like [early-pre-.NET] VB on Windows.)  To climb the curve, I suggest reading the Big Nerd Guide to IOS*.  It helped me get through the initial "what the heck is going on here" to creating "Hello, World" apps for IOS.  There is a lot beyond that but it sure is satisfying to be able to code apps that actually run on your phone.

* The Big Nerd Ranch guides are Kindle-able.  I suggest having the book open in one window and XCode open in another, and toggling back and forth.

Building crap for phones is all very exciting, and a lot of cool apps are client-side-only, but many real applications need a server component.  It turns out the same kinds of interfaces you build for web-client-to-server apps are also used for mobile-client-to-server apps.  On the server, you create simple stateless APIs (the cool kids call this REST) which do all the real work for mobile clients (like database access).  In some applications you even have both web and mobile clients, using the same APIs.  Once you've learned coding mobile apps, you're probably going to want to learn more about the tech on REST servers, too.  That's a subject for another post.

Anyway ...

I were an engineer looking for work in 2015, I would start teaching myself to build IOS apps.  I'd get a Mac, get comfortable using OS X, learn to use XCode, learn ObjectiveC, and learn Cocoa.  That's the biggest world in software development at the moment, and it isn't going away.


So what do *you* think?  Please let me know if you have comments or suggestions!


New Horizons

Monday,  07/13/15  11:32 PM

NASA explorerNASA celebrates 50 years of planetary awesomeness.  On July 14, 2015, New Horizons will take the first close-up pictures of Pluto, exactly 50 years to the day after Mariner 4 flew by Mars and took the first close-up pictures ever of another planet.  Wow...

CharonMeanwhile ... here's your closest look yet at Pluto's largest moon, Charon.  Excellent.  The New Horizons spacecraft is unimaginably far away ... it takes light 5 hours to reach us from Pluto.  And yet we can take pictures like it's our back yard.  [kinda]

MG Siegler links Dennis Overbye:  The inventory of major planets - whether you count Pluto as one of those or not - is about to be done.  None of us alive today will see a new planet up close for the first time again.  In some sense, this is, as Alan Stern, the leader of the New Horizons mission, says, "he last picture show."

It’s hard to write these words and know what they might feel like 50 years from now.  I never dreamed, when Apollo astronauts left the moon in 1972, that there might come a day when there was nobody still alive who had been to the moon.  But now it seems that could come to pass.  How heartbreaking is that?

You could say that we have reached the sea, the very icy and black sea between us and the stars.  Whether we will ever cross that sea nobody can say.

I can say, we shall cross it.  Probably sooner than anyone can imagine.  Life will find a way.

PS there are 182 known moons in the solar system, some nearly as large as Mars (Ganymede and Titan), with a wide variety of interesting characteristics.  And literally thousands of asteroids, dwarf planets, comets, and other space dwellers.  So I don't think it's even the last picture show.

planets, etc

This is perfect: Welsh government responds in Klingon to UFO questions.  And no, it is not a headline from The Onion. 

"Darren Millar, the Shadow Minister for Health and Social Services in Wales, posed three questions to Welsh economy, science and transport minister Edwina Hart about recent UFO sightings and funding research into the phenomena.  A Welsh government spokesperson responded in Klingon:

Jang vIDa je due luq. 'ach ghotvam'e' QI'yaH devolve qaS.

Translation: "The minister will reply in due course. However this is a non-devolved matter."

"I've always suspected that Labour ministers came from another planet," Millar said. "This response confirms it."

Adam Savage and Christ Hadfield as 2001 astronauts at Comic-ConAdam Savage and astronaut Chris Hadfield walk the floor at San Diego Comic-Con, dressed [perfectly] as astronauts from 2001.  Excellent.

I find that as time passes, no science fiction film gets as much respect as 2001.  None.

Airbus electric planeTwo electric planes just made history by flying over the English Channel.  Yes!  So when I can I get mine ... can't wait :)

Robert X Cringley asks Remember when technology was exciting?  He obviously is not reading my blog :) 

Seriously, I get the "we were promised flying cars and all we got was 140 characters" point of view, but when you look at what we *are* doing, it's incredible.  Onward!



sea turtle GoPro

Monday,  07/13/15  11:34 PM

This is so cool ... a turtle's-eye view of the great barrier reef:

(please click to play video)

Reminds me of the sea turtles in Finding Nemo.  Righteous, dude!



Tuesday,  07/14/15  09:18 AM


I could look at this all day, and probably will
(for comparison, seethis picture taken six days ago)
The New Horizons spacecrafthas taken 9 years to travel 3 billion miles so it could take this picture.


Monday,  07/20/15  09:31 PM

"It's the Water"So I spent the last week / weekend sailing in the 2015 C-15 Nationals, an event I first sailed in way back in 1978.  Whew.  We didn't win, and although I almost killed my crew (longtime friend and fellow sailor Don, who is always the center of good stories) we did have some good moments too (best one, port tacking the entire fleet with the right side favored).  It was so much fun, we might even do it again ... in another 35 years.


What can I say about the Iran deal that hasn't been said elsewhere by others already?  It's a horrible deal, truly Munich for our time.  (This refers to the Munich agreement made by Prime Minister of the UK Nevil Chamberlain with Hitler's Germany, an appeasement which didn't work, and led directly to WWII.)  We know it will enable Iran to develop nuclear weapons, and we can only hope it doesn't lead directly to WWIII.

Brings to mind the remark by Albert Einstein, that he didn't know what weapons would be used in WWIII, but he thought WWIV might be fought with sticks and stones.  Sigh.

The worst part is I'm entirely unclear on what the US gains from this deal.  It seems the only benefit is that President Obama can claim to have made a deal with Iran, and that's of no use to anyone.

the Parkes TelescopeHmmm: Stephen Hawking and Russian Billionaire start $100M search for aliens.  So be it.  I for one hope we find life "out there", but I am not optimistic.  Far more likely that they will find us, after we have advanced sufficiently, but I don't think we're quite there yet. 

I think the answer to Fermi's Paradox, "where is everyone", is that they're out there, but we're very (very!) far apart... and will need advanced tech merely to find each other, let alone communicate.

the Fermi Paradox, discussedWait But Why's discussion of the Fermi Paradox is great, check it out...

Meanwhile: Asteroid Mining company's 1st satellite launches from space station.  And no, that's not an Onion headline nor a movie.  What a great time to be alive.

ICON A5 amphibious sport aircraftI'd love to, and I did: Test fly an ICON A5 amphibious sport aircraft in this new video.  As far as the cost, well, if you have to ask...

Interesting: PayPal shares pop 8.3% after split from eBay.  The acquisition of PayPal by eBay made sense at the time - the dot-bomb explosion made access to capital for PayPal very difficult - but now it's good that they're separate.  PayPal can resume its original vision of becoming "the new world currency" :)

So, what programming language should you learn?  I gave my answer a few days ago, ObjectiveC.  The assumptive answer from this survey is Python, but I'm not so sure...  I haven't seen it used for "real stuff" too often.  The other "real" answer would be JavaScript, which is used for everything these days.

Apple iTunes icons over the yearsIn re Apple design trends, this progression of iTunes icons speaks for itself.  2015 is definitely the ugliest, and I'd pick 2006 as "peak icon".

As Ghandi once said, "half my quotes on Pinterest are fake".  Ah, but which half?


reenabling Windows weather gadgets

Wednesday,  07/22/15  09:50 PM

Windows weather gadgets in actionHere's a public service announcement: how to reenable Windows weather gadgets.  Why, you may ask, should this be a subject for a blog post?  Well because 1) Windows weather gadgets are nice and useful, and 2) Microsoft, in their infinite wisdom, recently disabled them.  Permanently.  Sigh.

  1. In Task Manager, locate sidebar.exe and kill it.  Your old, dead, no-longer-updating gadgets will disappear.
  2. Go to "C:\Users\USERNAME\AppData\Local\Microsoft\Windows Live\Services\Cache", edit "Config.xml", and save it without making any changes.  Yes you read that right, just do it.
  3. Right-click on your desktop, and select Gadgets.  This restarts sidebar.exe and poof! working weather gadgets.

For extra credit, here's how to set or change the location of each gadget:

  1. In Task Manager, locate sidebar.exe and kill it.  Your gadgets will disappear.
  2. Edit "C:\Users\USERNAME\AppData\Local\Microsoft\Windows Sidebar\Settings.ini".  You will see a section for each weather gadget with a WeatherLocation and a WeatherLocationCode.  You can change Weather Location to any text you like.  To set WeatherLocationCode, visit:  The codes are eight characters, something like "USCA1228" (Westlake Village, California) or ""MAXX0002" (Antananarivo, Madagascar).
  3. Right-click on your desktop, and select Gadgets.  This restarts sidebar.exe and poof! updates made.

You're welcome!

PS this particular subject is a case study in useless misinformation spread all over the Internet.  Honestly people, if you don't know what you're talking about, stop talking.


Sunday,  07/26/15  11:05 PM

Arctic icepackYou cannot make this stuff up: Arctic expedition to study global warming put on hold because of too much ice.  I'm tempted to comment, "how cool is that!", but I won't.

Just to clarify, I am not a global warming denier, I'm more of a global warming doubter.  There's probably a warming effect caused by release of greenhouse gases into the atmosphere, but I don't think the end is nigh.  Furthermore I don't think most global warming activity has anything to do with genuine concern, it's all politics.

Meanwhile, in real science news, NASA's Kepler discovers bigger, older cousin to Earth.  "The newly discovered Kepler-452b is the smallest planet to date discovered orbiting in the habitable zone - the area around a star where liquid water could pool on the surface of an orbiting planet - of a G2-type star, like our sun."  And it's merely 1,400 light years away ... a perfect vacation opportunity.

More liberal BS: Dunkin Donuts CEO makes $10M/year but thinks $15/hour minimum wage is outrageous.  Many people apparently think compensation is some sort of corporate profit-sharing scheme.  They are completely wrong about this :P

Oh, and so how's Seattle's $15/hour minimum wage law working out?  Somehow this lesson never seems to be learned, the consequences might be unintended, but they're not actually unpredictable.

Amazon vs Walmart, market cap over timeWhoa ... Amazon's market cap now bigger than Walmart's.  If you click through, you'll see that Walmart remains much larger in terms of sales, revenue, and net income.  But Amazon are growing much faster...

The next Social Network?  Winklevoss twins get closer to launching their Bitcoin exchange.  "If you had invented Bitcoin, you'd have invented Bitcoin..."  (But then again, nobody knows the identity of Satoshi Nakamoto :)

Of course: Bitcoin is the preferred currency of blackmailers and kidnappers.

Australian climbing perch, aka "Darwin fish"Going back to real science, this time biology: Crazy 'missing link' Darwin fish can breathe air, walk on land, and climb trees.  Yay.  I want a picture of that fish on my car.


Le Tour 2015

Monday,  07/27/15  06:35 PM

Okay cycling fans, here's what you've been waiting for ... my galactic 2015 Tour de France post.

This year I restrained myself from posting about the Tour every day, but of course, I watched each stage with great interest.  And it was an exceptionally interesting Tour, with a great route featuring lots of interesting stages.  For the first time in many years all of the best stage racers in the world were present: 2012 champion Alberto Contador, 2013 champion Chris Froome, defending champion Vincenzo Nibali, and 2013 runner up Nairo Quintana.  And there were lots of promising dark horses too, like American Tejay Van Garderen and Alejandro Valverde, as well as a slew of great French hopes like last year's runner up JC Peraud and Thibaut Pinot.

I've made one giant review post here, briefly recapping each of the tour stages.  To enhance my enjoyment, I created Google Earth flybys of each stage - I've posted them here - and downloaded and edited each of the stages as broadcast on NBCsn - I've posted links to the torrents. 

It ended up being the best Tour ever - certainly since I became a cycling fan - with great racing by amazing riders on a beautiful course.  It seemed each day had an interesting storyline, whether it was the sprinters - Andrew Greipel vs Mark Cavendish vs Peter Sagan - or the potential breakaway winners - or the green jersey competition - or the huge GC battle.  And mercifully there were no doping controversies ... yay.  There was talk of doping when there were great performances, but no actual doping.  Maybe even the talk will end soon...  Onward!

Stage 1 - Utrecht to Utrecht, The Netherlands (13.8km) - ITT - flat
Stage 2 - Utrecht to Zeeland, The Netherlands (166km) - flat and windy
Stage 3 - Antwerp to Huy, Belgium (157km) - flat, uphill finish
Stage 4 - Seraing to Cambrai, France (221.5km) - flat, with cobblestones
Stage 5 - Arras to Amiens Métropole (189.5km) - flat
Stage 6 - Abbeville to Le Havre (191.5km) - bumpy, uphill finish
Stage 7 - Livarot to Fougeres (190.5KM) - flat
Stage 8 - Rennes to Mûr de Bretagne (181.5km) - flat, uphill finish
Stage 9 - Vannes to Plumelec (28km) - TTT - lumpy
Rest Day 1 - Pau

Stage 10 - Tarbes to La Pierre-Saint-Martin (167km) - mountain
Stage 11 - Pau to Cauteretes-Vallée de Saint-Savin (188km) - mountain
Stage 12 - Lannemezan to Plateau de Beille (195km) - mountain
Stage 13 - Muret to Rodez (198km) - transition
Stage 14 - Rodez to Mende (178.5km) - transition, uphill finish
Stage 15 - Mende to Valence (183km) - transition
Stage 16 - Bourg-de-Péage to Gap (201km) - transition
Rest Day 2 - Gap

Stage 17 - Digne-les-Bains to Pra-Loup (161km) - mountain
Stage 18 - Gap to Saint-Jean-de-Maurienne (186.5km) - mountain
Stage 19 - Saint-Jean-De-Maurienne to La Toussuire-Les Sybelles (138km) - mountain
Stage 20 - Modane Valfréjus to Alpe D’Huez (110.5km) - mountain
Stage 21 - Sèvres-Grand Paris Seine Ouest to Paris Champs-Élysées (109.5km) - flat
Final thoughts - Paris


(Velonews preview)


Stage 1 - Sat July 4, 2015
Utrecht to Utrecht, The Netherlands (13.8km)
 - ITT

So it begins ... stage 1, the Grand Depart.  This year it took place in Utrecht, in the Netherlands, and it was a short individual time trial, just a bit longer than a prologue.  The huge Dutch crowds watched Australian Rohan Dennis powered to an impressive victory, recording the fastest average time ever in a Tour de France time trial.  Favorites Tony Martin and Fabian Cancellara were close behind to get 2nd and 3rd.  The local favorite Tom Dumoulin finished a strong fourth, but the crowd and indeed the country was rooting for him to win.

Among the major GC favorites, defending champion Vincenzo Nibali (Astana) was the big winner, 43 seconds down on Dennis but seven seconds ahead of Chris Froome (Sky), 15 seconds ahead of Alberto Contador (Tinkoff-Saxo), and 18 seconds ahead of Nairo Quintana (Movistar).  American Tejay van Garderen (BMC Racing) put in a solid performance, finishing one second faster than Nibali.


(Google Earth flyover movie + kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 2 - Sun July 5, 2015
Utrecht to Zeeland, The Netherlands (166km)

Stage 2 presented an interesting early challenge to the peloton; pan-flat, but with the prospect of wind and weather causing echelons along the Dutch seacoast, with a finish along Zeeland's Delta Project, a huge series of dams and artificial islands which hold the sea back.

The weather came in, but the wind did not, and in the end the result was a field sprint, with Andre Greipel triumphing.  Fabian Cancellara finished third to take the yellow jersey.  Mark Cavendish finished a disappointing fourth, especially so since his teammate Tony Martin stood to take yellow if Cancellera didn't win a time bonus.

Meanwhile, back in the field, the big news was a split in the field following a crash, which left Movistar and Astana nearly a minute and a half behind the peloton, costing favorites Vincenzo Nibali, Nairo Quintana, and Alejandro Valverde critical time relative to Alberto Contador, Chris Froome, and Tejay Van Garderen.  The old adage that you can't win the Tour in the first week, but you can lose it, was definitely proved once again.  Also caught out was Rohan Dennis, wearing yellow; his BMC team opted to press ahead for Van Garderen, abandoning Dennis and allowing Cancellara to take yellow.  This was the sixth time in his long and storied career that Cancellara found himself wearing the leaders jersey early in the Tour.

(Google Earth flyover movie + kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 3 - Mon July 6, 2015
Antwerp to Huy, Belgium (157km)

Stage 3 was a flat stage in Belgium, but as all good Belgian stages with a killer little kick up at the end, the Mur de Hoy famous for being the finish of the Liege-Baston-Liege race.

As it turned out, the climb at the end was the least of the peloton's problems; a huge crash midway through the race took out several riders, injured yellow-jersey wearer Fabian Cancellara (who would drop out of the race after managing to finish), and forced an unprecedented neutralization of the entire race for 20 minutes at the bottom of the penultimate hill.

Once the race resumed the attacks were thick and furious.  Joachim Rodriguez led the charge up the final hill, a perfect finish for him.  Among the GC contenders Chris Froome led the way, finishing second on the stage and taking a little time from everyone else, as well as the yellow jersey away from Tony Martin, who sat second for the third consecutive day by only one second.

The best news of the day is that despite the horrific crash and the loss of Cancellara, the main contenders remained unscathed.


(Google Earth flyover movie + kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 4 - Tue July 7, 2015
Seraing to Cambrai, France (221.5km)

Since the Tour found itself in Belgium, what better than a stage with cobblestones, a la Paris-Roubaix?  And indeed stage 4 delivered, with seven sections of pavé.  Unlike last year there was little rain and few crashes, but it was a flat-out blast through the countryside, with clouds of dust everywhere and desperate chasing across gaps.

Tony Martin survived the bumps and a late flat + bike change, and powered to victory, finally taking a yellow jersey too.  Nearly everyone felt happy for him, as it was his first leaders jersey after many years of coming oh so close.

There was considerable GC action with Vincenzo Nibali pressing attacks in the late going, but in the end all the GC contenders finished safely together.  The main effect was a general soreness in everyone's legs.

There's an ongoing debate about whether cobbles belong in the Tour, and I'm firmly in the "yes they do" camp.  It's a true test of bike riding, a major part of the sport, and it makes for great spectating.  I hope they include a stage with pavé every year.

(Google Earth flyover movie + kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 5 - Wed July 8, 2015
Arras to Amiens Métropole (189.5km)

And so finally the Tour found itself in France, and there was a flat stage which ended in a field sprint, and it was good.

The stage rode through the parts of Northern France where huge battles took place during World War I, and many of the graveyards and memorials were visited or ridden by, as various commemorative events took place.

Andre Greipel blasted to his second stage victory, increasing his tenuous lead over Peter Sagan in the green jersey points competition.  The GC contenders called a truce for the day, recovering from a hard series of opening stages, and getting ready for more to come.


(Google Earth flyover movie + kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 6 - Thu July 9, 2015
Abbeville to Le Havre (191.5km)

Stage 6 of the 2105 Tour was mostly flat, through rolling countryside and along the Breton shore, ending with a steep final ascent into Le Havre which promised to break up a field sprint.

Etixx-Quickstep's Zdenek Stybar survived last-minute crashes amid the final attacks to bring home the victory, while his teammate Tony Martin crashed heavily, finishing the stage but later dropping out of the Tour.

The day's feel-good story game via Eritrean Daniel Teklehaimenot, riding for first-time Tour invitees MTN-Qhubeka, who rode in the break all day scooping up mountain points to end the day as King of the Mountains, the first black African to wear a leaders jersey in a grand tour.

The GC contenders had another quiet day and there were no changes in the overall classifications.


(Google Earth flyover movie + kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 7 - Fri July 10, 2015
Livarot to Fougeres (190.5KM)

Another flat transition stage, and another bunch sprint; but this time a different winner, Mark Cavendish broke his dry spell and came out on top.  This was just about his last chance until Paris, as the remainder of the "flat" stages in this year's Tour are pretty bumpy and/or have uphill finishes.

The remainder of the peloton relaxed and followed, with no changes on GC.  The green jersey remained on Andre Greipel's shoulders, with Peter Sagan lurking close behind and a good battle on that front looming.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 8 - Sat July 11, 2015
Rennes to Mûr de Bretagne (181.5km)

Today's stage 8 was one of those lumpy stages you figure might go to a breakaway,especially because of a stinger at the end, the steep Mûr de Bretagne.  But the field came together and then Alexis Vuillermoz attacked to take the win, barely holding off a hard-charging Dan Martin.  It was the first French victory of the Tour.

Once again there was little GC racing, although Peter Sagan moved up into second with another close finish, this time fourth.  Peter now sits second in both the yellow and green jersey competitions, how often do you see that?  The final climb was steep enough to shed the pure sprinters, but a little too steep to enable Sagan to push through.  His ongoing stage win drought is now becoming a side story to the tour, that's how well he's racing in every stage.

Man of the teams took the stage off, resting up for the pivotal long team time trial tomorrow.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 9 - Sun July 12, 2015
Vannes to Plumelec (28km)
 - TTT

The relatively long and bumpy team time trial of stage 9 was predicted to be crucial for the overall GC battle, and in the event it was pretty exciting, although it produced few changes overall.

Team BMC had hopes of repeating their recent victory in the Criterium du Dauphine, and putting Tejay Van Garderen in yellow.  As it turned out they did win, but barely, and didn't quite gain enough time on Team Sky to dislodge Chris Froome from yellow.

A key surprise was the relatively strong performance of Team Movistar, which kept Nairo Quintana and Alejandro Valverde in the GC mix, and the somewhat disappointing time turned in by Team Astana, which had looked extremely strong in this year's Giro d'Italia, but which lost Vincenzo Nibali a little more time to his competition.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(NBCsn broadcast - torrent)

Rest Day 1 - Mon July 13, 2015

And so the first week of the Tour draws to a close, with nine tough stages including the tour's only ITT and TTT done.  Ahead lie three tough mountain stages in the Pyrenees, four transition stages through the South of France, and then four concluding stages in the Alps, before the final parade to Paris.

Some conclusions from the first week:

  • Chris Froome is looking solid in yellow, as is his Team Sky.
  • Tejay Van Garderen is the GC surprise, and his Team BMC have done everything right including winning the team time trial.
  • Vincenzo Nibali most definitely does not look like the dominant champion he was last year, and Team Astana have lost something since their strong Giro showing.
  • Alberto Contador looks tired from his winning Giro campaign.  Team Tinkoff have done well, but he has merely hung in there.
  • Peter Sagan is the rider of the tour, despite not having won anything yet.  He's close on GC and close in the points competition, and has been right with the winners in every stage.
  • Andre Greipel is this year's top sprinter, having eclipsed Mark Cavendish.  Of course Marcel Kittel is not here.
  • The French are not as strong or as fortunate as they were last year, when they took 2nd and 3rd, and will likely have to settle for trying to make the top ten.
  • It has been a great parcours so far.  The ASO are to be congratulated on a great course!
  • Phil Liggett and Paul Sherwen, deans of cycling announcersPhil Liggett and Paul Sherwen remain on top of their game (pictured at right), and the NBCsn supporting team of Todd Harris, Bob Roll, Christian Vande Velde (pictured above), along with the inimitable Jens Voigt are excellent.
  • Onward!
(Velonews preview)

Stage 10 - Tue July 14, 2015
Tarbes to La Pierre-Saint-Martin (167km)

So finally the Tour reached the mountains ... the first decisive stage in the Pyrenees, where the true contenders would be revealed and the pretenders would be exposed.  A long flat prelude to get everyone warmed up, followed by a difficult mountaintop finish atop the HC climb to La Pierre-Saint-Martin.

And Chris Froome dominated the field, powering away to victory, decisively gaining time on all his rivals.  It might be that this one climb determines the winner of the Tour.

Robert Gesink of Team Lotto Jumbo attacked first, signaling his recovery from injuries and return to the front of the GC field, but he was quickly reeled in.  His effort did have the effect of shedding Vincenzo Nibali, who just hasn't looked at all like he did last year.  Next came Alejandro Valverde, and the resulting increase in pace shed Alberto Contador and then Tejay Van Garderen, to the surprise of many.

As the climb continued inexorably on only Nairo Quintana was able to stay with Froome, and soon he too was dropped, leaving Froome to ride on alone to victory.  It may be too early to declare Froome the overall winner, but it's clear that Nibali and Contador just don't have what it will take this year.  Meanwhile Tejay can hope for a podium, if not the overall victory, and Quintana seems like Froome's main competition.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 11 - Wed July 15, 2015
Pau to Cauteretes-Vallée de Saint-Savin (188km)

Stage 11 featured an HC climb up the legendary Col du Tourmalet and a mountaintop finish to Cauterets, but even so it felt a bit of an anticlimax after yesterday.  There would be fireworks on the last climb, but perhaps a chance for a break.  And so it was.

It seems in every Tour there is a decisive moment when the GC battle is shaped, and almost every stage after that features two races, one for the win, and one for GC.  Stage 10 of this year's Tour was that moment, and sure enough there was a lot of energy expended on getting in a possibly-winning breakaway. 

Rafael Majka got in the early break with two options, first, to help Albert Contador later should he attack on GC, and second, to hunt for the win.  After a while the first option faded, and he powered on to take the stage, in fine fashion reminiscent of his KOM-winning form from last year, when he also won two mountain stages.  Also in the mix was Dan Martin, who finished a strong second.

Among the GC contenders Vincenzo Nibali was again dropped on the final climb, but the rest of the favorites finished together.  There was speculation that Valverde and Quintana might try a two-pronged attack on the final climb, but it fizzled.  It could be that they try to hang in there tomorrow, and then reserve their real attacks to try to take back time for the Alps.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 12 - Thu July 16, 2015
Lannemezan to Plateau de Beille (195km)

The mighty stage 12 of the 2015 Tour featured four big climbs, including two Cat 1 trips up the Col de la Core and the Port de Lers, before finishing on the HC Plateau de Beille.  Adding to the fun, most of the stage was raced in a continuous downpour.

Sensing the possibility of victory, a 22-man break formed early, and broke and reformed several times before decanting down to seven strong riders.  With 11Km left on the final climb Joachim Rodriguez attacked and rode away to a strong victory, his second of the tour.

Further back, the GC contenders attacked Froome but could not gain any ground, and they all finished together.  Alberto Contador and Vincenzo Nibali both showed signs of life, attacking to move to the front before being nailed back, adding to the entertainment.

Meanwhile man-about-the-peloton Peter Sagan once again took maximum points at the intermediate sprint to secure his hold on the green jersey.  It seems clear now that he's going to win his fourth consecutive green jersey if he makes it to Paris, as he's able to score points every day, regardless of the course profile.

And so now the peloton head off across Southern France for four transition stages, which are each lumpy enough with enough variation to make it difficult for pure sprinters to win.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 13 - Fri July 17, 2015
Muret to Rodez (198km)

Stage 13 looked like possibly it could end up in a field sprint, or possibly a breakaway could survive.

In the event, the peloton kept an early break close all day, and eventually reeled them in, having however shed many of the pure sprinters on the lumps leading into the finish.

BMC's Greg Von Avermat powered up to the front and held on for victory on a finish that was steeper than the profile would indicate.  Peter Sagan narrowly finished second, his fourth 2nd of the Tour.  It seemed he would power past Van Avermat to win, but his timing was off and he couldn't do it.

The GC contenders were content to ride along in the peloton and finished together without incident or any changes to the overall standings.


(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 14 - Sat July 18, 2015
Rodez to Mende (178.5km)

With a rather unusual profile, stage 14 seemed like a perfect opportunity for an intrepid breakaway to stay clear, packing a considerable punch however in the final uphill finish.

The peloton seemed to relax right away and a large breakaway pulled clear.  Peter Sagan took maximum points at the intermediate sprint, after which there was a decanting and a smaller break pressed on.

On the final climb it seemed Romain Bardet had the winning move, only to be caught by Thibaut Pinot with 2km left.  The two played cat-and-mouse, and suddenly were caught and passed by Steve Cummings of MTN Qhubeka, who outlasted them to win.  It was a great victory for the wild card African team, a perfect way to celebrate Nelson Mandela Day.

Long after the win, the GC group reached the final climb and we were treated to another great race to the finish, with Nairo Quintana attacking at the end, only to be caught by Chris Froome.  The pair gained further time on the rest of the competition, especially Tejay Van Garderen who was inexplicably dropped early on the climb.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 15 - Sun July 19, 2015
Mende to Valence (183km)

Stage 15 looked like it might feature yet another breakaway, but the finished turned out to be too flat and hence too tempting for the sprint teams, and they kept things well in hand.

After a largely uneventful if pretty fast chase, the field came together into the finish at Valence, and Andre Greipel out sprinted the field once again to take his third victory of the Tour.  Peter Sagan tried gamely but came up short, finishing fourth and holding onto the green jersey.

The stage was a quiet one for the GC contenders, who followed in the peloton all day, with no overall changes.


(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 16 - Mon July 20, 2015
Bourg-de-Péage to Gap (201km)

The last of the four transition stages looked set to be perfect for a breakaway, and indeed the last chance for opportunists in this year's Tour.

Two large breakaways escaped, with Peter Sagan once again animating the front in search of more green jersey points.  Eventually the breakaways merged, leading to a series of attacks which were each pulled back.

At the final climb Reuben Plaza attacked the leaders, including Sagan, who seemingly let him go.  It proved a bad decision as Plaza held on throughout the dangerous descent into Gap for a solo victory.  Sagan chased hard but had to settle for his incredible fifth 2nd of the Tour.

That brings everyone to the second rest day.  And then fireworks in the Alps!


(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(NBCsn broadcast - torrent)

Rest Day 2 - Tue July 21, 2015

The peloton reached the second rest day after a tough second week.  A lot of tired legs gratefully took the day off.  (But not too "off"; most riders still rode for a few hours to keep their bodies in race mode.)

Immediately ahead lie four mountain stages in the Alps, including the queen stage and a mountaintop finish at Alpe d'Huez, and then the ceremonial final day's sprint in Paris.

Some conclusions from the second week:

  • Chris Froome is going to win.  He was too strong in the Pyrenees and his Team Sky have controlled everything.
  • Nairo Quintana is going to finish second.  He is the only one with a chance to win, but he'll have to find that extra climbing gear he has shown in the past.  His Movistar team have ridden well and he has Alejandro Valverde, the strongest teammate of any of the contenders, sitting in third and a contender himself.
  • Valverde is riding his best Tour ever and might finish on the podium.
  • Tejay Van Garderen remains strong.  If he shows strength in the Alps he might even be able to move up onto the podium.
  • Alberto Contador still looks tired.  You can tell he wants to attack, but can't.  Still you can't count him out, he could come up with a big surprise in the Alps.  
  • Vincenzo Nibali has fallen back further, and Astana have been non-combatants.  It's doubtful he can doing anything.
  • Peter Sagan has locked up the green jersey with spectacular riding every day.  Too bad a stage win has eluded him. 
  • I honestly think this is the best route ever.  It has something for everyone and each day has been interesting and beautiful.  I can't wait for the Alps to come!
  • Jens Voigt, cycling announcer rookie of the yearIn the announcing peloton, Jens Voigt is rookie of the year.  So often he makes an observation about the racing and you say "yeah, of course, that's obvious".  But at first it was only obvious to him :)
  • Onward!
(Velonews preview)

Stage 17 - Wed July 22, 2015
Digne-les-Bains to Pra-Loup (161km)

As predicted the first of four serious Alpine stages produced excitement and drama.  A huge break of 31 riders took off early, hoping to be left alone, but there was a gradual shuffling and decanting that reduced the group to a small number of strong climbers.

Further back the GC attacks came fast and furious, as Alberto Contador, Vincenzo Nibali, and Nairo Quintana each tried to take time on Chris Froome.  And further back yet, in the days saddest story, Tejay Van Garderen suffered from a chest cold acquired on the rest day and was dropped immediately, before he finally withdrew from the Tour.

On the huge Col d'Alois Simon Geschke attacked the leading break and pulled a gap, which he held all the way down the perilous descent and defended on the final climb into Pra-loup.  Andrew Talansky chased hard and passed Thibaut Pinot downhill to finish second.

In the GC battle further down the hill the contenders tried everything to put pressure on Team Sky.  In the end Quintana was able to beat Froome to the line, but didn't pull any time.  Nibali gave up more time and Contador suffered an untimely crash at the foot of the final climb which cost him over two minutes, virtually ending any chance he might have at winning.

It was a great day of racing with incredible views of the mountains as a backdrop; can't wait for tomorrow!

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 18 - Thu July 23, 2015
Gap to Saint-Jean-de-Maurienne (186.5km)

A long stage with seven categorized climbs including the massive HC Col du Glandon led to more great racing in the 2015 Tour's stage 18.  Another large break of 29 riders got clear early, and it seemed any one of them might survive to the end, with the peloton mostly interested in the GC battle.

There were two great races on the huge Glandon, the race for the stage, won by Romain Bardet as he slipped off and opened up a lead on the long long downhill, and the race for GC, featuring multiple attacks by all the usual suspects.

Vincenzo Nibali showed signs of life, attacking several times, and Albert Contador had the most active stage of his Tour.  Ultimately they were reeled in by the relentless pace of Team Sky and Chris Froome, and in the end all the contenders finished together, with no changes to the overall standings.

The race for King of the Mountains also heated up - finally! - with Joachim Rodriguez and Romain Bardet in a pitched battle.  Sadly for both of them it's likely that the overall winner will have to do well in both of the final mountain stages to stay in front, and will probably win the KOM as well.  Such is this year's course ... too much climbing and too many mountaintop finishes for there to be a separate King of the Mountains.

It was great to see all the contenders animated and attacking, and it bodes well for tomorrow's queen stage of the Tour.  

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 19 - Fri July 24, 2015
Saint-Jean-De-Maurienne to La Toussuire-Les Sybelles (138km)

When the 2015 Tour route was announced Stage 19 looked to be decisive, and so it was, featuring an early Cat 1 climb right out of the gate up the Col du Chaussy, and then a huge HC climb up the Col de la Croix de Fer (the other side of the Col du Glandon from yesterday), a short climb up the steep Col du Mollard, a steep descent, and then finally a Cat 1 climb up to the finish at La Toussuire.  It turned out to be one of the most eventful races of a colorful Tour.

Unexpectedly Alberto Contador attacked right on the first climb, bringing along Alejandro Valverde and Team Sky's Geraint Thomas, and blowing up the peloton right from the start.  Chris Froome soon found himself isolated for the first time all Tour, and for the first time seemed a bit vulnerable.  On the long ascent of the Col de la Croix de Fer it seemed Astana and Vincenzo Nibali were massing for an attack.  With about 5km to go Chris Froome had a slight mechanical and poof, Nibali picked that exact moment to attack.

It definitely seemed he was going to attack anyway, but it also didn't seem quite quite the thing, to attack the yellow jersey during a mechanical, and there was a lot of heated discussion afterward. 

Anyway Nibali pressed his attack and held it, winning the stage to gain back over a minute on Froome, and move solidly back into the top five.  It was the first time all Tour that he seemed to have the resolve and power he had last year, and it makes one wonder what might have been, and what could happen tomorrow.

Meanwhile on the final climb Nairo Quintana also attacked, and was also able to bring back time on Froome, about 30s.  He moved to within a plausible attacking range of the overall lead, given the climbing on tap tomorrow.  Too bad he and Valverde weren't able to sustain this type of one-two punch back in the Pyrenees.

So it all sets up a great penultimate stage tomorrow, finishing atop Alpe d'Huez.  Should be a perfect end to a great Tour!   

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 20 - Sat July 25, 2015
Modane Valfréjus to Alpe D’Huez (110.5km)

Which brings us to stage 20, the final Alpine stage and the final "real" race of the 2015 Tour.  This stage was originally supposed to pass over the Col du Galibier, but a tunnel blockage forced a re-route, and now the peloton passes over the Col de la Croix de Fer again, this time from the other side, before finishing atop the iconic Alpe d'Huez.

The peloton pretty much held together over the first climb, but a small group of attackers got away on the descent including Thibaut Pinot and Ryder Hesjedal.  Pinot ended up hanging on to win, gamely fighting his way through the massive crowds on the Alpe.

Just behind a battle royal was brewing among the GC contenders, with first Alberto Contador and then Alejandro Valverde getting clear.  Vincenzo Nibali suffered an untimely flat at the base of the final climb which kept him out of the action.  Then the danger level rose to 11 as Nairo Quintana attacked, pulling a gap on Chris Froome and riding together with his teammate Valverde.  Quintana nearly won the stage, grinding Pinot all the way up, and ended up gaining over a minute on Froome.  But it was not enough, and Froome will be wearing yellow in Paris.

The final GC overall looks almost exactly as you might have predicted, with the "big four" of Froome, Quintana, Nibali, and Contador all in the top five, joined by Valverde.  (Too bad Tejay Van Garderen dropped out, he had a real chance to break into that group.)  The top ten was rounded out by more usual suspects, Robert Gesink, who had a great Tour, Bauke Mollema, Matthias Frank, Romain Bardet (the top French rider), and Pierre Roland.

Whew.  What a great day of racing, capping a great three weeks.  And so tomorrow we have the final ceremonial stage to Paris, which will feature the final non-ceremonial and hotly contested sprint for the final win.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

(Velonews preview)

Stage 21 - Sun July 25, 2015
Sèvres-Grand Paris Seine Ouest to Paris Champs-Élysées (109.5km)

The final stage of the 2015 Tour was reached after an air transfer from Grenoble, and featured the usual picture opportunities and champagne toasts on the way into town, before the usual 13 increasingly furious circumlocutions of the Champs-Élysées.  On this day the rain came, and the organizers chose to take the final times on the first pass through the finish line, neutralizing the race and avoiding any last minute mishaps.

The road did dry a bit for the final, and the sun poked through, and Andre Greipel once again dominated his sprint compatriots to take his fourth stage win.

The final GC standings were Chris Froome, Nairo Quintana, Alejandro Valverde, Vincenzo Nibali, and Alberto Contador.  Peter Sagan won the green jersey going away, Froome also won the polka dot KOM jersey, and Quintana also won the white jersey for best young rider.  The most aggressive rider of the Tour was Romain Bardet, giving the French something to cheer about.  And the top team was Movistar.

So ends another great Tour.  Wow.  As usual I can't quite believe it's over, and that I'll have to wait nearly a whole year for the next one.

I would be remiss if I didn't mention the extreme lameness of NBCsn, who kept cutting away from the final stage to show some NASCAR race.  They nearly missed the final podiums altogether, and there were no post-podium interviews or final thoughts from Phil and Paul, etc.  Completely stupid and horrible planning to break away from the finale of a three week event, blech.

(Google Earth flyover movie +kmz)

(NBCsn broadcast - torrent)

Chris Froome and Team Sky showed fine style to win the toughest Tour in yearsFinal Thoughts - Mon July 27, 2015

So the 2015 Tour de France is over.  Yay and boo, it was great, and I'm sad it's over.

Some final thoughts:

  • Chris Froome and Team Sky showed fine style winning the best and toughest Tour in a long time.  And he's only 30, he'll be back.
  • Nairo Quintana is the best climber in the world, and nearly caught Froome in the end.  He's only 24, he'll be back, too.
  • Alejandro Valverde had his best Tour ever.  Would be great to see him as a team leader again, but most likely he'll continue to support Quintana and stay with Movistar.
  • Vincenzo Nibali recovered with a great win on stage 19 and showed flashes of the greatness from last year.  Look forward to seeing him back in form again.
  • Alberto Contador just never had it this year.  It's not clear whether it was the fact he had already won a tough Giro earlier this year, or ... something else.  But he'll be back...
  • Tejay Van Garderen looked great until he looked terrible.  He's still one big win away from being in the top tier.
  • Peter Sagan was amazing.  Hard to believe he's so young, I think he can win the green jersey another ten years in a row.  Too bad he didn't win a stage, but five 2nds is pretty impressive, especially given the diversity of stages in which he was competitive.
  • Andre Greipel was this year's sprinter, but of course Marcel Kittel was missing. 
  • Mark Cavendish was good but has clearly lost his dominance.  Not clear if that's temporary.  We'll see.
  • There's a class of great rider who just don't quite make their mark in a grand tour, like Alexander Kristoff, John Degankolb, and current world champion Michal Kwiatkowski.  They were there but they weren't really a factor.  Shows the difference between one-day racing and multi-day stage racing.
  • I have to mention Adam Hanson, who finished his twelfth grand tour in a row.  Despite having a separated shoulder, too.  Wow.  That's a new record, and it's incredible.
  • I think I enjoyed the announcing more than any Tour in recent memory.  Phil and Paul were great as always, but they were well complimented by the NBCsn team of Todd Harris, Bob Roll, Christian Vande Velde, and Jens Voigt.  That's a lot of people but they did not get in each other's way, and they each bring something.  I particularly like Vande Velde and now Voigt because they know the current riders and have critical insights.
  • Vive Le Tour!The on-screen graphics are getting better but the tech still lags way behind what could be done.  In particular showing the gradient during climbs (as they do in the Giro and Vuelta) would be great, and showing the speed differential between the breakaway and the peloton.  Each year they get a little better...
  • Onward!


Wednesday,  07/29/15  10:58 PM

Filter pass!

NASA space launch systemHmmm...  NASA completes rocket design review for future Mars journey.  Including starting development on the new Space Launch System.  That's great, but, somehow my money is on SpaceX to get there faster, cheaper, better.  I believe the best way for government to accomplish "big things" is to pay private industry to do it for them, maybe by establishment of appropriate prizes rather than time-and-materials-plus-margin vendor relationships.  Anyway I guess it IS great that we're talking about launching stuff again.  But I worry that this is just a boondoggle and not serious tech.

How to explain Donald Trump?  "To explain the inexplicable rise of Donald Trump is to calibrate the anger of fed-up crowd that is enjoying the come-uppance of an elite that never pays for the ramifications of its own ideology."  I don't think he'll be the GOP candidate, and I certainly don't think he'll win, and I also don't agree with a lot of what he says.  But boy has he struck a nerve.

Carly Fiorina at the Reagan LibraryMeanwhile: Carly Fiorina: Here's what I will do as Commander in Chief.  A pretty compelling straightforward speech, laying out exactly what she believes and will do.  How great would it be to have a President like that?  If you're at all curious about her, I encourage you to watch this talk.  At least you'll know who she is.

Google retires G+ as a requirement, starting with YouTube.  Yay.  My sloth in ignoring Google+ seems to have been rewarded.  It will be a case study in how not to launch a social network.  So interesting that even Google could not cram this down our collective throats.

Windows 10 DayToday is Windows 10 Day.  So be it.  The reviews are pretty lukewarm, of the "well it's not as bad as Windows 8 variety", and I'm not compelled to rush out to install it.  Are you?  Seems like waiting for a couple of patch releases might be a good idea.

Mary Jo Foley: Windows 10, Fine for laptops but not for desktops.

Oh no ... C you never!  Apple scraps plans for 4-inch iPhone 6c.  This isn't a fact, of course, just an analyst prediction.  If true, it means I'll have to hold onto my iPhone 5s a bit longer.  I am not interested in a bigger phone, in fact, I wouldn't mind a smaller one.

Logitech to rebrand as "Logi".  These marketing repositioning effort never work, right?  The messaging is highly confused.

blue moonAre you ready?  Friday will be a blue moon.  (The second full moon in a calendar month, which is rarely actually blue.)  This is the first one since August 2012 (where were you?) and it won't happen again until January 2018, so make the most of it :)


save $1,000 on a new Tesla!

Wednesday,  07/29/15  11:54 PM

Tesla Model SAre you in the market for a Tesla Model S?  If so, you can save $1,000 on the purchase!

From now through October 31st, if anyone buys a new Model S through this link they will get $1,000 off the purchase price!  (And I will get a $1,000 credit for the referral.)  How cool is that?

It's part of an "experiment" just announced by Tesla CEO Elon Musk. Seems like a pretty nice deal to me, on a pretty awesome car.


Tour de Force, revisited

Thursday,  07/30/15  11:32 AM

An oldie but goodie, from the New Yorker ten years ago:

"Tour de Force"

One of my favorite New Yorker covers ever, amid heavy competition.  I posted this in 2005  along with a note celebrating Lance Armstrong's *first* retirement, after having just "won" his seventh consecutive Tour de France.  Who knew then that he was doping, that he would come back three years later, finish third, get embroiled in more doping controversies, and ultimately get caught, and that he would end up disgraced and forfeiting all those victories.  The one thing we can't take away from him is that he's a cancer survivor and founder of the Lance Armstrong Foundation, now known as Livestrong, and has raised more money for cancer research and help for cancer victims than any other individual ever.  I'm pretty ambivalent about Lance as an individual, but still a proud Livestrong supporter (and yellow band wearer).

I found this via my blogs Flight feature; interestingly I haven't posted on July 30 for seven years.  So now I have :)


the brink of August

Friday,  07/31/15  09:33 AM

Megan! - December, 1999Here we stand, on the brink of August ... cannot believe my busy summer filled with bike races and sailing and work work work is nearly past (although in Southern California, August tends to be more summer-like than July!)  Yesterday afternoon we participated in a SAIC* webinar for parents of incoming students, cannot believe in less than a month our little Megan will be off to college!  Wow. 

That's a picture of Meg fifteen years ago, at 3.  Hehe.

* SAIC = School of the Art Institute of Chicago

And meanwhile...

ISS virtual tourTake a self-guided tour of the International Space Station.  I must confess, I've spent way too much time "lost in space".  Reactions: it's really small, and really messy.  What do they do up there?  The ISS is amazing but then again, it's actually just a boondoggle, built to give the Space Shuttle somewhere to go.  Maybe the international cooperation angle was key.  I love that the virtual tour ends at "the Russian section", which is "coming soon" :)

Cotton vs Kerry, it's no contest.  The Iran deal is so bad, but the politicians behind it are worse.  As poor as President Obama has proven to be, I do believe he is trying.  Whereas with Secretary of State John Kerry, he is just going through the motions, desperately hoping not to be found out.  We badly need a better class of politicians.  (Like Tom Cotton...)

Comet 67P/Churyumov-GerasimenkoBack to space (more cheerful) ... Rosetta finds primordial soup of compounds on comet.  "The European Space Agency (ESA) ... announced that the mission to explore Comet 67P has discovered 16 organic compounds, described as 'carbon and nitrogen-rich.'  The agency says on its website that the discovery, made by the Philae lander includes four compounds that have never before been detected in comets."  Little Philae managed to be quite useful before crash landing, and it might not be dead yet, either.

About those huge JavaScript frameworks...  Two things are true: the frameworks are not that huge, and current websites generate huge pages which lead to slow response times.  I agree entirely with Craig Hockenberry that engineers should test their sites under real-world conditions, especially for mobile.  But I think advertising and tracking are the true culprits, not frameworks.

Pininfarina's Maserati QuattroporteI missed this: Is one of these your dream car?  A celebration of the 85th birthday of Italian design firm Pininfarina.  I must confess one of these *is* my dream car :)


Return to the archive.

About Me

Greatest Hits
Correlation vs. Causality
The Tyranny of Email
Unnatural Selection
Aperio's Mission = Automating Pathology
On Blame
Try, or Try Not
Books and Wine
Emergent Properties
God and Beauty
Moving Mount Fuji The Nest Rock 'n Roll
IQ and Populations
Are You a Bright?
Adding Value
The Joy of Craftsmanship
The Emperor's New Code
Toy Story
The Return of the King
Religion vs IQ
In the Wet
the big day
solving bongard problems
visiting Titan
unintelligent design
the nuclear option
estimating in meatspace
second gear
On the Persistence of Bad Design...
Texas chili cookoff
almost famous design and stochastic debugging
may I take your order?
universal healthcare
triple double
New Yorker covers
Death Rider! (da da dum)
how did I get here (Mt.Whitney)?
the Law of Significance
Holiday Inn
Daniel Jacoby's photographs
the first bird
Gödel Escher Bach: Birthday Cantatatata
Father's Day (in pictures)
your cat for my car
Jobsnotes of note
world population map
no joy in Baker
vote smart
exact nonsense
introducing eyesFinder
to space
where are the desktop apps?