Magnet Sweeper

Apr 11, 2023

We recently had our roof replaced, which resulted in a ton of debris in the yard. One of our primary concerns with this was the number of loose nails and screws, which pose a hazard to both our car tires and our feet. Scanning through Home Depot's website, I found this magnet sweeper, which only set me back $12.

The second photo above shows just how many nails, screws, and other debris I was able to pick up with this thing. Wow! There are a few drawbacks to this tool. First, the handle is a little short for my taste. Second, the magnets could stand to be stronger, but they did a decent job. And third, a wider magnet head would have been nice. But for only $12, I'm willing to sacrifice some of the niceties of other, pricier tools. If you ever find yourself in need of something like this, I recommend this model, despite its shortcomings. I can see this tool being useful in other situations (i.e. when I drop a screw or nut in the garage and it rolls out of reach).

On Keeping Records

Mar 21, 2023

My wife and I are in the process of purchasing a new home. The current owners of the property we're buying have kept meticulous records. They have a spreadsheet detailing:

  • The type of home update
  • When the update was made
  • Who did the service (or where it was purchased from)

This information is surprisingly useful to know, and has helped us make some decisions on what to update and what not to update. It also gives us a good picture of the relative ages of each home system (e.g. hot water heater, HVAC units, etc.).

While discussing the selling of our current home with our realtor, I figured I could provide dates for when some of the similar updates here were done. I assumed that I had emails on these items, but it turns out I don't. Maybe I paid for some of these things via a check? And maybe the receipt they sent was a hard-copy? Regardless, I am unable to pinpoint when our hot water heater was installed, for example (this kind of thing is useful to know when selling a home, it turns out).

It's frustrating to know that I had work done to my home but cannot locate the invoice showing me who did it or when it was done. Had I kept better records, this wouldn't have been a problem. Going forward, I intend to do a better job.

The Future of AI

Feb 14, 2023

