Recent Technological Tinkering

The last few years have been pretty crazy. In addition to the COVID-19 pandemic that the world has been dealing with, I’ve had a lot of things going on in my personal life that have kept me quite busy. While the main focus of my blog here is history, from time-to-time I like to give an update on the things I’ve been exploring in the technology world – mainly because it’s one of those things that my boys and I love doing together. I continue to use the same kinds of open source software that sparked my love of computers in the first place, and that ecosystem has only gotten more robust in the last 20 years. The things my sons and I have set up now have given us a great platform to try out the possibilities and expand our understanding and creativity. It’s been a great way for us to bond.

Kids Stuff

The boys have been learning about Linux and all the related software by using Raspberry Pi single-board computers. We have quite a collection – and I’m glad because it’s quite hard to find them these days because of all the semiconductor shortages. We’ve had a few Pi 3Bs, a Pi 3B+, a Pi 3A+, and lots of Pi Zeros. Some family members got together to buy the boys a Pi 400 for Christmas the year before last, but it suffered a horrible death due to being transported around too much.

Sometimes, we experiment with microcontrollers, like the BBC micro:bit, Adafruit Circuit Playground, or even Arduinos, and it’s as much a learning experience for me as it is for the kids. If we do anything particularly notable there in the future, I’ll probably make a post about it.

Some of our collection of single board computers and microcontrollers. - <i>Photo by the Author</i>
Some of our collection of single board computers and microcontrollers. – Photo by the Author

The boys each have their own laptops – courtesy of their maternal grandfather, who has a knack for collecting used computers and reselling them online. Every time we visit, the boys want to “go shopping” in Baba’s basement warehouse for new-to-them pieces of tech gear.

John currently has a Toshiba Satellite L75D-A7283 with 6GB of RAM and a 512GB SATA SSD that we installed together. He has it partitioned so that he can boot into either Zorin OS or Windows 10. His biggest issue with the computer is that there is no motherboard / BIOS support for the virtualization technologies that the built-in AMD A4 should possess. This keeps him from using newer versions of VirtualBox to play with. Probably his favorite thing to do with the computer is play the PC Building Simulator video game.

Isaac’s laptop is an Asus X54C with 4GB of RAM and a 500GB HDD. Like his brother, he can boot into Windows 10, but prefers to use KDE neon. Isaac likes to code silly things with Scratch and Microsoft MakeCode – sometimes he loads his creations onto one of our microcontrollers.

Main Webserver

I don’t know that I ever really announced it here, but I’m back to self-hosting this website after using a provider for a number of years. The current iteration runs on a Pine A64+ – a really awesome little single-board computer with a quad-core, 64-bit ARM chip and 2GB of RAM – running the Ubuntu Server variant of Armbian Linux. For resource efficiency reasons, I moved from Apache to nginx for the webserver a few years ago. The site is still built with WordPress. I also host a few other things on this box, including my kids’ websites.

Networking

By accident just walking around my local Microcenter one day, I discovered the Ubiquiti EdgeRouter X and couldn’t believe how powerful it looked for the price. I just had to pick one up, and it is now my main router. This has enabled me to run multiple different LANs and segment network traffic in my home to keep IoT devices away from the rest of my computers. While networks seem to intimidate a lot of people, I’ve found the EdgeRouter to be pretty simple and even fun to set up and use. Ubiquiti’s products are great for anyone who wants to take their home network to the next level.

VPN Server

Along the lines of networking, I wanted to have a VPN set up so that I could have secure access back to my home network if I needed to modify anything on the go, or just to encrypt my traffic for security reasons if I had to use public wi-fi. I set up OpenVPN on a dedicated server for this purpose and have absolutely no complaints about the way it performs.

Docker

I'm still trying to get my head around how Docker works. Portainer has been really helpful. - <i>Photo by the Author</i>
I’m still trying to get my head around how Docker works. Portainer has been really helpful. – Screenshot by the Author

