Apr 28 2013

It was a Friday

It was a Friday, and I was in second grade. I got up that morning eighteen years ago, had breakfast, and my brother and I went to catch the bus. 

It’s interesting how many school days I’ve been through and I don’t remember what went on in many of them, but I remember that on this day, we had art class and I completed a project (a paper bird stuffed with cotton – side note: my art skills were not any better back then). Our class took a walk out onto a trail to observe some of the natural wildlife there. In science class we had been learning about the eye and I was looking forward to our school nurse bringing cow eyes for us to dissect the next week.

That afternoon, I was taking a spelling test and I was 17 words in out of 20 when the secretary said my dad was there to pick me up. My teacher, impatient, asked if I could finish the test but that wasn’t an option; I’d have to make it up later. We met my dad and his work colleague who drove me and my brother home in his van.

I remember it being a pretty quiet ride home. My dad’s colleague asked me if I was looking forward to my birthday, and I excitedly said I was (it was coming up in just over a week). I don’t remember much else about the ride.

When we got home, we all walked into the house. My grandpa (who lived with us at the time) passed by and said hello.  We sat down in the living room and my dad gave us the news. By then he was crying and I knew something was wrong.

“I don’t know how to tell you this, but Mom and Brandon were in a car accident and died.”

We all just sat there for a minute, hugging each other and crying. I walked into my bedroom, passing by my now-deceased brother’s bed. 

I paced around the basement, and went outside and paced around the mailbox, not knowing what the heck to do. 

The next week or so was a frenzy of family suddenly coming together. That evening my grandpa picked us up and there were a bunch of people at their house. It was a shock to everyone. Almost immediately family started showing up from everywhere, coming from as far as West Virginia. It’s so odd feeling this way, but much like how you feel a sense of solidarity after a big disaster, that’s the sort of feeling we all felt when everyone showed up all of the sudden. 

The funeral home we were working with was sadly familiar; I had a baby brother the year prior and he died after eleven days. It’s not the kind of place you want to be familiar.

We had the funeral at the church my grandparents attended, and everybody came to it, even my teachers. It was the same church my parents were married in. I’m not religious anymore, but that particular church on the hill does holds a lot of memories.

When you say goodbye to someone, you often don’t ever really know that it’s going to be the last time. And you can’t assume that it will be, either, because then after awhile you’ll just get desensitized to the possibility after awhile. 

When they died, I didn’t feel like there was a moral to the story; it was just a terrible thing that happened. There was no underlying lesson about appreciating those around you while you still can. You don’t start thinking in terms of that until you get older and you start trying to see meaning in events. And as I got older, I did start to think of that accident as a lesson in appreciating your loved ones and understanding that life is fragile.

But the truth is, the accident had no meaning or intrinsic value. I didn’t lose 40% of my immediate family in one day because I needed to learn a lesson in not taking things for granted. And if I really did need that lesson, that was a shit way to teach it to me or my family. 

I’m not a better person for this happening. Changed, maybe, but not better.


Jan 28 2013

Nailing the interview

Since my post on making a great resume was so incredibly well received on Reddit, I don’t want to leave you hanging now that that kick ass resume got you an interview.

Bottom line: the best interview is going to flow a lot like a conversation between new friends. Mixed in with this conversation will be me grilling you with some technical and problem solving questions.

Feel at ease. I want this interview to go well just as badly as you do (because then it means I don’t have to do more interviews!). It’s okay if you feel a little nervous, though. In terms of attire, every person interviewing has their own tastes but as far as I’m concerned you could walk in wearing a T-shirt and jeans and I wouldn’t bat an eye. In fact, I’ll be more skeptical of a suit wearer.

Enthusiasm is a big deal to me. I want to see your eyes light up as you describe your career to me.

You need to be superior at articulating your thoughts. Most engineers are bad at this. If I ask you a hard question and ask you to talk it out, I really fucking mean talk it out because that’s what I’m evaluating. Incoherently rattling random words as you scribble on a whiteboard might yield you a correct answer to the problem, but what do I do when we’ve got a real problem on our hands and I need to talk it out with you?

If you can’t articulate your thoughts in a way that others can understand, you’re probably not a good engineer. It was Einstein who said “if you can’t explain it simply, you don’t understand it well enough.”

If you’re weak at this, practice articulating your thoughts verbally with your colleagues.  Peer review code with your colleagues and talk (or write) out your likes and dislikes. It’s not enough to see a code smell and recognize it. When you can look at the code and say “I see varying levels of abstraction being used in this method. Let’s extract the lower level stuff out for clarity,” that’s good articulation.

When I ask you for your background, don’t recite to me a chronology of your employment history. I love the objectivity, but you’ll sell me better on your ability to articulate your thoughts if you describe your career to me in trends or describe the patterns/progressions your career has taken, and interleave that with concrete instances of things like jobs or projects. Watch how it changes how you sound:

First I worked at A Corp doing C code with Project M, then I worked at B Corp doing more C code with their project MX, then I worked at AB Corp working on C#, then…zzzzzzz….

