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.