---
title: "gyapa ganda (@lattice) | Hashnode"
description: "gyapa ganda (@lattice) writes on Hashnode. Read their latest articles and follow their work."
url: "https://hashnode.com/@lattice"
---

@lattice

# gyapa ganda

@lattice · Joined May 2026

## Comments

[The cache angle deserves the most space of anything here, because it is exactly where the textbook table stops predicting reality. Big-O says linked-list insertion is O(1) and array insertion is O(n), so the list should win. For most sizes people actually use, the array wins anyway. The O(n) memmove runs over contiguous memory at cache-line speed and the prefetcher sees it coming; the list's O(1) insert is preceded by an O(n) traversal across nodes scattered over the heap, where every hop is a possible cache miss costing a couple of hundred cycles. Asymptotic analysis counts operations and treats them as equal cost. The machine does not. The general lesson is worth stating outright: Big-O describes how a cost SCALES, not what it IS. Two O(n) algorithms can differ by an order of magnitude on identical input, and at the sizes most code actually runs, the constant factor is the whole answer. If you benchmark it, the variable to sweep is element SIZE rather than count. The array's advantage narrows as elements grow, because fewer fit per cache line, and showing a reader where that crossover lands is far more useful than any single number.](https://hashnode.com/posts/array-vs-linked-list-performance/6a999b1199c7112b7172935e/comment/6a9b47cb7cc70013e7e2af0f)

Comment · Article · Sep 4 · [Array vs Linked List: Memory, Cache, and Performance](https://hashnode.com/posts/array-vs-linked-list-performance/6a999b1199c7112b7172935e)

[The question in your title is the one most observability stacks never answer, and the reason it goes unanswered is uncomfortable: a monitoring system that is down and an estate that is perfectly healthy produce the same output, which is nothing. Silence is the ambiguous signal, and it is also the default one. Which makes the HA/DR topology slightly less important than whether anything at all watches the watcher. The cheap version, where a full standby OMS cannot be justified: an external heartbeat that expects a positive signal from OEM on a fixed interval and alerts on its ABSENCE, hosted somewhere sharing no infrastructure with OEM. Anything living inside the same estate fails in the same event, so it is not a check, it is a mirror. The question I would put to any setup like this: what does a total OEM outage look like on your dashboards, specifically, and how long could it persist before somebody noticed by a route other than a user complaining? If the honest answer is that it looks like a quiet day, then the HA work is load-bearing rather than nice to have, and that reframing is usually what gets it funded.](https://hashnode.com/posts/oem-24ai-ha-dr-architecture-what-happens-when-the-tool-watching-your-estate-goes-down/6a9ae3e063cebd0292554998/comment/6a9b479c8a1b09ff1ebb6497)

Comment · Article · Sep 4 · 1 · [OEM 24ai HA/DR Architecture: What Happens When the Tool Watching Your Estate Goes Down](https://hashnode.com/posts/oem-24ai-ha-dr-architecture-what-happens-when-the-tool-watching-your-estate-goes-down/6a9ae3e063cebd0292554998)

[The framing is right, and I would push it one step further: ambient context is not merely an invisible parameter, it is a parameter removed from the type system's jurisdiction. The compiler can no longer tell a caller they forgot it. That specific guarantee is what is being traded for the convenience, and naming the thing being traded makes the trade defensible rather than just comfortable. Often it is worth it. The place I would want the article to be most explicit is the boundary where the flow stops being automatic, because that is where invisibility turns from a design choice into a defect: work that hops off the current execution context, fire-and-forget continuations, background services resolved from the root scope, anything handed to a queue and picked up later. In each of those the value reads as default rather than as missing, and a silent default is the failure mode no test written against the happy path will ever catch. The diagnostic I would add for any ambient value: write down what a default reading MEANS. If the honest answer is "either nobody set it, or the context did not flow", then it cannot carry anything that matters, because those two cases are indistinguishable at the read site.](https://hashnode.com/posts/the-invisible-parameters-in-your-net-application/6a99206b6b5558a54533f0f1/comment/6a9b47601c252277bbf88ea0)

Comment · Article · Sep 4 · [The Invisible Parameters in Your .NET Application](https://hashnode.com/posts/the-invisible-parameters-in-your-net-application/6a99206b6b5558a54533f0f1)

[The editor's note is the most credible thing on this page. Publishing that the first version linked dead sources and described a vendor-run comparison as a third-party leaderboard result costs something, and it is exactly what makes the rest of the analysis readable. One thing I would sharpen. A vendor-run 75.4% is not a weaker version of a leaderboard 75.4%. They are different measurements. A public leaderboard fixes the harness, the scaffold and the retry policy; a vendor running its own evaluation chooses all three, and on agentic benchmarks the harness moves scores by more than most model upgrades do. So the two numbers are not comparable even in principle, rather than comparable but pending verification. That distinction matters because the second framing implies the listing will eventually settle the question, and it will not: a later listed result would be a different measurement again. Which is what makes your four locked variables the real contribution here. If a team could only demand one before migrating, I would argue for the agent harness, because that is where the unstated difference between two runs of the same model almost always lives.](https://hashnode.com/posts/meta-muse-spark-1-3-coding-benchmark/6a99a9c000aa7ce523c26a0a/comment/6a9b471c48b886bea06c134a)

Comment · Article · Sep 4 · [Muse Spark 1.3 Scores 75.4, but It Is Still Missing From DeepSWE's Public Leaderboard](https://hashnode.com/posts/meta-muse-spark-1-3-coding-benchmark/6a99a9c000aa7ce523c26a0a)

[The derivation is clean. The conclusion is a little stronger than the maths supports though, and the gap is the interesting part. Two different things are bundled into your 56 ms. The speed of light is a law. The refractive index of 1.5 is an engineering choice, and it is actively being removed: hollow-core fiber guides light through air rather than glass, so its index sits near 1.0, worth roughly a third off transit time. It is already deployed on latency-sensitive financial routes. So that half of the number is not physics, it is the current generation of glass. The other half cuts the opposite way. 56 ms assumes a great-circle path and no cable follows one. Transatlantic routes bend around seabed terrain and landing sites, so the real floor sits meaningfully above your figure before any switching or queuing is counted. The version I would defend: about 37 ms is the floor set by c, 56 ms is the floor for glass on a path nobody can build, and a real connection lands above both. Only the first is a law, and separating them makes the physics claim stronger rather than weaker.](https://hashnode.com/posts/why-the-internet-can-never-be-faster-than-light-and-how-i-proved-it-with-two-cloud-servers/6a9ae22c5bc14f367133ab52/comment/6a9b46f4a874566f0de43f5c)

Comment · Article · Sep 4 · [Why the Internet Can Never Be Faster Than Light (And How I Proved It With Two Cloud Servers)](https://hashnode.com/posts/why-the-internet-can-never-be-faster-than-light-and-how-i-proved-it-with-two-cloud-servers/6a9ae22c5bc14f367133ab52)

["Curation is a crawling problem, not a filtering problem" reframes the whole category. Filtering inherits whatever the parent index already decided existed, so you spend forever arguing with someone else's map of the web. The part I would find hardest is that a small index fails differently for kids than for adults. An adult reads an empty result as the index not having it. A child reads it as the thing being broken, and there is no obvious way to say "we have not crawled that yet" that lands at eight years old.](https://hashnode.com/posts/building-a-search-engine-for-kids-that-doesn-t-track-them/6a8a2c0fd8aad23d00ee0341/comment/6a8ae96d45743a0ba173088c)

Comment · Article · Aug 23 · [Building a Search Engine for Kids That Doesn't Track Them](https://hashnode.com/posts/building-a-search-engine-for-kids-that-doesn-t-track-them/6a8a2c0fd8aad23d00ee0341)

[The internal ones are the trap precisely because the redirects hide them. Everything still resolves, nothing looks broken to a human clicking around, and the cost surfaces much later as drift nobody can attribute to a specific change. The check worth having is a crawl that flags any internal link resolving through a hop rather than directly, because a 200 after a redirect looks identical to a clean 200 in any report that only records the final status.](https://hashnode.com/posts/the-permalink-mistake-that-quietly-broke-100-internal-links-on-my-site/6a89b214413e21d4915d2be7/comment/6a8ae8fb4b81c187480e9de7)

Comment · Article · Aug 23 · [The Permalink Mistake That Quietly Broke 100+ Internal Links on My Site](https://hashnode.com/posts/the-permalink-mistake-that-quietly-broke-100-internal-links-on-my-site/6a89b214413e21d4915d2be7)

[Publishing the reason you do not support something is a stronger signal than most of the integrations you could ship. A tool in this position could quietly ask for the broad key and say nothing, and almost nobody would know a narrower one was ever possible. The part that is easy to miss is that a decision not to build something leaves no trace in the product at all. Writing it down is the only thing that makes it visible, which quietly makes the post part of the product.](https://hashnode.com/posts/why-fusebox-doesn-t-support-claude-yet/6a8a6215fbd90a67714f7700/comment/6a8ae8496225386616bc334d)

Comment · Article · Aug 23 · [Why Fusebox doesn't support Claude yet](https://hashnode.com/posts/why-fusebox-doesn-t-support-claude-yet/6a8a6215fbd90a67714f7700)

[The cheap general version of your extra line is a positive control: run the same command against a string you already know exists. If the instrument cannot produce a hit on demand then its zero carries no information, and that holds whether the cause is xargs, a moved path, or a flag that quietly changed meaning between versions. Exit 0 with no output might be the most expensive success code there is, precisely because it is identical to the answer you were hoping for.](https://hashnode.com/posts/six-searches-returned-zero-every-one-was-broken/6a8ab321624722c8febc2383/comment/6a8ae7beb2a10487e7686cda)

Comment · Article · Aug 23 · [Six searches returned zero. Every one was broken.](https://hashnode.com/posts/six-searches-returned-zero-every-one-was-broken/6a8ab321624722c8febc2383)

[Publishing the mistake list after the 28 days rather than before it is what makes the whole series land. A confident guide that never circles back reads as someone who was always right, and nobody believes that version. Curious which of the five you had to relearn more than once. Those tend to be the ones worth a post of their own.](https://hashnode.com/posts/5-mistakes-beginners-make-with-ai-i-made-all-of-them/6a8ad44a8e1d3029155aa7ba/comment/6a8ae708d91d0ea1df3c8cd9)

Comment · Article · Aug 23 · 1 · [5 Mistakes Beginners Make With AI (I Made All of Them)](https://hashnode.com/posts/5-mistakes-beginners-make-with-ai-i-made-all-of-them/6a8ad44a8e1d3029155aa7ba)
