February 2025 - Discovering vim

Published on April 7th, 2025 by Spencer Cloud

Am I actually sticking to this? Presenting blog post number two.

(Note that while I’m publishing this in April, I wrote most of it in March.)

Travel

Puerto Rico

February began with travel. First, I visited Puerto Rico with my girlfriend and some friends. One friend works at JetBlue and we flew standby using his benefits.

We arrived at JFK early on a Friday to get the first flight to San Juan. More standby flyers arrived than expected, so only 4 of the 6 of us could take the first flight. The last 2 simply took the next one leaving about 2 hours later.

Puerto Rico was different than how I remembered it in 2022 when we still required masks everywhere.

Highlights:

Panning across a beach in San Juan - sunny day, windsurfers, beachgoers
Walking towards the water on the beach in San Juan
palm trees and beachgoers, beautiful sky and clouds
the flag of Puerto Rico waving in the wind on top of a building at night - view moves down to show street level party scene on the street with neon lights and various people walking

Lots of people visit La Factoria, the most famous nightclub in Puerto Rico. They play music very loudly and they attract a large crowd. I don’t mind loud, crowded places, but when the crowd resembles a solid more than a liquid, and I can’t hear myself screaming to speak to the person next to me, I’m miserable. La Factoria is cool and popular, but it’s not for me.

The trip ended quickly and it became time to return to New York - on standby. We saw twelve seats available for the return flight, but once we arrived to our gate, other standby flyers with higher priority status claimed them all. My friend, experienced with standby, still knew how to return to New York on the same day.

We boarded the next flight to Tampa. Once there, my friend looked at the departures board like picking food from a menu.

We had bad luck with our first standby experience. I’ve had much worse paid-ticket experiences, so if this is the worst standby, it might be pretty great overall, especially if you value flexibility over rigid planning.

Sioux City

I didn’t expect to return to Sioux City so soon. My parents and every hometown friend I still talk to moved away, but my great grandma was turning 100, and my mom and her mom were going for the celebration. I didn’t want to miss this unique experience.

sunset from inside a plane looking out at the wing - above the clouds at sunset
Sioux City airport at night - fairly small and deserted, cafe is closed with gate

I also wanted to show my Bolivian girlfriend and Peruvian friends where I grew up. Sioux City didn’t quite make US News’ top 30 cities to visit in 2025, but most international visitors to the US only ever see big cities and the East and West Coasts. Seeing a small Midwestern city in February is a different vibe.1

South Sioux City water tower in the winter
wintertime in Iowa looking out at a field with leafless trees - bright sky with clouds

Twice, we surprised my grandma who flew from Phoenix. First, my Mom surprised her at the Denver airport on her layover. Surprise two came from us in a cafe a day after we arrived.

brown plants in foreground, leafless tree and water in midground, hill and sunset with partly cloudy sky in background

Denver

If I’m venturing that far west, I might as well visit family in Denver. My girlfriend and friend returned to New York and I flew to Denver with my mom and grandma.2

looking out the right window of a flight at sunset, seat is directly on the wing

The timing worked well to see family. Nothing super special happened, but I like visiting during non-holidays. It allows me to see more of real day-to-day life.

walking from the entrance of a restaurant at night - heavy, fresh snowfall
inside of a car watching someone scrape fresh, heavy snow off the windows at night

I worked from the basement because my office3 had no power.

I returned to New York exhausted from 2.5 trips in a row. I tentatively planned on visiting my friend in Colombia, but I’ve postponed that trip for now.

foggy buildings of Long Island City - view from moving car on the Brooklyn-Queens Expressway

Quality of Life Improvements

Apartment Dish Drying

I didn’t spend much on the apartment this month, but I did free up some valuable kitchen counter space with a “Finnish” dish drying setup.4

dish drying rack on legs above a sink - currently drying some dishes and a pot hanging from the side

It doesn’t fit perfectly, but it majorly improves the dishwashing space situation. Also, I bought it cheap enough that I’m not mad that’s it’s not perfect.

Work ID Badge

I can be forgetful. I developed extreme organizational skills to compensate for this.5 Though I could survive without Omnifocus, my life would look a lot different without it.

Going into the office intermittently is a perfect recipe to forget my ID badge once or twice per month. My minimalist wallet only holds about 4 cards.

opening minimalist metal wallet - it slides partially in half to show rows of cards inside

It turns out, there is an easy solution to this. You know those sticky pocket things some people put on their phones to hold their IDs and credit cards? I got one and stuck it to… not my phone but my work laptop.

card holder stuck on top of laptop with ID badge inside

I don’t need it that often, so I don’t want to stick it to my cell phone. I never forget my laptop, so this bundling works great, and I will never forget anything ever again.

Jokes aside, I already use this bundling strategy with travel. The more I scatter my things after unpacking at a destination, the more likely I’ll leave things behind.

I keep my shit as together as possible by:

I stopped donating so much of my stuff to various hostels and Airbnbs throughout the world.

vim and Neovim

I knew about vim since I started programming, but never fully understood the point until recently. I saw this post on Hacker News about Llama vim and saw how excited some users were, so I investigated more into what the big deal is and fell down the rabbit hole.

