Hacker News new | past | comments | ask | show | jobs | submit login
Numworks: open-source, Python-compatible handheld graphing calculator (numworks.com)
158 points by 0xb100db1ade 10 months ago | hide | past | web | favorite | 68 comments

You may want to check out:

The whole calculator running in a browser, thanks to emscripten : https://www.numworks.com/simulator/

An interactive PCB viewer, in the browser again : https://www.numworks.com/resources/engineering/hardware/elec...

Full schematics https://www.numworks.com/resources/engineering/hardware/elec...

And of course the whole source code to the operating system, https://github.com/numworks/epsilon

It should be pointed out that this is Micropython, not the Python that you are probably used to. Micropython is great stuff, I’m a huge fan, but it is different from CPython in noticeable ways.

They seem to have simply copied a source snapshot over; I’m not sure what that means for incorporating updates and fixes to the Python system. Maybe they needed a fork for some reason. I do wish their documentation gave a little more credit to the Micropython project.

The device does appear to be capable of receiving updates: https://workshop.numworks.com

Concur on the credit thing though.

Yes, you can update the device. My comment was more about how Numworks can practically integrate Micropython updates. It seems like maybe it could be a Git submodule so that changes were easier to merge. Tracking Micropython bug fixes and enhancements is going to be very labor intensive unless I am missing something here.

(Admittedly, I didn’t spend a lot of time nosing around Numwork’s source repo. I have spent a lot of time nosing around the Micropython repo to do my own tweaked builds.)

If you care about calculation/typing efficiency, you might also want to check out RPN (reverse polish notation).

I am recommending the HP 35s. Once you are used to the notation, it is a real pleasure, not only for old-school advocates like me. Added bonus: you will gain respect for stack-based languages like Forth, Factor etc.

I tried the HP35s of a friend for a few days. It is globally a nice RPN calculator and not too expensive for starting. But I don't want to get one because this calculator have a quite long list of known bugs [1] that have been sitting there for more than 10 years now, and HP hasn't fixed anything yet!

