Refactoring Part 1: Working with Legacy Code

In this series we will look at how we can improve the design of a piece of legacy code in order to add new functionality and make the code easier to maintain.  First, lets take a look at the code we’ll be dealing with.  https://github.com/aweidner/monty-hall/blob/master/index.html If you’re not familiar with the Monty-Hall problem, take a […]

Sentry: self-hosted installation using Docker

In the last post, we looked at the difference between self-hosting Sentry versus the SaaS option.  In this post, we’ll do a deeper dive on self-hosting Sentry and take a look at some possible pitfalls you may encounter. In order to self-host your Sentry installation, there are a couple of resources you’ll need to look […]

Sentry: Deciding how to deploy for your environment

In the last post, we discussed exception tracking tools and introduced Sentry as a best in breed solution.  Due to its open source nature, Sentry has two options for deployment: SaaS and Self Hosting. SaaS Sentry’s SaaS pricing model has 4 tiers: Developer – Free for a single developer working on a personal project Team […]

A Serverless-less Story

Serverless infrastructure

Somewhere in downtown Manhattan, a combined team of VPs, developers, and operations staff nervously anticipate the open of the markets.  After going through months of testing, they are about to push their trading system into production. As scripted, the market opens and the first trade is made.  The team celebrates the big milestone and returns […]

Sentry: Understanding How Software Fails

Sentry exception trackers best solution

Software breaks in production.  When it breaks, it’s important to have all the information about how and why it broke available.  Collecting this data is often a simple task, but it’s important to choose the right tool to get the most out of your data. Simple log files The simplest way to track the behavior […]

Games of Ping-pong are Played All Over the World of Work

Creating Efficient Software Teams

That’s it, you’ve finished the big creative project you’ve been working on for weeks.  All you have to do is pass it along for feedback, before getting it out into the world.  After one week you get no response, so you send an email checking on status. Of course, your collaborator is quite busy and […]

Software is the Competitive Advantage

Software is the competitive advantage

In 2003, the Harvard Business Review published an article IT Doesn’t Matter. The argument was that since IT resources are becoming cheap and available to companies of all sizes, IT cannot be a competitive advantage. Nicholas Carr presented his case: By now, the core functions of IT—data storage, data processing, and data transport—have become available […]

Starting Software Projects with the End in Mind

Start software projects with the end in mind

There’s a lot of excitement in a new project. The code flies from the fingertips and it isn’t too long before a developer can look back in amazement at how much has been written. In these early stages of development, it is important to understand how software will be deployed into a production environment. When […]