For the non-technically inclined, vim is a text editor built into pretty much every computer, but it’s not accessed as a normal app. Instead, you access it through a command in a terminal application.

Vim comes with vim motions, which can be used outside of vim, which lets you navigate text while avoiding the mouse. A vim expert can write in 2 minutes what a normal, quick typing coder can write in 5 minutes.

You switch between “modes” in vim while barely moving your hands. It takes time to adjust, but less than you’d think.

In researching vim, I discovered ThePrimeagen and his very helpful series on vim tutorials. I started simply by enabling vim motions in PhpStorm, then quickly did the same for Obsidian and Firefox.

I also started transitioning from using PhpStorm to Neovim as my main development environment. The Jetbrains IDEs work great, but I don’t 100% like the direction they moving in.6

Other Software

Obsidian Publish

I use Obsidian to keep track of increasingly everything. I published the first bit of my digital garden on garden.spencercloud.com. So far, I’ve only published my Master Travel Checklist and related notes, as well as a few software research notes.

Some people like my Packing Checklist, even though most items just apply to me. Feel free to copy and “fork” it into one that works for you! I originally forked a different checklist years ago to start this one, using a physical paper tear-off packing checklist handed out by a friend in Model United Nations:

packing list with different sections - basics, miscellaneous, clothes, hygiene

ffmpeg

In writing the last blog post, I used ffmpegfor converting videos to gifs.7 ffmpeg works well, but things like accommodating different Apple media formats present some learning curves, documented in my Obsidian garden!

Kagi

I fully dove into Kagi. After reading this article by Michael Lynch, I learned that Kagi Ultimate includes access to all the different major LLMs. I was already paying $20 / month for Claude AI but only ever used chat, so I reallocated the $20 / month to Kagi.8 As a bonus, I no longer limit my Kagi usage.

From WordPress to Statamic

I’m avoiding the inside baseball type of blog where I blog about blogging and nothing else, so I’ll keep this brief.

spencercloud.com started as the homepage for Spencer Cloud Consulting, a Colorado LLC that no longer exists.9

I first learned programming on codacademy.org, bored during a winter break in college. I then applied programming skills creating Excel macros with VBA in my internship-turned-job at Yahoo!. Meanwhile, I learned web development using Ruby on Rails, but when I started freelancing, about 99% of client sites were built with WordPress, so that’s what I primarily used for years.

Programmers like to criticize WordPress, but it has its virtues. It balances accessibility for non-technical customization while allowing deeper programming customization. Also, you fully own the code.10 All that said, I kind of despise it for the usual programmer reasons. To make things worse, the founder and leader started attacking one of the biggest players in the ecosystem in a destabilizing way, shaking confidence in the long-term longevity of the platform.

I researched some other frameworks. My criteria:

After researching platforms like Gray, Ghost, Craft CMS, and October CMS, I landed on Statamic. It meets all the criteria and, as a bonus, is based on Laravel, the framework I learned for my job at Sports Illustrated and my current go-to for personal projects.

Tailwind

In setting up Statamic, I finally learned Tailwind. I heard so much about Tailwind over the last few years, but never tried it. Tailwind resembles coding CSS directly inline in HTML, which sounds terrible, but works well in practice. It also gives the underrated benefit of spending less time thinking up CSS class names.

I’m exploring ways we can use this in my day job. We use BEM for now, but after using it more on my own, I can come up with a way to use it on our team at work.

Uptime Kuma

I used Uptime Robot for years because, for my purposes, they offered it for free. I even connected it to an IFTTT service that would text me as soon as a site broke.11

Earlier this year, they emailed me saying that they’ll start charging me by the end of February since they suspected that I was a business and should use their business plan. It was kind of true, but mostly false.

I decided to switch to something self-hosted, and quickly, for the Year of the Speedrun. I scoured r/selfhosted and landed on Uptime Kuma.

I set up Docker in an AWS EC2 instance then downloaded and ran Uptime Kuma. I set up a personal subdomain for easy access to the dashboard.

Then came notification settings:

dropdown list of many different possible systems to get notifications from Uptime Kuma

It reminds me of the Cheesecake Factory menu.

I preferred email, but wanted to avoid spending hours in configuration. In the spirit of the Year of the Speedrun, I picked the easiest, quickest, free-est one, Discord. I created a Discord server, got my API keys, added it to Uptime Kuma, and voila, project finished.

Or so I thought.

Uptime Kuma sent me about forty false positive site-down alerts per day. This started to annoy me in the first few hours, never mind the first few days when I finally addressed it. The good-enough-for-now solution was adjusting some threshold/retry settings. Now if it detects a downed site, it retries 3 times, and only then notifies me. This means no immediate notifications, but if a site goes down, I’ll still know in ~5 minutes. It’s not just good, it’s good enough.

https://www.youtube.com/watch?v=dnUT8VN6ekQ

The project brought my attention to my travel blog, which been running in over a year. Since I was already working on downtime-related issues, I finally investigated the issue12 and fixed it. It’s still up! For now.

