Ian Langworth 💥's Avatar

Ian Langworth 💥

@statico.bsky.social

Witty social media bio / 🗿🔮✨ / founder & software engineer, one-hit author, sausage dog enthusiast / perpetually working on something new / langworth.com

176 Followers  |  262 Following  |  110 Posts  |  Joined: 22.05.2023  |  1.8508

Latest posts by statico.bsky.social on Bluesky

Post image Post image

So according to my probably-bad math, we could be saving 25% in inference costs if we started writing plain english word-based programming languages. gist.github.com/statico/631e... #LLM #AI

20.06.2025 22:01 — 👍 1    🔁 0    💬 0    📌 0
bring React with ReactNode and useState from react
bring GoCheck and GoChevronDown from react icons go
bring Button from components ui button
bring Popover PopoverContent PopoverTrigger from components ui popover

define Option as object with key as string title as string description maybe string

define BlankIcon component returns div with classes width four height four

define SingleItemPickerProps as object with
  children as ReactNode
  selected as string or null
  options as array of Option
  allowNull maybe boolean
  onChange as function taking any returning void

export SingleItemPicker component with props children selected options onChange allowNull defaulting true equals function body
  create isOpen state defaulting false with setIsOpen updater

  return Popover with open equals isOpen onOpenChange equals setIsOpen containing
    PopoverTrigger asChild containing
      Button with variant outline size small classes flex items center space x two font normal containing
        span containing children
        GoChevronDown

    PopoverContent with classes width ninety six padding zero containing
      if allowNull then
        button with classes full width flex items center space x two padding x three padding y two text left hover background accent hover text accent foreground onClick function body
          onChange with null
          setIsOpen with false
        end onClick containing
          if not selected then GoCheck with classes width four height four else BlankIcon
          span with classes text extra small containing Any

      for each option destructured as key title description in options
        button with key equals key classes full width flex items center space x two padding x three padding y two text left hover background accent hover text accent foreground onClick function body
          onChange with key
          setIsOpen with false
        end onClick containing
          if selected equals key then GoCheck with classes width fou…

bring React with ReactNode and useState from react bring GoCheck and GoChevronDown from react icons go bring Button from components ui button bring Popover PopoverContent PopoverTrigger from components ui popover define Option as object with key as string title as string description maybe string define BlankIcon component returns div with classes width four height four define SingleItemPickerProps as object with children as ReactNode selected as string or null options as array of Option allowNull maybe boolean onChange as function taking any returning void export SingleItemPicker component with props children selected options onChange allowNull defaulting true equals function body create isOpen state defaulting false with setIsOpen updater return Popover with open equals isOpen onOpenChange equals setIsOpen containing PopoverTrigger asChild containing Button with variant outline size small classes flex items center space x two font normal containing span containing children GoChevronDown PopoverContent with classes width ninety six padding zero containing if allowNull then button with classes full width flex items center space x two padding x three padding y two text left hover background accent hover text accent foreground onClick function body onChange with null setIsOpen with false end onClick containing if not selected then GoCheck with classes width four height four else BlankIcon span with classes text extra small containing Any for each option destructured as key title description in options button with key equals key classes full width flex items center space x two padding x three padding y two text left hover background accent hover text accent foreground onClick function body onChange with key setIsOpen with false end onClick containing if selected equals key then GoCheck with classes width fou…

But wait, don't plain words use fewer tokens? How about this instead of TSX 😂

20.06.2025 21:34 — 👍 0    🔁 0    💬 0    📌 0
A low-token programming language for LLMs would prioritize extreme conciseness while maintaining readability and functionality. Here's what a React/TypeScript equivalent might look like:

```
cp UserCard{name,age,onUpdate}(
  st editing=0
  <div.user-card>
    <h2>{name}
    <p>Age:{age}
    <btn @click={editing=!editing}>{editing?'Save':'Edit'}
```

A low-token programming language for LLMs would prioritize extreme conciseness while maintaining readability and functionality. Here's what a React/TypeScript equivalent might look like: ``` cp UserCard{name,age,onUpdate}( st editing=0 <div.user-card> <h2>{name} <p>Age:{age} <btn @click={editing=!editing}>{editing?'Save':'Edit'} ```

I asked Claude what a low-token LLM-friendly programming language would look like and I already like it better than React/JSX.

