2024-04-14 22:49:30

Only 2,300 words in the end. But here's a deep dive on using JavaScript BigInt's to do efficient binary representation of Scrabble game data.

I can't believe anyone will read this. But if you're curious about how binary works, how it can be used to efficiently encode and transmit data, and how you can do this using JavaScript, then maybe you'll learn something.

For me, it was SO good to take on a nerdy challenge like this and revisit some of my computer science roots.


2024-04-14 20:59:26

Who? Me? Writing what will eventually be about 3,000 highly-nerdy words on minimal binary and Base64 representations of Scrabble games and how to do bitwise manipulation in JavaScript using BigInt’s?

I never would, would I?

Sounds awfully boring.

Doesn't it?


2024-04-13 16:37:05

OK. Yay. I did it! I made a server-less 2-player Scrabble clone where you pass game data around in encoded URLs.


This is basic and simple (more rules to implement) but works and proves the principle.

Anyone want to test a game with me?

2024-04-12 11:10:13

This, that I just wrote, is mostly what I think about the web these days:

“Yay look at this exciting thing that fixes a bunch of issues we made by implementing other exciting things, and creates a bunch more issues that will have to be fixed by future exciting things!!”

2024-04-11 22:05:59

I really hoped the two week Easter school holiday here in the UK would be productive. Clocks went forwards. We have evening daylight. I have time off with kids. I would wash the car, start work in the garden, fix some stuff up around the house. Enjoy some outside time.

But no. Everything conspired against me and I’ve just bounced from fighting through days at work, fighting through days at home and using every spare minute to rest and try to get well after another sodding virus got me. 😫

2024-04-11 13:29:17

What was the thing a while ago that enhanced your existing terminal/shell with pop-up commands and stuff. It was around the same time as the Warp terminal was getting good, but it wasn't actually a terminal.

Anyone remember what I mean?

EDIT: It was fig.io/, and, surprise surprise, it's being sunset.

Makes me fear for Warp, Zed, etc. Are these tools going anywhere financially?

2024-04-11 13:21:10

My friend @tnash very kindly shared some content of mine today. And I realised I've not yet promoted his EXCELLENT security tales video that he released recently.

It's SO good and has some great lessons in. It's technical – it's about internet security – but has lessons for us all.


2024-04-07 22:46:37

OK. Really getting somewhere with my static-file Scrabble clone. Lots to do still but I can fully encode a game into a base64 string, and then decode it back to a played board! Yay!

Though this is primarily an intellectual and fun exercise, the thought of totally ad-free, login-free, free-to-host, 1-page, simple Scrabble-like game is pretty sweet. Because all the online versions I've used are so full of bloat!

2024-04-06 23:22:10

More tinkering with "Static Scrabble” this evening. Tidying up code into classes and building a little interface for testing with. Noice!

What's the best tool for JavaScript unit testing these days?

2024-04-06 14:43:33

Apologies for Instagram link.

Something to learn for work teams too?

Alt: Video of tennis player Andy Murray being asked why he gave a towel to a specific member of the crowd.

He says:

“It was just constant cheering the whole match. But more than that… it wasn’t just saying ‘Come on’, he was saying to me ‘This is the best I’ve ever seen you serve man’, ‘You’re moving great considering all your problems’. And I was like ‘Yeah, thanks, I needed a little bit of that’s


2024-04-06 08:04:55

And as a reminder… my web dev team at WP Engine are recruiting. So if you’d like “Storytime with Ross” as part
of your working week let me know!

– Only senior developers with WordPress AND React skills need apply
– Job is remote-first, needs overlap with US hours.
– We are a busy web dev team in a marketing department. Excellent communication skills required.
– No freelancers/agencies/contractors

2024-04-05 22:48:19

Today I read a passage from a Brandon Sanderson book on a standup.

I _think_ my team appreciated it.

Felt quite weird. But sometimes a story has the right words and ideas.

2024-04-03 23:46:42

Worst case then, we encode the board square by square for simplicity.

We’ll probably end up using base64 which gets 6 bits per char.

So our 5-bit representation of spaces/tiles over 225 spaces, 86 bag tiles and the 14 in racks gives us 1625 bits. Which is 271 base64 chars.

Bigger than I hoped.


More tomorrow.