Category Archives: Software Development

Reverting changes in git

Note to self: If you need to revert commits that have already been pushed, or otherwised merged with any other repo or branch, use git revert. git reset is exclusively for undoing commits in your local working tree that have not seen the light of day. Attempting to use git reset to undo changes that [...]

Push or pull?

The question of how to communicate events often comes up when designing APIs and multi-component systems. The questions basically boils down to this: should events be pushed to interested parties as they occur, or should interested parties poll for new data? The short answer: interested parties should poll for new data. The longer answer is, [...]

Instant Legacy Status

That is what you gain when you allow more than one module of software to access any single database. Any integration database confers legacy status on all modules that access it. For the sake of this discussion we will define a module as unit of software that is highly cohesive, logically independent and implemented by [...]

Encfs

Security is a thing at my new job. We follow PCI security standards. We take great care never to have our customers sensitive information on unsecured machines. We make efforts to stay aware of the security risks in our environments. With that in mind, i decide that storing all my work related files on my [...]

Configuration files

If you are using a dynamic interpreted language please do not used use YAML1, or any other simple data serialization language, for configuration files. Strictly speaking configuration is just data, of course, so you can use a data serialization language to represent your applications, or libraries, configuration. In some environments, like static compiled languages say, [...]

Nucleic Teams

A nucleic team is one with small core group of permanent employees, usually just 1 to 3 people, that is supplemented as needed by contractors. The core in a nucleic team is too small to do the anticipated work, even during slow periods of development. The core teams job is two fold, first it implements [...]

Mobile back-end consulting?

During a recent discussion with a friend (hi Brian) i had an epiphany. Well, actually it was just a series of realizations that should have been obvious long ago. The series was this: most mobile applications have a server component web services are the most obvious way of exposing server components to mobile applications therefore, [...]

Pipes Dreams

As you know, i am on a job hunt. Like everyone else i use a variety of sources to find potential opportunities. I also have a wide breadth of skills so i search on a lot of keywords. Going to 10 different websites and doing 2 to 20 searches each gets old really fast. Worse [...]

Will code for food

I am on the job market again. If you needs some help exposing your applications functionality via REST web APIs, we should talk. If you need some assistance developing, deploying and managing a Ruby application, I have the skills you need. If you need someone that can learn your code base and your business processes, [...]

BarCamp Boulder 3

BarCamp Boulder is on. It will be held October 17th and 18th (2008) at the TechStars bunker in downtown Boulder. The last one was great and I expect this one will be even better. Reasons you should come: you like meeting smart and interesting people you are passionate about something that the rest of us [...]