Pages:  1 2 3 4 5
Outage postmortem: 10th of March
  Created - 2017/03/15 22:48:56+0000

My website suffered a recent outage and having identified the likely problem I thought I would do a postmortem. On the 10th of March, a Friday evening, my website stopped responding to requests. The ngnix server remained up and timed out the requests. Service resumed after restarting the Tomcat server. There is still some uncertainty but it appears the cause of the failure was the inability to get database connections from the pool. This site uses Filters to process the request and gather the inform... read more

How's TypeScript?
  Created - 2017/01/15 20:51:53+0000

I had planned to complain about TypeScript because I couldn't generate the doc the way I wanted (documentation generation matters). Then I found the flag to fix it so I decided to say something nice. Yes, TypeScript is a bit better than JavaScript. No, I'm not going to change my website to use it any time soon but that is because I'm tired of rewritting it. I had implemented a simple JavaScript library and application to poll and parse a JSON resource. Then I asked myself, why JavaScript? I... read more

I think I'm finally beginning to understand Maven
  Created - 2016/07/24 15:48:59+0000

After four years I think I'm finally beginning to understand Maven. Long ago when I started releasing projects with Maven I made a hash of it. I went through guides and tutorials and was able to release to Maven central but I had little understanding of what was going on. This is the downside to convention over configuration, less explicit knowledge about how to do things. Practically the downside is infrequent code releases as it is too much of a bother to fight Maven. Years on though I've gain... read more

Playing with web components?
  Created - 2016/06/23 20:15:54+0000

I've started playing with web components. It started with a previous post . I decided that it needed some code snippets. Recently for work I had been doing this by embedding Gists. It seemed simpler than working out a different way. It was not. Gists are embedded using document.write which is not supported for XML documents. I can't embed Gists onto my XHTML website, sadface. I had been hearing about web components for a while but did not have a use case to build one for. I decided that embed... read more

The many different builder patterns
  Created - 2016/05/15 14:38:02+0000

You may have heard of the builder pattern . It's one of the Gang of Four's original design patterns. A builder is an object that provides a method to construct an object and other methods to configure the object to be built. A builder is first configured and then used to construct an object. It sounds simple but there are variants on this pattern. The builder is often considered a good candidate for a fluent interface. A fluent interface makes the builder object easier to configure. Multip... read more