Blog Posts

11 Apr 2013 / thoughts

In the coming months, the frequency of my blog posts will likely slow as I have decided to leave my employer and move to NYC as I begin work for a tech start-up called Socure.

02 Mar 2013 / thoughts

This post is the first of what will be a series of explorations into data visualization. I will dive quickly and deeply to lay the foundation as most of this can be found easily on the web.

16 Feb 2013
A few days ago I posted about mitigating complex code issues and introduced my opinion that commenting should be viewed as a last resort.That post kicked up some discussion on Facebook with some of my friends:“Documentation and commenting is still important”-Close friend from college“I think it can be important, but I would much rather see time invested in writing better code and hiring more talented developers."-Former co-worker in response to above commentOf course I never meant to imply that code commenting isn’t important.
30 Jan 2013
Lately I’ve been thinking about my current general philosophy on how to approach the code I work on each day…When I’ve solved a hard problem (or have a design for a solution in mind), I ask myself the following questions:1) Would a slightly more junior developer understand the code I just wrote? …See the genius behind the design I just implemented? …Understand why I wrote it the way I did?2) If (or rather when) there is a bug with the code, would a slightly more junior developer understand how to debug this code?
29 Dec 2012
For those who haven’t seen this before, every new year I take some time to reflect on the past year and take note of some of the major things that happened. I do this for several reasons:1) To keep a list for myself of things worth remembering2) As sort of a “Christmas letter” to people I care about3) To give myself perspective on my accomplishments and short comings to be learned fromPlans for 2012: (based on last years predictions)A more low key foreign trip to recover from NZ (Maybe Canada or Mexico)I’ve got a couple of possible “big” plans potentially slated for this year.
30 Nov 2012
Below is some code I wrote a while ago for an application that had been written in Perl.I was in a situation where I had to track dependencies on user actions. As an example:This action…Can NOT be completed before these actionsaction_4action_1, action_2, action_3action_3action_2action_2action_1But of course I wanted to give the user the power to specify any action they wanted. (including a list of actions) So, if the code was told to do ‘action_4’, it would look that action up, see that actions 1, 2, and 3 needed to be completed first, and then do them.
28 Oct 2012
In a previous post, I discussed “Security through Obscurity” and briefly touched on the concept of SNOW.Here we’ll look a little deeper at SNOW and showcase some of the work I have done with it.Some technical back-story on SNOW:I think the original author’s website says it best…Whitespace SteganographyThe encoding scheme used by snow relies on the fact that spaces and tabs (known as whitespace), when appearing at the end of lines, are invisible when displayed in pretty well all text viewing programs.
26 Sep 2012
It’s been well established that something which is hidden is rarely secure. This is the basis for the phrase in the title of this post. It has become a dirty word in the world of cryptography and software development where it is generally accepted that the only secure mechanisms are those which are fully known to all parties (both good and bad) and yet still maintain their integrity when attacked.Although as a software engineer I agree with and follow this logic, I have always felt that obscurity can also be a tool to be leveraged and “obscurity” can mean more than just hiding the source code from outside perview.
19 Sep 2012
When upgrading the structure of an old database with production data, it’s easy to find resources online that will show you how to do a MySQL dump and import it into a new database with an improved structure. Heck, even if the database has some oddities with it, it’s usually straight forward.But what if you have this scenario:A production database where most tables have an auto increment column used as a unique ID.