Personal Information


Marcus Adams


Kentucky, United States



GnuPG / OpenPGP Key


IRC: My username is Gerowen, and I occasionally hang out in #debian and #debian-offtopic on OFTC and Liberachat to help new users if I can.

About Me

I first started using Linux back in 2005 when I was a senior in high school transitioning into college. At that time I was introduced to Mandrake Linux, and a love affair with Linux began. Over the years I've bounced around using Mandrake/Mandriva, Fedora, Ubuntu and eventually landed on Debian as my full time operating system of choice. I've been running Linux exclusively for years, and even my wife refuses to have anything but Linux on her personal computers now. I like engaging with the Linux community and giving something back to the community that creates the products I use in whatever way I can, so I tend to visit the forums, the IRC channels, etc. to offer help whenever I can. I'm not an expert programmer, so I'm not in a position to offer professional assistance in maintaining Debian or Linux, but I do occasionally write my own scripts/programs to fill a personal need that I have, and when I do I try to share it with the community. There are a few of them I've expanded on and actually uploaded to ?SourceForge (links and descriptions below). Since I cannot give back to the community as a programmer, I try to help out new users in the forums and IRC channels with technical/sysadmin problems, and on occasion when I feel it's appropriate I have converted people to Linux and supported them after the fact to ensure a smooth transition to a free operating system.

Debian Wiki Pages Created

Audio Loopback Recording with PulseAudio


OBS Studio

Technical Experience


From early 2007 until late 2012 I worked as an Information Technology Specialist with the U.S. Army. I served as the primary IT guy for a brigade size element. I deployed to Iraq one time for a year. During my time with the Army, I was attached to a brigade of combat engineers, which meant that if it had to do with computers, I was "the" guy, whether that meant managing ?SharePoint, shared folder resources, Active Directory, client system updates, running cable, enforcing training standards, developing policies, managing the help desk, or coming up with a way to keep our server room in Iraq properly ventilated in 130 degree weather until we cleaned the sand out of the air conditioning unit. I also worked for a university, prior to my service with the Army, where my primary duties were to repair and troubleshoot laptop computers.


I have run miles and miles of Cat5/Cat6 cable, terminated it both in patch panels and with RJ-45 connectors. I have built servers from the ground up including both the physical construction, and installing and configuring their operating systems. I have built PCs from the ground up, and I have replaced components both in PCs and in server systems.

In my free time I operate a CB radio base station where I cut and terminate my own cables and maintain my own radio equipment, and have a good grasp on radio fundamentals.


I have experience with Windows Server 2003, Microsoft Exchange 2003 and 2007, Microsoft ?SharePoint, Windows and various flavors of Linux. I have some experience with software RAID in both Linux and Windows. I have set up and configured Windows domain controllers, Windows and Linux webservers, Windows and Linux DNS servers, Windows and Linux print servers, Windows and Linux FTP servers, Windows telnet services, and Linux SSH services. I have configured switches, and was at one time awarded for troubleshooting and correcting a connectivity issue that prevented two networks thousands of miles apart from communicating. I have a good working knowledge of basic networking fundamentals and have experience actually doing a lot of it. I have some basic knowledge of Python, BASH, and HTML. I regularly develop scripts/programs to automate everyday tasks for myself using these languages.

SourceForge Projects


Project Page

?PingChecker does exactly what it sounds like, it checks for the responsiveness of machines on a network. It takes input from the user either directly via an entry dialog, or by reading a text file, pings all those targets in order, then saves and reports the result to the user. This project started out when I was still an IT specialist in the Army. I fell in on an established network with hundreds of machine names in our active directory OU, many of which were no longer valid because of name changes over time from replacement hardware, OS upgrades, etc. I wanted to clean up the OU so that only working machines were listed, but I didn't want to go walking all over base to every machine to get their names, so I wrote this so that I could just generate a plain text list of hostnames from Active Directory and use that as input to ping every hostname in our OU and have the results automatically saved when it was done so I could start compiling a list of names that did not respond to ping over the course of a week or two.


Project Page

?PyCheck is a graphical Python program I wrote to make it quick and easy to verify checksums by comparing a file to an original copy of a file (such as if you copied it between two hard drives) or by entering a known checksum (such as when you download a file from a site that provides them). It originally started out as just a Bash script that used Zenity, but some of the zenity dialog boxes were obnoxiously large if they had very much text in them, so to get around that issue and to make it cross platform (it runs on Windows and Linux both) I re-wrote it in Python and used the easygui front-end to python-tk to draw graphical dialog boxes.


Project Page

?PyNuker is a stress testing tool written in Python that sends a plain/clear text message in a UDP packet to a specified target on a specified port as fast as possible in an effort overload the target machine with so much useless network traffic it stops responding to valid requests. I originally wrote this as an experiment. I needed a stress testing tool to track down an issue I was having with a router, and I thought it would be cool to write my own.


Project Page

?YouTube-DL-PyTK is basically a graphical launcher/front-end for youtube-dl written in Python. At the time that I wrote it I couldn't find any easy to use graphical options to download ?YouTube videos on Linux that weren't ad laden browser addons, and my wife wanted something that would be easy for her to use without having to open a command terminal. It is written in Python and uses the easygui front-end to python-tk to draw graphical windows, so having tkinter is a pre-requisite. I wrote it to be cross platform so it runs on both Linux and Windows, and the respective versions of youtube-dl are included so you don't have to install that separately. I even compiled the Windows version and packaged it into an installer so you don't even have to have Python installed (source code is included though if you want to read it).


Project Page

Mupen64Plus-PyTK started out as an effort to automate running the Mupen64Plus Nintendo 64 emulator. Years ago Ubuntu (and Debian I think) had a graphical front-end that got installed with Mupen64Plus, but it disappeared and, at the time at least, there were no viable alternatives. So, I wrote my own little launcher/front-end to make it simple for users to configure and use Mupen64Plus. It asks a few basic questions, stores those choices in a configuration file and lets users play their games. It replaced what was missing for me, a one click icon that would ask me what game I wanted to play and then launch it.


Project Page

WPA2Gen is a simple program to help you generate secure passwords for your wireless network and optionally save those credentials either to a text file, or to a QR code that can be scanned by mobile devices to simplify the setup process. It is written in Python.


Project Page

QRTxt is a simple tool that will convert any string to a scan-able QR code. I wrote it because the one tool I found on flathub just crashed outright if you gave it too much input, and I had no idea "why" it had crashed, so I set out to write my own tool that would give some feedback to the user if they provided excessively long strings instead of just closing outright with no explanation. It is written in Python.