Wednesday, November 20, 2013

How much does a Lyft driver earn?

The internet must have told Lyft I’m unemployed, because I keep seeing ads like this:
and this:
and this:

Sign me up! I’m gonna lyft it, lyft it higher

$35/hour sounds pretty sweet! It’s nowhere close to what I use to earn as a programmer, but neither does driving for Lyft present all the hardships of the programmer life (fresh lattes, free gourmet meals, ergonomic sit-stand desks, full health insurance, gym membership, unlimited vacation, clothing-optional Fridays, etc…)

Hoo boy!  I’m ready to join Lyft and earn me some $800 this weekend!!!

But wait a second. The Lyft “Become A Driver” page tells me I have to supply my own car in good working condition. I guess the internet forgot to tell Lyft I don’t own a car.

Oh well, that’s just a minor setback. I was planning to buy a car anyway. Only now I can really afford a new car because at $35/hour this new car will practically pay for itself, in, oh…  how long?

But wait another second. If I’m supplying the car myself, and (as I soon learn) the gas myself, and my state-required insurance, and car repairs, and car washes, and on and on (please tell me I don’t have to buy my own pink mustache), what will I ultimately be earning as a Lyft driver? 

Maths: Let’s Estimate My Net Hourly Lyft Income

According to this Consumer Reports article, “the median car costs more than $9,100 a year to own” over the first five years of ownership driving 12,000 miles a year. That means the median cars costs about 76 cents per mile driven ($9100/12000). I’m just guessing that I’ll average a speed of 30 miles/hour while I’m doing my Lyft job.  So my expenses will come to about $22.80 per hour (0.76*30).

I’m also guessing (just guessing, mind you), that “make up to $35/hour” means I won’t always be making $35/hour.  I’m betting that about 25% of my time is spent between customers (between dropping one off and picking up the next) so I expect I’ll average about $26.25/hour ($35x0.75) - although driver feedback pages like this tell me I’m estimating a little high.

So with expenses of $22.80/hour, and income of $26.25/hour, as a Lyft driver I will earn about $3.45/hour.

$3.45/hour!!! That’s not quite the $35/hour I was hoping for, but it’s something, right? And you do get to tell strangers “come ride my pink mustache” as you fist-pump them for donations, right?

Seriously, $3.45/hour isn’t a lot, even for an unemployed programmer. It makes me wonder how cab drivers have managed on such measly wages for so many years. But wait one more second. If cab drivers traditionally earn more than this, then I'm starting to figure out these other ads Lyft sends me:

Economics of the sharing economy - It’s nice to share

I'm starting to get it now. Lyft is an example of what investors are calling “the sharing economy”. I share my car with strangers. Strangers then share their money as a donation to Lyft. Lyft then shares 80% of that donation with me. So much sharing!

Let’s break down those shares. My $26.25/hour represents 80% of customer donations, which means the customers donated about $32.81 for that hour of my work. Lyft kept 20% of that donation, or $6.56. It breaks down like this:

  • $22.80 (69.5%) – Cost of car, gas, repairs, etc… (all the up-front costs are mine)
  • $3.45 (10.5%) – My profit. This is what I keep. Yea!!!!
  • $6.56 (20%) – Lyft keeps this.

At first you might think this is an unfair rip-off of the driver, who is responsible for nearly all of the expenses and labor, and who only earns $3.45/hour while Lyft earns almost twice as much just for keeping a few servers running to support their mobile app. But then you realize that Lyft has high expenses too: fresh lattes, free gourmet meals, ergonomic sit-stand desks, full health insurance, gym membership, etc…

New Motto of the Sharing Economy

After thinking this through, maybe Lyft isn’t the job for me. I’ve looked at other “opportunities” in this new sharing economy (e.g., Uber, Homejoy, Instacart) but they all come down to the same “disruptive” business model: Charge the customer a fee for connecting with low-cost independent workers, externalize costs to those workers with whom you share a portion of the fee, and pocket the difference.

Maybe I’m looking at the wrong profession. Maybe I should look for a different career, like, oh... branding and marketing.  Maybe Lyft can be my first customer, because here’s a great slogan I’ve created for them:

Lyft. Someone is being taken for a ride!

Wednesday, November 13, 2013

How to exit full-screen mode on a macintosh. Every time.

... dammit, an osx application went into full screen again ... why does that keep happening ... how do you get out of full screen mode ... what was that key sequence again, I'll look it up on google ... how do I start a browser to search google when another app is in full screen mode ... I'll look it up on my phone ... where's my phone ... OK, here's a web page saying to use "Control + Command + F" ... hmm, which key is "Command" ... better look up "Command" key on google ... ok, "Control + FreewayCloverleafInterchangeSymbol + f" ... Got it!

- this wouldn't be so sad if it didn't happen, in exactly this same way, every couple days

Saturday, September 7, 2013

The Rise and Fall (mostly fall) of Primal Computer

Primal Computer started out as a throwaway joke during a job interview some thirty years ago. Nowadays programmer interview questions are all about how you can efficiently scale the storage and retrieval of megapixel images of cats, but back then the questions centered on how quickly you could manipulate just a few bits (if you take Moore’s law in reverse, you’ll see how slow the CPU’s were then, and you’ll realize the value of saving a clock cycle or two in a bitwise manipulation).

So there I am in an interview, and the guy asks something like “Imagine a standard binary bit-pattern CPU architecture, but with every other bit being a negative value instead of positive (for example: 1, -2, 4, -8 and so on) how would you…”

“Stop right there,” I said. “I see where this is going and it’s clear these questions are not going to be very challenging.” (I had a lot more spunk back then and, to be honest, I had seen a similar question before.) “So let’s make this more interesting: Let’s imagine that each higher bit represents the next prime number (e.g., 1, 2, 3, 5, 7, 11, 13, etc…).”


“Now let’s go through some questions:” I said, taking firm control of the interview. “How do you increment? decrement? add? negate? subtract? multiply? divide?”

“Multiply and divide become trivial,” he said, “but addition and subtraction, let alone a simple increment… gee, I gotta think about that one…. Hey, I know what to call it:” he said, laughing. “Primal Computer,”

I laughed, partly because I was in an interview and I wanted the guy to like me, and partly because it was slightly amusing, since it played on “Prime Computer” (aka “PR1ME Computer”) which was a next-big-thing computer company at the time.

If you can get your interviewer laughing with you, while you both work on solving your interview question rather than his own question, then you have won the interview. I totally won that interview. (For the record, they offered me a job as a manager, which I turned down because, geez, what whiz-kid, hot-shit programmer wants to be a manager?)

Anyway, back to Primal Computer. For a few years after that interview I couldn’t get the idea out of my head. Wouldn’t it be cool… What if… How…

So off and on over the next twenty years, between jobs, getting married, and raising kids, I kept working on basement-level schematics and prototypes for The Primal Computer, because, I mean, wouldn’t it be cool?

Finally, over the past 8 years, with a little money in my pocket and the kids out of the house, I set off to Just Do It, because, I mean, wouldn’t it be cool? (Also, a couple of technical advancements had happened by that time to make it finally feasible to develop a Primal Computer. First was the price and availability of FPGAs. Second was the introduction of rentable cloud computing, specifically Amazon’s EC2. The importance of these two market changes will become clear as I describe my implementation choices.)

Once I had worked out the logic, there remained many technical challenges to building a final, working, Primal Computer.  First was the problem my interviewer had first pointed out: although multiplication and division are trivial, even the simplest addition and subtraction are incredibly hard. I finally determined addition and subtraction would be so time-consuming for my CPU that I had to break the computer into two cooperating systems, one to handle standard binary operations and the other to handle a few operations at which the standard computer sucked, which turned out to be only some division and extremely-large integer multiplication, and the rare times when an integer needed to be broken into it’s prime factors. I developed a bus between these two computer sub-systems, and with FPGAs was able to program most of the logic I needed; unfortunately these components slowed things down quite a bit overall.

The second problem was that the representation of numbers in the primal system isn’t trivial. It ends up taking a lot of memory. The cloud clusters are needed simply to create what is effectively a whopping giant register. To handle ever-larger numbers it requires extra capacity at the rate of about ln(N); so it goes up less quickly as numbers get bigger, bit it always goes up. This added cost to the system, as well as slowing everything further when the local custom architecture needed to communicate with the cloud cluster.

Here’s an example of the inadequacies of the system: I tested with an emulated implementation of DOOM. It worked, but before starting it took almost an hour (and $24) to boot the needed EC2 instances, and while it was running I only saw something like 2 FPS.

But DOOM did work! and on a Primal Computer! And that was so cool!


I’ve noticed that it is becoming common lately to discuss one’s startup failures. It’s a lesson to others, and cathartic (I hope) for the teller. So back to the company. As you probably already guessed from the title of this piece, Primal Computer was ultimately a failure. It was terribly tough to admit this to myself, after 30 years of effort, but admit it I have. Move on, I will. (Write like Yoda, I do :-)

The fundamental problem is that I was doing something because it was cool! But “because it’s cool” is no reason to invest one’s life in a new business.  Cool is good, but only if it meet’s someone’s needs, relieves someone’s pain, or increases someone’s profit. First and foremost, there has to be a market and your product has to fit that market.

As I’ve already said there was only ever one client for a Primal Computer. It was a 3-letter government agency. I don’t know exactly what their use case was, but to prove the technology and make the sale they asked me to show that a Primal Computer could solve some basic factoring problems on a bunch of 15360-bit integers (that’s 15360 binary bits, not primal).  It took a couple of weeks to get the system up and running, and I had to refinance my home just to pay for the EC2 compute time, but once it was prepped the Primal Computer had no problem doing the factoring on any number they gave it. (For some integers factoring took over 500 milliseconds, which really bothered me, but the customer didn’t seem to mind.)

So I made that one sale, which was a big one (enough to buy my house back a few times over), but it was the only sale. They only bought one Primal Computer. And they were the only customer!!!!  Primal Computer was a failure. :-(

You know what: now that I’ve told my fail-tale, I do feel better. Thanks, internet!

So that you don’t make the same mistakes I did at Primal Computer, here are a couple of lessons learned:

Startup lesson #1: Don’t just do something just because it’s technically interesting (i.e. “cool”). You must first determine if there’s a market need and fit for your product.

Startup lesson #2: Don’t waste 3 weeks trying to come up with a company slogan, only to end up with something stupid like: “Our computer doesn’t add or subtract so good, but when it comes to factoring, The Primal Screams!”

Monday, August 26, 2013

Sometime in the near future, after everyone has learned to code

On a street corner, on the far side of the parking lot for Fry's Electronics, stands a half dozen clusters of men & women, stomping their feet and nursing their coffees in the cool morning air to stay warm and alert.

Occasionally a car pulls up to the curb. A few words are exchanged ("front-end", "full stack", "rails", "angular", "android", "mongo", "bayesian", "agile", "node", …), and one or two will enter the car, grateful to have found work for a day or two.

Sunday, August 18, 2013

A brief history of blogging.

In the beginning, when the technology was still primitive, our blog fonts were small: 11, maybe 12 pixels high.

Within a few short years, the most advanced blogging tools were able to deliver 14px fonts on a regular basis, occasionally achieving 16 or even 18px.

These days, thanks to iterative innovation, popular blogging platforms can deliver 22px without batting an eye.

Where will blogging take us next? What is to come? No one can say. I kind of want to have my head cut off right now and frozen so that in 100 years I can see for myself what unimaginable font sizes blogging sites will have achieved.

Tuesday, July 2, 2013


Dear Edward Snowden,

You don’t know me, so as an ice-breaker here’s the second worst joke of the week (the worst if you don’t count anything about George Zimmerman):

Question: What do you get when you cross a Snowden with a whistleblower?

Answer: A Snowblower.

So, Eddy (now that we’re friends, I hope I can call you Eddy), you’re in a bit of a pickle and that must suck really bad. I feel for you, Ed, millions of us do. Maybe billions. I hope there’s at least a little solace in knowing you have billions of fans, thankful for your sacrificial actions in support of doing the right thing.

I’ll tell you who aren’t your fans: The US government. Man oh man, the US Government does not like you right now. There was a time when your government would have loved you to pieces, like two and a quarter centuries ago when they came up with The Constitution. Back then, the Founding Fathers would have been heard saying “Barkeep, a flagon of ale for goode olde Snowy, a fine fellow fan of privacy and liberty, to be sure.” But, for the moment, the US is too busy fomenting terrorism to care about The Constitution. For now, things like The Fourth Amendment are just old-timey words.

Snowdster, dude, I hate to break it to you, but before things get better they might get a lot worse. You may have to go to jail. The U.S. has a lot of jails, and we’re really really good at putting people in them (here in the land of the free we are #1 when it comes to putting people in jail! We’re #1! We’re #1!) so at least you’ll have a lot of company. Unless, of course, they put you in solitary confinement, which is where whistleblowers tend to go (ouch! sorry about breaking that to you, Snowman).

But hang in there, buddy, because that’s where the bad news ends. After that rock bottom there will come a turning point. In the end, I have to believe that you’ll come out of this OK and that all of us (both the 5% of us in the U.S., and the 95% of us who are not) will come out better, thanks to your brave and noble actions.

In just seven years there will arrive the first presidential election for which you, “The Snowblower”, will be constitutionally old enough to run for President of the United States of America (assuming that Article II, Section 1, is still standing in 2020). And when that happens, you have my vote for sure!

You won’t be able to vote for yourself (here in the land of the free we don’t let prisoners vote), but I will vote for you and so will a lot of others, because there are still a lot of us who believe our government can once again stand for something; for freedom, democracy, progress, transparency, human rights; and against oppression. We believe, with Ben Franklin, that “those who would give up essential library to purchase a little temporary safety, deserve neither liberty nor safety”.  We can see that any small safety brought by abandoning our principles is indeed only temporary. Indeed, we have witnessed our country lose more than just its principles as we watch our war on terror vastly surpass, in terms of death and destruction, the acts of the terrorists.

But I digress. Back to you, Eddie Van Snowden. Yes, you may be in jail for a bit while your country takes time to come to it senses. Yes, that will bite the big one, but, in time, we will come to our senses. Martin Luther King Jr., Gandhi, and Nelson Mandela, were jailed before their governments came around. Over time those men were all vindicated and adored. And although two of those jailbirds were later assassinated, one of them became his country’s president. So, there’s hope!

Keep the faith, E.S. We’re rooting for you. In seven years we’ll be voting for you.


Finally, let me end with a joke:

Question: What do you call a Snowden who has been released from jail.

Answer: A Snowbird. Mr. President.

Wednesday, June 19, 2013

My day in the FISA court

When I received the call for jury duty at the FISA court I was mad at first. Then the FISA limo picked me up at my door and provided the most pampered ride I could imagine. There was fresh coffee in that limo, bottomless mimosas, my own private foot masseuse and a DJ, videos and video games, and marshmallows, so many marshmallows, no end of marshmallows. How could I stay angry?

I’m not sure exactly where we went, because the limo windows were tinted black on the inside, so I couldn’t see out of the car. That was just part of the pampering, I’m sure, to make sure my ride to FISA court was as pleasant as possible.

They explained to us that we were the first FISA jury pool ever, brought to make the FISA process more open and accountable, and to provide “the appearance of oversight and democratic legitimacy.” It was an honor, really.

I’ve been called to jury duty before, and this was nothing like those other jury duties. First of all there was hardly any waiting; we were brought right into the court room with no dilly dallying whatsoever. Second, we were given free wifi access and allowed, even encouraged, to use our smartphones to browse, play, facebook, whatever we wanted. And the internet was fast! I mean really, really, really fast!  For some reason my smartphone had forgot all my password and I had to re-enter them, but other than that, no problems. (Oh yeah, there was another problem in that none of the Instagram pictures I took showed up in Instagram later—that’s weird—I probably did it wrong.)

I don’t remember a whole lot about the trials themselves, sorry to say, because there was so much going on on Facebook, and I had five simultaneous Words with Friends games to contend with, and my boss kept bugging me with emails about this and that, but when I did look up there was always something interesting going on in the courtroom.

Not everything was what I’d expected. For instance, in this courtroom instead of a gavel the judge had a rubber stamp, and he would slam down his rubber stamp any time someone put a piece of paper in front of him.

Also it was kind of weird that they were saying “redacted” all the time. “redacted this” and “redacted that”.  For instance, one time the prosecuting attorney said “I call Redacted to the stand.” A person wearing a paper bag over their head sat at the stand, and the attorney said “Mr. or Mrs. Redacted, is it true that if we were to get legal authority to retrieve Redacted’s phone call with Redacted from May redacted’th this year, that we’d clearly hear Redacted say, at minute readacted and redacted seconds, ‘I’d like to redacted that fucking redacted with a goddamn redacted and shove his I-Redacted-S up his fucking ass’, as transcribed in this document?”

The court-appointed defense attorney jumped right up: “I object to the use of ‘fucking’ and ‘goddamn’ in a courtroom, even if quoting such a despicable and obviously guilty terrorist as the accused.”

“Objection sustained,” said the judge. “The prosecution will redact that vulgarity.”

“Expletive redacted.  Now, Your Honor, if it may please the FISA court, I submit as exhibit A the transcription of the May redacted’th conversation we will have recorded if we receive court authority to have recorded that phone call between terrorists Redacted and Redacted.”

“Let the court records show,” said the judge, as he dropped the transcription into a shredder beside the bench, “that exhibit A has been accepted by the court and examined by the jury.”

We did have one troublemaker in the jury. This one woman said “excuse me, judge, but why is everything redacted?”

“Because” answered the judge, patiently “some people in this court room do not have the security clearance to see that sensitive information.”

“Who can’t see it?”

“The Jury can’t see any of it, of course. Heck, I can’t look at most of it myself without risking our national security.”

I thought that was a fine answer. I don't want to risk national security any more than the next guy and, besides, I was certainly in no mood to give them any trouble since they continued to fill me with marshmallows of all kinds. Peeps. Chocolate covered marshmallows. Roasted marshmallows. Microwaved. Tiny, floating on hot chocolate. Tiny, picked out of Lucky Charms. All kinds of marshmallows. I don’t know how the heck they knew I loved marshmallows so much, just a lucky guess, I guess (I usually don’t tell anyone about my intimate marshmallow passion except when we’re being, you know, intimate) but as long as the mallows were flowing I was in no mood to argue with anyone about anything.

But that one annoying jury member, she just wouldn’t stop asking questions, like: “Excuse me, your honor, but I thought you said the NSA couldn’t spy on Americans, so how did they get this information on an American?”

A guy in a black suit and sunglasses said to her “it’s true we can’t legally spy on Americans, only on foreigners, but the English can legally spy on Americans, because to the English every American is a foreigner, and because we can legally spy on England (which is easy because our intelligence agencies share splitters on all the undersea cables) we get their information on anyone (who is not English), without breaking any laws. For instance, just to prove our capabilities,” said the man in black, as he received some pages a deputy of the court had just run into the room to deliver, “here’s some information intelligence has legally received from the English spies about what you were doing online last Tuesday between 1:24 and 1:37pm.” He showed the papers to the jurist, who seemed positively impressed with the quality of the information. “Would you like us to play to the court and your fellow jurors the telephone call you had this morning while your husband was out walking the dog?”

That seemed to satisfy the juror, who only said “I redact my question” and stopped being so annoying after that.

After a few hours of legal proceedings (and the completion of 3 games of Words with Friends, 2 wins, 1 loss), one of the court clerks, who until this time had been sitting quietly with headphone on staring at a computer, shouted “whoa, everybody, I just got a hot tip that the big pharmaceutical merger is going to fall through… you should hear the nasty things the CEOs are saying to each other.” Court was instantly dismissed and everyone was suddenly let go with a few final instructions from the judge to call our stockbrokers and make the best of this hot tip.

And you know, despite my initial skepticism, that final event is what really sold me on the strength and quality of the FISA court. If it is run by people so smart that even the lowliest FISA court clerk can figure out the intricacies of the pharmaceutical industry, and is clever enough to turn that hunch into a profitable stock-market maneuver,  then they must be dealing with some really, really smart people.

All in all a very rewarding day.

So if you’re called for FISA jury duty, don’t make up excuses, don’t shirk your civic responsibility. Go. Just go. You never know, you might even earn something. oh, yeah, I almost forgot: and you'll be stopping terrorism.

Wednesday, June 5, 2013

Embrace, Extend, Extinguish, Exmpp

I fancy myself a very clever fellow and am constantly amazed and amused by the simultaneous depth and subtlety of my own wit. When I recently thought up the phrase “Embrace, Extend, Extinguish, Exmpp” I thought I’d outdone myself.  “Good show, old man” I said to myself, “extremely clever use of allusion, alliteration, illumination, and all-around brevity. You must share this with the world. I wager you could fit it all in a tweet three or four times over.”

I took my own advice and put the phrase on Twitter, and on a few other computer-nerdy social forums for good measure. Then I waited for the accolades, the likes, the retweets, the up-votes, the anonymous bitcoin deposits. I watched for bloggers to carefully parse, deconstruct, and reconstitute every syllable.


Not even a trollish complaint about my spelling error.

Dagnabbit. If no one else is going to plumb the depths of my clever phrase, I’ll just have to do it myself!

Ancient history: Once upon a time there was a company called Microsoft that ruled the software landscape. If you had a personal computer, it was almost unfathomable to think that you would run any program without going through Microsoft software first (from booting, to the DOS console, to Windows). Owning the cash-cow operating system business wasn’t enough for Microsoft, especially when they could see other companies creating lucrative software on top of their OS—Microsoft wanted to have IT ALL. Whenever another company created software with any potential financial success, Microsoft would make their own version of that software and use their position to ensure that Microsoft’s version gained most of the market share until their competitors were dead (at which point Microsoft often lost interest in the category). It reached the point that Microsoft could simply leak the news that it was going to make a product (whether or not the news was true it created fear, uncertainty, and doubt) and the competitors were dead in the water.

Microsoft’s products were seldom better than the products they quashed, so why did Microsoft’ products win?
  • Dumping. Microsoft could undercut the price of everyone. Microsoft had so much money from their cash cows that they could afford to lose money on any product, for however long it took, until their competitors were gone. (I remember for a while, when Microsoft wanted to take over the encyclopedia market, their rebates where $25 more than the price of the product, so you could literally make money the more encyclopedias you bought).
  • Microsoft controlled the world’s primary operating system, so they could do whatever OS tweaks they needed, or withhold whatever secret APIs were most useful, or prepare upcoming OS changes that only their own teams knew about, to give their own products the edge.
  • Through bundling, Microsoft’s advertising and distributions costs where lower. Because just about every computer user already received Microsoft’s OS, and probably Office Suite (by the time Lotus, Harvard Graphics, Borland, Word-Perfect etc.. where out of business), there was virtually no additional overhead to make the customers aware of other MS software, and to include it in the OS or Office for (essentially) free.
  • Microsoft could make a very plausible case that their own products worked better together.
  • I think it fundamentally comes down to the only clever thing I ever heard my oldest brother say: “he who owns the boot sector owns the world”. Because Microsoft had you from the time you booted your computer, they had an extreme advantage in guiding you “where they wanted you to go that day”.
An illuminating time in Microsoft’s history occurred when they realized that the web was taking over. They could see that with the web and browsers it could someday be possible that it didn’t matter who’s operating system you were running. Everything would be run through a dumb browser, and it didn’t matter what OS the web servers ran. This was cause for panic. They fought this web trend briefly, and then came up with a new strategy.

Publicly the strategy was that Microsoft was going to embrace the web. But privately, as later revealed in court documents, the strategy was “Embrace, Extend, Extinguish”. As part of this strategy Microsoft first began releasing a really good browser, even better than their competitors’ (seriously, IE Haters, the toddler version of IE were great for their day), and they released it for free and as part of the operating system.  Bye bye Netscape (the threat of the day).

With IE and other software, Microsoft clearly embraced the web standards. But then Microsoft started to extend those standards, improving on them faster than the W3C could keep up. Many of those extensions eventually became the standards we know and love today (table improvements, css+, xmlhttprequest/ajax) but some extensions would only work on Microsoft operating systems (e.g., activex to give native performance to components). These extensions resulted in a better browser and workplace experience than the (soon to be extinguished) competitors.

That’s the ancient history. The more recent story involves Google.  Google of today has amazing parallels to Microsoft of back then.  (In fact, I thought about writing the previous Microsoft history as a sort of Mad Lib game, where the blanks could be filled randomly by either “Microsoft” or “Google”, but I don’t know how to do something programmatic like that on blogspot).  Google has it’s own cash cow (but only one, so far), and like the old Microsoft they have cash to dump products on the market to undercut competitors until there is no competition (Android being the biggest price-dump, but just about every free Google property is an example of this). Also, like old Microsoft, you almost can’t get anywhere without going through the Google boot sector first (the search engine, gmail, android, working toward the browser). And again, repeating an old story, if Google sees a market category getting too much traction they duplicate that product, tie it into their existing product line, and make it cheaper (usually free), as long as that competitor exists (after which Google may lose interest in the category, such as with their recent abandonment of the RSS industry).

I find it really interesting to watch the Chrome browser part of this story, and compare it to old IE. Chrome was released as a really great browser embracing all of the web standards. From early on, Google used Chrome to push out a lot of what they called “web standards” (although if only chrome has them, and W3C is just being told about them, how are they “standards” and not “extensions”?) and chrome-only add-ons that actually are called “extensions”. Finally, to give native performance in Chrome they created a new “standard” called NaCl (because the term “ActiveX” was already taken?).

I’m getting really really close to explaining “Embrace, Extend, Extinguish, Exmpp” now, really I am.

Recently, it has become increasingly clear that Google’s years of talk about “open standards” is a bunch of hogwash (for example: Is Google Dumping Open Standards For Open Wallets?), and on the day I came up with my oh-so-clever phrase Google announced that their messaging products were dropping the XMPP standard on which many other messaging products rely for standard compatibility.  A few years ago they embraced XMPP (allowing other messaging products to collaborate equally), even extending XMPP (for voice & video), and now they’re dropping it, extinguishing the category of compatible messaging.

So, here it comes:
Embrace, Extend, Extinguish, Exmpp
In those four words I express an amazing amount of tech history. I demonstrate the new role Google plays, and what’s behind their hi-falutin do-no-evil talk. I clarify beyond any doubt that Google is the new Microsoft. NOW do you see how clever I am?

So if Google is the new Microsoft, what’s going to happen next? For Microsoft a few things happened. Legal action was a big part of it. The US Department of Justice (which uncovered the EEE phrase on which I’ve now built my EEEE reputation) and European Union did their best to stop many of the monopolistic and anti-competitive practices. The other big thing that happened to Microsoft was Google.

So what will happen to Google? The same the thing happened to Microsoft, of course. We’ll start to see Google as the enemy There will be government legal action. Eventually some other company will ride some new technology wave and displace Google.
Somewhere I can now hear an old old timer pointing out that IBM did all the same stuff in an earlier phase of technology (and probably AT&T before that)—riding a cash cow monopoly and anti-competitive practices to kill the competition—until there was legal action, a new technology wave, and a new technology behemoth: Microsoft. It was said then that Microsoft was the new IBM.
If Microsoft was the new IBM, and Google is the new Microsoft, then who is going to be the new Google?  For a while they worried that Facebook was going to be the new Google, but it turns out that Facebook is just the new AOL (i.e. a garden that is “the internet” for people of a certain age).

As long as we’re playing the “is the new” game:
• Amazon is the new Sears Roebuck
• Apple is the new Sony
Airbnbconfessions is the new Wikileaks
• Law & Order is the new Dragnet
• Lupo is the new Friday
• African American is the new Black
• Lost Sirens is the new New Order

Friday, May 17, 2013

Week One on Paleo

I went Paleo exactly one week ago today, because of some health problems (eczema and weight issues). I expect that escaping the unnatural living of the modern age will return my body to its natural healthy balance.

All week I’ve been eating only what grows naturally and what I can hunt (I’m going to miss my neighbor’s dog, Moochi), and drinking only from wild streams.

Of course I’ve been sleeping outside all week, under an overpass (the closest I can get to cave-dwelling), with a terrific cadre of fellow Paleo converts (btw, I’ve noticed that after a long time on Paleo one starts to talk to oneself… I look forward to learning, over time, more about that aspect of Paleo-induced self-introspection).

On the second day of Paleo I jumped into the lion cage at our city zoo to experience the natural state of being hunted. It was exhilarating! The lion managed to scratch only one arm, which bled for a few hours as part of the natural wound-cleaning process (Antibiotics! Hmmph!!).

I’ve lost a lot of weight and thanks to the pain in my arm, which is just kind of hanging there as it naturally detoxifies itself (leaking what looks like a mixture of blood, tiny worms, and cottage cheese), I hardly even notice my eczema anymore.

I’ve never felt more alive.

This will be my last week posting about Paleo because I realize I have to stop using the internet (which wasn’t around in Paleo times). And keyboards. And written language.

Wednesday, February 27, 2013

All calorie-counting diet applications suck, except for one, and that one sucks too.

Why calorie-counting diet applications suck

I have now tried all 14 billion calorie-based weight-loss applications, and all of them suck (except for one) because they all (except for one) are based on these same baseless assumptions:
  • 3500 calories == 1 pound gained/lost - Hogwash! Someone did a calculation once (based on the estimate of pure energy stored in a pound of body fat) and that number has stuck in everyone’s fat head despite total lack of empirical testing on real people, and especially in testing on real people who are dieting, and especially in testing on you.
  • We know how many calories are in food - Rubbish! To measure calories in food people put that food in an oxygen chamber, burn it, and see how much it raises the temperature of the surrounding water. Does that sound anything like the biological processes our bodies follow?
  • All calories are the same - Balderdash! Does it matter if the calories come from protein versus fat versus grapefruit? I don’t know, and neither do any of these applications, but they all assume that a calorie is a calorie. I’ll tell you one thing for sure: a gallon of gasoline contains about 10,500 calories, but drinking it will not cause you to gain 3 pounds.
  • We all estimate food portions the same, and correctly - Hooey! Quick, you’ve got a piece of chicken in front of you. Is that 3 ounces? 2.5? 5? Is it as big as your palm? As thick as your palm? Is your palm the same size as your neighbor’s? Are you drunk-estimating?
  • We know how many calories we burn during exercise - Drivel! I’m told that measuring oxygen consumption is a pretty good way to measure calorie burn (at least during aerobic exercise), but even that differs between individual users and activities. And how often do we exercise with an oxygen mask?
  • Our bodies all act the same - Poppycock! What works for you may not be what works for me. Diets assume that you are just like anyone else who is your age, sex, height, and weight
  • Our bodies behave the same while we’re losing weight as while we’re not - Baloney! Our dieting bodies hate to lose weight and are much smarter than any application about how to use every possible calorie to prevent further weight loss.
  • Our bodies behave the same one month to the next - Harumph! Our schedules change. Our size changes. The weather changes
  • Every day is a new start - Ridiculous! Every calorie counter (almost) starts each day anew, as if it doesn’t matter that you over- or under-ate over the past two days.

The calorie-counting applications start with these wrong assumptions, perform an incorrect calculation, and tell you how much to eat and exercise today if you want to lose X pounds per week. “It’s just math.”

How to fix the calorie-counting applications

Fixing the applications would be pretty simple. The applications just need to learn a little bit based on the data they receive day after day.

First-order fix: data smoothing:

It is simple to smooth the data over at least a few days, so if I overeat yesterday, or plan to overeat tomorrow, it is easy to compensate today.

Second-order fix: adjust the 3500 value:

The formula (in-out/3500) is a fine starting point, but if within a couple of weeks the application sees that the person is losing weight too quickly, or too slowly, then the application should start to tweak the formula. Maybe for this person to lose weight over the formula should learn to be (in-out/2500). Over time that simple first-order approximation may need to change from time to time based on learning from the data.

Maybe the (in-out/3500) formula doesn’t work for this person because they have a non-standard diet-induced metabolism. Maybe it doesn’t work because they’re really bad at estimating. Maybe the person sleep-drinks a gallon of milk every night without entering it. Maybe it doesn’t work because over time their body composition is changing. Maybe it doesn’t work because it’s just a stupid baseless formula.  Whatever reason 3500 doesn’t work doesn’t matter, because the program can learn what value to change that 3500 to to get the user to reach their goal.

Third-order fix: adjust rankings for in versus out:

For some people the changes in eating are much more important than the changes in exercise (or vice versa). This could just be the difference between people’s bodies, or the difference in at-rest lifestyle, or the difference between how well an individual estimates their eating versus how well they estimate their exercise.  Again, the reason doesn’t matter so much as learning from this person’s data.

If the application determines, based on many weeks or months of data, that for this individual the differences in exercise matter more or less than the differences in eating, then the application should learn and adjust its formulas accordingly.

Fourth-order fix: look for individual patterns:

Suppose you tend to lose a lot of weight when you eat low-fat for a few days, or you tend to get low metabolism if you don’t binge at least once a week, or you get water-bloated after you eat lactose. These things are too subtle for you to notice and test for, but shouldn’t be too subtle for an application that has been receiving your data every day for months.

Over time, the application should be able to mine data and learn specifics about you. (Now it gets fun.)

Fifth-order fix: look for patterns among all users:

If an application is gathering data for every individual user, then if all that data is combined and combed through, there should be some very interesting big-data trends to learn about. With enough people entering data, we might get some better ideas about what caloric values are way off. Maybe we learn that people who eat corn flakes with honey tend to die on Fridays (we suspect they’re dead because they’ve stopped entering data). Maybe whole new secrets of dieting are uncovered. Maybe we learn that eating daily at Taco Bell is the secret to health (this is the result I’m hoping for).

Because the data is entered unscientifically, by unreliable reporters, it will not compare to double-blind laboratory-controlled studies, but because it will be a whole lot more data than any controlled study can put together, it will point toward areas that need better research.

The one application that doesn’t suck (and why it sucks)

DietPower is the only application that implements any of these fixes--data-smoothing and adjusting the 3500 value--and that makes a really big difference.  For at least seven years I used DietPower and kept my weight in check. Over that time it would adjust my daily allowance of calories based on my recent history. For some periods I had an allowance up to 2200 cal/day, while for other periods it might get as low as 1500/day, but it always kept my weight where I wanted it to be.

BTW, That’s another nice little difference with DietPower. Instead of specifying how much weight to lose each week, just tell it what you want to weigh, and how aggressive to be, and stick with that.

But DietPower sucks because it only runs on Windows and only on a big Windows display. Since I don’t run Windows anymore, DietPower is now useless to me (and even when I did run Windows, I did not go to every meal with a Windows computer in tow). Poop!

(Come on, DietPower. This is 2013. If I can’t run the application on my phone, or at least on a web site, it’s crap!!!!)

Someone please make a calorie-counting application that doesn’t suck:

Yes, weight-loss is “just math”, but it’s not simple math. When will your applications ever learn?


Addendum, February 5, 2015: I got tired of waiting for a proper app or web site to appear, so I caved in and bought a cheap Windows laptop which I use solely to run DietPower. That was last June. My instructions to DietPower were "make me weigh 173 pounds in 8 months". As you can see, it worked.

I will continue to use DietPower every day, to help me maintain my 173 pounds. And I will continue to hate that I can't do this from my phone, or from the web anywhere in the world, and that I have to have a special laptop solely for running this Windows program.

Related Links:
P.S. I'm growing tired of waiting for someone to do this right and may start on the issue myself (starting with a simple website where people can enter their information and we'll working on getting the  math right). If you're interested, email me.