The problem with that game is the suggested links are based on your history nowadays, so if it's a video you're likely to want to see, it will be biased to come up early. If it's a video you've never watched and are never likely to want to watch, it may well end up hidden.
I once switched off the adult filter on Youtube, because a video that used the F-word wouldn't play with it on. It's amazing how my search results changed that day.
Because it's really, really geeky, therefore perfect Slashdot material. I think you're the sort who doesn't grok grep, and we don't like your type round here...
Well, I personally will be sharing the link with my fellow students on a Coursera MOOC on Natural Language Processing, because it's not only a good technique demo, it's also an excellent choice of material. The Lord of the Rings alone is a considerably large "single text" for analysis, the contrast between "children's book" (the Hobbit) and "adult literature" (LotR) is noteworthy (other authors have worked in both genres, but not all that many) and then there's the continuity between all three component works.
Basically cos most of us are rubbish at writing. For all our flaws and "umm"s and "aahhh"s, there's something in natural speech that is... well... natural, and most of us remove that when we put pen to paper (or finger to keyboard).
Sorry, you can't bundle Europe that way. The legal systems of the UK were the foundations for the legal systems in all the colonised countries. The distinction is more "Common law" and "Roman law". Common law can be thought of more-or-less as "English-speaking law". (Inasmuchas any lawyer speaks English.)
Yes, we promised you Python webservers, and we delivered your Python webservers as promised.
No, of course you can't program them in Python. Python is an optional extra, not a standard component of a Python webserver. What you want is our PyPy webserver a totally unique and new trademarked name for our Python webserver running a Python webserver.
No, Pypy doesn't run Pypy, just standard Python. If you want Pypy, you'll need to get PyPyPyPy, a Python webserver running the PyPy Python interpreter virtualised inside a Python session.
They had the domain registered for years, why shouldn't they be allowed to make python servers? It's not like anyone who isn't an idiot would confuse python-server-hardware with python-programming-language.
Google Python webserver. Then think about what you've just said....
True. If "Python", being free, isn't considered as "trading" by the appropriate authorities, it can't be a prior mark. However, they could always argue genericity -- Google has 60 million hits for the search Python language, so it's definitely in active use as computer terminology...
Where are all the "traditional" Computer Science courses? I'm not asking about the "interactive manual" type courses like how to do loops in Python - there are a ton of materials about that all over the web. I'm asking about theoretical computer science, such as Turing completeness, Chomsky hierarchy, abstract data types, compiler design, that kind of stuff which is the backbone of a university computer science education.
The reason I'm asking is not to diminish the value of hands-on courses, but because many (including myself) were not able to get a "traditional" CS degree, coming into programming jobs from other disciplines (or no degree at all) and are largely self taught. Self teaching is great when it comes to practical stuff early on, but once you move on to more senior roles you start feeling the gaps of not understanding the theory behind your tools, design, and implementation, as much as you should.
Khan Academy was launched to help school-age kids (they talk a lot about something called "K-12" on the site, but I have no idea what that means.
So for a variation on your question:
Is it likely that Khan Academy will expand "upward" into more university-level courses or does the current roadmap only plan for "outward" growth into other subject courses at the school level?
Ever used a database? Are you limited to "flat" files?
I do not attempt to navigate a database by conceptualising it as space. The internet and databases to me share a single schema -- that of connections. This has more in common with the laws of cause and effect than the idea of navigating a "space".
If you think all of these individual 'separate' virtual worlds are not connected to each other, then it is you, good sir, that do not understand how the internet actually works.
If they were not connected together, then I would not be able to simultaneously connect to two of them from my one connection point.
That's a pretty facile argument. Virtual worlds make their own abstract conceptualisation of space, and you cannot "move" things between these spaces. They are a computational system that connects to the internet. Your computer connects to the server. The game doesn't exist in the connection, it exists in your computer and the server. Zynga's servers do not connect to WoW servers do not connect to Star Wars servers. They do not exist in the same computationally generated abstract spatial representation. They share no abstract dimensionality with each other.
True, but that is on a technical level, and the user-facing internet abstracts most of this away. Even response time isn't a measure of distance, as server load and network congestions are often more of a limiting factor than the speed of light. In the early days of the internet, I may well have conceptualised response times as a notion of "distance", but as the internet has matured, I've encountered a great many sites that respond so differently from one day to the next that I have no longer have natural inclination to view it as distance.
Any attempt to find a physical adequate metaphor leads us to something so convoluted that it can't aid understanding in any way. Do we visualise slow sites as on top of mountains (extra effort to reach them)? As craters (extra effort getting stuff back out)? Even then, if time is the measure of the magnitude of vector, we end up with a one-dimensional cyberspace. Unless we start trying to conceptualise the time from going from one site to another, and performing triangulations, but that's bogus, because while the user perceives the motion from site to site, the communication is between the user's computer and the second site -- there's no measure of distance between target sites that is meaningful to the user.
Only if your imagination can only contain three dimensions.
IE. "Only if you have a human brain." Even most multidimensional physicists admit that they have no internal concept of multidimensional systems. There is no visualisation, there is no intuition, there is only mathematics. We cannot understand more than three dimensions, because we have evolved for a 3D world, and we were born into a 3D world and our brains developed to understand a 3D world. We even find it difficult to fully conceptualise the passing of time.
As Simply Curious says (above): Metaphors are there to give insight into concepts that are difficult to understand. Multidimensional systems are intrinsically more difficult to understand than geography-less networks, so a multidimensional metaphor is no use to the internet.
Even you seem to misunderstand multidimensional physics quite fundamentally you think it makes distances irrelevant. No, multidimensional physics still involves distance, just that your vector of movement has more components in it. When people talk about cutting distances using multidimensional travel, they're talking about adding a vector component in an unseen dimension to travel at a higher speed that is visually apparent. It's mindbending stuff that I'm perfectly happy not understanding.
But you can't use it as hand-wavery to justify any old rubbish.
The concept of "Cyberspace" is no different. We mentally used that concept of a "space" every time we used the term "log in" or "log out" of a remote system. We talked about "going" from one node/server to another in online games, have terms like "server hopping", or even the most common usage of "surfing the web" (yuck!). All of them used the metaphor of a "space" to refer to computers connected to a network.
The concept of a space is not stupid, it is how people used it that is stupid.
Now you might accuse me of playing semantics here, but the "concept" that the article author refers to is the concept behind how people use it.
He even tacitly admitted that there's nothing wrong with the underlying abstract notion when he compared it to JFK's New Frontier, which he has no gripes about. What he's objecting to, clear and simple, is the attempt to define a "cyberspace" that is independent of physical space, suggesting that it is not subject to legal jurisdictions etc.
An idea which I would agree is stupid.
(And I am also quite happy with using spatial metaphors in online systems, just to be clear. If there was a navigable graphical visualisation of the net as in the original sci-fi notions of cyberspace, I wouldn't have a problem with that... other than the problem of being constantly, irrevocably lost as the whole thing would be so fscking humungous....)
I disagree. You don't need to define a "virtual territory" to deal with trademark issues -- all you have to do is recognise that certain types of enterprise trade locally, and others trade globally.
This is, I believe (IANAL), the case already in a great many countries. Even if straight-up trademark law doesn't cover it, there's still the issue of "passing off" -- if they're trying to pass off their software as yours, that's never allowed. If it does the same thing and has the same name, there's good grounds for calling that passing off -- you have a long enough history behind you to prove that your name is known and valuable.
And no, its not "dysfunctional" to get your algorithms and just put them in your program, its called efficiency. Why re-invent the wheel (and introduce potential bugs) by re-coding something that is already done (and tested)? I mean, sure a programmer could spend 85% of their time re-coding existing code, and the remainder working on new stuff, or they could just take existing, working code and focus on adding the new stuff.
[...]
Um, have you even been in an American school? The entire program right now is to make factory floor workers! We focus on obsolete gruntwork rather than focusing on the big picture. We prepare students for life in 1913 rather than 2013. We ignore many technological advancements for the sake of a "complete" education. We waste time teaching students print, cursive and keyboarding rather than just print and keyboarding. We waste time trying to cram in dates and years rather than teaching the principles behind history so we can learn from it. Its the same with math, we can either focus on the gruntwork and spend 95% of our time teaching kids how to do long division and things of that nature, and only 5% discussing the principles behind it. Or we can spend 95% of our time discussing the principles behind it and only 5% discussing the gruntwork behind it.
The idea of the human calculator and the human encyclopedia is over. Real-world success isn't being able to quote dates or do multiplication in your head, its applying those concepts to the world around us. Its not knowing 400 digits of Pi but being able to use Pi to model the world.
Well then let me ask: have you ever been inside a non-US school? Because it is not just a choice between mindless rote repetition on one hand and throwing all the paper away and working on a computer on the other. You can learn the fundamentals of how numbers and probabilities and algebra and geometry work meaningfully, and once you've learned it, you can apply it.
If you object to teaching the fundamentals, and instead focus on plugging numbers into a precoded algorithm, then you are indeed teaching for 2013, because you will produce a generation completely adept at saying "computer says no"....
My mum was out shopping once. She bought two or three things in a shop, at £x.99, £y.99 and £z.95. There was a fault in the electrics and the cash register was out. The shop assistant attempt to calculate the total by long addition and was taking ages. My mum was a maths teacher. She showed her the "divide-and-conquer" algorithm for adding multi-digit numbers ((x+1) + (y+1) + (z+1)) - (0.01+0.01+0.05). The woman behind the counter was very grateful, because she'd never been shown this at school.
And in fact, nobody taught me that at primary school: my mum taught me it at home. Teaching people to be mathematicians instead of calculators can start in the first year of schooling, if they just teach kids how to think in terms of divide-and-conquer, rather than giving a brute force "technically correct but massively suboptimal" way of working.
In my experience students pay more attention to a piece of paper handed to them than if I say "the syllabus with all the test and assignment due-dates is available on-line". If an instructor assumes that everybody in the class is comfortable with computers and will actually look at an electronic-only syllabus, it's a recipe for disaster, although I admit that in a computer science department it's probably a safer assumption than usual.
Unfortunately in practice it can be worse than that. I used to study a distance course with the Open University, and we got a big box of books at the start of each course. If there was a change to an assignment (an incorrect deadline or incomplete information), an email would be sent out as soon as it was noticed. When I got the email, I grabbed a pen and noted it on my copy of the assignment booklet. I could forget about the error until I was ready to do the assignment.
Then they moved everything on-line. If there was an error, they'd email us, as always. But I had no paper copy to update. "Never mind," thought I, "they'll update the file on-line to remove the error." Eehhhhmmmm.... no. I lost marks because I'd forgotten about an erratum that was emailed out several months before the hand-in date and was never posted online. Apparently the internal contracts only allowed them to update materials once a year, or they'd have to pay extra.
The people who suffered were the us, the students.
At my university, the CS department are, counter-intuitively, some of the most reluctant to use our online capabilities and classroom presentation tech.... You would think programmers would be more comfortable with computers.
Doesn't that beg the question why?
I'm a CS graduate (EN_us: major), and I recently retrained to move into language teaching. I wanted to make my IT skills into an asset I could use when teaching, so I decided to bone up on educational technologies. I got quite adept at using interactive whiteboards, yet I eventually came to the conclusion that resolution was a massively limiting factor -- it was no replacement whatsoever for a normal dry-wipe whiteboard (or even a good old-fashioned blackboard).
Another of the things I tried to get into was Moodle, probably the most popular online course management suite at the moment. I couldn't get my head round it. The architecture was a totally mess, hack upon hack, and with no easy way to experiment and learn on your own. This means most Moodle materials are prepared using prewritten templates, and again, all it leads to is more hacking... but this time hacking the pedagogy. Setting exercises moves away from asking yourself "what tasks do I want to set?" towards "what tasks will Moodle let me set?" I eventually found myself so flummoxed by the whole thing that when I wanted an interactive homework page for my students, I taught myself Javascript and HTML 5 instead, and produced something that did what I want, the way I wanted.
So it's not really counter-intuitive that the CS bods shy away from educational technology: it's proof positive that the technology isn't worth using yet.
So we're back to the old calculator debate, but in new clothes. When I was at school the argument was all about whether to use calculators or not. For most of my school career, I survived without recourse to a calculator. I had a calculator, but I never used it, because the course materials were always designed in such a way that we didn't need one. We didn't need to "calculate" the final answer, we just reduced equations, and that led us to exactly what the quote in the summary calls for: mathematicians, not calculators. OK, so statistics has a lot more number crunching in it, but that's already stuff we switch to the scientific calculator for after the first month or so: factorials, n-P-r, n-Choose-r etc.
I am very dubious about how you can abstract any further without losing a fundamental and important understanding of what the maths actually is, and how can you decide which mathematical tool to employ if you don't fully understand what the tool does?
Furthermore, going back to winning argument in the 1980s/90s calculator debate, it's really only this manual stage that develops our skills of approximation, and when working with a computer, we need to be able to look at a result and guesstimate whether it's in the right ball-park or clearly way off the mark.
(Incidentally, I took CS at university and we did lots of geometry and algebra, and we didn't need graphics calculators -- in fact, we were actively discouraged from using them, partly because it would have been onerous on the exam invigilators to have to go round and physically reset everyone's calculator by hand to clear the memory before the start of an exam. If I remember rightly, the rules literally banned them outright, but individual invigilators often let them in and forced the reset themselves.)
This leads to another "usability" question. Why not make a "compatibility standard" that IDEs can provide to users?
Produce an XML spec for describing the supported API features of a given Windows compatibility layer (whether that be Wine, Crossover or ReactOS) that IDEs can simply import to allow developers the option of coding for cross-compatibility in all systems. Ideally it would use RSS to keep up to date with changes.
I import Wine, Crossover and ReactOS and tell my IDE that to warn me if my software won't work on a particular revision of any one of them. Jobs a good un.
The problem is we often have a quite large conceptual gap between what we say and what we think we say... and more often than not we write what we think we say, not what we say....
The problem with that game is the suggested links are based on your history nowadays, so if it's a video you're likely to want to see, it will be biased to come up early. If it's a video you've never watched and are never likely to want to watch, it may well end up hidden.
I once switched off the adult filter on Youtube, because a video that used the F-word wouldn't play with it on. It's amazing how my search results changed that day.
...is this on the front page of /. ??
Because it's really, really geeky, therefore perfect Slashdot material. I think you're the sort who doesn't grok grep, and we don't like your type round here...
Well, I personally will be sharing the link with my fellow students on a Coursera MOOC on Natural Language Processing, because it's not only a good technique demo, it's also an excellent choice of material. The Lord of the Rings alone is a considerably large "single text" for analysis, the contrast between "children's book" (the Hobbit) and "adult literature" (LotR) is noteworthy (other authors have worked in both genres, but not all that many) and then there's the continuity between all three component works.
Basically cos most of us are rubbish at writing. For all our flaws and "umm"s and "aahhh"s, there's something in natural speech that is... well... natural, and most of us remove that when we put pen to paper (or finger to keyboard).
Sorry, you can't bundle Europe that way. The legal systems of the UK were the foundations for the legal systems in all the colonised countries. The distinction is more "Common law" and "Roman law". Common law can be thought of more-or-less as "English-speaking law". (Inasmuchas any lawyer speaks English.)
It's also a good way to screw over your buyers.
Yes, we promised you Python webservers, and we delivered your Python webservers as promised.
No, of course you can't program them in Python. Python is an optional extra, not a standard component of a Python webserver. What you want is our PyPy webserver a totally unique and new trademarked name for our Python webserver running a Python webserver.
No, Pypy doesn't run Pypy, just standard Python. If you want Pypy, you'll need to get PyPyPyPy, a Python webserver running the PyPy Python interpreter virtualised inside a Python session.
They had the domain registered for years, why shouldn't they be allowed to make python servers? It's not like anyone who isn't an idiot would confuse python-server-hardware with python-programming-language.
Google Python webserver. Then think about what you've just said....
Or 'Anaconda' or 'Boa Constrictor'
"Not that big of a deal."
True. If "Python", being free, isn't considered as "trading" by the appropriate authorities, it can't be a prior mark. However, they could always argue genericity -- Google has 60 million hits for the search Python language, so it's definitely in active use as computer terminology...
... It sure didn't work for you!
I don't know... his English was good enough that you didn't notice he was a non-native speaker, so his education must have been pretty good.
Sorry AC, there's only one person showing poor education around here, and that's you....
Where are all the "traditional" Computer Science courses? I'm not asking about the "interactive manual" type courses like how to do loops in Python - there are a ton of materials about that all over the web. I'm asking about theoretical computer science, such as Turing completeness, Chomsky hierarchy, abstract data types, compiler design, that kind of stuff which is the backbone of a university computer science education.
The reason I'm asking is not to diminish the value of hands-on courses, but because many (including myself) were not able to get a "traditional" CS degree, coming into programming jobs from other disciplines (or no degree at all) and are largely self taught. Self teaching is great when it comes to practical stuff early on, but once you move on to more senior roles you start feeling the gaps of not understanding the theory behind your tools, design, and implementation, as much as you should.
Khan Academy was launched to help school-age kids (they talk a lot about something called "K-12" on the site, but I have no idea what that means.
So for a variation on your question:
Is it likely that Khan Academy will expand "upward" into more university-level courses or does the current roadmap only plan for "outward" growth into other subject courses at the school level?
Ever used a database? Are you limited to "flat" files?
I do not attempt to navigate a database by conceptualising it as space. The internet and databases to me share a single schema -- that of connections. This has more in common with the laws of cause and effect than the idea of navigating a "space".
If you think all of these individual 'separate' virtual worlds are not connected to each other, then it is you, good sir, that do not understand how the internet actually works.
If they were not connected together, then I would not be able to simultaneously connect to two of them from my one connection point.
That's a pretty facile argument. Virtual worlds make their own abstract conceptualisation of space, and you cannot "move" things between these spaces. They are a computational system that connects to the internet. Your computer connects to the server. The game doesn't exist in the connection, it exists in your computer and the server. Zynga's servers do not connect to WoW servers do not connect to Star Wars servers. They do not exist in the same computationally generated abstract spatial representation. They share no abstract dimensionality with each other.
True, but that is on a technical level, and the user-facing internet abstracts most of this away. Even response time isn't a measure of distance, as server load and network congestions are often more of a limiting factor than the speed of light. In the early days of the internet, I may well have conceptualised response times as a notion of "distance", but as the internet has matured, I've encountered a great many sites that respond so differently from one day to the next that I have no longer have natural inclination to view it as distance.
Any attempt to find a physical adequate metaphor leads us to something so convoluted that it can't aid understanding in any way. Do we visualise slow sites as on top of mountains (extra effort to reach them)? As craters (extra effort getting stuff back out)? Even then, if time is the measure of the magnitude of vector, we end up with a one-dimensional cyberspace. Unless we start trying to conceptualise the time from going from one site to another, and performing triangulations, but that's bogus, because while the user perceives the motion from site to site, the communication is between the user's computer and the second site -- there's no measure of distance between target sites that is meaningful to the user.
Only if your imagination can only contain three dimensions.
IE. "Only if you have a human brain." Even most multidimensional physicists admit that they have no internal concept of multidimensional systems. There is no visualisation, there is no intuition, there is only mathematics. We cannot understand more than three dimensions, because we have evolved for a 3D world, and we were born into a 3D world and our brains developed to understand a 3D world. We even find it difficult to fully conceptualise the passing of time.
As Simply Curious says (above): Metaphors are there to give insight into concepts that are difficult to understand. Multidimensional systems are intrinsically more difficult to understand than geography-less networks, so a multidimensional metaphor is no use to the internet.
Even you seem to misunderstand multidimensional physics quite fundamentally you think it makes distances irrelevant. No, multidimensional physics still involves distance, just that your vector of movement has more components in it. When people talk about cutting distances using multidimensional travel, they're talking about adding a vector component in an unseen dimension to travel at a higher speed that is visually apparent. It's mindbending stuff that I'm perfectly happy not understanding.
But you can't use it as hand-wavery to justify any old rubbish.
The concept of "Cyberspace" is no different. We mentally used that concept of a "space" every time we used the term "log in" or "log out" of a remote system. We talked about "going" from one node/server to another in online games, have terms like "server hopping", or even the most common usage of "surfing the web" (yuck!). All of them used the metaphor of a "space" to refer to computers connected to a network.
The concept of a space is not stupid, it is how people used it that is stupid.
Now you might accuse me of playing semantics here, but the "concept" that the article author refers to is the concept behind how people use it.
He even tacitly admitted that there's nothing wrong with the underlying abstract notion when he compared it to JFK's New Frontier, which he has no gripes about. What he's objecting to, clear and simple, is the attempt to define a "cyberspace" that is independent of physical space, suggesting that it is not subject to legal jurisdictions etc.
An idea which I would agree is stupid.
(And I am also quite happy with using spatial metaphors in online systems, just to be clear. If there was a navigable graphical visualisation of the net as in the original sci-fi notions of cyberspace, I wouldn't have a problem with that... other than the problem of being constantly, irrevocably lost as the whole thing would be so fscking humungous....)
I disagree. You don't need to define a "virtual territory" to deal with trademark issues -- all you have to do is recognise that certain types of enterprise trade locally, and others trade globally.
This is, I believe (IANAL), the case already in a great many countries. Even if straight-up trademark law doesn't cover it, there's still the issue of "passing off" -- if they're trying to pass off their software as yours, that's never allowed. If it does the same thing and has the same name, there's good grounds for calling that passing off -- you have a long enough history behind you to prove that your name is known and valuable.
And no, its not "dysfunctional" to get your algorithms and just put them in your program, its called efficiency. Why re-invent the wheel (and introduce potential bugs) by re-coding something that is already done (and tested)? I mean, sure a programmer could spend 85% of their time re-coding existing code, and the remainder working on new stuff, or they could just take existing, working code and focus on adding the new stuff.
[...]
Um, have you even been in an American school? The entire program right now is to make factory floor workers! We focus on obsolete gruntwork rather than focusing on the big picture. We prepare students for life in 1913 rather than 2013. We ignore many technological advancements for the sake of a "complete" education. We waste time teaching students print, cursive and keyboarding rather than just print and keyboarding. We waste time trying to cram in dates and years rather than teaching the principles behind history so we can learn from it. Its the same with math, we can either focus on the gruntwork and spend 95% of our time teaching kids how to do long division and things of that nature, and only 5% discussing the principles behind it. Or we can spend 95% of our time discussing the principles behind it and only 5% discussing the gruntwork behind it. The idea of the human calculator and the human encyclopedia is over. Real-world success isn't being able to quote dates or do multiplication in your head, its applying those concepts to the world around us. Its not knowing 400 digits of Pi but being able to use Pi to model the world.
Well then let me ask: have you ever been inside a non-US school? Because it is not just a choice between mindless rote repetition on one hand and throwing all the paper away and working on a computer on the other. You can learn the fundamentals of how numbers and probabilities and algebra and geometry work meaningfully, and once you've learned it, you can apply it.
If you object to teaching the fundamentals, and instead focus on plugging numbers into a precoded algorithm, then you are indeed teaching for 2013, because you will produce a generation completely adept at saying "computer says no"....
My mum was out shopping once. She bought two or three things in a shop, at £x.99, £y.99 and £z.95. There was a fault in the electrics and the cash register was out. The shop assistant attempt to calculate the total by long addition and was taking ages. My mum was a maths teacher. She showed her the "divide-and-conquer" algorithm for adding multi-digit numbers ((x+1) + (y+1) + (z+1)) - (0.01+0.01+0.05). The woman behind the counter was very grateful, because she'd never been shown this at school.
And in fact, nobody taught me that at primary school: my mum taught me it at home. Teaching people to be mathematicians instead of calculators can start in the first year of schooling, if they just teach kids how to think in terms of divide-and-conquer, rather than giving a brute force "technically correct but massively suboptimal" way of working.
In my experience students pay more attention to a piece of paper handed to them than if I say "the syllabus with all the test and assignment due-dates is available on-line". If an instructor assumes that everybody in the class is comfortable with computers and will actually look at an electronic-only syllabus, it's a recipe for disaster, although I admit that in a computer science department it's probably a safer assumption than usual.
Unfortunately in practice it can be worse than that. I used to study a distance course with the Open University, and we got a big box of books at the start of each course. If there was a change to an assignment (an incorrect deadline or incomplete information), an email would be sent out as soon as it was noticed. When I got the email, I grabbed a pen and noted it on my copy of the assignment booklet. I could forget about the error until I was ready to do the assignment.
Then they moved everything on-line. If there was an error, they'd email us, as always. But I had no paper copy to update. "Never mind," thought I, "they'll update the file on-line to remove the error." Eehhhhmmmm.... no. I lost marks because I'd forgotten about an erratum that was emailed out several months before the hand-in date and was never posted online. Apparently the internal contracts only allowed them to update materials once a year, or they'd have to pay extra.
The people who suffered were the us, the students.
At my university, the CS department are, counter-intuitively, some of the most reluctant to use our online capabilities and classroom presentation tech. ... You would think programmers would be more comfortable with computers.
Doesn't that beg the question why?
I'm a CS graduate (EN_us: major), and I recently retrained to move into language teaching. I wanted to make my IT skills into an asset I could use when teaching, so I decided to bone up on educational technologies. I got quite adept at using interactive whiteboards, yet I eventually came to the conclusion that resolution was a massively limiting factor -- it was no replacement whatsoever for a normal dry-wipe whiteboard (or even a good old-fashioned blackboard).
Another of the things I tried to get into was Moodle, probably the most popular online course management suite at the moment. I couldn't get my head round it. The architecture was a totally mess, hack upon hack, and with no easy way to experiment and learn on your own. This means most Moodle materials are prepared using prewritten templates, and again, all it leads to is more hacking... but this time hacking the pedagogy. Setting exercises moves away from asking yourself "what tasks do I want to set?" towards "what tasks will Moodle let me set?" I eventually found myself so flummoxed by the whole thing that when I wanted an interactive homework page for my students, I taught myself Javascript and HTML 5 instead, and produced something that did what I want, the way I wanted.
So it's not really counter-intuitive that the CS bods shy away from educational technology: it's proof positive that the technology isn't worth using yet.
So we're back to the old calculator debate, but in new clothes. When I was at school the argument was all about whether to use calculators or not. For most of my school career, I survived without recourse to a calculator. I had a calculator, but I never used it, because the course materials were always designed in such a way that we didn't need one. We didn't need to "calculate" the final answer, we just reduced equations, and that led us to exactly what the quote in the summary calls for: mathematicians, not calculators. OK, so statistics has a lot more number crunching in it, but that's already stuff we switch to the scientific calculator for after the first month or so: factorials, n-P-r, n-Choose-r etc.
I am very dubious about how you can abstract any further without losing a fundamental and important understanding of what the maths actually is, and how can you decide which mathematical tool to employ if you don't fully understand what the tool does?
Furthermore, going back to winning argument in the 1980s/90s calculator debate, it's really only this manual stage that develops our skills of approximation, and when working with a computer, we need to be able to look at a result and guesstimate whether it's in the right ball-park or clearly way off the mark.
(Incidentally, I took CS at university and we did lots of geometry and algebra, and we didn't need graphics calculators -- in fact, we were actively discouraged from using them, partly because it would have been onerous on the exam invigilators to have to go round and physically reset everyone's calculator by hand to clear the memory before the start of an exam. If I remember rightly, the rules literally banned them outright, but individual invigilators often let them in and forced the reset themselves.)
This leads to another "usability" question. Why not make a "compatibility standard" that IDEs can provide to users?
Produce an XML spec for describing the supported API features of a given Windows compatibility layer (whether that be Wine, Crossover or ReactOS) that IDEs can simply import to allow developers the option of coding for cross-compatibility in all systems. Ideally it would use RSS to keep up to date with changes.
I import Wine, Crossover and ReactOS and tell my IDE that to warn me if my software won't work on a particular revision of any one of them. Jobs a good un.
The problem is we often have a quite large conceptual gap between what we say and what we think we say... and more often than not we write what we think we say, not what we say....
Prof Milgram, if you can hear us, knock once for yes and twice for no.