The best Hacker News stories from Show from the past day
Latest posts:
Show HN: I implemented a neural network in SQL
Two weeks ago I was on my babymoon in Corfu, Greece. While in transit, I was overseeing a GSoC intern submit an important feature to my array database library, Xarray-SQL. He added `to_dataset()`, which completed the roundtrip between thinking of array data in a tabular model simultaneously as gridded rasters (the premise of the project is that every Nd array can be mapped to 2d, where orthogonal dims of the Nd array are just primary keys of a tabular representation). We discussed in chat, now that this feature existed, what demos could we make that would prove this data model works?<p>With down time on a warm beach during a heatwave, cool salty water giving me fresh ideas, I had an idea: what if we used Coiled's Geospatial benchmark discussion as a comprehensive overview of geo and climate queries. Are all of these common operations secretly relational, just with the wrong data model? Using Claude Code on the beach, I can confirm that this seemed to be the case: Claude and I publish a benchmark that illustrated how every common operation in geo and climate sciences (at the 100 TB range) were actually secretly relational operations: <a href="https://github.com/xqlsystems/xarray-sql/blob/main/docs/geospatial.md" rel="nofollow">https://github.com/xqlsystems/xarray-sql/blob/main/docs/geos...</a>.<p>Most surprisingly of all, from these examples was that a core operation, regridding, was just a sparse matrix-vector product. Claude had pointed out to me that in this data model, matmul was just a `SUM(val * val) ... JOIN .. GROUP BY`. This has a direct parallel to einsum notation, but can be expressed in (arguably) elegant SQL syntax! This capability seemed to be greater than the sum of it's parts.<p>Back in the cool water of the Ionian, I thought about the implications of this more deeply. I reflected that, all of the Coiled benchmarks did, deep down, was _post process_ simulations that happen in numerical/array code. Why couldn't these physics calculations be push down into the database also, if we could so matmul in SQL? Then it hit me: maybe they could, if in addition to linear algebra, if SQL could do calculus! <a href="https://bsky.app/profile/al.merose.com/post/3mpbods7wts2y" rel="nofollow">https://bsky.app/profile/al.merose.com/post/3mpbods7wts2y</a><p>Later on, I implemented autograd on top of DataFusion's visitor pattern based on JAX's implementation. In my simplified array model, it turns out that we only care about partial differentiation on the diagonal of the Jacobian, meaning that `grad()`, `jvp` and `vjp` are just row-wise operations! I then implemented a common physics calculation from the coiled benchmark that required gradients. From here, I realized if I can autograd in the database, why can't I create a neural network?<p>As I came back home, I created some slides, and presented this work to DataFusion's inaugural showcase: <a href="https://www.youtube.com/watch?t=1511&v=5o-4hL8vGPw&feature=youtu.be" rel="nofollow">https://www.youtube.com/watch?t=1511&v=5o-4hL8vGPw&feature=y...</a> I realized in this synthesis that SQL is not necessarily a toy language for writing neural networks, but in fact, may be highly desirable in the future due to the fundamental principles of relational databases: the logical layer should be independent from the physical layer. If that property holds, and a neural network is a series of relations, could we create a SOTA distributed system for training more easily? For example, if we had one global logical plan of dataflow, could we better distribute work on 1000+ GPUs?<p>Several scientists and engineers and I are working together to explore this weird world of relational arrays at <a href="https://xql.systems" rel="nofollow">https://xql.systems</a> (discord link at the bottom if you want to get involved).
Show HN: I RL-trained an agent that trains models with RL (for ~$1.3k)
Show HN: Jacquard, a programming language for AI-written, human-reviewed code
I'm fascinated by the generative AI wave rolling over us, and wondered if AI could create a language that it might prefer using over the ones created by and for humans.<p>To create the design, I had AI analyze the ASTs of several mainstream languages plus a few of the conceptually groundbreaking but esoteric ones (listed in the README) and then create a new structure and new syntax. It was named after the Jacquard machine (<a href="https://en.wikipedia.org/wiki/Jacquard_machine" rel="nofollow">https://en.wikipedia.org/wiki/Jacquard_machine</a>), a precursor to Babbage's Analytical Engine (and punch cards).<p>The result reused a lot of existing ideas but combined them in what I found to be an interesting way. External/world effects are visible in function signatures, and the runtime requires explicit permission to touch the filesystem, network, etc. Effect interactions can be recorded and replayed to see what happens under different conditions or code. And since code is given a content-addressed semantic identity internally, renames and formatting changes don't require recompile or retesting.<p>Another piece that fell out of this was a testing framework called Warp, which combines replay, results caching, handler substitution, and a few other tools that I frankly wish I had when writing Python. There are a few examples available in the demos directory.<p>There's more to do, but it's installable and usable. I'm hoping people will have their agents digest the docs/SKILL.md file and maybe write a few programs or see where it might fit in their projects. It should be particularly useful in agent systems. If an agent says something is painful or you as a human find the code tough to understand, I'd like to hear about it so I can address it.<p>More detail here:<p>Repository: <a href="https://github.com/jbwinters/jacquard-lang" rel="nofollow">https://github.com/jbwinters/jacquard-lang</a><p>Further intro/human-oriented write-up here: <a href="https://research.friendmachine.co/jacquard/" rel="nofollow">https://research.friendmachine.co/jacquard/</a>
Show HN: Beautiful Type Erasure with C++26 Reflection
Try it on Compiler Explorer: <a href="https://godbolt.org/z/91dj5jeGW" rel="nofollow">https://godbolt.org/z/91dj5jeGW</a><p>Check out the source code: <a href="https://github.com/RyanJK5/rjk-duck" rel="nofollow">https://github.com/RyanJK5/rjk-duck</a>
Show HN: Opening lines of famous literary works
This came from an idea that had been knocking around in my head for several years. I had been collecting opening lines of famous works and thought it would be cool to see one everyday as I opened the browser. I tried different styles but landed on the simple background with the text, let the words speak for themselves. Over time i've added more quotes I believe now there are close to 60, so hopefully you can refresh a few times and get a fresh one every time. I hope you guys like it, enjoy!
Show HN: Juggler – an open-source GUI coding agent, by the creator of JUCE
Hello HN, I don't post on here much, but wanted to get some eyes on a new project I'm just launching. I think we definitely need one more AI code agent..<p>I'm a long-term C++ dev, and over 30+ years I've created some successful audio dev tools (JUCE, the Tracktion DAW, the Cmajor DSP language). All of these came from me getting annoyed with something I had to use, and deciding to have a go at my own take on whatever it was.<p>So Juggler is my attempt at an AI code agent, after spending too many hours loving what the models could do, but hating the CLI experience, and having some opinions of what a better UX might be for this stuff.<p>Lots more blurb on the website and github, but a quick tech dump which might grab your attention if you're into these things:<p>A session is a document, not a log file. Each conversation is a Yjs CRDT tree. It can branch into sub-threads (recursively), and you can drill down, backtrack, edit, undo/redo, and inspect everything: tool calls, approvals, and the raw context JSON going to the model, etc. The UI is based around Finder-style Miller columns rather than a big doom-scroll, and is quick to navigate.<p>Because it's a CRDT behind a local web server, multiple clients can attach P2P to a live session: the native desktop app, a browser tab, or your phone. Run the headless server on the box where the code lives, view it from wherever.<p>Almost everything is a JavaScript plugin: every item in the context (read/write/bash/etc.), the LLM loop strategies, slash commands, and their UIs. You can inspect, fork, or replace any of them. I don't do much agent customisation myself, but lots of people do, and I'd love to see what they think of with this plugin API.<p>Go backend, Wails for windowing (no Electron), plain type-checked JS (strict JSDoc), Yjs for the documents. Usual BYOK provider support: Claude (CLI or API), OpenAI/Codex, Gemini, Ollama, OpenRouter, DeepSeek, etc.<p>The app's AGPLv3; the extension SDK and bundled extensions are Apache-2.0, so extensions have no copyleft strings attached. No signup, no telemetry, trying to make it frictionless for people to try it out..<p>It's very much a beta, and is a one-man side project. It hasn't yet had a proper kicking from the real world, but I'm confident some people with similar preferences to my own will like it!<p><a href="https://juggler.studio" rel="nofollow">https://juggler.studio</a>
Show HN: BillAI Bass, an AI-Powered Big Mouth Billy Bass Using Strands Agents
Show HN: YouTube Guitar Tab Parser
I created a simple CLI that turns a YouTube guitar-lesson video into a PDF of the guitar tab.<p>There are services that transcribe music from Youtube videos into tabs, but they never work well enough for me. Instead I'm taking a simpler approach.
It downloads the video, samples frames, uses Claude vision to locate the tab region, crops every frame to that region, de-duplicates the crops by the bar number printed on each line of the score, and stitches the distinct tab lines vertically into a PDF.<p>I didn't test it on a lot of different Youtube videos yet, so problem will arise for sure.
Show HN: YouTube Guitar Tab Parser
I created a simple CLI that turns a YouTube guitar-lesson video into a PDF of the guitar tab.<p>There are services that transcribe music from Youtube videos into tabs, but they never work well enough for me. Instead I'm taking a simpler approach.
It downloads the video, samples frames, uses Claude vision to locate the tab region, crops every frame to that region, de-duplicates the crops by the bar number printed on each line of the score, and stitches the distinct tab lines vertically into a PDF.<p>I didn't test it on a lot of different Youtube videos yet, so problem will arise for sure.
Show HN: Nobie – an Excel-compatible runtime for agents and humans
Show HN: Nobie – an Excel-compatible runtime for agents and humans
Show HN: DOM-docx – HTML to native, editable Word docs (MIT)
Show HN: DOM-docx – HTML to native, editable Word docs (MIT)
Show HN: Clawk – Give coding agents a disposable Linux VM, not your laptop
Show HN: Clawk – Give coding agents a disposable Linux VM, not your laptop
Show HN: Super Dario
Show HN: Earth Game – An offline CLI for turning life goals into quests
Show HN: Reame – a CPU inference server that gets faster as it runs
Show HN: Shirei, cross-platform GUI framework in native Go
Show HN: Shirei, cross-platform GUI framework in native Go