Hacker News new | past | comments | ask | show | jobs | submit login
NumWorks: An open-source graphing calculator (with Python and Rust support) (numworks.com)
128 points by semenko on Aug 26, 2022 | hide | past | favorite | 39 comments



Mods, please correct the editorialized and wrong title. NumWorks isn't open source and never was.

What it is is source-available, because the source is available. Or at least it still was available the last time I looked at it.

NumWorks used to be fun because it had an unlocked bootloader, allowing users to download their own software onto the calculator. But then they did a face-heel turn.

To NumWorks' credit, I'm sure the UI is still miles ahead of Texas Instruments calculators.

EDIT: it seems NumWorks now allows users to download "apps" onto their devices. This is nice, of course, but still a far cry from the unlocked bootloader situation.


I've engaged in debates on HN about the definition of "open source" in the past, so there might be some disagreement about the meaning of the title.

I've settled on using "OSI open source" to avoid this, since those discussions are uniformly tiring and unproductive.

That said, I agree with parent: the repo specifically has a section regarding copyright and it simply says that all rights are reserved[0]. This is proprietary software, disallowing copying, distribution, and derivative works. It's weird, since even cloning the repo appears to be a violation of their stated terms, though they supply instructions for building the software yourself that of course requires copying the code to your machine first[1].

Copyright is weird.

[0]: https://github.com/numworks/epsilon#copyright

[1]: https://www.numworks.com/resources/engineering/software/buil...

Edit: Figured it out. License was changed 13 months ago: https://github.com/numworks/epsilon/commit/b1ea81f067f5fef3f...


Disclaimer: I'm not a lawyer and you should not rely on this as legal advice. Even if I'm right, it would be a stupid and expensive lawsuit.

I think that under US law you can legally clone it from github [1] and build/run it [2] without a license.

[1] GitHub has a valid license to create copies by virtue of their TOS. You aren't creating a copy, github is, and they are then lawfully transferring it to you.

[2] This is explicitly called out as something you can legally do without a license in copyright law. "All rights reserved" is just the lack of a license and doesn't prevent you from doing things that weren't illegal in the first place.: https://www.law.cornell.edu/uscode/text/17/117


This is a fantastic insight, thank you! I was unaware of this particular limitation on exclusive rights. I'm not a lawyer either, but I agree with your reading: cloning the repo purely to support the build process seems like it's allowed. TIL!


To be allowed for use on tests it’s probably setup in such a way and locked down that proctors will allow it’s use.


I think the creators do legitimately want to build a truly open source calculator. The problem is getting the calculator registered for exams - the examiners naturally want to make sure that the calculator isn't being used for cheating. And any method to replace the firmware, add custom applications, etc. can and should be viewed as a way to cheat on exams.

Personally, I'm hopefully never going to take another standardized exam in my life - I'd like to see a graphing calculator that doesn't attempt to get certified for exams or school use, since this seems to be such a significant hurdle. But I know I'm in the 0.1% of graphing calculator users who don't care about AP/IB/the SAT/whatever.


> I think the creators do legitimately want to build a truly open source calculator.

Somewhat like Google legitimately wants to "do no evil"?

Sometimes it is said that deeds, not words is what matters. But in this case even the words are missing, so I don't really get what you're trying to say.


My point is that ultimately it was more important for them to make a calculator that students could actually use - which is a perfectly reasonable goal. And it's a shame that that's fundamentally incompatible with FOSS.


Seems highly insane that students have to buy a calculator, that can basically never be used outside of school for many people because it's so limited....

Why can't the school just have a pile of them? Then they can be totally FOSS. The teacher hands you one, they know the FW is good, you give it back, and if you want to practice at home, you can buy yourself the unlocked version which would be fully open and have more communications so it could be repurposed.

Then the same device can be sold as a smarthome IoT remote like a better Logitech Harmony, or various other random uses, and have more economies of scale.

In fact, it could just be a cheap Android device sans GPS, with no front camera(A cheap rear camera is always good for QR setup) and with real buttons and a smaller screen.

Lower resolution + transflective display + 30hz + fewer background apps is going to significantly increase battery life.

Then people can try out the CAS features on their phone, and use their calculator for whatever they might want, since it's become the obvious choice for IoT stuff.


In Norway now a days, exams will provide an approved calculator for the student to use. This both reduces cheating, and let's the student buy any type of calculator they want for studying.


At public schools in the US, teachers have strong incentives to have their students perform well, as schools are graded on overall student performance, impacting awards, etc. Exam proctors would have to be independent from the school system if they were responsible for handing out calculators.


The problem is getting the calculator registered for exams

This is a viable issue that forces a choice on the manufacturers, which you aren't addressing. Of course it would be ideal if they had a second version (perhaps in a different color) that was fully hackable, and had some hardware difference, but that would be costly for them and hard to police.

Cheating is sadly a massive problem. I was shocked to learn from friends who did architecture in college that smart students would hide their final project models (physical models of buildings) inside ceilings and the like in the days leading up to presentations and judging, to prevent rivals from smashing them.


