Matthew Lang avatar

Matthew Lang

📷 day 17 - warmth

A white mug with a star inside a speech bubble design sits on a mosaic-patterned outdoor table, holding a light-colored beverage.

📷 day 16 - blue

A clear blue sky stretches over a suburban neighborhood with several houses.

📷 day 15 - tie

A pair of blue and white sneakers with white laces is resting against a stone wall.

📷 day 14 - twilight

A silhouette of dense trees is set against a colorful sunrise with power lines crossing the scene.

📷 day 13 - pathway

A serene sunset scene features lush green trees and grass, with a small bridge over water.

📷 day 12 - hidden

A small ceramic owl and a larger ceramic capybara sit side by side on a wooden surface, surrounded by purple flowers.

I forgot how great the chatbots are in Basecamp. They can respond to commads and can communicate from outside apps.

I see they also allow the ability to use different formatting in their message content. That’s the next thing I think I will try and do. Nicely formatted chatbot messages.

📷 day 11 - brick

A brick wall extends upward towards a clear blue sky, viewed from a low angle.

📷 day 10 - rail

A sticker displays the logo and text "RAILS," symbolizing the Ruby on Rails framework.

Joan Westenberg explains why goals might not be what you should aim for and the power of adopting constraints instead.

A goal is a win condition. Constraints are the rules of the game. But not all games are worth playing. And some of the most powerful forms of progress emerge from people who stopped trying to win and started building new game boards entirely.

Smart People Don’t Chase Goals; They Create Limits

I just used the workflow feature in Hey for the first time. I’m not sure if it’s the right thing I need to monitor this collection of emails, but I will run with it over the next few days to see if it works.

📷 day 9 - wood

A wooden pallet has several nails embedded in it, with some rust and visible wear.

Father’s Day is just around the corner here but I managed to convince the family to let me have my gift early, a Kobo Clara BW e-reader. I’ve been wanting one of these for a while.

An open Kobo e-reader displays a page titled "Feed Your Weaker Self" beside its case.

📷 day 8 - travel

A large Emirates airplane is flying against a cloudy sky backdrop.

📷 day 7 - switch

A green mechanical keyboard switch with a transparent housing is placed on a gray surface.

Had a great day playing Pro’s Day at Elderslie Golf Club with my dad, uncle and Stuart. Not quite in the running for over all winners but a great day nonetheless.

Four smiling men are posing together outdoors on a golf course with trees and a cloudy sky in the background.

📷 day 6 - contrast

A textured surface is shown with peeling and cracked paint in shades of gray and white.

📷 day 5 - reflection

A green slice of agate is hanging in front of a brick wall with houses in the background.

📷 day 4 - nostalgia

A retro gaming controller features colorful A, B, X, and Y buttons arranged in a circular pattern.

I found myself locked out of a recent GitLab free account I created for a specific purpose. Frustratingly, I have yet to be informed why my account was closed, and there has been no communication from GitLab. I’ve since recreated everything in GitHub. To be locked out without any communication is poor.

📷 day 3 - shadow

A person is putting on a golf green surrounded by trees under the bright sunlight.

📷 day 2 - curve

A golf course green with a sand bunker in the foreground and a red flag marking the hole, surrounded by lush greenery and stone walls.

📷 day 1 - tree

A neatly pruned, tiered tree is planted in a large pot, surrounded by a variety of plants in a nursery setting.

Web development like it's 2009

I am in favour of Simon Willison’s “no build frontend” web development approach.

If you’ve found web development frustrating over the past 5-10 years, here’s something that has worked great for me: give yourself permission to avoid any form of frontend build system (so no npm / React / TypeScript / JSX / Babel / Vite / Tailwind etc) and code in HTML and JavaScript like it’s 2009.

I’ve been building Writeabout in Sinatra, and I’ve reached the point where I need to add a bit of JavaScript to allow the changing of the light, dark, and system themes. I already have these implemented in the original Rails code as Stimulus controllers, but I’m sure it won’t be too much work to rewrite them as plain old JavaScript.

I don’t have a favourable opinion of frontend web development. I’ve always found it unnecessarily complicated and constantly changing, but rarely for the better. For the last few years, I’ve used TailwindCSS because its build step in Rails applications is minimal—the productivity gains outweigh the added complexity. Beyond small learning projects, I’ve resisted adopting anything like React or TypeScript.

I love blog posts like this. It’s about the benefits of a pen and a notebook for software developers.

That post led to another post by the author about how they take notes at work as a software developer and a few others I have read.

Definitely a blog worth subscribing to.