Virtualization Fun

So after a handful of learning curves over the last couple of weeks, my Plex server officially has a new home!

Although my hope was to this summer be able to afford the new Synology NAS that I’ve been eyeballing for a couple of years now, I recently found myself in a position to instead upgrade pretty much everything else at a price far more affordable than that NAS, so here we are. 😉

Almost two weeks ago to this day, I discovered /r/homelabsales – a swell subreddit where fellow computer geeks are looking to offload old computers … particularly server-grade hardware that they themselves have acquired on the cheap to play around and learn on. Surprisingly enough, the same night I found the subreddit, I also found someone here in Tampa looking to get rid of a nice, little rackmount server – a Dell R610 with dual CPUs and a small amount of RAM that was still 6x what I was running in my old server!

The cost of $140 seemed pretty good at a glance, so the next day I met up with the guy and drove home with a new-to-me server whose box filled almost the entire trunk of my car… 😯

Since last week, I’ve given myself a bit of a crash course in virtualization – I’ve used plenty of VMs over the years myself, but I’ve never administered one, so I picked up a free copy of VMware’s free software and started tinkering with it. I definitely made a few mistakes along the way, mostly with regards to oversubscribing resources, but I think that’s mostly all behind us and as I type this now, I’ve migrated the Plex application itself over to its own new VM on my new server and I’m working on moving the various download tools that I use to get my media into their own VM as well.

The plan is basically to turn my old server into a de facto NAS – because its only role going forward will be to house hard drives – which will hopefully help to extend its life a bit longer by offloading all of the downloading and transcoding onto the newer and more robust machine, at least until I’m able to pickup that fancy NAS and retire my old desktop hardware turned home server altogether.

It’s crazy to see how far that thing has grown in only a couple of years! When I first started using Plex back in the fall of 2014, I think I had about 1.5 TB of media almost immediately. Six months later I was up to 20 TB, though things admittedly slowed down a bit from there … at least temporarily. Now 3.5 years later, that storage array is up to about 42 TB across 8 disks – two of which are external USB drives because I physically ran out of SATA ports in the box and the last time I messed with adding a new drive on an expansion card, it wiped out a 4 TB disk without a second glance, so I’m rightfully so a little nervous to touch anything else inside until I’ve started migrating data to a better solution!!!

But really, what I’ve got now has been serving me great – the few TB I still have free should last me until I’m ready to make that move and at this point there really isn’t that much more for me to add … or at least not stuff that can’t wait until space isn’t an issue again, anyways.

As for the new server, it’s admittedly pretty neat to watch 16 cores handle more Plex transcoding than I have kids and friends combined right now! The other day I did a test run and started streams on every device I could find in the house – three TVs, my phone, Christopher’s iPad, and my PC – and even with a couple of them transcoding, there was still plenty of overhead to spare, so that makes me happy. I’ve actually been able to use some of the new horsepower to convert 4k videos into encodings that my TV can actually handle, so it’s been neat actually getting to watch some 4k content for a change, too!

If anything, it gives me something new to play with while I save my pennies for the next upgrade.

…and figure out where I’m going to fit a server rack in my bedroom closet…

Her Story

I discovered this last night and ended up binge-watching the entire thing because it was such a compelling story. It’s about a couple of trans women and the challenges they face, particularly in the dating world but also just in general as they try to co-exist with the rest of society.

I think one thing in particular that intrigued me was how well the writers did at introducing an issue that many people might be aware of on the surface, but then exposing some of the layers underneath to make you re-examine aspects that maybe aren’t as cut and dry as you might have thought. I don’t want to give away any spoilers, but the arc between Violet and Mark in the later half of the series really struck me because it seemed so simple to paint him with one brush, while she was more reluctant for complicated reasons that were more than you would expect.

The web series is only six episodes – less than an hour long in total – though it sounds like they’re still trying to get funding to make it into something bigger.

