Critical Section

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.


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.


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?



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.


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!


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!



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!


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!


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 :)




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.




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...


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!


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.



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!


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...


Fairly recent posts:

07/26/15 11:05 PM -

Sunday,  07/26/15  11:05 PM

07/22/15 09:50 PM -

reenabling Windows weather gadgets

07/20/15 09:31 PM -

Monday,  07/20/15  09:31 PM

07/14/15 09:18 AM -


07/13/15 11:34 PM -

sea turtle GoPro

07/13/15 11:32 PM -

New Horizons

07/13/15 09:42 PM -

the new world of app development

07/12/15 10:56 PM -

Sunday night scan

07/09/15 09:11 PM -

world of languages

07/08/15 09:16 AM -


07/07/15 09:51 PM -

Tuesday,  07/07/15  09:51 PM

07/05/15 10:27 AM -

Sunday,  07/05/15  10:27 AM

07/05/15 10:09 AM -

taking the fifth

07/03/15 05:12 PM -

Friday,  07/03/15  05:12 PM

07/02/15 01:22 PM -

Bitcoin 102: Smart Contracts

07/01/15 09:05 PM -

trebuchet = siege

06/30/15 09:11 PM -

QE filter pass

06/28/15 12:10 PM -


06/26/15 12:30 PM -

Friday,  06/26/15  12:30 PM

06/25/15 10:59 PM -

landing rockets

06/22/15 09:23 PM -

Monday,  06/22/15  09:23 PM

06/18/15 10:58 PM -

Galapagos: island animals

06/17/15 08:25 PM -

Wednesday,  06/17/15  08:25 PM

06/17/15 08:19 PM -

two kinds of people

06/16/15 11:20 AM -

VS 2013: we can all agree on ugly

06/15/15 11:57 PM -

Monday,  06/15/15  11:57 PM

06/15/15 11:47 PM -

the canals of LA

06/14/15 11:01 PM -

flag day

06/14/15 10:52 PM -

bicycle day

06/14/15 10:42 PM -

everything inflation

For older posts please visit the archive.


'14   '13   '12
'11   '10   '09
'08   '07   '06
'05   '04   '03
flight  X
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?