Hacker News new | past | comments | ask | show | jobs | submit login
TI removes access to assembly programs on the TI-83 Premium CE (ticalc.org)
337 points by dTal 11 days ago | hide | past | web | favorite | 216 comments





I'm really happy with the very well build swissmicros DM42 calculator: https://www.swissmicros.com/dm42.php

It is inspired by the venerable HP42 and an e-ink like display that persists when powered off, an arm cpu running at 24MHz when powered by a cr2032 (or 80MHz when on USB power). Both the display and the key action are a big advantages over using a calculator app on a phone.

The software is entirely free software.

They will have a new model coming out in the next year or so which is on the same hardware platform (but a different model because the key layout is different) with an even more powerful software stack.

Unfortunately dedicated calculators are a seriously niche market, except for education. And education results in weird user hostile features as well as being extremely overpriced. (DM42 is also not super inexpensive, but at least there its because its extremely well built and made in very small quantities).

A lot of really awesome things could be done but without a bigger market it's hard to justify the development costs and manufacturing NREs.


Thanks for the kind words. Regarding the build quality - we strongly believe in buy-it-for-life philosophy, and the chassis is designed with repairability in mind [1]. Battery life is also one of the top concerns for us and we don't want our users to take the calculator out of the drawer after a long period only to find that the battery is dead. We've had suggestions to add a color screen or OLED display, but that would eat into the battery budget by a few orders of magnitude.

We are also launching DM41X[2], about 100 units have been sent out for beta testing and should be in production later this year.

We appreciate feedback and would love to hear from you: neil[@]swissmicros.com

[1] Teardown: https://www.youtube.com/watch?v=Ong91Ji3iDk

[2] DM41X: https://www.youtube.com/watch?v=UrU4sGWt45M


I have very little need for a calculator of any caliber, but this narrative makes me want one on my desk. I wish that mindset was financially rewarded more often.

I only discovered the existence of this company from this thread - thank you so much for making these.

I wish there was a true clone of the HP 48G calculator. HP stopped making the 48G series years ago, and I now handle mine with kids gloves to keep it functional as long as possible. Almost every undergraduate in my engineering department had a 48G as well as about half the graduate students. I soon became a convert. (I used the HP 32S and then, later, the HP 48G extensively over the decades.)

Over the last few years, as I read calculator related threads here and elsewhere, I became discouraged in hoping to ever see the HP calculator designs I loved so much long ago from ever being available again. I haven't yet read through this thread yet, but the comments in the other threads always seemed to be dominated by people that don't understand the needs of scientists and engineers working in the physical world (not in software development), people that don't themselves need such a calculator and can't see a use for one, and/or people that are extremely negative towards well proven designs of yesteryear without understanding their utility.


Hi Neil,

I just wanted to echo the other comments and strongly endorse their products. I have a DM15L, a recently-bought DM15, (just so I can carry it with me everywhere I go!) a DM16, a DM41L, and a DM42, and will absolutely get a DM41X when it's released! You might call me a bit of a fan.

If you are a fan of HP calculators, but can't stand how expensive they are on eBay, do yourself a favor and pick one up. They're wonderfully constructed and from what I can tell, extremely faithful to the originals (that are out of my reach, unfortunately.)

Also, Neil--I emailed you a question I had about my DM42, in case you can clear something up for me.


> Teardown: https://www.youtube.com/watch?v=Ong91Ji3iDk

That video doesn't strike me as particularly flattering.

I'm no calculator aficionado, but just watching it already had me experiencing pangs of buyer's remorse and no money had even left my pocket.

Echoes of the clamshell sharp zaurus; a well built piece of hardware with very poor software support relegating it to dust collector status.


The reviewer is very enthusiastic about the calculator and loves that thing. How can a teardown be more positive and flattering?

Their enthusiasm more or less ends where the hardware ends and the software starts.

Some demonstrated flaws from memory:

- Inexplicable help file error right out of the hole

- No way to actually display values using the exceptional precision because of the software

- Basically no included graphing capabilities despite having a pixel-addressable e-ink display the buyer is no doubt paying extra for

- Weird font rendering bug and seemingly pointless font scaling

- No modal alphabetic keyboard entry when attempting to do some rudimentary programming


Just to shed some thoughts around not adding features - keep in mind that DM42 is a "homage" to the original HP42. If we go ahead and make major changes to the UI (besides what we have already made to take advantage of the screen), it is no longer a true to the aforementioned spirit. Graphing capabilities were rudimentary on HP42S and you need a printer to plot. Similarly, DM42 has an IR sensor and complete backwards compatibility with HP42S printer.

There is a deliberate attempt to not add features, and to keep DM42 compatible with HP42S "interface". We've received strong feedback from our users to not make major changes to the HP42S spec. One can just use HP42S manual and everything should just work. It is the same with the key layout.

If you want to add features or mess around with the firmware, it is open source. There is also an SDK that you can use to write your own firmware if you wish.

Furthermore, there are some exciting projects to build a new RPN platform all together - WP43 is one.

That said, all feedback is welcome and appreciated. Thank you.


That's fair, like I said I'm no calculator aficionado and have zero prior experience with the HP42. So I'm coming at it cold and those choices are coming through as defects and an inability to make good use of the hardware being purchased.

> That video doesn't strike me as particularly flattering.

What about it struck you in such a way? It looked rather clean and elegant to me.


See my reply to sibling

Still have my zaurus. Too slow to use now but Okish as a linux machine.

Do you ever plan to do the same thing for the HP-48 series?

As soon as I saw this, my first thought was "where did my HP-49G+ end up?"

Looking at the DM42, it'd probably be good enough for the "not going to use Matlab for this" day-to-day math, but man did that '49 save my bacon a lot of times. Nothing like being able to readily invert a big system of linear equations and take integrals during an exam!


Definitely, we have intentions and there are significant challenges, but certainly on the horizon.

Great! I'll buy one without hesitation.

I still have my beloved HP-48 GX on my desk, I created a multitasking kernel and a few apps for this hardware while I was a student (1998)

https://www.hpcalc.org/details/79

If you want some input or beta testers, I'm in :)


HP-48G sitting on my desk right now. Onza sticker on the back and my childhood 7 digit phone number on the original nameplate, scratched in with, I'm pretty sure, a Pentel Quicker Clicker.

Oooh, colour me interested. Is there a mailing list or something I can subscribe to for development updates on an HP 48-alike?

Not yet, but we will be launching a new store/branding shortly, there will be a place to sign up for newsletters.

Wow, that would be an instant buy from me on release. Good luck!

I really hope we'll see the day sooner than later for color eInk displays to make it to mainstream devices.

I just want an eInk monitor that isn't obscenely expensive to write code on and read books and articles, I don't even care if it's black and white. I know many people would use it if created, it's so much more pleasurable to stare at for hours.

Thank you so much for posting info about this calculator! This looks extremely similar and almost identical to my beloved HP 50g graphing calculator, which I still use. However, the HP 50g has been discontinued. Thanks to you, now I have a perfect (and even better) replacement!

You can also have it in you pocket all the time with Free42 and a skin I made: https://github.com/StreakyCobra/dm42-skin

"Almost" have it though, because the display is a bit different on the real DM42, but all functionalities are the same otherwise.


Ha, that brings back memories from high school.

Some classes had HPs, other TIs, it was like Vim vs emacs during puperty.

I was in the TI-85 class and we programmed the heck out of the devices (for cheating too, obviously). I re-wired the link cable with a phone cable and was able to chat over that link with class mates 5m away.


Can you use it on the SAT? Otherwise, I don't think this would be relevant for 99% of the people who own a TI calculator. (I appreciate you sharing it here anyways: just saying that it's not a replacement for most people.)

Definitely not. The requirements on https://collegereadiness.collegeboard.org/sat/taking-the-tes... say:

> Only the calculators listed on this page are acceptable for the Math Test—Calculator portion of the test.

The page has a table of calculators which does not include the SwissMicros DM42. The brands present on the table are Texas Instruments, Casio, Helwett-Packard, Radio Shack, Sharp, Datexx, Microtona, NumWorks, and Smart2.

If you had one of SwissMicros scientific calculators (rather than the DM42, which is their only graphing calculator), you could try to bring it in. Farther down the page:

> Calculators permitted during testing include:

> * Most graphing calculators (see chart) > * All scientific calculators > * All four-function calculators (not recommended)

So you could make a solid case for bringing in a scientific calculator which doesn't have any of the disallowed features (wireless connectivity, QWERTY keyboard, touch input...), but a proctor might still tell you it's not on the list of specifically-approved calculators and therefore not allowed.

---

Amusingly, some of the allowed calculators have disallowed features. Off the top of my head, the HP 50G has wireless (infrared) communication, and the HP Prime has a touchscreen.


