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."
It fixes some battery reporting issues and other minor bugs. All users are strongly encouraged to upgrade.
For many courses and standardized tests, only a few kinds of graphing calculators are allowed to be used. By allowing outside code to run on their calculators, TI risks losing their place on this list (and thus, sales) since those that administer these courses/tests might find out that TI's calculators allow outside programs to run that allow problems to be solved more easily.
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.
The TI83 and TI86 had an ASM command for running assembly-language code without requiring a hacked memory backup. (on the original TI83, the ASM command was 'Send(9', but later models used an actual 'Asm(' command.)
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.
It's the fact that it is such a limited piece of hardware that makes it interesting. These people are hackers in the most flattering sense of the term, they take resources that they have and make something more. They get their kicks by seeing what different things they can make calculators do that they were never supposed to, and by besting TI in all things calculators. If you can't see the value or fun in any of that, then quite simply you just lack a proper hacker mindset and I feel sorry for you.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
Seems the developers have had some projects stored away until Ndless was released:
http://www.ticalc.org/archives/files/fileinfo/426/42630.html
From the program description: "gbc4nspire is a Game Boy and Game Boy Color emulator for the TI-Nspire and TI-Nspire CAS, written from scratch in ARM assembly"
Pretty impressive, if you ask me.
*Generic robotic female voice that does all PA announcements in the future*
"All Turing qualified expert systems, sentient hypercomputers, and copies of Mathematica version 26 or higher, must give their binding asset to the College Board's Standard Code of Ethics for the Assistance of Puny Humans before being allowed entrance to the test chamber..."
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.