Jack Harrhy

Linkblog/2025/03/09

Tom's Blogroll, LocalThunk's Balatro Timeline, Make Good Small Games, What is MCP?, Lynx: Bytedance's React Native, Claude Code good?

Tom MacWright - Introducing the blogroll

This website has a new section: blogroll.opml! A blogroll is a list of blogs - a lightweight way of people recommending other people’s writing on the indieweb.

I need to hop on producing a OPML from all the blogs I consume.

Screenshot 2025-03-15 at 9.39.32 PM.png

However, I have a few feeds to trim out…

Tom also has it as a fully rendered page you can visit in your browser, but also upload to your feed reader as-is.

Ruben Schade figured out a brilliant way to show blogrolls and I copied him. Check out his post on styling OPML and RSS with XSLT to XHTML for how it works.

Very cool!

LocalThunk - The Balatro Timeline

Quite the chronicle written up by LocalThunk on the timeline of Balatro’s development.

The one bit that stood out to me:

My partner was learning to code in R at the time, and she asked me “How do you name your variables?” I went on some rant about casing, using descriptive words, underscores, etc. She waits until I am finished and says “I like to call mine thunk”. I thought that was just about the funniest thing I had ever heard.

The way variables are declared in Lua is (sometimes) with the local keyword, thus local thunk was born! I wouldn’t choose this name for quite a while yet but this is the moment I looked back on when I was finally ready to create a developer handle online.

The Local, in LocalThunk, is in relation to the local keyword in Lua.

Balatro itself is written in Lua, the scripting language of choice for the LÖVE framework.

local thunk = ...

That’s hilarious.

farawaytimes - How To Make Good Small Games

A lot of people want to make games, but struggle to get started. They install Unity, try to follow a tutorial for three hours, get frustrated, and quit. I’ve long advocated for simpler tools, encouraging developers to play with Bitsy, Twine, Puzzlescript. Maybe RPG Maker or Ren’Py if they’re up for something more involved. […]

But that’s only part of the picture. You can tell devs about simpler tools, sure. But what if they don’t want to make a Bitsy or a Twine? What if they don’t want to scope small? […]

There are only two paths forward from this (besides giving up). The first is to bang your head against an engine for 5+ years until you’re able to make your dream game. [..]

The second is to change your perspective. Play a bunch of small hobbyist games, on itch or gamejolt or wherever. Find ones you like. Find ones you really like. […]

The second path is the correct one. If you say so outright, people get angry. “I don’t want to make tiny, crappy games. I want to make ambitious awesome epic games, like the ones that inspired me as a kid.”

Great points, great article.

Norah Sakal - What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs

Think of MCP like a USB-C port but for AI agents: it offers a uniform method for connecting AI systems to various tools and data sources.

I’ve struggled to conceptualize MCP, as someone who works at a company which could potentially even make use of it, but this article is great at breaking it down.

mcp-overview.png

Their analogy of USB for LLMs honestly works quite well.

Lynx: Unlock Native for More

Today, we’re excited to introduce Lynx, a family of technologies empowering developers to use their existing web skills to create truly native UIs for both mobile and web from a single codebase. Designed for diverse use cases and rich interactivity, Lynx delivers vibrant and engaging UIs for large-scale apps like TikTok, featuring a speedy, versatile rendering engine, performance-driven dual-threaded UI programming, modern Rust-based tooling, and more!

Bytedance’s answer to React Native.

Interesting.

The author of the post is also a former React core member, with mentions of React Native / Hermes in their bio, innntteerreesstinggg.

Obligatory Fireship video:

Steve Yegge on Claude Code

I’ve been using Claude Code for a couple of days, and it has been absolutely ruthless in chewing through legacy bugs in my gnarly old code base. It’s like a wood chipper fueled by dollars. It can power through shockingly impressive tasks, using nothing but chat. […]

Claude Code’s form factor is clunky as hell, it has no multimodal support, and it’s hard to juggle with other tools. But it doesn’t matter. It might look antiquated but it makes Cursor, Windsurf, Augment and the rest of the lot (yeah, ours too, and Copilot, let’s be honest) FEEL antiquated.

Interesting for someone to say that the Cursor / Windsurf approach feels ancient… I want to give Claude Code a shot, but also am spooked out on the idea of seeing a ticking counter for exactly how much I’m spending on it…

From Simon Willison’s Webblog.