
Learning with the Spring 2026 batch
It is striking to me how much I saw people push themselves in pursuit of following their interests. I saw people diving deeply into projects in a way that I have rarely seen in formal education or outside of RC!
We had a lot of fun, we learnt a lot through pair-programming where we would share what we were working on with others, and collaborate to solve problems and make progress.
Weekly presentations kept us up to speed with people’s updates – always super fun and engaging.
Finally “interest groups” like the game-dev interest group provided
great round-tables for people to share their work on a specific topic in
more depth while also soliciting feedback and asking for guidance. I
know I took many problems I was having with game-dev to the round-table
and received several great pointers for how to proceed.
I was amazed by how much my general knowledge of the technology world grew just from being around so many talented individuals working on so many diverse projects.
In short:
People working on similar things to myself were great to pair with. We would chat about the things we knew and work together to understand things that we didn’t know.
People working on completely different projects to myself opened my eyes to new aspects of the technological landscape.
50 Things I learned at RC
One of the faculty members (and founder) of RC Nick shared a great article: https://simonwillison.net/guides/agentic-engineering-patterns/hoard-things-you-know-how-to-do/
A big part of the skill in building software is understanding what’s possible and what isn’t, and having at least a rough idea of how those things can be accomplished.
With that in mind here are 50 things I came across! I can’t claim to know all of them in depth, only a handful but I feel richer for having come across all of them.
I hope they will be useful in the future if they haven’t alraedy and hopefully some of the information is helpful for others too!
Original PDF:

1. Cloudflare Static Hosting

- Cloudfare Pages is both good and free
- It’s easy to use with Git integrations for automatic deployment
- I love static sites for fast, simple & reliable hosting
2. Zork

The classic 1977 text adventure game had a bit of a moment in our batch
Cool to put a name to a face — as I think this was also my favourite
game at the Barbican’s “Game on” exhibition in 2002. My dad found it
really funny that out of all the games, the most compelling was a 30
year old text adventure!We also did a lot of spelunking into how good an LLM is at playing
Zork. It turns out it’s quite bad at playing autonomously BUT it can
take free-form human language and translate it into valid game
commands very well!
3. Godot – A free open-source game engine

- A freecross platform, open source game engine
- Easy to export to web & iPhone etc
- Has a great super friendly community and free tutorials & code
4. Blender is scriptable!

You can write Python scripts to automate and generate 3D content
5. Desmos

A free web based graphical calculator.
Can do some impressive modelling by defining custom functions
One fellow recurser used this to build up a complete collision detection system in Desmos
6. Bevy

- A game engine written in Rust
- Super fast for 2D games
- Compatible with the Rcade
7. In OpenGL the camera doesn’t move

- The camera projects the game world onto the screen
- The camera is always at (0,0) — the world is translated instead
- Graphics work by moving everything to the origin
- NOT by moving a camera through the world
8. BoardGame.io

- An easy to use framework for building multiplayer board games
- Abstracts lobby creation, turn logic, and game state management to strip away a lot of the boiler plate required for building an online board-game
- Supports simple AI players
9. Realism + Bump Maps
Nice lighting is more of a photography / artistic challenge than a coding one
Bump maps add surface detail and depth in Godot – without having to add any extra geometry
- Quick and easy way to get great detail and realism on textures with minimal overhead.
10. MCP — Model Context Protocol
- Thin wrappers around existing APIs
- Useful but can feel bloated
- https://cra.mr/mcp-skills-and-agents/
- Many MCP servers don’t need to exist — they’re either poor API wrappers or can be replaced with a skill file
The GitHub MCP server consumed ~50,000 tokens of context (later trimmed to ~23,000) to teach an agent how to interact with GitHub.
A SKILL.md file saying “use the gh CLI for these operations” achieved the same result in ~200 tokens
11. Skills.md
- Easier to use skills than MCP
- I used some Swift skills and saw a meaningful improvement in AI-generated Swift
- https://github.com/twostraws/swiftui-agent-skill
- https://github.com/AvdLee/SwiftUI-Agent-Skill
12. RAG — Retrieval-Augmented Generation

Assuming an LLM is good generally at producing results but hasn’t
been trained thoroughly on your data-set it may have some rudimentary
knowledge but may also hallucinate a lot when asked about your domain.When asking it about a large corpus, your context window isn’t big
enough for everything to be loaded into the context window up front.You can solve this by selectively retrieving relevant chunks of data
and adding them to context window at query timeI made Sunnah Search which searches 1000s of quotes from islamic
texts and injects the relevant ones into an LLM so that it can be
used as a research tool providing great answers that are well
referenced, with links to the source material.
13. ChatGPT voice interviews

- Put ChatGPT in voice mode
- Give it the job description + your CV + cover letter + full career CV
- Ask it to give model answers based on your experience
- Great to practice talking about your work, which can feel unnatural if you’re not generally a big self-promoter.
14. Child’s Play — Money vs a rich life

