frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Show HN: Watch bots interact with an SSH honeypot in real time

https://honeypotlive.cc/
41•tusksm•1h ago•10 comments

Show HN: On-chain bond market where the issuers are AI agents

https://selbonds.now
4•griffinfoster7•1h ago•1 comments

Show HN: DSA View View – A TypeScript runtime visualizer for algorithms

https://dsa-view-view.vercel.app/
3•nyaomaru•1h ago•1 comments

Show HN: Crux, a personal AI on your computer you can reach from anywhere

https://qunt.in
3•parker-nyx•1h ago•2 comments

Show HN: Wolbarg – Local-first shared memory for AI agents using SQLite

https://wolbarg.com/blog/why-sqlite-is-enough-for-local-ai-agent-memory
3•atharvmunde•1h ago•0 comments

Show HN: Hearth, an open-source local AI that runs your PC (files, apps, voice)

https://github.com/0pen-Sourcer/Hearth
2•SwagKing•2h ago•0 comments

Show HN: Clx – Compile Lua to Native Executables Through C++20

https://github.com/samyeyo/clx
130•_samt_•6d ago•30 comments

Show HN: Mojibake – A low-level Unicode library written in C

https://mojibake.zaerl.com/
71•program•17h ago•21 comments

Show HN: Leaves – A text-UI disk usage treemap visualizer

https://github.com/patonw/leaves
85•patonw•23h ago•25 comments

Show HN: Notvex – encrypted local-first notes with SQLCipher and XChaCha20

https://github.com/GFrancV/notvex
2•GFrancV•3h ago•0 comments

Show HN: BambooGrid – Open-source web UI for power grid modeling and power flow

https://bamboo.kickstage.com
31•soaringmonchi•23h ago•12 comments

Show HN: Be the ChatBOT

https://bethechatbot.com/
47•keito•20h ago•20 comments

Show HN: Libretto PR agents – Automatically fix failing playwright scripts

https://libretto.sh/debug-agents
19•muchael•19h ago•3 comments

Show HN: I built TrackMyMetro, a fast, ad-free metro router for India

https://trackmymetro.com
3•HelloShiv•1h ago•0 comments

Show HN: I've built a words game based on binary search

https://hilogame.cc/
48•ludovicianul•1d ago•60 comments

Show HN: A modern port of Linux to a ten-year-old QWERTY phone

41•tmzt•23h ago•12 comments

Show HN: Firefox in WebAssembly

https://developer.puter.com/labs/firefox-wasm/
255•coolelectronics•1d ago•126 comments

Show HN: Deadwire-HTTPD A triple-threaded x86-64 assembly static server

https://github.com/Deadbytes101/DEADWIRE-HTTPD
4•lexsandra56•6h ago•0 comments

Show HN: misa77 - a codec that decodes 2x faster than LZ4 (at better ratios)

https://github.com/welcome-to-the-sunny-side/misa77
158•nonadhocproblem•1d ago•48 comments

Show HN: Galois connections for composable numeric casts in Rust

https://github.com/cmk/connections
30•partialsolve•23h ago•3 comments

Show HN: QBasic Gorillas (Repeeled)

https://gameswithtony.com/gorillas/
26•TonyAlicea10•1d ago•25 comments

Show HN: One More Letter

https://playonemoreletter.com/
85•hmate9•1d ago•57 comments

Show HN: Algotrek – Algorithms visualized, problem shape shifting and a tutor

https://app.algotrek.io
12•nyggy•1d ago•4 comments

Show HN: Sentinel – open-source QA agent that reads your code before it clicks

https://blog.simbastack.com/announcing-sentinel/
15•asenna•1d ago•4 comments

Show HN: Scribe, a CLI that builds AI agent memory from your repos and sessions

https://getscribe.dev/
3•quatermain•10h ago•2 comments

Show HN: Low-latency local LLM runner via OpenJDK Panama FFM (Java 22)

https://github.com/projectargus-cc/libargus.cc
38•KingJoker•3d ago•9 comments

Show HN: Clawk – Give coding agents a disposable Linux VM, not your laptop

https://github.com/clawkwork/clawk
223•celrenheit•4d ago•156 comments

Show HN: E-- – A language you dial between English and Python

https://github.com/frmoded/e--
28•OdedF•6d ago•18 comments

Show HN: Opening lines of famous literary works

https://www.verbaprima.com/
178•plicerin•3d ago•104 comments