Either way, it’s not hard to see how they won an Emmy for this – it’s thoughtful and entertaining and challenging, and I think it’s worth watching for a lot of honest insight into the struggles that trans people go through.

*It’s Unlimited, But There Are Some Limits…

I’ve written about this topic before, but it bears repeating because right now it’s something that I’m a little frustrated about.

Simply put, whether we’re talking cellular or fixed line, I think that Internet access should be sold as a utility, not a service.

In layman’s terms, either bill me for usage or bill me for speed, but don’t double dip and bill me for both.

This issue resurfaced in my mind because last night we got a notification from Verizon that we’re almost at our plan’s limit for data for the month, though there are still 12 days left in the billing cycle. Our plan is for 8 GB, which is usually more than enough, but we did a lot of traveling in the last month and tethering the kids’ iPad in the car always eats up a lot of data.

So I look at my options to see that they’ve eliminated the rest of the buckets of data above ours – the next step is just an Unlimited Plan, or rather two unlimited plans…

  • The first plan is an extra $50/month and adds unlimited data … but they reserve the right to throttle you down to 3G speeds due to “network congestion” (i.e. “Hi, net neutrality! Somebody else paid more, so they get to go first!!!”). Also, mobile video is limited to DVD quality (480p). Also, mobile hotspot connectivity is limited to 3G speeds as well.
  • The second plan is an extra $80/month and this time your unlimited data can only be throttled if you exceed 22 GB/line in a given month. Mobile video is limited to 720p. Mobile hotspot comes with a 15 GB allowance at LTE speeds, after which it will be throttled down to 3G.

Just so that we’re all on the same page here:

So where do we start?!

I have an iPhone 7, my wife has an iPhone 8 Plus – mine supports 720p, hers with the larger screen is 1080p, so both are getting sub-optimal video quality on the lower unlimited plan. We won’t even muddy the waters by talking about iPads here.

Throttling speeds are a HUGE difference here – Verizon cites their 3G threshold at 600 Kbps, whereas I’ve done speed tests showing anywhere from 20 – 50 Mbps for LTE. The latter will easily support streaming audio and video, whereas 600 Kbps should support streaming music over Pandora (which requires 25-50% of that) but I wouldn’t get my hopes up about video, and frankly, tethering my laptop to those speeds would be like a trip back to 2001.

And lastly, the biggest point of all – what is unlimited if it is, in fact, capped or throttled?!?!?!?!?!

I find it appalling that Verizon sold off its FiOS business a few years ago so that they could focus on “mobile as the future of broadband” if their idea of that future isn’t bright and shiny, incredible pipes but instead these hack and slash toll booths that all of the carriers swore they wouldn’t do with net neutrality, but what do you know … now they’re doing it and the current FCC chair couldn’t care less!

Maybe it’s an “undesirable business model,” but I just want access to data.

You sell me a pipe. Bill me either by how much data I use (like the electric or water company) or what capacity I have access to use (like my home broadband), and that’s it.

I shouldn’t have to consider the screen resolution of each of my devices or what tethering speeds I need to be able to do mobile work from my laptop – not when you’ve got an LTE network capable of speeds faster than the majority of residential broadband.

I spent about an hour looking into this last night and getting more and more riled up as I learned about the details, until I finally wondered if maybe I should finally consider switching to another provider, but they’re all pretty much doing the same thing!

This is exactly the kind of thing that the FCC is supposed to be protecting consumers against.

Digital Calendar Fun!

This is a project that I’ve been looking forward to working on for a long time! Thankfully by the time I finally got around to it, most of the messy stuff has been worked out by other people and throwing this together was actually pretty easy… 😉

Ever since I realized that my wife and I could share a calendar via Google, it seemed like a no-brainer to help keep me on the same page because I’m the one who can never keep track of doctor’s appointments and all of the random stuff that we’ve got going on for the family throughout the month. The thing is, Google Calendar is great when I’m on the go and just want to check something on my phone real quick, but when I’m at home, I still like the simplicity of a wall calendar hanging in the kitchen or my office to be able to see at a glance if we’ve got anything going on that week.

