Software programs for individuals.… prime association formation at a later time.… some short-term memory aid that works better than scratch paper
I have been obsessively researching this idea for several years. One of my conclusions is that an intelligence-amplification tool must be “incestuously” user-modifiable (“turtles all the way down”, possessing what programming language designers call reflectivity) in order to be of any profound use, at least to me personally.
Or just biting the bullet and learning Mathematica to an expert level instead of complaining about its UI
About six months ago, I resolved to do exactly that. While I would not yet claim “black belt” competence in it, Mathematica has already enabled me to perform feats which I would not have previously dared to contemplate, despite having worked in Common Lisp. Mathematica is famously proprietary and the runtime is bog-slow, but the language and development environment are currently are in a class of their own (at least from the standpoint of exploratory programming in search of solutions to ultra-hard problems.)
Could you give more examples about things you like about Mathematica? Years ago, I resolved to become an expert at it after reading A New Kind of Science (will you guys forgive me?) and like it for a while, but then noticed some things were needlessly complicated or refused to spit out the right results (long time ago so I can’t give examples).
Btw, I learned about Lisp after Mathematica, and was like, “wow, that must have been where Wolfram got the idea.”
Could you give more examples about things you like about Mathematica?
1) Mathematica’s programming language does not confine you to a particular style of thinking. If you are a Lisp fancier, you can write entirely Lispy code. Likewise Haskell. There is even a capability for relatively painless dataflow programming.
2) Wolfram Inc. took great pains to make interfacing with the outside world from within the app as seamless as possible. For example, you can suck in a spreadsheet file directly into a multidimensional array. There is import and export capability for hundreds of formats, including obscure scientific and engineering ones. In case the built-in formats do not suffice, defining custom ones is surprisingly easy.
3) A non-headache-inducing replacement for regular expressions. Enough said.
4) Graphical objects (likewise audio and other streams) are first-class data types. They are able to appear as both the inputs and outputs of functions.
5) Lastly, and most importantly: fully interactive program development. The rest of the programming universe lives a life of endlessly repeated “compile and pray” cycles. Mathematica permits you to meaningfully evaluate and edit in place every line of code you write. I am otherwise an Emacs junkie, yet I have never felt the slightest desire to touch Emacs when working on Mathematica code. The programmer’s traditional need to wade through and shovel giant piles of text from one place to another while writing code is almost entirely absent when working in this language.
The downsides of Mathematica (slow, proprietary, expensive, etc.) are widely known. Thus far, the advantages have vastly outweighed the problems for my particular kind of work. However, I have found that I now feel extremely confined when forced to work in any other programming language. Perhaps this risk should be added to the list of disadvantages.
I learned about Lisp after Mathematica, and was like, “wow, that must have been where Wolfram got the idea.”
Wolfram had (at least in the early days of Mathematica) a very interesting relationship with Lisp. He seems to have initially rejected many of its ideas, but it is clear that they somehow crept back into his work as time went by.
Thanks for the motivation, by the way—I have toyed with the idea of getting Mathematica many times in the past but the $2500 price tag dissuaded me. Now I see that they have a $295 “Home Edition”, which is basically the full product for personal use. I bought it last night and started playing with it. Very nifty program.
If you’re wondering whether I’m aware that I can figure out how to steal software licenses, I am.
ETA: I don’t condemn those who believe that intellectual property rights are bad for society or immoral. I don’t feel that way myself, though, so I act accordingly.
While I would not yet claim “black belt” competence in it, Mathematica has already enabled me to perform feats which I would not have previously dared to contemplate, despite having worked in Common Lisp. Mathematica is famously proprietary and the runtime is bog-slow, but the development environment is currently in a class of its own (at least from the standpoint of exploratory programming in search of solutions to ultra-hard problems.)
Sounds cool, but this is not quite what I was aiming at.
I had in mind average Joe the truck driver who cannot understand an argument like “Corn ethanol is a bad idea because the energy conversion efficiency of corn plants is extremely low, so the energy output of the process, including all the farming and processing, may be negative”, but who instead falls victim to “Corn ethanol is good because you should SUPPORT OUR FARMERS!”
You’re talking about enhancing the efficiency of the smartest people (like you), I’m talking about enhancing the efficiency of the average person.
Well if you are really only interested in raising the average person’s “IQ” by 10 points, it’s pretty hard to change human nature (so maybe Bostrom was on the right track).
Perhaps if somehow video games could embed some lesson about rationality in amongst the dumb slaughter, that could help a little—but people would probably just buy the games without the boring stuff instead.
I have been obsessively researching this idea for several years. One of my conclusions is that an intelligence-amplification tool must be “incestuously” user-modifiable (“turtles all the way down”, possessing what programming language designers call reflectivity) in order to be of any profound use, at least to me personally.
About six months ago, I resolved to do exactly that. While I would not yet claim “black belt” competence in it, Mathematica has already enabled me to perform feats which I would not have previously dared to contemplate, despite having worked in Common Lisp. Mathematica is famously proprietary and the runtime is bog-slow, but the language and development environment are currently are in a class of their own (at least from the standpoint of exploratory programming in search of solutions to ultra-hard problems.)
Could you give more examples about things you like about Mathematica? Years ago, I resolved to become an expert at it after reading A New Kind of Science (will you guys forgive me?) and like it for a while, but then noticed some things were needlessly complicated or refused to spit out the right results (long time ago so I can’t give examples).
Btw, I learned about Lisp after Mathematica, and was like, “wow, that must have been where Wolfram got the idea.”
1) Mathematica’s programming language does not confine you to a particular style of thinking. If you are a Lisp fancier, you can write entirely Lispy code. Likewise Haskell. There is even a capability for relatively painless dataflow programming.
2) Wolfram Inc. took great pains to make interfacing with the outside world from within the app as seamless as possible. For example, you can suck in a spreadsheet file directly into a multidimensional array. There is import and export capability for hundreds of formats, including obscure scientific and engineering ones. In case the built-in formats do not suffice, defining custom ones is surprisingly easy.
3) A non-headache-inducing replacement for regular expressions. Enough said.
4) Graphical objects (likewise audio and other streams) are first-class data types. They are able to appear as both the inputs and outputs of functions.
5) Lastly, and most importantly: fully interactive program development. The rest of the programming universe lives a life of endlessly repeated “compile and pray” cycles. Mathematica permits you to meaningfully evaluate and edit in place every line of code you write. I am otherwise an Emacs junkie, yet I have never felt the slightest desire to touch Emacs when working on Mathematica code. The programmer’s traditional need to wade through and shovel giant piles of text from one place to another while writing code is almost entirely absent when working in this language.
The downsides of Mathematica (slow, proprietary, expensive, etc.) are widely known. Thus far, the advantages have vastly outweighed the problems for my particular kind of work. However, I have found that I now feel extremely confined when forced to work in any other programming language. Perhaps this risk should be added to the list of disadvantages.
Wolfram had (at least in the early days of Mathematica) a very interesting relationship with Lisp. He seems to have initially rejected many of its ideas, but it is clear that they somehow crept back into his work as time went by.
Thanks for the motivation, by the way—I have toyed with the idea of getting Mathematica many times in the past but the $2500 price tag dissuaded me. Now I see that they have a $295 “Home Edition”, which is basically the full product for personal use. I bought it last night and started playing with it. Very nifty program.
I don’t know wheter to applaud your ethical restraint, or pity your ignorance. I’ll go with the first ;-)
If you’re wondering whether I’m aware that I can figure out how to steal software licenses, I am.
ETA: I don’t condemn those who believe that intellectual property rights are bad for society or immoral. I don’t feel that way myself, though, so I act accordingly.
It’s theoretically possible to believe in IP (on some level), but lack the will not to pluck the forbidden fruit.
Cool stuff. Good luck with your research; if you come up with anything that works I’ll be in line to be a customer!
Sounds cool, but this is not quite what I was aiming at.
I am curious what you had in mind. Please elaborate.
I had in mind average Joe the truck driver who cannot understand an argument like “Corn ethanol is a bad idea because the energy conversion efficiency of corn plants is extremely low, so the energy output of the process, including all the farming and processing, may be negative”, but who instead falls victim to “Corn ethanol is good because you should SUPPORT OUR FARMERS!”
You’re talking about enhancing the efficiency of the smartest people (like you), I’m talking about enhancing the efficiency of the average person.
Well if you are really only interested in raising the average person’s “IQ” by 10 points, it’s pretty hard to change human nature (so maybe Bostrom was on the right track).
Perhaps if somehow video games could embed some lesson about rationality in amongst the dumb slaughter, that could help a little—but people would probably just buy the games without the boring stuff instead.