Electric Sheep

I had a strange dream.

I’m flying into Las Vegas, and I’m using an android phone.

The plane lands, and my phone perks up and I’m presented with a simple driving game where I have to compete against three other racers on a track.

I do poorly, and as a result, the game informs me that while I’m in Las Vegas, my phone will be using substandard fonts. If I won the race, I would have gotten to keep my original fonts the OS was designed for.

I remember being pissed off afterwards, and tweeting about how it sucks my phone is harder to use because I didn't meet some unknown challenge, and it wouldn’t get better until I left Las Vegas.

Then I woke up.

Google, don’t build this.

Books: Pro Cycling on $10 a day


The other day, I felt like opening my Kindle app instead of Threes! before I went to bed, and I started reading the giant stack of titles I’ve gathered over the years, but never quite got around to finishing (or starting in most cases). To be clear, this isn’t a New Years Resolution to read more, but I happened to not be able to sleep around January 1st and decided I should read more, so I am.

I follow cycling and bike racing and have read dozens of books about the sport, so when I heard great reviews of this book written by a domestic US low-level pro rider that (spoiler alert) eventually rode for a ProTour squad, I picked it up immediately. I read it in a couple days, it’s pretty light fare.

Overall, it was just ok. I’ve noticed Phil’s riding and watched him in results, read his columns in Bicycling magazine, and what struck me first was the book is basically like a random diary. Everything is told in chronological order from when he discovered cycling and later bike racing, through his time on many squads. Each chapter is basically a collection of essays all keyed off a title without much holding it together. I imagine he made an outline years ago and wrote a story under each phrase and boom! he had a book.

Phil’s famous for his honesty and opinions, but frankly a lot of the book felt gossipy and a little bit mean towards a lot of riders and companies, and there were times I was reading it where I thought “who would sponsor this guy when he might later tell the world just how awful the organization is being run?” There were good parts of the book. It was amazing to hear how cash-strapped bike teams are and how little they pay riders (he got checks for $166.67 a month for a year), making it clear how much the sport is a labor of love and god does it sound like years and years of toil to get there. It was fun to follow along as he rose in the sport, and I loved the story of his US PRO almost-win that I watched live and felt heart-broken for Phil. It’s a bummer the book ends when it does, since I’d love to hear what his year with Garmin was like (it was brief, he’s back down to a US domestic team now).

Overall, maybe 3 out of 5 stars.

Unsolicited plug: Tile trackers


A few months ago, mostly out of curiosity, I ordered a few Tile trackers. I’d backed earlier Kickstarters for similar products, but the Tile seems like a smaller, sleeker package. After they finally arrived a few months later, I didn’t have an immediate need for one so I just attached the first to my keychain.

I honestly didn’t think I’d get much use out of it, but after a couple months I’ve had to invoke it about twice a week, and it’s been amazing being able to find my keys within a few seconds. I honestly didn’t think I lost my keys that often, but it’s way more often than I thought.

About the only downsides to the Tile is that it works only within about a 50ft radius of my phone/WiFi, so it’s not good for a roaming pet that wanders your neighborhood or a laptop bag you might lose on a plane.

I’ve also found that after setting up a second one, I tried to give it to a friend but there’s no universal “reset” to a Tile. You have to manually email customer service, wait about a week, and ask them to change the owner accounts on a specific tile.

Is that because they want people to be able to track people on the sly? So maybe thieves can’t turn a Tile off? I found it a bit weird, as well as the included high strength double-sided tape that came with the devices. I know they were aiming for things like TV remotes with it, but the tape gave off a vibe of “stalk your ex by attaching this to their car” when I first opened the box.


We should have a term for when you see a whizbang template, spend an hour incorporating it, then realize it’s actually terrible (only after you have sunk considerable time into the effort).

The internet of buggy things

For the last 15 years or so, I’ve tried out pretty much every home automation thing under the sun. The good news is products are generally getting better and easier to use as companies jump onto the Internet of Things bandwagon, but the bad news is many things are still unreliable.

It’s a tough problem to design to, since virtually everything in a house is very nearly 100% reliable all the time. When was the last time a light switch just up and died on you? And having everything use WiFi as a backbone, itself kind of an ad-hoc standard that sorta mostly works most of the time combined with house electronics is a recipe for disaster.

