We Hire The Best

The tech industry prides itself on its rationality, and yet is filled with trite slogans that are demonstrably untrue… and further, harmful. Originally published in Model View Culture, November 2014. “We hire the best.” It’s a slogan we can rally around in company meetings, a tagline to put on the jobs page… a shoring up […]

Read More

4 Situations Where Managers Write Code

P vs NP

The two hardest things about becoming a manager have been: 1) the emotional exhaustion, and 2) letting go of the part of my identity that was tied up in writing code. I accepted that writing code wasn’t the best thing I could do reasonably quickly, but it took longer to finally stop saying I was […]

Read More

I Wrote a Book Chapter and Finally, You Can Read It

My 2014 side project was a technical book chapter on image processing for the Architecture of Open Source 500 Lines or Less Project. It was my bête noire, that consumed various evenings and weekends either by actual work, or by guilt. 2015 was mainly guilt, and some editing. Recently the final copy edits came back, […]

Read More

Interview Prep Tips

I have done a lot of technical interviews. And mainly I think that interviewers have to change, but I do have some suggestions for interviewees. Ages ago I wrote up my prep list for interviewing at The Conglomerate, which is comprehensive, and frankly excessive. This is the short version with the benefit of spending more […]

Read More

Categories Considered Harmful

TL;DR – Don’t use categories. They just create different problems. Categories in Obj-C are a way to add (or expose) functionality to a class without subclassing it. You can see why this might be tempting, right? File getting a bit big, too many pragma marks, stick that bit in a category. I want to expose this […]

Read More

Android: Touch to Change Image

On iOS I do this using a button (with different pressed state), and I figured it would be the same on Android, but turns out, no. Step 1: Add a second image to the XML, and set the visibility to “gone”. <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/processed_image_background"> <ImageView android:id="@+id/processed_image" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitCenter" /> <ImageView […]

Read More

The Hardest, Shortest, Lesson Becoming a Manager

"how does computer programming work" "magic"

There’s something we all talk about in becoming a manager – and that’s the process of writing less code. We bemoan it because it’s hard to let go of that part of our identity. But also because it’s so quantifiable. Today I wrote X lines of code. Today I deleted Y lines of code. Today I […]

Read More

Further Adventures in Android Development

Danbo want to use my smart phone

I suspect one of my limitations as a programmer is that I don’t hack. I don’t beat away at something until it works. I read things, and I reason about it, and I write a lot of tests. This makes me very effective on platforms I’m familiar with, but I worry I’m as a result […]

Read More

#ghc15: Natasha Murashev – The Zen Guide to WatchOS

My friend @NatashaTheRobot gave an awesome talk at GHC about WatchOS. I find a lot of tech talks focus on the how, not the why, but she completely inverted it – tying the technical details to the kind of experience you want to create. I’ve been pretty meh on watches (and glasses) because I want fewer […]

Read More