- Brilliant article on Harpers: https://harpers.org/archive/2026/03/childs-play-sam-kriss-ai-startup-roy-lee/
- A peak into life at a certain startup
- Rich but with a bleak lifestyle isn’t my cup of tea
- Rich != successful
- Important things that i value are family, friends, community, learning and understanding the world, emotional and spiritual growth.
15. “One shot” doesn’t mean what I thought

- When an AI “one shots” something, ”One shot” refers to how many examples you give the model
- Not how many attempts it takes to generate something!
16. OKLCH

- An alternative colour space to HSL / HSV
- Perceptually uniform — colours feel consistent at different hues
17. Opus is really good — even at CSS

- We had a fun challenge “100 apps in 100 minutes”
- The quality of your model matters a lot.
- I was using a smaller model — my apps were bad, often buggy and
super dull to look at. - Opus changed that, all of its outputs looked great and stylish.
18. Git Worktrees

Allows multiple working trees from the same repo
Great for agents to independently work on the same codebase locally.
In practice this just meant I spent more time fixing merge conflicts
However this is easily avoided. Just like a regular dev team we can have agents work on disjoint parts of the code to avoid conflicts
19. Capacitor!

Turns websites into native apps
Easy cross-platform
Not really my cup of tea as I prefer native apps — but good to know what the latest development are in cross-platform “write-once-run-anywhere” frameworks.
20. Firecracker VMs

- Super lightweight VMs used by AWS Lambda
- Spins up in milliseconds
21. Lean

- State-of-the-art tool for formally proving mathematical theorems computationally
- Interesting intersection of maths and programming
- Great fun interactive intro here: https://adam.math.hhu.de/#/g/leanprover-community/nng4
22. IAP — In-App Purchases

- Great for accepting payments in iOS apps
- Lots of flexibility: one-time purchases, subscriptions
- Subscription events sync from the app-store to your BE so you can manage state
- I automated a sync from local Xcode config test files up to App Store Connect
23. SwiftUI under the hood

- Watched some great WWDC sessions to understand SwiftUI in more depth
- SwiftUI does some interesting magic with structs and diffing
- Understanding this better makes it easy to optimise your SwiftUI code once you understand the model it is working with
- Videos here: https://developer.apple.com/videos/play/wwdc2021/10022/
24. What is an agentic loop?

- Instead of just asking an LLM for an answer you can also give the LLM tools that it can use when it doesn’t know an answer.
These tool calls exist in a loop — the model decides when it’s done.
This all combines to make an agentic loop = LLM + tool calls
More powerful than just having an LLM
More flexible than manually building toolchains
About as reliable and unpredictable as any LLM tool — but it’s
possible to try and validate output and steer it in the right
direction.Can set it up in \~50 lines of Python
25. Ollama

- Run local LLMs insanely easily, but not necessarily well — unless you have > 30GB RAM
- 64GB RAM: works great. 11GB RAM: not so much.
- Not run by Facebook — it’s a nice independent project!
26. OpenWebUI

- A self-hosted ChatGPT-style interface for local models
- Pair with Ollama for your own private AI assistant running entirely
locally
27. Claude as a code reviewer

- Found multiple production vulnerabilities in a friend’s project with a simple prompt for Claude Code.
Results were quite excellent, from just pointing Opus4.6 at the
codebase and saying:- You are an expert solution architect who has been brought in
todo a code-review and audit of this project both for the
non-technical CEO and the development team – review the
@BE_Shared_Code and tell me the overall summary of what it
does, what it does well, where it could be improved, any bad
anti-patterns that are being used any possible bugs or security
vulnerabilities and any good areas that exemplify best practice
(or how they could be improved to exemplify best practice)
- You are an expert solution architect who has been brought in
- Found \~5 vulnerabilities which were really critical! Also gave a bunch of useful suggestions. Would recommend everyone todo this periodically!
28. Creative Coding

- Making art through code: generative visuals, interactive pieces
- It’s a whole community!
29. Xcode Agentic Mode vs Claude Code vs Cursor

I had been using Cursor and Xcode for a while but in batch I had a chance to try out more agentic coding setups to compare pros and cons.
Xcode AI has been trained on a bunch of skills relating to Apple
frameworks and as such often performs better out of the box than
others.Claude is token-hungry and then loves asking you to buy more tokens…
Cursor is my new best friend – best all rounder. Love the interface,
feels like a much more mature offering. Can also integrate with
Anthropic’s models.Cursor’s composer and auto models are VERY fast allowing for much faster and easier iteration.
30. WebSockets: peer-to-peer in the browser

Real-time, bidirectional, low-latency connections for streams of
dataHelpful for my baby monitor app!
31. Apple on-device text-to-speech