I really have been locked out of my house twice due to spotty WiFi. I am hesitant to try out any of the WiFi-enabled door locks as a result.

One of the most user-friendly line of products out there is the WeMo line from Belkin. They’re easy to set up, offer flexible options, but after using two hard-wired light switches, three wall plug units, and two motion detectors for the past six months or so, I have to say they don’t hold up over time and it’s baffling how they have failed.

A couple weeks ago, one of my wall switches stopped working on the iPhone app remote, but also the physical switch no longer functioned. A day later, it worked again.

I have a rule for another light switch set to turn on at sunset, and off automatically at 10:30pm. The time of “sunset” doesn’t seem to shift, but amazingly the shut-off time does. Right now, the light goes off every night at 10:08pm. Keep in mind, this is a light switch hard-wired to electricity and has an always-on WiFi connection. Not a single engineer working on the project thought to write some code to maybe check a time server once a day or at the very least once a week? I’m amazed that a time drift of 22min is even possible.

Lastly, one of my WeMo plugs is connected to a set of backyard lights that are fairly far from the WiFi base, but I’ve set up two WiFi extenders closer to the backyard and still the device can connect to the network only sporadically.

Anyway, I know these aren’t easy problems to solve, but given that I prefer my house to be close to 100% reliability, bringing things in from the world of computing that often come up short of that number isn’t really a recipe for success. To anyone considering Internet of Things objects in their home: tread carefully and prepare to be disappointed.

Training the workers of tomorrow

So last month, after seeing loads of Twitter ads for a HTML/Javascript class in Portland, I signed up for a class from Code Fellows. The class finished last week, and I wanted to write up some thoughts about it.

The class was their introductory “Foundations I” course and the aim was to introduce students to HTML, CSS, Javascript, jQuery, and the fundamentals of computer science. That sounded like a heck of a lot to cover in 8 2hr sessions over 4 weeks, but you’re probably wondering why I even signed up for it, since I know HTML/CSS pretty well and probably have introductory experience with everything else. My answer is that I have never learned javascript, like not even a hello world or basic understanding of the fundamentals and I’ve always wanted to sit down and do that. The second reason is that I was curious what a crash course in technology is like and what companies are doing today to try and train people to get into the industry. I wanted to see what coursework covered and how continued development and/or recruiting followed from it.

The course overall was good. The first week we dove right into the basics of javascript, with loads of homework assignments and small group work, and I felt like I was drowning in a good way. It was pretty intense right out of the gate, and continued for the next week. We kept progressing with javascript mainly, and after a couple weeks finally got to jQuery. It was nice to see why jQuery made things easier (we spent two weeks writing javascript by hand, to learn “the hard way”) but I would have understood if the class was jquery-only instead. After the first couple weeks, the organization of the class kind of got murky. We didn’t have tons of small homework assignments and instead did bigger projects once a week. There was still some group work, but it was mostly to help each other solve our own project problems instead of work together. The third week of the course we covered algorithms and it turned out to be a really good section that taught me how to evaluate efficiency (I know what Big O, n log n vs. linear n vs. n^2 all mean). The final week we just mostly worked on our final project.

The course covered a lot of things outside of the basic subject matter in the course description. We had to learn how to use github and all the tools around that and we spent time getting deep into Google Chrome’s devtools which was key to javascript debugging. We covered CSS a bit and only HTML briefly -- I suggested to the instructors that they drop “learning HTML/CSS” as any part of the class and instead assume future students know enough about HTML/CSS to use them fluently in the class. I felt bad for anyone that came into that class never having viewed source before.

The course instruction could have been a lot more organized. It felt like we used a dozen different tools and web apps to do the class to the point where during a possible ice storm that would cancel a class meeting I had to check in three places to get updates (chat, discussion board, announcement site). I kind of wish they built their own CMS to handle everything in one place instead of requiring so many outside tools. The homework was fun, challenging, and intense the first week, less so the second week, then non-existent until the end. Our homework assignments were to make little javascript guessing games and improve existing ones, but I felt like more real-world homework could have been better. Perhaps give us 80% completed code projects we have to finish, or a 100% done project that has significant javascript syntax errors (this is closer to what real coders do each day). I also wish the class taught people how to progressively enhance a web page, so that maybe on day 1 we build a basic homepage for ourselves and by the end of the course it’s all parallax and jquery and impressive looking.

Overall, I had a good time for the energy and costs involved, I finally got a basic understanding of javascript and I completed a bunch of codeschool and codeacademy tutorials I never had the motivation to finish.

My final project is here, and our assignment was to make a visualization of sorting algorithms where we compare one form to another in any way we felt. I remembered the story my old friend Chris Wetherell told me about trying to join Google eons ago, and I used that story as a jumping off point to illustrate some basic number array sorts.

With this course under my belt, I’m working on a new small project I hope to finish this month that basically just requires a bit of jquery and HTML to get working.

I could also tell this intro class was mostly a gateway drug to the more advanced stuff Code Fellows teaches (and the pricing goes significantly up), but I don’t see myself joining their next javascript class with my barely introductory proficiency, but I am curious about their intense python courses for real world web development (but that class runs $10,000, guarantees a job at the end, but only after months of intense daily classes and work). I’m not sure if I’m that into Python just yet.

Hoder is free

I’m elated to hear that Hossein Derakhhshan, otherwise known as Hoder online, is finally free from prison in Iran. I used to read his blog and I would get worried whenever he talked about being harassed by the Iranian gov’t while in Canada. I remember him talking about his trip back to Tehran and worrying about it, but I was shocked when he was thrown in prison for a nearly 20-year sentence.

A couple years ago a friend was working on a campaign to try and get him freed and asked for my help. I said yes and we talked about the case and he had to remind me at that point Hoder had been put away for 4 years, while I had thought it only happened a year or so before. I felt devastated for a few days after as the whole thing felt so hopeless.

I was ecstatic to hear he has been freed today after six years. I went to look up his Twitter and Facebook accounts and found out it appears he joined Twitter two weeks before his trip, in October 2008. He has only tweeted five times, three times leading up to the trip, one tweet when he got to Tehran, then six years later upon his release.

I hope he gets back to Canada safely soon and can start talking about it. It was a horrible thing and I can’t imagine the horrors he has endured but I’m curious what kept him going and how he finally convinced them to free him.



I checked into my hotel in San Jose today and the staff warned me that the hotel was completely booked, and they’d be adding higher security procedures, on account of everyone being in town for the opera.

The lobby was filled with people dressed up fancy, so I agreed to show my key to enter the building later that night. For hours afterwards I wondered why everyone was so into the opera. Was someone from movies or Broadway crossing over into opera? Is opera really big in the bay area or something? Why would people stay at a hotel to see an opera anyway? I wracked my brain for hours thinking about opera, how I didn’t understand it though I found small bits of it I heard really beautiful, especially sung live. I eventually chalked it up to the continuing saga of all the mysterious things about the Bay Area these days -- apparently they’re way into opera now.

It wasn’t until the evening, when the lobby was filled with middle-aged women in nice outfits, but not opening night ball gowns and where were all the dudes in tuxes? Why was there literally only women in the hotel lobby? Then I saw someone holding a printed program in the crush of people waiting for an elevator.

I had misheard the hotel front desk earlier that day. It wasn’t the opera causing all the ruckus. It was Oprah.



Threes is the most enjoyable game I’ve had on my iPhone, since the device debuted over 7 years ago. I’ve had 2 or 3 games I’ve played during idle times over the years but Threes is easily the most enjoyable, still almost a year after I started playing it daily.

I play it every night before bed (in dark mode aka inverted colors from Apple’s accessibility options), and occasionally during downtimes in the day. I quickly got to about 20,000 points as my high, but couldn’t really improve beyond that for a few months. I eventually found a Threes playing robot on Twitch.tv that everyone was linking to, since it was playing live games. The bot was easily scoring in the 50-60 thousand point ranges so I watched it for a couple hours and realized it was playing very defensively, and as soon as I changed my game a bit I was getting in the high 20k range. My highest score was about 32k points for the last 6 months. Day after day I tried and tried again, but could never quite get two 768 tiles together.

Today was that day, and after a few games I had a good run going and saw the two 768 tiles were coming together a few moves before it happened. I don’t think two 1536 tiles could ever fit on the small field so I’m happy with getting just one of them. I’ll still play it nightly, though I doubt I come close to this again anytime soon.

html 5 rewrite

Ignore this post, just testing out new layout template changes.