Thoughts on Whatnot

A blog about .

Composition vs. Inheritance

There’s a situation that, while it doesn’t happen too commonly, annoys me when it does happen. Someone comes to Reddit, or golang-nuts, or somewhere else, and asks about the often repeated refrain about composition vs. inheritance. Sometimes, they get the right answer. Sometimes, someone makes some out-of-nowhere remark about embedding. The problem is that embedding is not in and of itself composition. It can be used in composition, but composition is not a syntactic or behavioral choice in the language; it’s a design pattern. Read more →

Go Plugins

The release of Go 1.8 inches steadily closer, bringing with it many interesting and useful features and improvements, including shorter compilation times, an even faster GC, and, my personal favorite, initial support for plugins. Plugins, essentially Go’s version of C’s dlopen() and related functions, are an interesting one. The ability to dynamically load packages at run-time has been one of my most wanted features in Go since I first figured out how interfaces work. Read more →

A Quick Rant about MonoDevelop

So, for the last couple of months I’ve been working on a project for school which has required me to use MonoDevelop. I first used MonoDevelop around 9 or 10 years ago or so when I was using C# fairly regularly. Back then, I remember MonoDevelop being a fairly competent, if somewhat limited feature-wise, Linux and GTK# alternative to Visual Studio Express and Windows.Forms, so I wasn’t particularly worried about using it for this project, despite not having used it in a while.

Apparently, I should have been.

Read more →

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. Read more →