Turning away from React to laravel

Notes on Laravel Livewire from a React Dev

After a long time as a JavaScript developer, I became disillusioned with React noted here. I’m looking for a well-designed full-stack framework. Next.js has made a mess of React, and React Server Components are a conceptual “bridge too far” for me. Building the Note-taking web app with Laravel / Livewire was a big step outside of the JavaScript ecosystem. Laravel I chose Laravel because of its mature, cohesive ecosystem lacking in JavaScript. It comes bundled with a starter kit that gets your project off the ground quickly. ...

May 1, 2025

My critique on the state of JavaScript

Before I can move on to writing about other things, down the line I will want to reference my critique of the JavaScript ecosystem. I’ve been a JavaScript developer for a long time, my head was spinning after the CommonJS to ESModules change, and then React Server Components were released. Starting all over again Even though I had worked on React and Next.js for a long time, if I started a new project, it would look nothing like the ones I had been working on up until recently. The packages I worked with before could become abandoned in the post-RSC world. Most recently, it happend to styled components. I felt like I was starting over again, and might as well learn something new. ...

April 24, 2025
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