News for hackers. Stuff that matters.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Thursday January 15, 2026 @07:28PM (#46641476)
“On the Core 2 Duo machine that preceded it, running XP from spinning rust, the calculator would appear instantly - certainly before I can release the button.”

This reminds me that there’s an NBA rule that disallows any basket made after a clock stoppage with 300ms or less in the clock - i.e. if player A managed to pass to player B who then attempted a shot, it’s impossible for all that to occur before 300 ms has elapsed.

Meaning, I’m sure you remember it fully launched, 100% certainly before the key came back up from your press, but that is impossible.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by mikkupikku on Thursday January 15, 2026 @08:07PM (#46641771)
Your comment reminds me of that rule from baseball that says something about batters and hats, or maybe it was about helmets or something, it doesn't really matter though because the only point of this sports ball rambling is to distract you from noticing that my "nuh uh" has no substance. Did it work?
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Thursday January 15, 2026 @08:32PM (#46641929)
This is more than a bit out of place on HN in my experience, please, try to engage politely.

I’m not sure what I can say that will qualify as more than “nuh uh” to you, shy of getting a Core 2 Duo running with XP and the same keyboard as OP. That isn’t possible at the moment, is there anything else I could do?

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by actionfromafar on Thursday January 15, 2026 @08:36PM (#46641949)
300ms is a lot of time, especially if the calculator.exe was in disk cache already.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Thursday January 15, 2026 @08:42PM (#46642003)
300 ms is a long time on a computer, definitely. Just, the autistic side of me has to speak up when it’s wildly unrealistic glorification of the past.

Keypress duration is likely much less than 300 ms, top Google result claims 77 ms on average. And that’s down and up.

I see it being in cache already as sort of game playing, i.e. we can say anything is instant if we throw a cache in front of it. Am I missing something about caching that makes it reasonable? (I’m 37, so only 18 around that time and wouldn’t have had the technical chops to understand it was normal for things to be in disk cache after a cold boot)

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by do_not_redeem on Thursday January 15, 2026 @09:46PM (#46642423)
Okay, let's say the cache is cold and you're on an old clunky spinning rust 5400 RPM hard drive. Do the math. How long will it take, worst case, for the platter to spin to where calc.exe is stored?
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Thursday January 15, 2026 @10:21PM (#46642613)
For a 5400 RPM drive, worst-case rotational latency is one full rotation: 5400/60 = 90 rev/sec, so ~11ms. Average is half that (~5.5ms). If you also need to seek (yes, we'll definitely need to move on both axes in the worst case scenario requested, likely all the time), 2006-era datasheets show average seek around 11-12ms, with full-stroke seeks around 21-22ms. So worst case total access: ~33ms.

Seagate Momentus 5400.3 manual (2005): https://www.seagate.com/support/disc/manuals/ata/100398876a....

Hitachi Travelstar 5K120 (2006):http://www.ggsdata.se/PC/Bilder/hd/5K120.pdf

WD Scorpio (October 2007): https://theretroweb.com/storage/documentation/2879-001121-a1...

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by actionfromafar on Friday January 16, 2026 @05:57AM (#46645175)
If you had used calculator earlier that uptime, it wouldn't be crazy. It's a small exe.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by mikkupikku on Friday January 16, 2026 @06:10AM (#46645238)
I admit you got me mildly anmoyed with the sports nonsense, sorry about that.

Anyway, you're talking about reaction time, which isn't actually relevant. The time between an action (pressing a button, or flipping a switch) and seeing the result happen isn't the same as the time it takes you to re-act to that something. Flip a light switch, does the light turn off instantly, or does it take a full third of a second? I guarantee you can tell the difference. 300ms of latency is actually huge and easily perceptible, even if it's faster than you can react.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by OsrsNeedsf2P on Thursday January 15, 2026 @08:02PM (#46641730)
Why is it impossible?
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Thursday January 15, 2026 @08:34PM (#46641942)
Tl;dr reaction time, 300 ms is the golden rule for reaction speed, and apparently there was actually a sports medicine study that came to that #. I was surprised to see that, 300 ms comes up a lot in UX as “threshold of perceptible delay” but it was still surprising to see.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by yjftsjthsd-h on Thursday January 15, 2026 @09:09PM (#46642188)
I was curious, so did a quick web search, which claims that 300ms is the average reaction time and plenty of people run faster than that.

But I think the question was the other way: Why couldn't calc.exe launch in 300ms?

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Thursday January 15, 2026 @10:29PM (#46642666)
300 ms is way longer than they budgeted; separately, I was alive then and it's a ridiculous claim, like, it takes a general bias we all have towards seeing the past with rose-colored glasses and takes it farcically far.

Don't want to clutter too much, I'm already eating downvotes, so I'll link:

https://news.ycombinator.com/item?id=46642003

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by chungy on Friday January 16, 2026 @01:53AM (#46643748)
I have Windows 95 on a Pentium 120 MHz and calc.exe is instantaneous enough that it's probably much less than 300ms to launch.

XP's calculator is hardly any different than 95. It's easy to believe that launching it on a Core 2 Duo of all things is also instant.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by hnlmorg on Friday January 16, 2026 @03:39AM (#46644378)
You’re both kind of right.

On the average consumer hardware at launch, 95 and XP were slow, memory hungry bloats. In fact everything that people say about Windows 11 now was even more true of Windows back then.

By the end of the life of Windows 95 and XP, hardware had overtook and Windows felt snappier.

There was a reason I stuck with Windows 2000 for years after the release of XP and it wasn’t because I was too cheep to buy XP.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by jcelerier on Friday January 16, 2026 @01:01AM (#46643447)
yeah no. Ask musicians using computers - 50 milliseconds of latency between sound and movement is generally considered unplayable, 20 milliseconds is tough, below 10ms usually is where people start being unable to tell.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by hnlmorg on Friday January 16, 2026 @03:46AM (#46644424)
You’ve fallen into the common trap of conflating reaction time with observable alignment time.

Reactions are about responding to one off events.

Whereas what you’re describing is about perception of events aligned to a regular interval.

For example, I wouldn’t react to a game of whack-a-mole at 50ms, nor that quickly to a hazard while driving either. But I absolutely can tell you if synth isn’t quantised correctly by as little as 50ms.

Thats because the later isn’t a reaction. It’s a similar but different perception.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by jcelerier on Friday January 16, 2026 @08:55AM (#46646359)
But here we're talking about not being able to notice whether calc.exe opens in less than 300 milliseconds, not how fast we can react to it opening? It's the same thing with audio latency (and extremely infuriating when you're used to fast software where you can just start typing directly just after opening it without having to insert a pause to cater to slowness)
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by hnlmorg on Friday January 16, 2026 @11:32AM (#46648317)
No it's not the same thing with music latency. For one thing, music is an audio event where as UI is a visual event. We know that music and audio stimuli operate differently.

And for the music latency, you can here where the latency happens in relation to the rest of the music piece (be the rock music, techno, or whatever style of music). You have a point of reference. This makes latency less of a reaction event and more of a placement event. ie you're not just reacting to the latency, you're noticing the offset with the rest of the music. And that adds significant context to perception.

This is also ignores the point that musicians have to train themselves to hear this offset. It's like any advanced skill from a golf swing to writing code: it takes practice to get good at it.

So it's not the same. I can understand why people think it might be. But when you actually investigate this properly, you can see why DJs and musicians appear to have supernatural senses vs regular reaction times. It's because they're not actually all that equivalent.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by cwillu on Friday January 16, 2026 @09:07AM (#46646457)
Pressing a key to trigger an action that you will then send additional input to is an entirely different sequence of events than whack-a-mole, where you are definitionally not triggering the events you need to respond to.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by hnlmorg on Friday January 16, 2026 @11:29AM (#46648269)
I'm not talking about latency (though I don't fully agree with your statement but I've covered that elsewhere). I'm talking about the GP's comparison of reactions vs musicians listening to unquantised pieces.

You simply cannot use musicians as proof that people have these superhuman reaction times.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by robinsonb5 on Friday January 16, 2026 @04:11AM (#46644571)
I'm not sure why human reaction time is relevant here, since what I'm talking about isn't the time it takes me to respond to a stimulus but the time it takes the computer to respond to a stimulus.

I do do still have both computers set up side-by-side (legacy data from an old business), and the keyboard in question was a Microsoft Comfort Curve 2000 (the calculator button wasn't a proper key, it was one of those squidgy extra keys so beloved of multimedia keyboards, so not as fast to operate as a proper key.)

Anyhow, the point (arguably hypberbolic as it may have been) wasn't about reaction time per se, it was about the older calculator app - and by extension much of the rest of the OS - being a much simpler and less bloated piece of software, and running it on faster-than-contemporaneous hardware makes for a sense of immediacy which is sorely lacking in today's world of web apps.

I'd be very interested to know to what that 300ms "threshold of perceptible delay" applies. You might not notice a window taking 300ms to open - but I'd be willing to bet that when you're highlighting text with the mouse or dragging a slider, you'd be very aware of the UI lagging by nearly 1/3 of a second.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by refulgentis on Friday January 16, 2026 @04:15AM (#46644589)
This is a lot of words that say "yeah, I was hyperbolic, but it was directionally correct." I do appreciate the candor but its a bit late, as you see by the text color of my comments. Many people do the same thing as you, no worries, I appreciate you validating my quixotic self-destructive work.
Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by robinsonb5 on Friday January 16, 2026 @05:17AM (#46644947)
I'm sorry you're being downvoted - for the record I've upvoted since it's interesting, even if we disagree in some aspects.

Since I still have the machine in question here, and I'm now interested enough to try and get some rough measurements, I've just videoed it with my phone (30fps video) and done some frame counting, both from a cold boot with nothing cached, and also a repeated launch.

Firstly from a cold boot:

It's hard to tell exactly when the keypress registers, but I believe what I'm seeing is the key being pressed, two frames later the hourglass appears, two frames after that the calculator appears. (The TFT screen will likely be adding at least one frame lag, but let's ignore that for now.) So that's somewhere between 166 and 200ms for a cold launch.

If I close the app and repeat, there's now just one frame between keypress and hourglass, and just one more frame between hourglass and the app appearing, so now nearer 100ms.

Looking at the videos my finger is off the key the first time the app appears, but not the second time - though if I made a special effort to release the key as quickly as possible I now think I could probably just about beat it.

Re:Go-legacy-winxp: Compile Golang 1.24 code for Windows XP by xerox13ster on Friday January 16, 2026 @05:10AM (#46644905)
The Doherty threshold is 400 ms. That’s the threshold which you start impacting users focus, and flow.

Back in the day, we actually used to aim for that as a user experience metric.