The solution is actually pretty simple:

  • one old computer display (I picked this 22″ Dell up at a used monitor sale for $10)
  • one Raspberry Pi (I’m using the zero model because barely any CPU is needed here)
  • one free account on DAKboard.com

What’s cool is when I originally thought about doing this, I figured I’d have to create a custom page and embed the calendar from Google in it, and then host that locally on the Pi along with any photos that I wanted to incorporate into some sort of slideshow, but instead the DAKboard folks have done all of that heavy lifting for me by creating a web service that pulls in calendar info using iCal, as well as weather data, news via RSS feeds, even a to-do list from Todoist, plus background images from sites like Instagram and Flickr!

I literally fought with my Raspberry Pi for two days because I got a bad USB dongle in my order and couldn’t get it to recognize a keyboard/mouse, and then setup the calendar itself using DAKboard’s features in about 20 minutes.

The display is just a full screen Chromium browser pointed at the Private URL that DAKboard gives you.

I added one line of code to the Pi’s config.txt file to rotate the screen to better resemble a wall calendar.

Now pretty much all I have left is to modify the startup script to have it automatically load Chromium and go right to that URL, install a script to make the cursor disappear on inactive, and then figure out how to hang the thing on the wall!

(and luckily, DAKboard has a neat-o blog post that details pretty much all of this stuff!)

It’s kind of surprising how quickly this much came together once I actually started – I do have a wishlist, but it’s admittedly pretty small…

  • Incorporate a motion sensor that will put the screen to sleep once everyone goes to bed (no idea how to do this)
  • Incorporate some sort of controls to allow flipping between months (my wife insists that this is vital to completely replace our paper calendar)
  • Create a separate photo account specifically for calendar photos (because it’s neat to link to Instagram, but I take pictures of dumb stuff sometimes that doesn’t belong on our family calendar!)
  • Support for more than one screen (I think DAKboard right now only supports one and I can see having different layouts for kitchen vs office, etc…)
  • Hide the power cords once this is mounted to the wall (it’s going to be a pain, but I basically just need to install a new outlet wherever the calendar will go)

I suppose I should point out that DAKboard’s business is actually in selling a retail version of this where everything is done for you, though they didn’t pay me to write this post … but I’d be happy to write a review if they want to send me a free unit to try out! 😉

Theirs is still a little pricey – $299 for a 24-inch display, whereas mine will likely still be less than $75 even after I pick up a wall mount for it.

Hopefully the price will come down, though, as displays continue to get cheaper. I see it as an alternative to the digital picture frame craze that we had a few years ago, but thankfully with a much larger display! With everything else so dynamic and connected around us, it seems weird to still be penciling in appointments on a piece of paper hanging on the wall, and at least this is still cheaper than hanging a full-fledged iPad to fulfill that coveted touch capability. 😀

If I was buying a monitor specifically for this, I’d aim for a slightly newer one with built-in USB (to eliminate a power cable for the Pi) and HDMI (to avoid an extra adapter from DVI to HDMI to micro HDMI), but you really don’t need much … I’m pretty sure you can still get displays like that in the neighborhood of $100.

I’ll be sure to post something else if/when I figure out all of that trickier stuff, but for now I’m pretty satisfied!

Machine Learning for a Better Search

I wanted to expand more on the comment I made earlier on my micro-blog about how to build a better search function because the more that I think about it, the more I believe that this addresses one of the Internet’s biggest problems right now.

We went from limited information before the digital age to endless information a few decades in, but now what we really need to focus on is putting the right information in front of people.

Or, as my micro example cited – it should be easier to find the source of a topic than it is to find commentary about that topic.

