Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
TI-84 Plus CE Python Graphing Calculator (ti.com)
179 points by rbanffy on May 8, 2021 | hide | past | favorite | 158 comments


The thing I appreciate the most about a device like this is that it's largely self-contained. I can program my phone in Python, sure, but I largely can't program my phone in Python on the phone. There are tools which do this, but the device isn't optimized for it, and the usage metaphor isn't really compatible - coding UI applications with a soft keyboard doesn't sound fun or useful.

On the other hand, getting a text-based REPL that I can quickly enter some commands on is great - that was why I really loved TI-BASIC on my TI-83. In college it made it easy to write a small program, roughly when I needed that program. In one extreme example, my girlfriend and I took ours to the grocery store every week, and used a BASIC app I wrote for meal planning for the week (this was pre-smartphone era).

I'd hope that this is _something_ of an answer to the concern that computing is getting too complicated and detached. Just thinking about the near-ubiquity of the TI-83 when I was in high school, giving kids the ability to code out of their pockets without having to worry about UI mechanics, publishing to an app store, or _threads_ even (AFAIK Android throws exceptions if you do certain things on the main thread), sounds pretty powerful.


The new TI calculators are still Z80 based, so the Python interpreter runs on a separate ARM CPU that communicates with the Z80 over SPI. This creates such a large bottleneck for performance that in most cases TI-BASIC is much faster than Python (and due to TI banning assembly programs, that means that kids wanting to get anything resembling decent performance still get to program in TI-BASIC just like you remember doing). As far as I can tell the Python support is a toy feature mainly included to meet curriculum requirements in certain European countries. Additionally it's a calculator so text entry is very cumbersome, personally I would much rather write code on a smartphone than one of these.

https://www.cemetech.net/forum/viewtopic.php?p=285843#285843 for more information on the Python performance


It seems inexcusable that TI is still running their calculators on a Z80... what an absolutely glacial pace of innovation.

Are they just lazy monopolists or am I missing something crucial?


They are absolutely lazy monopolists in my view. They are still selling the TI-83, a device released in 1996, for $112 at major retailers.


TI's newer calculators actually use the eZ80, which is pipelined and generally much faster than the similarly-clocked Z80 processors in the older devices.


I don't see the TI-series graphing calculators as a general purpose computing device. If I need more horsepower than an old Z80 for some specific use case, TI actually has me covered, in the 68k-powered TI-89 and the ARM-powered TI nSpire.

What _is_ inexcusable to me is that the calculator still costs as much as it does. I'd bet the bill of materials for a TI-84 is cheaper than that of a Raspberry Pi at this point. A few years ago I had to take apart my -83 and discovered from references online that there were revisions A through at least K of the hardware, with many cost cutting measures made along the way. And while there's something to be said for the supply chain for a 20+ year old device probably having dried up several times over, none of those cost savings seem to have been passed onto the consumer.


Do they have any competition? Those chips are probably effectively free for them. R&D isn't.


Technically, yes, there's competition from Casio and HP.

However, all US textbooks contain examples specifically for TI calculators, all teachers get TI calculators for free and thus they don't recommend getting anything else but a TI calc.


Casio makes very popular and we'll supported graphics calculators.


Casio made the first graphing calculator.

I got one, so great. Statistical Student's T at the lab bench for advanced freshman chemistry. In 1987.


Agreed. Casio got me through my beginning of undergrad with a wonderful calculator. TI always seemed liked too little for the money.


iirc Casio's offerings aren't any cheaper.


My school requires the TI


TI does not ban assembly programming on their calculators. In fact, the AsmPrgm directive lets you punch in machine code in hex right on the device itself. I actually used this as the basis for a CTF challenge once: https://github.com/saagarjha/ictf-carprey


They removed the ability on some of their newer calculators, after you made that repository. E.g. the TI-84 Plus CE: https://www.theverge.com/2020/5/27/21271625/texas-instrument...


:o, did not know about that. This sucks–but I guess you can skip the update for now…


There is an exploit that allows you to run assembly programs on newer OS versions called arTIfiCE…


I'm not generally a fan of puns, but that's a solid pun.


>due to TI banning assembly programs

they did _what?!_ I recall TI-Basic programs running at a snail's pace on my TI-8whatever, without assembly nothing of any scale can be done, even numerical analysis.


> In one extreme example, my girlfriend and I took ours to the grocery store every week, and used a BASIC app I wrote for meal planning for the week (this was pre-smartphone era).