compared to

I started out with simple bug fixes to the code base at A corp, but as I moved on I really learned I have a knack for improving reliability of software through breaking the code down and into tests, so I took a job at B Corp and helped reel in project MX. I continued to apply those skills in the C# language at AB Corp, and–whoa, is that a job offer already? I just got here!

It makes a difference.

Even more important than your articulation is your ability to actually write code. I am surprised at the number of candidates with years of experience on me who trip up at the simpler programming exercises I give, like fizzbuzz. Even worse: mocking the question as if it’s beneath you (only to answer it wrong).

I often ask a bunch of trivia questions that are things you either know or you don’t. If you don’t, don’t feel bad; it probably won’t be a deal breaker. If you don’t know the answer, try to describe what you do know. For instance:

Q: Does ruby have multiple inheritance? If not, does it offer something similar in its place? # it doesn’t; but it does offer mixins

A1: lol, idk # …

A2: Hmm, I’ve never encountered it working with in Ruby. I know in Python you can do it by listing the superclasses separated by commas. I usually put shared code in modules since you can include many modules in many classes.

Oh, and remember when I said the interview should go kind of like a conversation? I do want to hear questions from you. In particular, I want you to be asking me how our team’s development cycle works. Do we do stuff in sprints? Do we pair? Do we force you to use Vim? Who deploys code? How does an idea get turned into a live feature? What works well about our development process? What doesn’t?  If you don’t care about what your work environment would be at this company, what do you care about?

Ultimately, just be yourself during the interview and that’ll help your interviewer(s) make the best decision. Don’t feel intimidated by being a newbie. Smart companies hire a good mix of junior and senior people. Regardless of skill level, culture fit is a big deal to me. Culture fit doesn’t mean it’s a popularity contest. It’s about your values and what you find important.


Jan 25 2013

Making a good engineer résumé

I routinely review résumés for engineering candidates and I wanted to share some practical tips that are guaranteed to help get you an interview in the instance of at least one person who might be reviewing it.

First and foremost, proofread the living shit out of your resume. You probably rolled your eyes at the English teachers who warned you about it, but they were right. I have thrown out resumes for really well qualified candidates for spelling and grammar errors (even when my colleagues wanted to move forward). I’m not asking that every piece of correspondence you ever have with me is perfect and free of errors. I ask merely that the one-page document that is supposed to tell me whether I should offer you an interview be free of errors.  If you think I’m being pedantic and asking too much of you, that’s fine. Go talk to an interviewer who’s less of a hard ass about that kind of thing, and celebrate your mediocrity together.

My other pet peeve is with language and technology names. It’s JavaScript, not Javascript. It’s MongoDB, not Mongodb. It’s OS X, not OSX. It’s PostgreSQL, not Postgres. Errors like these won’t get your resume thrown away, but I still hold it against you if you didn’t get it right. If you claim to be a master of one of these languages or technologies, spell its name right.

If you work with a recruiter they will probably make your resume look like shit. You’ll know they’re doing this if they ask you to send them your resume in Word doc format. If you’re working directly with the potential employer, send a PDF unless a specific format was requested.  If you are sending a PDF, play with a variety of layouts to see what reads easiest. You could even A/B test different resume layouts with different companies to see if you have better success (though you should really be selective and keep a small pool of prospective employers).

Beyond straightforward things like the above, it’s incredibly difficult to tell the story of what kind of engineer you are in the form of a resume. However, if you are working with a small company with a small engineering team and an engineer is reviewing your resume, don’t name drop every technology you’ve ever encountered in your career. I know that if your resume says you are skilled in Python, Ruby, C, C++, Objective-C, C#, VB.NET, Lua, Brainfuck, Lisp, Clojure, Erlang, Haskell, Node.js, CSS, HTML5, PHP, Java, MySQL, MongoDB, and CouchDB, I know better than to think you’re brilliantly skilled in all of them. even if you’ve done one or more projects in each of these languages throughout your career, but what I really care about is what you’ve mastered, and if you’re smart I’ll know you can learn another language if one comes along.

Don’t stick on extra languages you only had fleeting contact with. Believe me: if a language is important enough that its mere mention gets you an interview, you’ll be found out in the tech interview if it turns out you really don’t know much about that language or technology.  One exception: obscure languages relevant to the posting. If it’s super obscure, even a little experience could get you a real leg up. But your chances are better by just being smart overall.

I don’t know who started the convention of writing your resume in third person in a dry way that avoids using pronouns referring to yourself, but it dehumanizes you as a candidate and it makes the resume a freaking pain in the ass to read. Here’s a confession: I usually don’t have 30 minutes to pore over the resume, so it gets skimmed. The more I can get out of it in that time, the better. Again, this is my own opinion, but I think that as you’re describing your employment history, it works much better to tell a story. Try something like this:

Test Engineer, Acme – 2003-2007

Technologies applied: C, x86 assembly, AnvilTestKit 2.0