And as if grading your sources wasn’t difficult enough, I’m going to throw one more curveball into the mix – you can’t blacklist an article based on its publisher, with my thought process here being simply that sure, 95% of what places like Fox News and Breitbart post is absolute garbage, but…

  1. We want everyone to use and rely on this new search method and people aren’t as likely to jump onboard if their favorite sources, damned as they may be, are automatically excluded from the mix.
  2. But more importantly, even if 95% of what someone writers is pure drivel, we want to encourage that remaining 5% to rise above the rest because that’s how you change opinions.

Now most of this is well beyond my level of expertise, but I know that there are methods in use today to determine “the quality” of a body of text based on sentence structure, vocabulary, etc… The question is, how can we expand on that logic to categorize stories based both on quality as well as what they bring to the table. Because hey, there’s a lot of opinion on the Internet and I certainly don’t want to discount that – I’m just saying that when somebody searches for a topic, they should be presented with facts first and editorial second.

It gets even trickier when you don’t have a fairly clean example like the one I used – even with regards to the White House Correspondents’ Dinner, there were multiple videos that contained the full speeches from the dinner … some were censored, some were from different outlets … but what about when it’s not even that cut and dry?

A video of President Trump saying XYZ would be the most accurate source, but if instead you have news reports sharing what it was that he said – and possibly some with more/less context or fact correction in their articles – then that becomes very subjective to try and decide which one did the best job of reporting XYZ that then deserves to be at the top of the search results.

I kind of have a love/hate relationship with Google these days because I know that they’re trying to filter out the literally billions of pages on the Internet, and they do say that they look at things like user experience and reblogging to help rank their results, but at the same time I still see those hideous, clickbait ads from Taboola and Outbrain on some of the biggest websites seemingly without penalty.

How does a search engine remain independent while trying to sort relevancy as well as fact from fiction, alongside people constantly working to game the system to get their garbage to float to the top to make the ad bucks???

Maybe it’s time to learn a thing or two about machine learning and get to work on this… 😉

My Top 10 NES Games

Inspired by this video from Billy of The Game Chasers citing his top 20 favorite NES games, I thought it might be fun to compile my own top 10 list.

…which was honestly hard for such a nostalgic system because there were just so many games that I wanted to include in the list just because they were classics – almost merely out of obligation!

But I tried to limit that wherever possible and instead focus on the games that I built up such incredible memories playing as a kid because I can still fire up just about any of these games today and be instantly transported back to my elementary school days where weekends were spent playing whatever NES game I had picked out to rent for $2 while my Mom went grocery shopping. 🙂

10. Megan Man 2
Admittedly this is one game that I’m just terrible at today, I was the master of this when I was, like, 8 years old! MM3 had more unique bosses and built on MM2, but this was the game that I cut my teeth on, for sure.

9. Base Wars
I’m not a sports fan at all, but baseball played by robots with guns and rocket launchers?! I would play entire leagues of this game set to two player with the second player empty just so that I could earn tons of money and build a team of the best robots available. The whole baseball part was just a backdrop. 😉

8. Excitebike
When I worked at summer camp, for some reason Excitebike was the go to game played in our cabin whenever any of us had five minutes of free time. It’s such a simple game, and it’s honestly not even that good, yet somehow that’s also what made it GREAT!

7. Battletoads
As Billy mentioned in his own video, Battletoads was ridiculously hard, but I loved how in the very first level there were little secrets like being able to ride the fire-breathing pigs. Plus, it was an added challenge to be able to hurt the other player whereas most other two player games before it had you invulnerable. Also – they’re toads, and they fight! It was by far one of the most unique, creative games of its time!!!

6. Super Mario Bros 3
This was kind of one of those classics, but it was also amazing and revolutionary and the commercial was beyond exciting. I remember we got the game by a friend of my Dad picking it up at a Toys ‘R Us downstate and mailing it to us because this was before video games were available everywhere. The game itself, of course … wow. Giant World. Cloud World. Bowser’s Kingdom. So many rich levels to explore – it’s really no surprise that it’s the #1 game by almost any standard … I honestly just threw it anywhere here to give the rest of my top 10 a fighting chance!

