Series

Some of my writing comes in runs: a project, a course or a book I worked through over weeks or months. Each series below is listed in reading order.

technicalOct 2026 – now · 1 partsongoing

Agent Swarm Observability

What it would take to understand swarms of thousands of agents, and why today's tracing tools fall short.

  1. Reading the Swarm: Why Today's Agent Tracing Tools Fall ShortOct 2026
technicalJun 2026 – now · 7 partsongoing

Agentic RL

Learning reinforcement learning for agents from the ground up, using the ISAF extraction task as a running example.

  1. Off the frontier API: distillation, graded SFT, and RL for agentsJun 2026
  2. The Five Stages of Reinforcement LearningJun 2026
  3. Reward design for RL, grounded in a structured-extraction taskJun 2026also part 9 of ISAF Press Releases
  4. GRPO without the maths: how an RL trainer nudges the weightsJun 2026also part 10 of ISAF Press Releases
  5. How to read an RL framework without believing its READMEJun 2026
  6. My first RL environment: three stages, no trainerJun 2026also part 11 of ISAF Press Releases
  7. Is this data actually good, or does it just look good?Jun 2026also part 12 of ISAF Press Releases
technicalMay 2025 – Jun 2025 · 5 parts

The Evals Course

Notes and projects from working through an LLM evaluation course, covering error analysis, failure modes and tracing.

  1. How to think about evalsMay 2025
  2. Error analysis to find failure modesMay 2025
  3. Building hinbox: An agentic research tool for historical document analysisMay 2025
  4. Trying to instrument an agentic app with Arize Phoenix and litellmJun 2025
  5. Testing out instrumenting LLM tracing for litellm with Braintrust and LangfuseJun 2025
technicalJan 2025 – Feb 2025 · 8 parts

Reading 'AI Engineering'

Chapter-by-chapter notes on Chip Huyen's book.

  1. Notes on 'AI Engineering' (Chip Huyen) chapter 1Jan 2025
  2. Notes on 'AI Engineering' (Chip Huyen) chapter 3Jan 2025
  3. Notes on 'AI Engineering' (Chip Huyen) chapter 4Jan 2025
  4. Notes on 'AI Engineering' (Chip Huyen) chapter 6Jan 2025
  5. Notes on 'AI Engineering' (Chip Huyen) chapter 7: FinetuningJan 2025
  6. Dataset Engineering: The Art and Science of Data PreparationFeb 2025
  7. Notes on 'AI Engineering' chapter 9: Inference OptimisationFeb 2025
  8. AI Engineering Architecture and User FeedbackFeb 2025
technicalJan 2025 – Jan 2025 · 4 parts

Reading 'Prompt Engineering for LLMs'

Chapter notes on John Berryman and Albert Ziegler's book.

  1. Starting to read Prompt Engineering for LLMsJan 2025
  2. Prompt Content: Notes on 'Prompt Engineering for LLMs' ch 5Jan 2025
  3. Assembling the Prompt: Notes on 'Prompt Engineering for LLMs' ch 6Jan 2025
  4. Final notes on 'Prompt Engineering for LLMs'Jan 2025
technicalApr 2024 – Jun 2026 · 12 parts

ISAF Press Releases

Turning thousands of ISAF press releases into structured data, from GPT-4 baselines to finetuned models and RL.

  1. Introducing the Afghanwire Dataset: A Unique Collection of Translated Afghan Media Articles from 2006-2009Apr 2024
  2. Structured Data Extraction for ISAF Press Releases with InstructorJun 2024
  3. Evaluating the Baseline Performance of GPT-4-Turbo for Structured Data ExtractionJun 2024
  4. Finetuning my first LLM(s) for structured data extraction with axolotlJun 2024
  5. One-click LLM finetuning with Predibase, OpenPipe and OpenAIJun 2024
  6. How to think about creating a dataset for LLM finetuning evaluationJun 2024
  7. My finetuned models beat OpenAI's GPT-4Jul 2024
  8. All the things I learned while trending on Hacker NewsJul 2024
  9. Reward design for RL, grounded in a structured-extraction taskJun 2026also part 3 of Agentic RL
  10. GRPO without the maths: how an RL trainer nudges the weightsJun 2026also part 4 of Agentic RL
  11. My first RL environment: three stages, no trainerJun 2026also part 6 of Agentic RL
  12. Is this data actually good, or does it just look good?Jun 2026also part 7 of Agentic RL
technicalMay 2023 – Jun 2023 · 6 parts

Balochi Language Model

First steps towards language models for Balochi, a low-resource language. Risks, datasets and tokenisation.

  1. Low-resource language models: making a start with BalochiMay 2023
  2. The Risks of Language Models in Minority LanguagesMay 2023
  3. Building a Balochi Language Dataset for NLP ApplicationsMay 2023
  4. The What, Why, and How of Tokenisation in Machine LearningJun 2023
  5. Tokenizing Balochi with HuggingFace's Tokenizer and FastAI/SpacyJun 2023
  6. Tokenizer LinksJun 2023
technicalOct 2022 – Jul 2023 · 6 parts

MU123 Maths

Going back to maths through the Open University's MU123 module.

  1. Avoiding BIDMAS, or how J does notationOct 2022
  2. On mathematical literacyJan 2023
  3. The Trick Is The Thing, Part IIMar 2023
  4. Exponents and Logarithms: a MU123 reviewMay 2023
  5. Finishing MU123May 2023
  6. Building MathsPrompt: a tool to help me review and practice problems for my degreeJul 2023