Ironically, in the smartphone era, devices aren't even supposed to be programmable anymore (to the end user). They're simply means of consuming content (and a way to be surveilled). The idea that a computer is a programmable machine has all but disappeared from the mainstream.


With Pythonista you can develop small Python programs on iOS.


There are several programming environments to chose from in both stores.

Surely any 10 year old is savvy enough to find them.


Can you give examples? To be clear I don't mean programming environments that a tech-minded 10 year old can learn on if he doesn't have a PC, I mean tools to let non-technical users program their devices (hypercard probably the best example I can think of)


The ones I care about are for Python, C#, F#, Swift, GLSL shaders, Java, C, C++.

Maybe Pocket Code fits your idea.

https://share.catrob.at/app/


Both Google and Apple invest heavily in development tools for their respective platforms. These tools may not be as accessible to end users as BASIC, but that is because these tools support much more than basic math and graphics. Android also has a number of development tools that are vastly easier for end users to use (and, from my meager understanding, the same is true for modern iOS).

The reason why you don't see this advertised for mobile devices is for much the same reason that you don't see programmability advertised for modern computers: it is a feature that only appeals to a tiny subset of the market. The reason why you see programmability advertised in a calculator is due to its utility for the target market (e.g. programming is often introduced in math class).


I disagree. There was a big push at some point in the development of personal computers to make programming something that even nontechnical persons could do. Think hypercard, or even smalltalk. A way for regular users to program their computer to do something else.

