Categories

Tags

All Articles

reflector.service exists in filesystem (owned by reflector-timer)

I’ve been a bad Arch Linux user recently. Even though I speak highly about being able to run the most cutting edge software, I’ve been slacking and didn’t run an update for a while. This was primarily because I didn’t really feel like having to figure out any problems that […]

VPS Showdown - September 2020 - DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

Bringing things back around to the price point that I had started with many moons ago, the $20 plan. While the lower priced systems are sufficient enough for a lot of use cases, moving up to a meatier server instance can provide instant performance gains, give you better priority on […]

Looping through an array in shell script

Generally speaking, when I need to work with an array or dictionary type of variable, I tend to reach for something other than Bash / shell scripting. This primarily stems from the fact that Bash didn’t support arrays until version 4.x and when I first learned about them, macOS (then […]

How to comment source code

One of the biggest offenses that I’ve seen over my entire software engineering career is a total disregard for code comments. I don’t subscribe to the idea that code should be self documenting. I do believe that human are inherently forgetful and code left undocumented is code that will bite […]

Splitting a string into two variables

Even though the command-line is like my second home, I still fall short in terms of being able to some basic things. This is primarily because they just don’t come up that often so when I do figure out how to do it, I just don’t retain what I’ve learned. […]

How to get the default git branch

As the world has been shifting away from using terms like master and slave in technology, I was left wondering what the heck I was going to do about my git aliases that relied explicitly on the word master. git itself makes it really easy to swap the default branch […]

VPS Showdown - Germany - August 2020 - DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

Starting to feel like I’m taking a virtual vacation as I test out different data centers each month. This month we step into Europe to explore Frankfurt. Next month may end up taking us to Australia, but head’s up, not every provider has a data center there. Usual setup this […]

Allow dots in paths with webpack-dev-server

Generally speaking, I don’t use dots (periods, full stops, whatever else they may be called) in the URI for a website. That was, until I made the . an allowable character for user names on one of my projects. Allowing the character was a big deal at all with Express.js […]

How to get the first and last item from an array in MongoDB

One of the great features of MongoDB is the ability to store an array in a document. While I’m fully aware that there are issues with storing unbounded arrays in MongoDB, due to document size limitations, there are times when you may want to store data in an array that […]

swapon: swapfile has holes

While I do absolutely adore Arch Linux, it wouldn’t be Arch without running an upgrade and having a problem crop up out of no where. This time around, the issue showed up after a reboot when I saw the following error scroll past before I was presented with the GNOME […]

VPS Showdown - Singapore - July 2020 - DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

By request, we’re revisiting the Singapore data centers for this month’s VPS Showdown. Incidentally, while not part of the benchmarks currently, Linode did expand their S3-compatible Object Storage to the Singapore data center. They also turned 17 in mid-June with their usual slew of announcements, and upgrades for existing customers. […]

Load pubkey "/path/to/private.key": invalid format when using SSH

Been hitting the lottery with system upgrade related issues as of late. The latest come in the form of ssh barking about an invalid public key when connecting to a server. This wasn’t happening on all of my servers, just one in particular. Also, it wasn’t actually stopping me from […]

How to set the background color of a Google Chart

As luck would have it a Google Chart I had created some time last year, which was looking great for a while, recently decided that the background color of the chart itself was going to switch from the color I had set to the default color, white. This was quite […]

Fixing an Arch Linux system missing vmlinuz

I run into my fair share of “gotchas” as an Arch Linux user. I also stand firmly that I’ve always ran into my fair share of “gotchas” running Linux in general. In fact, I’ve even run into my fair share of “gotchas” on both macOS and Windows systems, so maybe […]

Unable to upgrade ttf-google-fonts-opinionated-git on Arch Linux

From time to time a routine upgrade on Arch Linux ends up causing me a bit of grief. Fortunately, I do like a bit of chaos from time to time and the opportunity to solve problems is why I got into software engineering to begin with. This particular issue was […]

VPS Showdown - June 2020 - DigitalOcean vs. Lightsail vs. Linode vs. UpCloud vs. Vultr

After a few months of without Lightsail and UpCloud, it’s time to bring them back into the fold and subsequently roll back to benchmarking on Ubuntu 18.04 LTS instead of 20.04 LTS. That said, the only provide that doesn’t support the latest and greatest version of Ubuntu is Amazon Lightsail […]

Increase memory limit for Composer

Gone are the days of stitching together disparate services in an effort to create a solid continue integration and deployment pipeline. GitLab has had it’s Runners for a while and recently GitHub stepped into the mix with their Actions offering. Because of this, using external services like Travis CI or […]

How to escape curly brackets in Liquid templates

My blog is generated by Jekyll. Jekyll uses Liquid for it’s templates. I include a decent amount of source code in my articles and sometimes the syntax collides with Liquid’s own syntax. Then this happens: Liquid Warning: Liquid syntax error (line 34): Expected end_of_string but found comparison When that, happens, […]

Only run step for specific version with GitHub Actions

With my recent exploration of GitHub Actions, I’ve had to figure out things that I’ve already figured out with other systems like GitLab Runners and Travis CI. One such thing is conditionally running steps. For things like code coverage, I’m only interested in sending off the coverage report to the […]

Hiding scroll bars while maintaining scroll functionality in modern browsers

As I’ve been rebuilding my social network from the ground up recently, I’ve been extremely mindful of the fact that 60% of my users are experiencing the site on a mobile device, specifically phones. Because of this, I’ve been attempting to craft a user interface that functions nearly identical on […]

Moving from only syntax to rules syntax in GitLab CI/CD v13.x+

Saw a recent announcement from GitLab that the only and except syntax for GitLab CI/CD was going to be deprecated soon in the v13 release. Amendment: The only / except syntax isn’t actually being deprecated as pointed out by Jason Yavorska. It’s actually related to a template that is deprecating […]

The repository does not have a Release file on older Ubuntu releases

Recently I working on some posts on how to upgrade to Node v14.x on a variety of different versions of Debian and Ubuntu. The big gotcha came with trying to get things running on versions of Ubuntu that were at end of life and no longer receiving security updates. The […]

Replacing text in multiple files with sed

My buddy Justin FINALLY got his website back up and running after “accidentally” letting his domain lapse. On a new domain, of freaking course, which unlocked a task on my TODO list as I needed to update a bunch of broken links on my site to point to his new […]

Replacing multiple strings with sed

While I’m the guy that effectively lives on the command-line, I still rarely use sed. As I’ve been trying to use it more, I’ve run into some gotchas, mostly around the regular expression syntax and doing multiple replacements at one time. Fortunately, both are easy enough to accomplish. Doing multiple […]

VPS Showdown - Germany / Ubuntu 20.04 LTS - May 2020 - DigitalOcean vs. Linode vs. Vultr

Yes, another month’s post with less providers. For good reason though, as Ubuntu 20.04 LTS was recently released and I wanted to give it a whirl. Amazon is fairly notorious for being late to deliver new operating system releases, but the shocker was that UpCloud was also not offering up […]