technicalDec 2021 – Feb 2022 · 9 parts

Reading 'Robust Python'

Notes on Patrick Viafore's book about types, enums, data classes and invariants.

  1. What makes code robust?Dec 2021
  2. What's special about types in Python?Dec 2021
  3. Getting practical with type annotations and `mypy`Jan 2022
  4. Different ways to constrain types in PythonJan 2022
  5. Using type annotation with collections in PythonJan 2022
  6. Using mypy for Python type checkingJan 2022
  7. How and where to use enums in PythonJan 2022
  8. Upgrade your Python dicts with data classesFeb 2022
  9. What are invariants and how can they help make your Python classes more robust?Feb 2022
technicalSep 2021 – Sep 2022 · 17 parts

Redaction Model

A year-long computer vision project detecting redactions in documents, from a first classifier to thinking about production.

  1. Training a classifier to detect redacted documents with fastaiSep 2021
  2. How to annotate image data for object detection with ProdigyNov 2021
  3. What is VFNet?Nov 2021
  4. 73% accuracy for redaction object detectionDec 2021
  5. A Taxonomy of RedactionDec 2021
  6. A Midway Report on my Computer Vision ProjectJan 2022
  7. It's raining bboxes: how I wrote a Python script to create 2097 synthetic images to help improve my machine learning modelFeb 2022
  8. Incremental Improvements to my Redaction Detection ModelMar 2022
  9. Figuring out why my object detection model is underperforming with FiftyOne, a great tool you probably haven't heard ofMar 2022
  10. 'I guess this is what data-centric AI is!': Performance boosts after training with synthetic dataApr 2022
  11. How to trust the data you feed your model: data validation with Great Expectations in a computer vision context (part 1)Apr 2022
  12. How to trust the data you feed your model: data validation with Great Expectations in a computer vision context (part 2)Apr 2022
  13. How to trust the data you feed your model: alternative data validation solutions in a computer vision context (part 3)Apr 2022
  14. A painless way to create an MVP demo using computer vision modelsMay 2022
  15. More Data, More Problems: Using DVC to handle data versioning for a computer vision problemMay 2022
  16. It takes a tribe: how I'm thinking about putting my object detection model into productionMay 2022
  17. Storing Bytes: what data serialisation is and why you need it for machine learningSep 2022
personalJan 2017 – Oct 2017 · 10 parts

Language Learner's Journal

Following Taylor's Arabic studies in Amman, one check-in at a time.

  1. Language Learner's Journal: Introducing TaylorJan 2017
  2. Language Learner's Journal: Adjustments at the Deep EndJan 2017
  3. Language Learner's Journal: Deepening My StudiesFeb 2017
  4. Language Learner's Journal: Keeping PaceFeb 2017
  5. Language Learner's Journal: Leaving QasidMar 2017
  6. Language Learner's Journal: Independent StudyApr 2017
  7. Language Learner's Journal: Increasing Spoken FluencyApr 2017
  8. Language Learner's Journal: Meaningful LeisureMay 2017
  9. Language Learner's Journal: Phone Calls and Timed BreaksAug 2017
  10. Language Learner's Journal: Homestay EditionOct 2017
personalDec 2016 – Feb 2017 · 7 parts

Master Arabic

Writing and launching 'Master Arabic', a book for intermediate students.

  1. Pre-Order Now: 'Master Arabic'Dec 2016
  2. New Year, New Arabic-language PodcastJan 2017
  3. Everything You Need to Study Jordanian ArabicJan 2017
  4. Things We Control: On Internal vs External GoalsJan 2017
  5. Master Arabic: What's in the Premium Edition?Jan 2017
  6. Master Arabic: Behind the CoverJan 2017
  7. 'Master Arabic' is Out Today!Feb 2017
personalAug 2016 – Sep 2016 · 20 parts

PhD Tools

The software, habits and small comforts that got me through a PhD.

  1. PhD Tools: BeeminderAug 2016
  2. PhD Tools: Visualise Structure and Kanban Flow with TrelloAug 2016
  3. PhD Tools: Think better with TinderboxAug 2016
  4. PhD Tools: DevonThink for File Storage and DiscoveryAug 2016
  5. PhD Tools: Save your web links with PinboardAug 2016
  6. PhD Tools: Scrivener for Writing Long ThingsAug 2016
  7. PhD Tools: Bookends for Managing ReferencesAug 2016
  8. PhD Tools: Mellel for Layout and Final PresentationSep 2016
  9. PhD Tools: RescueTime for Time TrackingSep 2016
  10. PhD Tools: Turn Off the Internet with FreedomSep 2016
  11. PhD Tools: Backup Systems for Staving off SadnessSep 2016
  12. PhD Tools: Omnifocus for Managing your Non-PhD LifeSep 2016
  13. PhD Tools: The Secret to Finishing Your PhDSep 2016
  14. PhD Tools: Vitamin-R and the Pomodoro Technique for Getting GoingSep 2016
  15. PhD Tools: Freewriting and Journalling to Think Through your WorkSep 2016
  16. PhD Tools: Pen and PaperSep 2016
  17. PhD Tools: 'Always return to your primary sources'Sep 2016
  18. PhD Tools: Goodreads for Cross-PollinationSep 2016
  19. PhD Tools: Sleep and Movement to Nourish the BodySep 2016
  20. PhD Tools: TeaSep 2016