5. Final Fantasy
Final Fantasy 2 (IV) for the SNES is probably my favorite game of all-time, but the original Final Fantasy was one of my first introductions to RPGs. The grind was always tough trying to earn enough money for all of the weapons and armor and spells that you wanted/needed, but I loved as you got farther in the game and started getting items that keyed into special traits like Ice Armor vs fire creatures, etc… Plus, the class change was pretty cool.

4. Life Force
It’s like Contra, but in space! I was introduced to this game by one of my older cousins and it was cool because we could play together … plus, the Konami code made it a little easier when you didn’t know what you were doing. I’ve never really gotten into the rest of the Gradius series that this game technically fits into, but this is a personal classic for sure.

3. River City Ransom
I wasn’t big on beat ’em ups, but the way this game combined fighting + RPG elements was intriguing to me. I loved trying all of the different foods to see what they did to your stats, and the fighting power ups learned via lore were neat, too!

2. Crystalis
This is a fantastic game! Rich, expansive maps with a bunch of towns to explore, weapons and armor that have different abilities, and even the four elemental swords have their own power-ups. Even the soundtrack is really good – I remember getting chills as I would approach bosses or key story points because they would cue changes in the music. Crystalis was one of the more complex games that I played as a kid, but it really offered a great world to explore.

1. The Legend of Zelda
THE NES classic, at least for me! I still play this game on a whim all of the time – it’s great to play through while we’re sitting watching TV in the evening because I have most of the game memorized at this point, though admittedly I still need help once I finally get to Death Mountain. One of these days I want to try a swordless run or Zelda randomizer because I think either one would add a neat, new challenge to a game that I first played 30 years ago! Regardless, I can pick this game up just about any time and get lost in Hyrule all over again… 🙂

 

Honorable Mention – Super Mario Bros
And last but certainly not least … I can’t make a list of great NES games without including the very first NES game that I ever played.

The original Super Mario Bros is the game that started it all for so many retro gamers, and despite the levels being repetitious for the most part, it was still an incredible introduction to this new medium of entertainment on the TV.

Atari and the even more primitive consoles were a little before my time, but this plumber’s quest through the Mushroom Kingdom to rescue the princess kicked off a lifelong adoration for video games. I honestly don’t play this one very much anymore because I still don’t think I’ve ever beat it 100%, but it’s fun to play for a few levels here and there to warm up the old chops before moving on to something else! 😀

Whatever happened to RSS readers???

I guess they just went away with the rise of social media and apps and notifications, though for what it’s worth I always found that a bit silly because I don’t want a dedicated app on my phone for every single website that I visit!

…not to mention, what about the ones that don’t have apps … like mine? 😯

In continuing with my hiatus from social media, this has been somewhat of a challenge for me because there are definitely sites that I still want to keep up with, but I might not necessarily want the rest of the chatter of following them on social media, and not for nothing but algorithmic sorting makes it harder and harder to see stuff that I actually want to see, anyways!

So I stumbled back across this feature built into WordPress.com for subscribing to blogs. It was originally designed specifically for blogs hosted on WP.com, but was eventually extended to all WordPress blogs via Jetpack and now it looks like you can follow just about any site with an RSS feed because I’ve setup follows with blogs on Blogger and Typepad, too!

It’ll be interesting to see if it scales out well if I want to add a couple dozen more sites to be able to include news outlets and whatnot in addition to my writer friends and folks I’ve come to admire online, but for now it’s honestly just nice to get a list of posts in the order that they were actually published as opposed to the order in which an algorithm thinks I want to read them … with plenty of targeted ads interspersed, no less!

Oops – no HTTP/2 today…

