the codist - programmerthink

The Lesson My Dad Taught Me That Directly Influenced My Success As A Programmer

Published: 07/24/2014

A couple of years before he passed away at an age only a few year older than I am now, my Dad and I went for a long walk where he told me that in anything I do, I should do it Zack Zack. This slang he learned when he was a kid in Germany before the war meant to do everything exactly right.

When he was a young teenager he went to work as an apprentice to a cabinet maker who built things out of wood, including coffins. They had mostly human powered hand tools and built everything out of raw wood with only a little hardware. My dad learned the importance of making sure every design, part, finish and assembly had to be correct or the end result would be of poor quality; basically the quality of what you put into a project was the quality you got in the final result. This, therefore, was the meaning of the enigmatic slang (I never saw it written down so the spelling is a guess).

After the war my Dad got a degree in architecture and spent his life managing in the furniture industry in the US. Growing up we remodeled every house we ever lived with me as the #1 helper. In one house we replaced every single thing in the kitchen while still using it full time. I envy the people who live in those houses today.

Read the rest of the article...

Everything Is Insecure

Published: 07/21/2014

In security the zeroth rule is "your security will fail eventually." What gets me angry is when people ignore this rule and claim otherwise.

Doing security right is very difficult. Yet even the most knowledgeable, paranoid, genius security expert knows that they only need to make one mistake, not know one tiny fact, or face a determined foe for long enough, and all their careful plans will fall apart.

The trick is to find make it as good as you can, as deep as you can, and anticipate as much as you can without making things so impossibly locked down you can't do anything. A joke I heard a long time ago was that "the only secure computer system is one with no I/O". Of course the joke is that it's useless if nothing can get in or out.

Read the rest of the article...

The Pain and Gain of Being Laid Off

Published: 07/17/2014

Stories now making the rounds that Microsoft will lay off up to 15% of its workforce in the coming year made me think about my own experiences.

There is both great pain and great opportunity in being on the receiving end which is not always obvious when the boot hits your ass.

I've been laid off 3 times in my 33 years of being a programmer, including my current job where my end date will be the end of August.

Read the rest of the article...

Monitor Or Fail

Published: 07/14/2014

Soon after I started in my present/soon to be former job in our mobile team, the product manager suddenly discovered one of our lines of business had had no sales in the past month.

Of course "sudden" and "the past month" sound like an oxymoron.

The situation at the time was that sales were only recorded in the upstream systems. We had our own mobile API which translated calls to and from the upstream ".com" systems for use by our mobile products. Although at the time we managed our own servers we had zero control or even input into what those upstream folks did. Thus we were given a report at the end of each month on what our sales were as if we didn't matter.

Read the rest of the article...

To Swift Or Not To Swift, Yet

Published: 07/09/2014

It's not very often that a platform changes languages. During this intermediate timeframe where Swift, iOS and OSX are all in beta it's hard to tell how the future transition will take place.

If you are looking for a job in the Apple universe right now, as I will be shortly, it is tough to know which language to focus on.

On one hand the future is clearly going to be Swift, the language is modern, has lots of useful features, is likely to have good performance and Apple wants us to use it. In the short term however all apps are still written in Objective-C and most people are unlikely to rewrite them, or much of them, in Swift for quite some time.

Read the rest of the article...