✉️ Not subscribed yet? Subscribe to the Newsletter
Future of Coding Weekly 2024/07 Week 4
2024-07-21 23:40
💡 Where Should Visual Programming Go? 📝 We Can Do Better Than SQL 🎥 Home-cooked Software and Barefoot Programmers
Two Minute Week
🎥 Structured editor in a code notebook via Peter Saxton
Presenting a structured editor in a code notebook. I think I'm going to enjoy this environment
I spent 2.5 months building a spatial compiler for lazer cutter plans to build a (massive) shelf. The shelf is built! But all the parts were mirrored, which was not an actual problem, but it was unexpected (a polarity problem somewhere).
For a few other test projects, when the edges are nearly the same length on the parts, the assembly is ambiguous, and it kinda assembles but the shape gets warped from misfitting. So recently I added labels to the edges, so I know which side should match which without ambiguous matching based on eyeballed length. After adding the labels the part visualisation had the numbers backwards, AH HA! my revelation was that this explained why my parts were mirrored.
My whole schtick at the moment is data viz driven development. Dataviz of runtime application state is the extension of text based coding/debugging that delivers value beyond our existing programming paradigms.
Our Work
🎙️ 91. What scares you about AI? Vol.2 via Ben Byford
not code per say, but AI philosophy
💻 github.com/thegreatercurve/okapi via John Flockton
Hey folks! I thought I’d share a JavaScript parser I’ve been working on: github.com/thegreatercurve/okapi
Very much a work-in-progress, but it's nearly fully compliant with the ECMAScript 2024 spec, 100% passes the Test262 parser test suite, and outputs ESTree.
My next step is to look into refactoring it to output bytecode by default, with the hopes of turning that into an actual JS engine one day.
Devlog Together
End-to-end demonstration of code generation and chatbot creation in the Blawx prototype I've been working on. The LLM generates a block-based, visual, domain-specific constraint logic program based on the text of the law and the ontology defined by the user, then you encode a question and an interview and you have a chatbot that doesn't have the black box problem of LLMs, but has the same easy interface. Very interested in anyone's comments.
Thinking Together
📝 Protective Randomness: Why We Fear the AI Unknown and What to Do about It via Jason Morris
After reading a linkedin post by a friend of mine, today, in which he describes "protective randomness" as a virtue of human systems, the absence of which makes certain AI applications frightening, (Protective Randomness: Why We Fear the AI Unknown and What to Do about It) I have come to the conclusion that this may be the best argument I have heard to object to the determinism in Rules as Code: that the systems we have for dealing with the output of the interpretation of statute not only anticipate but depend on variability of interpretation for their effective operation, and that they operate to do more than merely resolve disputes over legal interpretation, so the absence of those disputes is not an unmitigated benefit. Take for instance the conversation that happens between law makers and judges. A law is drafted, there are disputes over how to interpret it, in part fueled by examples of differing interpretations from administrative decision makers. Those differences in interpretation can help people know on what grounds they might object to a particular decision. Those objections go to judges, and judges might differ again, which has the same effect. And the differing interpretations of the judges in the context of things worth arguing about brings to legislators' attention places where the rule itself is both problematic from a fairness and/or interpretation standpoint, and where that problem causes significant issues in the real world, equipping them with information about where to focus when considering amendments. All of those benefits accrue even if no decision is ever made to resolve the dispute. If you replace variable administrative decision makers with a deterministic system based on a best shared interpretation, that review system, which not only accounts for but depends on variable outputs to function, stops working as effectively. That is not to say that what you lose is not worth what you gain. But it is a coherent argument about what is lost, and how, from consistent automated application of laws, and it is prescriptive about where and how rules as code should best be applied to avoid those losses. Which now makes me wonder whether armed with this idea, I would have a more generous read of the Laurence Driver paper.
For context, the linked post is aimed more at attempting to understand some forms of anxiety around AI applications, and particularly in the context of copyright violation, which Colarusso considers complaining about the wrong thing. But the idea metastasized in my head, and now I might have to give Driver the benefit of the doubt.
📝 Coding is State Farming via Guyren Howe
I have a blog about matters related to the topics here. Just dropped this, which discusses why more of typical business logic should be implemented in the database: Coding is State Farming
📝 Thinking About The Game Of Pong In Hardware And Software via Paul Tarvydas
Thinking about Schematics vs. Code. [This began as a short reply to Stefan Lesser regarding my take on electronics schematics in another thread.]
💬 Adam Davidson
Just a random thought that has been rattling around in my head while listening through podcast episodes and Ivan’s visual programing points. I am new here so apologies If all this has been said before, or covered in podcasts I haven’t gotten to yet.
I want to propose a slightly different framing for what it means to say that a representation of a program is visual / spatial or not
Content
🐘 This masto thread via Ivan Reese
This masto thread should resonate with folks here. Teaser:
fediverse is the kind of place where I can ask a question of “let’s say we’re designing an operating system from scratch. Clean slate. Let’s throw away all our old habits and legacy decisions. what’s the minimal set of applications we need to make a new operating system useful”
and the top replies are vt100 emulator, virtual machine to run other operating systems, and c compiler to port vim
like y’all are missing the point of the question!
🤔 We need visual programming. No, not like that. via Kartik Agaram
Let's observe what developers do , not what they say. Developers do spend the time to visualize aspects of their code but rarely the logic itself. They visualize other aspects of their software that are important, implicit, and hard to understand. Here are some visualizations that I encounter often in serious contexts of use: * Various ways to visualize the codebase overall. * Diagrams that show how computers are connected in a network * Diagrams that show how data is laid out in memory * Transition diagrams for state machines. * Swimlane diagrams for request / response protocols. This is the visual programming developers are asking for.
💡 Where Should Visual Programming Go? via Ivan Reese
As a follow-up to the above, there's this nice blog post from @Nikita Prokopov on diagrams as code: Where Should Visual Programming Go?
Level 3: Diagrams are code
This is what the endgame should be IMO. Some things are better represented as text. Some are best understood visually. We should mix and match what works best on a case-by-case basis. Don’t try to visualize simple code. Don’t try to write code where a diagram is better.
Hear, hear!
🐘 Luci for dyeing (@zens@merveilles.town) via Christopher Galtenberg
a huge formative experience happened when I was 16. I was brought into my mother’s office and hired to compell a guy to use his computer who was refusing to use his computer, and exclusively used his IBM selectric. First up, the guy was an unlikable jerk. However, first thing he does when I get there is refuse to even talk to me about the situation until AFTER I read The Invisible Computer by Donald Norman. It’s a good book I cannot summarise in the 50 characters I have left in this post
📝 We Can Do Better Than SQL | EdgeDB Blog via Nilesh Trivedi
The questions we often hear are “Why create a new query language?” and “What’s wrong with SQL?”. This blog post contains answers to both.
Music
🎛️ noodlesynth.com via Ronald C
I'm working on a web based modular synthesizer: noodlesynth.com
End User Programming
🎥 Home-cooked Software and Barefoot Programmers: Maggie Appleton (Local-First Conf) via Beni Cherniavsky-Paskin
coins some neat terms, from "barefoot developers" to "the long tail of user needs".
🤖
hi! I'm co-organizing a builders-first AI & UX meetup in Berlin in September, if you are interested send me a DM
👨🏽💻 By 🐘 @marianoguerra@hachyderm.io 🐦 @warianoguerra
💬 Not a member yet? Check the Future of Coding Community
✉️ Not subscribed yet? Subscribe to the Newsletter / Archive / RSS
🎙️ Prefer podcasts? check the Future of Coding Podcast