TI-Nspire Hack Enables User Programming
An anonymous reader writes "Texas Instruments' most recent, ARM-based series of graphing calculators, the TI-Nspire line, has long resisted users' efforts to run their own software. (Unlike other TI calculator models, which can be programmed either in BASIC, C, or assembly language, the Nspire only supports an extremely limited form of BASIC.) A bug in the Nspire's OS was recently discovered, however, which can be exploited to execute arbitrary machine code. Now the first version of a tool called Ndless has been released, enabling users, for the first time, to write and run their own C and assembly programs on the device. This opens up exciting new possibilities for these devices, which are extremely powerful compared to TI's other calculator offerings, but (thanks to the built-in software's limitations) have hitherto been largely ignored by the calculator programming community."
Either it is reflexive control freakery or, more likely, it has to do with the demands of standardized testing.
TI's calculator division makes its money(and justifies its margins, I'm not sure that the price of a TI-83 has fallen to anything except inflation since I had to buy one back in secondary school) by being the de-facto standard calculator for education. Sure, a few of the hardcore nerds in engineering still have their HP somethings, and anybody doing real crunching will graduate to a full computer running one of the mathematical packages; but TI is it everywhere else.
The Wikipedia page mentions several features aimed specifically at educational testing: "The TI-Nspire also features a "testing mode" LED indicator, designed to stop potential cheating, informing test supervisors that the calculator is still denying access to saved files and possibly restricting geometry features on the handheld during the test. It also features a timer. At the end of a test, the supervisor is required to check the calculator's timer to see if it has not been removed out of "testing mode"." Essentially, because it is commonly used on tests, the educational customers who drive most of the sales(directly or indirectly, some districts purchase, some mandate, some just encourage) would really like the calculator to be a "trusted" black box capable of doing only what it says on the tin, not doing arbitrary computer tasks(like storing notes, or doing symbolic integration and differentiation when the kids are supposed to be learning that).
If it is possible for people to write their own stuff, in something more than a crippled little scripting language, it becomes possible to subvert these testing controls.
What's more, TI actually released assembly programs that would install new features on the calculator. I have a TI-86 from years ago and just recently installed a TI-provided statistics package that gives me the various distributions, test, etc.
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
This shows an interesting sliding window of sorts as to where the cutoff between allowed and not-allowed tools come into mathematics.
Day used to be when we had to look up values in a Log table and be able to find roots by hand etc. Using a calculator for that back then would clearly have been cheating. Nowadays that's exactly why we have the calculators on a test, so we're not bogged down doing grindy math and can get to the task of computing derivatives and solving for x, and that has become the banned feature.
I suppose ten years from now we'll have moved on and be working on more advanced mathematics, having left all of algebra to our calculators on the test...
I work for the Department of Redundancy Department.
I did this for all my Mechanical Engineering courses. I figured for some tests I would spend upwards of 20 hours programming... It just ended up being my way to study. By time I tested all scenarios, worked out problems by hand to make sure that my equations worked and debugged it some more, I had the equations memorized.
It did save my ass a few times when I made a stupid sign mistake ON the test, but my debugged program gave me the right answer. Went back and double checked my work, and found the sign error.
I also had it print out every step of the solving process so in a pinch (time running out) I could just copy from my calculator screen and get credit for full work.
500 lines of code gets quite tedious after a while on a TI-89 screen.