If you are a grown-up children like me and just want a pretty expensive toy, I can recommend the SwissMicros DM42 [2] (I'm not related to them in any way, just a happy customer). The made an adaptation of the HP42s for the modern world: «34 decimal digits of precision, with exponents ranging from -6143 to +6144», based on the excellent Thomas Okken's Free42 [3], big and nice screen, USB connection for loading/saving programs, save and restore of the calculator state, and so on!

And being based on Free42 you can get the emulator on your phone and share the programs with the calculator. You then have the same "calculator" everytime with you, no need to get used to another program/interface on your phone.

[1] http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cg... [2] https://www.swissmicros.com/dm42.php [3] http://thomasokken.com/free42/

I also use clac on my desktop (https://github.com/soveran/clac). It's a line-oriented RPN calculator like Unix dc, but it shows the stack dynamically as you type. I have a long-term ambition to port it to a physical calculator - either my own design or one like the Numworks or a SwissMicro (a recreation of the HP-42s).

My trusty companion, when my HP 48G isn't with me, is my 1987 HP 42S. It has been on my desk for around 2 decades.


It's always amazed me how, in 2018, TI calculators with software and hardware from 10 years ago still cost $100+ dollars [0] and command a near monopoly in US secondary schools (which, I suppose, is why they still cost that much). For that price you can get a significantly more powerful and functional mobile phone [1] (see 24K of ram vs. 2GB, 96x64 screen vs. 720 x 1280)!

The space needs competition, and I hope Numworks gives TI a run for their money (the calculator is even allowed on the big standard exams), but schools are so standardized on TI calculators (and generally slow-moving) that change will be hard. Casio has also tried to break into this space with significantly cheaper calculators (which are also allowed on standardized exams), but they have failed to gain significant traction so far.

A relevant XKCD (of course): https://xkcd.com/768/

A related piece of journalism: https://wapo.st/1Cl0Vyf

[0]: https://www.amazon.com/dp/B0001EMM0G/

[1]: https://www.amazon.com/dp/B01H2E0KVA/

embedded.fm recently had a great episode with the guy who hacked TI calculator protections. Apparently they could brute-force the keys required to build custom ROMs.


This isn't a technology issue. TI has a monopoly because they spent a lot of money going after the teachers. Teachers just want something that they know. They already don't get paid well and have a struggle just to get kids to learn the basic stuff. They just just want something that works and is well supported.

Here is a good article about the how TI goes after the teachers: https://mashable.com/2014/06/03/ti-calculator-evolution/

More like hardware from 20 years. Yeah I hope the TI monopoly gets broken. Numworks looks exactly like the calculator I was dreaming about when I was in uni.

Actually, more like hardware from 40 years ago. The Z80 processor was released in like the mid 70s.

I’ve been using both a Texas Instruments Nspire and an HP Prime, and I definitely find the latter to be preferable as it’s leaps and bounds beyond the former in terms of symbolic algebra.

Agree with you there. You may have habituated to TI-89s back at school (still have two) but by today's standards, graphics are super low-res and UI reminds you of trying to manipulate a rubik's cube. And yet it's still a goto on Amazon for about US$140.

It's not open source; the Hacker News headline is wrong. The Numworks web site does not claim it's open source, by the way -- the problem is only in the headline here. The license is Creative Commons Attribution-NonCommercial ShareAlike (CC-BY-NC-SA), and the presence of the "NonCommercial" clause makes it unambiguously non-open-source. If that clause were not present, CC-BY-SA would still be an odd license to use for software anyway, but because of the NC clause we never get to that issue.

Source appear to be on GitHub. Non commercial is not incompatible with open source. It makes sense to me that to get the investment required to fund this, you’d want sole rights to commercialize. Nothing prevents someone else from building a cheaper DIY version as long as they don’t sell it. For example it could be a local college class exercise to build these from scratch for local high school. That’s not imaginable for the TI calculators (which these seem to aim to replace)

Source being on GitHub does not equal "is open source". Restrictions on commercial use are incompatible with open source. The Open Source Initiative, which coined the term and evaluates licenses for compatibility with the Open Source Definition (see https://opensource.org/definition), is crystal clear on this point: if your license has a field-of-use restriction -- such as a restriction on commercial use -- then it's not open source. This is why Numworks is careful not to describe their software as "open source", to their credit.

It may not be "Free Source", but if the source is open in the sense if being accessable, then for normal people it is open source. One organization using words in a specific way, doesn't negate all other legit interpretations of those words.

It's an unsolvable problem they created there.

Nope. Open Source is a trademark precisely to avoid this sort of misuse. It's not a "what it means to whomever" sort of deal.

That was done in part due to intentional (and damaging, if ultimately unsuccessful) efforts to undermine the meaning of terms like 'Free Software' by Microsoft back when the FSF was a fledgling movement and Microsoft was an evil empire.

I don't mean to imply negative things about the company. The license is still a heck of a lot better than fully proprietary -- I love the product in part for that reason -- but it's definitely not 'open source' or 'free software' as the headline implies.

(I don't think the company claims it is either)

I'm talking about casual language-usage, like this headline, not commercial usage. Open and source are regular words, and they still are regular words when used together. Trademarks can't force people to talk as they want, it can only force company to not sell everything as they wish.

Yes, the term can't be trademarked, because they're both common English words used in combination (and that combination has a somewhat older, unrelated meaning, which further contributes to making the term untrademarkable).

But this isn't a trademark issue. No one has trademarked the word "carrots" either, but if someone were to sell pencils under the label "carrots", people would be understandably confused and annoyed.

It's the same thing here: don't call it open source if it's not. The software industry relies on that term having a specific, well-defined meaning. That meaning is widely agreed on, which, again, is why Numworks themselves is not claiming their stuff is open source.

That is incorrect. There is no trademark on "open source", and the OSI has no monopoly on what it is supposed to mean.


Well, sure, language is ultimately defined by usage, so if enough of us agree that the word "broccoli" refers to source code being available, then it's legitimate to go around saying "broccoli" means "visible source", etc.

But the important question is, who is using "open source" to mean the definition I gave earlier? The answer is: pretty much everyone. Not just the Open Source Initiative (opensource.org) and the Free Software Foundation, but also: the Wikimedia Foundation, Creative Commons, the Electronic Frontier Foundation, all government agencies who have formally defined the term (at least as far as I've seen), also every major tech firm as far as I can tell, including Google, Microsoft, Amazon, Apple, IBM, Hewlett-Packard, Yahoo, Samsung, Huawei, ... this list could go on for a very, very long time :-). Basically, it's everyone.

Notice that that list includes Creative Commons -- that is, the organization that wrote the particular license that Numworks is using agrees that that license is not open source. That's a pretty clear sign, I think :-).

And, of course, Numworks themselves are careful not to call their stuff "open source" anywhere. You can bet that they would use that term if they felt they could. It has great marketing karma; everyone loves to advertise their stuff as "open source". And yet Numworks doesn't -- because they know a lot of hackers would come down on them like a ton of bricks if they tried to make that claim.

To a first approximation, pretty much every organization that produces or procures software use the term "open source" to mean the definition that the Open Source Initiative originally established.

You can claim that "open source" means something else, if you want, in the same way that you can claim that the word "broccoli" or "red" means something different from what most other people mean by those words. For you, your meaning will be correct, in your own private language.

But what I'm saying is, when the phrase "open source" appears in a Hacker News headline, most people will interpret it in the way I described. When the vast majority of people intepreret a word or phrase as having a certain meaning -- and especially when it's a term of art in a profession and all the specialists, lawyers, policy makers, etc in that profession agree on the meaning of the term -- then it's fair to say that that is what the term "means".

Open source is a technical term (and I believe a trademark) with a specific meaning, defined by [The Open Source Initiative](https://opensource.org/). It does not merely mean that the source is available. As you hint at, being free software is a higher requirement, but this does not meet even the lower requirement of being open source.

I didn’t say it’s open source, and I don’t agree that the NC clause is incompatible with the notion of open source. I don’t recognize the OSI as the sole authority on the subject but a useful legal framework, so all your argumentation about definitions is moot for me.

> It makes sense to me that to get the investment required to fund this, you’d want sole rights to commercialize.

It indeed does make sense to commercialize. Nobody said otherwise. But making good sense does not make a software open source. Releasing a software under an open source license makes a software open source. CC-BY-NC-SA is not such a license.

Whether it's still open source is a bit of a semantic quibble. Fact is that a restriction to non-commercial usage is incompatible with all the major open-source licences like GPL, LGPL, Appache, BSD, MIT, etc. In a sense it's still open source, but the restriction is very unusual.

It's no more a "semantic quibble" than any other inaccurate use of a term is a semantic quibble. People are counting on headlines meaning what they say they mean, and this one doesn't.

If the headline mistakenly said "Lisp-compatible" instead of "Python-compatible", you wouldn't say "Oh, that's just a semantic quibble", right? You'd say it's wrong, flat out. The programming language it's compatible with is Python, not Lisp, so saying Lisp would just be inaccurate. (And they're both English words -- neither term is trademarked, obviously, and they both have meanings unrelated to their meanings in the realm of programming languages.)

Saying this is "open source" is wrong in exactly the same sense. The term has a settled meaning in the software world. The reason "non-commercial usage is incompatible with all the major open-source licenses", as you say, is that it is by definition incompatible with all open source licenses. Because "open source" means freedom for use for any purpose, including commercial purposes.

This is not merely a semantic quibble any more than any other wrong use of a word is a semantic quibble. It's wrong in the normal way that language usage can be wrong.

Instead of asserting the title is wrong, it would make sense to recognize that the title is correct, and that the discrepancy with your beliefs is simply a result of the fact that plenty of other people do not, in fact, take OSI's opinions as facts like you do.

The title is indeed wrong. There is no definition or usage of the word "open source" that is compatible with restriction of commercial usage.

Never in the history of free software or open source software from the release of Donald Knuth's TeX in 1979, to the birth of FSF in 1985, or the formalization of OSD in 1998 was it ever acceptable to forbid commercial usage in something that is known as open source.

The corruption of the word "open source" to mean anything with source code available on GitHub under a non-commercial license is very recent and does not reflect the true origin or meaning of the word "open source".

The implication that CC-BY-NC-SA could be open source seems to be your belief which is not based on facts.

This sounds a bit like the No True Scotsman fallacy. There is no official definition of "open source", so taking what the words literally mean, "open" and "source", ie the source code is open to view, is an acceptable definition.

To be fair, the "true origin" story is a little misleading. A bunch of douchebags wanted credit for Stallman's work and basically threw an underhanded hissy-cow to try to undermine him to co-opt his position. There was a pile of exaggerated (or often fabricated) stories thrown at the FSF. Commercial players came in to support the attack with a whole range of motives -- from wanting something more corporate to an "arm both sides" mentality to undercut the movement.

While I agree with your point, I'm not sure the alleged history supports it very well. It's a pretty ugly piece of the movement's history.

Now, that was two decades ago, those people are gone, and OSI is a very nice, good, and friendly organization today.

mehrdadn, I've made a few replies elsewhere in this thread that address what you said. I don't want to make noise by repeating them here, but wanted to point them out, in case you'd like to see the counterargument.

Please explain. NC only prohibits commercial exploitation, correct?

CC BY-NC-SA does not permit the use of the software for commercial purposes. This violates point 6 of the Open Source Definition[OSD] that says, "No Discrimination Against Fields of Endeavor: The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research."

[OSD]: https://opensource.org/docs/osd

For example, if the Russian School of Math, or Kumon, wanted to adopt this calculator and software (commercial use, tutoring center), they'd be breaking the license.

This license is a non-starter...

That's right. And prohibiting commercial exploitation violates one of the key clauses of both the Open Source Definition and the Free Software Definition (the part about freedom of use for any purpose). See https://opensource.org/faq#commercial. In other words "open source" doesn't just mean "you can see the source code" (that's known as "visible source" or "source available" software). Rather, "open source" means "meets the Open Source Definition", which is at https://opensource.org/definition.

so the GPL is not open source?

The GPL allows all commercial use. It does not allow proprietary restrictions on redistribution, under certain circumstances, but that's different. You can charge as much money as you want for GPL'd software, and you can base your commercial service on GPL'd software, etc (by the way, this is not just hypothetical -- billions of dollars of commercial activity are based on GPL'd software, including but not limited to the Linux kernel). It's just that when someone receives a copy of GPL'd software from you, you can't place further restrictions on their redistribution -- the permission to redistribute under the GPL comes with the copies. Think of it this way: the GPL prevents monopoly, while permitting commercial use.

Personally I feel like clamshell design would make lots of sense for these more advanced calculators. At the same footprint you could have lot bigger screen, and more/bigger buttons. As an added bonus the screen would be more readable when sitting on a desk. I wouldn't think the marginally added thikness would impact much something thats being carried around in backbacks most of time anyways.

For some reason practically no calculators seem to have used clamshell design. Does anyone know why?

Closest example I know of would be HP 200LX, but it is a full-blown computer so it doesn't fit the requirements for education market. Looking at this side by side picture with a graphing calculator, it is not difficult to imagine the calculator keys being transplanted to 200LX to make a nifty new device.


Calculators with raised screens are discouraged by College Board for AP/SAT and by ACT. (You have to get seated in a location where no one else can see it, which is difficult if everyone does it.)

The HP-28C and HP-28S were clamshells, along with their business counterparts. Great calculators, although the 28C was a bit tight on RAM.

I had a 28C, 95LX and 200LX. The modern equivalent of the latter would be the Planet Gemini.

Casio have produced some. This old one: http://www.voidware.com/calcs/images/fx451m-1.jpg There's been others since with the same basic design. They all seem to fail at the fold because there is no hinge or much protection at the fold.

There was a pocket computer from a slightly earlier era http://pocket.free.fr/html/casio/fx-5200p_e.html

Trying to find an image of those I stumbled across the fx-9860G Slim that seems to be current: https://www.casio.com/resource/images/press/fx-9860gslim_pre...

fx-9860G Slim matches exactly what I was imaging. Very cool. Shame that it apparently was somewhat short-lived in the market (explains why I've never heard of it). I'm half-tempted to fish one out from ebay.

There was also apparently fx-7500G in somewhat similar form-factor.

Full-blown qwerty-like keyboards are forbidden for a bunch of standardized tests such as the SAT.

Here is quick mockup of what I was trying to communicate with the last paragraph; 200LX form-factor with calculator keyboard:


Of course the layout needs bit optimization instead of literally just copy-pasting the existing one.

The problem is that the cabling at the hinge is prone to breaking.

While the calculator itself seems really cool, I'm really perplexed by this design.

I see little point to advertising it as something that can input and execute python if it takes you at least 5 minutes to type

`for i in range(10): print(i)`

I think this tradeoff was to keep it compatible with Collegeboard's (archaic) calculator policies, which forbid keyboards. [1] Being able to market the calculator as SAT-approved is probably super valuable since most students won't buy multiple calculators.

[1]: https://apstudent.collegeboard.org/takingtheexam/exam-polici...

It'd be pretty tough to use it on the SAT if you take most of the allotted time trying to type out a function.

While you're right about how long it takes to type a function on a calculator like this, this calculator is a huge step up from the TIs kids use on the SAT right now.

That's valid.

You can use it just like a TI-84, its just that it uses Python (which programming curriculums in k-12 are increasingly using) instead of TI-Basic.

It’s exactly the same situation with TI and Casio calculators (but with Basic instead of Python). For larger programs, it’s best to just download/write them on a computer and transfer them to the calculator.

Writing smaller programs (at least on a Casio calculator) isn’t actually that bad once you get used to the layout and menus.

I did this on the old TI-89 back in the day. It was fine for writing physics functions out. If you wanted anything more complex you presumable write the program on another computer and upload it to the calculator.

Virtually everyone that would own one of these already has a smartphone with more computational power, where an app can be made, or already exists, that does all of these functions or more.

Is the only reason for this to exist for use on a standardized test?

Not only are standardized tests (and thus preparatory high school tests) stringent against cell phone use, but companies such as TI have had a monopoly on the market for a long time. It's great to see a competitor that uses a more modern underlying language, that costs as much or less than the TIs do. I really hope this calculator or something similar starts to catch on at secondary schools in the U.S.

No RPN, no deal, sadly.

Have a look at the Swiss Micros DM-42L, it's a thing of beauty.

Looks remarkably similar to HP calculators. Is this deliberate and is there some connection between them an HP? If I had just seen the picture and not seen the name on it I would have assumed it was HP.

Does it run Doom and Pokemon like its TI competitors?

Found a video of an NES emulator running on it[1], so... Probably. It’s quite a bit faster than the common TIs and Casios.

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

how does this compare in terms of capabilities, prices etc with existing alternatives such as TI, etc?

This is one of the best crafted website on the internet.

"It is also permitted for use on the SAT by the College Board starting with the August 2018 administration."

That's ridiculous. Privatized standard testing seems like a bad deal for folks who can't afford these expensive calculators.

The point is that schools will only buy bunches of these things for teaching if they’re approved for use on the exams.

The point is that it seems flawed that these are approved for exams, not that this isn't a good business decision on the part of the company advertised here.

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