✉️ Not subscribed yet? Subscribe to the Newsletter
Future of Coding Weekly 2024/01 Week 4
🤖 Intersection of programming & AI ⌨️ Keys, Boxes & Arrows 📚 Probabilistic Models of Cognition
🎼 Polygon via Clam R
Polygon: A spatial approach to sequencing musical rhythms
Inspired by Bret Victor's lectures and some of the cool stuff i've seen on here, I made a drum sequencer where the relative positions of nodes determines the spaces between notes in a pattern.
Generate drum patterns through spatial computing.
I recorded a short demo showing the latest plugins and improvements I've been working on in gloodata.
The demo shows timezone information, weather forecast, maps, routes, content extraction and summarisation plugins.
📝 public.me via Anton Podviaznikov
made a simple tool to publish Apple Reminders online public.me.
Sounds not impressive, but Apple Reminders gave me an interesting data structure: list of items with predefined format(name, description, date, url, isCompleted, images etc).
So I was able to build habits tracker directly in reminders and have nice visualizations of streaks like this public.me/anton/daily
🤖🐦 Tweet from @io_sammt via Samuel Timbó
I see lots of folks here are interested in the intersection of programming and AI (to say little); I finally posted an example combining Unit and LLMs on X. It is a reactive graph for text reasoning and image generation. I start from a statement, then apply commands to transform it, ultimately rendering generated images. Take a look . Full preview:
Integrating a little game with a sprite editor and a maze editor, all on a touch-screen.
When working on my language I've been frustrated by the lack of symbols and extra information for my JIT compiled code. There is a way to get this kind of information, but it involves building an elf binary in memory. Way too much overhead for this point in my development.
So I started building my own debugger frontend to lldb. Not much to show right now. But the idea is to specifically tailor it to my language. So you'll get a compiler explorer like experience, but also be able to view the stack and heap and all of that live. See the language level values stored in there.
The fun part to for me was how to convey the information I need to the debugger. The answer came from the standard JIT interface. How do you tell your debugger things? You make a function that the debugger has a breakpoint in. The function does nothing in the body. You just pass some args that tells the debugger where in memory to get the information it needs. Super clever. So now I'm working on passing all my compiler metadata to the debugger frontend so it can know how to render things intelligently.
This week I spend a lot of time adding basic keyboaed support in the visual programming system that I am developing. For productivity I think that just using a mouse for creating a visual flow is not enough. One of the reasons why we are so productive when using a text editor for programming is the usage of the keyboard I think. Off course it's not the only reason but I do think it's of major influence.
So being able to use the keyboard for visual programming seems like a very good idea. In this video I show exactly that.
Currently after every update to the flow, the tabindex is set on all the nodes and input elements. In normal webapps this is not a good idea, but here it is the only way to give the browser the proper and logical tab order. When tabbing through the flow, the camera is focused on the selected node overriding default browser scroll-behavior when a focused element is out of the current view. Using ctrl+a you can add a new node and also select the thumbs for the connection.
Furthermore I've added some other features like being able to run a flow using the keyboard (ctrl + Enter) and opening the properties popup. A missing feature is being able to add a new node before the currently selected node.
Lots of small tweaks were needed to make this work, but I am glad I spend the time because this also increases the accessibility.
I created a simple Linked-Data / RDF console app (I call it MondAI),
it allows creation of triples Entity->Connection->Another-Entity
and allows query data
Ivan Reese, in episode 9 of a podcast I can’t tell if I’m supposed to know about or not, you asked, “Where is [data] going when you’re throwing it away, and when you rewind, how does it come back?” And I don’t think it has answers that you’d want to apply directly to your situation, but ~Feynman’s Lectures on Computing~ comes back to the idea of reversible computing again and again with various playful metaphorical lenses. I think that at the very least it might be a nice way to take a break and think about the problem from a physicist’s perspective now and then, if this is still a problem you’re working on.
🐇 rabbit.tech/keynote via Pietu
rabbit.tech/keynote (demo starts at 7:33) shows an un-released portable personal-assistant device. There's a lot going on in the keynote, both in UI-wise, and how they demo and describe this "new kind" of device.
This Modern Plain Text Computing course at Duke has a refreshingly frank description written by Kieran Healy. I can't tell if I should feel positively, negatively , or overwhelmingly negatively — double adverb !! — about the existence of this course, though.
I’ve been really into probabilistic programming languages (PPLs) lately. I had a few “aha” moments and I’m decidedly in the “hit everything with this hammer to figure out where the nails are” phase.
Anyway, is anybody here in a similar headspace? Or already experienced with PPLs?
Is anybody curious to enter this headspace with me? I reviewed the (online, free, programmable) book that brought me here: micro.alltom.com/2024/01/11/the-cognition-in.html
The “Cognition” in Probabilistic Models of Cognition 📚 is the hardest part to get across when I recommend this book. Because the book isn’t “Bayes works, yawn.” It’s so much more interesting if you, like me, exist primarily in ML circles that focus on curve-fitting: What could be going on in our heads when we can’t tell that the two grid squares in that optical illusion are the same color?
💬 Not a member yet? Check the Future of Coding Community
🎙️ Prefer podcasts? check the Future of Coding Podcast