You know, that's exactly why a book on it is useful -- because it turns out that you can, in fact, write scripts which port quite nicely.
Seriously, "buffers differently"? What's THAT supposed to mean?
That said, I won't deny for a moment that there are things shell isn't a good choice for. In fact, one of the first sections in the book is under the heading "What Shell Scripting Isn't". Because sometimes the best way to write a good program is to pick the right language to begin with. Often, even.
First off, in the interests of full disclosure, Joe MacDonald is one of my coworkers.
Anyway... The big surprise to me was the word "Beginning", which somehow showed up in the publisher's cover pages, but which I didn't know about during the writing process. My tech reviewer was Gary V. Vaughan (yes, the autoconf/libtool guy). I bounced material off a number of seasoned expert scripters during the process. Basically, my goal was to write a book that I could use as a reference, and which would teach me something.
I succeeded beyond my wildest dreams. The discovery that printf(1) is essentially universal these days was a complete shock to me; I had no idea it was portable. During my first pass on the regular expressions section, I started by writing down what I believed I knew about sed, awk, etcetera. Then I tested it... and had to revise most of it. A number of things I was used to were GNU or BSD extensions. When Gary sent the chapter back for tech review, he'd flagged most of these things, because he "knew" the same things I did.
So everything there should be pretty thoroughly checked out now -- I realized very early on that this field was full of things "everyone knows". Many of them wrong. We tested things on a field of around 30 different versions of Unix and Linux. We tested them on unusual installs, we tested them on special cases.
Why?
Because portable shell is an incredibly portable language, and sometimes that matters. Because shell is a very powerful language, too. Because sometimes shell is all you have -- and because sometimes shell is more expressive for a task than your other choices. I love me some C, I program in C by preference much of the time -- but there are a lot of tasks I'll do in shell rather than in C. There are similarly many tasks I'd rather write in shell than in perl. Shell is what make uses to run commands, and sometimes you need to write something clever in shell because make doesn't have quite the right feature.
In short, it's something I have found consistently useful, day in and day out, for about twenty years now. I just wish I'd realized how much more there was to learn years ago, I coulda saved a lot of time...:)
And, to answer a question hinted at earlier: Yes, now that this book exists, I keep a copy on my desk. I look stuff up in it about once a week.
I wrote a bunch of scripts in 1992 or so. I'm still using them. I haven't touched any of them in years, except for one update to deal with Linux differing from BSD in where the actual errno definitions are.
I don't have to worry about what shells are installed, I don't have to guess whether bash is "/bin/bash" or "/usr/pkg/bin/bash", I don't have to wonder whether the sysadmin bothered to install the "GNU utilities". I just copy my scripts into ~/bin and go.
When Sony specced out Cell, multicore was expensive and unusual, and GPUs weren't nearly as competitive. The landscape has changed, and Cell is no longer as good a fit for them as it looked like it would be.
Secondly, what kind of idiot links to the Inquirer as a source? Remember, they're the ones who posted the article claiming the PS3 was "slow and broken" because they didn't understand a memory bandwidth chart.
Re:I am afraid, there is lack of direction for Rub
on
Ruby 1.9.1 Released
·
· Score: 1
I don't buy it.
I consider myself a moderately experienced C programmer, and by the time I'd been using perl for twenty minutes, I was doing better string manipulation in perl than I do in C. Even now.
Language matters.
And PHP is a sucky language. It's everything you'd expect from a language thrown together with bits and pieces tacked on as people found uses for them, and may never be able to get rid of that cruft without breaking so much code that, well, there'd be no point using it -- as you note, the real point is the availability of support code.
1. This is not news -- to put it mildly. 2. As has been pointed out every time this comes up, the "research" isn't even CLOSE to addressing the real claims of Dvorak advocates. (Hint: Any test under about ten years isn't going to give you a fair comparison to "experienced" keyboard users...) 3. Furthermore, this also doesn't hint at issues related to RSI. I didn't switch to Dvorak because it was "faster" -- I switched because I was hurting my hands. Switching seemed to have helped, because my fingers moved in different patterns. 4. Why, oh why, is kdawson still able to post garbage like this? This is not news, it's not stuff that matters. It's a "debunking" over a decade old with major, blindingly-obvious, flaws. I don't even think this is the first time it's been on Slashdot in particular.
Can't we PLEASE get someone in who has actually read Slashdot before, and knows both what kind of material is suitable, and what's already been posted?
Company X is Belkin -- Belkin had a router which would redirect an occasional page view to an ad -- and which could be reconfigured from the OUTSIDE. They tried to make this sound less bad with Usenet postings, then deleted the postings later.
Most of the time. (Not including extracurricular stuff, I do some consulting.)
I'll push it a bit for a release date, but apart from that, I don't do much over 40 hours of work. I might spend an evening logged into IRC in case anyone needs anything, but then, I might take an hour off to play with my cat.
The work gets done, we meet turnaround time commitments, the managers are happy.
That's a good first-run superficial approximation of a good strategy.
For better results, learn how and where to challenge or question ideas. Also, find employers who involve engineering BEFORE they make stupid decisions -- that helps too.
Your analysis is excellent. Well-written; if I'd been modding instead of posting, that'd be a +1 insightful.
I got insanely lucky; the people I work with are okay with coping some with my limitations in exchange for having my strengths around. When you need 5k lines of code intimately tied to the internals of the C library and you have under a month to do it, I'm useful. Useful enough that it's okay to have to remind me in every scrum to actually mark my bugs as "checked in" after I check in the last changes for them, apparently.:)
Most people take quite a while to switch tasks, and tend to have some general awareness of things other than what they're working on. Hyperfocus is generally neither of these. One of the reasons people ask me to help debug stuff that just needs a second opinion is that by the time they've finished their description of the problem, I'm completely on that task, with no idea what I was doing before they started talking. Which means I am more focused on the task ten seconds in than most people would be five minutes in... And massively increases the value of my first-minute responses.... Of course, I lose my existing state, which is a problem. BUT. Since I do that all the time anyway, I've developed decent coping mechanisms.:)
I can't speak to the neurofeedback. The drugs don't take away the positives for me, noticably. I'm still wacky and creative, and I can still take interrupt loads that would reduce most people to quivering jelly.
My big weakness is just not being good at *stopping* working.
First, "ADD" is now "ADHD, primarily inattentive".
Second, people with ADHD can often stay focused on things for a very long time if those things are suitably structured... and sometimes depending on phase of the moon.
It seems to me that you've come up with an interesting theory about a disorder currently unknown to medical science, called "Can't Pay Attention No Matter What Disorder" (CPANMWD). This is fascinating, but it's got buggerall to do with ADHD.
I can see why you posted that as an anonymous coward.
Your smugness is based on your complete lack of information. You have no sources. Why? Because the sole basis of your position is that you would feel more smug if you believed it.
Again, you're missing a key point: For the majority of people, these drugs would not have effects anything like what they do to me. That's the diagnosis, right there.
One of the most interesting misdiagnoses of ADHD is that it tends to get mistaken for bipolar disorder. This is because of people like you, who try their hardest to make people feel guilty and bad for not being able to do things that other people do. I assume you spend time at wheelchair ramps, yelling at people to stop being lazy and just walk?
Probably not, actually. But the only difference is that in that case, you can see what's going on, and you're not yet quite able to understand that sometimes you don't actually have perfect knowledge of someone else's brain. Don't worry, you'll catch on!:)
The lack of a "learned habit". You're starting by assuming that there's such a habit -- but I've seen no evidence to suggest such a thing.
Furthermore, I had this trait before I was in school, and it's always been the same way.
I think you're missing a key point. ADHD meds do not "work" for people who don't have ADHD. If you have a hard time focusing, but you don't have ADHD, and you take stimulants, they make you more jittery. They don't make you calm down and focus better. Caffeine can help people "focus" if they're just tired, but it doesn't have the same impact at all on most people that it does on the ADHD folks.
I actually for a while bought into the "never learned these skills" theory. However, I'm 36 now. I can learn nearly any skill extremely quickly. And yet, no matter how I try, I can't learn the "skill" of paying attention to something that's not interesting.
I tend to pick things up and put them down unconsciously. If I want to pick something up, and I'm holding something, the thing I'm holding isn't part of my decision-making process -- and I may never find it again, depending on where I was when I stopped thinking about it. My desks tend to be covered with objects that I have put down because I was done holding them and wasn't aware of them anymore.
If the desk is full, I push things to make room. Again, unconsciously.
If the desk is really full, this means things fall off the other side of the desk. And every time, it surprises me. Why? Because I was totally unaware that I was pushing things to make room for them, and totally unaware that the other end of the surface, two feet away from me, was also full. And if someone who can do a fair bit of calculus in his head can't figure out that pushing things off a table makes them fall off, it strikes me as reasonable to assume that there is a "disorder" involved somewhere.
Seriously, this isn't a habit. It's not like a habit. It's just a difference in how my brain processes input.
If ADHD meant "inability to pay attention to anything whatsoever for a long time", you'd have made a great point.
It doesn't. You didn't.
I have moderately severe ADHD. This is easily confirmed by my reaction to the Schedule II stimulants -- they make me calm, and allow me to do things like sit still without vibrating in place. I can quite easily, unmedicated, play a video game for 16 hours straight -- as long as it happens to be catching my interest. If it gets dull, I start doing other things. Often, other things at the same time. I have been known to play WoW for 8 hours while watching old sitcoms on a nearby DVD player and reading a book. There are also times when the game is sufficiently interesting to actually hold my interest for long periods of time. It's not unique to games, either -- get me started on a really interesting math problem, and I'm not going to distract easily. I can program for 16 hours straight, too.
Sometimes.
The disorder, again, isn't that I can't stay on a task for a long time -- it's that I don't necessarily have the ability to *control* what task I'm on. If you give me a really interesting math problem, and then tell me to do something else, it may be beyond my ability to continue the other task without getting side-tracked onto the math problem again.
I'm aware that a lot of people think this is "just laziness". I always assumed it was, until I started comparing notes with other people who have clinical diagnoses of ADHD, and discovered that there are very clear distinctions in the pattern of attention.
So far, I'm on meds a fair chunk of the time, but I like to spend some time off them. There are things I do better unmedicated. Some of them are even work-related! But I like having a choice in the matter... And that means that I have to take a little time now and then to correct people who are going off a vague sense that ADHD is mostly faked, or whatever, because they've got a very weird stereotyped view of what ADHD ought to mean, and think anything that doesn't look like it isn't "real" ADHD.
That's not a dock. It's a hack, and I don't really mean that in the positive sense.
I had one of their "docks" for the Pismo (G3 400). It sorta worked most of the time but lost connections sometimes, because there was no design for actually locking the laptop to the dock. That looks some better, but fundamentally, the machine's not designed for it.
I've had docking laptops (a ThinkPad and an HP), and a real docking connector is MUCH different from the Bookendz things.
And yes, I would pay more for a dock-capable machine. Right now, I'm probably sticking with the Apple machines because the time I spend connecting cables is not as big an issue as the time I would have to spend messing with Windows -- I learned that back when I was using that ThinkPad. (And yes, I do have to have one or the other as an option. Life's tough.) Still, a dock would be worth a lot more to me. Honestly, I care a lot more about that than about how thin they can make the machine. I'd be fine with a machine half an inch thicker and a pound or two heavier if it had a docking station and ran cooler.
When my spouse and I wanted to take up an MMO, we had an obvious requirement: It had to run on a Mac, because my spouse is a Mac user. So, we got WoW. (There weren't many competitors at the time who did Mac; even now, the most obvious is Eve which is of anti-value to me because I don't, ever, under any circumstances, want PvP.)
So far, that's two copies sold. But wait. My brother-in-law now plays with us. My sister-in-law now plays with us, because her husband plays with us. A friend of mine from some message boards who'd given up got back into the game because I was playing it. So I can name five people (and more than five monthly subscriptions) that came from that sale. Only one of whom plays primarily on Mac.
For games that are played with other people, the effect isn't just the actual sales to Mac users; it's the sales to people who want to play with Mac users, and the moment anyone provides an option for the Mac market, a lot of other users will end up being drawn to that product by preference.
I have always sucked at MK, but I do okay on the Wii. It's really amazing.
It's almost as though I have fifteen or so years of training in the use of a vertical wheel to control a car, and much less experience using a tiny little thumbstick to control a car.
You know, that's exactly why a book on it is useful -- because it turns out that you can, in fact, write scripts which port quite nicely.
Seriously, "buffers differently"? What's THAT supposed to mean?
That said, I won't deny for a moment that there are things shell isn't a good choice for. In fact, one of the first sections in the book is under the heading "What Shell Scripting Isn't". Because sometimes the best way to write a good program is to pick the right language to begin with. Often, even.
But sometimes, that language IS shell.
First off, in the interests of full disclosure, Joe MacDonald is one of my coworkers.
Anyway... The big surprise to me was the word "Beginning", which somehow showed up in the publisher's cover pages, but which I didn't know about during the writing process. My tech reviewer was Gary V. Vaughan (yes, the autoconf/libtool guy). I bounced material off a number of seasoned expert scripters during the process. Basically, my goal was to write a book that I could use as a reference, and which would teach me something.
I succeeded beyond my wildest dreams. The discovery that printf(1) is essentially universal these days was a complete shock to me; I had no idea it was portable. During my first pass on the regular expressions section, I started by writing down what I believed I knew about sed, awk, etcetera. Then I tested it... and had to revise most of it. A number of things I was used to were GNU or BSD extensions. When Gary sent the chapter back for tech review, he'd flagged most of these things, because he "knew" the same things I did.
So everything there should be pretty thoroughly checked out now -- I realized very early on that this field was full of things "everyone knows". Many of them wrong. We tested things on a field of around 30 different versions of Unix and Linux. We tested them on unusual installs, we tested them on special cases.
Why?
Because portable shell is an incredibly portable language, and sometimes that matters. Because shell is a very powerful language, too. Because sometimes shell is all you have -- and because sometimes shell is more expressive for a task than your other choices. I love me some C, I program in C by preference much of the time -- but there are a lot of tasks I'll do in shell rather than in C. There are similarly many tasks I'd rather write in shell than in perl. Shell is what make uses to run commands, and sometimes you need to write something clever in shell because make doesn't have quite the right feature.
In short, it's something I have found consistently useful, day in and day out, for about twenty years now. I just wish I'd realized how much more there was to learn years ago, I coulda saved a lot of time... :)
And, to answer a question hinted at earlier: Yes, now that this book exists, I keep a copy on my desk. I look stuff up in it about once a week.
Yes. ... Well, come on, what do you expect me to say?
Actually, that's useful in bash too sometimes. :)
Anyway, the reason I bother is this:
I wrote a bunch of scripts in 1992 or so. I'm still using them. I haven't touched any of them in years, except for one update to deal with Linux differing from BSD in where the actual errno definitions are.
I don't have to worry about what shells are installed, I don't have to guess whether bash is "/bin/bash" or "/usr/pkg/bin/bash", I don't have to wonder whether the sysadmin bothered to install the "GNU utilities". I just copy my scripts into ~/bin and go.
http://www.math.sjsu.edu/~swann/mcsqrd.html
Sort of hard to find, but they have an address to contact the publisher, who may be still willing to run some off for you.
I learned calculus from this book... When I was 8. It's pretty good.
Yes. You're missing that things changed.
When Sony specced out Cell, multicore was expensive and unusual, and GPUs weren't nearly as competitive. The landscape has changed, and Cell is no longer as good a fit for them as it looked like it would be.
No, not the article.
The editor.
First off, Sony denied this already -- yesterday . So this isn't news, and it's already-rejected news.
Secondly, what kind of idiot links to the Inquirer as a source? Remember, they're the ones who posted the article claiming the PS3 was "slow and broken" because they didn't understand a memory bandwidth chart.
I don't buy it.
I consider myself a moderately experienced C programmer, and by the time I'd been using perl for twenty minutes, I was doing better string manipulation in perl than I do in C. Even now.
Language matters.
And PHP is a sucky language. It's everything you'd expect from a language thrown together with bits and pieces tacked on as people found uses for them, and may never be able to get rid of that cruft without breaking so much code that, well, there'd be no point using it -- as you note, the real point is the availability of support code.
1. This is not news -- to put it mildly.
2. As has been pointed out every time this comes up, the "research" isn't even CLOSE to addressing the real claims of Dvorak advocates. (Hint: Any test under about ten years isn't going to give you a fair comparison to "experienced" keyboard users...)
3. Furthermore, this also doesn't hint at issues related to RSI. I didn't switch to Dvorak because it was "faster" -- I switched because I was hurting my hands. Switching seemed to have helped, because my fingers moved in different patterns.
4. Why, oh why, is kdawson still able to post garbage like this? This is not news, it's not stuff that matters. It's a "debunking" over a decade old with major, blindingly-obvious, flaws. I don't even think this is the first time it's been on Slashdot in particular.
Can't we PLEASE get someone in who has actually read Slashdot before, and knows both what kind of material is suitable, and what's already been posted?
Company X is Belkin -- Belkin had a router which would redirect an occasional page view to an ad -- and which could be reconfigured from the OUTSIDE. They tried to make this sound less bad with Usenet postings, then deleted the postings later.
Thanks for the really informative post.
Me, I'm fine with being on speed much of the time -- but I wouldn't mind at all finding other techniques to help me cope.
Any feedback on how it affected memory? I can mostly handle forcing myself to pay attention to things, but my memory's crap.
Most of the time. (Not including extracurricular stuff, I do some consulting.)
I'll push it a bit for a release date, but apart from that, I don't do much over 40 hours of work. I might spend an evening logged into IRC in case anyone needs anything, but then, I might take an hour off to play with my cat.
The work gets done, we meet turnaround time commitments, the managers are happy.
That's a good first-run superficial approximation of a good strategy.
For better results, learn how and where to challenge or question ideas. Also, find employers who involve engineering BEFORE they make stupid decisions -- that helps too.
Your analysis is excellent. Well-written; if I'd been modding instead of posting, that'd be a +1 insightful.
I got insanely lucky; the people I work with are okay with coping some with my limitations in exchange for having my strengths around. When you need 5k lines of code intimately tied to the internals of the C library and you have under a month to do it, I'm useful. Useful enough that it's okay to have to remind me in every scrum to actually mark my bugs as "checked in" after I check in the last changes for them, apparently. :)
It "sounds like", but it's pretty different.
Most people take quite a while to switch tasks, and tend to have some general awareness of things other than what they're working on. Hyperfocus is generally neither of these. One of the reasons people ask me to help debug stuff that just needs a second opinion is that by the time they've finished their description of the problem, I'm completely on that task, with no idea what I was doing before they started talking. Which means I am more focused on the task ten seconds in than most people would be five minutes in... And massively increases the value of my first-minute responses. ... Of course, I lose my existing state, which is a problem. BUT. Since I do that all the time anyway, I've developed decent coping mechanisms. :)
I can't speak to the neurofeedback. The drugs don't take away the positives for me, noticably. I'm still wacky and creative, and I can still take interrupt loads that would reduce most people to quivering jelly.
My big weakness is just not being good at *stopping* working.
Wrong on several counts.
First, "ADD" is now "ADHD, primarily inattentive".
Second, people with ADHD can often stay focused on things for a very long time if those things are suitably structured ... and sometimes depending on phase of the moon.
It seems to me that you've come up with an interesting theory about a disorder currently unknown to medical science, called "Can't Pay Attention No Matter What Disorder" (CPANMWD). This is fascinating, but it's got buggerall to do with ADHD.
I can see why you posted that as an anonymous coward.
Your smugness is based on your complete lack of information. You have no sources. Why? Because the sole basis of your position is that you would feel more smug if you believed it.
Again, you're missing a key point: For the majority of people, these drugs would not have effects anything like what they do to me. That's the diagnosis, right there.
One of the most interesting misdiagnoses of ADHD is that it tends to get mistaken for bipolar disorder. This is because of people like you, who try their hardest to make people feel guilty and bad for not being able to do things that other people do. I assume you spend time at wheelchair ramps, yelling at people to stop being lazy and just walk?
Probably not, actually. But the only difference is that in that case, you can see what's going on, and you're not yet quite able to understand that sometimes you don't actually have perfect knowledge of someone else's brain. Don't worry, you'll catch on! :)
The lack of a "learned habit". You're starting by assuming that there's such a habit -- but I've seen no evidence to suggest such a thing.
Furthermore, I had this trait before I was in school, and it's always been the same way.
I think you're missing a key point. ADHD meds do not "work" for people who don't have ADHD. If you have a hard time focusing, but you don't have ADHD, and you take stimulants, they make you more jittery. They don't make you calm down and focus better. Caffeine can help people "focus" if they're just tired, but it doesn't have the same impact at all on most people that it does on the ADHD folks.
I actually for a while bought into the "never learned these skills" theory. However, I'm 36 now. I can learn nearly any skill extremely quickly. And yet, no matter how I try, I can't learn the "skill" of paying attention to something that's not interesting.
I tend to pick things up and put them down unconsciously. If I want to pick something up, and I'm holding something, the thing I'm holding isn't part of my decision-making process -- and I may never find it again, depending on where I was when I stopped thinking about it. My desks tend to be covered with objects that I have put down because I was done holding them and wasn't aware of them anymore.
If the desk is full, I push things to make room. Again, unconsciously.
If the desk is really full, this means things fall off the other side of the desk. And every time, it surprises me. Why? Because I was totally unaware that I was pushing things to make room for them, and totally unaware that the other end of the surface, two feet away from me, was also full. And if someone who can do a fair bit of calculus in his head can't figure out that pushing things off a table makes them fall off, it strikes me as reasonable to assume that there is a "disorder" involved somewhere.
Seriously, this isn't a habit. It's not like a habit. It's just a difference in how my brain processes input.
It's not at all clear to me that weeding out the outspoken is actually good for the company.
That's really sad. I can't imagine NOT programming for recreation.
When I'm doing way too many hours programming for work, and I need a break? I program. I mean, *duh*. What else would be fun like that? :)
If ADHD meant "inability to pay attention to anything whatsoever for a long time", you'd have made a great point.
It doesn't. You didn't.
I have moderately severe ADHD. This is easily confirmed by my reaction to the Schedule II stimulants -- they make me calm, and allow me to do things like sit still without vibrating in place. I can quite easily, unmedicated, play a video game for 16 hours straight -- as long as it happens to be catching my interest. If it gets dull, I start doing other things. Often, other things at the same time. I have been known to play WoW for 8 hours while watching old sitcoms on a nearby DVD player and reading a book. There are also times when the game is sufficiently interesting to actually hold my interest for long periods of time. It's not unique to games, either -- get me started on a really interesting math problem, and I'm not going to distract easily. I can program for 16 hours straight, too.
Sometimes.
The disorder, again, isn't that I can't stay on a task for a long time -- it's that I don't necessarily have the ability to *control* what task I'm on. If you give me a really interesting math problem, and then tell me to do something else, it may be beyond my ability to continue the other task without getting side-tracked onto the math problem again.
I'm aware that a lot of people think this is "just laziness". I always assumed it was, until I started comparing notes with other people who have clinical diagnoses of ADHD, and discovered that there are very clear distinctions in the pattern of attention.
So far, I'm on meds a fair chunk of the time, but I like to spend some time off them. There are things I do better unmedicated. Some of them are even work-related! But I like having a choice in the matter... And that means that I have to take a little time now and then to correct people who are going off a vague sense that ADHD is mostly faked, or whatever, because they've got a very weird stereotyped view of what ADHD ought to mean, and think anything that doesn't look like it isn't "real" ADHD.
That's not a dock. It's a hack, and I don't really mean that in the positive sense.
I had one of their "docks" for the Pismo (G3 400). It sorta worked most of the time but lost connections sometimes, because there was no design for actually locking the laptop to the dock. That looks some better, but fundamentally, the machine's not designed for it.
I've had docking laptops (a ThinkPad and an HP), and a real docking connector is MUCH different from the Bookendz things.
And yes, I would pay more for a dock-capable machine. Right now, I'm probably sticking with the Apple machines because the time I spend connecting cables is not as big an issue as the time I would have to spend messing with Windows -- I learned that back when I was using that ThinkPad. (And yes, I do have to have one or the other as an option. Life's tough.) Still, a dock would be worth a lot more to me. Honestly, I care a lot more about that than about how thin they can make the machine. I'd be fine with a machine half an inch thicker and a pound or two heavier if it had a docking station and ran cooler.
When my spouse and I wanted to take up an MMO, we had an obvious requirement: It had to run on a Mac, because my spouse is a Mac user. So, we got WoW. (There weren't many competitors at the time who did Mac; even now, the most obvious is Eve which is of anti-value to me because I don't, ever, under any circumstances, want PvP.)
So far, that's two copies sold. But wait. My brother-in-law now plays with us. My sister-in-law now plays with us, because her husband plays with us. A friend of mine from some message boards who'd given up got back into the game because I was playing it. So I can name five people (and more than five monthly subscriptions) that came from that sale. Only one of whom plays primarily on Mac.
For games that are played with other people, the effect isn't just the actual sales to Mac users; it's the sales to people who want to play with Mac users, and the moment anyone provides an option for the Mac market, a lot of other users will end up being drawn to that product by preference.
I have always sucked at MK, but I do okay on the Wii. It's really amazing.
It's almost as though I have fifteen or so years of training in the use of a vertical wheel to control a car, and much less experience using a tiny little thumbstick to control a car.