Skip to content
Murali Krishnan A
Home

Writing

Notes

Things I have had to learn twice, written down so I only have to learn them once more.

15 posts

Earlier

2026

  1. Ollama from scratch, part 5: putting your own data into the model

    The final part of the beginner's guide. 'Train Ollama on my own data' almost always means one of three cheaper things. This part walks through all three, in order: a one-line system prompt in a Modelfile, retrieval so the model answers from your documents, and actual fine-tuning with the tools that do it and the path back into Ollama.

    07 Jul 2026 · 5 min

  2. Ollama from scratch, part 4: using Ollama as a server

    Part four of the beginner's guide. Ollama has been a web server the whole time. This part covers calling its HTTP API from curl, Python and other tools, keeping a model loaded so the first request is not slow, running several models at once, exposing it on your network safely, and setting the environment variables that control all of it on macOS, Windows and Linux.

    19 Jun 2026 · 5 min

  3. Ollama from scratch, part 3: adding models that are not in the library

    Part three of the beginner's guide. The Ollama library is a curated slice of what exists. This part covers pulling models straight from Hugging Face, importing a GGUF file with a Modelfile, what makes a model compatible with Ollama in the first place, and how to read the error when one will not load.

    04 Jun 2026 · 5 min

  4. Ollama from scratch, part 2: model names, pulling, and what will actually run

    Part two of the beginner's guide. How to read a model name like llama3.1:8b-instruct-q4_K_M, what a pull actually downloads, why an 8-billion-parameter model is a 4.7 GB file and not a 16 GB one, and how to check whether a model will run on your machine before you download it.

    21 May 2026 · 6 min

  5. Ollama from scratch, part 1: installing it and running your first model

    The first of a five-part beginner's guide to running AI models on your own computer with Ollama. This part covers what Ollama actually is, how to install it on macOS, Windows and Linux, running your first model, and where everything lives on disk.

    06 May 2026 · 7 min

  6. Running models on your own machine with Ollama

    What actually happens when you pull a model, why the file is smaller than the parameter count suggests, how to work out whether your laptop can hold it, and the settings that matter once it runs.

    11 Feb 2026 · 8 min

2025

  1. JSONata: when transformation logic should be data, not code

    A query and transformation language for JSON that lets you store integration logic in a database row instead of a deployment, and reshape data from many systems into one output.

    09 Dec 2025 · 8 min

  2. rrweb: a session is a string, not a video

    The DOM is a tree of nodes, so a whole browsing session serializes to plain text. rrweb does that well enough to build on: I used it to stream physics simulations to classrooms, it is what PostHog session replay runs on, and it turns a bug report into a string you can re-render pixel for pixel anywhere.

    07 Oct 2025 · 7 min

  3. Googling was the skill. Now it's prompting.

    For years the best programmers were the best searchers. That skill has moved, and most of what made someone good at it still applies.

    19 Aug 2025 · 5 min

  4. Elasticsearch, OpenSearch, Typesense: what I learned running search at scale

    How an inverted index actually works, why relevance is a tuning problem and not a feature, and an honest comparison of the three engines most teams end up choosing between.

    04 Mar 2025 · 8 min

2024

  1. CRDTs, ProseMirror, and why Google Docs doesn't use either

    The math behind conflict-free collaborative editing, how it fits into ProseMirror and Tiptap, and the reason the most famous collaborative editor in the world took a completely different route.

    12 Nov 2024 · 8 min

2022

  1. npm, yarn, pnpm: I moved for speed, stayed for the hard link

    I switched package managers twice, the second time because node_modules was eating my laptop. The thing that actually saves the disk is not the part I gave credit to. This is what a full node_modules folder taught me about symlinks, hard links, and the folder I had never looked inside.

    13 Feb 2022 · 5 min

2020

  1. Building a consent system for airports on Hyperledger Fabric

    My first blockchain project. Why a permissioned chain instead of Ethereum, what chaincode actually is, why the personal data never touched the ledger, and the design decisions I would defend today.

    22 Sept 2020 · 15 min

  2. I rewrote SSL in my first year of college. Here is what it taught me.

    Hedge won a Facebook productization grant in 2017. It captured browsing activity in internet cafes, scored it with NLP, and moved it over a handshake I built myself. Most of what I learned came from the parts I got wrong.

    14 Jun 2020 · 9 min