{"slug": "on-asking-why", "title": "On asking why", "summary": "A developer explores the importance of asking 'why' in technology, tracing the history of web compatibility hacks like User-Agent strings and advocating for pragmatic critical thinking over mere curiosity. The article argues that understanding the reasoning behind technical decisions, from HTTP evolution to LLM tokenization, builds practical knowledge and problem-solving skills.", "body_md": "# On asking why\n\nThe first time I looked at a `User-Agent`\n\nstring, I had no idea what it\nmeant. Every browser on earth claims to be Mozilla? Chrome, Safari, Edge —\nthey all open with the same word, and somewhere in the middle sits this thing\ncalled Gecko.\n\nSo I asked why. The answer turned out to be a small history of the web: old compatibility hacks, copied forward because removing them would break the world.\n\nThat’s how progress works. We hide old decisions inside new solutions. We solve a problem with a tool, the tool creates a new problem, and we reach for another tool. The loop spins fast enough that we eventually forget the whys. For example:\n\n- Why do we need HTTPS, and what was the web doing before it that was so risky?\n- Why wasn’t ASCII enough, and what pushed us into Unicode?\n- Why does an LLM read tokens instead of words, and who decides where one token ends?\n- Why does an LLM swear strawberry has only two r’s?\n- What is a glitch token like\n`SolidGoldMagikarp`\n\n, and how did it end up in a model’s vocabulary?\n\nOpen-source software made it possible to be a great programmer without ever asking. You can ship something real and never once peek under the hood. I’m not asking you to rebuild any of this yourself. I’m asking you to notice the questions.\n\nAsking why builds something curiosity alone never will: **pragmatic critical\nthinking**. As the saying goes, curiosity kills the cat — and it can drag you\ndown a rabbit hole at 2am with nothing to show for it. Pragmatic thinking has\na destination and hands you knowledge you can actually use.\n\nTake HTTP/3. If you trace the decisions that carried the web from HTTP/1 all\nthe way there, you walk away with real engineering design insights. If you\nwant to follow that thread, start with [this MDN article on the Evolution of\nHTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP),\nthen read Jay Alammar’s [The Illustrated\nTransformer](https://jalammar.github.io/illustrated-transformer/). And if\nyou’re feeling brave, the paper that kicked it all off: [Attention Is All You\nNeed](https://arxiv.org/abs/1706.03762).\n\nHere’s the good news. Pragmatic critical thinking is a skill, not a gift, so you can practice it. I keep three habits that help me point the question at things that matter, and odds are you already do some of them by accident. Doing them on purpose is what speeds you up.\n\n-\n**Recognize your assumptions.** An assumption is anything you accept as true without proof. If you live in object-oriented code, you might assume you always need classes and methods to build a program. If you live in model APIs, you might assume a bigger model is always better, or that the model reads your prompt the way you meant it. Some assumptions are sneakier — like[“the time 23:59:60 is always invalid”](https://www.creativedeletion.com/2015/01/28/falsehoods-programmers-date-time-zones.html)(spoiler: it isn’t), or its AI cousin, “an LLM can always count the letters in a word” (sorry, it can’t). Watch for*always*,*must*, and*should*. Those words are usually an assumption in disguise. -\n**Debug your assumptions.** Before you ask why, ask whether the thing is even true. Reason it through, test it, and if it falls apart, move on to the last step. -\n**Seek answers.** This is the moment curiosity would have died, and where pragmatic inquisitiveness takes its place instead. Every answer you find becomes a tool you keep, and each one makes the next why easier to ask.\n\nWe all believe a few false things; that’s just part of being human. Treat each one as an invitation.", "url": "https://wpnews.pro/news/on-asking-why", "canonical_source": "https://vinibrasil.com/on-asking-why/", "published_at": "2026-06-02 00:00:00+00:00", "updated_at": "2026-06-21 01:43:35.759829+00:00", "lang": "en", "topics": ["large-language-models", "ai-research", "developer-tools"], "entities": ["Mozilla", "Chrome", "Safari", "Edge", "Gecko", "MDN", "Jay Alammar", "Attention Is All You Need"], "alternates": {"html": "https://wpnews.pro/news/on-asking-why", "markdown": "https://wpnews.pro/news/on-asking-why.md", "text": "https://wpnews.pro/news/on-asking-why.txt", "jsonld": "https://wpnews.pro/news/on-asking-why.jsonld"}}