Show HN: Selenium Boot – Spring Boot's Conventions, Applied to Selenium

https://seleniumboot.com/
2•mdsddmhossain•12h ago•0 comments
Open in hackernews

Show HN: val – An arbitrary precision calculator language

https://github.com/terror/val
34•crap•1y ago
Wrote this to learn more about the `chumsky` parser combinator library, rustyline, and the `ariadne` error reporting crate.

Such a nice DX combo for writing new languages.

Still a work in progress, but I thought I'd share :)

Comments

jasonjmcghee•1y ago
Hey nice! We have similar interests. I built something similar, but with way less calculator functionality than you did :D

But the main idea I was going for was real-time JIT evaluation with rendered errors (specifically learning / using cranelift JIT) - less to do with the calculator aspect.

I ended up choosing miette for errors.

https://github.com/jasonjmcghee/basic-treesitter-cranelift-j...

occamatl•1y ago
> sqrt(10^100)-1 -> 100000000000000000000000000000000000000000000000000

Not what I expected.

emaro•1y ago
In the readme it says it uses double precision for numbers. Also not quite whet I expected from 'arbitrary precision'.
chriswarbo•1y ago
Hmm, yeah. It cites `bc` as prior art, which is quite widely used; but another interesting arbitrary-precision calculator is spigot https://www.chiark.greenend.org.uk/~sgtatham/spigot/spigot.h...
mananaysiempre•1y ago
Also the AOSP calculator, of course[1,2,3].

[1] https://chadnauseam.com/coding/random/calculator-app

[2] https://dl.acm.org/doi/10.1145/2911981

[3] https://dl.acm.org/doi/10.1145/3385412.3386037

emmelaich•1y ago
Ivy does big numbers (not arbitrary) but does rationals too. It's an APL subset.

    0.1 + 0.2
    3/10
https://github.com/robpike/ivy
lttlrck•1y ago
the addition of astro_float fixed this.
primitivesuave•1y ago
The UI is awesome, amazing work! However, arbitrary precision implies that there is no fixed upper limit to the number of digits - simple tests like `0.1 + 0.2 == 0.3` and `2^53 == 2^53 + 1` (both produce "false") indicates you're still using IEEE 754 double precision floats.

If "arbitrary precision" is not as important to you as "high precision", a 128 bit decimal has enough precision for 99% of real-world applications.

crap•1y ago
Thanks for checking it out! Should have been more clear that this is actively being worked on. This is ultimately the goal, and I'm currently working on integrating `astro_float` as the base for numbers.
primitivesuave•1y ago
That is awesome, I look forward to following the project and hopefully contributing! I became a better Rust programmer from reading your code :)
jdhwosnhw•1y ago
Do you mean, the first returns false and the second returns true?
primitivesuave•1y ago
Ah you're right, thank you for pointing it out!

In the previous version of this comment (where I was still reading it incorrectly) I added a fun fact, that the significand of an IEEE 754 double-precision float is only allocated 52 bits, but the "hidden bit trick" provides an extra bit of precision when the normalized form starts with 1.

I_complete_me•1y ago
I wish you well. And I clicked you a star on github. Keep up the good work.
crap•1y ago
Thanks to everyone who gave feedback!

Arbitrary precision is now supported in 0.3.0 after integrating the `astro_float` (https://docs.rs/astro-float/latest/astro_float/index.html) `BigFloat` type as the base for numbers in the language.

Still working out the kinks, but its live so give it a try!

lttlrck•1y ago
This is cool.

It love to have to base conversion functions, even if it's print only. Does that fit at all?

lttlrck•1y ago
and different input base notations, 0x, o, 0b etc
crap•1y ago
This definitely fits, base conversion is on the roadmap!
librasteve•1y ago
very cool, welcome to the small club of CLI calculator authors! before I read this I knew of frink and crag (https://raku.land/zef:librasteve/App::Crag since you ask)

Crag is built on raku so has some neat tricks up its sleeve - you can see Crag of the Day to see some in action...

  crag '0.1+0.2=0.2'   #True (arbitrary precision)
  crag '₃₆123.45'      #3F.G77777  (base 36)
  crag 'e ** (i * π) =~= -1'   #True  (math symbols, complex numbers)
  crag '0rMCMXLIV'     #1944 (Roman numerals)
  crag '^<௪௨ mph>'     #42mph  (Unicode and units)
hee hee
johannesrexx•1y ago
Rewrite it like so

> 1/10 + 2/10 == 3/10 true >