hfjidufu 6 hours ago
Great post.

I enjoy the almost Oliver Burne[0] meets Mondrian[1] like outputs of Duckering's implementation, but appreciate the simplicity of the author's as well.

Excellent linked resources for anyone interested in using programming to illuminate mathematics.

[0] https://en.wikipedia.org/wiki/Oliver_Byrne_(mathematician)

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

blululu 5 hours ago
The Duckering Hyperbolic Geometry library is also worth digging into: https://github.com/cduck/hyperbolic/ This is organized into a pip module and has a few example ipynb files to get started.
xrd 5 hours ago
Thanks for taking me down the rabbit hole. I didn't know there was an esoteric programming language called Piet.

https://en.wikipedia.org/wiki/Esoteric_programming_language#...

xrd 6 hours ago
Really fun, and the link to the numberphile video is great, too.
xiaodai 9 hours ago
Python is a very poor choice for such a tool. Julia should have been used
randrus 8 hours ago
In case this is relevant to your reasons for posting … every time I see one of the fact free posts the slam Python to promote Julia it pushes me further from considering Julia for anything.
__MatrixMan__ 8 hours ago
I would be more likely to pick up Julia if comments like gp told me something interesting about the language.
bgoated01 5 hours ago
The biggest thing that keeps me from using Julia rather than Python for math prototypes is that it uses one-based indexing. I go back and forth between these prototypes and my C++ codebase, and the mental gymnastics to switch from 0-based to 1-based makes Julia a non-starter for me. I prefer Julia over Python other than that one issue, and the lower availability of tutorials, etc. for Julia.
bbor 4 hours ago
Obviously the comment above is far from helpful in tone or content, but this spurred me to look it up. As a python guy, my takeaways are:

1. It’s designed by mathematicians specifically for math.

2. It has much better support for generic/runtime types, something the academics apparently describe using the terms “parametric polymorphism” and “multi-dispatch”.

Plus there’s this cute founding ethos blog post from 2012, though it’s necessarily vague: https://julialang.org/blog/2012/02/why-we-created-julia/

None of that sounds even close to convincing me to switch from Python, but I can see the appeal for people who value those typing features and want something faster.

I don’t necessarily see the connection between either of those things and the implementation above, tho… presumably it’s basically instant, anyway?

jazzyjackson 7 hours ago
So post a link about making cool hyperbolic SVG with Julia