Categories
Programming

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 […]

Categories
Career management Programming

4 Situations Where Managers Write Code

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 […]

Categories
Programming

Testing Intents on Android: Like Stabbing Yourself in the Eye With A Blunt Implement

The picture above shows what am I testing: the home screen of my app. There is a camera button, a gallery button and an inspire button. All of these launch intents, but the camera and gallery buttons launch intents that are expected to return something – an image – either from the camera or the […]

Categories
Programming Visualization

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, […]

Categories
Career Education Programming

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 […]

Categories
Programming

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 […]

Categories
mobile Programming

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”. This file contains bidirectional Unicode text that may be interpreted or compiled differently than what […]

Categories
Career management

The Hardest, Shortest, Lesson Becoming a Manager

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 […]

Categories
mobile Programming

Further Adventures in Android Development

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 […]

Categories
Programming

#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 […]