tag:blogger.com,1999:blog-2441850399540300710.post6247337287567345590..comments2024-02-17T03:47:06.818-08:00Comments on CraigBlog: Complexity is in the Eye of the BeholderCraig Anderahttp://www.blogger.com/profile/17084199593129216563noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-2441850399540300710.post-83086536088726306412004-09-15T23:44:00.000-07:002004-09-15T23:44:00.000-07:00"Modern day F1 drivers use automatics."
..."Modern day F1 drivers use automatics."<br /><br><br /><br>On a point of information, no they don't.<br /><br><br /><br>Right now, F1 cars have gearboxes where the gear selection is up to the driver, but the mechanical process of changing gears is automated. So they have a couple of paddles on the steering wheel, one to change up a gear and one to change down a gear. These are typically referred to as 'sequentials' and not 'automatics' - an 'automatic' gearbox is one that decides which ratio to use for you.<br /><br><br /><br>The sequential model arguably offers the best of both worlds - it automates what can usefully be automated, but still lets the driver choose the ratio. The fact is you can't actually build an automatic gearbox that does better than a race driver in most scenarios for the reasons I mentioned in my blog - the gearbox doesn't know what's coming up, because unlike the driver, it can't see where it's going. And even if you programmed the gearbox so it knew the exact layout of the race track, it still can't know about things like safety cars, back markers, overtaking manoeuvres, and all the other transient stuff that can necessitate a change from the gear shift patterns that would get you round an empty circuit as fast as possible.<br /><br><br /><br>So the driver still gets to select the ratio, but everything else is automated. So the abstraction is 'you have 7 gear ratios'. This model enables them to change gear incredibly quickly - it turns out that details such as the internal layout of the gearbox are not useful to the driver so it's OK to abstract these away. And for the most part, it's OK to abstract away the clutch too. (They do actually have the option to operate the clutch manually. That's because although this 'there are only gear ratios' abstraction is optimal for when you're moving, it's not so good for moving away from a standstill at the start of the race.)<br /><br><br /><br>There was a time when F1 gearboxes could shift up automatically - if you are simply accelerating flat out in a straight line, then it is true that an automatic gearbox can pick the optimal shift point more accurately than a human can. But that's a special case that happens to be amenable to automation; these gearboxes are referred to as 'semi automatic' because they only automate gearchanges under certain circumstances. (And the FIA chose to outlaw these for the 2004 season, which is why F1 cars no longer have this feature.)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2441850399540300710.post-31380796808143203482004-09-15T08:14:00.000-07:002004-09-15T08:14:00.000-07:00Since I landed on your blog, I'll add a self-p...Since I landed on your blog, I'll add a self-promoting comment on this topic. My thesis project is aimed at this exact problem. Everyone wants a simple API, but a simple API is often too inefficient. My solution is to build a compiler that can be dynamically extended with new optimization routines. Someone could write a library with a simple API and a corresponding optimizer. When a programmer uses the simple API, the dynamic optimizer will analyze *how* they are using it and generate more efficient code that uses a more complex API. The simple API is really a domain-specific language that is optimized by an extensible compiler.<br /><br><br /><br>If I weren't so freakishly lazily, I would have been done 3 years ago.<br /><br>Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2441850399540300710.post-26840765445329133682004-09-02T21:59:00.000-07:002004-09-02T21:59:00.000-07:00Nowadays it's possible to make automatic trans...Nowadays it's possible to make automatic transmissions that drive better than you do. The analogy still holds up: one of the reasons for providing high level abstractions is because if you can say what you want instead of how to do it, the implementor has much more freedom to make it "Just work better" for you behind the scenes.<br /><br><br /><br>While the abstraction is still leaking as much as primitive manual transmissions, Ian is right; experts are better off with a low level interface. Non-experts, who couldn't leverage the low-level interface are just as well off with the higher abstraction, especially as it gives them "free upgrades". <br /><br><br /><br>Modern day F1 drivers use automatics.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2441850399540300710.post-89207783052674713972004-09-02T10:13:00.000-07:002004-09-02T10:13:00.000-07:00Heh.
I used to want to only drive a manual. Thes...Heh. <br /><br><br /><br>I used to want to only drive a manual. These days, living in DC, where I spent a lot of my highway time changing speeds between "medium" and "slow", I think an automatic might not be so bad.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2441850399540300710.post-89984138604010863572004-09-02T09:39:00.000-07:002004-09-02T09:39:00.000-07:00Manual transmission IS superior, it's just tha...Manual transmission IS superior, it's just that some people are philistines. ;-)Anonymousnoreply@blogger.com