One last question is “who watches the watchman?”. It doesn’t always make sense to self-host site monitoring. If your system goes down, the system that monitors when the systems go down goes down and you won’t know.

A ridiculous solution:

  1. Set up an off-site self-hosted system to monitor the monitoring system
  2. Monitor that system using the original monitoring system as well as another system that monitors both of these systems

Another solution is “just use a 3rd-party monitoring system”, which is valid, especially since you want to see how the world sees you.

Linux?

In the Uptime Kuma saga, I researched using my Macbook Pro 2015 as the server instead of AWS. I tried using Docker, but the Mac is so old that the newest version of Docker is incompatible with its latest possible OS. I discovered that if I partitioned the hard drive and ran Linux, it might work. I’ve always been curious about Linux, but I lost the thread of the current project and decided to just finish with AWS.

I didn’t want to overthink it. It has its own EC2 server, so it’s separate enough from my other services. Maybe someday I’ll revisit using Linux for something else.

Discovering the Fediverse

I knew about Mastodon for some time, but never knew what it really was until I started using Kagi Ultimate. Kagi has lenses which let you customize search results.

They provide some default lenses:

But seeing the “Fediverse Forums” lens confused me. I kagi’d the Fediverse and learned all about Lemmy, a social media platform dedicated to all the latest news on Kevin Federline a federated alternative to Reddit.

In the Age of Enshittification, people are exploring alternate website governance structures, especially for social media. The Fediverse is a collection of sites, especially social media sites, that use a federated, non-centralized governing structure. Instead of one company controlling a major communication platform, anyone can host instances of these websites.

Lemmy acts as a Reddit-like forums platform. Its code is open-source, and anyone can connect their Lemmy instance to the Lemmy Fediverse. Each Lemmy instance has its own URL, and often its own theme, but there is no main Lemmy.13 You can create an account on any Lemmy instance, then post, comment, upvote, etc on any other instance.

I like federated governance being applied to more systems. This was a major difference maker in the early United States compared to other nations at the time, and possibly the Haudenosee / Iroquois Confederacy before that. This is also the ideal of cryptocurrencies like Bitcoin.14

This worked for the US (despite all its flaws) and is the idea behind the EU (despite all its flaws). Why shouldn’t it work for social media?

Video Games(?)

This shouldn’t be a regular segment, but here we are.

Shadow of the Colossus

Growing up, we either had Xbox or Nintendo consoles. We had a plethora of possible video games, but never PlayStation. Now as an adult, I have a PlayStation 5 with a few games on it, but tons on the PlayStation Store wishlist.

I always wanted to play Shadow of the Colossus but never could since it’s exclusive to Playstation consoles. I remember seeing gameplay footage and reviews all over G4 when it came out and it looked awesome.

Shadow of the Colossus was on sale, so I bought it.

It’s a simple game, which I love these days. I hate it when a game I otherwise like is filled with collection quests and pointless filler to pad the “hours of gameplay” for marketing. Sometimes, the shorter the game, the more likely I am to buy it.

I won’t say much about Shadow of the Colossus since so much has already been said, but it’s simple in its concept and controls. The game only provides the following mechanics:

And it requires nothing more to make a great experience.

February Consumption

Articles

Travel

Tech & Work

Other

Videos

Music


  1. And just a weekend is the perfect amount of time. 

  2. There are 2 flights in and 2 flights out of SUX per day, connecting to and from Chicago O'Hare and Denver International, so coordinating these flights is not hard. 

  3. AKA my parent's RV 

  4. Apparently the Finns store their dishes on drying racks in bottomless cupboards above the sink. This is ingenious, and I don't know why this isn't a standard around the world. 

  5. At least I'm pretty sure that's why, but I'm not a psychologist so I might need to ask my sister. 

  6. For example, forcing AI text completion as a default in places where it's not useful, interrupting my every single thought as I'm trying to program. If AI is doing your whole job as a programmer, you were not programming anything remotely complicated. To any company forcing an AI square peg into every round hole in their product, if you do this, I will start looking for alternatives. If you integrate AI well, then congratulations, you're one of about 2 companies in the world actually doing this. 

  7. A nice alternative to some clunky, sketchy site where you upload your personal videos and, 10 minutes later, it spits out a low quality moving pixel collection somewhat resembling your original video. 

  8. If we want to be pedantic, Kagi Ultimate is $25 / month, but I was already paying for Kagi Starter at $5 / month, so the $20 / month towards Claude was truly just reallocated 

  9. I dissolved the corporation in 2021 when I stopped freelancing. I tried to _domesticate_ the LLC into the state of New York for the few, low-maintenance clients I kept, but New York doesn't have that service, so I dissolved Spencer Cloud Consulting and created Plata International as its spiritual successor. 

  10. Unless you're hosting on wordpress.com instead of using the packages on wordpress.org 

  11. That long since went down, but email still worked for years. 

  12. which was a simple permissions misconfiguration 

  13. though lemmy.world seems to act as the de facto main Lemmy for now 

  14. if people could stop using BTC as a speculative investment vehicle, that would be great.