Resumes in LaTeX

Writing a resume can be a time consuming task involving many rounds of proofreading, recollection, and wordsmithing. Alongside the content, the format of a resume carries a lot of weight. Many people start out writing their resume in Microsoft Word. As their resume evolves, they begin to fiddle with settings buried deep within Words’ menus. It can become tedious. You may have heard of LaTeX. LaTeX gives you fine-grained control that, at least for a programmer, may be easier to grok than clicking through a series of nested menus....

June 9, 2023 · 6 min · Ivan Eduardo Guerra

Building and Deploying a Real-time Kernel to the Beaglebone Black

Not long ago, a project that involved a low latency app running on a Beaglebone Black (BBB)1 came up at work. The minimal latency requirement drove the decision to run the BBB with a PREEMPT_RT2 patched kernel. Luckily, Robert C. Nelson, one of the Beaglebone Black maintainers, maintains a set of scripts for building a kernel specifically for the BBB3. Among the many kernel versions offered are variants that have had the PREEMPT_RT patches already applied!...

April 22, 2023 · 4 min · Ivan Eduardo Guerra

Containerizing Runescape

If you grew up gaming in the 00’s and even into the 10’s, you probably have heard of Runescape. Even in 2023, Runescape remains one of the world’s most popular MMOs. The game has evolved significantly over the past 20-ish years of its existence and continues to have one of the most active online communities of any MMO. There’s two main forks of the game: Old School Runescape1 (OSRS) and Runescape 32 (RS3)....

January 14, 2023 · 6 min · Ivan Eduardo Guerra

Docker Assisted Driver Dev and LDD3

Where does a newbie start their journey into the Linux kernel? Device drivers is the most common answer. Despite its age, Linux Device Drivers 3rd Edition1 (LDD3) remains one of the best options for learning about device drivers. There are challenges in using such an old text. LDD3’s code examples target the 2.6.10 kernel. At the time of this writing, the kernel is at version 5.19! That said, fixing API deltas just adds to the fun....

September 18, 2022 · 7 min · Ivan Eduardo Guerra

Cosmo: A Hobby x86 OS

At the beginning of 2022, I set a personal goal to implement a bare bones OS. The first step was to define what success would look like for the project. The goal is to create an OS that could allocate a single process that adds two numbers and prints the result to the screen. It took a month long journey into the world of x86 emulators, NASM assembly, and architecture reference manuals to get remotely close....

February 23, 2022 · 7 min · Ivan Eduardo Guerra