As far as infrared communication, they didn't have problems with HP48 like 20-some years ago. i think the rationale was that it only allows limited short range communication, thus was not much of the concern.

Though, I'm curious why some of those "disallowed features" exist, particularly for keyboard and touch input...


They don’t want you to write down full length questions into the calculator for taking out of the test site. It’s just hard enough to type a sentence on the TI-84 that nobody would bother, but a qwerty keyboard that you could touch type on would be a different story.

When I was a student, every middle school student with a TI-83+ was keeping notes in the BASIC editor, and the future programmers were all automating their work in BASIC. Teachers started wiping calculators before exams, and kids started backing up their files to the calculator's ROM to work around it.

Remember, this was the age of T9 typing, we weren't gonna let the lack of a keyboard stop us...


I always found notes and books for open book tests to just make things harder. Sure, a single well made cheat sheat could be invaluable, but in general if you didn't know the material nothing was going to help you if you had to show work, which you do on all non-bubble-sheet exams.

My age might be showing, but tests back then were rarely open book and largely based around memorization and essay writing.

I've only ever had a handful of open book tests in my life, but I just mean that even when you're _allowed_ aids, they're not actually useful unless you have some base understanding anyway.

As someone whose first experience programming was in writing a text-based adventure game on the TI-83, I beg to differ.

> It’s just hard enough to type a sentence on the TI-84 that nobody would bother

Are you sure about that...


They probably know infrared never works anyway

No, you definitely cannot use this calculator on the SAT. I also think that the College Board posts a list of permitted calculators.

Thanks for that link. While I have little use for a graphing calculator these days, the DM-16 is something I could use all the time. Ordered one :)

That doesn't look like an e-ink display to me? Perhaps you meant e-paper? Or do they have one that is actually e-ink?

Not quite e-ink, but a proprietary memory display manufactured by Sharp Japan, like the one sold on Adafruit: https://www.adafruit.com/product/3502

I believe the Pebble smartwatch used such a display.

Wow, this is incredibly sad news.

One of my fondest memories with the TI was a chemistry instructor saying that we were completely free to use any programs we wanted on examinations -- as long as we coded the programs ourselves. This inspired me to create a fairly comprehensive TI chemistry formula program, and my mates did likewise. It was really a forward-thinking move that contrasted strongly with just a blanket ban, as instead it fostered creativity. It is sad to me that future generations will not be able to experience this.


This isn't a ban on TI-BASIC, which is what most students use when programming formulae and other helper programs.

It’s common for exam proctors to require you clear all programs from your calculator. I think the reason for banning native programs is that it was trivial to spoof the memory clearing in a way that was difficult to detect.

I had a TI-84 Plus Silver Edition back in the day, and if I recall correctly, it had twice as much RAM available as the OS exposed, and you could load a third-party assembly program that would wire up a specific hotkey to essentially swap banks of memory. This way you could have what appeared to be a clean calculator with no programs on it, then swap over to the other memory bank and all your programs would be accessible. Even telling it to clear RAM would only clear the current bank.

You can actually spoof the "RESET RAM" menu in TI-Basic, but only dedicated students would do it.

If you group the programs then archive the group, clearing ram doesn't delete it. Once proctor walks away, unarchive!

Was this because you would have to plot it line/pixel-by-line/pixel?

Something like that. You'd have to plot all of the text in all the right places, and also script the menu, delay, and keyboard response.

Are exam proctors really auditing this to that level? I've been out of school for a while, but I think I only remember the honor system being used.

My calculator was never checked before standardized tests, but some math teachers checked before giving class tests.

Theres some interesting incentives for teachers administering standardized tests to ignore cheating. Students who do well reflects well on the teacher and the school. I wonder how schools report cheating to standardized test administrators and what the rules are for scoring a cheater.

just quit allowing calculators at all. what in the world.

That's awesome! I really wish I had teachers like that. In high school, I had a fancy TI Nspire which had an incredibly hobbled language that vaguely resembled the classic TI-BASIC. It was missing a TON of important programming features but it had symbolic manipulation which I loved to abuse.

I wrote a program to balance arbitrary chemical equations using a series of ridiculous hacks. First, I parsed chemical compounds (like CO2 and H2(CO2)3, notice the nesting) by running through them char-by-char and translating them into expressions and then "eval"ing them: "CO2" -> e.C + 2 e.O (where e.C and e.O are free symbols). Then, I used the feature where you can type "X + Y | X=3, Y=5" to get 8 to extract the coefficients from the expression which I then shoved into a matrix and solved the system of equations. If you look at the code, you'd vomit, but it was a night of furiously typing on the abcdef keyboard that I will never forget.

I never actually used it in class because during this process I became so quick at balancing the simple equations they would give us that it took longer to type them in than simply doing it in my head.


I remember, in maybe 9th grade, after learning Newton's Method in a pre-calc course, writing a TI-83 program to do N iterations of Newton's Method for me. I showed it to my math teacher. He wasn't much of a nerd, and this was the early 2000s so technology wasn't quite as prolific as it is today; he was blown away.

Come exam time, we were allowed to use our calculators. I asked if I should clear mine out given I had a program which could "cheat" (I was a teachers pet). He said something to me (privately) along the lines of, "don't worry about it. the way I see it, you've already proven to me you know the content." Ironically, today I could probably piece together a TI83 assembly program from memory, but I couldn't even tell you what Newton's Method does, let alone how to do it. Not sure what lesson to glean from that.

I remember eating lunch one day, maybe a year or so later, in his classroom with some friends, and he was browsing around the internet trying to find a job I'd like in math. Looking back, I find it funny that he was landing on things like "actuarial science" and "accounting" instead of the obvious. I think that was his way of trying to make up for the piss-poor guidance counseling in my school of 80 people in the middle of nowhere. I ended up wasting a semester in Computer Engineering doing CAD and coding MatLab before a professor took me aside and basically said "you're finishing these matlab assignments faster than my grad students would. Are you sure you don't actually want to do Computer Science?"

It sucks to see this. The accessibility of coding today has never been better, so I'm not going to pretend like this is a doomsday thing for helping kids get into the field, but it did have power in its ubiquity. Teaching computer science in high schools isn't a tenth as effective as students coding up a program to make their math classes easier, or modding CounterStrike after hours, or "hacking" the school computer labs to play Halo with their friends. Technology, and the ability to shape it to help us, should be ubiquitous. It shouldn't be thrown out the window just so one teacher can more easily proctor a hundred tests instead of twenty.


I think you have articulated something I've been thinking of for some time. Most of what I learned on the PC was in a furthering of my own interests. I learned how to interact with IRC bots and use the shell because I wanted to get shared files. Learned about compression because everything I downloaded was in winrar format. I learned about memory addresses because I wanted to cheat in a particular video game. I learned about audio formats because I wanted to listen to mp3s, had to learn how to rip CDs.

So much of what many of us did back in the day is now just available out of the box. No need to learn how to use IRC, all the music is on Spotify. You no longer need to be resourceful, you just need to consume.


I agree, and this scares me more than any one product dropping its support for assembly.

Apple tries to earn credit for putting Swift Playgrounds on the iPad. Its a coding environment aimed at students, they're trying to help the pipeline. No. Its a cute little sideshow activity that offers its users nothing of actual value. It teaches its users to complete exam-like puzzles, get a gold star, and then close the sideshow and return to the garden where they can watch Netflix.

And Jesus, Swift?! If you want a quicker way to turn kids off of programming, go right ahead and start them on Swift. The first good thing anyone says about Swift is "at least its not Objective-C". Fine language; but not a learning language.

Assembly... now that's a learning language. It may not seem it at first, from the perspective of a professional. You can't build huge apps in Assembly. Its not maintainable. All true, and that means shit all when you're learning. There's basically no syntax elements. This means, there's no syntax to learn. Its just legos. The program starts at 0, goes line by line, you get a list of like 100 types of legos to combine, and you make it do things. Starting on assembly is underrated.

Modern computing would suck to get into. I'm grateful that, despite all the shit of "modern web development", a basic HTML page is still pretty damn simple, and you can build from there. Could you imagine trying to build a basic Android or iOS app nowadays as a High Schooler? Could you imagine getting into game development, reaching for Unreal or the modern Source engine? Try modding a game you play on iOS or Stadia. Try installing Linux on your family's "what's a computer" iPad. These were the hooks that built the people that built our industry, and the hooks are slowly disappearing.

