Rendered at 09:54:14 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
ggm 13 hours ago [-]
F.A.Q
Q: buT cAN iT rUn dOOm?
A: It can't really "run" anything, its a number.
Q: Is it fast?
A: Define "fast". If you mean "faster than copying Euclid by hand", then yes, dramatically.
Q: Why did you make this?
A: I wanted arbitrary precision arithmetic, but I also wanted to feel something.
I can relate. Expecially the 3rd one.
0x0mer 13 hours ago [-]
Haha thank you! I'm glad to hear!
alex_dev42 5 hours ago [-]
That FAQ is brilliant! There's something deeply satisfying about implementing modern computing concepts through ancient geometric constructions. The absurdity of a Game Boy ALU using compass and straightedge feels like the perfect intersection of mathematical elegance and programming whimsy.
The "I wanted to feel something" line really captures the essence of why we build these delightfully impractical things.
0x0mer 4 hours ago [-]
Thank you very much! :)
Muhammad523 4 hours ago [-]
What a beutiful AI-slop comment!
cindyllm 4 hours ago [-]
[dead]
rablackburn 9 hours ago [-]
Fantastic comedic writing (and project, of course). It had me guffawing.
To add my own "most relatable" quote to this thread:
> As always, please save any important work before running anything I ever write.
:')
But really I just want to add to the cacophony of appreciation in this thread :)
0x0mer, I hope you feel the love from this reaction and can bask in that warm inner glow for years to come.
0x0mer 4 hours ago [-]
Thank you so much! I'm really happy you could relate :)
And definitely feeling the love and the warm inner glow!!
0x0mer 13 hours ago [-]
Thanks for posting, means a lot! :)
I'd be happy to know how you stumbled upon it
lagrange77 13 hours ago [-]
> CasNum (Compass and straightedge Number) is a library that implements arbitrary precision arithmetic using compass and straightedge constructions. Arbitrary precision arithmetic, now with 100% more Euclid. Featuring a functional modified Game Boy emulator where every ALU opcode is implemented entirely through geometric constructions.
Awesome :D
0x0mer 13 hours ago [-]
Thank you! :)
tingletech 13 hours ago [-]
Cool. I just learned of compass and straight edge calculations from this video on doubling a cube https://www.youtube.com/watch?v=96LbF8nn05c from
Ben Syversen's channel a couple of months ago
thebeardisred 3 hours ago [-]
"Think of these as your ISA." Thank you good Sir for truly naming this in the clearest, most precise semiotics.
I'd guess that CasNum would be, how do I put this? not as performant
danilor 12 hours ago [-]
This is so nice!!
I'm wondering how hard would it be to extend it to include the whole game state plus all the ROM into the plane at the same time, and have it compute the next step from that!
0x0mer 11 hours ago [-]
That's a good question :)
I was wondering about this myself, it feels and probably is possible, and I have some ideas on how to do it. Though, on the one hand it would be cool if the entire GB was emulated using compass-and-straightedge, but OTOH, it would be less "pure" and a little more "forced" than just simulating the ALU, if you get what I mean.
One idea I had is trying to draw the graphics of the game using compass-and-straightedge constructions (i.e., using circles and lines to draw approximately the GB graphics)
flir 11 hours ago [-]
Well that's just lovely.
0x0mer 4 hours ago [-]
Thank you!
george_max 5 hours ago [-]
Haha, cool project and README!
0x0mer 4 hours ago [-]
Thank you!
mtsolitary 12 hours ago [-]
Tried to use it to solve a quintic equation and it didn’t work :(
0x0mer 12 hours ago [-]
Sadly this feature request was denied by Abel-Ruffini :(
hwhshs 9 hours ago [-]
Not completely though. Merely for almost all quintics.
Nice job but I'd like to see it implemented w/ polynomial rings & quotients.
0x0mer 2 hours ago [-]
It is implemented with polynomial rings!
I use SageMath to find minimal polynomials and solve the constructions algebraically. The reason I say that the library is only "arbitrary precision" and not exact/symbolic is that I use approximation in order to distinguish between points. I believe the "correct" way to implement this as exact would have been to save for each number its minimal polynomial and some interval that contains it and distinguishes it from the other roots of its minimal polynomial. It shouldn't be too much work to incorporate this, maybe I will do it some day :)
brcmthrowaway 12 hours ago [-]
Was Claude used?
0x0mer 12 hours ago [-]
The only part of the code that was written by AI is the graphics window visualizing the constructions (i.e., the points, lines and circles) and I used codex
user3939382 11 hours ago [-]
Why is GitHub asking me for a login to view a public repo link? What is this LinkedIn now?
macintux 11 hours ago [-]
That's strange. I just tested in a private tab (Safari) and wasn't asked to log in. Hopefully this isn't some A/B testing fiendishness.
hedora 6 hours ago [-]
A while back, they started aggressively rate limiting non-logged-in users.
I rarely login, because I don’t want to be a supply chain attack vector, but I guess that’s bad for someone’s promotion metrics.
Anyway, don’t host documentation there, and if you do, put it on one big page. If I read two paragraphs, think, then read the next page and so on, it bans me after about 5 clicks.
Them A/B testing “make it all private” would disappoint me, but not surprise me.
typon 10 hours ago [-]
Like an oasis in a desert of LLM slop. Thanks I enjoyed this README
The "I wanted to feel something" line really captures the essence of why we build these delightfully impractical things.
To add my own "most relatable" quote to this thread:
> As always, please save any important work before running anything I ever write.
:')
But really I just want to add to the cacophony of appreciation in this thread :)
0x0mer, I hope you feel the love from this reaction and can bask in that warm inner glow for years to come.
And definitely feeling the love and the warm inner glow!!
Awesome :D
I'm wondering how hard would it be to extend it to include the whole game state plus all the ROM into the plane at the same time, and have it compute the next step from that!
I was wondering about this myself, it feels and probably is possible, and I have some ideas on how to do it. Though, on the one hand it would be cool if the entire GB was emulated using compass-and-straightedge, but OTOH, it would be less "pure" and a little more "forced" than just simulating the ALU, if you get what I mean.
One idea I had is trying to draw the graphics of the game using compass-and-straightedge constructions (i.e., using circles and lines to draw approximately the GB graphics)
I use SageMath to find minimal polynomials and solve the constructions algebraically. The reason I say that the library is only "arbitrary precision" and not exact/symbolic is that I use approximation in order to distinguish between points. I believe the "correct" way to implement this as exact would have been to save for each number its minimal polynomial and some interval that contains it and distinguishes it from the other roots of its minimal polynomial. It shouldn't be too much work to incorporate this, maybe I will do it some day :)
I rarely login, because I don’t want to be a supply chain attack vector, but I guess that’s bad for someone’s promotion metrics.
Anyway, don’t host documentation there, and if you do, put it on one big page. If I read two paragraphs, think, then read the next page and so on, it bans me after about 5 clicks.
Them A/B testing “make it all private” would disappoint me, but not surprise me.