20.06.2025 20:58 — 👍 0    🔁 0    💬 0    📌 0
pixel art of a robot that is seamlessly changing color, style, and orientations

pixel art of a robot that is seamlessly changing color, style, and orientations

The Retro Diffusion extension for Aseprite does pixel art generation with "ethical AI" — the author says "it runs completely locally. All the artwork used for training was either made by me, or was given with consent from other artists."

astropulse.itch.io/retrodiffusion #ai #gamedev

05.06.2025 19:06 — 👍 4    🔁 1    💬 0    📌 0
Preview
lockfile-guardian Never forget to install dependencies again! Automatically detect when your lock files change after git operations and warn you (or auto-install) when your dependencies are out of sync.. Latest version...

Vibe coded this tonight: www.npmjs.com/package/lock...

"Node.js tool that detects when your npm/yarn/pnpm lockfiles change after git operations"

05.06.2025 05:41 — 👍 1    🔁 0    💬 0    📌 0
Post image

Full writeup: gist.github.com/statico/cc5a...

I'm reminded of the AI "rampancy" from the classic Marathon games.

28.05.2025 01:00 — 👍 0    🔁 0    💬 0    📌 0
Post image Post image

This is wild. Inspired by www.xda-developers.com/llm-raspberr..., I took the prompt the artist used and fed it into various models with high temperature. gemma3 appears to get frustrated, angry, and then devolved into pure corrupted AI madness with "Final Failure" variations and 💀 emoji.

28.05.2025 00:56 — 👍 0    🔁 0    💬 1    📌 0
Post image

Cursor and the GitHub MCP server did a great job of addressing an issue. What I didn't expect is for Cursor to use the MCP server to *reply as me on the issue thread* 😱

Comment deleted. MCP tool uninstalled.

27.05.2025 19:19 — 👍 3    🔁 0    💬 0    📌 0
Preview
jsgrids - Spreadsheet and data grid libraries for JavaScript A searchable list of popular spreadsheets and data grid libraries for JavaScript and TypeScript with framework (React, Vue, Angular, Svelte, Ember, jQuery, Vanilla JS), popularity, and feature informa...

I gave jsgrids, my curated list of JavaScript/TypeScript/React/Vue/etc. data grid components, a decent overhaul this weekend. Migrated from Chakra UI to shadcn & Tailwind and addressed all PRs and issues. jsgrids.statico.io

27.05.2025 19:14 — 👍 2    🔁 0    💬 1    📌 0
Video thumbnail

@simonwillison.net I'm now piping all `llm` output through `md2term`, a Python tool I vibe coded today, to get streaming markdown formatting: github.com/statico/md2t...

26.05.2025 04:43 — 👍 2    🔁 0    💬 0    📌 0
AI Coding Weekly A weekly curated digest of the most significant AI development news, focusing on practical tools, libraries, and techniques. Each issue delivers concise summaries of cutting-edge research, implementat...

I'm launching a few email newsletters with more to come:

- aicodingweekly.com
- celiac.datadriftpress.com
- type1diabetes.datadriftpress.com

Content is collected, summarized, and ranked using #AI but I try to give each review just a little #human touch

13.05.2025 23:07 — 👍 0    🔁 0    💬 0    📌 0
Video thumbnail

llmscript: Write your shell scripts in natural language (by using an LLM to write and test them for you)

github.com/statico/llms...

26.03.2025 05:02 — 👍 0    🔁 0    💬 0    📌 0

How long before we can write shell scripts in plain English?

#!/usr/bin/env llmscript
Find all PNG files in input direction, "src". If no files, show an error.
Calculate if all tiles can fit in a 1024x1024 sprite atlas.
Create the atlas using ImageMagick.
Create a JSON file with coordinates.

25.03.2025 17:54 — 👍 1    🔁 0    💬 0    📌 0
A classic Macintosh running under emulation showing a compiler with a C file open

A classic Macintosh running under emulation showing a compiler with a C file open

Inspired by EXO Labs, I did a quick test to see if llama2.c would compile on Metrowerks CodeWarrior for 68k Macintosh. Unfortunately infinitemac.org crashed 🤣

23.03.2025 03:44 — 👍 1    🔁 0    💬 0    📌 0
Post image

Building small LLM tools on the command line.

ask () { ollama run "${OLLAMA_MODEL:-llama3.2}" "You are a helpful assistant.\nAnswer this question.\nBe very brief.\n\n$*" }

