Matthew Lang avatar

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.

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.

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.

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.

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.

That’s the 2nd time in a matter of weeks I’ve used a YAML file as a data source instead of going to straight to creating a table in the database.

The YAML file bridges that gap nicely of not needing the database quite yet, but we do need to store some structured data.

That’s pretty much most of my repositories moved from GitHub to sourcehut.

Writeabout is still on GitHub but is undergoing a Sinatra rewrite. Once that’s complete, I’ll mark the one on GitHub as archived and publicise the new one on Sourcehut.

More of my projects will gradually appear on sourcehut.

Finding the Right Git Platform for Personal Projects

I migrated one of my two GitHub accounts to GitLab a few weeks ago. The move itself had nothing to do with missing features or pricing. It was primarily to try out something else that wasn’t GitHub.

At my job, I spend most of my days on GitHub. When working on my little projects, stepping back into GitHub feels like I am back at work again. With the lines blurring between work and personal coding, I started to think that when I spent time coding on my projects, it still felt like “work”.

So, for one GitHub account, I migrated that account to GitLab. It’s been a great move, and despite being on GitLab’s free tier, I can still match feature for feature what I was paying GitHub for. And when it comes to working with that account, I don’t feel like I am back at my desk.

After the move, I considered moving my other private repositories to GitLab, but GitLab would be more than I needed. It has many great tools for maintaining code bases, but I don’t need them for smaller projects.

I needed something other than GitHub or GitLab.

Enter SourceHut, created by Drew DeVault. SourceHut is a collection of open-source development tools that are a good alternative to GitHub and GitLab.

I’ve been considering using SourceHut for a while, but I have only started seriously considering it in the last couple of weeks.

Today, I created my account and initialised a single repository to get me started. A much more straightforward and basic user interface is strange, but it works. I have become accustomed to the feature-rich user interfaces of GitHub and GitLab. While SourceHut lacks many of the features found in the two bigger platforms, the simplicity of the SourceHut user interface makes it refreshing to use, with just the essentials.

Over the next few weeks, I will migrate more repositories, and then I can demote my GitHub account to be used only for work.

Finally finished my greenhouse project.

A much better use of the space and will be a better environment for growing. We’ve more flowers growing on the deck as well. Be nice when these are in full bloom.

We’ve more plans for next year. A couple of raised beds will be added for vegetables and herbs.

A small glass greenhouse with a black frame is situated on a bed of stones in a backyard garden.

A cracking for our golf club’s juniors to start their league matches. It’s looking like a draw but could still go either way.

A lush golf course features well-maintained greens, sand bunkers, and is surrounded by trees with a person visible in the distance.