I’m certainly no expert on containers – I’ve only begun playing with Docker recently on a Raspberry Pi 4 with 8GB of RAM that I’m running as a server – but I can see why it’s become a popular technology. Managing the containers through a web interface – I use Portainer – has made it much easier to understand what is going on. The boys and I have played with a few things in Docker:

  • Guacamole – An open source VNC / RDP / SSH gateway that can run on basically anything with a modern web browser. Very cool technology, but it was a bit of a resource hog on the Pi.
  • PiHole – I’m a little bit paranoid about “smart” TVs, so in addition to running a totally separate network segment for my IoT devices, I also funnel their network requests through this DNS filter to cut down on the amount of spying that these devices are capable of (or even like to do). This also has the benefit of cutting down on the amount of ads we see on websites, and I have it configured to protect us from other harmful stuff out on the Internet.
  • Habitica – A tool for making real life self-improvement into something like a video game. The “open source” version forces you to clone their entire website – including all their payment processing code – and really seems to be intended for people who want to help them fix their bugs. That said, this was a little too clunky to be useful as a self-hosted thing in our case.
  • Grocy – We set this up as a home inventory system for groceries. Still experimental for us at this point. I love the idea of being at the grocery store and knowing how many cans of soup we have at home, but keeping the inventory up-to-date is where we have a problem.

I haven’t quite gotten to the point where I feel comfortable running the things I really care about within containers, but maybe that will come some day.

Proxmox

The REAL fun has been in exploring Proxmox – an open source hypervisor server based on Debian. Admittedly, virtual machines are definitely heavier on resources than containers, but they provide a lot more flexibility in my mind. Through a web interface, we can now quickly spin up virtual servers to play with different operating systems, software, and even network configurations – and it’s a lot easier to tear them down once we’ve finished.

I’m running Proxmox on a second-hand Dell XPS 8300 Desktop with 16GB of RAM and that has been plenty for our purposes. So far, I’ve kept a dedicated FreeBSD VM running on it, as well as a VM for playing with Kali Linux. The boys have also used it for test driving different Linux distros before they each chose one for their own laptops.

New Website Address

I’ve decided to change things a little bit around here. I’m switching the web address for this site over to a domain I’ve had for a few years and just haven’t done anything with. As of today, the new official URL for this blog is:

https://peteskillman.com/

Any old links using the http://pete.skilmnet.net/ address should continue to work, I just wanted to start using a cleaner, more recognizable default address from here on out.

Please update your links and bookmarks accordingly, and thanks for reading!

The Historical Marker Database

Since I was a kid, I’ve loved road-side historical markers. I always wanted to stop and read them, and sometimes (when we weren’t in too much of a hurry) I got the chance to. There’s something really great about seeing tangible reminders of history out in the world where you’re living.

It turns out that I’m not the only person who feels this way. Several years ago, I discovered the Historical Marker Database – a hobby project of a history-loving IT guy like me – that seeks to catalogue every historical marker in the world. I make heavy use of the website when I’m researching, and it also makes for a fun way to go down a historical rabbit hole that I might not explore otherwise. You should definitely go check it out.

As you might imagine, finding all these markers is a huge undertaking – certainly more than one hobbyist can handle. A volunteer board of editors has sprung up over the years, and thousands of people have contributed photos and descriptions of markers to the cause.

When I was doing the research that resulted in my recent posts about the 138th PA along the Patapsco River, I discovered a marker that wasn’t listed on the HMDB website. I promptly registered for an account, read up on the editorial guidelines, and submitted an entry. People from all over the world can now discover the Mill Town History marker and learn a little bit about the town of Daniels, MD.

So be on the lookout for the history around you, and please share it with the rest of us!

We Get E-mail

Anyone who runs a WordPress site knows about comment SPAM.

Basically, there are computerized robots roaming the Internet, looking for WordPress (and other blogs) to leave comments on. These comments are usually in the form of links to porn websites, or to sites selling fake Louis Vuitton bags out of Yugoslavia or something. The idea is to get links to their site on as many other sites as possible, because that’s how they increase their ranking on Google.

Anyway, I get a lot of this stuff. So much in fact that I can’t leave comments turned “on”, they have to be left in a “moderated” mode, where every comment needs to be approved before it is visible. It’s a mess.

It’s not all dark clouds, though. The entertaining thing is that there aren’t just links in these comments. They try to put something in there that sounds like a legitimate comment, but is always just a little off. Here are a few examples that I found particularly funny:

“A real uncle isn’t friends, although friends are usually each uncle.”

“Fancy can be the effective requirement for your personal living therefore the expansion of truley (sic) what most of us take pleasure in.”

“When you really need any accountancy of one’s importance, rely pals.”

“Around the world you most likely are someone, yet to person you most likely are everything about.”

Actually, there might be some good advice in there….

Starting

Well, here we go again.

This is the 5th “reboot” of my personal website in the last 12 years. I just can’t seem to find a format that I like.

That first site was put up in December of 2000 – the original SkilmNET – a combination of my high school nickname, “skilm”, and “NET” that was so popular back in those days (cNET, PSI-NET, etc.).