> I think the creators do legitimately want to build a truly open source calculator.

Then making one that wasn't certified for exams is exactly what they should have done. As it stands, they're just another TI.


> Then making one that wasn't certified for exams is exactly what they should have done. As it stands, they're just another TI.

I don't think "just another TI" should be undervalued—I remember how exciting their calculators were in my youth, and now they're, well, there's an XKCD for that (https://xkcd.com/768). Some competition that would get them back to make a real investment in innovation would be very welcome, even if it didn't result in an open-source calculator.


A competitor to TI - which has been able to sell 1992 technology for the same price for three decades - is definitely a good thing.


There’s a forked version of the OS called Omega that’s really nice: https://github.com/Omega-Numworks/Omega

And apparently a jailbreak for Epsilon 16+: https://phi.getomega.dev/


and a symbolic algebra system for Omega, https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks...

(it's a port/adaptation of https://en.wikipedia.org/wiki/Xcas )


upsilon is were the development continued


It doesn't support Rust at all.

There's just a GitHub repository with a toy example in Rust, that uses nothing but direct unsafe calls to five C functions.

But Python, yeah, definitely. That's the beauty of this calculator.


> But Python, yeah, definitely.

Well, it's a forked MicroPython. It doesn't actually support Python, just something similar to Python.


I have one. It's great. It's quite an amazing bit of tech.

I wish they would split out the market, though, one for the educational market for tests and the like, and one for the professionals with wireless and more open capabilities.

I would like for instance to ship images of graphs to use in a web page. Or to use it as a keyboard to type equations and calculations into documents. Or to have it connect to PyPI say to grab programs that can calculate complex equations.... etc.


I have long believed that there is a huge market for some sort of rudimentary TI-style CAS system, with a caveat. Something that works on embedded arm devices, but is screen aware enough to be ported to a desktop.

If you include bluetooth in your calculator hardware, you now have an excellent input device for an onscreen CAS - or maybe something more like a screencast.

Extend this concept far enough, and we're talking about something like OP is describing - easy to sync and share small programs and tools. Further integration with excel and other tabulated data sources, and you've got a real killer on your hands.


matlab or octave (oss clone) may be of interest to you.

for symbolic math try wolfram alpha, the matlab symbolic math toolbox or one of the symbolic math packages available for python.



I just stumbled upon NumWorks and was excited to see some competition for TI's calculator monopoly [1].

It looks like NumWorks is open source (including the hardware) [2] and supports Python and Rust! [3]

[1] https://gen.medium.com/big-calculator-how-texas-instruments-...

[2] https://www.numworks.com/resources/engineering/

[3] https://github.com/numworks/epsilon-sample-app-rust


Unfortunately It seems it's not open source anymore https://m.youtube.com/watch?v=JSxBn_gxWXA


That's a gross oversimplification. From the video the poster provided:

* V16 of the Epsilon OS by Numworks removed the ability to install custom operating systems to the device in response to pressure from the Dutch education department, who had adopted the calculator as the standard for their education system. This was due to information provided by a different Youtuber accusing the platform of being used for cheating, and then provided modified versions of the OS that enabled cheating support by working around the Exam Mode functions.

A fair and true statement would be that the NumWorks calculator was originally marketed as open hardware, and that functionality was removed (similar to Sony removing OtherOS from PS3's).


It's tivoized hardware running closed-but-visible-source software. It's not an oversimplification at all to say it's not open source.


Numworks is interesting, but not really that great. The two things I don't like are: 1. the Android app is a strictly a physical calculator emulator, and does not try to be the best possible calculator for Android. 2. On the real calculator, the user interface is pretty slow- sure, it's responsive, but it's not very efficient.

So for example, it comes in last on this benchmark:

https://github.com/jhallen/calculator/wiki


Software isn't the worst thing for UI efficiency on NumWorks: the buttons are very low quality. So not only are many key presses necessary (according to your benchmark), but each key press must be relatively carefully performed to avoid the wrong key being actuated, for example.

That said, the NumWorks UI is quite intuitive.


These calculators are very popular in France.

I know of a lot of teachers who use them for teaching.


The NumWorks is now a fauxpensource device. They changed their license months ago after a debacle with their exam mode. Delta/Upsilon firmware are based on the pre-license change firmware.

Where does the statement around rust support come from?


That's all true, but there's one more key point that makes it even worse than that: the hardware is tivoized.


This thing looks a whole lot like the HP Prime[0] calculator. From the icons to select the "applications" (aka modes) and the pop up menus. That said the HP has a color screen and from the looks of it better buttons.

Too bad HP didn't care enough about calculators to make the prime live up to its potential.

[0]: https://hpcalcs.com/product/hp-prime-graphing-calculator/


Beautiful design. but, another devices in my bag? no thank you. my phones already solve almost anything.


Well, you might be interested to know that they provide an emulator of their calculator for free on mobile (and through the browser).

https://www.numworks.com/simulator


i wish to make a toy version of that on an esp32, with a RPL system on top (of course)


How do the buttons feel?


wow, this is awesome!




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: