Goldie has BEEN our family for so long. Did my 10 years with Goldie just go by? Wait—wasn’t there going to be some time in here for that one thing we wanted to do? That trip we wanted to take? What about that plan we had? Life happens at us fast. Time waits for no man. Clichés maybe, but I feel as if I wrote them, just for me, today. 

Goldie was born in Oklahoma, and lived in California, Hawaii and Oregon. She has seen and done a lot. My life before Goldie feels as distant as life before the Internet. I don’t know what it will feel like from here on without her. 

I think we all personify our pets to some degree, but I am probably one of the worst offenders. I sing popular songs and change the lyrics to be about my pets. I make pet cartoons, pet Facebook pages. I build up huge personalities well beyond what a dog or chinchilla might actually have. Sometimes I have to remind myself that the animal I have built into a person has also been pooping in her bed, and can’t hear me when I yell a few feet from her. Losing Goldie also means losing something I’ve strangely concocted, like a piece of my personality I’ve allowed to run around dangerously outside of me.

But Goldie, the dog, is great. All my projections aside, she has been an amazing companion for Maureen, Graham and me. She will be with us always. Great pets help us get through life in ways that even friends and family have difficulty approaching. Goldie’s companionship has molded us, reinforced us, and brought us years of joy.  Today may feel like reason enough to never have a pet again, but the enormity of happiness she has brought us makes today look microscopic.

I have so many great memories with her: At Runyan Canyon, in Maureen’s old back yard on Ventura Blvd., in our backyard on Mary Ellen, Sauvie Island, the Portland Waterfront. She ate an entire roast off our kitchen counter once! She was at our wedding. Losing Goldie throws the last 10 years into sharp relief. It brings out all the good and bad lived, all with The World’s Greatest Dog at my side.


Three years ago, Goldie could still walk pretty well, but her legs certainly weren’t what they were in her youth. Maureen, Goldie and I were at the Oregon Coast, walking down through some wooded camping areas, then into some tall beach grass. I spotted a path down to the beach, and took off running full-tilt out to the water, knowing Goldie would put on the afterburners in hot pursuit. I loved to run with Goldie and hear her go all out, like a thundering horse.  Maureen yelled to stop, that Goldie shouldn’t be running, that it would be too hard on her legs. It probably was—but running all-out on the beach with someone you love is the kind of thing you’re always glad you did.

Maureen snapped this picture. 


Until our tracks meet again, Goldie, someday soon.







Sperner’s Lemma

New York Times has a fun article today on using Sperner’s Lemma to find fair rents for roommates.  It can be used to calculate a fair division in other game theory scenarios, too, and I’d imagine there are other interesting uses for it in business dealings. 

At each corner one “thing” shoulders the entire shared cost, and at the other two corers it’s free. Divide the triangle into smaller triangles, and each interior point represents divisions of those prices. The more triangles you divide it into, the more “fair” the prices become. Each participant decides if they’d be willing to accept one of the items at that cost.

Sperner’s Lemma is interesting because it bypasses potentially complex calculations for objective value, and players may give different values to things. Instead this “feels them out” to see what’s fair. The further towards the center of the triangle you get, the harder the decisions become for the players.


Why HBO’s “Silicon Valley” Would Never Happen In The Real World


The new HBO series ‘Silicon Valley' has been really fun. Mike Judge has again created something hilarious and quotable, targeting a community that is ripe for parody.

There’s just one problem: The premise of the show is almost certainly impossible.  

In the premiere our main character Richard works at a large tech company named “Hooli”, a play on Google.

Richard has built a music program on the side, which includes a revolutionary compression algorithm. When Hooli finds out about it, they try to buy it from Richard for ten million dollars. Other entrepreneurs circle, attempting to buy in.  

Hold on—would Hooli (Google) really try to buy a piece of software from one of its own employees? Back when I started at Intel, I had to sign an agreement that basically said that the company owned anything I created while employed there, regardless of where or when I might’ve conceived or constructed it. Companies like Intel, Google or Apple own their employees and all of their creative output.  

In the real world, Hooli (Google) would have just taken Richard’s compression algorithm, as Richard would’ve certainly signed something saying they owned it. If he tried to resist, they would probably sue him.

As I mentioned in a previous post, I flirted with a software engineer position at Apple, but was scared off by a similar draconian “employee ownership” policy. I asked the interviewer if I would be allowed to have any other business dealings outside of work hours, and his reply was “maybe if you were, like, selling oranges on the side of the road… but other than that, no.” You could have absolutely nothing to do with software after hours, unless you had zero aspiration of exposing it to the world.

But ‘Silicon Valley’ is still funny, and I understand that the “Hooli” setup provides great opportunities to poke fun at the “Google culture.” But I worry young entrepreneuring programmers might be misled into thinking that a job at one of these tech behemoths is a step in the right direction towards building something of your own. You might be able to work there a couple of years, learn valuable skills, leave, and then start something of your own. But are you sure you won’t come up with your great idea while still working for “mega-company”? And if you do, are you going to hide or destroy any evidence of its existence that might date it to your time at mega-company? If your idea or product is really good, are you willing to take that chance?