When we were younger, the best tools in the industry were at least accessible to younger people, because the tools were simpler. Today, the tools are either locked behind $99/year paywalls, or so horribly complex that even professional engineers struggle with them (most often, both). So, we build cute little learning tools to help get kids interested, like Swift Playgrounds or toy game engines or Glitch (no disrespect intended to the people behind these projects; they're making the best of a bad situation).

I don't know how to fix it, beyond relentlessly supporting open source and open computing, and continually pushing for fucking simplicity above anything else in the tools we build. Its not an easy battle.


To activate a kids imagination a program has to do something useful, hopefully magical. That’s a really high bar for assembly.

Xcode is free, as is building Swift UI programs that actually do things. $99/year is only required to sell your app to the $20B App Store market.


> I'm grateful that, despite all the shit of "modern web development", a basic HTML page is still pretty damn simple, and you can build from there.

This 100%. Even though modern webdev has grown to be a very complex field with many layers of tooling, I still think it's by far the best way for young developers to get started building things that people can actually use.

Your IDE comes pre-installed with your web browser, your app runs on any computer or phone, and there are more resources for learning HTML, JS, CSS, etc. than pretty much anything else in software development.


I have an iPad 2 which I jailbroke and downgraded to iOS 6.1.3, and I think with some work I can get it to do whatever I want... Install programs remotely over ssh? I sure hope so.

newtons method is mathematically informed binary search

Close, and a good intuition for well-behaved problems. Unfortunately, Newton's method only remembers the location of the current point, rather than of two points surrounding the target value. This can result in some pathological cases where Newton's method fails to converge, or gets into an infinite loop.

An example of mathematically informed binary search is "regula falsi":

> https://en.wikipedia.org/w/index.php?title=Regula_falsi&oldi...


When I think of Newton's method, I think of the picture in James Gleick's Chaos demonstrating the fractal boundaries between attractors:

https://images.app.goo.gl/cR37V4ft1A9NFLCo8


This is unfortunate, assembly programs were the strongest aspect of the TI homebrew community. Some really great games and applications were made possible by native binaries on the older TI calculators. A couple of details I found in another article[1]:

- The new OS prevents the calculators from being downgraded

- The OS prevents running Asm/C programs, only Basic (and on some editions Python) programs are allowed

- Applications can still be installed if signed by approved TI vendors

Sounds like the TI homebrew community is about to get splintered. You'll have the jailbreakers fighting for code execution, but this could easily end up a small underground operation mirroring other jailbreak efforts. It could become too much of a hassle to get asm programs back (custom OS?), if so most people will accept the limitations and move on. At least there's still Basic and Python, if nothing else.

[1] https://www.cemetech.net/news/2020/5/949/_/ti-removes-asmc-p...


This is basically just a repeat of how other platforms locked down code execution on their devices. Hopefully TI is incompetent enough to make jailbreaking trivial, but it opens up a cat-and-mouse game…

TI is fairly competent overall. That said, maybe the bottom 10% get sent to the calculator division, given that it's barely moved since 1980...

Less than 5% of their revenue is calculators, and much less than 5% of their R&D or engineering budgets. It's an incredibly small part of their business.

5% of revenue requiring much less than 5% of engineering time sounds like an awesome part of a business. Hardly small, either.

It serves the purpose of exposing future engineers to the TI brand during a formative period too

It's sad that this is happening to essentially every computing platform.

It's still possible on the TI-84 series right?

TI-84 calculators have not seen an update in ages, so I doubt that TI will add restrictions to them now. I think they'd just rather push people to the "CE" calculators. (Which I personally dislike for other reasons, but I digress…)

> TI-84 calculators have not seen an update in ages

The last update for the TI-84 Plus CE came out about 11 months ago. Its not recent, but it wasn't ages ago.

https://education.ti.com/en/software/search/ti-84-plus-ce


TI's strangle hold on the education market is stupid. Anyone that's looking for an affordable ($99)and modern calculator, check out the Numworks. It's fantastic. It does all the normal things a calculator should do and comes with a Python interpreter out of the box. Check out their simulator[0]. Also the hardware and software are open source[1].

[0] https://www.numworks.com/simulator/ [1] https://github.com/numworks


I find a programmable hardware interface like that for python programs to be enticing. Does it work with anaconda?

This led me down a rabbit hole of looking at the weird newer calculators like TI nspire. Do any of these calculators have a wifi interface? Would love to see whats possible if I can use urllib...


Lol. No, i don't think it'll load up conda but the os is open source and it is an ARM cpu... So maybe if you wanna work for it? However, this mod might be your speed[0]. I've been meaning to do it to mine. Get yourself an rpi zero inside the shell seamlessly. You can switch between them on the same screen. It's pretty neat. Add a 4G modem and you got yourself a smart phone!

[0] https://zardam.github.io/post/raspberrypi-numworks/


Is it accepted on tests?

I don't know for other countries, but as for France, it's compliant with the exam-mode that all calculators must comply to for national exams.

So I can't say for your specific case, but if you're a teacher, at least this feature exists and you can use it with your students.

By the way, even the iPhone has some apps compliant with this feature, where you're basically locked into the App. If you do manage to leave the App (i.e. by force restarting your phone), you void the exam start timestamp that the App saved


The NumWorks graphing calculator is approved for use on the PSAT, SAT and ACT college entrance exams.

It’s acceptable on the SAT and (I believe) AP exams.

https://collegereadiness.collegeboard.org/sat/taking-the-tes...


Removing an advertised feature of a product in a firmware update? That reminds me of OtherOS[1] and Sony.

[1] https://en.wikipedia.org/wiki/OtherOS


A recent case regarding video games: in its latest update, Doom Eternal added a kernel-mode "anticheat" (which, among other nasty features, prevented the video game from working unless certain ports were open [1]). Even if you ignore the huge security risks and the total disregard for privacy, this "anticheat" prevented the game from running in Linux, therefore removing an important feature. Apparently the publishers have decided to remove the "anticheat" after the backlash, but this kind of behaviour is becoming worrisomely common in all kinds of software.

[1] https://steamcommunity.com/app/782330/discussions/0/36067658...


A huge part of modern software updates seems to be bait and switching your users.

It isn’t a “huge” problem but I have noticed this happens in physical goods as well. Backpacking / soft goods companies sometimes release multiple versions of the same SKU.

The initial version will be reviewed in detail. Then for various reasons the product is changed. Often it fixes issues however sometimes different materials or even zippers are used that are lower quality.

No notice of these changes are given to consumers.


Is that legal?

Sony paid out on a class-action lawsuit over it.

In spite of having a launch model PS3 I wasn't able to claim my $9 of PSN credit or whatever; iirc you had to prove you had installed linux before a firmware update vaporized it.

TI will make it legal

ticalc.... I spent so many hours on their forums in high school. It's one of the first online communities I was super-active in. I did a TON of TI-BASIC programming and it's how I got my start programming. There are even 1-2 of my old BASIC programs on ticalc that I uploaded over a decade ago.

I never got into assembly much because it required a a computer and I could code and run BASIC on the calculator itself. I remember a few ASM programs you could drop on your calculator and then call them from your BASIC programs. So certain things that could be done faster in ASM were all put together in a "library" that you could use to speed up your BASIC programs (most were visual in nature, clear screen, draw sprite, etc). I still have my TI84+ SE from high school, I really love that calculator.


You can actually enter ASM code on the calculator, but it is very limited, and non-trivial programs are extremely tedious to enter.

http://tibasicdev.wikidot.com/asm-command


Interesting, I remember the "ASM(" command to run those helper libraries but yeah, the issues around trying to write ASM on the calculator would have been a non-starter for me (both back them and now lol):

> Using AsmPrgm is the only built-in way to create assembly programs on the calculator, and it's not very convenient. To use it, after AsmPrgm itself, you must type in the hexadecimal values (using the numbers 0-9, and the letters A-F) of every byte of the assembly program. Even for assembly programmers, this is a complicated process: unless you've memorized the hexadecimal value of every assembly command (which is about as easy as memorizing the hexadecimal value of every TI-Basic token) you have to look every command up in a table.


Even more than that, computing the branch offsets by hand is tedious and error prone. You remember the important opcodes pretty quickly, but recomputing the branches every time you modify the program is a huge pain.

Usually you'd pad the program with NOPs during development to keep each basic block X-byte-aligned. Still a pain, but less of one.

On my Ti92Plus I had created an assembler in TI-BASIC in order to use this "native" machine-language input.

I had even some linking step, with labels and all, which were resolved in offsets.

I hope this feature is still in the successors, their Ti-Nspire CX series... and if so, that it will not be removed.


I would argue that it is not limited at all, as it gives you full arbitrary code execution.

I got into programming almost 20 years ago by coding on my TI-89, first in BASIC and later in ASM and C. Sad to see this platform closing down more, although on the other hand I'm also surprised to see that these devices are still relevant given how overpriced and under-powered they are by today's standards.

Note that TI-89 is a different “family” of models, which is as far as I can tell still OK with that :)

Of course, they’re only really still relevant because teachers and a number of entrenched institutions (College Board…) keep it that way.


It's been hard to make an underpowered calculator for 30+ years. What computationally intensive tasks does one even try to attempt on a calculator?