I helped optimize Acme’s processes for testing new anvils to bring to market. My team accomplished this by writing automation software on the AnvilTestKit platform and developed the anvil testing industry’s first interface with the Suck-O-Vac system to safely automate cleanup of debris after testing the anvil’s effectiveness. 

See how well that reads? Instead of being some dry list of technologies and buzzwords being strewn all over the place whilst awkwardly trying to avoid using the word “I”, it actually tells a story about the things you actually made (something I personally care a lot about) as well as the technologies you accomplished it with and in what capacity. This gives me a much clearer picture of how familiar you actually are with these languages and technologies. I’m not wondering whether you used C every day of your career there, or if it was just used once when you wrote some random one-off script.  

It’s really popular now to include your GitHub profile in your resume. Some companies actually require it and are using it to determine whether to hire you. I personally don’t place a ton of value in them because I think your best work is probably what you did for your employer (plus I don’t have many projects on GitHub), but if you do include it, I will look at it to see if you actually did something. If all I see are a bunch of forks of others’ projects with few changes, that doesn’t tell me much. Some employers might be using the profile to learn more, though; I don’t know. Perhaps they look at what you starred or issue discussions you’ve contributed to in order to see how you handle yourself. If your GitHub profile isn’t impressive in a way that will push the needle forward for your consideration, keep it out.

Personalize each resume you’re sending out. I sometimes read about some schmo who applied to 300 jobs and didn’t get one call back. If you carelessly fire off your resume to a bunch of employers at once without really researching, they’ll in turn fire off a nondescript rejection letter. Good companies to be an engineer for are really excited about what they do (even if they do something kind of boring) and they’ll let their company culture show in their job posting or on their web site. 

Finally, use the cover letter to your advantage. If you’re doing enough research about a company you’ll have a good understanding of the things they value and maybe even have some insight into how they work (maybe they use a particular Agile methodology, perhaps they pair, maybe they’re remote, etc.). The cover letter’s a great time to casually mention your enthusiasm for things they do. It’s also a good opportunity to be a little more human. If you’re scared to talk in first person on your resume, you can get a bit more warm and friendly in the cover letter. Stay objective, though. Don’t use bullshit descriptors like “team player,” “self starter,” “motivated,” “dynamic,” etc. Instead, talk about things like what your philosophies are on writing good code. Do you value peer review? Mention it. Do you subscribe to the church of test driven development? Mention it! It’s absolutely possible that some of these things are deal breakers for your would-be employer, and maybe they do things that would be deal breakers for you. As engineers we’re blessed right now with a very strong job market giving us the luxury of being able to be a little pickier about the jobs we take, and I consider it a luxury from an employer’s perspective too, because I don’t want workers clinging onto a job that isn’t right for them because it’s so damn hard to find another job.

Ultimately, it’s your resume’s job to get you the interview. If you’re a competent engineer your resume should reflect that (you can’t resume yourself out of incompetence or lack of experience). The tone should come off as friendly and eager to chat, but not so comfortable you seem cocky. It’s the interview’s job to determine the less tangible things, like whether you’re a good culture fit (something I can tell within about a minute of starting to talk to you), details about what you did in previous jobs, or how good you are at technical questions. But until that interview happens, you’re only as good as the resume in my inbox. 


Oct 31 2012

My favorite things Issue 1: Backnobber II a.k.a. the Forever Alone Massager

I love things, especially things that are well made. In fact, I love things so much, I decided to start a new series right here on icanthascheezburger just to tell you about a few of these things. I don’t get any kickbacks from any of the things I recommend (check the links for affiliate codes; there aren’t any!). They’re just things I love and use almost every day.

Forever alone massager

The Forever Alone Massager, as I lovingly call my Backnobber II, is just fantastic. Working at a desk can lead to some knots in hard to reach places on my back, and even if I can reach them, I can’t really apply the kind of pressure needed to really get those knots worked out just by contorting my arms to reach my back.  

The Forever Alone Massager takes care of that neatly by giving you two different sized hooks you can use to reach your back with ease. The wider hook reaches more places on your back, but the smaller hook has less give, allowing for a really intense, deep massage of the neck and shoulders. 

At $30 (on Amazon) it isn’t super cheap but it’s very well designed and durable, being made of a fiberglass reinforced nylon. Put together the massager is kind of big but it comes apart into two pieces which can easily fit in a backpack.

My only complaint about it is that if I’m pulling really hard (and I mean really hard) the massager will sometimes pull apart into two pieces. If this is a concern the company that makes these also sells their original one which is made of metal and is a single piece (I’m thinking about getting that one too, just so I have one at work and at home).

The original Backnobber with Big Bend (Amazon)

Backnobber II (Amazon)


Oct 20 2012

So you want to make excellent popcorn

I’m really not sure how people who microwave a bag of popcorn seeds mixed with some butter-resembling ooze can live with themselves. Of course, who am I to judge you for having such low standards?

There is a better way, and it’s more within reach than you think. You just need a few things.