- Text to speech is super easy to set up on Apple platforms.
- Runs entirely on device making it private and fast
- AVSpeechUtterance + AVSpeechSynthesisVoice + AVSpeechSynthesizer
- Can easily set up in 5 lines of code! (https://developer.apple.com/documentation/avfaudio/speech-synthesis)
// Crete an utterance.
let utterance = AVSpeechUtterance(string: "The quick brown fox jumped over the lazy dog.")
// Retrieve the British English voice.
let voice = AVSpeechSynthesisVoice(language: "en-GB")
// Assign the voice to the utterance.
utterance.voice = voice
// Create a speech synthesizer.
let synthesizer = AVSpeechSynthesizer()
// Tell the synthesizer to speak the utterance.
synthesizer.speak(utterance)
32. UV
- Python package manager — no more pip hell
- Handles venvs, lockfiles, and installs in one tool
- If pip and venv have ever made you pull your hair out, try UV
33. OAuth

- A relatively complex way of authenticating users
- But surprisingly easy to set up in practice
- Redirect → token exchange → done
34. Railway hosting

A deployment platform for the infrastructure-averse
Kinda okay to use — some quirky backup strategies though
35. Music classification: Essentia

- Open-source audio analysis library from the MTG
- Can classify genre, mood, tempo, key and more
36. Google Colab
Run GPU-heavy code for free in the browser
Pairs well with HuggingFace for ML experiments
37. Fine-tuning an image generator
Start with existing model weights, continue training on your own data
ComfyUI makes the workflow visual and scriptable
Lots of great resources available for free on HuggingFace – goto place for ML!
38. TUIs — Terminal User Interfaces

- Not just REPLs — almost like GUIs but in the terminal
- Can even be written in React
- Ink is a great(?) library for writing TUI’s in React
- Claude Code uses Ink!
- Great website that explains terminals more, how they work in depth: https://how-terminals-work.vercel.app/
39. 🧃Juice in video games
- The fun extra bits that make games feel alive
- Screen shake, sound effects, particles, animations
- Juice is what separates ‘playable’ from ‘fun’
40. StyleGAN

- Interpolate smoothly between two different visual features
- e.g: Morph between styles or faces
41. You can build your own coding agent easily
- Codex is open source — OpenAI’s coding agent — source available on GitHub
- You can build your own harness in \~200 lines of Python
- https://www.mihaileric.com/The-Emperor-Has-No-Clothes/

42. Local open-source alternatives to Claude Code

Pi — integrates with Ollama
Run agentic coding workflows entirely on your own machine
43. Aperiodic tiling (Museum of Mathematics)

The Museum Of Math in NYC has an aperiodic tiling that covers their floor!
A tiling that covers a plane with no repeating pattern
The hat / einstein tile: a single shape that tiles aperiodically
Only discovered in 2023!
44. Ghidra — reverse engineering

Open-source reverse engineering tool from the NSA
Disassemble, decompile, and analyse compiled binaries
If you ask it to, Claude is great at using this!
45. MLX — run models on Apple Silicon

Apple’s ML framework optimised for M-series chips
- Utilise M-series, RAM and GPU more efficiently
- Ollama supports this out of the box for running local models
- PyTorch supports M-series optimisation through MPS
- https://developer.apple.com/metal/pytorch/
46. Monads are Burritos
https://blog.plover.com/prog/burritos.html
Haskell syntax is way more obtuse than I remember. Great language
but readability for new-comers is not one of its priorities.Watching Raf (one of my batch mates) whizz through code in Clojure
gave me a better feel for the value of functional languages and how
to architect software through functional languages.
47. Java version 8 is not the latest

Java 8 comes up first when you Google ‘Java for Mac’ (May 2026)
- Version 8 still gets security patches so the release date seems
modern. - However you probably want version 21+
- Java 26 is the current release
- Java 8 is from 2014
48. Japan has non-Apple App stores

- Due to regulation. An interesting advancement in tech legislation.
- This has been supported since Dec 2025
- But on March 31st 2026: “Japangets an alternative iOS game store. Aptoide’s AppArena is now available in Japan as an Apple Store alternative”
49. Clipboards are wild
The clipboard stores multiple representations of the same data:
- Apps pick whichever format they prefer: HTML, RTF, plain text…
- Always wondered why pasting sometimes keeps formatting and sometimes doesn’t
- Thanks George M for giving some great presentations and demos on
this: https://github.com/georgemandis/copycat George also has a cross-platform clipboard CLI for visualising this
more easilyCan’t wait for “Schrodinger” to be released – which is a GUI
clipboard manager that exposes the multiple formats each copy may
store!
50. Unschooling works!
- Self-directed learning without a fixed curriculum
- RC is living proof: motivated people learn deeply and broadly


Leave a Reply