I was utterly fascinated with computers and the Internet. I had been introduced to the Internet at school in 1997-98, and when I finally convinced my parents to get a home Internet connection, I was mesmerized. I HAD to know how this magical thing worked. I spent hours exploring the possibilities – websites, email, instant messaging, video, the whole lot. I was so enthralled that I decided to study Computer Information Systems when I started at UMBC in the fall of 1999.

What I didn’t expect was that I would be SO FAR behind my peers in the program. I had been a musical theatre nerd in high school – a performer.  I wasn’t good at math. I had never even physically opened up a computer before.  Now, I was in programming classes desperately trying to learn C with hardcore nerds who had been doing all of this since they were pre-teens.

It was a disaster.

The silver lining is that as part of that C programming class, I was required to log into a UNIX server at UMBC: gl.umbc.edu (which is sadly shutdown now – I’ll never forget that box). You see, normal human beings don’t have computers with C compilers on them – let alone UNIX computers – so the university provided everyone with a shell account on gl.umbc.edu that you could access remotely via telnet. You would log in, do your work on their computer, and turn in your finished program.

YOU would do this, but so would EVERYONE ELSE. The system got SLOW. Especially when a big project was due. I was already aggravated enough that I had to learn this cryptic C language – I didn’t want to suffer with a slow computer while I did it. I knew that the university was using Linux and gcc to teach us. I knew that those software packages were freely-available. I knew that I could get hold of an old computer to use for this project. I thought, “How hard can it be?”

At the time, our family had just one computer in the house. I was thinking about adding another. This meant that I needed to learn a little bit about networking so that I could split the Internet connection. About 4 hours of head-scratching later, I learned that a hub was not enough – I would need a thing called a “router”.

In the meantime, I was able to get RedHat Linux (back before it was called Fedora) and the gcc compiler installed on an old, no-name Pentium 133MHz PC. It certainly wasn’t setting any speed records, but I was the ONLY user. Compared to my gl.umbc.edu experience, it was a rocketship.

I was so happy with it, I decided to let a few of my friends in the class in on the action. I figured out how to set up user accounts and allow telnet access to my buddies. When my friend Dave logged in from the other side of town, and I saw his username show up in my who command – it was amazing. My best friend since elementary school was using MY computer. From MILES away.

Over the next several years, I installed every service that I could possibly find on that box. I set up a webserver – complete with individual sites for each of my users. We had FTP. Shell accounts (over telnet or SSH). I learned enough to get an e-mail server going – it REALLY started working right once I learned about this crazy DNS thing. I got sick of being limited by the little Linksys home router that I bought, so I learned how to set up DHCP, routing and ipchains (later iptables) on another Linux computer. While I hated my database class in college, I LOVED the thrill of getting MySQL and PHP running on my own little piece of the Internet. I kept changelogs. I sent out e-mails to a Majordomo list of my half-dozen users warning about planned downtime for upgrades. I became the go-to guy for technical needs.

I advanced in my part-time job at the Baltimore County Public Library.  I wasn’t shelving books anymore – I was doing tech support for the dial-up ISP service the library ran and learning everything I could about our Solaris UNIX backend systems. I became addicted to getting more and more bizarre computers for my network. I branched out from x86 with my first SPARC box – a SPARCstation 20 (we ran SPARC Solaris at the library). After I left the library to work for AppleCare, I bought a PPC G4 iMac. That led to an old NeXT Workstation. Then another SPARC box (this time a Sun Ultra 60).

Somewhere along the line, I upgraded my original Linux box to a Pentium II 400MHz. I kept finding new things to learn and set up: webmail, MRTG, applications to track my system logs, more robust remote management tools, more users. I even set up WordPress (which this site is running on) once or twice.

Eventually, once I took the job as the solitary computer guy at a small company, my hobby became too much like my job. I couldn’t keep up with it at home anymore. The friends who were my users drifted away, as often happens in life. I met the girl who would become my wife (as interesting as technology was, she was even more interesting). At the same time, the world changed. I didn’t NEED to host my own stuff to get what I wanted out of technology. The rise of services like LiveJournal, Flickr, Facebook, .Mac (later MobileMe, even later iCloud), YouTube, Dropbox, and Gmail meant that I didn’t have to use my own systems so that I could get cheap “unlimited” storage on the Internet. I got a phone that lets me use all these services, wherever I am, with ubiquitous wireless networking. The only reason to do it myself was for pride, and I just didn’t care enough about it anymore.

I kept the domain name and email addresses (which I was still using) alive by getting a hosting service. And it has just sat there – nearly idle – for years.

Until now.

Now, I’m starting. Again.