Note to Self: DON’T MAKE SERVER CHANGES WITHOUT WRITING DOWN WHAT YOU’RE CHANGING FIRST!!!!!

So … about 11 hours ago, I thought that I’d try to upgrade my web server to use HTTP/2.

It sounded like a great idea after reading this article from Yoast, so I spun up Easy Apache and found the mod_http2 option. It mentioned that I needed to switch from one MPM to another, but I didn’t really think much of it.

To make matters worse, I also used the same time to uncheck a few random Apache and PHP modules that I didn’t think I needed.

As soon as I restarted Apache, sites already started looking hosed. 

Some wouldn’t even render their CSS, others were missing random images. But I didn’t know enough about HTTP/2 yet to realize whether I had actually screwed something up or if I just needed to make some modifications to WordPress to get everything working correctly.

At one point I thought that maybe all I needed was this HTTP/2 Server Push plugin, as I started to understand that HTTP/2 handles requests a lot faster, so was it possible that the browser was just getting the CSS file and other images too late and didn’t know what to do with them?

No, not really.

I also dug deep into caching issues, which is always a mess because I run Varnish and some of my sites use W3 Total Cache, though it’s currently disabled on my multisite install due to weird config issues. I also cleared my own browser cache and tried other browsers, but no luck.

Eventually I started to dig into the whole some images loading but others weren’t thread, and even more peculiar – I run three WordPress installs on this server … two multisites and one standalone, and only my big multisite install had issues!

This got me thinking back to some of the permissions issues I’ve had with Apache and PHP while trying to get APC working (quick summary – APC is supposed to be wicked fast, but won’t run under the SuPHP handler, only DSO … which handles permissions for running Apache different than SuPHP). What was weird was that images I had uploaded recently were missing, but the older images were fine … and note that all of the files were still present on the file system itself.

I gradually conceded that I needed to give up on HTTP/2 for now and roll back to what I had before, though this was a giant pain because I’d run Easy Apache so many times that something got corrupted in the config and I ended up making the biggest changes using YUM via SSH.

I got moved back from mod_mpm_event and mod_http2 over to mod_mpm_prefork, though that didn’t seem to make a difference.

Then on a whim I reinstalled mod_ruid2 because of this helpful explanation – Run all httpd process under user’s access right.

AND BAM – MY SITES ALL STARTED RELOADING PERFECTLY AGAIN LIKE MAGIC!!!

Well, almost like magic. I still had a lot of plugins to reactivate and other troubleshooting steps that I’d taken to reverse, but now … as far as I can tell … my WordPress network is back to the way it was 11 hours ago before I decided to try and setup HTTP/2 “on a whim!”

Clearly I need to do a lot more research into it, and also probably spin up a test site or something, before I start monkeying with that hassle all over again. 😛

Consistency is Quality

I have a problem with HoneyBaked Ham.

I love their sandwiches, but the shop closest to my house isn’t very good at making them.

…sometimes…

I used to grab lunch there all the time until I finally gave up because they were constantly making mistakes that I wouldn’t discover until I got to my desk and unwrapped something that wasn’t quite what I wanted to eat.

I think the final straw was when the person forgot to take the paper off of the cheese slices … an error that I found only halfway through my sandwich!

So I had stopped going there for a while and recently decided to give them another try, however the last couple of weeks our relationship has devolved into the same old series of errors again. Omitted ingredients included, requested ingredients forgotten. A few weeks ago they decided to put horseradish on my wife’s sandwich – one of those condiments that if you didn’t specifically ask for it, you probably don’t want it.

🙁

Today when I stopped in after picking my son up from school, I noted that they’d made a bunch of mistakes last time and if they could pay better attention when making my food, I’d appreciate it. And it honestly wasn’t as well received as I would’ve liked … they did hear my complaints, though they had a few excuses along the way, but there was also some eye-rolling when they asked who had waited on me and I replied.

…because I think the guy is the manager…

