11 ms·
Why is Git Autocorrect too fast for Formula One drivers?
- 1970-01-01 2y agoDeciseconds?? There's your problem. Always work in seconds when forcing a function for your users.
- UndefinedRef 2y agoMaybe he meant dekaseconds? Still weird though..
- TonyTrapp 2y agoIt reads like the intention was that turning the parameter (0/1) command into an integer parameter, where the previous value enabled = 1 should behave reasonably close to the old behaviour. 1 deciseconds is arguably close enough to instant. If the parameter were measured in seconds, the command would always have to wait a whole second before executing, with no room for smaller delays.
- bot403 2y agoNo, smaller delays <1s are also a misdesign here. Have we all forgotten we're reacting to typos? It's an error condition. It's ok that the user feels it and is inconvenienced. They did something wrong. Do some think that 900ms, or 800, or some other sub-second value is really what we need for this error condition? Instead of, you know, not creating errors?
- schacon 2y agoWe had this debate internally at GitButler. Deci versus deca (and now deka, which appears to also be a legit spelling). My assumption was that 1 full second may have felt too long, but who really knows.
- a3w 2y agodeci is 1/10, deca is 10/1. So decisecond is correct.
- schacon 2y agoI understand, I meant I tried to say the word “decisecond” out loud and we debated if that was a real word or if I was attempting to say “deca” which was understandable.
- zxvkhkxvdvbdxz 2y agoIt's very standardized (SI), meaning 1/10:th. Althought not so commonly used with seconds. You might be more familiar with decimeters, deciliters, decibels or the base-10 (decimal) numbering system.
- quesera 2y agoAlso "decimate" which used to mean "kill 1/10th of the soldiers", but now apparently means "destroy (almost) entirely". :)
- CRConrad 2y agoSure, deca- as in "decade" is understandable. But why would deci- as in "decimal" be any less understandable?
- 331c8c71 2y agoSeconds or milliseconds (e.g. if the setting must be integer) would've been fine as they are widely used. Deciseconds, centiseconds - wtf?
- atonse 2y agoFalls squarely within the "They were too busy figuring out whether they could do it, to ask whether they SHOULD do it"
- dusted 2y agoat least fractions of a second, 250 would already be much more noticble.. 100 is a nice compromise between "can't react" and "have to wait", assuming you're already realizing you probably messed up
- gruez 2y agobetter yet, encode the units into the variable/config name so people don't have to guess. You wouldn't believe how often I have to guess whether "10" means 10 seconds (sleep(3) in linux) or milliseconds (Sleep in win32).
- synecdoche 2y agoThis may be something specific to Japan, which is where the maintainer is from. In the Japanese industrial control systems that I’ve encountered time is typically measured in this unit (100 ms).
- GuB-42 2y agoDeciseconds (100ms) are not a bad unit when dealing with UI because it is about the fastest reaction time. We can't really feel the difference between 50 ms and 150 ms (both feel instant), but we can definitely feel the difference between 500 ms and 1500 ms. Centiseconds are too precise, seconds are not enough. Also, it is also possible that the computer is not precise enough for centiseconds or less, making extra precision a lie. Deciseconds are just uncommon. But the problem here is that the user didn't expect the "1" to be a unit of time but instead a boolean value. He never wanted a timer in the first place. By the way, not making the unit of time clear is a pet peeve of mine. The unit is never obvious, seconds and milliseconds are the most common, but you don't know which one unless you read the docs, and it can be something else. My preferred way is to specify the unit during the definition (ex: "timeout=1s") with a specific type for durations, second is to have it in the name (ex: "timeoutMs=1000"), documentation comes third (that's the case of git). If not documented in any way, you usually have to resort to trial and error or look deep into the code, as these values tend to be passed around quite a bit before reaching a function that finally makes the unit of time explicit.
- userbinator 2y agoMy default for times is milliseconds, since that's a common granularity of system timing functions.
- mike-the-mikado 2y agoI'd be interested to know if any F1 drivers actually use git.
- deleted 2y ago[deleted]
- schacon 2y agoNot sure, but I do personally know two high profile Ruby developers who regularly race in the LMP2 (Le Mans Prototype 2) class - DHH and my fellow GitHub cofounder PJ Hyett, who is now a professional driver, owning and racing for AO (https://aoracing.com/ https://aoracing.com/). I mostly say this because I find it somewhat fun that they have raced _each other_ at Le Mans last year, but also because I've personally seen both of them type Git commands, so I know it's true.
- diggan 2y agoIsn't Le Mans more of a "endurance" race though, especially compared to F1? It would be interesting to see the difference in reaction ability between racers from the two, I could see it being different.
- schacon 2y agoI feel like in the "racing / git crossover" world, that's pretty close. :)
- pacaro 2y agoI've also worked with engineers who have raced LMP. It's largely pay-to-play and this is one of those professions where if you're the right person, in the right place, at the right time, you might be able to afford it.
- xeonmc 2y agoMaybe we can pitch to Max Verstappen to use Git to store his sim racing setup configs.
- kittikitti 2y agoI sometimes have this realization as I'm pressing enter and reflexively press ctrl+c. As someone whose typing speeds range from 100 to 160 WPM, this makes sense. Pressing keys is much different from Formula One pit stops.
- schacon 2y agoI'm curious if the startup time, plus the overhead of Git trying to figure out what you might have meant is significant enough to give you enough time to realize and hit ctrl+c. In testing it quickly, it looks like typing the wrong command and having it spit out the possible matches without running it takes 0.01-0.03s, so I would venture to guess that it's still not enough time between hitting enter and then immediately hitting ctrl-c, but maybe you're very very fast?
- rad_gruchalski 2y agoThe command is already running, you ctrl+c THE command. But I agree, 100ms is short.
- johnisgood 2y agoI think most programs you execute have enough startup overhead to do Ctrl-C before it even begins, including CLI tools. I do this a lot (and calculate in the time of realizing it was the wrong command, or not the flags I wanted, etc.)
- snet0 2y agoThat reflexivity felt a bit weird the first time I thought about it. I type the incorrect character, but reflexively notice and backspace it without even becoming aware of it until a moment later. I thought it'd be related to seeing an unexpected character appearing on the display, but I do it just as quickly and reflexively with my eyes closed. That being said, there are obviously cases where you mistype (usually a fat-finger or something, where you don't physically recognise that you've pressed multiple keys) and don't appreciate it until you visually notice it or the application doesn't do what you expected. 100ms to react to an unexpected stimulus like that is obviously not useful.
- politelemon 2y agoI agree that 'prompt' should be the value to set if you want git autocorrect to work for you. I'd however want that the Y is the default rather than the N, so that a user can just press enter once they've confirmed it. In any case it is not a good idea to have a CLI command happen without your approval, even if the intention was really obvious.
- misnome 2y agoYes, absolutely this. If I don’t want it to run, I will hit ctrl-c.
- junon 2y agoIf prompt is the default, mistyped scripts will hang rather than exit 1 if they have stdin open. I think that causes more problems than it solves.
- jzwinck 2y agoThat's what isatty() is for. If stdin is not a TTY, prompting should not be the default. Many programs change their defaults or their entire behavior based on isatty().
- junon 2y agoisatty() is spoofed in e.g. Make via PTYs. It's a light check at best and lies to you at worst.
- darthwalsh 2y agoIf make is going to spoof the PTY, it should take responsibility for answering the autocorrect prompt
- junon 2y agoThere's no "prompt". That's not how TTYs work. Make has no idea the program is waiting for any input.
- mscdex 2y agoThis seems a bit strange to me considering the default behavior is to only show a suggested command if possible and do nothing else. That means they explicitly opted into the autocorrect feature and didn't bother to read the manual first and just guessed at how it's supposed to be used. Even the original documentation for the feature back when it was introduced in 2008 (v1.6.1-rc1) is pretty clear what the supported values are and how they are interpreted.
- dusted 2y agoI think it makes sense, if I typed something wrong, I often feel it before I can read it, but if I already pushed enter, being able to ctrl+c within 100 ms is enough to save me. I'm pretty sure I've also aborted git pushes before they touched anything before I put this on, but this makes it more reliable.
- SOLAR_FIELDS 2y ago100 ms is an insanely short window. I would say usually even 1000ms would be too short for me to recognize and kill the command, even if I realized immediately that I had done something wrong.
- jsjshsbd 2y agoIt's much too short to read an output, interpret it and realize you have to interrupt But often you type something, realize it's wrong while you are typing but not fast enough to stop your hand from pressing [Enter] That is one of the only situation 100ms would be enough to safe you That being said, the reason in the article for 100ms is just confused commander. Why would anyone: 1) encode a Boolean value as 0/1 in a human readable configuration 2) encode a duration as a numeric value without unit in a human readable configuration Both are just lazy
- Reason077 2y ago> "Why would anyone ... encode a Boolean value as 0/1 in a human readable configuration" It may be lazy, but it's very common!
- grayhatter 2y agolaziness is a virtue of a good programmer. why demand many char when few char do trick? also > Why would anyone [...] encode a duration as a numeric value without unit in a human readable configuration If I'm only implementing support for a single unit, why would you expect or want to provide a unit? What's the behavior when you provide a unit instead of a number? > but not doing that extra work is lazy no, because while I'm not implementing unit parsing for a feature I wouldn't use, instead I'm spending that time implementing a better, faster diff algorithm. Or implementing a new protocol with better security, or sleeping. It's not lazy to do something important instead of something irrelevant. And given we're talking about git, which is already very impressive software, provided for free by volunteers, I'm going to default to assuming they're not just lazy.
- Theodores 2y ago0.1 seconds is a long time in drag racing where the timing tree is very different to F1. With F1 there are the five red lights that have to go out, and the time this takes is random. With your git commands it is fairly predictable what happens next, it is not as if the computer is randomly taunting you with five lights. I suggest a further patch where you can put git in either 'F1 mode', or, for our American cousins, 'Drag Strip mode'. This puts it in to a confirmation mode for everything, where the whole timing sequence is shown in simplified ASCII art. As a European, I would choose 'F1 mode' to have the give lights come on in sequence, wait a random delay and then go out, for 'git push' to happen. I see no reason to also have other settings such as 'Ski Sunday mode', where it does the 'beep beep beep BEEEP' of the skiing competition. 'NASA mode' could be cool too. Does anyone have any other timing sequences that they would like to see in the next 'patch'?
- cardamomo 2y agoReading this post, the term "software archeology" and "programmer archeologist" come to mind. (Thank you, Vernor Vinge, for the latter concept.)
- schacon 2y agoI can’t help but feel like you’re calling me “old”…
- cardamomo 2y agoNot my intention! Just an esteemed git archeologist
- Dilettante_ 2y agoA dinosaur, even
- choult 2y agoI like to say that the danger of software archaeology is the inevitable discovery of coprolites...
- scubbo 2y agoGrrrr, this is such a bugbear for me. I was so excited to read "A Fire Upon The Deep" because hackers talked up the concept of "software archeology" that the book apparently introduced. The concept is briefly alluded to in the prologue, and then...nada, not relevant to the rest of the plot at all (the _effects_ of the archeology are, but "software archeologists" are not meaningful characters in the narrative). I felt bait-and-switched.
- tester756 2y agoYet another example where git shows its lack of user-friendly design
- Pxtl 2y agoPet peeve: Timespan configs that don't include the unit in the variable name. I'm so sick of commands with --timeout params where I'm left guessing if it's seconds or millis or what.
- skykooler 2y agoI spent a while debugging a library with a chunk_time_ms parameter where it turned out "ms" stood for "microseconds".
- grayhatter 2y agoI have a very hard time relating to everyone else complaining about ~~lack of units~~ being unable to read/remember API docs. But using `chunk_time_ms` where ms is MICROseconds?! That's unforgivable, and I hope for all our sakes, you don't have to use that lib anymore! :D
- Pxtl 2y agoThe sheer number of APIs of modern coding is exhausting, I can't imagine either trying to keep all the stuff I'm using in my head or having to go back to the docs every time instead of being able to just read the code.
- grayhatter 2y agodo you primarily write rust, or js?
- echoangle 2y agoAlternatively, you can also accept the value with a unit and return an error when a plain number is entered (so --timeout 5s or --timeout 5h is valid but --timeout 5 returns an error).
- hinkley 2y agoBe it seconds or milliseconds, eventually your program evolves to need tenths or less of that unit and you can either support decimal points, create a new field and deprecate the old one, or do a breaking change that makes the poor SOB that needs to validate a breaking change-bearing upgrade in production before turning it on get a migraine if they have to toggle back and forth more than a couple times. Code isn’t always arranged so that a config change and a build/runtime change can be tucked into a single commit that can be applied or rolled back atomically. All because someone thought surely nobody would ever want something to happen on a quarter of a second delay/interval, or a 250 microsecond one.
- userbinator 2y agoIMHO this is a great example of "creeping featurism". At best it introduces unnecessary complexity, and at worst those reliant on it will be encouraged to pay less attention to what they're doing.
- cedws 2y agoThat's git in a nutshell. An elegant data structure masked by many layers of unnecessary crap that has accumulated over the years.
- snowfarthing 2y agoWhat I don't get is why anyone would want to allow the automation. Is it really that difficult to use the up-arrow key and correct the mistake? Doing something automatically when it's sort-of correct is a recipe for doing things you didn't intend to do.
- dtgriscom 2y agoDouble this. If I don't type the command that I want, I never want my computer guessing and acting on that guess. Favors like that are why I hate Microsoft Word ("Surely you didn't mean XXXX; I'll help you by changing it to YYYY. Oh, you did it again, and in the same place? Well, I'll fix it again for you. High five!")
- userbinator 2y agoThings seem to be going in that direction with LLMs, unfortunately.
- pmontra 2y agoAccording to Formula 1 web site drivers start on average after 0.2 seconds since the red lights go out https://www.formula1.com/en/latest/article/rapid-decisions-driver-skills-and-intricate-procedures-why-race-starts-are.3uziERC5iPE5EYOPRmerXU https://www.formula1.com/en/latest/article/rapid-decisions-d... Anyway, 0.1 seconds would be far too short even for them, which have a job based on fast reaction times.
- Reason077 2y agoDeciseconds is such an oddball choice of units. Better to specify the delay in either milliseconds or seconds - either are far more commonly used in computing.
- cobbal 2y agoIt's a decent, if uncommon, unit for human reactions. The difference between 0 and 1 seconds is a noticeably long time to wait for something, but the difference between n and n+1 milliseconds is too fine to be useful.
- bobbylarrybobby 2y agoBut the consumers of the API aren't humans, they're programmers.
- jonas21 2y agoMilliseconds are a commonly-used unit. It doesn't really matter if 1 ms is too fine a granularity -- you'll just have to write "autocorrect = 500" in your config file instead of "autocorrect = 5", but who cares?
- zxvkhkxvdvbdxz 2y agoSure, yes. But for human consumption, decisecond is something one can relate to. I mean, you probably cannot sense the difference in duration between 20 and 30 ms without special equipment. But you can possibly sense the difference between 2 and 3 deciseconds (200 ms and 300 ms) after some practice. I think the issue in this case was rather the retrofitting a boolean setting into a numerical setting.
- fragmede 2y agoThe difference between 20 ms and 30ms is the difference between 33 fps and 50 fps which is entirely noticable on a 1080p60hz screen.
- theginger 2y agoReaction times differ by types of stimulus, auditory is slightly faster than visual and tactile slightly faster than that at 90 - 180 ms So if git gave you a slap instead of an error message you might just about have time to react.
- orangepanda 2y agoThe slapping device would need to build inertia for you to feel the slap. Is 10ms enough for that?
- dullcrisp 2y agoI think if it's spring-loaded then definitely. (But it's 100ms, not 10ms.)
- orangepanda 2y agoAssuming the best case scenario of feeling the slap in 90ms, it would leave 10ms to abort the command. Or did the 90-180ms range refer to something else?
- dullcrisp 2y agoOh I see, you’re right.
- Aerroon 2y agoThis is why any reasonable engineer would go with zaps instead of slaps!
- moogly 2y agoSo Mercurial had something like this back in ancient times, but git devs decided to make a worse implementation.
- snet0 2y agoThis seems like really quite bad design. EDIT: 1) is the result of my misreading of the article, the "previous value" never existed in git. 1) Pushing a change that silently break by reinterpreting a previous configuration value (1=true) as a different value (1=0.100ms confirmation delay) should pretty much always be avoided. Obviously you'd want to clear old values if they existed (maybe this did happen? it's unclear to me), but you also probably want to rename the configuration label.. 2) Having `help.autocorrect`'s configuration argument be a time, measured in a non-standard (for most users) unit, is just plainly bad. Give me a boolean to enable, and a decimal to control the confirmation time.
- iab 2y ago“Design” to me intimates an intentional broad-context plan. This is no design, but an organic offshoot
- snet0 2y agoSomeone thought of a feature (i.e. configurable autocorrect confirmation delay) and decided the interface should be identical to an existing feature (i.e. whether autocorrect is enabled). In my thinking, that second part is "design" of the interface.
- iab 2y agoI think that is something that arose from happenstance, not thoughtful intent - this is true because of how confusing the end result is.
- jsnell 2y agoFor point 1, I think you're misunderstanding the timeline. That change happened in 2008, during code review of the initial patch to add that option as a boolean, and before it was ever committed to the main git tree.
- meitham 2y agoReally enjoyable read
- catlifeonmars 2y agoI enabled autocorrect (set a 3sec) a year ago and have the following observations about it: 1. it does not distinguish between dangerous and safe actions 2. it pollutes my shell history with mistyped commands Reading this article gave me just enough of a nudge to just disable it after a year.
- layer8 2y agoIf anything, it’s better to set up aliases for frequent typos. (Still “pollutes” the shell history of course.)
- darkwater 2y agoAbout 2, well, you are the actual polluter, even if you just scroll back in history andnuse the same last wrong command because it works anyway.
- catlifeonmars 2y agoWell to put it into context, I use fish shell, which will only save commands that have an exit code of 0. By using git autocorrect, I have guaranteed that all git commands have an exit code of 0 :)
- fsckboy 2y agowow, our brains work differently, how can you smile in that circumstance? :) It's a terrible idea of fish not to save errors in history (even if the way bash does it is not optimal, ignoring/obliterating the error return fact) because running a command to look up the state of something can easily return the state you are checking along with an error code. "What was that awesome three letter TLD I looked up yesterday that was available? damn, not a valid domain is an error code" and just like that SEX.COM slips through your grasp, and your only recourse would be to hijack it. but it's compoundedly worse to feel like the problem is solved by autocorrect further polluting your history. I would not want to be fixing things downstream of you, where you would be perfectly happy downstream of me.
- 2y ago
- mmcnl 2y agoThe most baffling thing is that someone implemented deciseconds as a unit of time. Truly bizarre.
- WalterBright 2y ago> Originally, if you typed an unknown command, it would just say "this is not a git command". Back in the 70s, Hal Finney was writing a BASIC interpreter to fit in 2K of ROM on the Mattel Intellivision system. This meant every byte was precious. To report a syntax error, he shortened the message for all errors to: EH? I still laugh about that. He was quite proud of it.
- WalterBright 2y agoI've been sorely tempted to do that with my compiler many times.
- nikau 2y agoHow wasteful, ed uses just ? for all errors, a 3x saving
- ekidd 2y agoEd also uses "?" for "Are you sure?" If you're sure, you can type the last command a second time to confirm. The story goes that ed was designed for running over a slow remote connection where output was printed on paper, and the keyboard required very firm presses to generate a signal. Whether this is true or folklore, it would explain a lot. GNU Ed actually has optional error messages for humans, because why not.
- p_l 2y ago/bin/ed did in fact evolve on very slow teletypes that used roll paper. It made the option to print file content with line numbers very useful (personally only used very dumb terminals instead of physical teletype, but experience is a bit similar just with shorter scrollback :D)
- euroderf 2y agoCan confirm. Using ed on a Texas Instruments dial-up terminal (modem for phone handset) with a thermal printer. And taking a printed listing before heading home with the terminal.
- zX41ZdbW 2y ago> Which was what the setting value was changed to in the patch that was eventually accepted. This means that setting help.autocorrect to 1 logically means "wait 100ms (1 decisecond) before continuing". The mistake was here. Instead of retargeting the existing setting for a different meaning, they should have added a new setting. help.autocorrect - enable or disable help.autocorrect.milliseconds - how long to wait There are similar mistakes in other systems, e.g., MySQL has innodb_flush_log_at_trx_commit which can be 0 if disabled, 1 if enabled, and 2 was added as something special.
- stouset 2y agoThe “real” issue is an untyped configuration language which tries to guess at what you actually meant by 1. They’re tripling down on this by making 1 a Boolean true but other integers be deciseconds. This is the same questionable logic behind YAML’s infamous “no” == false.
- Dylan16807 2y agoI'd say the new addition is more of a special case of rounding than it is messing up types.
- stouset 2y ago1 was also accepted as a Boolean true in this context, and it still is in other contexts.
- Dylan16807 2y ago> 1 was also accepted as a Boolean true in this context, and it still is in other contexts. Is "was" before the change described at the end of the article, or after it? Before the change, any positive number implied that the feature is on, because that's the only thing that makes sense. After the change, you could say that 1 stops being treated as a number, but it's simpler to say it's still being treated as a number and is getting rounded down. The interpretation of various types is still messy, but it didn't get more messy.
- IshKebab 2y ago> Junio came back to request that instead of special casing the "1" string, we should properly interpret any boolean string value (so "yes", "no", "true", "off", etc) The fact that this guy has been the Git maintainer for so long and designs settings like this explains a lot!
- moffkalast 2y ago> As some of you may have guessed, it's based on a fairly simple, modified Levenshtein distance algorithm One day it'll dump the recent bash and git history into an LLM that will say something along the lines of "alright dumbass here's what you actually need to run"
- snvzz 2y agoAt 60fps that's 6 frames, which is plenty. That aside, I feel the reason is to advertise the feature so that the user gets a chance to set the timer up to his preference or disable autocorrect entirely.
- ninjamuffin99 2y ago6 frames is not enough to realize you made a typo / read whatever git is outputting telling you that you made a typo, and then respond to that input correctly. in video games it may seem like a lot of time for a reaction, but a lot of that “reaction time” is based off previous context of the game, visuals and muscle memory and whatnot. If playing street fighter and say youre trying to parry an attack that has a 6 frame startup, you’re already anticipating an attack to “react” to before their attack even starts. When typing git commands, you will never be on that type of alert to anticipate your typos.
- snvzz 2y ago>6 frames is not enough git good. (the parent post was a set up for this)
- physicles 2y agoThe root cause here is poorly named settings. If the original setting had been named something bool-y like `help.autocorrect_enabled`, then the request to accept an int (deciseconds) would've made no sense. Another setting `help.autocorrect_accept_after_dsec` would've been required. And `dsec` is so oddball that anyone who uses it would've had to look up. I insist on this all the time in code reviews. Variables must have units in their names if there's any ambiguity. For example, `int timeout` becomes `int timeout_msec`. This is 100x more important when naming settings, because they're part of your public interface and you can't ever change them.
- yencabulator 2y agoI do that, but I can't help thinking that it smells like Hungarian notation. The best alternative I've found is to accept units in the values, "5 seconds" or "5s". Then just "1" is an incorrect value.
- physicles 2y agoThat’s not automatically bad. There are two kinds of Hungarian notation: systems Hungarian, which duplicates information that the type system should be tracking; and apps Hungarian, which encodes information you’d express in types if your language’s type system were expressive enough. [1] goes into the difference. [1] https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/ https://www.joelonsoftware.com/2005/05/11/making-wrong-code-...
- yencabulator 2y agoAnd this is exactly the kind the language should have a type for, Duration.
- crazygringo 2y agoNot really. I don't want to have a type for an integer in seconds, a type for an integer in minutes, a type for an integer in days, and so forth. Just like I don't want to have a type for a float that means width, and another type for a float that means height. Putting the unit (as oppose to the data type) in the variable name is helpful, and is not the same as types. For really complicated stuff like dates, sure make a type or a class. But for basic dimensional values, that's going way overboard.
- baggy_trough 2y agoWhenever you provide a time configuration option, field, or parameter, always encode the units into the name.
- NoPicklez 2y agoCool but I don't know why it needs to be justified that it's too fast even for an F1 driver. Why can't we just say its too fast without all the fluff about being a race car driver, the guy isn't even an F1 driver but Le Mans.
- thedufer 2y ago> Now, why Junio thought deciseconds was a reasonable unit of time measurement for this is never discussed, so I don't really know why that is. xmobar uses deciseconds in a similar, albeit more problematic place - to declare how often to refresh each section. Using deciseconds is fantastic if your goal is for example configs to have numbers small enough that they clearly can't be milliseconds, resulting in people making the reasonable assumption that it must thus be seconds, and running their commands 10 times as often as they intended to. I've seen a number of accidental load spikes originating from this issue.
- brianbest101 2y ago[dead]
- inoffensivename 2y agoMaybe a not-so-hot take on this... The only option this configuration parameter should take is "never", which should also be the default. Any other value should be interpreted as "never".
- kqr 2y agoThis timeout makes me think about the type of scenario where I know I have mistyped the command, e.g. because I accidentally hit return prematurely, or hit return when I was trying to backspace away a typo. In those situations I reflexively follow return with an immediate ctrl-C, and might be able to get in before the 100 ms timeout. So it’s not entirely useless!
- newman314 2y agoFor reference, Valtteri Bottas supposedly recorded a 40ms!!! reaction time at the 2019 Japanese Grand Prix. https://www.formula1.com/en/video/valtteri-bottas-flying-finn-agrees-suzuka-reaction-time-was-superhuman.1687507107613351205 https://www.formula1.com/en/video/valtteri-bottas-flying-fin...
- voidUpdate 2y agoIs there a random time between the red lights and the green lights, or is it always the same? Because that feels more like learning the timings than reacting to something
- amai 2y agoMost probably that was a false start: "World Athletics rules that if an athlete moves within 100 milliseconds (0.1 seconds) of the pistol being fired to start the race, then that constitutes a false start." https://www.nytimes.com/athletic/5678148/2024/08/03/olympics-false-start-rules-track-explained/ https://www.nytimes.com/athletic/5678148/2024/08/03/olympics...
- arp242 2y agoThat value has also been criticised as too high.
- legacynl 2y agoWhat is the argument for it being too high? The argument for it being what it is is the fact that our auditorial processing (when using a starter pistol) or visual processing (looking at start-lights) takes time, as well as transferring that message to the relevant muscles. 100 milliseconds is a pretty good average actually
- jakubmazanec 2y ago> introduced a small patch > introduced a patch > the Git maintainer, suggested > relatively simple and largely backwards compatible fix > version two of my patch is currently in flight to additionally And this is how interfaces become unusable, through thousand small "patches" created without any planning and oversight.
- olddustytrail 2y agoAh, if only the Git project had someone of your talents in charge (rather than the current band of wastrel miscreants). Then it might enjoy some modicum of success, instead of languishing in its well-deserved obscurity!
- jakubmazanec 2y agoGit has notoriously bad CLI (as other commenters here noted). Your snarky comment provides no value to this discussion.
- olddustytrail 2y agoOn the contrary, it offers a little levity and humour, and possibly even the chance for some self-reflection as you consider why you thought it was appropriate to insult the folk who manage Git. I'm sure you can manage at least one of those?
- jakubmazanec 2y agoYour comment isn't funny, just snarky. I suggest you read again HN guidelines and do some reflection yourself. Also, if you see it as insult, that's your mistake. It is just a simple empirical observation. I'm not saying it's an original thought - feel free to Google more about this topic. I won't waste any more time since you obviously aren't interested in discussion.
- Ylpertnodi 2y ago
- ocean_moist 2y agoFun fact: Professional gamers (esport players) have reaction times around 150ms to 170ms. 100ms is more or less impossible.
- bun_terminator 2y agoclickbait, don't hide the truth in a pseudo-riddle
- bobobob420 2y agoGit autocorrect sounds like a very bad idea.
- rossant 2y agoFirst time I hear about deciseconds. What a strange decision.
- outside1234 2y agoRegardless of the delay time, this just seems like an incredibly bad idea all around for something as important as source control.
- krab 2y agoWhat if this was an intentional, yet overly clever, way to avoid one special case? I mean, for all practical purposes, the value of 1 equals to the unconditional execution.