22.03.2025 14:41 — 👍 1    🔁 0    💬 0    📌 0
An overview of a sci-fi themed 2D dungeon with many interconnected rooms

An overview of a sci-fi themed 2D dungeon with many interconnected rooms

New map generation for spacestationvesta.com

#roguelike #gamedev

10.03.2025 05:17 — 👍 7    🔁 1    💬 1    📌 0
Preview
In Memoriam: Richard M. Langworth, CBE (1941–2025) - Richard M. Langworth It is with sadness that we announce the passing of Richard M. Langworth, CBE, who died on February 20th, 2025, at the age of 83.

I'll miss you, Dad. richardlangworth.com/in-memoriam

21.02.2025 18:43 — 👍 5    🔁 0    💬 1    📌 0
regex to capture memes such as "|absolute\s*unit" and "|b+o+iii+"

regex to capture memes such as "|absolute\s*unit" and "|b+o+iii+"

An interesting document is Wikipedia's edit filter for internet brainrot which gets updated if certain meme phrases are overwhelmingly used in vandalism. It started in the yolo/swag era and has evolved to the skibidi/rizz present, regularly dropping memes that are sufficiently stale (like Harambe)

16.02.2025 16:29 — 👍 1225    🔁 182    💬 22    📌 17
Video thumbnail

I've now got a functioning power source and module system (e.g. shields) and throwables (e.g. splash potions). This feels pretty good! (Note: this is just a demo arena level for combat testing) #roguelike #gamedev

10.02.2025 05:21 — 👍 8    🔁 0    💬 0    📌 0
Video thumbnail

It's super fun to see disparate systems start to come together. I finished some AoE effects and noticed that — of course — robotic monsters are resistant to poison effects! (VFX still very WIP of course) #roguelike #gamedev

05.02.2025 06:10 — 👍 5    🔁 0    💬 0    📌 0
Video thumbnail

UI is hard! I started with a drag and drop system, but it took up the whole screen. Since equipping items costs a move, you don't want to equip something without realizing a monster hit you. So now I have a tabbed interface. Not happy with it but gotta move on. #roguelike #gamedev

29.01.2025 06:48 — 👍 7    🔁 0    💬 0    📌 0
Post image

Ah, yes, I remember playing Balatro 95 back in my dad's office

27.01.2025 17:05 — 👍 8609    🔁 2501    💬 70    📌 64

Boston Market recently changed their name to Boston MARKET, a move that increased their market capitalization by 500%

28.01.2025 03:36 — 👍 5326    🔁 663    💬 110    📌 38
Video thumbnail

Modernized the controls by adding mouse support and pathfinding. You only move one tile when there's danger nearby. Need to implement move-only instead of attack-move, get rid of the door menu, and fix factions. #roguelike #gamedev

23.01.2025 06:24 — 👍 6    🔁 0    💬 0    📌 0
Video thumbnail

Projectiles added! Pew! Pew! #roguelike #gamedev

22.01.2025 06:07 — 👍 14    🔁 2    💬 0    📌 0
Video thumbnail

Doors don't keep aliens out 😬 #roguelike #gamedev

20.01.2025 06:51 — 👍 20    🔁 1    💬 0    📌 0

Sure enough, @djlink.bsky.social is here! 👋

16.01.2025 16:58 — 👍 1    🔁 0    💬 1    📌 0

Amazing. I had never seen Quest of Dungeons and it looks great. Amazing how we both ended up with similar feel using these tiles.

16.01.2025 15:59 — 👍 1    🔁 0    💬 1    📌 0
Preview
Oryx Design Lab The source for high quality royalty free game sprites, assets, and tilesets for game developers. Pixel art, retro game art, lo-fi art.

(looks) Yep! Quest of Dungeons is using the 16-bit Fantasy asset from www.oryxdesignlab.com and I’m (mostly) using the sci-fi one.

16.01.2025 15:56 — 👍 1    🔁 0    💬 0    📌 0
Video thumbnail

I always thought NetHack hid combat details like monster health and damage to add mystery, but I think it was just a limitation of the interface. I added (awful) damage popups and health bars to Space Station Vesta and it makes a world of difference. #roguelike #gamedev

16.01.2025 04:49 — 👍 10    🔁 1    💬 1    📌 0

@statico is following 20 prominent accounts