Category Archives: Software development

Debating tradeoffs

A few weeks ago, a we fielded a potential request to validate Social Security Numbers.  The social security administration has a few rules for numbers that they deem invalid and that they will never assign:

  1. The first three numbers are {000, 666, 900-999}
  2. The fourth & fifth numbers are 00
  3. The last four numbers are 0000

Being one for code reuse, I wanted to do this in as general a way as possible.  This was my initial solution (in Mumps/Cache): Continue reading

PyOhio 2012

Last month, I had the great fortune to attend my very first conference: PyOhio. There were many great talks and opportunities to meet interesting people. What follows are some personal notes I took during the conference. (It took awhile because the way I took notes was very incongruous with WordPress.  Lots of reformatting before editing. Lesson for next time friends.)

Continue reading

Book review: Responsive Web Design by Ethan Marcotte

My own thoughts…

As a person diving back into the web world, I found this book an incredibly helpful and invigorating read. The examples in the book are intuitive, easily conveyed, and reinforced; but they do require some prior knowledge of HTML/CSS.  From a technical perspective, Ethan focuses on 2 main ideas: relative/flexible sizing of a page’s physical layout and media queries to define different behaviors within different (width specific) contexts.  When I finished the book, I was excited not only at the prospect of rereading it, but also about reading many of the articles he references and to hack on my own learning projects for some hands on experience.  I cannot remember the last time I read a programming book with that much interest. Continue reading

Read this

The other day, I stumbled across this blog post on twitter: “Don’t Call Yourself a Programmer“.  It starts with the following:

If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity.  It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering.  This post aspires to be README.txt for your career as a young engineer.

then launches into a number of examples.  I think the most notable pieces of advice were the following: “Don’t call yourself a programmer” (define yourself in terms of your accomplishments, not your tech skills), “Networking: it isn’t just for TCP packets” (awareness and good-will does one wonders), and “Modesty is not a career-enhancing character trait“.  I found most of his points refreshingly articulating things I have come to over the past six years – but lately, I have found myself working on these three more than others.

I highly recommend reading this article.

Reflections on project management and software development

When my current company began reviewing its project management and software development mode, they had a particular focus on lean project management. Now, I had encountered large software development cycles before such as the Spiral model with my previous company as well as Agile/XP which I use in my individual practice (where possible). However, I had never heard of Lean Project Management, and I was wondering how it compared. So began my Internet search. Continue reading

Case study on verion control (or why you should use one from the get go)

Recently I came across Lucas Ward’s blog post on a maturity model for source control which resonated strongly with me and provided the inspiration for this post.  I realize that the following may not necessarily represent an extreme example nor a “typical” project and is hopefully boring for most audiences (because using source control should go without saying).  Never the less, my experience has only reinforced the importance of source control with me for a project of any size to leap frog basic problems in maintenance and deployment and I wanted to share my experiences. Continue reading