the codist - programmerthink

The Education of a Programmer

Published: 04/14/2014

No, I'm not going to talk about learning to code. I've always wondered what in my past made me not only want to become a programmer, but led me to the particular skill set I have worked with for the past 3 decades. This post is a little personal but maybe there is some value in it.

Everything we learn at an early age may potentially influence what we do as an adult; at the time of course we have no idea where it might lead. This makes teaching difficult, as there is no immediate feedback as to the success or failure of teaching methods or even an individual student's ultimate end result. Often this leads to attempts to standardize some particular educational process, in the hopes that conformity in teaching might result in better measurement of the adult state.

I can say for me that my education as a child and young adult was a little odd, or at least not particularly standard at all. How did my experiences affect my future career as a programmer? If people did exactly the same with their children would they get the same result? I certainly have no clue. It goes back to the old argument about nature vs. nurture, are people condemned only to what they are born with genetically, or does the experience at a young age make more of a difference? What creates a programmer?

Read the rest of the article...

Resurrecting The Dead

Published: 03/31/2014

In my copious free time at work (my job will eventually vanish but for the time being I am a captive with nothing much to do but wait for the work at the end) I need sometime to do, something I can put into the App Store. Everything I've done at work will go away so having something useful to display my abilities with is sort of useful.

Back in 1985 (yes that far) I was building spreadsheet models and got frustrated that it was so easy to make errors in the standard row and column cell model. You forget to extend a formula, or extend it too far and fail to notice and soon everything is big mess. Or worse, it's a mess but you don't know it. This of course still happens today and can bite people in the ass.

I came up with a different way to build spreadsheet like models, based on named arrays (we called them blocks). It was a little of APL, combined with a little of the numerical side of what would eventually be Mathematica, all wrapped up in something somewhat like a spreadsheet, and with the ability to move stuff around and format without messing up any calculations. We called it Trapeze.

Read the rest of the article...

Why Do I Blog?

Published: 03/17/2014

I've been blogging for nearly 10 years now. This version of the blog has been live for 8; the first version's posts were never brought forward.

But why write so many posts on programming and the software industry? I guess I care about what I do and even though there are no comments any more, I like talking with people about what I love to do. A lot of posts only get a few hundred readers but every once in a while something hits the sweet spot and tens of thousands of people all over the world read them and comment (elsewhere). I think that's the cool thing, finding something that connects other programmers to each other and gets them thinking.

I never promote my own posts anywhere, I figure if it's good enough to share someone will do it for me. So every day 200 people wander in and occasionally 50,000 people wander in. Sometimes I write something I think is good and the world goes meh, and then something I just threw together goes nuts. Some posts hit right away and some take days or weeks to suddenly blow up.

Read the rest of the article...

The Broken Camel

Published: 03/16/2014

I have a lot of empty time at work, so I am learning node.js and redis. Node has such an enormous library of modules I felt like a kid at Christmas. Wow, I need that, and that and of course that and who can live without that. I wound up with 20 different modules. But how to make best use of all that stuff? What if something goes cuckoo?

A great example as well is the venerable Spring framework for Java. I remember when it first appeared and thought it an interesting idea in just a few lines of Java. Now Spring is the most massive monstrosity ever, trying to do everything for everyone. I highly doubt anyone actually understands even a small portion of it any more. They even advertise it with the meme-word "Enterprise".

I think sometimes we in the software world just enjoy making things more complex in an ever increasing desire with making things easier. But does this goal justify the path?

Read the rest of the article...

Security Is Job 12

Published: 03/14/2014

Today we read that Target had actually installed some sophisticated security software and both it and their desktop antivirus reported seeing something wrong while the famous hack was happening.

Apparently they ignored the warnings and brushed off any idea of investigating. It doesn't surprise me much, almost everywhere I've worked it's been the same story. Doing security right is hard but people find reasons not to do it.

One time I was in the Newark airport eating lunch and the fire alarm went off. Yet no one looked up. The server said it happened a lot but didn't know why. For 20 minutes the damn alarm went off before it finally stopped to a mock cheer. People learned to ignore the malfunction. If there was ever a fire lots of people would surely die. I couldn't help but wonder what the point of such a system was. It wasn't protecting anyone.

Read the rest of the article...