The Equipment

  • A stirring popcorn pot, such as the Whirley Pop
  • Popcorn salt (unlike table salt, popcorn salt is ground much more finely)
  • Butter (clarified butter, or ghee, also works nicely if you are worried about butter’s low smoking point. Extra virgin coconut oil is also excellent. But if you want the real deal, use butter)
  • Popcorn seeds 

If you don’t have the money for a Whirley Pop, I personally am partial to using a light aluminum pot to pop corn in. If you only have a heavier pot available to you then no worries, just be aware it needs more time to heat up on the stove.

Now, to choose your variety of popcorn. You could just use any old bag of popcorn seeds you find at the store and by popping it with this method you will end up with popcorn that tastes far better than your typical microwave popcorn. But if you want to do this right, and I mean really do it right, you want to use an heirloom variety of popcorn.

The heirloom varieties of popcorn haven’t been selectively bred for size and puffiness like their industrial counterparts. Instead, the kernels and the resulting popped kernels are very small. Not only that, but they pack a ton of great flavor. You’ll find that a good heirloom variety has a bit of a “corny” taste to it. The Orville Redenbachers of the world were focused on making a popcorn that popped with fewer “old maids” (the stubborn kernels that don’t pop), popping faster, and having more volume to the popcorn, and that’s what they bred for, as opposed to taste. My current heirloom variety of choice is the venerable Tiny But Mighty variety, grown in Iowa. 

The Recipe

Now to make the popcorn!

  1. Begin to heat your pan. If you use a gas stove, a lower setting will suffice. Electric stoves choose a medium level. Add a half stick of butter and 1-2 teaspoons of popcorn salt depending on your taste.
  2. Once the butter is completely melted (it may be sizzling or smoking a bit; that’s fine) it’s time to add the popcorn. Add 1/4-3/8 cup of heirloom popcorn seeds (depending on how buttery you’d like it to be) or 1/4 cup of a standard variety  of popcorn. 
  3. Now you play the waiting game. Every 20-30 seconds, give the pan a good lateral shake to keep the heat distributed between the kernels. If you’re using a Whirley Pop or similar pan, start to turn the stirring pot as soon as you start to hear a pop. 
  4. Stir or shake like mad up until the point where the popping reaches a critical mass of pops. The sound of near constant popping will bring you incredible joy. After this point the popping will decelerate rather rapidly. As soon as you hear it slow down to the point where there is 1-2 seconds between pops, take it off the heat and immediately transfer into your serving bowl.
  5. Wait about 1-2 minutes for extra moisture and heat to evaporate away from the popcorn. This will leave you with a nice crunchy snack to enjoy and it won’t be too hot.

If you use an electric stove, it does take substantially longer for the popcorn to heat up, but you will nonetheless end up with delicious popcorn. 

Things you shouldn’t do

  • You should NOT use one of these cutesy “popcorn topping” seasonings that are butter or cheese flavored. 
  • You should NOT use that Orville Redenbacher brand “butter” flavored oil for cooking popcorn in. Use butter.
  • You should NOT top your popcorn with parmesan cheese. Your popcorn will be truly delicious with just salt and butter.
  • You should NOT use coconut oil that isn’t extra virgin. It’s just flavorless and has none of the health benefits of the real deal
  • You should NOT sit here thinking about how unhealthy this is. If you prefer the healthy approach try an air popper with an heirloom variety.

Oct 6 2012

How to make real movie theater style popcorn

I am known around these parts as a popcorn expert, and I can make popcorn taste like it came from pretty much anywhere. The movie theater style of popcorn is thought of as the gold standard for what to make your popcorn aspire to be. That’s why so many microwave popcorn boxes claim to be movie theater style. And it makes sense, too. After all, movie theater popcorn costs $7 a bag, so therefore something that costs more than a meal at In-N-Out (also has more calories than a meal at In-N-Out) should therefore be the best, right?

So let’s start with your choice of popcorn. Now, you might want to choose a nice heirloom variety, citing my logic about price correlating to value. This is a rookie mistake; don’t do it. Movie theaters sell their popcorn at a high price; they don’t buy it that way! We are adding value to the popcorn by making it movie theater style. Get the cheapest stuff you can find, and make sure it has no flavor of its own. We can add flavor later! Bonus points if it pops to a bigger kernel; after all, you sell by volume!

So what do you cook the popcorn in? Well, the secret ingredient in movie theater popcorn is coconut oil. Hold on there one second there, you with the extra virgin coconut oil. I realize you might have reached for that because extra virgin reminds you of your lifestyle, but here in the movie theater business we actually like to make a profit on our popcorn, and you’re not getting that with extra virgin anything. Get the 1 gallon jar of the movie theater style coconut oil. It probably has an unsightly orange color, but that’s just beta carotene it was dyed with to make the popcorn look buttery. Oh, and you can just skip right by the butter aisle, there won’t be any of that involved in this process at all.

All right, so now that you have your ingredients, let’s get started with making the popcorn. Heat the oil up in a pot, and add your popcorn. Add your Flavacol now. What’s Flavacol? Well, it’s like salt, but it also paints the blank canvas of your popcorn with some “buttery” flavor to give your popcorn that authentic taste.  Add your popcorn (1/4 cup popcorn seeds to 4 tbsp coconut oil works) and shake it up and let it pop. 

