Readit News logoReadit News
avitzur commented on Desmos 3D graphing calculator   desmos.com/3d... · Posted by u/benpm
OldGuyInTheClub · 2 years ago
Well, dang. I remember you from the very late 1980s at Stanford. Never met you but saw you on the timesharing systems of the time. A few years later I enjoyed a talk you gave at IBM Yorktown Heights about how you sneaked into Apple to build the graphing calculator.
avitzur · 2 years ago
Well howdy, old-timer! That brings back some memories. (The '80s: after the dinosaurs, but before the giant armored sloths - back when neutrinos were massless and Λ was zero.)

Did you work on Axiom? That was the finest crafted computer algebra system.

avitzur commented on Desmos 3D graphing calculator   desmos.com/3d... · Posted by u/benpm
iandanforth · 2 years ago
Thank you to whomever thought about gimbal lock when designing the rotate controls.
avitzur · 2 years ago
You're welcome
avitzur commented on Shipping Graphing Calculator   corecursive.com/shipping-... · Posted by u/adamgordonbell
multiply · 3 years ago
What apps do drabble algebra today?
avitzur · 3 years ago
Erin Ottmar's https://graspablemath.com is probably the best modern exploration of the idea.
avitzur commented on The Graphing Calculator Story   pacifict.com/Story/... · Posted by u/akbarnama
Snitch-Thursday · 3 years ago
What are the chances that type of story could be repeated today? Seems pretty unlikely, but corporations are in some ways 'dumb' and we do base a lot of our society on trust.
avitzur · 3 years ago
At Apple? None whatsoever. It was a surprising fluke that even in the Apple of 1993. It only succeeded because so many people helped. That Apple was beleaguered at the time may have given employees a certain devil-may-care attitude towards their own job security and a willing to cross certain lines to assist us or look the other way.
avitzur commented on The Graphing Calculator Story   pacifict.com/Story/... · Posted by u/akbarnama
avitzur · 3 years ago
Btw, I wrote that, Ask Me Anything.
avitzur commented on The Graphing Calculator Story   pacifict.com/Story/... · Posted by u/akbarnama
avitzur · 3 years ago
Amy O'Leary tells my favorite version of this story on This American Life:

https://www.thisamericanlife.org/284/should-i-stay-or-should...

avitzur commented on Porting Graphing Calculator from C++ to Swift   swift.org/blog/graphing-c... · Posted by u/mooreds
snovv_crash · 3 years ago
Would it be possible to vectorize the mathematical operations so that the hotspot isn't the interpreter?
avitzur · 3 years ago
Yes, the numeric evaluation is vectorized via the Accelerate Framework's vForce and vDSP APIs. That is a significant performance improvement. The numeric evaluation remains a hotspot with vectorization, as that is where the app does most of its work.
avitzur commented on Porting Graphing Calculator from C++ to Swift   swift.org/blog/graphing-c... · Posted by u/mooreds
jonhohle · 3 years ago
By default EPS, PDF, and TIFF but I haven’t checked the clipboard types to see if there are any other vector formats.
avitzur · 3 years ago
Applications / Utilities / Grapher is a different application (formerly Curvus Pro X from Arizona Software) which replaced the original Mac OS 7 Apple menu Graphing Calculator because I was very slow porting to Mac OS X.
avitzur commented on Porting Graphing Calculator from C++ to Swift   swift.org/blog/graphing-c... · Posted by u/mooreds
boulos · 3 years ago
I hadn't followed the link in article originally to get to https://mobile.twitter.com/RonAvitzur/status/146102321572409.... So literally the process of parsing the expression and producing the byte code is the performance challenge now? Or is it also walking the bytecode to do anything?

My basic question would be: why not go back to flex/bison/yacc/whatever via C-FFI? (But I think it would still be bad, since you'll want to get to a Swift data structure for your ops and those will still have the Arc issues)

avitzur · 3 years ago
That thread describes me working through performance issues in the initial port eight months ago. Those cases perform adequately now. Parsing is not a bottleneck. Walking the bytecode remains a performance hotspot, as that is where all the numeric calculations occur, but no more or less so comparing the C++ and Swift implementations.

I did investigate maintaining the flex/bison parser, since its generated state machine C code is more robust than my handwritten recursive descent parser when presented with pathological input. However, as you say, since I need a Swift data structure in the end, there is little to be gained and a lot of complication bridging via a C-FFI.

avitzur commented on Porting Graphing Calculator from C++ to Swift   swift.org/blog/graphing-c... · Posted by u/mooreds
tomcam · 3 years ago
You’re a complete beast and I absolutely adore the origin story. Thank you.
avitzur · 3 years ago
Thank you! I can't believe that was thirty years ago. It feels unreal.

u/avitzur

KarmaCake day61March 1, 2007View Original