Silicon Valley is airing Sunday nights on HBO.

Being the Only Engineer in a Business Meeting

(via The Expert, A Hilarious Sketch About the Pain of Being the Only Engineer in a Business Meeting)

The pain of being the only engineer in a business meeting is perfectly illustrated in the comedy sketch, “The Expert.” The sketch was written and directed by Lauris Beinerts and is based on the (Russian language) short story, “The Meeting,” by Alexey Berezin.

The Digital Mechanics: App Developers Without An App Of Their Own

Andrew and I attended a Portland coders meeting last month, where two developers who worked for a large company gave presentations on recent efforts. One shared his custom wrapper of an existing iOS class. What struck me was how the presenter imagined out loud how his code might be utilized: “So let’s say your boss comes to you and asks you to do X…” and “So if your boss wants you to move things around…” Why was a boss’ command the example that popped into his mind? Wouldn’t he ever use his code in his own projects, or in any circumstance of his own volition?! No, “The Boss” comes down from on high, gracing the lowly programmer with his great wisdom, and decrees what new features shall be wrought. It felt gross. What’s it like to be someone who’s imagination only takes them as far as what potential orders they may be given?

These are The Digital Mechanics. They make a good living applying technical skill, enough to live comfortably and support a family. While many programmer job listings still request at least a “BS in Computer Science” (an acronym I’m quite fond of), “equivalent experience” is usually accepted. So without racking up debt on a four-year degree, a person can get a good programming job as long as they’re self-motivated. 

If a car mechanic wants to build a car, they need a lot of physical parts. To design and build a line of cars, they’d have their work cut out for them, and need some serious startup capital. Programmers have the huge advantage of working mostly within a digital world, and the things they create have minimal real-world costs. The line between “digital-mechanic” and “digital-creator” is much easier to cross for those so inspired.

It would probably be “cooler” for me to claim I’d always wanted to be a programmer, that it’s my true passion and calling in life, but that just isn’t true. My interests have varied over the years, but the common thread is they all represent creative opportunities. When I was eighteen, I wanted to write songs and play in a band, so I learned to play music. When I needed artwork and a website, I learned how to create those things. When iOS was released, I had apps I wanted to make, so I learned how to build them. Any skill that I’m even marginally good at came about because I wanted to make something. And beyond those initial creative endeavors, I was usually able to apply the new skills to freelance work.

I’m always surprised to meet a developer who doesn’t have any independent products. Did they only aspire to be a “digital-mechanic”? Perhaps they went to school for computer science, took the nice day job, and that’s the end of the story?

Years ago I took piano lessons from a USC doctoral student in music. He was a great pianist and teacher, highly intelligent, and had encyclopedic knowledge of classical music and many other subjects. Being a songwriter, I once asked him if he wrote music. “Oh gosh, no,” he said, “what could I possibly add to what’s already out there? What do I have to say, and who would care?” I was disappointed, but didn’t think his modesty, shyness or embarrassment were surprising. He knew and performed many “Great Works”. How could he ever match them? 

These fears are the sticky trap we all have to wade through, and some seem to give up all creative hopes before realizing they can escape its hold. Ira Glass has a nice interview clip where he talks about “the gap” between a beginner’s creative work, which might not be very good yet, and their tastes, which may be highly refined. This gap can be discouraging. A creative beginner needs to remember it’s OK to not be great out of the gate. 

I’ve built and released several independent apps which provide a modest revenue stream, but their creation also adds value to my freelance work. It means I might’ve already had a chance to work with new frameworks in the iOS SDK, or might have used some new third-party tools that will benefit a freelance job. Clients pay developers because they have an idea, but lack the skills to implement it. Who would they rather pay, someone who has frequently labored from idea all the way through to product launch and beyond, or someone who has only built what was on the blueprints handed to them? 

I recently considered taking a job at Apple as a software engineer, and went through a few phone interviews. The deal-breaker for me was that they would not allow me to do any other business related to programming in my off hours. I couldn’t release independent apps, no freelance work, and I couldn’t continue to operate as part of my two-man LLC, Secret Monkey Science. Taking that job would mean shutting down the part of my programming brain that isn’t just a “digital-mechanic.” I’d go nuts. What creative person would be OK with signing an agreement like that? Someone who might think “Yeah whatever, I hate computers anyway, and I wouldn’t even want to touch one outside of business hours”, or maybe someone who is so blindly in love with Apple that they’d want to give that corporation any and all of their creative output?

If Apple is comprised of “digital-mechanics all the way down,” it makes me wonder where the company is headed. Maybe that worked under an innovative and tyrannical Steve Jobs, but under Tim Cook? Maybe not.

If you want to be a programmer, is it just to pay the bills? Fair enough! We all have to eat. Or maybe it’s because you have things you want to make, and programming is the skill that will help free those pesky ideas from your brain? In my opinion, that’s much better, and you’ll be building great skills that will go towards general programming work. Even if the things you create aren’t great, or don’t take the world by storm, you’ve approached the craft from a more interesting angle, which will help prepare you for all the challenges ahead.