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.
Agent Swarm Observability
What it would take to understand swarms of thousands of agents, and why today's tracing tools fall short.
Agentic RL
Learning reinforcement learning for agents from the ground up, using the ISAF extraction task as a running example.
- Off the frontier API: distillation, graded SFT, and RL for agentsJun 2026
- The Five Stages of Reinforcement LearningJun 2026
- Reward design for RL, grounded in a structured-extraction taskJun 2026also part 9 of ISAF Press Releases
- GRPO without the maths: how an RL trainer nudges the weightsJun 2026also part 10 of ISAF Press Releases
- How to read an RL framework without believing its READMEJun 2026
- My first RL environment: three stages, no trainerJun 2026also part 11 of ISAF Press Releases
- Is this data actually good, or does it just look good?Jun 2026also part 12 of ISAF Press Releases
The Evals Course
Notes and projects from working through an LLM evaluation course, covering error analysis, failure modes and tracing.
- How to think about evalsMay 2025
- Error analysis to find failure modesMay 2025
- Building hinbox: An agentic research tool for historical document analysisMay 2025
- Trying to instrument an agentic app with Arize Phoenix and litellmJun 2025
- Testing out instrumenting LLM tracing for litellm with Braintrust and LangfuseJun 2025
Reading 'AI Engineering'
Chapter-by-chapter notes on Chip Huyen's book.
- Notes on 'AI Engineering' (Chip Huyen) chapter 1Jan 2025
- Notes on 'AI Engineering' (Chip Huyen) chapter 3Jan 2025
- Notes on 'AI Engineering' (Chip Huyen) chapter 4Jan 2025
- Notes on 'AI Engineering' (Chip Huyen) chapter 6Jan 2025
- Notes on 'AI Engineering' (Chip Huyen) chapter 7: FinetuningJan 2025
- Dataset Engineering: The Art and Science of Data PreparationFeb 2025
- Notes on 'AI Engineering' chapter 9: Inference OptimisationFeb 2025
- AI Engineering Architecture and User FeedbackFeb 2025
Reading 'Prompt Engineering for LLMs'
Chapter notes on John Berryman and Albert Ziegler's book.
ISAF Press Releases
Turning thousands of ISAF press releases into structured data, from GPT-4 baselines to finetuned models and RL.
- Introducing the Afghanwire Dataset: A Unique Collection of Translated Afghan Media Articles from 2006-2009Apr 2024
- Structured Data Extraction for ISAF Press Releases with InstructorJun 2024
- Evaluating the Baseline Performance of GPT-4-Turbo for Structured Data ExtractionJun 2024
- Finetuning my first LLM(s) for structured data extraction with axolotlJun 2024
- One-click LLM finetuning with Predibase, OpenPipe and OpenAIJun 2024
- How to think about creating a dataset for LLM finetuning evaluationJun 2024
- My finetuned models beat OpenAI's GPT-4Jul 2024
- All the things I learned while trending on Hacker NewsJul 2024
- Reward design for RL, grounded in a structured-extraction taskJun 2026also part 3 of Agentic RL
- GRPO without the maths: how an RL trainer nudges the weightsJun 2026also part 4 of Agentic RL
- My first RL environment: three stages, no trainerJun 2026also part 6 of Agentic RL
- Is this data actually good, or does it just look good?Jun 2026also part 7 of Agentic RL
Balochi Language Model
First steps towards language models for Balochi, a low-resource language. Risks, datasets and tokenisation.
- Low-resource language models: making a start with BalochiMay 2023
- The Risks of Language Models in Minority LanguagesMay 2023
- Building a Balochi Language Dataset for NLP ApplicationsMay 2023
- The What, Why, and How of Tokenisation in Machine LearningJun 2023
- Tokenizing Balochi with HuggingFace's Tokenizer and FastAI/SpacyJun 2023
- Tokenizer LinksJun 2023
MU123 Maths
Going back to maths through the Open University's MU123 module.
Reading 'Robust Python'
Notes on Patrick Viafore's book about types, enums, data classes and invariants.
- What makes code robust?Dec 2021
- What's special about types in Python?Dec 2021
- Getting practical with type annotations and `mypy`Jan 2022
- Different ways to constrain types in PythonJan 2022
- Using type annotation with collections in PythonJan 2022
- Using mypy for Python type checkingJan 2022
- How and where to use enums in PythonJan 2022
- Upgrade your Python dicts with data classesFeb 2022
- What are invariants and how can they help make your Python classes more robust?Feb 2022
Redaction Model
A year-long computer vision project detecting redactions in documents, from a first classifier to thinking about production.
- Training a classifier to detect redacted documents with fastaiSep 2021
- How to annotate image data for object detection with ProdigyNov 2021
- What is VFNet?Nov 2021
- 73% accuracy for redaction object detectionDec 2021
- A Taxonomy of RedactionDec 2021
- A Midway Report on my Computer Vision ProjectJan 2022
- It's raining bboxes: how I wrote a Python script to create 2097 synthetic images to help improve my machine learning modelFeb 2022
- Incremental Improvements to my Redaction Detection ModelMar 2022
- Figuring out why my object detection model is underperforming with FiftyOne, a great tool you probably haven't heard ofMar 2022
- 'I guess this is what data-centric AI is!': Performance boosts after training with synthetic dataApr 2022
- How to trust the data you feed your model: data validation with Great Expectations in a computer vision context (part 1)Apr 2022
- How to trust the data you feed your model: data validation with Great Expectations in a computer vision context (part 2)Apr 2022
- How to trust the data you feed your model: alternative data validation solutions in a computer vision context (part 3)Apr 2022
- A painless way to create an MVP demo using computer vision modelsMay 2022
- More Data, More Problems: Using DVC to handle data versioning for a computer vision problemMay 2022
- It takes a tribe: how I'm thinking about putting my object detection model into productionMay 2022
- Storing Bytes: what data serialisation is and why you need it for machine learningSep 2022
Language Learner's Journal
Following Taylor's Arabic studies in Amman, one check-in at a time.
- Language Learner's Journal: Introducing TaylorJan 2017
- Language Learner's Journal: Adjustments at the Deep EndJan 2017
- Language Learner's Journal: Deepening My StudiesFeb 2017
- Language Learner's Journal: Keeping PaceFeb 2017
- Language Learner's Journal: Leaving QasidMar 2017
- Language Learner's Journal: Independent StudyApr 2017
- Language Learner's Journal: Increasing Spoken FluencyApr 2017
- Language Learner's Journal: Meaningful LeisureMay 2017
- Language Learner's Journal: Phone Calls and Timed BreaksAug 2017
- Language Learner's Journal: Homestay EditionOct 2017
Master Arabic
Writing and launching 'Master Arabic', a book for intermediate students.
- Pre-Order Now: 'Master Arabic'Dec 2016
- New Year, New Arabic-language PodcastJan 2017
- Everything You Need to Study Jordanian ArabicJan 2017
- Things We Control: On Internal vs External GoalsJan 2017
- Master Arabic: What's in the Premium Edition?Jan 2017
- Master Arabic: Behind the CoverJan 2017
- 'Master Arabic' is Out Today!Feb 2017
PhD Tools
The software, habits and small comforts that got me through a PhD.
- PhD Tools: BeeminderAug 2016
- PhD Tools: Visualise Structure and Kanban Flow with TrelloAug 2016
- PhD Tools: Think better with TinderboxAug 2016
- PhD Tools: DevonThink for File Storage and DiscoveryAug 2016
- PhD Tools: Save your web links with PinboardAug 2016
- PhD Tools: Scrivener for Writing Long ThingsAug 2016
- PhD Tools: Bookends for Managing ReferencesAug 2016
- PhD Tools: Mellel for Layout and Final PresentationSep 2016
- PhD Tools: RescueTime for Time TrackingSep 2016
- PhD Tools: Turn Off the Internet with FreedomSep 2016
- PhD Tools: Backup Systems for Staving off SadnessSep 2016
- PhD Tools: Omnifocus for Managing your Non-PhD LifeSep 2016
- PhD Tools: The Secret to Finishing Your PhDSep 2016
- PhD Tools: Vitamin-R and the Pomodoro Technique for Getting GoingSep 2016
- PhD Tools: Freewriting and Journalling to Think Through your WorkSep 2016
- PhD Tools: Pen and PaperSep 2016
- PhD Tools: 'Always return to your primary sources'Sep 2016
- PhD Tools: Goodreads for Cross-PollinationSep 2016
- PhD Tools: Sleep and Movement to Nourish the BodySep 2016
- PhD Tools: TeaSep 2016