Downtime and Docker Logging
For anyone who happened to have checked PS2 Average Login this morning, the little web-app that’s linked at the bottom right of the page, you may have noticed that it went down this morning. Of course, since this blog only has about twenty some-odd readers and they’re all spam bots being proxied through Russia, you probably didn’t notice, but still, I figured I’d explain what happened. Maybe someone will stumble across this at some point and avoid a potential issue.
Redefining Go Templates
In Go 1.6, a new template action was introduced in the text/template package that allows for both defining and executing a template at the same time. This action, block, seems at first to be somewhat pointless. Even the docs describe it as simply being shorthand for defining and then immediately executing a template, and what’s the point of that? Why would you want to execute an inline template immediately after defining it?
PlanetSide 2 Fourth Anniversary
Today marks the fourth anniversary of the launch of PlanetSide 2. Though the playerbase has certainly shrunk over the years, PS2 still enjoys fights between hundreds of players at once and hundreds of thousands of active characters per month. Though it may show its age in places and it may have a few rough spots, nothing else on the market can quite match what PlanetSide 2 has accomplished. In fact, little else comes close.
Interfaces and nil in Go
The oddity that nil interfaces can be in Go is one that has caught a number of people off guard. After explaining it multiple times on Reddit and elsewhere, I figured it would be a good idea to have an article I can refer to. Since I’m attempting to start a little blog here, I thought this might make a good first article. The problem is pretty simple. It’s very possible to have what appears to be a nil interface in Go which is, in fact, not nil.