Thanks for reading my newsletter ❤️. This edition was delivered on Monday, April 28, 2025.

Monday, April 28, 2025

Clown Like

Dead Cells Review

I've played Dead Cells for ~6 hours. The furthest I've gotten to in the map is to the first boss The Concierge. It's a solid game and I can see why it's popular but I'm just not sure if it's for me.

It has aspects that I like:

  • The combat feels smooth
  • The Metroidvania aspect to the game is well done
  • The 2D art is very pretty

Unfortunately there are quite a few aspects I don't like:

  • The enemies are repetitive
  • I'm not sure if I like the roguelike gameplay where you go all the way back to the start when you die
  • The way in which you collect items is kind of confusing, the whole system of upgrades feels not quite right

Friday, April 25, 2025

Cross Country Bike Tour America#brooks.team

This is an excellent guide.

Cycling across the continent is like going through a season of Planet Earth. In a single week, I went from towering redwood forests shrouded by morning fog, to crystal clear alpine lakes surrounded by pungent evergreens, to bone-dry salt flats in sweltering heat. Miles from city lights in Nevada and Colorado, the night sky presented thousands of stars and the glowing band of the Milky Way. When I made it to Kansas, the blue sky was so vast, and the horizon so uninterrupted, that I felt like I was going to fall off the face of the Earth. Cruising along the Blue Ridge parkway at sunrise, I watched the mountains turn from black to purple to blue to brown and the rising sun race across the valleys down below. I heard mooing cows, neighing horses, clucking chickens, barking dogs, chirping crickets and singing birds. Never have I felt more connected to, or grateful for, natural wonders than during this ride.

Doing something like this is attainable if you didn't have a support crew in Australia.

Light Phone#thelightphone.com

I love the idea of this phone but there are just too many apps that I need for my social and work life that I couldn't use of this device.

Upgrading My Usage Of AI

For about a year now I've been using ChatGPT on the web and the iOS app for all my AI prompts.

Both are fantastic and I have no real problems.

In saying this, it seems now we're at a point where for my work I need to be trying different models. I think I need to be using Gemini more as it now seems to rival ChatGPT in intelligence and speed. I also haven't used Claude enough and I know for certain code related prompts it does a fantastic job.

That's why I think I need to start using tools like Raycast AI or T3 chat which aggregate all the models.

I'm leaning more towards T3 Chat due to the fact I like using AI in a browser on desktop. I do need to pay $8 to get unlimited access to all the models but I can likely get this covered by work.

I'll likely still use the iOS ChatGPT app.

Wednesday, April 23, 2025

Huawei Copy Cats

When me and Emma were in Wangfujing in Beijing we stopped by the Huawei store. We needed to buy some wireless headphones for Emmas parents who both have Android phones.

The customer experience is identical to an Apple store from the layout of the products to the way customer support treats you. It's almost funny how similar it is.

What differentiates Huawei to Apple right now is the tech. Holding a Pura X in the hand is wild. It's a really cool phone that evokes a feeling of fun and whimsy. I kind of want one.

The wireless headphones we bought are AirPods dupes but so are all wireless headphones now.

React Native At Shopify#youtube.com

This is an excellant summary of why React Native is a great choice in a lot of cases for native.

Baix#baix.com.au

This might be a fun place to go to for someone's birthday.

Running An LLM Locally

When I get home I'd like to do some experimentation with an LLM running locally on my Mac to query all of my blog posts.

I can use something like Ollarma to spin up Gemma 3 and then send HTTP requests to it via TypeScript.

So load all the markdown files like this

import fg from "fast-glob";
import fs from "fs/promises";
import path from "path";

export async function loadMarkdownFiles(folder: string) {
  const files = await fg("**/*.md", { cwd: folder, absolute: true });
  const posts: { filename: string; content: string }[] = [];

  for (const file of files) {
    const content = await fs.readFile(file, "utf8");
    posts.push({ filename: path.basename(file), content });
  }

  return posts;
}

and have an HTTP client

import axios from 'axios';

export async function askGemma(prompt: string): Promise<string> {
  const response = await axios.post('http://localhost:11434/api/generate', {
    model: 'gemma3:1b',
    prompt,
    stream: false,
  });

  return response.data.response;
}

and then prompt the LLM like this

import { loadMarkdownFiles } from "./blog-loader";
import { askGemma } from "./ollama-client";

const folder = `${process.env.HOME}/Desktop/notes`;

async function main() {
  const posts = await loadMarkdownFiles(folder);
  const combinedText = posts.map(p => p.content).join("\n\n");

  const question = "What are the main themes across my blog posts?";
  const prompt = `${combinedText}\n\nAnswer the question: ${question}`;

  const answer = await askGemma(prompt);
  console.log("🤖 Gemma says:\n", answer);
}

main();

It seems simple enough. Not sure how much value I get out of being able to query all of my blog posts but it's an interesting experiment.

Tuesday, April 22, 2025

China Randomly

Due to a family emergency I've been in China for the past week supporting Emma with her mum and dad.

I landed in Beijing Sunday night on the 13th of April and was there for 6 nights.

We decided on the way home to treat ourselves and spend a couple of nights in Hong Kong to break up the flight. We had 2 nights there.

Whilst this wasn't a holiday we did a couple of nice things in Beijing including: visiting the Summer Palace, shopping in Wangfujing, eating Peking duck and various local Beijing dishes.

I was also able to meet Emma's grandma for the first time which was very special.

In Hong Kong we had an awesome dim sum dinner and we went to Disneyland.

Here are a collection of photos from the week.

Monday, April 21, 2025

Lotso#reddit.com

There is a fascination in China with Lotso the strawberry bear. He's the villain in Toy Story 3 yet you see him seemingly everywhere here. In department stores there's whole popup sections selling Lotso's.