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.

Continue reading Undocumented APIs

Coreboot

BIOS

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

American Megatrends BIOS
Award 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.

Continue reading Coreboot

Unicode

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.

Continue reading Unicode

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.

Continue reading Why try Python first?

How to Build and Install a Linux Kernel from Source on Ubuntu

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 get new kernel versions for a long time. Ubuntu 24.04 LTS still ships a 6.8 kernel, while kernel.org is on 7.2 as I’m writing this.

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

This article walks through building the current stable kernel on Ubuntu 24.04 LTS (Noble Numbat) and installing it as a normal .deb package. The same steps work on Debian and most other Ubuntu releases. (I originally wrote this for Ubuntu 19.10 and Linux 5.4 back in 2020, and updated it in 2026, since several steps no longer work the old way.)

Continue reading How to Build and Install a Linux Kernel from Source on Ubuntu

ZFS: A Resilient File System

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.

Continue reading ZFS: A Resilient File System

OverTheWire Bandit Part 2

In my last post, I walked us through connecting to OverTheWire’s Bandit server, and completing level 0 and level 1. Following along with the previous article is a prerequisite to following this article, as you’ll need to get the password from the file in level 1 first.

You can view my last post about this by following this link.

Continue reading OverTheWire Bandit Part 2

OverTheWire Bandit Part 1

OverTheWire is a website with two games. One is “Wargames”, which is a level based game, the other game is “Warzone”, which is more of a free-for-all hacking game.

In this series of articles, I’m going to give a walkthrough of how to complete the “Bandit” series of levels on their website.

Continue reading OverTheWire Bandit Part 1

Hack The Box Intro

Hack The Box is a website that gives people a great place to test their penetration testing (hacking) skills. They have a selection of different machines available that are vulnerable to different types of attacks. This site uses the capture the flag scoring mechanism, where you hack machines, get a “flag” from them, and submit it to their site for points.

In this article, I’ll cover how to make an account on HTB.

Continue reading Hack The Box Intro