Regardless, a couple of big parts about how I judge customer service are as follows:

  • How you respond to mistakes
  • What you do to improve on them
  • How you make up for the inconvenience

The first one should be easy – “I’m really sorry about that – that’s not what we like to hear.”

I never really got that, or if I did, it was overshadowed by the excuses and eye-rolling over their boss.

Next – “Let’s go over your order to make sure that we get it right this time.”

They did this.

And lastly – “How about we pay for one of your sandwiches today to make up for last time?”

Hahahahaha!

That totally didn’t happen! In fact, when I questioned the high price for so little food that I was getting (because apparently they mark up their combos like crazy – an extra $2.50 for a soda and chips?!), she just quoted everything at full price like it was no big deal.

Even their clumsy manager who’d screwed up our order last time offered me a discount from the time before…

Now I don’t want this to sound like I’m just always cruising for a discount, however I do strongly believe that if a corporation doesn’t take some sort of financial penalty for its mistakes, it’s like they never really occurred in the first place. I mean, how many times have you called your cable or cell phone company and spent half an hour on the phone, only to have them try to upsell you while all you want is for them to fix the service that’s broken that you’re already paying for?!

I get that customer service is hard, however it’s not really a stretch of the imagination to suggest that I should be able to walk into the same store week after week and get the same sandwich every time. This is not sandwich art – there’s literally a big sign right there on the wall that explains how to make each one!

But that lack of consistency makes me not want to eat lunch at HoneyBaked as often because that sandwich I really like isn’t always the sandwich that I’m going to get. And that’s bad news for a company to hear because when you have a customer who’s eager to come back again and again, the last thing you want to do is disappoint them because you don’t deliver a consistent experience every time that they walk through your door.

And as a side note – the inconsistent sandwiches are what will make me think twice the next time I’m looking to grab lunch, but not being more receptive to criticism is what will send me to Panera or Firehouse instead.

When a customer is still willing to be a customer and walk through your door, you should listen carefully to what they have to say about your service. Because not everyone will come back to tell you when they’re disappointed.

Dream Journal : Hacker

I’ve had a couple of this sort of dream lately – not sure why, but for a guy who lives on computers they’re almost more scary than things that creep in the night!

Somebody had hacked my computer.

They knew exactly the moment that I logged in because they messaged me vague threats about being watched every single time. It made it hard to troubleshoot, particularly once I started getting comments about my family … did they somehow have access to more than just my computer after all???

At one point I tried digging into the problem at work, enlisting the consulting advice of a few co-workers, but somehow the result was the same regardless of where I plugged the computer in. I briefly contemplated the steps to changing all of my passwords simultaneously in hopes of somehow locking the hacker out of my accounts, though ultimately I didn’t really even know what they had gotten access to aside from my Windows account itself.

Eventually I decided to wage a trap and turned the PC on back at home, with a handful of friends and family, along with a police officer, all there for support. The hacker wanted to chat with me – namely to intimidate me again, making comments about the safety of my sons, to the point where I realized that they must somehow be nearby. We all stood at our posts around house looking out into the yard like sentries around a castle wall until someone saw a figure moving in the distance.

It was then that I killed the power to the house and reassured the kids that everything was going to be ok while another person ran out and tackled the person lurking in the yard.

Who turned out to be a girl who I’d worked with a few years prior.

She made a lot of excuses about how she never meant to hurt anyone, and how looking around it was clear that “we lived in luxury” and probably had this sort of thing happen to us all of the time.

Somehow she even gained a little pity from several of the family, who gave her food and whatnot while we waited for the officer to arrest her.

Before that took place, however, I walked to the front door and noticed a strange car waiting outside. Realizing it was her getaway car, I sent someone over to take a look and the car suddenly bolted.

It turns out that her mother, of all people, had been her accomplice in our harassment.

When the officer finally asked what I wanted to do, I considered all of the trauma that we’d been put through and insisted on pressing charges for blackmail and stalking.