Are we done? Nope, not at all. If you want a real, authentic popcorn taste like the movie theater makes, you’ll need to leave that sitting in a glass box under a heat lamp for at least an hour. 

Once you’ve done that, you have to top it off with that “buttery” topping stuff that makes it oh so good! What’s that made of? Some simple ingredients that might find in the house, like partially hydrogenated soybean oil (don’t completely hydrogenate it for goodness sake!) and just a pinch of dimethylpolysiloxane, because you don’t want this stuff foaming. If you have extra, you can make some Silly Putty with it!. 

And there you have it! Real movie theater style popcorn right in the comfort of your own home. If you want to add the sticky floor effect pour some pop on your floor and pay some lackadaisical teenagers minimum wage to clean up for a few weeks and you should be good to go (teenage kids will work in a pinch too). If you can get that just right you’ll have a living room worthy of the caliber of movies that Hollywood is putting out lately like House At the End Of the Street. Enjoy!


Sep 23 2012

iPhone 5: the icanthascheezburger review

First off, if you want a full on great description of the phone and details of its feel, read Gruber’s review on Daring Fireball first. It’s a great review, and I’m going to avoid repeating much of what he went into detail about and focus on the impressions I had.

Anybody who tells you that the iPhone 5 is a boring upgrade hasn’t actually used one. Mentioning things like speed increases, adding LTE and being lighter and thinner sound pedestrian to talk about, and having a new connector port sounds awful (sure glad Apple hasn’t had to do it since 2002), but make no mistake: this is probably the biggest leap forward iPhone has made (with the iPhone 3GS -> iPhone 4 transition being a very close second).

Speed

The part you’re going to notice most is the speed of the phone. Yeah, sure, it’s got LTE and that’s a great speed boost, but at the moment I’m in the middle of nowhere in Iowa still using 3G, but what I’m talking about is the speed of the phone hardware itself. Apple mentioned that the speed is roughly double that of the 4S, which itself was about 50% faster than the iPhone 4 (yeah, it went to two cores but the result was roughly a 50% boost), which itself was about 50% faster than the iPhone 3GS, which itself was 50% faster than the iPhone 3G (which was no faster than iPhone, much to my chagrin). I don’t know why but I tend to be more demanding of speed than the average user and over the years I’ve become accustomed to these modest speed gains and happily gobbled them down like a half glass of water being given to someone who’s been lost in the desert for two days. But usually within a day I was used to the new speed and didn’t really notice the difference until I was using a friend’s previous generation phone. The phones always feel faster, but still a little sluggish. I will never admit that a phone is fast enough because we’ll always need more speed, but the iPhone 5′s speed really impressed me. Apple really was being rather conservative when they said the speed doubled, because I think they doubled performance of enough components to have a really meaningful effect on some things. In particular, opening the Evernote app is a whole new affair. Previously I had to wait 14 seconds for the app to reach a state where it would respond to input (Evernote confirmed that was normal for a 20,000 note account like mine). On the 5, it’s a 2-3 second thing, and the app hangs a LOT less (still hangs, but Evernote’s shoddy software engineering is to blame here, not the phone). I can actually use it with pleasure and browse through it. If I were in a store and needed to quickly grab a copy of my rewards card in the checkout line, I wouldn’t hesitate to open Evernote to do it because now I know that it will fetch really fast.

It’s nice

The second part you’ll notice is the build quality. Build quality is something that is very easily ignored by most because it’s kind of intangible, but the iPhone 5 is incredibly well built. The iPhone 4 and 4S were built with very tight tolerances but the iPhone 5 really takes it up a notch. The unibody design makes the phone feel great in your hands, and the now chamfered edges make the phone hug your palm a little better as you hold it, mitigating a downside of going from the 3GS’s tapered back & rounded sides to the iPhone 4/4S’s square, flat-backed design. The 4 felt a bit brick-like in your hand, but with the iPhone 5 it’s less so. I was always quite happy with the glass back and was apprehensive about having a metal back with the two-toned look to accommodate the glass bands at the top and bottom. It seemed un-Apple like, but then again, so also did the black lines along the iPhone 4′s surface for antenna accommodation seem un-Apple like (Steve Jobs even acknowledged that when talking about the design). There are plenty of things Apple won’t do to degrade the device’s beauty in the name of practicality. They won’t make the phone thicker, for instance. They probably won’t make it heavier. But adding lines to the look is within bounds. (the two toned back isn’t unprecedented, either. The original iPhone had this look, though it was a more pronounced silver and black color). In any case, I still find the iPhone 5 to look beautiful on the back and the old Apple adage “The back of ours looks better than the front of theirs” continues to hold. Seeing it in person I’m not even sure it was a cosmetic compromise. It’s damn nice looking. In addition to how the device looks, there are some great positive changes to how it feels, too. The home button feels distinctly clicky, far clickier than ever before in an iOS device. This is welcome and I hope this enhancement makes it into the iPod Touch, new iPod nano and the iPad. Generally the iPod Touches I’ve used had decent tactile response but the iPhones I’ve owned (and others’ as well) have suffered from squishy, unresponsive home buttons. If you’re only going to have one button on the front of your device, it may do you well to focus on making that well. It’s the kind of detail I wouldn’t expect Apple to ignore and in the iPhone 5 I think it’s gotten their attention and I hope the button stays this clicky throughout the device’s lifespan. Speaking of tactile feel, connecting the Lightning connector gives a great satisfying click, and the headphone jack feels the same as in previous iPhones (it’s fine). 

Lightning

The transition to Lightning did stir up some controversy. While I can’t cheer about a new connector without sounding like a shill, I understand why Apple did it, and I think they really nailed it with this new connector, which is reassuring because I want this one to be around for 9 years too (if not longer). And if you’re complaining that Apple is changing this, you should keep in mind that it wasn’t long ago when the status quo was that every new cell phone you owned had new connectors, making all your previous cables obsolete.

It’s very small; about as big as a micro-USB connector. It’s a solid piece of metal with eight pins on either side, allowing it to be inserted either way (that’s a big deal to me and others). Having the pins flatly attached to the metal on the outside makes for a sturdy connector; it’s not getting bent from the outside and the inside doesn’t have a tiny piece of breakable plastic with tons of tiny pins in it. It’s able to connect into a relatively hollow socket which is itself less prone to failure because there isn’t much in there to damage. I suspect that damaging the dock connector port is one of the more common repairs Apple sees, and switching to Lightning will make this a lot less common, possibly even as uncommon as a MagSafe port breaking (I’ve never heard of a Mac with a broken Magsafe port. Broken Magsafe cords? Yes, but never a bad port).

The current standard connector for smartphones as of late is MicroUSB, and Apple is under fire for not just going with that in the new iPhone. Why go against what the entire rest of the industry’s doing? There’s plenty of evidence to believe it was just a business decision meant to milk more cash out of iPhone users. After all, every Lightning cable has an authentication chip in it, keeping an otherwise nice and simple design from being implemented by the likes of Monoprice and other purveyors of cheap cables. For a simple USB & charging cable, that’s a dick move on Apple’s part, though I can understand wanting a chip to authenticate accessories (to give Apple a chance to vet the accessory or require that the accessory maker’s in their program). If you are convinced Apple just likes imposing Orwellian restrictions on its users then there’s probably nothing I can do to convince you that’s not the case. I will say, though, you won’t get an objection from me about the authentication chips for the cables being unnecessary. Any problem that’s trying to solve is a made-up one. If Apple was doing excessive iPhone repairs because third party cables weren’t made quite right, Apple is partly to blame for making the dock connector cable needlessly complex. 

Joe Biden once said “don’t tell me what you value. Show me your budget and I’ll tell you what you value.” When you look at something like Lightning, Apple’s priority wasn’t just making it different and incompatible. They could have done that really easily without spending the time they did on this connector.  Apple built on years of knowledge about what the dock connector port was bad at, and on that foundation built a cable that solves all of those problems. Put simply: I might not have the luxury of being able to buy a dozen MicroUSB cables on Monoprice for $1 apiece to charge my iPhone, but I can also rest assured that the cable that came with my iPhone 5 is probably going to still be in use 10 years from now and be working nicely, which is a big step forward for Apple as evidenced by my growing collection of overly-thin Apple device cables that frayed at some point.

The switch from 30 pin to 8 pin means that some functionality is going to be lost here, though. If you’re going to have an adapter that outputs video, you no longer have a dedicated pin that’s streaming that to you; it’s now on the adapter to do that digital to analog conversion (which helps justify the $29 price of the adapter Apple’s offering). Dropping the analog output probably simplifies the logic board on the iPhone too, making it smaller and potentially lighter.

I would say Apple’s biggest misstep in this transition is not making the adapter cables available en masse, leaving me with just the USB charger cable that came with the iPhone. I couldn’t even buy extra Lightning USB cables when I picked up the phone. If you’re going to pull a dick move by putting unnecessary authentication chips in your cables, at the very least have a bountiful supply of the new cables people are going to need to use with their new device. I can somewhat excuse not having Lightning-ready versions of every adapter (only somewhat, though, because again, people who are buying these adapters probably have more strict specifications for what they can hook up to their phone, otherwise they’d just be moving with the flow and getting AirPlay enabled stuff) but cables? Come on.

Why do I spend so much time talking about something as freaking mundane as a connector? If you look at an iPhone 4S and the first iPod with dock connector, that dock connector is quite possibly the only thing those two pieces of hardware have in common. The same will likely hold true in a decade or so when we’re looking at what iPhone has way off in the future.

Display

Yep, it’s taller. Apple picked a good height for it; all parts are still quite reachable by my relatively stubby thumbs, and the screen looks great (it’s more than just taller; it’s got better color and there is now even less space between the glass and the screen itself). I really am enjoying the height; more than I thought I would. However, Apple picked a horrible way for non-iPhone 5 optimized apps to behave by putting them in the center of the screen. It completely effs up my typing because it moves the keyboard a quarter inch up on the screen and destroys five years of muscle memory. iOS COULD move the keyboard to be on the bottom when it’s visible, but it doesn’t. Likewise, iOS on iPad COULD have given users a native iPad keyboard when iPhone apps were run on iPad, but Apple decided instead to degrade the experience and shame developers into updating their apps. That’s all well and good, but I’ve still got a few apps and games that have yet to gain Retina display support, so maybe it’s time to find their more well-supported counterparts. In any case, the new screen size is good. I actually wonder if Apple truly wanted to move to this size of display, or if they just did it either to allow for the innards of the phone to be spread out more (helps make it thinner), or if (more likely) mounting pressure from the outside world caused Apple to cave on the screen size they originally thought was best. 

Bottom line

I love it, and if you are ready to upgrade your phone and can afford it, get it. If your contract isn’t up for renewal, get it anyway if you can afford it (the market for used iPhones is holding strong and you can probably upgrade for not too much money). If you have a carrier choice (i.e. you aren’t up for renewal and wanting to stick with it on the one carrier you are on), choose Verizon if you’re in the US. You will receive far more LTE coverage than AT&T or Sprint offer (in fact, Verizon offers a great deal more coverage than the other two providers combined).  Furthermore, you get a SIM unlocked phone that will work on any GSM carrier in the world (provided you can get or trim yourself a nano SIM card), and the LTE coverage you get around the world is pretty good with the bands Verizon is using. One notable missing feature if you use Verizon’s LTE: you don’t get simultaneous voice and data unless you use WiFi. Allegedly that will come later when Verizon works out the LTE voice details but it’s unknown whether that will come to existing iPhone 5s. Apple’s good about giving users new features but that might be something reserved for the iPhone 5+1. 

If you aren’t using one of the dozen or so carriers iPhone is on in the US, should you switch? Perhaps. Apple has done an impressive job of adding carriers in the US over the past year (current count is an astonishing sixteen carriers) so chances are more will come this year. I suspect US Cellular will jump on board this year, assuming that one of the three LTE phone versions support the particular 700 MHz band they are using (they were said to be waiting for Apple to add an LTE iPhone before they made that capital investment in tons of iPhone subsidies, which was probably a smart long-term move if they don’t lose too many would-be iPhone users in the meantime).


Aug 26 2012

Thoughts on the Apple v. Samsung verdict

There have been a lot of mixed opinions on the interwebs about the outcome of the Apple/Samsung trial. While many see it as a great win for originality and inventing your own stuff, others see it instead as an affirmation of a broken patent system. 

Looking at the facts and with my understanding of patent law (which is probably about as extensive as that of the jurors in this case), it’s clear that Apple should have been victorious here and rightfully won. That being said, I don’t think such patent laws should exist, and I don’t think this case is really going to benefit anyone except maybe Apple shareholders.

If you look at some of the things Samsung was doing that copied Apple, you see at first glance some egregious copying of designs. Sure, Samsung’s butthurt response made a smart ass remark about rounded rectangles. Perhaps they are referring to the rounded rectangle shape of these? 

NewImage

Or maybe these were the rounded rectangles you were referring to?

NewImage

I mean, come on, Samsung. Yes, it’s possible the jury took liberties with its verdict and found Samsung to be guilty of infringing more than it really did. But there are many examples of some very egregious ripoffs of Apple’s design, and such flagrant ripoffs should probably be punished in some way.

However, I still believe the patent system is broken and it fails to take into account that even if you have an idea and maybe you stole it, implementation is hard and that is just as true in technology as it is in other places. Maybe copying a book is an easy implementation, or perhaps seeing a new brake design on a car is easy to implement a copy of once you’ve seen it, and the patent system is meant to protect things that took perhaps a lot of effort to design, but once done are very easy to copy. 

But electronics hardware and software just aren’t like that. Although it is possible to make a device that looks uncannily like an iPhone at first glance (regardless of whether your goal was to trick the customer into thinking they were buying an iPhone), it surely won’t take long for you to start using it and realize that it’s no Apple device, unless maybe you’ve never used an Apple device before. Maybe that’s Samsung’s target market?

But implementing something is hard work. Even if Samsung managed to design a product that looked pixel-for-pixel like iOS and had all the same little effects and behaviors that make up iOS’s iconic design, I still think Samsung would deserve any success they got from it. Long term, the people making the best products will be the most successful. 

Yes, Apple will say that once you see a great design, it will always seem obvious in hindsight. That’s why before iPhone was created, smartphones all looked like crap, and after iPhone, they all started looking more like the iPhone.  And Apple lawyers will say “See? See?” But Apple themselves are notorious for stealing great ideas and incorporating them into their own products. Was the GUI invented by Apple? Nope. Was high speed networking invented by Apple? Nope. Was the concept of having workgroups of interconnected computers and shared resources invented by them? Nope. Was the concept of keeping your data in a cloud invented by them? Also nope. Those ideas all can be credited to Xerox PARC. Xerox’s prototypes of these were probably a lot worse than what Apple landed on, but Apple wouldn’t have been able to even land on them had Xerox patented this stuff and been more litigious. 

When ideas can freely compete with each other on their own merit, everybody wins, and especially consumers win. So what if Samsung wants to make things that superficially look like iPhone? Their customers will largely either end up using iOS in their next contract because they had a bad experience with Android or they’ll just stick with it because it’s not Apple and they’d rather have a bad experience than use something that came from Apple. And so what if Samsung copied an idea of Apple’s? Apple still came up with it first and while Samsung is playing catch-up, Apple will always be on their next great thing.

What’s going to happen here is Samsung’s going to continue to talk to the public like the entire debate was on rounded rectangles (give me a break) and now they’re going to start to get lawyers involved in the product design process. Is that going to make their product better in any way? Nope, it’s just going to help their product not get them sued. What Samsung should be focusing on is making a user experience that is innovative in ways totally different from what iOS is doing (Windows phone comes to mind but there are other great ideas too). Samsung doesn’t respect their users enough to actually do it the hard way, so they’ll just look at key offending components that are infringing sand them down and make them worse just enough to make the product follow the letter of the law. 

Apple’s going to take the $1 billion (or probably less after Samsung appeals and pisses and moans about how it’s unfair) and throw it into their giant vat of money and feel vindicated from that time when they unsuccessfully sued Microsoft in the 90s for stealing a lot of Mac OS’s design language. Was Apple ever really damaged by what Samsung did? I doubt it. They’re already more profitable than Samsung. For many quarters the thing holding Apple back from selling more iDevices has been their own production capacity. 

Could there be a happy medium some day? I hope so. I’d love to see a situation where Apple openly licenses use of some patents or technologies to Samsung for a price on the condition that the user experience on those parts of the phone are as great as can be, and I’d like to see Samsung in turn try more new things and take mobile UIs in different directions that in retrospect might seem obvious. 

Peace out. Namaste.


Aug 12 2012

Quit calling it hacking

The term “hacking” is for sure one of the more misunderstood terms in internet parlance. It seems as of late a lot of people think of it as someone breaking into a system or someone’s account in a system, regardless of whether it was a password guess or if it actually involved breaking the system’s own security.

There’s a far more obnoxious misuse of the term that’s been making its way into startup and internet culture. Have a look at this made up but inspired by real life exchange:

BOSS: Hey, what’s going on, bro?

BROGRAMMER: Not much, man, just hacking away.

BOSS: Oh, yeah? What are you hacking right now?

BROGRAMMER: I just added Twitter OAuth support to our web app.

No, brah, the truth is, you’re not hacking shit. You are using public APIs in exactly the way they were intended to be used to add functionality to your application. That isn’t hacking, that’s developing software. This, however, IS hacking:

BOSS: Yo, man, how’s that little plugin for Mail.app coming along?

ACTUAL HACKER: Well, it’s coming along a bit. Mail.app actually doesn’t expose a plugin architecture or API so I had to get a dump of its header files and take guesses at class and method names to reverse engineer its implementation. Then, once i found the method whose behavior I want to modify, I use an officially unsupported construct of the language to swap its implementation with my own so that I can inject in the functionality we need.

BOSS: Sounds like some intense shit, but why’s it taking so long? Brogrammer just hacked OAuth onto our web application in under a day.

ACTUAL HACKER: …

So please, do us all a favor and STFU about your hacking. Just because your code is shit because you’re glazing over details and writing it all in a day doesn’t mean you hacked anything. Just because your app is a mashup of two different apps that have public APIs doesn’t mean your app is a hack. 

When you call it hacking, you make people who know business but don’t know much about technology start to think that Twitter could be built in a weekend. You make it sound like a reliable, solid application can be thrown together by some kid who skimmed through a Ruby on Rails tutorial online. Proliferating that mentality benefits no one. You’re cheapening what it means to develop great software.

When you call it hacking, things that actually involve hacks fail to get recognized as the technical feat they are. 

Developing software requires discipline. It requires an incredible amount of patience and skill. It can be a lot of fun, and it certainly has fewer barriers to entry than other things (like prototyping physical goods) but it’s not something you can just jump into and come out of it briefly later with a meaningful product.

Side note: if you’re a company with an API, don’t call them hackathons. Believe me when I tell you that although useful things could come out of hacks of your API, you wouldn’t appreciate them.


Aug 5 2012

On the absurdity of the Chick-Fil-A controversy

Wayne Self, on his blog:

If we agree to disagree on this issue, you walk away a full member of this society and I don’t.

When I see you eating at Chick-Fil-A when you know that CFA gives money to organizations trying to subvert gay rights, it’s disappointing. It means that at some point in that decision you weighed whether enjoying their chicken sandwich was worth helping people harm your gay friends, and you decided it was worth it.