That's long gone. There's no such tools (that I'm aware of) in the mainstream for smartphones or even computers. You say two things: "they support so much more than TI-basic", well yes and that's the problem. They are developer's tools, not user-programmer tools. If you want to write a quick program to help you in some task you don't have a quick BASIC-like tool to do that. And you also say "a feature that appeals only to a tiny subset of the market", again a self-fulfilling prophecy. There are no tools for non-technical users to program their devices, so only a minority of users do want to program their devices (or even realise that they can do so!)


Which is funny, because I bet Apple could re-engineer hypercard for iOS and people would absolutely love it. Would probably attract more power users even, if they gave more more granular control (I realize this is anathema to Apple at this point). There are definitely ways to let users choose how "dangerous" to make themselves.


It's very interesting that you make the distinction between a 'developer' and a 'user-programmer'. I've never thought of it that way before, but I've come to the realization that all the programs I write are not written specifically for my computer, my computer is simply one of many compile targets and platforms which they can run on. It would be incredible if I could actually program the normal operations of my computer from user space, instead of writing programs for an abstract x86_64 device which, at runtime, happens to be my computer.


I suspect the biggest hurdle in this discussion is agreeing upon what we mean by a programming language for end users, or even what qualifies as a programming language.

Some examples that I can think of: Automator, AppleScript, Swift Playgrounds are all intended to be accessible to end users. Spreadsheets typically provide programming-like constructs (without resorting to lower level scripting). There are versions of BASIC for most platforms (including Android and the Nintendo Switch). The last time I looked into it Smalltalk (via Squeak) was still being maintained for computers and it looks like there are Smalltalk implementations available for Android.

While it can legitimately be pointed out that most of these options have to be sought out, they are a subset of what is available. While I agree that people not realizing that their devices can be programmed is a hurdle, a large number of people do realize that it is actually software that controls the operation of their devices yet have very little interest in writing their own programs.


While web based single page applications (SPA) are hardly a "sweet solution ", any kid can view source and take one apart.

I believe that devices are at least as accessible today as they were in 1981. Today's systems are phenomenally complicated, but you can start making them do stuff with virtually no extra parts. The web browsers are free. Tutorials online are free. Way better resources these days.


Apple's Shortcuts app brings up a "scripting" option in the "new action" menu. It's rather capable.


Yeah, the programming apps I have installed are a fruit of my imagination.

Do they expose everything? No.

Are they good enough for learning purposes and basic coding on the go?

More than enough.


> These tools may not be as accessible to end users as BASIC, but that is because these tools support much more than basic math and graphics.

Okay, so where are the options that only support basic math and graphics?


Excel and Google sheets? First thing any of my non-technical friends reach for when they need to do some basic sums and calculations.


Matlab Wolfram alpha Mathematica


Those are some good points that reflect my own experience. My first language was TI-BASIC, self-taught during high school study halls on the TI-83 Plus. My second language was Z80 assembly on that calculator. I think the self contained nature of the programming and running environment in a portable device, along with limited features and power, is really what got me started.

And it ended up helping me choose Computer Science as my college degree and put me on the career path I'm on now. TI has its faults, but I'll be ever thankful for their roll in my job satisfaction.


Same here. I was programming "demos" with animations in class all the time. They were running really slow, so I even learned a bit of z80 assembler, and had to learn how to solder together diode + resitor to create a SERIAL cable to transfer programs (didn't have the budget to buy an official one). Good times.


I’ve recently been thinking of learning assembly, but I’m struggling to find resources. For those of us who don’t have an old TI calculator lying around, can you recommend anything?

(Honestly, what everyone’s saying about programming with the TI calculators sounds amazing… I wasn’t alive then, and it’s a pity I never got to have that experience.)


First off I want to note TI calculators are not anything special when it comes to assembler. It was more of a limitation of the platform (in order to get games that are fast, you had to write them in assembler because TI-BASIC was too slow).

Note also that assembly code is different for each CPU architecture. The TI calculator I had contained a z80 chip, so it was z80 assembler (Motorola assembler?). The x86 assembly language is a more complicated, but probably more useful to learn (can look at any program on your computer). Or maybe you could learn ARM assembly (e.g. this would allow you to write simple programs that blink lights on a Raspberri PI).

> [...] can you recommend anything?

I looked through my bookmarks and found some links you might want to check out:

1. Example of Comparing C to x86 assembly: https://www.youtube.com/watch?v=yOyaJXpAYZQ

2. The assembler project part of nand2tetris computing-from-first-principles course: https://www.nand2tetris.org/project04 I haven't gone thought this course, but I've heard many things about it.


> First off I want to note TI calculators are not anything special when it comes to assembler. It was more of a limitation of the platform (in order to get games that are fast, you had to write them in assembler because TI-BASIC was too slow).

> Note also that assembly code is different for each CPU architecture. The TI calculator I had contained a z80 chip, so it was z80 assembler (Motorola assembler?). The x86 assembly language is a more complicated, but probably more useful to learn (can look at any program on your computer). Or maybe you could learn ARM assembly (e.g. this would allow you to write simple programs that blink lights on a Raspberri PI).

Sure, I understand all this already. I suspect that x86 assembly might be most useful for me, but I also have access to an Arduino, so I might try writing assembly for that as well.

> 1. Example of Comparing C to x86 assembly: https://www.youtube.com/watch?v=yOyaJXpAYZQ

Thank you! Added to my reading list.

> 2. The assembler project part of nand2tetris computing-from-first-principles course: https://www.nand2tetris.org/project04 I haven't gone thought this course, but I've heard many things about it.

As it happens, I’ve already gone through nand2tetris. I can’t say it helped me that much: sure, it’s good for getting a conceptual understanding of how assembly works generally, but it doesn’t give me any idea about e.g. how to write a program for x86 or ARM.


Note that TI calculators do not run x86 assembly, if that is what you're trying to do.


Of course I understand TI calculators don’t run x86 assembly! That’s not what I want to do — I just want to get a better understanding of assembly, preferably x86 so I can run it on my own Windows computer. (I don’t even have a TI calculator.)


Ha, just making sure :P I do have one suggestion, though: try WSL, because it will give you access to Linux, where you can actually write programs entirely in assembly because the system call API is stable. The ABI matches with macOS's too, which is another plus.


I already have WSL installed, so maybe I will give this a try if I get time.

> Linux, where you can actually write programs entirely in assembly because the system call API is stable

I didn’t know this — is it not stable on Windows?


Learn Assembly in 28 Days[0] is what I remember going through when I first started messing with assembly on TI calculators. Another great resource is Cemetech[1], a forum/community dedicated to (mostly TI) graphing calculators and hacking/programming them.

[0] https://tutorials.eeems.ca/ASMin28Days/welcome.html [1] https://www.cemetech.net/


Hmm… but how useful will these be if I don’t have a TI calculator?


Ahh maybe I should read the entire comment before replying :P. Sorry. I only saw the wanting to learn assembly and asking for resources. Honestly though I think this could still be a great way to get into assembly. There's a myriad of emulators out there for TI calculators, so you could still use the links I posted.


> Honestly though I think this could still be a great way to get into assembly. There's a myriad of emulators out there for TI calculators, so you could still use the links I posted.

Good points — I’ll save those articles for future reference. Thanks for the recommendations!


Wouldn't it be even harder to code on this using its limited keyboard? On a phone the soft keyboard may take up half the screen, but that's still at the same size or larger that this calculator, with a higher resolution. That's not to say programming on a phone is a pleasant experience, just that it seems at least a little easier, with much higher cpu/ram/storage resources.


Yes and no - something that TI-BASIC on the TI-83 series has going for it is that it's tokenized, so directives like `While` or `ClrHome` are actually options, rather than full words. So I don't have to type "While" on the TI-83's cumbersome keyboard, but rather just hit Prgm+5.

I'm making a big assumption that the Python implementation is similar. I don't know this, but where this is a big feature of TI-BASIC, I'd hope it carried forward.


Typing on a soft keyboard sucks. Typing computer code, that has to be absolutely typo free, is totally unworkable. Even a chiclet keyboard like what was featured on the lowest-build-quality home computers from the 1970s and 1980s (e.g. early ZX Spectrum) is miles better than trying to input code on a phone touch screen.

(In fact a bare-membrane keyboard, that was only ever used on extremely-low-specced home computers where only trivial programs would ever be written, arguably provides a better feel than what you'd get from a touchscreen.)


I agree a physical keyboard is better for preventing typos, although one huge advantage of an on-screen keyboard is it can change based on context.

Especially considering the topic of a Python IDE, that seems like an application where predictive text and/or contextual menus could be a huge benefit for many users.


Python is a thoroughly dynamic language, so the scope for "predictive" coding just isn't there. The best language for that is actually something as strict as Agda, where you can build out your code step-by-step by picking your operands from a well-defined list of in-scope bindings, with powerful type constraints guiding your choice at all times. Python is the polar opposite of that, even with the newfangled 'gradual' typing systems that are now being suggested.


I agree even bad keyboards are often better than soft ones, but this calculator isn't qwerty which for my preferences would be too large a disadvantage even over a phone's soft keyboard.

Now, if you could attach a USB keyboard to the calculator, that would be perfect.


It is possible to attach a USB keyboard using a USB-A to USB mini-A adapter. This feature was added to OS 5.1.5.


Pythonista is a great option on the iPhone (Don’t understand how Apple allows it), but like you said, coding in python on a soft keyboard is not fun.


You can install iSH and stock CPython inside it. I have it on my phone right now and it's usable, but the soft keyboard is indeed not fun.


Because it is interpreted and you can't really make full apps with 100% to everything unless exposed as interpreter API.

There are several other languages as well, including .NET.


I think its cool TI has added Python support to their graphing calculators, but let's not forget the fact that they've removed assembly program support. I think its a great shame.

Just recently some folks managed to make an LLVM backend for the eZ80 processors in the TI-84 Plus CE [0], and I was able to create a snake game in C that I could send to my high school friends [1]. I don't know of any examples, but C++ and Rust should be possible in theory too. It seemed like the possibilities were endless with such powerful compiled languages being available to these calculators, but I guess TI had other ideas in mind. At the very least, those of us who haven't updated our calculators' OS will still have assembly support available.

[0] https://github.com/CE-Programming/toolchain [1] https://github.com/caseyavila/calculator


I remember making super slow programs in BASIC and then learning assembler language with my friends to make faster programs. A shame that children nowadays won't have that opportunity.


Today's BASIC is JavaScript. It provides relatively easy access to many things a computer can do — like BASIC did. However, the JS execution engines are highly optimized, and even my phone is a supercomputer compared to the machines that ran the BASIC of yore. It stands to reason that it will take the average newbie much longer to question whether JS is the right language.


For anybody considering one of these, I'd suggest taking a look at the vastly superior (in functionality) m68k-based TI-89 or voyage 200 instead.

Used, they do cost a fraction of what these fancy revisions of the TI-84 do.

Being powered by anything more than a few AAA batteries should be an obvious red flag.


Honestly the issue is that schools don't want calculators (computers) that are too powerful because there could be an app that can just do the homework for students, or let them communicate during exams, or search on the internet. So schools intentionally prefer crippled devices, hence the relatively high price for an underpowered device.

There's not really any good solution to this either without completely overhauling the system (i.e. making things worse for a few years until things stabalize and the kinks are worked out in primary school math education 2.0), so we're at a local maximum.

I don't get your point about batteries though. Calculators are heavily used by the students, so are the perfect place to have a rechargeable. It looks like it's even replaceable too. Throw in usb-c charging, and you've got something that can be charged pretty much anywhere that a phone can.


A lot of the reason why the curriculum is the way it is (with only allowing graphing calculators) is because TI lobbies aggressively to maintain their monopoly. They sell $15 devices for $150 with many high schoolers required to own one.

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

> The company campaigned against devices with touchscreens, internet connection, and QWERTY keyboards. In one instance, it even lobbied the Texas legislature to make it mandatory for all students to take Algebra II — a course that often requires the use of a TI graphing calculator.

> “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.”

There's free alternatives that others are increasingly turning to, like an app-based graphing calculator through https://www.desmos.com/


> ... campaigned against devices with touchscreens, internet connection, and QWERTY keyboards ...

I dislike touch screen, and I would prefer to use wired rather than wireless connections when possible, although I do want a QWERTY keyboard.

(I also would prefer a different programming language than Python, such as Forth, and would prefer access to the machine codes too.)


On the TI-84+, assembly programs still work and it's still a test-approved device. I wrote a Forth interpreter[0] that can interop with the syscalls as well

[0] https://github.com/siraben/ti84-forth


TI doesn't have monopoly outside US.

Yet HP and Casio alternatives aren't much different, because of the same education reasons.


It must just be my imagination, but it sure seems like I remember getting through high school math (up to and including first-year calculus) without a graphing calculator, as they didn't exist.


That just means you didn't get bitten by the lobby monster.


Like not living on US.


I don't understand the QWERTY thing. Don't they make TI calculators with QWERTY keyboards?


TI-89 exists because TI-92 was classified as "computer" rather than "calculator" due to its QWERTY keyboard.


I know that's the reason, and it makes no sense. You'd think educators would know enough to know that they're both computers and having a QWERTY keyboard doesn't make it any easier to cheat.


You don't even need an app. I had a Ti-89 in high school and it can solve pretty much every high school and early college math problem for you out of the box, including simplifying expressions, solving equations, and taking derivatives and definite/indefinite integrals -- as long as you're willing to take the time to type it in. (In practice, it was usually faster to solve it myself.)


The TI-84 is generally considered a very safe choice for exams and standardized tests. Yet, I always had a copy of Symbolic installed on mine. https://www.ticalc.org/archives/files/fileinfo/228/22851.htm...


I'm pretty sure I got through 11 years of schooling without ever recharging my calculator... And I spent a lot of time trying to see what calculation would take it the longest to answer too...


Not sure what you're talking about. Those calculators don't have any networking.


The Ti-89 has a fairly powerful symbolic algebra system (that allowed me to get through pre-calc without memorizing the identities I would later need for physics and other related classes)

Also there are some IR networking libraries http://sami.ticalc.org/irlink/


>Also there are some IR networking libraries.

They require additional hardware, for IR.

TI-89 does not have an IR interface built in.


Since you mentioned the Voyage 200, you (or others) may be interested in an emulator I wrote a few years ago:

https://github.com/duskwuff/v200

And I did a quick and dirty Emscripten port to make it work in the browser:

https://woofle.net/v200/


Also, there is the 68k cross-compiling port of gcc (TIGCC, tigcc.org) that lets you write programs in C for the 68k-based calculators. And I have to say that I find the TI system API easier to deal with than its HP equivalent.


No Python on these although I love the TI CAS.


There's gcc. Someone ported micropython, but I haven't ever tried it.


They still make the Voyage 200? That's hilarious, what a blast from the past.


Yeah, it's a shame that the standard never shifted towards QWERTY calculators and away from the TI81-type design


I don't think they do. It's no longer shown on TI's product page:

https://education.ti.com/en/products


I wonder if the battery is replaceable?


I sometimes wonder why apple/google haven't made a mode for ios/android that puts them into a school-environment specific calculator mode.

Not the usual calculator app. An actual mode where the device is just a calculator. No distractions. Locked in that mode for a duration or needing a code. Kind of like family locking but not that. Wifi etc is off. Maybe even a setting to ensure the phone is disabled. Another setting to present a blank slate so no notes. No ability to swap to different apps. No notifications. Maybe even have a configuration code that is easy to type in and verify so exam operators can easily confirm.

Perfect for the ipod touch. It could easily beat any of the scientific calculators out there, eg battery life.

Bonus points if it logs all activity for exam purposes.


Why?

Because it's quite a lot of work to support and provides very limited value over what a graphing calculator app provides especially taking into account the idea that now teachers have to check people's phones somehow.


People around here would not accept installing a controlling third party app their school wants on their private devices. Also hacker kids would have fun using their phones all day


Neither would I. And I've supervised exams. I didn't mention third party apps.


I think I'd just use an actual calculator, since it has actual keys…


I’ll buy another TI calculator when hell freezes over. Both the ACT and SAT allow some HP and Casio models that are actually useful outside of these stupid tests, so when my daughter is old enough to need one I’ll be buying anything else for her as well.

Personally I’m quite happy with my HP Prime.


The problem with this is that schools tend to very specifically teach TI calculators while leaving other calculators to the children to self-teach.

This is fine if you're a kid who likes/understands/cares about calculators, but if you're not and you don't like math or find learning a specific UI with no guidance annoying it can be bad. I knew kids of both varieties in HS.


This is a US thing.


Parent was talking about ACT/SAT, which seem like US things to me.


The HP Prime is great, I use mine all the time. The 3D plotting capabilities are really useful. I use that and occasionally an HP 12c. I wish the Prime used a better language for the programming though - Python would be a wonderful addition


Well you’ll be happy to know Python is coming and you can download beta versions of the 2.1 firmware today to start messing with it should you desire.

HPPL is certainly not my ideal programming language, but I’ll take it over TI-BASIC any day until the Python support matures.


It has been a great wonder for me that why US highschools seems to require expensive programmable/graphing calculators especially those made by HP/TI. I assume it was some deal made by these companies with the education departments of the states and administrations.

In most other countries, students complete university undergraduate courses, let alone high schools with only needing a cheap non-programmable calculator, while some courses like an undergraduate course in Computer Science wouldn't require any calculator at all.


Anybody remember the HP48 series? We had lisp in graphing calculators in 1990.

https://en.wikipedia.org/wiki/RPL_(programming_language)


RPL is great, they kept making the 50G (which was basically emulating the custom CPU from the 48G on an ARM microcontroller) up until 2015.

You could even make your own simple GUIs, I wrote a few that I used a lot in school. A resistor color calculator and some statistics-related ones.


My favorite calculators.

I had a 48G that was destroyed and a 48GX that was stolen from an autorepair shop, while the car was in for service.


I had an HP48GX in the early 90s and loved it. Still probably my favorite[1] calculator I’ve owned and I wrote so much code on it back then.

[1] although my TI-92 was a close second after it came out a few years later as it could do symbolic integration unlike the HP48


I'm really glad these don't come with a USB C port, otherwise I'd be really tempted to purchase one. There's something oddly calming about doing complex calculations on a calculator versus on a computer. I find myself reaching for the TI-34 on my desk every now and then when I want to really focus and figure something out. The benefit of the TI-34 is that it's solar powered, so I never have to worry about charging it or changing the batteries.


I still have my TI-85 from high school on my desk with batteries that expire in 2023. 2013 sounds about right for when I last put fresh batteries in it. Admittedly I use wabbitemu with a TI-85 ROM on my phone so I don't reach for my physical calculator as much as I used to.

But I will never not use this calculator in one form or another as my primary calculation device, it's just too familiar.


I actually didn't know that wabbitemu existed. Don't have much of a use for it anymore, but I definitely have it setup on my phone now -- thanks!


Because of my high school requiring everyone to use an nspire, I am way faster at doing things on the nspire than on the computer, even with a vastly inferior keyboard.


And even the nspire is pretty slow for a calculator


Is calming the right word for objectively better?

Computer latency is terrible, and the calculator is optimized to make the 80% faster rather than the 20% possible.


I wonder how does it compare to NumWorks graphic calculator (https://www.numworks.com/).


Catching up to the Casio models.

I guess Python is definitely the new BASIC.


In college, I remember how much faster I was with my PB700 than the other students programming their cool HP-41 calculators.

I aced every test in numerical methods in like 15 minutes.

This was the first time I bumped into the phenomenon @pg describes in his “Beating the Averages” essay.


I always been a Casio fan.

During high school I got a fx 4500p, and during university the dream of most university students in computing, the last model of the BASIC programming models, FX 880p.

HP-48GX was also very appealing, but only wealthy students used got it.

Contrary to US, TI was almost nowhere to be seen.


Oddly, France got this way before the US, in the TI-83 Premium CE Edition Python in June 2019. Don’t let the name fool you - it’s the French equivalent of the TI-84 Plus CE in this article!


There's a French graphing calculator company called NumWorks. Maybe TI prioritized the French market in response to growing competition.

https://www.numworks.com/simulator/


> Distraction-free (no Bluetooth, Wi-Fi, internet access) to keep students focused on learning

... Is this a thing on calculators nowadays, or just a dig at smartphones, laptops, and desktops? Haven't had to use a graphing calculator since high school, the TI-84 Plus was a great device.


It's to market these as an alternative to Chromebooks and tablets for math classes. Though it's a moot point because I'm pretty sure you can run Pokemon on a TI calculator these days.


Interesting. Though it's funny because the TI's came bundled with a few offline games that I will fully admit to playing during class and breaks. And people did have game packs they shared online. The puzzle games were a lot of fun.


These things are anything but distraction-free. There was a MASSIVE ecosystem around TI games in my high school. I definitely spent multiple classes playing Tetris on my calculator. Or running a drug empire.


> screenshot shows matplotlib code

So you’re saying I can debug the 50 lines of matplotlib it takes to get a half-decent graph, but now with a tiny screen and no keyboard? Sign me up!


Typing python on that ABC keyboard? No thanks.


My first programs were written using the tree menu of a TI-83. Probably nostalgia talking, but I truly think it may have been the most engaging programming I've ever done.


I remember sitting on the stairs during recess and figuring out how to use assembler language to get programs to run in any sort of reasonable amount of time.

Probably nostalgia, but I think that was the best learning I've ever done.


One would hope they've streamlined it to work like the calculator BASIC variants where math functions are single tokens that can be added and deleted with one button press. If all you're doing is arithmetic code, it wouldn't be much different from BASIC.


One my fondest high school memory’s of playing Block Dude (TI-83+)


I learned to program in TI BASIC on my TI 85. The higher quality assembly games hadn’t been popularized yet so I had a lot of fun writing simple games for myself: hangman, blackjack, etc

I have this recollection that variable names were capped at 2 letters, so all my variables were named AA, AB, etc. Also a lot of goto usage.

Good times!


That's great but the TI graphing calculator monopoly for schools needs to stop. It's such a scam. This type of thing makes me want the robots to win. They couldn't possibly be worse than humans that let this kind of thing continue.


I have TI-92 calculator; I like that it has a QWERTY keyboard. Unfortunately, it is slow.

I do like that it doesn't have wireless; I generally prefer to use wired connections when possible. (If it has RS-232, then that would be good, I think.)


TI is a parasite on education.


I hope it will be able to run SymPy[1] (maybe without the mpmath stuff). It would great to have `solve`, `expand`, `factor`, etc.

I've been telling all my students to use https://live.sympy.org/ but having that available offline will be even better.

[1] For anyone not-familiar, check this printable tutorial https://minireference.com/static/tutorials/sympy_tutorial.pd...


I was just looking for such a tutorial - thanks, Ivan!

Question; besides your books - which I have just discovered - would there be any intro to math and engineering books that use Sympy / Python that you'd recommend? I posted that question earlier a while back but didn't get a lot responses.


SymPy is a bit of a niche so I don't know that many books based on it, specifically. In general, I don't know that many math/phys/engineering books that take the "computation first" approach. I'm sure they exist (e.g. using Maple or numerical using MATLAB). I guess you don't need to have a book that is explicitly designed for SymPy—you could follow any basic math/science textbook and reproduce complicated calculations and derivations using SymPy in parallel with the narrative of the book. I bet most of UGRAD physics will be one-liners...

Here are some links to the best computer-based-science stuff I was able to find in my bookmarks:

[ The official docs] tutorial https://docs.sympy.org/latest/tutorial/index.html + other docs https://docs.sympy.org/latest/index.html + SymPy links from the wiki https://github.com/sympy/sympy/wiki/External-SymPy-Media%2C-...

[ Reference of equations from advanced physics in a very condensed manner ] https://www.theoretical-physics.net/dev/index.html == https://www.theoretical-physics.net/dev/theoretical-physics.... It's mostly equations, but there are snippets of SymPy interspersed in there (written by Ondřej Čertík, who started SymPy)

And now for something in the other extreme—instead of exact equations, you can do physics with simulations:

[ Modelica ] Imagine you had an ODE (ordinary differential equations) solver with pre-defined "modules" for electrical, mechanical, thermal, and other systems. Modelica is not Python-based, but has its own language for describing variables, differential equations, and initial conditions. https://marcobonvini.com/modelica/2020/06/29/all-about-model... via https://news.ycombinator.com/item?id=23690788 Intro talk https://www.youtube.com/watch?v=-mvEUuc-sWE and a Modelica book https://mbe.modelica.university/


Wow, brilliant! Thank you so much, Ivan!!!


The Python implementation used is Micropython, so it is not compatible with most Python modules.


I remember using python and plenty of other programs on my TI CX CAS via ndless [0][1]. That thing was actually kinda powerful, it ran a port of gpSP far better than it should have. Nothing better than finishing a test early and being able to sit back and play Pokemon Emerald on your calculator. Good times.

[0] https://github.com/ndless-nspire/Ndless

[1] https://ndless-apps.org/


One of the first programs I wrote was the quadratic equation on my TI graphing calculator in TI basic in the mid 90s. It’s crazy these underpowered devices are still around.

I got a serial to TI cable and was able to install all kinds of fun games. A racing game. Dopewars. Those were the days.

I just downloaded Desmos on my phone and it’s what I think students should be using. Apple should make an education version of the iPod touch that just includes Desmos. That would be fun for TI ;)


Wow, a calculator with Python could have gotten me through so many meetings. Today, working from home, I can practice my cello while my microphone is muted. But if we go back to work from work, I'll definitely look into one of these or possibly one of the Casio models.

Edit: The downvotes are well deserved, so I won't dispute them. Thinking about it more, programming in Python without an alphabetic keyboard would be a chore.


This is cool. It's simple enough that it'd be difficult to backdoor, there's no internet connectivity, and it comes preloaded with python and would be able to run some cryptographic software. Best of all, it's so common it would hardly raise suspicion. Makes me think of a program somebody wrote to for the 84 or 89 to generate a Bitcoin key.


I learned the majority of math in my last year's of education by coding little 'cheat programs' in basic directly on the ti-84 calculator.

This not only helped math but this was also my first basic experience and I still love coding on limited systems to this day.

Ergo: get your kids a TI84


Does anyone know if this is using CPython, or is it using MicroPython like some of Casio’s models?

https://edu.casio.com/products/graphic/fxcg50/


It's using CircuitPython, Adafruit's fork of MicroPython.

The source is MIT-licensed, but the required credit is missing from the docs and distribution image.


I had to buy a TI-83 as a high schooler and still have it sitting around…wish there were neat homebrew purposes to put it towards, or really any use for it so it doesn’t continue wasting shelf space or end up in my garbage. Any ideas?


Sell them to students.

I got my TI84 as used from eBay and I sold mine to a freshman when I graduate HS.

These calculators are expensive to buy new for many students.


The TI-83 has a huge software ecosystem of games and apps that people have written and/or ported to it.

A search for "TI-83 games" brings up a bunch of them.

Edit: Sadly TI seems to have discontinued C/ASM support on newer versions of their calculator OS/firmware, presumably to discourage exam cheating apps and remain eligible for use on standardized tests. ;-( So if you have an older calculator, don't "upgrade" your firmware I guess!


It seems like adding even minimal python support would allow fairly easy development of apps that could be used for cheating.


I don't know if anything's changed, maybe schools are laxer than mine was, but they made me wipe my memory before taking standardized tests.


It was trivial to write a program that mimicked the wipe-memory screen with assembly (without assembly you could try to get away from it, but there were subtle differences in the menu UI with a TI basic menu and the system menus)


Again, maybe my school was different, but you gave it to the teacher and they'd wipe it and give it back.


They are talking about installing software that fakes it. First result from a quick search:

https://brandonw.net/calculators/fake/


There is an exploit that allows you to run assembly programs on newer OS versions called arTIfiCE…


I sold my 83+ just the other day for $30.


In the age of ubiquitous laptops and phones, I have a feeling that these graphing calculator sole market are exam-takers that are forbidden to bring phone and laptop in.

Who else would use it instead of smartphone app?


Nobody, I'm pretty sure their express purpose is as a education tool.


Doesn't the indentation syntax of python make it harder to read a progam on a small screen? Also do you have numpy on the calculator?


Indentation of any size works, so maybe they just encourage a single space?


would be great if we can use python on the ti nspire


The TI Nspire CX II supports Python. However, I'm not aware if they backported the feature to the older models… In any case, micropython can be run on all models with Ndless.


Oh really? I lost my nspire CX CAS so I bought a new CX II, I gotta check it out.




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

Search: