Konrad Hinsen 2025-11-03 13:22:46 Micrograd: a pedagogical implementation of neural networks using a reverse-mode automatic differentiation engine.
hyperdoc.khinsen.net/94FE4-micrograd
I have written this as a real-life example of explorable explanations in HyperDoc, my framework for explainable software systems which I demoed at a meetup earlier this year. The main new features in the platform that are showcased are interactive tools and much-improved playgrounds for free exploration.
Feedback welcome at codeberg.org/khinsen/micrograd (the source code repository), or right here of course.
📝 micrograd
A tiny scalar-valued autograd engine and a neural net library on top of it
Tom Larkworthy 2025-11-08 14:39:30 Oh thats so fun to explore. I am on a mac, how do I alt-click . After reading the essential HyperDoc navigation I realised I was missing the source code exploration angle, I want to try it!
Tom Larkworthy 2025-11-08 14:45:33 I really like the navigation of using the horizontal dimension and scrolling so you can have lots of things open
Konrad Hinsen 2025-11-08 15:10:16 Tom Larkworthy On my rather old (2008) mac keyboard, there's a key labelled "alt", in between "ctrl" and "cmd". That's the one you need.
Paul Tarvydas 2025-11-08 15:12:51 On my keyboards, the key is named "Option" and in smaller font "Alt"
Tom Larkworthy 2025-11-08 15:22:55 ahhh yeah, got it, I was trying to use it on a > example button ~but it isn't meant for that~ (edit: it does work on that too! no idea what I was doing wrong as option is the first thing I think of as ALT too). wow you can inspect the page controls source code. Really cool.
Ivan Reese 2025-11-08 16:32:16 [deleting a post by Paul Tarvydas and reposting with added a description — I want to discourage posting naked URLs or relying on the link preview, and encourage adding explicit context]
New blog post: The Hidden Gem in S/SL: Why Dataless Languages Matter
Excerpt:
In this article, I want to discuss my main inspiration from S/SL—a 1970s compiler construction language that most programmers have never heard of, but which demonstrates something fundamental about separating architectural thinking from implementation details.
What is S/SL?
S/SL stands for Syntax/Semantic Language. It was designed for writing compilers—specifically the parts that parse input, analyze semantics, and generate code.
Here’s what makes it unusual: S/SL has no data definitions. You can’t declare integers, strings, arrays, or records.
Konrad Hinsen 2025-11-08 19:07:34 Never heard of S/SL! But I like the idea. And I agree with the principle of separating concerns at the notation level. Not only does it prevent mixing concerns, it also makes things clearer for readers.
Marek Rogalski 2025-11-10 09:33:05 That is a very cool idea. It's interesting that HTML started out pretty much like that - with structure, style & behavior separated into different layers (HTML, CSS & JS) but eventually the need for modularity led us to React. It's interesting to think how programming could work if this was the case. Great article.
Tom Larkworthy 2025-11-08 17:17:51 Kartik asked at some point whether Lopecode could do offline note taking. Sort-of but you would have to remember to export every change or lose you notes and the frequent exports would generate a new file every time cluttering the HDD up.
So I have made a note-taking app that uses IndexDB via dexie.js to remember the work in progress. If you have two tabs open the notes are synced in realtime. The Notes in indexdb are carried forward on export as an inline file attachment to the single HTML file application.
Export now support themes so this is the first dark mode version đź‘». Its looks amazing now (CSS taken from ISC licensed NotebookKit and credited).
Obviously if you use it from the web link it will use network so if you wanted to use it you would click download and use it from your computer for true offline. Tested in Chrome/Firefox/Safari and works, but Safari might delete the indexdb data after 7 days (maybe not though if its a file:// ?) There is a technical overview inside the notebook as its meant for demonstration over actual utility
tomlarkworthy.github.io/lopecode/notebooks/@tomlarkworthy_notes.html
sidenote: I wrote this slack message earlier in the day, decided not to send it coz there was a bug, recorded the draft message in notes, fixed the bug and pushed, and now the Github.io one now has this very slack message. I kind of like it coz its like an intro anyway, but a bit of a risk for me who publishes notebooks that I might accidentally transmit sensitive information.