A preview image of my space travel website

Space Travel

As a web developer, it’s an individual responsibility to make sure your skills are always improving. Actually challenging yourself to Build A Thing is what improves your skills. There are many distractions and activities that can give the illusion of skill, but do not be fooled! You don’t know everything there is about how to Build A Thing, so you work around your knowledge gaps, and produce something anyway, rough edges and TODOs included. ...

March 11, 2025
A visually appealing digital illustration of an old MacBook Pro with a sleek Ubuntu desktop environment on the screen. The MacBook is placed on a wood

New life for old Mac book pro

I installed Ubuntu Linux and Omakub on my old Mac from 2015 to extend its life a little bit longer. What are Ubuntu and Omakub? When you have a Mac book for long enough, it stops getting OS updates. That happened to mine some time last year. I got the warning that my computer would no longer receive security updates, making it vulnerable to malware. The warning also mentioned that some software could stop working, and I noticed some software actually stopped working! ...

February 18, 2025

Choosing Hugo

This blog is written with Hugo. The choice was originally inspired by my interest in Golang. A blog is a valuable way to keep notes on your developer journey. When I decided to start my developer blog, considering all the options, everything seemed like a massive time investment—-until I found Hugo. ...

January 8, 2025

How I added page transitions to my hugo blog with htmx

The Problem Page navigation in static websites can be better. Typically, when a user clicks a link, the next page is fetched and the entire content is parsed and loaded, replacing the previous page entirely. Most of the content within the <head></head> tag of a web page doesn’t change between pages of a website, but the browser will check anyway, and maybe we don’t want that. Also, if the next page loads too fast, we may want to show a nice animation during a page transition. ...

January 4, 2025

Why Htmx

I was asked why I like htmx as a JavaScript library. I like it because it is simple. The killer features are as follows. Small Library with a Big Idea As it closely follows concepts from the REST and HTTP specs, it encourages you to learn the specs. This raises your developer chops, increasing your knowledge of how the web works. Since it adheres to standards, it is backend agnostic, making it useful across projects. I see htmx as an entirely new class of web application, and htmx is not the only player in this space. These hypermedia driven applications require less code and are more aligned with the web in general. The free introductory htmx book is a good read too. ...

December 5, 2024

Frameworks are friends!

An “evil” framework might look something like this: It entices developers with big promises, while making huge, often unstated, demands. It overloads developers with new concepts, until the framework steals the focus from the actual web we all work on. The concept overload creates a niche, and creates a false sense of scarcity, giving the impression that hiring the wrong type of developer will be more costly. Developers spend lots of free time practicing the evil framework to stay employable. ...

July 23, 2024

Static vs Dynamically Typed Languages

The debate around types often centers on simplicity. But since simplicity is subjective, is this debate just for show, or do we have any empirical evidence to support our assertions? And personally, do I prefer types or no types? I see types as another form of documentation. When I type a dot in the editor, I get suggestions for what comes next in the code. This is the “killer feature” of types. Static type checking helpfully warns me when I’m about to make a mistake. ...

November 16, 2023

Convert a HTML table to CSV via command line

Say we’re down about the lack of sunshine in our city and we really want to know what the sunniest cities in the world are. The data we’re looking at is the Wikipedia article titled List of cities by sunshine duration. The general process we follow is 1.) extract the data, 2.) apply various transformations until it’s in the format we want it to be in, then 3.) load into whatever application we want for convenient viewing. As you can imagine, there are many ways to carry out this process, but we’re piping together command line utilities here. ...

November 12, 2023

Goldilocks makes a website

It’s not commonly part of the story, but while at the three bears house, Goldilocks tried to make a website. First she logged on to Papa bear’s computer. Papa bear makes websites the old school way with HTML, CSS, and JavaScript. It was a simple way to build, but seemed to fall apart when a website needed a lot of interactivity and had to do lots of fetching from JSON APIs to dynamically show new content in response to user interactions. ...

November 3, 2023

Death of a SPAlesman

This is a presentation I gave to a local meetup group about the “death” of single page apps. As I have worked on single page apps for 10 years, this topic is relevant to me and the work I will do in the future. The topic was inspired by a tweet from a prominent developer. In this presentation, I discussed the challenges of single page apps, and how the front end development culture has changed in the 10 years I’ve been working in this space. I also shared my thoughts on the future of web development, and how HTMX can give us many of the benefits of SPAs while being much simpler to build with. ...

September 17, 2023