I salute you for your ambition and determination. I hope you get to realize your vision.
Now, as I read your question, I remembered an interview I saw a few days ago with Ben Kamens, one of the engineers working at Khan Academy, talking about scalability and things like how they manage their operation and the spikes of growth they have experienced in the past. It's a little light in technical details, but you may find it interesting: Root Access: How to Scale your Startup to Millions of Users.
One thing I'd like to mention is that when you hear someone else talk about the things they've done and how they have done it, it's easy to see it as an advertisement for a particular technology platform (AppEngine and other Google machinery in the previous video, for example), but that's not the thing to focus on. Whatever choices other people have made, the good thing is that their advice can be useful no matter what choices you end up taking. I know this seems like such a trivial thing to say, but evidence suggests that a number of people miss this basic concept, and then discussions quickly degenerate into pointless noise about concrete technologies, instead of the ideas.
I'd also recommend that you pay a visit to Google Developers youtube channel and type something like "scale" or "scalability" in the little channel search box. You might learn a few things from some really smart people who have confronted very real situations regarding scalability.
I very much agree with what you're saying, and my recollection of playing Wolfenstein3D for the first time many years ago was indeed similar (although I also remember the not-so-pleasant diziness and head aches from the visual effects).
For more interesting nuggets about the impact of this game and the design behind it, make sure to check out this nice video of Carmack himself talking about the game and playing the game with commentary: http://www.youtube.com/watch?v=amDtAPHH-zE
I commend you for your genuine interest to aid your son now that he's starting to explore the exciting, wild, large, fuzzy, beautiful world of things we usually refer to as "programming".
There are some excellent recommendations for books already posted, but I just wanted to point out a video that might help you get a different perspective on what might be worth pursuing when teaching these things to young people: ART && CODE Symposium: Hackety Hack
It's a talk made by someone that has already been mentioned in other posts, a legendary figure that goes by the name of Why the Lucky Stiff (creator of the Poignant Guide to Ruby), and let me tell you, if you have already read something about him and felt curious about why he did the things he did and in the way he did them, seeing him on video really helps you see where he comes from and what his motivations are.
Make sure to see the bits of the talk where he presents a video made by a kid where he explains in his own words the experience he (the kid) had learning programming from books, and then trying to learn it from a sandbox like Hackity Hack (a creation of Why, but it really could be any other similar tool).
OK, so basically it seems a lot of people tend to dismiss any stories like this based on any sort of belief, prejudice, theory, etc. Still, there is a natural impulse on a lot of us to read about them, even if it's just for fun. That's fine. With that in mind, when I read this, I remembered this interesting piece I read not too long ago.
I'm a fan of the band 'Tool'. People familiar with them probably know how they have their own set of beliefs regarding a number of topics that are usually described as "occultism" or "mysticism", and those can be appreciated on their music. Anyway, one day I was just listening to the Lateralus album, and as the last track played, I decided to google the song for a bit, see if I found something interesting about it. Well, interesting was certainly what I found. The following message is pasted from a public forum, it's claimed to be written by one of the admins of a semi-official Tool website, it might make for an interesting read to the casual observer, and if it makes you think, all the better. You can believe what you want. Enjoy.
- - -
I still receive a lot of email about the live version of the 'hidden' track, Faaip de Oiad that was performed during the latter stages of the Lateralus tour which, as I explained sometime last year, would most likely be included on the new dvd (no release date yet, I'm sorry to report). I also still get quite a few questions as to the precise meaning of the Enochian title, Faaip de Oiad (Voice of God), and the strange circumstances surrounding the frantic, some would say paranoid, voice that can be heard on the track from the Tool CD. Rather than answer all the emailers individually, I have decided that it's finally time to explain how the piece initially came about, how the original idea was aborted to better fit with the Lateralus concept, and the truly bizarre coincidences surrounding both the original version as planned by Danny and myself along with the recorded version in which Danny utilized the voice on the "Area 51 caller line", during which time a mysterious satellite outage abruptly knocked the 'Coast to Coast AM' radio program and various other broadcasts temporarily off the air on the night of September 11, 1997 (yes, that's right: 911).
First, let me clear up one thing once and for all. Evidently there are a lot of Tool fans who still think that the words that can be heard on the track were written (and uttered) by MJK (some saying that it's similar to "Cesaro Summability" from AEnima). This is simply NOT TRUE. The obviously distraught caller was real (whether he was perpetrating a hoax or not still remains to be determined, this despite the belief by many that this same person later called back and admitted to Art that he was in fact responsible for the deception). In fact, for what ever reason, I had been recording the program that night, and it was my cassette tape that Danny used on the track. Those interested can probably listen to a copy of the original broadcast in the MP3 format that's available via the Internet. This recording will also contain Art Bell's voice, with his questions and responses that were edited out by Danny for use on Faaip de Oiad. For those who can't quite make out what the caller is saying, here is a transcript (complete with verbal place holders) that was taken from the COAST TO COAST AM radio program hosted by Art Bell and transmitted from Pahrump, NV (near Area 51). There is one line in particular that will take on a new meaning in the upcoming text, but for now, read it in innocence.
TRANSCRIPT (9-11-97)
"I, I don't have a whole lot of time. Um, OK, I'm a former employee of Area 51. I, I was let go on a medical discharge about a week ago and, and... [chokes] I've kind of been running across the country. Damn, I don't know where to start, they're, they're gonna, um, they'll triangulate on this position really soon. Ok, um, um, Ok, what we're thinking of as, as aliens, they're extradimensional beings, that, an earlier precursor of the, um, space program they made conta
Interesting article. I respect very much Joel's opinions on most issues whenever he posts a new article, and this one in particular raises very valid points, however, this article's main line of reasoning starts by judging Netscape's decision to rewrite its code from version 4.x to 6.x, something that doesn't fall in the category of things that can be simply described as the software authors' desire to "throw it out and start over" because "It's a big hairy mess".
Mozilla's history is an interesting and revolted one, especially when it was released as an "open source" project (ie. version 5). Sure, Mozilla's developers felt it was a "big hairy mess" by then, but their decision to start from scratch was mainly deployed for a very diferrent issue, and from most people's point of view, it was the best decision they could've ever take. Granted, maybe Netscape (the company) is not the best `success story' ever, but that's related to another number of reasons, and when you focus on the issue of developing the best web browser possible, Netscape's developers decision back then was the single most important step to make Mozilla the greatest codebase for a web browser ever.
For a bit of Mozilla's history and the reasoning behind the Netscape 4.x -> 5.x you can read a few fragments from the book "Creating Applications with Mozilla":
Your argument do not address the point being made, which is the wastage of effort.
My message didn't intend to address any points being made. It was a small list of reasons why web browsers, particularly Epiphany, could be considered well worth developing. I don't even imply I agree with all those points, it was just my natural response to a person stating "Another freaking browser?".
Anyhow, I still find amusing this "wastage of effort" rant every time I read it. Another freaking text editor? Another freaking distribution? Another freaking email client? Another freaking programming language? Another freaking filesystem? Another freaking p2p system? Another freaking web browser? Another freaking [anything]?What a waste of effort.... Flamebaiters just love that punch line.
Curiously enough, these irrelevant dissertations usually come from people who doesn't develop software on the scale all these "wastage perpetrators" do, or simply doesn't develop any software at all. Surely, this fact helps a lot if one should try to stand on such a flawed logic.
If one doesn't write code, it is easier to come to any public forum and share your feelings about what a waste of development efforts this-or-that project is the first chance you get. Actually, it's rather easy whether you are a hacker or not. But it is very, very unlikely that a hacker, someone who knows what is like to write yet another editor, email client, compiler, browser or whatever is the hip thing to code today, could be seen publicly ranting about the waste of efforts something is, anything.
I mean, I don't need to repeat all the well-known facts about how a hacker works, and how Free Software (such as Epiphany) gets developed. I don't know, maybe I was caught by the original trollish comment because it shamelessly suggested it was a bad idea to develop a web browser that the person who wrote the rant doesn't know anything about, and that I currently use and consider a kick-ass piece of software.
Anyway, my own rant is getting long, so let me just state two things: (a) A piece of software like Epiphany is not a waste of effort. There is people using it, therefore it was not, is not, and won't be wastage of anything. This is so trivial I can't believe I just wrote it. (b) If something is a wastage, it's the effort of people who says "That is a wastage of effort" (I love the irony of me writing these words). That, in fact, is worthless. Or not? I don't know, maybe the Epiphany developers will read this thread, think for a second and say, "Hey! This person is right, I've been wasting my time coding an application he finds a wastage of effort, so I will stop doing it, and invest more time in the projects he thinks are not a wastage of effort". Actually, that is probably happening right now!
All of your points can be addressed by tweaking an existing browser to suit the needs of usability, consistency and bloat.
As in producing another freaking browser? You know Epiphany is nothing but a tweaked version of mozilla code created to suit the needs of usability, consistency and bloat, right?
Your message shows how very badly informed you are about the reasons why new browsers get developed, and Epiphany in particular. Moreover, your highly-flammable words takes away any bit of credibility and respect I would have given to your post. The reasons why this has been mod'ed up as Insightful are beyond me.
Any way, long story short: Epiphany's raison d'etre could be resumed as follows:
Some people don't want the "gigantic" Mozilla binary running for most web-browsing needs.
Some people wants their graphical applications as consistent as possible.
Some people care about their applications being usable.
Some people realize that sitting down and coding an application that is going to be used at the very least by its developer is a lot more useful and fun than ranting about pointless drivel such as "why another web browser?" and "I think [insert project name here] has dick-envy over [insert different project name here]"
The way you have worded your message, I'm inclined to think that you haven't used Gnome 2 at all. There is nothing wrong with having "more than one way to do it", but some of the assertions you make are, at the very least, disturbing.
*Especially* for the less technically inclined it would be better to have as many different ways as possible to do something.
You are probably the first person I know who think this way. When someone is presented with a new desktop environment (or is a "less technically inclined" person, if you will), he/she usually just wants to go straight to the point and get the job done. Providing two or more ways to accomplish something (in a graphical desktop) is rather pointless when you have one way that is truly usable. Tweaking your way to the perfect configuration of your graphical desktop is still an option for the curious user who have the time/interest to use this and that configuration-management resources, but targetting your software to the average user is not neccesarily a bad thing (in fact, it is usually a Very Good Thing).
If you look at usability studies they always say how the test persons all tried different things to do the required task and how half of them got stuck on the way and didn't know what to do
This usually happens when things are ambiguous. Given the context you have made your remark in, it seems like you don't know, or don't understand, very basic concepts of usability. Again, it makes me think that you don't really know Gnome 2, as it's almost impossible to use it and not become aware of their very well thought interface, highly influenced by good standards.
Have you used Epiphany? Have you seen how easy and direct is the process of managing cookies, bookmarks, etc. in it? Its interface is not by any means a coincidence, as Epiphany developers strive towards usability.
One thing Windows gets right is that there is always more than one way to reach your goal. (e.g. you can adjust the time by double clicking on the clock, by using the context menu of the clock, by using the control panel etc.)
Your analogy suggests a comparison between bookmarks/cookie management within a web browser and clock adjusters. The example is not very good. Anyway, you comment brings up the interesting point of having multiple interfaces to the same underlying data. In the case of Gnome 2 (and this applies to Epiphany's settings), every setting is usually available as a GConf key/value. That basically means that there's nothing really stopping you from using virtually any interface to update your applications' settings. The GConf model brings a lot more cool features, but that's beyond this discussion.
Having one elegant solution is nice (...) but if you look at speech there are many different ways to express a thought, perhaps one is more elegant than the others but all may be correct and logical.
I think it's important to keep things in context. We're talking about desktop environments and usability. I agree with your comment on the way speech express thoughts, but let's think about graphical computer applications:
user A thinks "I want to change the time, that should be possible by doing something with the clock thingy" but in user B's opinion it's "I want to change a setting, it should be in the control panel"
Maybe this is not a perfect analogy (the clock example isn't very fit in the first place), but in the case of Epiphany cookie/bookmarks administration, it could go something like: user A thinks "I want to setup my cookies, they should be on my web browser's menu" (yes, under Gnome, even when the web browser is called "Epiphany", you can run it via (main menu)-->Applications-->Int
He affirms that he doesn't actually know the guy, but that "[he has been] told enough about his background and how he did it to be pretty sure he is one of us".
... are going to worry about an obscure feature such as regular expressions that only 1% of the populace uses
All flammable opinions aside, this is a very sad fact (I don't know if 1% is correct, but the point is still valid).
To some extent, regexps suffer from the same problem many Free Software projects do, and it's that a lot of people simply don't want to get very far along the learning curve. We tend to live the moment and try to get the job done as fast as possible, so investing time learning something useful is usually pretty hard, no matter how blatantly obvious the potential benefits are.
Imagine how much efficiency could be gained from teaching at least some basic regexp skills to secretaries, just to mention one example.
Actually, many of us who use regexps everyday, still do it poorly sometimes.
Jeffrey Friedl put it clearly in his book "Mastering Regular Expressions":
You might think that with their wide availability, general popularity, and
unparalleled power, regular expressions would be employed to their fullest,
wherever found. You might also think that they would be well documented, with
introductory tutorials for the novice just starting out, and advanced manuals for
the expert desiring that little extra edge.
Sadly, that hasn't been the case.
I salute you for your ambition and determination. I hope you get to realize your vision.
Now, as I read your question, I remembered an interview I saw a few days ago with Ben Kamens, one of the engineers working at Khan Academy, talking about scalability and things like how they manage their operation and the spikes of growth they have experienced in the past. It's a little light in technical details, but you may find it interesting: Root Access: How to Scale your Startup to Millions of Users.
One thing I'd like to mention is that when you hear someone else talk about the things they've done and how they have done it, it's easy to see it as an advertisement for a particular technology platform (AppEngine and other Google machinery in the previous video, for example), but that's not the thing to focus on. Whatever choices other people have made, the good thing is that their advice can be useful no matter what choices you end up taking. I know this seems like such a trivial thing to say, but evidence suggests that a number of people miss this basic concept, and then discussions quickly degenerate into pointless noise about concrete technologies, instead of the ideas.
I'd also recommend that you pay a visit to Google Developers youtube channel and type something like "scale" or "scalability" in the little channel search box. You might learn a few things from some really smart people who have confronted very real situations regarding scalability.
Best of luck to you, my friend.
I very much agree with what you're saying, and my recollection of playing Wolfenstein3D for the first time many years ago was indeed similar (although I also remember the not-so-pleasant diziness and head aches from the visual effects).
For more interesting nuggets about the impact of this game and the design behind it, make sure to check out this nice video of Carmack himself talking about the game and playing the game with commentary: http://www.youtube.com/watch?v=amDtAPHH-zE
I commend you for your genuine interest to aid your son now that he's starting to explore the exciting, wild, large, fuzzy, beautiful world of things we usually refer to as "programming".
There are some excellent recommendations for books already posted, but I just wanted to point out a video that might help you get a different perspective on what might be worth pursuing when teaching these things to young people: ART && CODE Symposium: Hackety Hack
It's a talk made by someone that has already been mentioned in other posts, a legendary figure that goes by the name of Why the Lucky Stiff (creator of the Poignant Guide to Ruby), and let me tell you, if you have already read something about him and felt curious about why he did the things he did and in the way he did them, seeing him on video really helps you see where he comes from and what his motivations are.
Make sure to see the bits of the talk where he presents a video made by a kid where he explains in his own words the experience he (the kid) had learning programming from books, and then trying to learn it from a sandbox like Hackity Hack (a creation of Why, but it really could be any other similar tool).
Best of luck to you and your son!
OK, so basically it seems a lot of people tend to dismiss any stories like this based on any sort of belief, prejudice, theory, etc. Still, there is a natural impulse on a lot of us to read about them, even if it's just for fun. That's fine. With that in mind, when I read this, I remembered this interesting piece I read not too long ago.
I'm a fan of the band 'Tool'. People familiar with them probably know how they have their own set of beliefs regarding a number of topics that are usually described as "occultism" or "mysticism", and those can be appreciated on their music. Anyway, one day I was just listening to the Lateralus album, and as the last track played, I decided to google the song for a bit, see if I found something interesting about it. Well, interesting was certainly what I found. The following message is pasted from a public forum, it's claimed to be written by one of the admins of a semi-official Tool website, it might make for an interesting read to the casual observer, and if it makes you think, all the better. You can believe what you want. Enjoy.
- - -
I still receive a lot of email about the live version of the 'hidden' track, Faaip de Oiad that was performed during the latter stages of the Lateralus tour which, as I explained sometime last year, would most likely be included on the new dvd (no release date yet, I'm sorry to report). I also still get quite a few questions as to the precise meaning of the Enochian title, Faaip de Oiad (Voice of God), and the strange circumstances surrounding the frantic, some would say paranoid, voice that can be heard on the track from the Tool CD. Rather than answer all the emailers individually, I have decided that it's finally time to explain how the piece initially came about, how the original idea was aborted to better fit with the Lateralus concept, and the truly bizarre coincidences surrounding both the original version as planned by Danny and myself along with the recorded version in which Danny utilized the voice on the "Area 51 caller line", during which time a mysterious satellite outage abruptly knocked the 'Coast to Coast AM' radio program and various other broadcasts temporarily off the air on the night of September 11, 1997 (yes, that's right: 911).
First, let me clear up one thing once and for all. Evidently there are a lot of Tool fans who still think that the words that can be heard on the track were written (and uttered) by MJK (some saying that it's similar to "Cesaro Summability" from AEnima). This is simply NOT TRUE. The obviously distraught caller was real (whether he was perpetrating a hoax or not still remains to be determined, this despite the belief by many that this same person later called back and admitted to Art that he was in fact responsible for the deception). In fact, for what ever reason, I had been recording the program that night, and it was my cassette tape that Danny used on the track. Those interested can probably listen to a copy of the original broadcast in the MP3 format that's available via the Internet. This recording will also contain Art Bell's voice, with his questions and responses that were edited out by Danny for use on Faaip de Oiad. For those who can't quite make out what the caller is saying, here is a transcript (complete with verbal place holders) that was taken from the COAST TO COAST AM radio program hosted by Art Bell and transmitted from Pahrump, NV (near Area 51). There is one line in particular that will take on a new meaning in the upcoming text, but for now, read it in innocence.
TRANSCRIPT (9-11-97)
"I, I don't have a whole lot of time. Um, OK, I'm a former employee of Area 51. I, I was let go on a medical discharge about a week ago and, and... [chokes] I've kind of been running across the country. Damn, I don't know where to start, they're, they're gonna, um, they'll triangulate on this position really soon. Ok, um, um, Ok, what we're thinking of as, as aliens, they're extradimensional beings, that, an earlier precursor of the, um, space program they made conta
... you see, there are plenty of things to do for a roadie anyway.
There is a very interesting piece at kuro5hin which talks about all the work involved in the job...
another funny story about knights, swords and kingdoms... and mr. Gates is there too. Coincidentally, I visited these links a few days ago:
http://www.gamedev.net/reference/articles/article3 90.asp
3 91.asp
http://www.gamedev.net/reference/articles/article
Interesting article. I respect very much Joel's opinions on most issues whenever he posts a new article, and this one in particular raises very valid points, however, this article's main line of reasoning starts by judging Netscape's decision to rewrite its code from version 4.x to 6.x, something that doesn't fall in the category of things that can be simply described as the software authors' desire to "throw it out and start over" because "It's a big hairy mess".
Mozilla's history is an interesting and revolted one, especially when it was released as an "open source" project (ie. version 5). Sure, Mozilla's developers felt it was a "big hairy mess" by then, but their decision to start from scratch was mainly deployed for a very diferrent issue, and from most people's point of view, it was the best decision they could've ever take. Granted, maybe Netscape (the company) is not the best `success story' ever, but that's related to another number of reasons, and when you focus on the issue of developing the best web browser possible, Netscape's developers decision back then was the single most important step to make Mozilla the greatest codebase for a web browser ever.
For a bit of Mozilla's history and the reasoning behind the Netscape 4.x -> 5.x you can read a few fragments from the book "Creating Applications with Mozilla":
http://books.mozdev.org/html/mozilla-pref.html
http://books.mozdev.org/html/mozilla-chp-1.html
My message didn't intend to address any points being made. It was a small list of reasons why web browsers, particularly Epiphany, could be considered well worth developing. I don't even imply I agree with all those points, it was just my natural response to a person stating "Another freaking browser?".
Anyhow, I still find amusing this "wastage of effort" rant every time I read it. Another freaking text editor? Another freaking distribution? Another freaking email client? Another freaking programming language? Another freaking filesystem? Another freaking p2p system? Another freaking web browser? Another freaking [anything]?What a waste of effort.... Flamebaiters just love that punch line.
Curiously enough, these irrelevant dissertations usually come from people who doesn't develop software on the scale all these "wastage perpetrators" do, or simply doesn't develop any software at all. Surely, this fact helps a lot if one should try to stand on such a flawed logic.
If one doesn't write code, it is easier to come to any public forum and share your feelings about what a waste of development efforts this-or-that project is the first chance you get. Actually, it's rather easy whether you are a hacker or not. But it is very, very unlikely that a hacker, someone who knows what is like to write yet another editor, email client, compiler, browser or whatever is the hip thing to code today, could be seen publicly ranting about the waste of efforts something is, anything.
I mean, I don't need to repeat all the well-known facts about how a hacker works, and how Free Software (such as Epiphany) gets developed. I don't know, maybe I was caught by the original trollish comment because it shamelessly suggested it was a bad idea to develop a web browser that the person who wrote the rant doesn't know anything about, and that I currently use and consider a kick-ass piece of software.
Anyway, my own rant is getting long, so let me just state two things: (a) A piece of software like Epiphany is not a waste of effort. There is people using it, therefore it was not, is not, and won't be wastage of anything. This is so trivial I can't believe I just wrote it. (b) If something is a wastage, it's the effort of people who says "That is a wastage of effort" (I love the irony of me writing these words). That, in fact, is worthless. Or not? I don't know, maybe the Epiphany developers will read this thread, think for a second and say, "Hey! This person is right, I've been wasting my time coding an application he finds a wastage of effort, so I will stop doing it, and invest more time in the projects he thinks are not a wastage of effort". Actually, that is probably happening right now!
As in producing another freaking browser? You know Epiphany is nothing but a tweaked version of mozilla code created to suit the needs of usability, consistency and bloat, right?
Your message shows how very badly informed you are about the reasons why new browsers get developed, and Epiphany in particular. Moreover, your highly-flammable words takes away any bit of credibility and respect I would have given to your post. The reasons why this has been mod'ed up as Insightful are beyond me.
Any way, long story short: Epiphany's raison d'etre could be resumed as follows:
The way you have worded your message, I'm inclined to think that you haven't used Gnome 2 at all. There is nothing wrong with having "more than one way to do it", but some of the assertions you make are, at the very least, disturbing.
You are probably the first person I know who think this way. When someone is presented with a new desktop environment (or is a "less technically inclined" person, if you will), he/she usually just wants to go straight to the point and get the job done. Providing two or more ways to accomplish something (in a graphical desktop) is rather pointless when you have one way that is truly usable. Tweaking your way to the perfect configuration of your graphical desktop is still an option for the curious user who have the time/interest to use this and that configuration-management resources, but targetting your software to the average user is not neccesarily a bad thing (in fact, it is usually a Very Good Thing).
This usually happens when things are ambiguous. Given the context you have made your remark in, it seems like you don't know, or don't understand, very basic concepts of usability. Again, it makes me think that you don't really know Gnome 2, as it's almost impossible to use it and not become aware of their very well thought interface, highly influenced by good standards.
Have you used Epiphany? Have you seen how easy and direct is the process of managing cookies, bookmarks, etc. in it? Its interface is not by any means a coincidence, as Epiphany developers strive towards usability.
Your analogy suggests a comparison between bookmarks/cookie management within a web browser and clock adjusters. The example is not very good. Anyway, you comment brings up the interesting point of having multiple interfaces to the same underlying data. In the case of Gnome 2 (and this applies to Epiphany's settings), every setting is usually available as a GConf key/value. That basically means that there's nothing really stopping you from using virtually any interface to update your applications' settings. The GConf model brings a lot more cool features, but that's beyond this discussion.
I think it's important to keep things in context. We're talking about desktop environments and usability. I agree with your comment on the way speech express thoughts, but let's think about graphical computer applications:
Maybe this is not a perfect analogy (the clock example isn't very fit in the first place), but in the case of Epiphany cookie/bookmarks administration, it could go something like: user A thinks "I want to setup my cookies, they should be on my web browser's menu" (yes, under Gnome, even when the web browser is called "Epiphany", you can run it via (main menu)-->Applications-->Int
Well, ESR claims to know about the person that caused the DoS.
He affirms that he doesn't actually know the guy, but that "[he has been] told enough about his background and how he did it to be pretty sure he is one of us".
All flammable opinions aside, this is a very sad fact (I don't know if 1% is correct, but the point is still valid).
To some extent, regexps suffer from the same problem many Free Software projects do, and it's that a lot of people simply don't want to get very far along the learning curve. We tend to live the moment and try to get the job done as fast as possible, so investing time learning something useful is usually pretty hard, no matter how blatantly obvious the potential benefits are.
Imagine how much efficiency could be gained from teaching at least some basic regexp skills to secretaries, just to mention one example.
Actually, many of us who use regexps everyday, still do it poorly sometimes.
Jeffrey Friedl put it clearly in his book "Mastering Regular Expressions":For an interview where Mr. Kernighan did mention emacs, see here...
Actually, quite an interesting read too.