Today's Tom Scott video feels very prescient. I too have had the feeling that we are standing on the cusp of something big; though I'm not sure if that something is good or bad. The problem Tom was trying to solve was also interesting (who knew that subtle quirk about GMail's labels?!?).

My text editor of choice when I'm in Linux-land is Vim. One of its most powerful features is the ability to use regular expressions when searching. This capability makes hunting through giant log files so easy. However, I ran into a problem today that I wasn't sure how to work around.

I was looking through a large log file, trying to find the lines that included the text Internal Server Error. Making this difficult, however, were hundreds of such entries that were calling a known failing case. I wanted to weed out these known cases, and with regular expressions, I was able to. The known case I wanted to ignore looked something like the following:

[02/Feb/2023 16:06:14] ERROR [] Internal Server Error: /api/v1/some_bad_endpoint/

This endpoint is the only one in the /api root, so I wanted to ignore /api as a part of my search. The magic is through negative look-ahead assertions, the syntax for which I was unfamiliar (\@! being the key). My search command in Vim ended up being:

/Internal Server Error: \/\(api\)\@!

Using this regular expression helped me jump to every instance of the Internal Server Error text that wasn't a call to the known-failing /api root. So handy!

I learned this morning that The New Yankee Workshop is now posting full episodes of the show to YouTube! The woodworker in me is freaking out just a little bit at this news; there are so many good episodes of this classic show! Below is a small message from Russell Morash, the producer of the show (and the owner of the shop where they shot the show). It's a neat walk down memory lane.

The story in this Essential Craftsman video is truly remarkable; it's well worth its 10 minutes.

Sublime Text Settings

Jan 17, 2023

I use Sublime Text as my primary code editor, and I use it in a number of places (my work laptop, a personal laptop, my home desktop computer, etc.). As a help to myself in keeping the environments synced, here are the settings I like using within Sublime Text. Having this kind of thing logged somewhere is such a help when setting up new environments.

Last updated: May 15, 2024

    "auto_complete_commit_on_tab": true,
    "always_show_minimap_viewport": true,
    "bold_folder_labels": true,
    "caret_extra_top": 2,
    "caret_extra_bottom": 2,
    "color_scheme": "Mariana.sublime-color-scheme",
    "draw_minimap_border": true,
    "ensure_newline_at_eof_on_save": true,
    "font_face": "Consolas",
    "font_size": 10,
    "hardware_acceleration": "opengl",
    "hide_new_tab_button": true,
    "highlight_line": true,
    "highlight_modified_tabs": true,
    "indent_guide_options": ["draw_normal", "draw_active"],
    "indent_to_bracket": true,
    "index_files": true,
    "revert_font_size": 10,
    "rulers": [80, 100],
    "scroll_speed": 0,
    "show_encoding": true,
    "show_line_endings": true,
    "theme": "Adaptive.sublime-theme",

These are the key-bindings that I use:

    { "keys": ["ctrl+shift+v"], "command": "paste" },
    { "keys": ["ctrl+v"], "command": "paste_and_indent" },
    { "keys": ["ctrl+="], "command": "file_diff_menu" },
    { "keys": ["ctrl+shift+="], "command": "file_diff_previous" },
    { "keys": ["ctrl+alt+p"], "command": "prompt_select_workspace" },
    { "keys": ["ctrl+shift+'"], "command": "change_quotes" },
    { "keys": ["ctrl+,"], "command": "prev_modification" },
    { "keys": ["ctrl+0"], "command": "revert_font_size" },

    // LSP
    // Jump to next Diagnostic in Tab
        "keys": ["ctrl+k", "n"],
        "command": "lsp_next_diagnostic",
        "context": [{"key": "setting.lsp_active"}]
    // Jump to previous Diagnostic in Tab
        "keys": ["ctrl+k", "p"],
        "command": "lsp_prev_diagnostic",
        "context": [{"key": "setting.lsp_active"}]

    // Origami
    { "keys": ["ctrl+k", "shift+up"], "command": "create_pane", "args": {"direction": "up"} },
    { "keys": ["ctrl+k", "shift+right"], "command": "create_pane", "args": {"direction": "right"} },
    { "keys": ["ctrl+k", "shift+down"], "command": "create_pane", "args": {"direction": "down"} },
    { "keys": ["ctrl+k", "shift+left"], "command": "create_pane", "args": {"direction": "left"} },
    { "keys": ["ctrl+k", "ctrl+up"], "command": "carry_file_to_pane", "args": {"direction": "up"} },
    { "keys": ["ctrl+k", "ctrl+right"], "command": "carry_file_to_pane", "args": {"direction": "right"} },
    { "keys": ["ctrl+k", "ctrl+down"], "command": "carry_file_to_pane", "args": {"direction": "down"} },
    { "keys": ["ctrl+k", "ctrl+left"], "command": "carry_file_to_pane", "args": {"direction": "left"} },
    { "keys": ["ctrl+k", "ctrl+z"], "command": "zoom_pane", "args": {"fraction": 0.9} },
    { "keys": ["ctrl+k", "ctrl+shift+z"], "command": "unzoom_pane", "args": {} },

Here also is my Package Control configuration, which includes a list of the packages I have installed on my primary work development system (which is where I do most of my development work anyways):

    "bootstrapped": true,
        "A File Icon",
        "Center Comment",
        "Django Syntax",
        "Indent XML",
        "Package Control",
        "Pretty JSON",
        "Side-by-Side Settings",

As I mentioned last month, my desktop computer at home bit the dust. Most of the components in that system heralded from the late twenty-oughts, making them beyond time to be replaced. I have since replaced all the old stuff with new stuff, and I'm impressed (though not surprised) at how far computer hardware has come since my last upgrade.

I finally upgraded my computer case, going with a Fractal Design Meshify 2 Compact model. This case is so incredibly quiet! Even under load, you can barely hear the fans spinning. In fact, this system is now quieter than the laptop I use for work, which is itself fairly silent. Another nice feature of this case is the cable routing options. Cable routing has clearly been given a lot of attention over the past decade or two; it's now very easy to keep your case neat and tidy.

The other major upgrade I made was in the power supply department, opting for a Corsair RMx Series (2021) 750W unit. Interestingly, the fan on this unit doesn't ever turn on at idle; only when it's under load does it spin up. The modular design also makes it easy to use only what cables you need, again keeping things neat and tidy.

I decided to bite the bullet and upgrade to Windows 11 with this build, and I've been pleased so far with the upgrade. As is usual with Windows, there are a number of quirks and annoyances, but that's always been the case. Some of the applications I use, specifically those built with the .NET framework (e.g. KeePass), now start instantly. It's nice to see that some effort has been put into little stuff like that.

All in all I'm pleased so far with the upgrade. I've had an intermittent lockup occur a couple of times, and I'm trying to track that down, but otherwise it's been incredibly smooth sailing.

Another recent video game I picked up on sale was Subnautica: Below Zero, a follow-up to the 2018 original. I really enjoyed the original; in fact, I still occasionally fire it up to play. This new entry, however, was only mildly enjoyable.

Crafting was a joy in this game, as it was in the original; there are tons of things to make, and you have to explore the world (scanning stuff in the process) to learn what's useful and what's not. The world is definitely much smaller than in the original, but the biomes are a little more diverse: they look vastly different from one another. Some of the biomes were fairly inventive as well (the floating lily pad islands being one memorable one). The story was mediocre, but what really bothered me was the lack of direction in the game. Most of the time you're not sure where to go or what to do. The original did a great job of nudging you in the right direction. In it, you would pick up distress calls from certain locations, each of which was usually near some point of interest that helped you progress.

In this title, however, there's none of that. Often, you just have to stumble upon the right place to move the story along. There are many maze-like areas of the world map, some of which were frustrating to navigate. This makes finding some of those key locations very difficult. All of the above-water locations were a nice new addition, but were equally confusing to navigate. This game either needs an in-game mapping function (maybe something that you have to craft), or it needs better nudges for the player. I eventually had to break down and look online for the location of a few key places; some of them are incredibly well hidden, which is odd given that they are key to moving the story forward.

I've already uninstalled this game (I don't envision playing it again), but it was fun while it lasted. I'll definitely check out any sequels that get made, if only because the first game was so memorable and fun. My verdict: C+.

Back in November, I picked up Doom Eternal on Steam during a weekend sale. It's a relatively old game now (released in March of 2020), but having kids means I don't game as much as I used to. I'm glad I picked it up on sale, because the game was a letdown. How this game got such stellar reviews is beyond me. Maybe it's a sign of the state of first person shooters these days?

As is expected from an id Software game, the game's graphics are stellar. Even on my old rig it looked great and played smoothly. That's about where my praise ends, however. Combat in this game is a chore. Ammo is super limited, which is clearly a design decision to force you to use the game's "glory kill" mechanic. Levels, though beautiful, are the now-typical arena-hallways-arena style design: fight enemies in an arena, then walk through some hallways (or do some jumping puzzles) to get to the next arena.

A few of the enemies were fun, with a number of callbacks to the original, but some of them were a real pain to deal with. I ended up having to lower the difficulty of the game just to get through it; some of the arena battles were just too much of a slog. The story is weak, though I didn't expect much in this department; all id Software games traditionally have terrible story lines.

All in all, I don't envision playing this game again. On my typical letter-grade scale, I'd give it a solid D (for disappointing).

Aging Hardware

Dec 15, 2022

The December round of updates from Microsoft has toasted my desktop computer. For some reason, the system enters a blue screen loop of death on boot. I've been able to restore to a previous system restore point, but now Chrome, Brave, and other applications don't work. I may try reinstalling Windows from scratch to see if I can limp along a little more, but it looks as though it's time for new hardware.

My current motherboard, CPU, memory, and primary SSD were all purchased in August of 2014; over 8 years ago! The graphics card I'm using is nearly 6 years old (purchased in January 2017). I'm not sure how old my power supply and case are; they're old enough that I can't find emails stating when I bought them. The case particularly needs to be replaced; it's fairly noisy (though, back in the day, it was a stellar case).

Upgrading computer hardware is generally a headache (there are too many options to wade through!), but the end result is worth the effort.


Nov 21, 2022

I only recently learned that the movie Jaws was based on a novel written by Peter Benchley. Though not terribly surprising, it was something I didn't know. On a recent visit to my local library, I picked up this book and gave it a read. What a fun novel! The shark attacks, of which there are obviously several, are often seen from the shark's viewpoint. I thought this was pretty clever. As you might expect, the book differs from the movie in several ways, but I couldn't help seeing Roy Scheider, Robert Shaw, and Richard Dreyfuss in my mind's eye as I read about these characters. It's a fun and easy read that I recommend.

Autumn Steam Train

Nov 8, 2022

Rail fanning videos are among my favorites to watch on YouTube (and there are plenty of great channels for this kind of content). I'm not much of a steam train fan, but the video I have linked below is a real treat. There is no narration; just the sights and sounds of the steam train rolling through the Pennsylvania countryside. It's incredibly well shot, and is a real treat in 4K resolution. This makes for great background material while you work.

Having grown up in the southern United States, I've known about irrigation pivots for most of my life. What I didn't know, however, is just how complicated they are. This fascinating SmarterEveryDay video showcases the inner workings of these amazing devices.

The Hiding Place

Oct 25, 2022

Last night I finished reading The Hiding Place, an autobiography of Corrie ten Boom. What a remarkable read! This book recounts ten Boom's life in the Netherlands during World War II, and her family's efforts to hide Dutch Jews. As the war progresses, things get progressively worse for the family, until they are ultimately reported and taken to prison. From there things go downhill: transfer to two different concentration camps.

However, Corrie's faith in God helps her persevere. Her sister, Betsie, has superhuman faith; she consistently rejoices in the face of horrible circumstances. Within this book are a host of profound truths; I've found myself reflecting on a number of them over the course of reading this book, and likely will consider them for some time to come.

This is a book everyone should read.

Radio Garden

Oct 20, 2022

Radio Garden is a particularly interesting website that allows you to browse live radio around the globe. Functioning a little like Google Earth, you're given a satellite view of the planet. Littered across the globe are little green dots, each of which represents one (or more) radio stations based in that location. Move the crosshair over a specific dot, and you'll hear the live stream of that radio station.

This is a really neat way to "travel" around the world. I've heard local news reports from Alaska, ethnic music in various African countries, and content in all imaginable languages. I've found it humorous how many stations outside of the United States play American or British bands (Queen, Pink Floyd, The Beatles, The Beach Boys, and similar acts can be heard all over). This is a neat way to spend some time, and it makes for a great way to listen to music while working.

Particularly interesting are all of the stations in really out of the way places. Hear what folks are listening to in the middle of the Pacific Ocean!

The Springfield Files, an episode in the 8th season of The Simpsons (and a terrific episode), briefly introduces the video game Kevin Costner's Waterworld. The joke is that the game costs 40 quarters to play, and after only a few seconds, the character dies and your turn is over.

Recently, a person by the name of Macaw45 developed and released a full-fledged video game based on this idea. Below is a video that shows a perfect playthrough of the game, including the insta-death joke at the beginning of the game. It's a longer video (~20 minutes), but is worth the watch.

How do you keep the world's longest and deepest railroad tunnel safe? Tom Scott takes a look at the fascinating systems behind the Gotthard Base Tunnel in Switzerland:


Sep 22, 2022

Last night I completed Endurance by Alfred Lansing. It chronicles the ill-fated voyage of the boat by the same name, captained by Ernest Shackleton in 1914. The boat, which was discovered under the Weddell Sea earlier this year, got stuck in the Antarctic ice in early January 1915. The crew had to disembark and then struggled for the next year and a half towards civilization (the Endurance sank in November of 1915). The final group members were rescued in August of 1916.

This book reads like an incredible work of fiction, but to know that everything in it is true is mind-boggling. What I truly find amazing is that every member of the party survived the ordeal. The conditions that these men had to endure were about as bad as it gets, and yet they managed to make it through. I highly recommend this book!

Malls Are Doomed

Sep 3, 2022

My wife and I had a date night tonight without the kids. In need of some new clothes, we ventured out to The Streets at Southpoint, our area's largest shopping mall. We were shocked, shocked, at how much of a ghost town it was on a Friday night. Some of the stores were already closed we we arrived after dinner (around 7:00 pm), and in those which were opened, we were often the only shoppers in sight.

I know that the pandemic has done a number on retail stores in general, but it was truly surprising how deserted the whole place felt. Prior to Covid, the mall would have been a wall-to-wall sea of people on a Friday night. I can't help but imagine that places like this are on borrowed time. My wife and I wondered aloud what would happen if it goes under; do you bulldoze the building and sell the land? What could you possibly do with a building that gigantic, and in that odd of a configuration? I guess time will tell. It's crazy to think that my kids will grow up in a world where going to the mall is likely never a thing that you do.