How I screwed up my website or how to not manage your content

I enjoy running my own blog at codinginthetrenches.com because I am a technologist that likes to write. Unfortunately, sometimes my interests as a technologist get the better of my interests as a writer. This last week my competitive interests resulted in my blog being visually broken for several days. Furthermore, the competition has resulted in a few select articles being mis-formatted and visually broken for much longer than a week. Today’s post is about what I’ll be doing to avoid these problems and how they can apply to your own writing platform. ...

September 24, 2016 · Michael Hughes

Agilefall: gracefully delivering (some part of) a project on a fixed deadline

IT consulting is an odd place to be when it comes to software engineering practices. We often end up writing software for business groups that have fixed budgets and more importantly fixed deadlines. We also try to follow an agile methodology for software development that roughly follows scrum (warning: PDF), but with defined roles for a project manager and a development lead. Today’s post discusses some of the difficulties seen in using Agile to deliver business software and how we can mitigate those difficulties, basically things that worked and things that didn’t. ...

November 30, 2014 · MichaelHughes

Project War Rooms: How many ways can we interrupt each other?

Being an IT consultant has occasionally had me working in unusual or cramped quarters at client offices, the result of being hired help instead of a full time employee. One type of psychical situation I have ended up working in a few times is something we called “the project war room.” ...

September 27, 2014 · MichaelHughes

Interface mania: Considering when to add an interface for class.

Something introduced fairly early in programming courses is the concept of an interface. In practice interfaces help to define the boundaries between components of a system, define the behavior of underlying implementors of the interface, and make it easier to switch implementations of said behavior down the road. Today’s post offers a few thoughts on where interfaces should and should not be used. ...

September 26, 2014 · MichaelHughes

Java ArrayList resize costs

Today we will look at whether it’s worth developer time to pre-size ArrayList objects in Java application code. We will take a similar approach to the one taken in a prior post on how long it takes to handle an exception in Java. ...

September 11, 2014 · MichaelHughes

How long it takes to throw an exception in Java

Today post is exceptional, we’ll take a brief look at the time cost of throwing and re-throwing exceptions and put that time cost in context. To be specific, we’ll look at the timing information for a set of exceptions which might be found in a typical 3-tier business application. In our example the exceptions are thrown and caught in hierarchical order in order to promote separation between the tiers of the application. ...

September 1, 2014 · MichaelHughes

Dumb appliances and smart devices

I saw an advertisement for a ‘smart’ laundry machine yesterday. The washer was smart because it came with the capability to connect to a wireline network and phone back to the manufacturer for updates and service information. I have seen similar smart refridgerators that also can connect to a local network for internet access. As an idea this seems great, it’s all part of the internet of things concept where our devices are all intelligently interlinked. I’m going to make the argument that smart appliances unlike smart devices is a bad idea. ...

May 14, 2014 · MichaelHughes

The importance of structured cloud deployments

One of the advantages of operating in an environment like AWS or Azure is the ability to template and programmatically deploy both infrastructure and application platforms. This advantage is sometimes overlooked in place of a more adhoc deployment model where resources are created as needed. Today’s post provides brief commentary on some of the advantages of handling deployments in a more structured manner. ...

May 3, 2014 · MichaelHughes

Get a specification and turn it into user stories

I just wrapped up working on a month long project planning phase with a new customer. We gathered user stories, made technology selections, built proofs of concept, and generally got to know the customer’s business. What was interesting about this planning phase was that we started with a detailed product specification and worked backwards to define user stories and acceptance criteria for the project. While at first this may seem like a waste of time, it was actually extremely valuable to all parties involved. ...

April 20, 2014 · MichaelHughes

.NET custom cultures and SQLServer Reporting Services

The Re­portView­er control that Microsoft provides to display SQLServer Reporting Services reports in ASP.NET web ap­pli­ca­tions does not support custom cultures. There doesn’t appear to be any good, or easy work around for the lack of custom culture support. Fur­ther­more, it appears that the Reporting Services team is intent on continuing to use locale IDs to identify .NET cultures instead of culture names regardless of the preferred method of iden­ti­fy­ing cultures in .NET being by name. ...

April 4, 2014 · MichaelHughes