I do remember IRR calcs on an HP-12C taking a few seconds, or so. And that machine is not cheap either.

That being said, who's running IRR on a pocket calculator?


> What computationally intensive tasks does one even try to attempt on a calculator?

Back in high school I regularly hit integrations that took minutes to do on my TI-89.


must have been some pretty big integrals, these examples in exact form seem to be close to instant.

https://www.youtube.com/watch?v=SoDkeg166xU

maybe not the TI-89 which ran 68K processor.


Those are all fairly simple, I'm talking much bigger stuff. (I actually had a Titanium, but it also has a 68k.)

I did as well, but with the TI-85. Learned Z80 assembler and have loved it ever since.

This is really sad and a huge about face from the TI-83 Plus, which let you program in assembly on the calculator itself (fun fact: I wrote a CTF challenge based around this, https://github.com/saagarjha/ictf-carprey). I’m not looking forward to the next generation of students being stuck with TI-BASIC unless they “jailbreak” their calculators…

Oh wow, ticalc.org still has the same header and color scheme as it did in 2001 (or 2002?), I used to check this site constantly in high school to download new games (including a mind-blowing Link's Awakening port demo which sadly never was finished)

Check it out, those menu buttons at the top use javascript to simulate CSS `:hover` because at the time IE6 didn't support it for non-link elements!

    <th onmouseover="mOvr(this);" onmouseout="mOut(this);" onclick="mClk(this);" style="cursor: default; background-color: rgb(255, 238, 204);">

I released dozens of TI-basic and TIGCC apps back in the day and this is a very, very sad turn of events.

The biggest advantage TI has for attracting new developers is that their platform is ubiquitous for high schoolers. This is really amazing for adoption and it's how I got started with programming back in the day.

I hope this trend doesn't continue. https://www.ticalc.org/archives/files/authors/78/7869.html


I assume they did this because of pressure from standardized test administrators. That other article from today about universities phasing out standardized tests is bad news for TI, because nobody would choose their calculators on technological merits. With standardized tests gone, there is no reason to pay $200 for 1 cent microcontroller and a 3 cent screen. Now kids can learn mathematics with something like Mathematica; rich graphics, smart algebraic expansion/simplification, etc.

(Like many others, I have fond memories of programming my TI-80, TI-83, and TI-89... but I also got to use Mathematica at school and kind of wondered why these calculators existed then. I got so much out of animating and exploring everything. Waiting 10 seconds for a TI-80 to graph a parabola was just not as exciting after using that.)


Does anyone know what might be the Youtube video that the article suggests kicked off this change?

As someone who widely appreciated being able to have a calculator out in some classes to play Assembly games in classes this is sad news. That said, I can't recall using an Assembly program for any legitimate use. Are there real apps out there a student would use that are written in Assembly?

By the way, my favorite TI-83 Assembly game was Uncle Worm, a fun variant on snake that lets you move in all directions. I even made a Windows port. https://www.ticalc.org/archives/files/fileinfo/96/9683.html


In college I wrote a quick program to plot 3D curves and surfaces, a lot of my classmates used it. I would have written it in assembly if it were possible to put an assembler on the calculator easily because basic was almost too slow.

i used my ti-83 in the late 90s for exactly what there were talking about. our teachers would hard reset our calculators before each test but there was a program you could load that would just simulate the menus and pop up the "yeah we reset it" screen and they would hand it back with all my test notes on the calculator intact. so i know why they are doing it. it just won't stop it

The assembler games were the best, but I managed to hack some sort of game together using TI Basic and the graph. Really sad they're removing it and super lame, but I guess there weren't a ton of "legitmate" assembler programs.

Hey everyone, since we're on the topic -

Is there an open source computer algebra system designed to run on one of these microcontroller-level devices that might serve as a replacement for the math capabilities?

Something at least as good as DERIVE, and doesn't resort to Python - something barest of metal?

Because I've always wanted to make a calculator...


I do not know much about it, but I remember Giac being hacked onto the Numworks Epsilon software. Maybe check out Numworks, too, I am going to make a comment now about it here, too.

https://www-fourier.ujf-grenoble.fr/~parisse/giac.html

Seemingly relevant thread found by a quick Web search: https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?t=69...


Thank you. This is exactly what I was looking for!

Why does it need to run on a microcontroller? Why not use something like a raspberry pi 0: size of a credit card, but has a 1GHz arm core that can run linux, python, whatever.

Power usage. The classic TI-83+ can last for a whole school year on four AAA batteris.

Yacas looked like it might work, but I haven't looked at it in something like 20 years.

Derive had the sweetest front end though. Using it with the HP200lx was amazing.


Interesting that a vendor is securing access to Z80 assembler in 2020.

Unless things have changed since my high school years it's a Motorola 68k CPU, not a Z80.

Only the Ti-89 (and the rarely seen 92 / Voyage series) use a 68k.

Ti-86 and below all use Z80s. Although the 83 premium CE (and the 84 Plus CE) uses a pretty monstrous (compared to the original Z80s) 48MHz eZ80.


I think it's 68k for the TI-89 and up, and Z80 for the lower models.

The eZ80, I believe, which is backwards compatible but clicked higher and with 24-bit arithmetic.

The headline says TI-83 Premium. It has a Zilog EZ-80, which is basically a hopped up Z80. As far as I can tell, all of the TI-83 models have Z80's.

This sucks :( having a little mini battery powered computer with insane capabilities like running a separate operating system was a great entry into tech for many of us

I’d like to take the opportunity to recommend the HP Prime G2 (for those of you who, like myself, appreciate the flexibility of a reasonably-powered CAS) and the NumWorks (which, when loaded with the Omega fork of the open-source Epsilon firmware) provides excellent functionality in very minimalist package and even supports CAS (through the easy installation of khiCAS).

I'm a contributor to Epsilon and Omega. It's too early to guess how much of a backlash this will generate, but calculator forums are extremely pissed right now. TI completely destroyed any goodwill they had remaining at this point.

I'm not sure how this will unfold, but they've pissed off a fair number of smart people that know their calculators inside and out. I expect jailbreaks, boycotts and people switching to other platforms fairly quickly.


I find the NumWorks to be a lovely little calculator but Omega really needs to provide some serious symbolic (i.e. ‘CAS’) functionality. It’s all fair and square that the official Epsilon firmware doesn’t feature CAS to appease the examination boards, but it’s a feature that is pretty key for a more sophisticated crowd. No algebraic computation? No symbolic differentiation and integration?! That’s really quite disappointing.

There is support for giac as an external app, the port is named KhiCAS. Flash a firmware with external app support (Omega typically) and then use https://zardam.github.io/nw-external-apps/ to transfer apps. Right now the current external app system is a glorified proof-of-concept when compared to the TI/Casio ecosystem, but it does work.

One cannot distribute epsilon with giac integrated since their licenses are incompatible (GPL3 vs CC-BY-NC-SA), hence the external app workaround. NumWorks could negotiate a commercial license, but there has been no sign of this so far.


I also wanted to point to Numworks as an alternative calculator. It uses a 216 MHz ARMv7-M Cortex-M7 microcontroller and is almost open-source (both the hardware and the software, called Epsilon).

https://www.numworks.com/resources/engineering/

There was (and probably still is) a Numworks pet peeve of mine, though. As far as I understand, on many kinds of calculations (e.g., calculating a power of a number, or a derivative at a point) the Numworks software does an artificial "rounding" step with the purpose of presenting "nicer" results to high-schoolers in trivial cases. See https://github.com/numworks/epsilon/pull/1376 and https://github.com/numworks/epsilon/issues/1373 . It seems like the Numworks dudes have no concept of the accumulation of rounding errors :( ?

On top of removing precision intentionally being a weird choice, the implementation is too naive as far as I understand. This is basically what they do:

  result = std::round(result / error) * error
See, e.g., https://github.com/numworks/epsilon/blob/c92b770112e38bd906a...

Would it not be both faster and less destructive to numerical accuracy to just clear some least significant IEEE 754 bits?

EDIT: forgot to mention it is approved for the SAT and ACT already.

EDIT2: More relevant to this thread; one can not run assembly on the Numworks written from the Numworks (it would be hard to fit all the prerequisites on its RAM and/or flash, e.g. Epsilon does not even have a file system), but it is possible to write C++, C, or assembly on your Linux or Windows PC, compile it and push it to the Numworks.


Does Prime support native apps with standard firmware?

No.

Hm, so what are the remaining calculators that do? I thought HP 50g would be one, but apparently it's already discontinued. Casio still makes their Prizm series - there's no docs or official native SDK for it, but community cobbled something together, and they don't proactively block it. Is that it?

In the world of Matlab, python, Octave and Wolfram Alpha, why bother with the TI-83 still?

“A lot of [TI’s] graphing calculator success was due to really aggressive lobbying for certain policies,” a source in the education space told The Hustle. “They made it so that that the types of things you were allowed to bring into a test were essentially limited to their devices.”

https://thehustle.co/graphing-calculators-expensive/

And this step might be the reason why they do this now to make it impossible to cheat by using them with custom software. It provides them an argument why students can continue to use them on the tests.


And simultaneously remove old versions from the re-sale market that they have to compete against, since of course, they aren't secure.

Don't underestimate the value of having a useful, programmable microcomputer as a ubiquitous element of education. These calculators are (were) a portal to computing, accessible in a way unmatched by any heavyweight system. What RaspberryPi, MicroBIT, PocketC.H.I.P etc were all trying to achieve, TI calculators (practically inadvertantly!) achieved to a level of success undreamt of by those systems. Every student in high school owned a BASIC terminal. That's huge.

But people who set education policy or companies that lobby for education policy aren't in it to teach kids new things.

Calculator-like platforms are still very useful. A cheap microcontroller-class CPU and a tiny LCD or e-paper display can perform useful work whilst being highly energy-efficient, which is important for something that's as portable as a calculator and has to rely on battery power.

Because schools aren't about to let students use phones/laptops during exams, and not every student has readily available access to the internet.

Also on occasion I need to do some simple plotting/multi-step math and my old high school TI-83 in the desk drawer is simply more convenient than firing up a Mathematics suite and looking up the arcane commands to get it to show what I actually want.

But for professional use, yeah there are better tools.


That's silly. None of my (I'm a math major) university calculus courses (calc 1, calc 2, calc 3, differential equations) allowed calculators on quizzes or exams. Graphing calculators are a zombie technology kept alive by completely bogus, artificial means.

There's no reason to use a calculator on a properly-designed calculus exam. We were doing everything from Taylor series to triple integrals without them. Teaching kids to rely on a calculator from a young age severely limits their ability to develop the basic arithmetic "muscle memory" (for lack of a better term) needed to manipulate equations quickly in more advanced math classes. It's a real shame.


My university math class experience was the same as yours. No calculators allowed, and we learned to not need them.

But as has been said repeatedly, these calculators put Computer Science and BASIC terminals in the pockets of grade school and high school children and encourage learning in areas other than math.


But what's the value of this arithmetic muscle memory, in a world of ubiquitous computing?

As long as you don't treat this computing as magic that somehow solves your math problems (hah, true I was guilty of that when I was a school kid), but is fully aware about how it does it (the algorithm) and just let the machine do the boring bits.


Are you joking? Number sense is hugely useful in daily life. What if I have a recipe for three servings but five dinner guests? If I just passed milepost 472 and I average 55 miles per hour, how long will it take me to reach Mexico? How many bottled liters of water can I fit in this box? How much is the 1.35% annual property tax on a million-dollar house, per month? You really want to whip out your laptop for all that?

> What if I have a recipe for three servings but five dinner guests?

Doubling is a useful skill, sure.

> If I just passed milepost 472 and I average 55 miles per hour, how long will it take me to reach Mexico?

This would never come up, because my phone navigation will tell me at any point along the trip how long it will take, more accurately because it has my full speed data plus knowledge about traffic and other hazards ahead.

> How many bottled liters of water can I fit in this box?

Unless I have another box under consideration, then I probably intend to fit as many as possible, so I'll just fill. Complicating this problem can make a need to calculate (or count) more apparent, but further complications can also make a need to compute with a program more apparent too.

> How much is the 1.35% annual property tax on a million-dollar house, per month?

About 1e6/1e2/1e1, or $1000. If I want to be more accurate then I would use a computer -- 1. because I'm likely at my computer already when this comes up, 2. because if not I still likely have a phone.

Both you and chongli ought to consider this argument (ignore the stuff about violent video games): https://theodoregray.com/BrainRot/


>How much is the 1.35% annual property tax on a million-dollar house, per month? You really want to whip out your laptop for all that?

I'll bite. In what scenario would it be useful to do this calculation in my head?


You're trying to figure out if you can afford that house based on your monthly pay?

But what's the value of this arithmetic muscle memory, in a world of ubiquitous computing?

It’s the same as knowing the editor commands, of whatever text editor you’re using, so that you don’t have to look them up constantly while working. It’s the same as knowing the basic functions and methods of the libraries and frameworks you use so that you can type them quickly without going to look them up.

Auto completion is a powerful tool but, in general, it’s not very helpful if you don’t know at least a prefix of the name of the function you’re looking for.

Basic arithmetic skills are like math literacy. If you’re constantly having to look words up in the dictionary then you probably won’t get through Lord of the Rings.


Have you used Mathematica yet?

I linked further downthread but I think you should consider this argument (ignoring the stuff about violent video games): https://theodoregray.com/BrainRot/


No, I haven't used Mathematica. It doesn't hold much use for me (yet) because it's not allowed on any of my exams. Being able to diagonalize a matrix by hand may not be a useful real world skill but the ability to do it on an exam demonstrates that you understand the process. On the other hand, typing the matrix into Mathematica and calling the diagonalize function demonstrates very little other than that you know how to command the magic box to give you the answer.

Mathematics is a tower of abstractions. In the course of my education, I am learning how all of the layers fit together. Skipping all that and teaching people how to use Mathematica is not teaching mathematics, it's teaching dependence on a tool (and a proprietary one at that). It's like teaching people how to use Microsoft Word instead of how to write their own word processor. I'm very critical of the way technology has infiltrated the modern classroom. I think we're in danger of raising a generation of Eloi [1].

[1] https://en.wikipedia.org/wiki/Eloi


Surely you're not in mathematics just to pass exams and absorb/explore at whatever rate teachers and classes set? You should really give such tools a try. If proprietary ones aren't your cup of tea, play with Octave (and its Octave Forge package collection), Maxima, and R, and if you want throw in Julia, SymPy, Axiom, or Metamath too. See what they offer and what people have done with them.

Or what if you programmed your own diagonalize function and used it thereafter (knowing over time you'd forget how to do it by hand)? Or would you insist on going through something like nand2tetris before writing in a high level language like, say, C?

I have more questions but they're mostly rhetorical at this point. Re my previous link, are you so smart that you can learn all that has been made known so far as a neat tower floor by floor (despite it not being discovered/invented that way), and still have room for anything new? Are you sure you haven't skipped anything? Are you sure there's a singular tower?

So you know how to diagonalize a matrix, either by hand or by using a magic box, do you know why you'd want to diagonalize a matrix?

As a final external recommendation, check out chapter 9, "Forget It!", in Asimov's book On Numbers: http://www.arvindguptatoys.com/arvindgupta/asimov-on-numbers... (e-page 75) If you haven't studied and passed an exam on compound addition (and subtraction, multiplication, division) how can you live with yourself?


Right now I'm taking courses in computational mathematics and computer statistics. The former is taught in Matlab and the latter in R. I know why you'd diagonalize matrices. I've taken two courses in linear algebra and I'm interested in studying computer linear algebra. I've been watching some of Gilbert Strang's lectures on linear algebra methods in data analytics. I know that computer methods for approximating a singular value decomposition (which I've also learned to do by hand) can provide enormous speedups over manual methods.

I have no problem with using these tools, I just don't think they should be given to children in lieu of a traditional mathematics education. Society exists because we pass on knowledge from one generation to the next. This means teaching young people how problems were solved, not just handing them the solution. Do we want a world where everyone is dependent on technology but nobody knows how it works? That sounds like a post-apocalyptic scenario to me. Fun and interesting to explore in Caves of Qud or Numenera. Not a great way to organize a stable society.


> Society exists because we pass on knowledge from one generation to the next.

Yes, but not all the knowledge, for then there would be no time for anything new.

> This means teaching young people how problems were solved, not just handing them the solution.

No, because this robs them of the time to build on that solution and do something new. This extends to all domains -- and all the way down to our most primitive survival needs. Most people have no idea how to build a home, they instead are typically 'handed' one (usually in exchange for money). Few can farm, hunt, and process food to the degree needed to ensure their own survival, but we eat the outputs from those who do, who are anyway also skipping steps by not having to learn and perform a solution that was maybe required hundreds of years ago when technology was less powerful. And taking advantage of all this knowledge we don't have to work for, then we can work for other, new things. This is not only fine but necessary for society to advance.

> Do we want a world where everyone is dependent on technology but nobody knows how it works?

We already live in such a world. Or rather, there exist critical things that no single mind fully comprehends.

So again, if you at least agree that not everything needs to be transmitted, then where are you going to draw the line? Do you think kids should learn to calculate cube roots by hand and prove that with a no-calculator exam? Why? How about logarithms by hand? (Though even before computers, pretty much no one did that either, instead they let a small number of people work really hard to produce many tables up to a few significant figures so they could use those results for bigger things.)

Don't you think the insistence on learning (and testing to demonstrate something was learned) so much "circus math" (math done for show, because there's vanishingly little other reason to do it by hand in current year) might have something to do with how so few students ever even get a taste of real linear algebra, statistics, calculus, and let alone more advanced topics?

I consider it a failure mostly of the education system that I didn't learn about rotation matrices until my first semester of college. They could have been introduced in 9th grade or perhaps earlier. But that would require cutting a lot of other stuff. (I'm still rather happy my 9th grade teacher taught us row reduction, made us do a few by hand and one big 3x4, but thereafter said "using rref() is fine". Meanwhile a Canadian friend reported to me that his "linear algebra" class in university consisted almost solely of doing row reductions of various dimensions by hand, all semester. Useless. But my same 9th grade teacher got very insulted when I wrote back some suggestions for topics he could introduce after taking my linear algebra class, even something as simple as the concept of the codomain, oh well.)


We already live in such a world. Or rather, there exist critical things that no single mind fully comprehends.

That is not the same thing. I am talking about technology which literally nobody understands. That's the premise in a lot of science fiction: a distant future dystopia where technology is slowly decaying and nobody understands it well enough to reproduce it. At best, people are able to scavenge parts from one broken artifact and use them to fix another.

And this is not a far-fetched idea. It has already happened. The fall of the Roman Empire led to a lot of technology being forgotten for centuries. I have also heard that, for example, CRT displays cannot be reproduced (because there are no more factories) and the knowledge to build a manufacturing process for high-quality CRTs would essentially have to be rediscovered.

Don't you think the insistence on learning (and testing to demonstrate something was learned) so much "circus math" (math done for show, because there's vanishingly little other reason to do it by hand in current year) might have something to do with how so few students ever even get a taste of real linear algebra, statistics, calculus, and let alone more advanced topics?

My original reply in this thread was about the use of calculators being bad, particularly in elementary school. I wouldn't exactly call the ability to quickly multiply 5 * 6 in your head "circus math." It's more like a bare minimum basic skill.

It's like learning how to type properly when you want to become a programmer. Yes, it's not strictly necessary to be able to type as a programmer. However, if you are in full "hunt and peck" mode, you are going to be very slow at getting your thoughts onto the screen. It's going to take so much mental effort just to input a line of code that your concentration on the deeper aspects of the problem will be adversely affected.

The same goes for math.

I'm still rather happy my 9th grade teacher taught us row reduction, made us do a few by hand and one big 3x4

If you can't do basic arithmetic, you aren't even going to be able to do one by hand. I would even go so far as to say you can't even understand what's going on in the process or what the bigger picture means (e.g. that matrix-vector multiplication is a linear combination of column vectors).

Are you going to be able to understand the Gram-Schmidt procedure or QR-decomposition or singular value decomposition without being able to do them by hand? I don't know, but I somehow doubt it. All of these processes lean heavily on basic high school algebra. If someone needs a computer to solve a quadratic equation (with integer roots) then they're not going to have much fun learning how to diagonalize a matrix.

Meanwhile a Canadian friend reported to me that his "linear algebra" class in university consisted almost solely of doing row reductions of various dimensions by hand, all semester.

That's really sad. My linear algebra courses taught me about the four fundamental subspaces of a matrix (and their relationships to one another), various matrix factorizations ([orthogonal/unitary] diagonalization, QR decomposition, singular value decomposition), the Gram-Schmidt procedure, the Cayley-Hamilton theorem, and many many more interesting things, as well as how to prove a lot of facts about this stuff. We also worked in abstract vector spaces and polynomial vector spaces and learned about quadratic forms and the normal equation which will give you any polynomial regression you want.

Anyway, the whole point of all of this is not to say that every single person needs to know all of this math. Only that some do. And I believe that if you create a math education system that leans heavily on technology without any manual work, you will not raise any students who are truly competent enough to do it. I have first-hand experience as a math tutor (for elementary and high school students) for the past 4 years. I have seen upper-elementary and high school students, unable to do basic arithmetic without a calculator, absolutely struggle to learn more advanced concepts. The reliance on the tool is a huge barrier to deep thought.


I think I'm closer to understanding you now. For a professional, they need to know (that is, reproduce without looking up) about 70k ± 20k facts in their field to be effective (https://apps.dtic.mil/dtic/tr/fulltext/u2/a219064.pdf). Otherwise they're just too slow. Over time though, those facts change.

For some concepts, especially ones early on like arithmetic, sometimes memorization and mechanistic drilling is a prerequisite for solidifying the more general concepts at play which is what will really boost your skills (understanding what is actually happening when doing arithmetic). And sometimes you just need to do the simpler activity over and over before 'getting it' (like Feynman's counting with beans story he gave in order to justify his ability to explain fundamentals of QED without years of undergrad work first).

I agree that if you just show how to use the tool and never explain what's going on (and have no way to vet understanding that any explanation was sufficient) then it can cheat learning and further understanding... The most apt comparison is that of always asking your friend what the answer is, never sparing a single neuron for trying to figure it out yourself. Calculators can be like that to some people. Maybe the key is the subtle difference between "let me ask the calculator (or hey, Alexa)" and "let me use the calculator/Alexa". The second implies a belief of being able to do without, of seeing an alternative potential path towards the goal even if it takes more time.

And as one of the first bodies of math children will be exposed to with expectation to master, there's room in arithmetic for manual tedium to help solidify concepts that will be present in the future like copying things down in different places, value substitutions, learning and following (or programming) an algorithm, experiencing directly the tight feedback loop of seeing a problem or sub-problem and recalling a memorized answer instantly, parsing out numerical information from text or graphs, and so forth -- but eventually too, using a calculator or some device for almost all actual arithmetic. Even professional mathematicians will often outsource their brain for simple arithmetic, and anyone trying to multiply two 3 digit numbers in their head is likely just wasting the effort of trillions of firing synapses...

Anyway there's certainly room and need for some by-hand or in-head stuff, but I still maintain there's also a lot of wasted time (especially as subjects get more and more advanced) taken up by such activities and we'd do well to cast critical eyes on both traditional and newer computer-aware curricula. And then as a pipe dream, not holding everyone to the same pace.


From my experience tutoring (especially young children but also teenagers) I have discovered what seems to be a human universal: the brain is always looking for shortcuts. I have witnessed kids attempt to develop strategies for cold-reading me, the tutor, instead of learning how to solve the problem directly. They’ll make these educated guesses and then try to see how I react. I’ve had to develop a poker face just to get them to give up on that nonsense and turn their attention to the problem at hand.

I suspect that many tutors, parents, and even teachers never realize that kids are doing this. Then they’re shocked when a kid who seemed to be doing so well bombs the exam.

I feel the calculator is part of this phenomenon. In addition to immediately providing the answers so kids don’t have to figure it out themselves, it also creates the expectation that there are shortcuts in math and that teachers are just giving them busywork because that’s what adults do to kids.

That’s the heart of the problem, to me. There are no shortcuts to understanding.


Thank you for saying what I was thinking. I had the same experience.

> Because schools aren't about to let students use phones/laptops during exams

I was totally blown away when I entered a US high school only to find that math class was basically teaching you how to use the calculator, not how to do that math.


This was not my experience in a US high school. We weren't permitted to use calculators until we demonstrated paper-and-pencil proficiency with a topic, and we always had to show each step of our work.

But education is mostly regulated by state and local authorities in the US, so YMMV.


> demonstrated paper-and-pencil proficiency with a topic

That was my experience in Europe, but without moving to a calculator.

I attended a public east coast high school.


School quality in the US is very location dependent, as public schools are largely funded by property taxes. I also went to a public east coast high school, and calculator use was mixed. Some exams allowed calculators, others not. Often the exam was designed such that it was testing your knowledge of a concept more than the numerically correct answer, showing work was required. So a calculator was useful for checking answers but correct answers with no work would get you a 20% at best.

> School quality in the US is very location dependent, as public schools are largely funded by property taxes

Also because curricula are designated at the state level, and teacher certification requirements vary by state and county.


I think never using a calculator is just as misguided as always using one would be. Using a calculator is a skill in and of itself.

I agree with that.

You should pick up some way of automating that effort, while still knowing how to do it yourself.


Because school policy is driven mostly by lobbying and tradition, not by careful consideration of the best available options.

Aside from the other examples brought up, pulling up an actual, physical calculator and typing into that can sometimes be faster and easier than using computer tools.

But one thing I don’t really understand is (as someone outside the US) ... how do you really type code (like BASIC) with that thing? The ones I’ve seen had really weird alphabet layouts, and I couldn’t understand how can students be able to be productive with such a finicky device.

TI-BASIC code is entered with a menu-based system. For example, while editing a program on a TI-84+, pressing the PRGM button yields this menu:

  [CTL] I/O EXEC
  1:If
  2:Then
  3:Else
  4:For(
  5:While
  6:Repeat
  7:End
  8:Pause
  0:Goto
  A:IS>(
  B:DS<(
  C:Menu(
  D:prgm
  E:Return
  F:Stop
  G:DelVar
  H:GraphStyle
  I:OPenLib(
  J:ExecLib
You can navigate up and down the menu with the arrow keys and pick the keyword you want with the ENTER key, or you can just press the corresponding number/letter (which is much faster). You can also left-arrow and right-arrow to related submenus. For example, that "I/O" next to "CTL" is this menu:

  CTL [I/O] EXEC
  1:Input
  2:Prompt
  3:Disp
  4:DispGraph
  5:DispTable
  6:Output(
  7:getKey
  8:ClrHome
  9:ClrTable
  0:GetCalc(
  A:Get(
  B:Send(
There are never more than 3 submenus associated with any key, so you either get the menu you want, or you are only a single left or right arrow away. Menus (except the "Catalog" of all commands) have a maximum length of 35 entries, so you can always select a menu item by typing its corresponding number or letter (assuming you already know it). The worst case is 4 keypresses: faceplate button (like PRGM, MATH, or LIST), left- or right-arrow (if you need a non-default submenu), the ALPHA key (to type a letter), and the letter of a command more than 10 entries down in the menu.

This is exactly the way that all menus work on the calculator, and all of the actions you can pick at the REPL are also valid program entries. The more familiar you are with using the calculator in general, the easier it gets to program them. I wrote a lot of TI-BASIC in high school in the early 2010's, and had a lot of the menus memorized. Typing the programs in was definitely not the hard part.

The only times you use alphabetical input when writing TI-BASIC are: * writing string literals * typing a one-letter variable name * referencing a custom-named list that hasn't yet been created, or has been deleted and already deleted.


It's interesting to note that this is essentially a domain-specific structural editor; each keypress is a full lexical token that happens to be valid in the TI-BASIC programming language, and a different input mode is triggered for full alpha/numeric input. That's how one can cope with an input method that's as low in bandwidth as a fiddly calculator keyboard.

Eh, not really. The calculator won't stop you from creating syntactically-incorrect programs. You can enter any nonsense you like. Errors are detected at runtime. You get one of 8 (I think?) error codes, and can Goto the line that the error is on. Figuring out what is actually wrong is up to the user, and often requires consulting the manual.

While I was in high school, some people figured out that they could write notes in their calculator as programs, and covertly reference them during tests. The calculators didn't care at all about having unquoted strings and nonsense math stored in the programs, because the students never ran them. The teachers caught on to this and started checking that calculators were wiped before tests.


This is a fairly typical approach for old-school BASIC. Back in 80s, most BASIC microcomputers used a similar approach to entering tokens, despite having proper alphanumeric keyboards. For example, look at the keyboard of this ZX Spectrum:

https://en.wikipedia.org/wiki/ZX_Spectrum#/media/File:ZXSpec...

It's not just input, either: many of those systems stored programs in pre-tokenized binary form, as well. It makes a lot of sense when your RAM and storage space is that limited.


I would imagine debugging is less fun than typing the programs in 20^3 command tree.

Debugging wasn't too bad. The constraints I remember running into all the time are:

* The editor is on a 16-column 8-row display, but the leftmost column always starts with the a ":" and the top row always has the name of the program, so it's more like a 15x7 display.

* There are only 27 numeric variables (A-Z and Theta), and X and Y get manipulated whenever you do plotting commands, but you can use the "Answer" variable to pass arguments and results to and from program calls.

* There are only 10 string variables, but they are not limited in length (except by total available memory), and you can use eval() on substrings (commence evil laughter!).

* Lists have a maximum length (I think 999 items?), but because numbers take up a variable amount of memory, you might run out of memory before the list is full. Or not, it depends!

* Same deal with matricies. Finite size (maybe 99x99?), and stored sparse in memory. The number of cells you can write to depends on what numbers you're writing.

* All variables are global. (Recursive programs require you to manually save and restore state.)

* TI-Basic's interpreter is REALLY slow. Not just because it's a Z80 running at 8 or 12 MHz, it really is inefficient. I learned good tricks (memoization) and terrible ones (omit trailing parentheses, commas, and double-quotes) to make programs faster.

* Comments make your code slower (and change the content of the "Answer" variable).

Between all of those, I spent way more time writing (and running) programs than debugging them. Fun times!


Code is somewhat annoying to type, but when you're a bored high schooler with nothing else to do in class you might as well go through the two menus to type out the TI-BASIC commands.

The last time I used an 83/84, all the functions and keywords were strictly token-based, so you went into menus to pick them out. Variable names and strings were directly typed, using one of the modifier keys.

The 89 let you either type the names of functions or get them out of menus at your leisure.

It's not the best experience in the world, but it's not significantly worse than typing on a touch screen. Remember that people tolerated typing on phone keypads for years, and this beats that by a mile.


Every button doubles as a letter after you press the alpha key. The letters are sequential with A at the top and z at the bottom.

There's a key (I forget which) that brings up a menu with all the commands organized by category. You never have to type out the commands letter by letter.


Sometimes I wonder if it would be easier to type out the commands letter-by-letter. (Alas, the calculators did not have a way to convert these to the tokens it expected…)

They have computer software for Windows & Mac so you can connect your calculator to your computer and write code like that, but it is a pain to set up.

The TI-84 and newer have USB ports, but the TI-83+ and older require a special cable to connect to a desktop computer. (USB-A or RS-232 on one end, a logic board in the middle, and a 3.5mm jack on the calculator end.) I never had one of those, so I entered everything via the keyboard. It must have been an experience very similar to my dad's, who copied BASIC programs out of Compute! magazines into his Atari 800XL in the 80's.

When I was in High school (in the early 2010's), I certainly didn't have room for a laptop or tablet on my desk! Just a notebook or binder would fill most of the available area, with room for an eraser and spare pen or pencil along the top edge. My calculator would sit on either the left or right page of my notebook, whichever I wasn't writing on at the moment. The textbook would be open in my lap.

The only way a laptop or tablet would have fit would have been to either have my notebook over the keyboard and touchpad, do away with the notebook and do all work digitally, or do away with the physical textbook and put it on the laptop. My experience with e-learning and e-textbook platforms suggests that I very strongly recommend against the latter two options.

---

Off the top of my head, a few more reasons:

Although TI's calculators are expensive ($100-$150 each, depending on the model), they are cheaper than almost all devices that can run Matlab, Octave, etc. The dirt-cheapest of Android devices are cheaper to buy, but have higher administrative requirements, are probably too slow to run CAS well anyway.

Calculators are much sturdier than smartphones, tablets, or laptops. Frangible case, thick ABS shells, rounded edges, low-tech big-pixel LCD. Calculators are subject to, and withstand, a great deal of use, neglect, and outright vandalism at the hands of teenagers. Tossed in backpacks, dropped onto floors or sidewalks, sharpied, spray-painted, engraved with anything available... The calculators survive this environment pretty well; it is entirely possible and reasonable for a student to be given and use a ten or even twenty-year-old calculator in class.

Not only physically enduring, the calculators remain relevant for long periods of time. Even though TI has released new models since the TI-83, many classes will allow any calculator in the family. Some students will have brand-new instances of the latest model, some will have hand-me-down or secondhand calculators, and other students will use loaner calculators from a fleet that the school has retained for years. Maintaining such a fleet is far cheaper and easier than maintaining a fleet of up-to-date, secure, and working laptops or tablets.

Calculators require less charging than laptops or tablets. A cheap quartet of AAA batteries can last a semester, or even a whole school year, in a calculator. If the batteries do die at a bad time, teachers will often have a stash of extras that can be swapped in by the student, allowing them to finish the class or exam. Tablets or laptops require banks of chargers, usually on mobile carts, and all of the cables need to be properly plugged in every afternoon, and sometimes before then. Any failure will result in a student who has to switch to an entirely new device (if one is available at all) in order to keep working.

Calculators are instantaneous-on. You don't need to wait agonizing minutes of valuable class time for the OS to boot, the network to connect, typing a username/password, loading the desktop, and launching a CAS program. At best, that process could take only a few seconds. At worst, it could take many minutes. Anecdote: halfway through one of my semesters of high school, some of the school computers (including one I was assigned to) were updated from Windows XP to Windows 7. The login system recreated your profile from scratch at every login. The result was that it took about ten minutes every day just for me and the 6 or 7 other guinea-pig students to log in to our computers -- a big impediment in a computer graphics class, in a school where classes were only 47 minutes long.

Calculators always work, and they always work the same way. They don't have mandatory security updates, certificate expirations, obsolete network configurations, missing user profiles, misconfigured product key servers, surprise UI updates, cloud-only functionality, or anything else like that. If it turns on, it works, and is exactly the same as it always has been. Another anecdote: In college, my ios app class was thrown in to disarray when we came in and found out that the university had updated to the latest version of xcode. The new IDE also came with a new version of swift. Our project was due later that week, and none of our code would compile. The instructors had to push the deadline back and create a "what we told you last week is different now" lecture the next day.

Calculators are much less of a classroom distraction. Even though they can have third-party applications and games installed on them, they have an overridingly clear purpose: to perform calculations. Doing anything else on a graphing calculator is tedious and difficult. Calculators can only communicate by wire, have no sound, and have smaller (and usually un-backlit black-and-white) displays pointing straight up from the desk, so they can't really engage/distract more than one student. Contrast with laptops or tablets, which students know are able to browse the internet, watch videos, and engage socially with their peers. Even though the devices can be "secured", the value of workarounds is much greater than for calculators. Savy students will spend more effort developing workarounds for internet-capable devices, and their peers will jump through more hoops to perform them. When workarounds are in place, their use can also be much more distracting than a calculator: students covertly chatting in class, playing flashy games, or having sound play out the speakers.


I find it incredible that these calculators are even allowed in exams. In the UK, for University, we were allowed at most a Casio fx series scientific calculator, nothing more sophisticated. At A-Level (pre-college) you were allowed very basic graphical calculators but I knew of nobody that bought one and they were seen as being pointless.

That is a sad news. What a trip down memory lane though... I remember since I discovered that TI-83 is much more powerful than simply running BASIC programs, I've been spending most of my free time on TICALC. I remember installing a gameboy emulator that used some neat tricks to make TI-83's monochrome display render 4-shade greyscale. I think there was a Doom port. There's been a way to load and play rudimentary music through the IO port. TICALC was/is a treasure. I wrote and published a simple sprite and asm editor which since has been deleted. I had a z80 opcode table pretty much memorized so I can try writing small native programs in hex directly on the calculator. I think it helped me pave my life path for the next 20 years.

> the new, upcoming chapters of a still ongoing story :)

I love this spirit. Glad to see it will continue with or without TIs blessing. I have been using ticalc.org since I was a teenager and calculator enthusiasm is and was a great way for kids to get interested in software engineering.


Weren't these devices utterly broken because the private RSA key was actually refactored? Or is this a different type.

There's some wonderful software for these calculators out there. Even a functional Gameboy emulator exists, used it to play Pokemon during math classes back in the days!


The TI-84 Premium/Plus CE uses a larger RSA key that has not been factored.

Well that sounds like a challenge. Got it handy?

It’d be nice if the bitcoin community put their brute forcing power towards something meaningful like brute force factoring of RSA keys. Sadly, that doesn’t make money.

The proof-of-work for Bitcoin is leading 0's in SHA-256 sums.

It doesn't make money, it's just a simple way of proving you did an approximate unit of work.


It doesn’t make one money directly, but when a block is mined, bitcoin are created and can be sold for money. I’m not saying it’s a good idea; it’s not. But wouldn’t putting that computing power to factoring RSA keys be a better use of electricity? It could be run in a distributed fashion where, if a node says it found it, it’s checked?

Much slower to verify than a hash, and who makes the keys so that you can trust them not to cheat?

> ... who makes the keys so that you can trust them not to cheat?

What? I’m talking about something like BOINC or whatever, but with a project dedicated to factoring RSA keys. Similar to how we have one for protein folding, and whatever. Now, I’m not familiar with how RSA factoring works, but I’d assume a node would be given a “project” (a range of divisors to test), and if one works, it’ll report the factors back to the central server. Then the server would verify the work, and if it’s correct, we now would have a factored RSA key.

Now, you could do something like Bitcoin where the project is distributed, and if a node claims to have factored the block’s key, it’ll broadcast it to the network and be verified by the other nodes. Then the factorer(?) would be rewarded (idk, maybe FactorCoin?). The problem I see with that is: you would still need an authoritative node to say what they “keys of the day” are.

Maybe some rich person could set up a fund to pay out people who put effort into factoring? Or do a fund where people donate money that’s paid out based on effort?

Now, I am aware that 2048 bit RSA is virtually “unfactorable” before the heat death of the universe, but maybe 1024 bit keys or smaller?

Ultimately, this idea comes from an extension of the idea behind the RSA Factoring Challenge[0]: pay people for factoring keys.

Related reading: https://crypto.stackexchange.com/questions/70829/how-long-do...

[0]: https://en.m.wikipedia.org/wiki/RSA_Factoring_Challenge


> The problem I see with that is: you would still need an authoritative node to say what they “keys of the day” are.

Yes, that part. Some node is telling you what key to attack. What if they make the keys, hang on to the factors, and secretly hand them out to nodes they like?

That completely undermines the idea of "proof of work".

Without any real decentralization or proof of work, with a coin that isn't even scarce, nobody is going to mine that coin because they actually want it. They're only going to mine it because they want whatever bounty you're paying in real money. And at that point the coin is just a layer of obfuscation over "We're paying a dollar bounty to crack RSA keys".


It's be real nice if PoW was protein folding, or SETI matches, or anything else that benefitted humanity instead of random speculators.

It can be! Hasn't worked so well in practice, however:

https://foldingcoin.net/

Not much going on there... seems the last on-chain transaction happened about a month ago:

https://xchain.io/asset/FLDC


Has this been tried, or at least discussed? I often contemplate the vast CPU resources even just in a small radius around me, doing nothing most of the time.

Is there a way to get a partial match on factoring an RSA key, so you can use it as proof of work?

Not really, that'd break the cryptographic requirements of a hash.

Partial matches on a secure hash don't break anything. They don't get you any closer to a full match. And it's trivial to match the first few bits of a hash; just try a hundred random values. Or for 20 bits, do about a million, etc.

Right, so my point is that there isn't a way to incentive partial matches in a way to break these. Partial matches don't get you any closer to the complete solution.

The payouts for partial matches aren't because partial matches are useful. They're incentive to keep guessing.

If you have an 70 bit hash to break and offer a pile of money to whoever cracks it, you won't get a whole lot of attention. Instead you can offer a steady stream of rewards to anyone that matches at least the first 50 bits, building up a swarm of miners. Eventually someone will match all 70.

The question is whether you can set up a scheme like this for factorization. We already know it's a viable mining method for hashes.


I think it's RSA 2048, in which case even if you ran all the computers until the the sun supernovas, you wouldn't be able to factor it probably.

In this case the keys are secure, since the calculators moved from 512 bit keys to 2048 bit keys. But the proposal was more about general RSA cracking, and there are a whole lot of 1024 bit keys out there that could be cracked by a cryptocurrency-scale network.

But even with current tech and current methods, 2048 is doable long before the sun burns out. Bitcoin's approaching 2^80 hashes per day, on par with 1024 bit RSA. Rope in 10x as many computers and you could crack 2048 bit RSA in a mere billion days, give or take some constant factors.

The sun's way too small to supernova anyway. It will become a red giant that blows off the outer layers and leaves behind a white dwarf.


I don't see this being a huge hurdle to programs to help with problem solving. Back in the aughts, I would regularly write programs to solve basic kinematic equations in basic and distribute them to my fellow classmates under the blessing of the instructor. I got to reinforce my mental models of kinematics and I removed some hurdles for my fellow students who were good at problem solving and rearranging variables but weaker at math. Ultimately, I learned so much from that class.

TI calculators are a racket. They begged, bribed, and threatened their way into being the standard for educators and used that monopoly position to avoid competition and innovation. It's why a TI-84, a device with a $15 manufacturing cost, costs the student $130.

https://youtu.be/zoGl8-Wc-L0


Does anybody know of a powerful calculator model (e.g. multi-line display like a graphing calculator) that has the ability to display commas out of the box?

For example, if the result is 1,998,241 it should display that way---not 1992241.

I don't usually need powers of ten notation.

I don't mind adjusting settings, but I don't want to have to download stuff to make it do this.


I wonder how hard it would be to build a software-compatible TI calculator clone.

They haven’t exactly innovated in this space in the last quarter century, but it was a nice product back in the day. The bill of materials for a modern version of these couldn’t be more than a few dollars.

I wish copyright terms were shorter.


It’s strange to read comments about people “cheating” using graphing calculators, as I can’t remember a single time where one would have helped me in a single class. That might be because I majored in maths and everything at that level is abstract ?

My friend and I started a little "demoscene" on our TI-85s in high school, trying to outdo each other with little graphics demos... this is sad.

RIP. My first program was a Pythagorean formula solver. I probably spent more time playing games and programming on my TI83 than actually doing math

Anyone know of any other devices using the eZ80 that can be purchased now and are available (i.e. not retired)?

No issues, so long as you can still amuse your friends by typing: 6006135

googies?

This is the only reason to buy these calculators.

What next, a TI App Store?

I think you might be right!



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: