WHY I HATE GOLANG

Over the years, I’ve used many programming languages, starting with Fortran and Algol (yes, I’m that old), up through C, C++, Java, and, these days, Python and Rust. As a general rule, I don’t have strong opinions about whether this language is better or worse than another. Mostly, I just use what’s right for the project - if it’s a Java shop, I use Java, if it’s a fairly quick one-off, I’ll maybe use Python or Ruby.

NETWORK MONITORING WITH RASPBERRY PI

I’ve had a LOT of issues, over the last few years, with my Internet service. One of the most annoying things (of the many annoying things) in dealing with Internet service providers (cough Xfinity cough), is convincing them that, yes, there is actually a problem. Recently we had an issue where our internet would go out for up to 10 minutes at a time randomly, often several times a day. Because it’s random, when we got the service person out to look at it, it, of course, worked perfectly while he was here.

LOCKS I HAVE KNOWN...AND PWNED

I’ve been doing lockpicking as a “sport” since about March of this year. Back when I lived in Austin, I got a cheap lockpicking set and played around with picking the locks on the house I lived in. I’m not exactly sure what drove me to start doing that again, but, I gotta say, it’s a lot of fun (not to mention a great way to keep your hands busy when you’re in a meeting - needless to say, I work remotely).

IT'S...ALIVE!!!

So, I’ve let this blog languish for, jeez, 7 years now. Part of that was because I started a new job at the time (which I’m still at), which at the time required a lot of my attention, not to mention my daughters being younger and requiring more time. It’s also partly because I’m not really a social person - I can certainly give people the impression that I am (aka “protective coloration”), but expressing myself in social situations (i.

I'M NOT DEAD YET

Just about a year and a half ago I decided it was time for a change, so I started looking around for something new. Not just a new job, but something that would take me way out of my comfort zone as a developer. This was partly because I had spent the previous few years working with some good friends of mine who were old farts like me, and I’d started noticing something.

HOBGOBLINS AND DATA STORES

“A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." - Emerson Continuing with my ideas from the other day, I wanted to move from the abstract to the more concrete, which is to say that I wanted to talk about what such a system would look like. To begin with, let’s assume that this system is a fairly large-scale distributed system, so that, were we to design it the way such things are typically designed these days, we would probably have some sort of cache between our business logic and the data layer (say, Redis or Memcached).

QR CODES FOR STORING PRIVATE KEYS

So, storage of private keys is a problem. Just storing it on your computer isn’t such a big problem - hopefully, you’re storing it encrypted using software whose encryption you trust. However, backing them up - that’s another issue. Do you trust storing them in the cloud? I don’t. Do you keep them on a backup disk or USB dongle? What if they fail? After looking over the options, I found this post at the ever-excellent StackExchange.

A FOOLISH CONSISTENCY...

How do you scale a computer system? It seems like such a simple question. Of course, to a certain extent, it is - if you’ve designed the system properly up front. By this I mean that, if you’ve broken the overall system down into components which are a) decoupled as much as possible, and b) as internally cohesive as possible. However, when it comes to distributed computer systems - ones with, say, a UI, a bunch of business logic, and a database - it somehow becomes much more complicated.

THE GHOST IN THE MACHINE

So, I’ve moved my blog over to Ghost from Octopress. I did this for a few reasons. My main reason for wanting to move away from Octopress was that updating my blog was getting to be a huge pain. You have to run a rake task to create the markdown page, edit it in a markdown editor (which never looked right because of the metadata that it insists on putting at the top of the file), and then run another rake task to generate the site, run another task to preview it, and then run yet another task to deploy it.

REST BY ANY OTHER NAME...

I’ve done quite a few interfaces which I’ve referred to as "RESTful", because I’ve done what most people call "REST" - using HTTP as the transport, modeling everything as resources, and using the HTTP verbs (GET, POST, PUT, etc) to access the resources. I mostly wanted to do REST because the alternative, SOAP, was so onerous - it required translating a WSDL document to proxies, serializing and deserializing error objects, and, worst of all, was a nightmare to version.