What's a package manager?

If you’ve heard the term package manager, especially with GitHub announcing their own, you might be wondering what exactly it is. Well, it’s a way to find, reuse, and share code, among other things.

  Oct 3, 2019 (rev. Oct 11, 2025) ·  5 min

What is GraphQL and how does it differ from REST?

GraphQL is an alternative for REST, not a replacement. Let’s take a brief look at how they differ.

  Sep 21, 2019 (rev. Oct 11, 2025) ·  3 min

What is minification vs obfuscation?

Mozilla announced they’ll no longer accept extensions with obfuscated code. It’s good news for users, maybe not so much for developers. Obfuscated code is (intentionally) nearly impossible to understand, and could easily be malicious. Let’s unpack and break down a few concepts.

  Jun 14, 2019 (rev. Oct 11, 2025) ·  6 min

Modify a config file in Erlang

Modifying an Erlang config file at runtime wasn’t as easy (or obvious) as I’d thought it’d be. So I wrote a script to hopefully make it easier.

  May 16, 2019 (rev. Oct 11, 2025) ·  4 min

Using an application config file with a .NET Standard app and NUnit 3

Porting .NET Framework code to .NET Standard has been a learning experience, with some challenges too. This time I had a .NET Standard library that expected an application config file, but loading one from an NUnit test suite proved to be more difficult than it sounded at first.

  Apr 15, 2019 (rev. Oct 11, 2025) ·  6 min

Using a constant as a DateTime format inside string interpolation

I was upgrading some code to use string interpolation, a feature introduced in C# 6, when I ran into a small snag with DateTimes and a format string stored as a constant.

  Apr 4, 2019 (rev. Oct 11, 2025) ·  2 min

Using Attributes in C#

Ever thought it’d be convenient to attach metadata to your code at design time, then read it at runtime? Attributes let you do just that - to methods, classes, tests, enumerations, and more. Use reflection to read them at runtime and take some action. Here’s a few examples for the uninitiated…

  Apr 4, 2019 (rev. Oct 11, 2025) ·  10 min

Opening the developer console in every major browser

Most people will never even know their browser hides a great set of tools, mostly used by web developers, but which can be useful for anyone trying to figure out why their browser is misbehaving.

  Mar 26, 2019 (rev. Oct 11, 2025) ·  3 min

Keep your EUnit teardown logic as simple as possible!

Ever had an EUnit test fixture fail with meck reporting it was “already_started”? Well I did, and here’s why…

  Mar 14, 2019 (rev. Oct 11, 2025) ·  6 min

Common dialyzer errors and solutions in Erlang

When dealing with a dynamically typed language, any effort to tame the beast can pay off. For Erlang, that means Dialyzer specs. The more specs added, the more helpful the tool becomes - but getting to that point can be painful. Here are some warnings I’ve seen, what they mean and how I solved them.

  Feb 9, 2019 (rev. Oct 11, 2025) ·  11 min