Mathias Gibbens is a Research and Development Senior Software Engineer at Sandia National Laboratories in Albuquerque, NM. He works on projects that have a significant impact on our Nation’s safety and security. Day-to-day this involves wrangling complex distributed systems, analyzing algorithm performance, and judiciously optimizing critical paths in code. He received his MS in Computer Science from the University of Arizona, and his BS in Computer Science from Bethel University. Outside of work, Mathias is a proponent of Free and Open-Source software, enjoys flying airplanes on the weekends, and is active in the Amateur Radio community.
I enjoy working with computers, mostly on the software side, but I do have some experience working directly with hardware as well. I’m a proponent of open source software, and proudly run GNU/Linux on my personal computers and servers.
In a few short weeks, I had devoured that book, and a little while later had Perl running on my Windows 95 machine (hello ActiveState Perl!). Then I returned to Programming Perl, and I was able to understand more of the first chapter. Both books occasionally mentioned this thing called “Linux” and how you could create web pages with Perl if it was on Linux. So I tired to get Linux on my computer. It turns out this Linux thing was an entire operating system, and not a program! With some help from my Dad, we got a copy of Red Hat Linux 5.1 installed on an old computer. From there, I played and learned, and as they say, “the rest was history.”
My High School years were an interesting mix of exploring any and everything Linux related while having a chance to actually try real-life deployments. My father was doing some volunteer technical support for a small, local K-12 school, and I tagged along. Over time I picked up more and more responsibility until by the start of 11th grade I was acting fully as the sysadmin for the school. It provided a lot of practical, real-life experience and a proving ground where I could try things I was reading about.
Some (technical) High School highlights:
- Replaced an ancient Windows NT server with a full LAMP stack running on Debian. This included a Windows domain controller via Samba and automatic, verified backups. The server ran beautifully, largely without requiring manual intervention, for the better part of a decade.
- Configured and deployed a custom install image of Windows XP across thirty some PCs that pre-configured all needed software and settings, rather than installing each machine one at a time like had been done before. (Goodbye massive checklists to ensure each machine was setup (almost) the same way!)
- Playing with virtualization of OSes using Innotek VirtualBox (yes, it was still Innotek when I started!)
- Teaching myself more and more about Unix-type systems, largely through trial and error. But, custom-compiling the Linux kernel is a great way to understand how things work and cut your teeth on C.
Upon entering College, I knew I wanted to major in Computer Science, and with my prior experience the first year’s classes were pretty easy. I was also working part time at the school’s IT Help Desk. At that time, the University’s IT department used an in-house webapp to track tickets and tasks, and it was very customizable, including CSS for displays. I ended up writing a Perl script that lived on one of the CS Department servers which would dynamically generate CSS to customize my display with various colors and displayed information depending on ticket priorities and other properties. This worked great for a few weeks, until I got an email from one of the sysadmins saying they had noticed I was making hundreds of logins to my account each day, and tracked it down to my script. “Cool, but please stop” was the gist of the email. So I did, and a couple of months later that logic was reimplemented and greatly expanded in a custom FireFox extension that gained some moderate adoption in the Help Desk ranks.
However, this event did put me on the radar, and a few months later I was offered a part-time development role with the University’s web team. This was an incredible opportunity as I started my sophomore year, and I learned just as much on that job as I did in my formal classes. We did most of our work with a Python CMS, Silva, a very powerful (for its time) CMS; unfortunately it seems that project is dead now. I also got good hands-on experience with clustered system deployments and rolling updates.
Other interesting projects from my college years:
- Successfully completing a Linux from Scratch system within virtual machines, and then layering over RPM packages resulting in a very simple Linux distro
- Performing custom builds of the dd-wrt firmware to incorporate 802.1x client authentication to allow directly attaching my own WiFi access point to my dorm’s Ethernet port
- High-volume processing (hundreds of thousands of records) of Point-of-Sale data via
pdf2textand regex magic, then dumping the data into structured SQL databases. Originally part of a class project, but this grew beyond a single semester and was eventually used by the school’s food service to increase their statistical analysis abilities.
Grad School and Beyond
In grad school my research focused primarily on big data MapReduce type computations utilizing the Hadoop platform as well as novel networking protocols, such as NDN. I also maintained, updated, and deployed numerous Xen-backed VMs which were used by students in my lab. Other research projects I was on included working with embedded sensors, and building custom Android firmware images for common phones to enable various user studies.
Outside of school:
- In early 2014, migrated to using LXC rather than full VMs for virtualization. Found an early critical bug in lxcfs (report, fix), as well as reporting other early issues running unprivileged containers on Debian hosts.
- Related to my work with LXC, I maintained in a private repo cherry-picked patches from the Ubuntu kernel package for enabling additional AppArmour and user namespace features that weren’t in the Debian kernel. Thankfully these are no longer needed for a nice out-of-box LXC experience on Debian systems.
- For a while I also ran a grsec-patched kernel on my servers. Those patches were a little harder to work with, but not insurmountable. It was an informative couple of years doing that, and interesting to see how published vulnerabilities in that time were foiled by grsec. Ultimately I stopped that experiment, and then unfortunately the public patches were removed by upstream.
- Became familiar with Debian’s packaging conventions, as well as rebuilding, patching, and updating existing packages to fit my needs. Also reported a handful of bugs to Debian/upstream.
- Obligatory mention of the RaspberryPi – I’ve got a handful, and use them for retro gaming, running my Amateur Radio station, WsprryPi, and other random small experiments
- Lots of experience building Docker images and then using them within Kubernetes clusters
- Currently a Scrum Alliance Certified ScrumMaster
- Submitted my first official package for inclusion in Debian; currently waiting on a RFS
First licensed as K0WBG in June of 2014, I have been active in the Amateur Radio community ever since. My first real introduction to the hobby was the University of Arizona Amateur Radio Club. It is an active and inviting club, with a really nice club station and equipment that is available for members to borrow. I served first as Treasurer, then as the club President through to the end of my time at the University of Arizona. Upon moving to Albuquerque, I joined the Amateur Radio Caravan Club (currently serving as the Special Events Director) and the High Desert Amateur Radio Club. Beginning in 2019, I started serving as the Treasurer for the Duke City Hamfest and Convention.
While living in Tucson, I became an active Volunteer Examiner with the Radio Society of Tucson’s Laurel VEC affiliated testing team. In addition to regular free monthly testing, we also held special test sessions, such as for students in the University of Arizona’s Electrical Engineering department. Coming to Albuquerque, I have maintained my Laurel VE accreditation with a local team here that focuses on training first responders, search and rescue, and other non-profit groups. Through the High Desert testing group, I am also an active ARRL VE.
Throughout my time in Amateur Radio, I have done a lot of things, and there’s still more to come:
- Assisting with a July 2015 ARISS contact
- Porting existing Fortran code for WSPR to enhance the capabilities of the WsprryPi program
- Establishing multi-mile wireless high-speed TCP/IP network links with AREDN
- Making contacts around the world with voice, SSTV, PSK31, and a variety of newer digital modes such as FT8
- Participating in Field Days from the top of Mount Lemmon in Arizona to State QSO parties from the Petroglyph National Monument in Albuquerque
- Speaking with people via bouncing signals off of a satellite using just a handheld radio
- Becoming dangerous enough with a soldering iron to be able to disassemble just about anything
You can visit k0wbg.com for more details about my Amateur Radio activities.
A cool bonus of my job is access to the Kirtland Flight Center located on Kirtland AFB. I hold a FAA Private Pilot certificate, and have a blast flying their airplanes on a frequent basis. Flying is a lot of fun, and in many ways I prefer it to driving. Up next will be working on my instrument rating and trying to visit as many airports in New Mexico as I can.
Another long-term interest of mine has been space, both manned and unmanned, and the exploration and discoveries that are happening. We have learned a lot in the past, and will continue to learn even more about the Universe we live in as we continue to explore. If you’ve ever visited my place, you’ll have noticed some of my space-themed decorations. A few select highlights:
- Watching every space shuttle launch live via streaming from about 2002 through to the last mission in 2011 – including one time in college when I got the professor to interrupt lecture for 10 minutes so we could all watch live in class
- Watching the launch of New Horizons and then tracking its progress towards Pluto during the multi-year cruise
- Observing the total solar eclipse on August 21, 2017 from the Homestead National Monument with Bill Nye and 30,000 of my closest friends
I also enjoy playing the occasional video game, although I’m usually a few years behind the curve and gravitate towards puzzle type games with a good plot over shoot-em-up games. A few of my favorites:
- SCUMM classics like The Secret of Monkey Island I & II, and Indiana Jones and the Last Crusade
- RollerCoaster Tycoon (if you haven’t seen it, go checkout OpenRCT2!)
- Portal 1 & 2
- The Talos Principle
- The Witness
- Age of Empires II