<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kanishk Varshney — Writing</title><link>https://decodedbykanishk.codes/blog</link><description>Essays on shipping AI from R&amp;D and PoC to production at scale.</description><item><title>Building BPE from scratch</title><link>https://decodedbykanishk.codes/blog/building-bpe-from-scratch</link><guid isPermaLink="false">https://decodedbykanishk.codes/blog/building-bpe-from-scratch</guid><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><description>Byte-Pair Encoding fixes word-level tokenization by working with subword pieces: it starts from single-byte characters  -  so text in its range is never out-of-vocabulary  -  and repeatedly merges the most frequent adjacent pair. Here it is built and trained from scratch, with a live playground.</description></item><item><title>Why word-level tokenizers break</title><link>https://decodedbykanishk.codes/blog/why-word-tokenizers-break</link><guid isPermaLink="false">https://decodedbykanishk.codes/blog/why-word-tokenizers-break</guid><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><description>A model never sees text - it sees integer ids from a fixed vocabulary. Building the simplest possible tokenizer makes the encode/decode contract concrete, and shows exactly where word-level tokenization loses information.</description></item></channel></rss>