Finding Your Linux Version with uname and lsb_release

Ever wonder what Linux version is running on your machine? I commonly connect to friend's machines, or to one of my servers and I have no clue. This can make a huge difference, as some distributions use apt, and some use yum. There are two super helpful commands to accomplish figuring this out.

In this article, we're going to cover uname, and lsb_release.

Read More

Web Phone Links

Phone numbers, everyone knows what they are. Everyone has tapped or clicked on at least one online, and noticed that it automatically pops open the phone app with the number ready to dial.

There are some interesting features of online phone links, that when used properly can make them much more useful. In this article, we'll dive into phone number links online.

Read More

Undocumented APIs

Because I always love to push the envelope, and love learning how different services work in the background, I find myself running into undocumented APIs fairly regularly. Through writing many random bots, I've come up with a pretty nice workflow for handling, and documenting these APIs.

This article is going to cover how I typically go about the endeavor of documenting unknown APIs.

Read More



We've all seen one of these two BIOS screens upon starting a computer:

American Megatrends BIOSAward BIOS

On the left is American Megatrends' BIOS, on the right is Award's BIOS. These are the two main BIOS manufacturers, and they have almost complete marketshare when it comes to firmware on laptops and desktops. Most newer machines don't show these screens anymore, but they're typically still running one of these two pieces of software. I'm going to cover what these two pieces of software do, and an alternative to these.

Read More


Unicode is one of those things people don't commonly think about, but benefit from immensely. To explain why Unicode was necessary, we need to look back at the early days of computing.

Before the 80s, if you owned a IBM mainframe, you were pretty much stuck only buying IBM computers. The reason for this is that IBM computers could only talk to other IBM computers, due to there being no "standard" way to encode characters. This meant that even files made on an IBM likely couldn't be read by competitor's machines.

Read More

Why try Python first?

As an IT guy, I get it. Learning a programming language can be daunting from an outside view. However, I feel that everyone in today's age should learn a language at some point. I hold this opinion due to how useful it can be in my daily life.

Although everyone who knows how to program has a recommendation on which language to learn first, I'm a strong advocate for the first language someone learns to be Python. I'll get into some of my reasons for this here.

Read More

Building a Linux Kernel

I find myself fairly regularly hearing about new features in the Linux kernel (the core of Linux operating systems), getting excited, and checking to see if my distribution's repository of packages has the latest kernel built. Unfortunately, Ubuntu's repositories don't have the most recent versions of the kernel available for some time.

Fortunately, the Linux kernel is open source, so we can freely download the kernel's source code, compile it, and install it.

This article details the steps necessary on a fresh install of Ubuntu 19.10 (Eoan Ermine).

Read More

ZFS: A Resilient File System

Why Is ZFS Needed?

As "cloud computing" has required ever growing needs for storage capacity, there has been a need for larger and larger data stores, which has led to the development of ZFS.

Since ZFS has been developed with enterprise use in mind, there are many unique features that have been worked into it. In this article, I'm going to share some details about this filesystem.

Read More