I rather agree. The layout actually looks pretty straightforward, but the controls make it annoyingly hard.
Though, in real life, people often don't look at the road markings - possibly even more true in America, where people are perhaps less familiar with the roundabout concept - and general directions of traffic flow is an issue. Perhaps driving this particular roundabout in real life might indeed turn out to be as annoying as this game is to play.
(There are a couple of straightforward-looking ones near me that, in practice, are almost impossible during busy times in specific directions. Even if your car is powerful enough to zip onto the roundabout in a tiny gap without there being a crash, now you have to not crash while making it turn...)
The standard says that fread calls fgetc multiple times for each object:
> For each object, size calls are made to the fgetc function and the results stored, in the order read, in an array of unsigned char exactly overlaying the object
(wording unchanged since C99)
If the file is unbuffered, depending on how the implementation handles buffering, and how it interprets the standard, then perhaps it does end up hitting a path where there's 1 ReadFile call per byte...
I don't know how most implementations get around this. Presumably it's valid to interpret "calls are made" as "behaving as if calls are made", meaning fread can copy data out of the FILE's buffer directly, or make calls directly to whatever routine fgetc defers to, rather than calling fgetc N times literally. Looks like glibc's fread does this.
You can call setbuf(fp,NULL) after opening, and now the stream is unbuffered. What this means is apparently implementation-dependent.
As to why you'd do that? - well, who knows the exact circumstances in this case. Perhaps this was faster in some meaningful case that was relevant to some other project (and then maybe the fread doesn't call fgetc after all!). I'm just speculating. Well-reused code often ends up with stuff that needs rethinking, that, even if noticed, nobody has the time or inclination to attempt to fix.
Watching your own hand movements through your phone camera is a good demonstration of this. Set 60 Hz video mode, and the latency is probably less than 30 ms - but still extremely obvious.
it's quite a lot more than 30ms, as phone cameras do some real heavy-weight image processing to compensate for their tiny size, I'm talking neural networks and such. the throughput might be 60fps when it's all conveyor-ed but the latency sure isn't
You're right. Looks like it's more around 90 ms, at least for my iPhone 12 Mini. Test setup was taking a photo of the iPhone 12 Mini watching an incrementing counter on a 50 Hz CRT.
I had to read your comment a couple of times to understand it. I assume you are saying that "/bin/ls" is the "most ordinary command imaginable"? I think your original quote is saying most ordinary when running ffmpeg, which has a famously complex command line interface.
This question is answered by the post? There is reportedly actually no way of stopping it happen. Perhaps the poster had a brain fart while typing it. Maybe they speak a different dialect of English from you.
Many kinds of double negative are acceptable in many English dialects, and are interpreted as emphasis. The negatives add, rather than multiply. (Though I admit I myself don't speak such a dialect, hence the equivocation.)
He's got subscribers. Maybe the attitude is one he's found plays well with them.
I find it quite refreshing in some ways. Lots of people, when they start complaining about this or that aspect of this AI stuff, are wont to add in a little disclaimer that, despite all of the above, they actually really like AI and use it all the time. I assume this is to avoid the scenario of a bunch of pragmatic builders turning up and calmly shipping nuance in the comments (or whatever you call it these days when you get brigaded by a pile of angry keyboard warriors with chips on their shoulder) - and it sure is tiring having to wade through the equivocation.
That's a criticism that'd be hard to level at Zitron! Say what you like about the man, but he's unafraid to appear to take a side.
> Maybe the attitude is one he's found plays well with them.
Kind of a self-fulfilling prophecy.
What's not a problem, by the way. That's why people always recommend content creators to be themselves. If they try to be somebody else, they find their public is already busy following other people.
It can affect shell subprocess startup time as well, which, depending on your setup and the tools you use, might be worth optimising for.
I don't remember when I did it, but it looks like I must have gone through this at some point (maybe due to using GNU Make a lot? Or perhaps it was some other tool) - my zsh setup does a bunch of autocomplete setup only in the interactive case, and it seems to help a bit with startup time, at least on macOS:
% for i in {1..5}; do /usr/bin/time zsh -i -c exit; done # zsh in interactive mode
0.05 real 0.03 user 0.02 sys
0.02 real 0.01 user 0.01 sys
0.02 real 0.01 user 0.00 sys
0.02 real 0.01 user 0.00 sys
0.02 real 0.01 user 0.00 sys
% for i in {1..5}; do /usr/bin/time zsh -c exit; done # zsh in non-interactive mode
0.01 real 0.00 user 0.01 sys
0.01 real 0.00 user 0.00 sys
0.00 real 0.00 user 0.00 sys
0.00 real 0.00 user 0.00 sys
0.00 real 0.00 user 0.00 sys
For the interactive case, I don't really mind (within limits - the worst case, on macOS after a reboot, takes several seconds, and that's tedious). I also start new interactive terminal sessions fairly rarely.
Depends on the system. Each thing did its own thing at the time.
8-bit Acorn systems did work kind of roughly as you describe. Handwaving a bit: there was no shell, but there was an OS call roughly corresponding to system(3), and add-on ROMs (e.g., the driver-type ROM that came with the disk interface) could extend the default (fairly limited) set of available commands.
With no shell, there was no standard UI for typing in a command and having it run, but this OS call was one of the main ways to interact with the OS, so the inbuilt BASIC made it very easy to do. For a lot of the stuff you'd use the DOS prompt for in MS-DOS, you'd do the equivalent from the BASIC prompt on the Acorn systems. In place of batch files, there were a couple of options, and one of them was that you'd write a BASIC program that contained the commands you wanted executed, in order.
Though, in real life, people often don't look at the road markings - possibly even more true in America, where people are perhaps less familiar with the roundabout concept - and general directions of traffic flow is an issue. Perhaps driving this particular roundabout in real life might indeed turn out to be as annoying as this game is to play.
(There are a couple of straightforward-looking ones near me that, in practice, are almost impossible during busy times in specific directions. Even if your car is powerful enough to zip onto the roundabout in a tiny gap without there being a crash, now you have to not crash while making it turn...)
reply