Matthew Lang avatar

Matthew Lang

Web developer amongst other things

Considering cancelling my NYT subscription

My NYT subscription ended its introductory offer of £6 and is now £12 per month. I’m finding it hard to justify the cost now. I rarely read much of the news from the NYT these days, and I have also deleted their games app from my phone.

I enjoy the sports coverage on The Athletic and read some articles from there every day. The Wirecutter is also a good read, but to continue these subscriptions individually is almost as much as the full NYT subscription itself.

I might wait and see if a Black Friday offer can bring the subscription back down. If not, then I think it’s time to cancel the whole subscription. I’ll find coverage of the NFL elsewhere; that won’t be a problem. And there have to be good alternatives to the Wirecutter as well out there; I just need to find them.

This will be a must-see for the family. I can’t tell you how often I’ve watched the original animated movies with the boys.

I have mixed feelings about this morning’s snowfall. On the upside, the garden will be immensely picturesque under snow. On the downside, the golf course will likely be closed all weekend, which scraps the plans the wee yin and I had for tomorrow.

Walking the path with TypeScript

This week, I spent most of my free time adding an NPC character to my ThreeJS game and have them walk towards me each time I move my own character.

I’m using the A* algorithm. Each time I move my own character, the NPC finds the shortest path to my character using this algorithm and then moves one step to my character.

As I’m already using a two-dimensional array to represent the game’s board, using the algorithm on this array helped me get it working. What I wasn’t prepared for was the amount of code needed to implement the algorithm and move the NPC across the board. Still, I managed to learn a thing or two more about TypeScript.

What’s next for my game? I’m not sure yet. There are so many things that I could be doing, such as adding attributes for my characters, both PC and NPC characters, and adding more elements for the map, like ancient ruins. My youngest is also designing skins for the playing character and the NPC, so they’re more than just coloured rectangles on the board.

Projects like EmojiRain make me glad we have developer-friendly social media platforms again.

The first frost of fall.

A frosty landscape with tall grasses in the foreground and a hazy sun in the cloudy sky.

I had more fun with ThreeJS tonight. I increased the size of the board and added some trees and boulders to it. I am now at a point where I will focus more on building a representation of the board as an object to start moving my character around the board.

A screenshot of a green tiled board with trees and rocks on the board against a black background.

I continued to make some progress with ThreeJS and TypeScript tonight. I managed to draw a tiled board, move it around the screen with the mouse and be able to change my field of view with a slider.

A screenshot of a green tiled board on a black background.

There’s no such thing as having too many Markdown editors.

Joan Westenberg suggests giving yourself 5-year timeframes. I love this. It gives you enough time to work on something, even tear it down, and start again.

Why 5 years? Because it’s the perfect amount of time to marinate in the quiet dread of potential failure, without fully descending into the loud panic of inevitable failure. Five years is enough time to tenderize the soul. You could go from a nobody to a legend, or from a nobody to a nobody with five years of extremely detailed regrets. Either way, you’re richer for the experience.

I Work On A 5 Year Time Frame. Anything Less Is A Loss.

Molly White’s blogroll page is a treasure trove of RSS feeds if you’re looking to escape from the algorithm-based timelines of the big social media companies.

A couple of web development projects for the winter

Now that the golf season is down to me and the boys only getting out at the weekend, I can start spending more time on a few side projects. There are so many things I would like to learn, but I figure just limiting myself to a couple won’t take up too much of my time.

So, from now to March, I’ll spend a few hours each week on the following.

  • Learning more about Rails 8 and KamalDailymuse and Writeabout will each get a bump to Rails 8. Only Writeabout, though, will get the Kamal) treatment to begin with. When I have gained enough knowledge about Kamal, I’ll also look to deploy Dailymuse with Kamal.
  • Learn TypeScript and ThreeJS — A work colleague showed me a hobby project he is working on using ThreeJS. It’s the perfect excuse to learn TypeScript and build something for the web that isn’t just another web application.

Played 18 holes with the big yin this morning. Nice to get a round of golf with him instead of just watching him.

Molly White reminds us that we can have a different web.

Though we now face a new challenge as the dominance of the massive walled gardens has become overwhelming, we have tools in our arsenal: the memories of once was, and the creativity of far more people than ever before, who entered the digital expanse but have grown disillusioned with the business moguls controlling life within the walls.

We can have a different web

After chatting with a colleague at work about a little development project he’s been working on, I now find myself messing about with ThreeJS and TypeScript. I managed to get the ThreeJS demo code working to show a spinning cube. It’s a start. The next step is to get it working in TypeScript.

My hopes for tomorrow

The following 24 hours or so will be a roller coaster of waiting as Americans head to the polls to decide who will be the next resident of the White House. There’s certainly a lot at stake in this election.

This year’s campaigns have been eye-opening, with both highs and lows. Each candidate’s core message has been clear: one promises unity, while the other reflects division. I don’t remember America being this divided. Sure, social media and 24-hour news play a part in amplifying these divides, but one thing is clear: it’s time to fix them.

We’ll hopefully have an idea of the winner by tomorrow morning. Of course, I have my preference, but more than anything, I hope that the announcement won’t lead to any unrest and will be the start of another stable presidential term.

A peaceful declaration of the winner is my hope for tomorrow.

Installed Tabliss for Firefox this morning. Why have I not done this before?

I got up early this morning, and instead of starting out with some writing of the Ruby code, I opened my notes app and started writing a blog post for today. Nothing major, just an observation for tomorrow. It’s queued up and ready to be published later today. Feels good.

Cal Newport with some advice on dealing with election day anxiety.

Here I have a suggestion that I think could be healing for all points of the political spectrum: use the stress of this election to be the final push needed to step away from the exhausting digital chatter that’s been dominating your brain.

After You Vote: Unplug

Although I am not voting, I am slightly anxious about what the electoral map will look like by tomorrow. With the timezone difference though, I won’t have any issues following Cal’s advice. By 10pm tonight I will likely be out for the count.

I had some company this morning in the garden.

A squirrel is perched on a wooden fence with green grass and a sidewalk in the background.

I was hoping the Packers would at least have a close game with the Lions tonight at Lambeau. After a dismal first half and the Packers just giving away penalties, I’ve seen enough.

Settling into Stimulus once again

Over the last few days, I’ve been writing more JavaScript than usual. The reason? I am using Stimulus a lot more in one of my Rails projects.

Enhancing the functionality of my Rails application with some HTML markup and a JavaScript controller is good, as Stimulus has a small learning curve and integrates well with Rails.

As I add more Stimulus to the application, though, I am learning some of its best practices the hard way. One criticism I have of my own controllers is that they are very page-specific. That’s fine for now, as the application is relatively small. Still, I plan to break these controllers into more generic behaviours that can be re-used more easily across the application in the future.

Going to start blogging again

I’m going to start blogging again.

Not the titleless posts I have been posting for the last couple of years, but the longer posts that need a title. The posts need to be split up into sections. The posts that have a call-to-action. The posts might just be rambling for the sake of it. The posts that venture an opinion. The posts that tell you something you already know. The posts that tell you something you don’t know. The posts that I will deem not worthy of publishing, but I do it anyway.

It’s not a ground-breaking start, but it’s a start.

Congrats to the Pixelmator team on joining Apple! I’ve been using Pixelmator for years and have nothing but praise for its simplicity and design.

While this is excellent news for Pixelmator, I wonder how long Apple will allow Pixelmator to exist as it is.

Our Japanese Maple in the garden is looking its best just before all its leaves start to fall. I wish autumn was a bit longer.

A vibrant tree with red and orange leaves stands in a sunny outdoor setting.