200 Milliseconds
200ms.thenodebook.com
200ms.thenodebook.com
I'm seeing 3 violet elements on my screen. "ms" in the top left, the dot next to that text, and a dot on a horizontal timeline at the lower edge of the screen. Scrolling down I see yet more violet UI elements, I assume the one on the vertical timeline represents the data, while all the others represent... other things.
It seems violet is just the accent colour used for everything, which makes it an especially perplexing comment. I can only assume the "author" never even read the LLM's output before posting it.
Half the time it’ll record some temporary implementation quirk, which later sessions interpret as infallible product design requirements. Absolutely unsustainable.
Literally # This method rejects splines that can't be reticulated. This helps us avoid murdering puppies and punching a baby in the face.
I think it's because the explainer is passive, there's no interiority, it tells and doesn't show. plus, stylistically, if this were rewritten in second person (like most explainers are) it would make it a heck of a lot more readable:
'You order a coffee on your coffee shop's tablet. 211.4 ms later you see 'Order Confirmed'.
There's a world of complexity behind that status confirmation. Let's see how it all works.' etc
35ms times 6 is 210ms-- so just about physically possible with current infrastructure. But: this leaves no time for any of the hosts to do anything, or the wifi in the cafe, or whatever.
You read this sentence:
>This website shows what happened in between.
And immediately get shown an ad "how to build a backend framework from the wire up".
The first thing you think to yourself is how does building a backend relate to a coffeeshop click? Why would you even have to click in a coffee shop in the first place? If you really insist on product placement, why not explain how your order page works instead?
"the rules of this page" is a terrible wall of text that expects you to read carefully and memorize instead of using the scroll mechanism itself to show the clock in the center of the screen and then move it with a fluid animation to the top, so you notice it is there. Same problem problem with the time stop. You have to introduce the time stop mechanic as you go.
"the cast" is terrible yet again, you've primed me to expect the clock to start and I scroll through the request and nothing happens??? Why emphasize the infrastructure at the end with text? Why are there six requests? You only need one HTTP request/reply and TCP does not have the concept of requests. The packet round trips created by TCP/TLS handshakes do not count as multiple requests. This explainer feels wrong from a technical perspective already .
Then there is the fact that the text columns are incredibly thin with heavy vertical separation, there's an incredible waste of horizontal and vertical space to the point where you hardly get to read anything at all. You can divide the screen into 9 rectangles and only one of those is used. 90% of the screen is empty.
It also keeps jumping from single column, to double column to single double column (yes) and left bound text.
Not only does it not hook me, I'm having a hard time believing that the creator of this actually looked at the output or iterated on it at all.
It also made me think of the Feynman Learning Technique[1] or learning by teaching in general: being able to accurately explain in simple terms requires to fully grasp the concept and noticing gaps in the explanation is an insight to the explainer to evaluate and understand those parts again at a deeper level. An AI arguably does not have this understanding and will happily drive home any point we have asked it to make.
In a way I think it's tied to the other discussion from today[2] where it was posited that domain knowledge makes you better at prompting LLMs and, consequently, would enable you to also better structure and evaluate explainers. But then again, explaining well is a different skill altogether.
[1]: https://en.wikipedia.org/wiki/Learning_by_teaching#Plastic_p... [2]: https://news.ycombinator.com/item?id=49161518
Just to be the "actually..." guy: People notice 200ms delay. It's just that in cases it doesn't cause any bad feelings."
At 50ms, you notice.
At 400ms, you care.
At 2000ms, without output, you wonder if it crashed. (That was the old one.)
That must have been a really, really long time ago indeed, because there are very few websites now that take less than 2000ms to load. The linked site didn’t even come close on my phone (probably 3-4 seconds), and I most certainly didn’t wonder whether it had crashed.
Not seeing the final completion of the request.
Your phone probably showed something after you clicked the link but before the page rendered: Link highlight change, a progress bar, etc.
If your phone had crashed and the browser was non-responsive, you would have recognized it quickly. More quickly than the page load time.
I still remember the POS in my previous employers cafeteria. It had something like 100-200ms delay in processing a contactless payment card. It felt like an order of magnitude faster than any grocery store (exact same POS device). It was always very satisfying to pay for lunch. By the time you brought the card to the reader it felt like it was already printing the receipt.
I always wonder how it was so fast and if it was just some random dev optimising some obscure edge case.
I'm certain it's because the big store's card machines have a wired network connection to a router with a fibre connection, while most smaller shops just use card machines with integrated GPRS wireless modems as they even show feedback about connecting as you tap your card.
A stall vendor who I use somewhat regularly warned me one time that her card machine was down (I guess some kind of maintenance as it was earlyish on a Sunday morning) so would only be able to accept cash. I helped her put the card machine on a nearby shop's free WiFi and not only did it work around the problem, but it made card transactions going forward significantly faster.
But even offline there are huge differences, say Visa / Mastercard EMV and Suicia's Felica in Japan, where the whole transaction finish in 150ms.
There were previously some work where they try to get it down to 50ms, I don't know if they are still working on it or has abandoned it.
kicking llama's ass...
Might have been better to have made it clicking a ‘like’ button.
Basically, they don't have any significant bottlenecks, POS hardware + software is responsive with an efficient UI for the operator, and the card machine is a wired connection to a router with a fibre uplink.
>capacitance dip → interrupt raised
>hid driver report: x 512 · y 288 · button 1 down
>...
>One millisecond in, the click has passed through four pieces of software and nothing has left the laptop.
I'm going to press X to doubt.
There's no way you're getting from "finger touching glass" -> "chrome seeing a click" in one millisecond. Heck, I know for a fact that even the cap touch controller isn't going to be that quick.
I would believe it's closer to 40-50ms, E2E. Even if the captouch was instantaneous, 1ms latency latency is in the realm of RTOS, not a general-purpose OS feeding a bloated app like chrome.
but bloated OS ? i have no idea
Gave me roller-coaster ride across 40 years of gathering knowledge about computers and networks.
I'm very jealous of whoever created that. Well done!
> Five milliseconds of hardware and browser bookkeeping before a single byte leaves the laptop.
I don’t even know how to describe it, but the “[…] before X” sentence style stands out to me.
Homer explains it best https://youtu.be/Tmx1jpqv3RA
For common usage they are equivalent, e.g. I'm jealous of X is the same as I'm envious of X.
We say “jealously guarded’ not ‘enviously guarded’ for a reason. Jealousy is about being protective of your own possessions and relationships; you feel jealousy if your spouse responds well to a coworker’s flirtations. Envy is when you find think of the coworker’s luck in having a good looking spouse
1: hostile toward a rival or one believed to enjoy an advantage : envious
>His success made his old friends jealous.
>They were jealous of his success.
I rest my case.
Depending on who you ask, jealousy and envy are either exact synonyms, totally different words, or near-synonyms with some degree of semantic overlap and some differences. It is difficult to make the case, based on the evidence of usage that we have, for either of the first two possibilities. Both jealousy and envy are often used to indicate that a person is covetous of something that someone else has, but jealousy carries the particular sense of “zealous vigilance” and tends to be applied more exclusively to feelings of protectiveness regarding one’s own advantages or attachments. In the domain of romance, it is more commonly found than envy. If you were to say “your salt-shaker collection fills me with jealousy,” most people would take it to mean much the same thing as “your salt-shaker collection fills me with envy.” But if someone made a flirtatious comment to your partner, you would likely say that it caused you jealousy, not envy.
Some assert that only envious is correctly used to describe someone who feels or shows a very strong desire for something that belongs to someone else, but in truth both envious and jealous commonly carry this meaning. Jealous alone is used to describe someone who tends to suspect unfaithfulness.
[1] https://www.merriam-webster.com/dictionary/enviousThis web site is basically a cheat code for that question lol. So well done, kudos to the author. Bookmarked and shared
Proceeds to use that color for tooltips, text color, headers, and more
This was a really cool visualization but that ^ bothered me way more than it should have.
Classic software engineer perspective.
I have good friends who build their entire career between "ISP" and "Load Balancer"
https://github.com/alex/what-happens-when
"What happens when you type google.com into your browser's address box and press enter?"
> A problem repeatedly occurred on "https://200ms.thenodebook.com/#act-O-prologue”
I find this usually is caused by being too clever with layouts.oof
Nice idea, but execution could be better - way too many factual errors. Actually, considering it appears to be just 100% ai slop it's a little bit shocking how many just plain wrong statements it put out. Almost every section is at least a little bit off...
Also a lot of times in person payment flows allow a lot more in their latency budget because it won’t impact the sale, you won’t walk out because of a second here or there, unlike online.
So systems aren’t as optimized, they route to older systems, marketing or further risk checks are added, and a broader range of accepted services that have higher latency (ent/snap processors and the like).
Highly recommended for infrastructure engineers, solution architects, and developers.
I assume the book this post is marketing is also AI slop too and I lost respect for its author.
I’m very confident that if I looked further I’d find it riddled with errors. I just skimmed it and looked at a couple of the bits I’m most familiar with and immediately found notable errors.
But really, great page.
Someone new could learn from it the basics of what to check when debugging web.
Somewhat ironic, given how many contracts here seem to come with 3 months notice periods.
Am I the only one that doesn’t think of this as ‘api.thenodebook.com.’? What does the LLM mean by the zero after .com marking where the last dot would go?