✉️ Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2023/03 Week 4

2023-03-26 22:32

🤖 ChatGPT Plugins 🤖 Google Bard 🤖 AI & Future of Code ✨ et cetera

Two Minute Week

🎥 Multiline match statements via Peter Saxton

🧵 conversation

Vimeo Thumbnail

💬 Joakim Ahnfelt-Rønne

🧵 conversation

Highligthing in VSCode and a tiny full stack webapp in Firefly. 🎥 Frontend, backend & assets in a single file < 100 lines.

🌱 Long term memory for chat groups via Oliver Sauter

🧵 conversation

Today we released our Slack bot for anyone working with companies or communities with active link sharing and discussions. (Also available as a discord bot!)

The bots give you a searchable archive of all links, videos, events, pdfs that people post in your Slack channel. (Search coming this or latest early next week!)

Bit like the archive here at the Future of Coding Slack.

Also it's GPT supported to give you summaries of articles and youtube videos, so you can much more easily see if things are worth watching/reading.

Here is more info, and here instructions on how to give it a try.

Thinking Together

💬 Mariano Guerra

🧵 conversation

Is there a "Grammar of Data Schemas/Constraints" similar to "Grammar of Graphics"? Any schema definition language you find interesting?

🐦 Tweet from @mitchellh via William Taysom

🧵 conversation

Friends, I don't know what to make of developments in AI these days. Having worked on dialog systems in the aughts and having loosely followed developments since (I recall preparing a talk around 2010 which left me pretty enthusiastic about ML applications in contrast to the App-and-Facebookification of "tech" — that was on time horizon of a few years, which ended up being a decade plus), every day I check in on Twitter I see more exciting stuff than I can possibly process. I was just writing someone yesterday about how in six months time, we'll have LLMs acting as the front-end to knowledge bases and rigorous computational systems, and then we'll need to focus on getting the human, AI, and formal model all on the same page.

As has already been noted in #linking-together today, my estimate was off by roughly six months. Consider, "I've developed a lot of plugin systems, and the OpenAI ChatGPT plugin interface might be the damn craziest and most impressive approach I've ever seen in computing in my entire life. For those who aren't aware: you write an OpenAPI manifest for your API, use human language descriptions for everything, and that's it. You let the model figure out how to auth, chain calls, process data in between, format it for viewing, etc. There's absolutely zero glue code".

If you can tolerate his prose, Stephen Wolfram has a long post (ChatGPT Gets Its “Wolfram Superpowers”!). The "Wolfram Language as the Language for Human-AI Collaboration" section is most relevant to Future of Coding. What do these developments mean for the Future of Coding? And how are you all holding up? Me? I can hardly process what's happening, let alone what to do about it.

💬 Duncan Cragg

🧵 conversation

So, I'm an EUP person at heart, and this ChatGPT thing has obviously got me thinking all over again about what programming would look like to a non-technical person. At heart, I feel it should be like they're "casting spells" over reality (or virtual reality). This tips into the area of cognitive modelling: how close the physical manifestation needs to be to be able to be abstracted up to a satisfying cognitive model that matches the human's intention. In other words, you cast a spell "make that banana green!" and it comes back a lurid dayglo green, that would be a cognitive dissonance because really, you'd expect to simply get a very unripe-looking banana. What are the elements of this formalised spell-casting, this "programming system"? You have objects (banana, this one, not all ones), attributes (green, the correct one!), a sense of time or evolution (went from yellow to green). You start to get into Roget's Thesaurus land: what are the key concepts for describing the world, our human world?

Anyway, just a splat of the stuff buzzing around my head right now. Thoughts?

💬 Justin Blank

🧵 conversation

Does anyone know of something like a basic test suite for developing a language?

My idea is that in addition to building up test cases that implement specific functionality, what if I had a corpus of programs and a source to source compiler I could retarget to my new language?

I can think of a lot of things that would make this hard—mutability vs immutability, semantics of basic data types, etc.

An easier question: does anyone know of test suites for existing languages that are compact but thorough?

(This is ignoring questions about modularity and more complicated forms of abstraction—that seems even more hopeless to tackle in a generic way).

For anyone who’s written a language, how did you tackle testing?

Content

🎙 futureofcoding.org/episodes/001 via Lu Wilson

🧵 conversation

Just discovered a podcast called the "Future of Code" by a nice young man named Steve Krowse. Listen to the 3 minute introduction here: futureofcoding.org/episodes/001

You may have come across it already but if not, I do recommend giving episode 1 a listen! Can't help but admire Steve's 'can-do' attitude and optimism. And if you get to episode 2, you find out that the whole podcast started out through teaching kids to code. It's very charming!

🤖 Meet Bard: your creative and helpful collaborator via Gilda Maurice

🧵 conversation

📝 Summer of Protocols via Christopher Galtenberg

🧵 conversation

Summer of Protocols – application for the 18-week program ends tonight – awareness-building ("nerd-sniping") technical community thinking / thinking-in-public about protocols broadly

☂️ A Eulogy for Dark Sky, a Data Visualization Masterpiece via Srini K

🧵 conversation

I wrote a post on Nightingale that was just published today, exploring the clever data viz design of the Dark Sky app. I reference Bret Victor’s Magic Ink, specifically that Dark Sky is a context-sensitive information graphic .

Apple’s weather app incorporated some but not all of the design metaphors.

Devlog Together

💬 Jason Chan

🧵 conversation

🎥 Working on connectors for our our table blocks! But question for you all…do you think we should auto-generate the connectors as soon as blocks reference one another? Or should we let the user decide which blocks should have connectors?

🤖 ChatGPT plugins via Gilda Maurice

🧵 conversation

I spent the last few days playing with LangChain, but it looks like ChatGPT is already building a plugin ecosystem

Future of Coding Weekly 2023/03 Week 3

2023-03-19 23:07

🌱 Moldable Live Programming 🤖 FoC LLM Usage 📢 London FoC Meetup 📄 Live Rich and Composable Programming Beyond Text

Two Minute Week

🎥 Async & Await Effects via Peter Saxton

🧵 conversation

Vimeo Thumbnail

Warning: more than 2 minutes this week. However working out how to implement Async/Await as effect handlers has been a real head scratcher and here I try and walk through what I have ended up with.

Our Work

🌱🐦 Tweet from @jackrusher via Jack Rusher

🧵 conversation

We've just published our first academic paper about Clerk, in case anyone's interested:

🐦 Jack Rusher in Tokyo 🇯🇵: We (@mkvlr @unkai and myself) are in Tokyo to present our paper ‘Clerk: Moldable Live Programming for Clojure’ at Programming 23’s Programming Experience Workshop (PX23).

Of course we wrote the paper with Clerk and published it with Garden:

https://px23.clerk.vision

Thinking Together

🤖💬 Ivan Lugo

🧵 conversation

This is an incredibly thinky group of folks. I’m wondering how, if at all, this little community has been using these LLMs and advanced chat bots. People are playing Pokemon in a text/CLI form just by asking “let’s play pokemon but with text and skip all the boring parts”*. I have to conclude that a number of you folks have made some crazy strides in the work you’ve been doing or how you’ve been refining your ideas with these tools.

📢🐦 Tweet from @Mappletons via Mariano Guerra

🧵 conversation

If you are near London you can think together in person!

🐦 Maggie Appleton: The next edition of the London Future of Coding meet-up is on for the evening of April 8th at @nwspk!

Made for end-user programming enthusiasts, computing history nerds, and dissatisfied coders.

Come hang out, talk shop, and show off your side projects. April Future of Coding Meetup

Content

🐦 Tweet from @nacmartin via Mariano Guerra

🧵 conversation

Move your fingers in the air to interact with a computer

🐦 Nacho Martín: After 20 years I can finally build this interface :D!!☝☝

How it works: human (me) moves fingers->webcam records fingers->AI (Google's MediaPipe) recognizes fingers and gestures->human interacts with web elements.

Link to the code in the next tweet:

Tweet Thumbnail

🎥 Languages for programming: From punched cards to wise computing | Prof. David Harel via Christopher Shank

🧵 conversation

Youtube Thumbnail

📄📝 Live, Rich, and Composable: Qualities for Programming Beyond Static Text via João Araújo

🧵 conversation

🐦 Tweet from @Aidan_Wolf via Mattia Fregola

🧵 conversation

🐦 aidan: there's a device in development by @Humane that combines laser projection and advanced AI recognition

sounds like a low-fi context-based AR device and I'm here for it

Tweet Thumbnail

Devlog Together

💬 Jason Chan

🧵 conversation

Can’t believe I just found this channel after all this time in the server…been doing a bit of “building in public” on my Twitter, but it just goes into the void…but this community never fails to disappoint 🙂

Today’s update: 🎥 Just got offline mode to work in Subset!

💬 Jared Forsyth

🧵 conversation

Finished my rewrite of the layout & rendering engine, here's a taste of what the syntax looks & feels like:

Screenshot 2023-03-15 at 9.51.45 PM.png

💬 Jared Forsyth

🧵 conversation

tonight's progress: selections! almost done w/ the "normal" interactions that one would expect from an editor, and then I can move on to the more fun ones 🎉. Too often projectional editors jump straight to the tricks without providing the things that plain text gives you for free.

🎥 selections demo

Present Company

💬 Nick Smith

🧵 conversation

Are note-taking apps "too mutable"?

When I'm working on a page of notes (to develop my ideas or knowledge about a topic), I'll typically edit it for a few days, after which it tends to "congeal" into something that is too big to keep working on. My compulsion is then to refactor the page into several new pages, keeping the ideas that seem "good" and deleting or deprecating the ideas that turned out to be "bad". But refactoring my notes tends to take a fair amount of time, and I'm not sure it's worth the cost. There's a reasonable chance I will never read the notes again, because what was valuable about the note-writing was the ideas that developed in my mind as I was writing them .

The exercise had value. But the notes resulting from the exercise may not have much value.

Thus, I've begun to wonder whether I would appreciate a note-taking app that locks you out of your old notes . Perhaps this happens if you haven't touched a note for a few days, or maybe it happens overnight, every night.

Immutable notes aren't a new idea. Humans have been writing immutable notes ever since they started carving glyphs into stone.

Computers have given us the ability to endlessly edit a page of text. But maybe having mutable pages is detrimental, for many kinds of note-taking.

Food for thought 🤔.

💬 Kartik Agaram

🧵 conversation

(A shower thought after yet another morning finding and fixing bugs in my own apps.)

Today some big companies can make apps with shitty logic, poor reliability and bad UX.

Today some developers can make little apps with shitty logic, poor reliability and bad UX. (Occasionally slightly better UX if they're open to designer input.)

I hope recent AI advances empower designers to build little apps with shitty logic, poor reliability and half-decent UX.

Future of Coding Weekly 2023/03 Week 2

2023-03-13 00:24

💡 Data Particles 🔙 Future of Undo 🎹 Computer-Assisted Composition 🌌 Universal Programs

Two Minute Week

🌌🎥 Universal Programs via Peter Saxton

🧵 conversation

Vimeo Thumbnail

Re-implemented Universal or isomorphic programs.

Thinking Together

🔙💬 Jared Forsyth

🧵 conversation

Do y'all know of any editors with undo/redo behavior that's more interesting/granular than just scrubbing through all of the edits you've done to a file in order?

I often find my self wanting "undo the last change to this function" 🤔

Content

🎹 OpenMusic: Visual Programming | Computer-Assisted Composition via Konrad Hinsen

🧵 conversation

Just came across OpenMusic, a visual programming language based on Lisp, developed for musical composition but not limited to it

💡🎥 DataParticles: Block-based and Language-oriented Authoring of Animated Unit Visualizations via Garth Goldwater

🧵 conversation

Youtube Thumbnail

a channel i follow on youtube (Creativity Labs) just released three absolutely banger prototype videos in the last hour

  • first data visualization with a really neat linked code<->text description interface
  • second interactive programming visualizer/debugger that’s kind of like the next, more-interactive step for a lot of Bret Victor’s little diagrams
  • third (ridiculously souped up logging that (in their example) hooks logs from the same place over time, associates them to elements on the page, enables filtering by call site, scope, and spatially on the page

Are they members of this slack (no idea how i found the channel otherwise)?? If so, I’d love to get in touch!

🎥 CrossCode: Multi-level Visualization of Program Execution

🎥 Log-it: Supporting Programming with Interactive, Contextual, Structured, and Visual Logs

Devlog Together

💬 Jared Forsyth

🧵 conversation

today's progress, emoji support! it mostly consisted of text => new Intl.Segmenter('en').segment(text).map(s => s.segment) in a bunch of places, so that offset calculations made sense. I also had to add a hidden <input/> onto the page instead of just harvesting keypress , because emoji-pickers don't actually send valid keypresses, but they do trigger oninput in a focused <input/> 🎉

🎥 Demo

💬 Jason Morris

🧵 conversation

Managed to release v1.5.0-alpha of Blawx this week, with better defeasibility features including defeated defeaters, and applicability checking. Only one major feature left to add to the language (that I am aware of): temporal reasoning.

Future of Coding Weekly 2023/03 Week 1

2023-03-05 23:21

🤖 LLM Assistants for Complex Interfaces ⚖️ Rules as Code 🎥 List App, Structured Editor & Glueing ChatGPT Demos

Our Work

📢 VL/HCC 2023 (IEEE Symposium on Visual Languages and Human-Centric Computing) via Rebecca Krosnick

🧵 conversation

May be of interest to Future of Coding folks as a way to get feedback or share your work.

VL/HCC 2023 (IEEE Symposium on Visual Languages and Human-Centric Computing) is currently soliciting papers (abstracts due April 21, papers due April 28).

🧵 read more

🤖 LLM Powered Assistants for Complex Interfaces via Nick Arner

🧵 conversation

Wrote something recently on the idea of using LLMs as part of in-the-loop software assistants

⚖️ Blawx: A user-friendly web-based tool for Rules as Code via Jason Morris

🧵 conversation

Here's a little gif of the new scenario editor in the version 1.4 of Blawx I released today. It allows the user to make fully-, partially-, or un-ground statements that are true, false, or unknown , answers the query with natural language explanations that set out the assumptions being used for unknowns, and then recommends additional fact statements that would be relevant to finding additional conclusions that are not based on assumptions. It's aimed at encoding statutes and regulations in such a way as to allow those encodings to be made, or at least validated, by lawyers and other non-programmers. Feedback welcome. github.com/Lexpedite/blawx. The new release is up at dev.blawx.com now.

hypothesize.gif

🎥 NoCode ChatGPT API: Send interesting facts to slack on a schedule via Mariano Guerra

🧵 conversation

Youtube Thumbnail

I just integrated the newly announced ChatGPT API into GlooData, here's a video showing how to use it to schedule slack messages with interesting facts about home appliances.

📱 List App - Demo via Josh Justice

🧵 conversation

Youtube Thumbnail

Hey folks, I have been hanging around Future-of-Code-like communities for a few years, trying to figure out what I want my focus to be. I’ve finally figured it out, and I made a demo video to share with y’all about what I’m working on.

It’s a web and mobile app for tracking your personal information, including allowing end users to configure buttons and actions to customize their workflow. It’s not groundbreaking research, but it does enable end users to create interactive software anywhere they are. I’ve been able to replace at least four apps I previously used with “boards” I’ve configured in this app. I plan to open-source it and set up a free open-registration server soon.

Here’s the demo if anyone would like to take a look!

Thinking Together

💬 Jason Morris

🧵 conversation

What do you do to motivate yourself to update documentation? I have so much of it that it is now a significant undertaking to keep it up to date with the tool, and I am losing interest. I'm trying to figure out whether I should just tag most of it as out-of-date and come back to it later when there are enough users to justify it...

💬 Niall McCormack

🧵 conversation

What's the general consensus on node based scripting?

I'm intrigued by Unreal's Blueprint node based scripting tools - they seem easy to use, but if you want to do anything complex then (for me) it becomes very messy very quickly. However with the general move in the past 10 years or so to more functional programming and serverless etc then perhaps it makes sense. Small components that can be wired together visually feels easy , or right ?

Darklang is another example with extrapolates the complexities of the underlying system allowing you to just write some pseudo node based (at least when I last looked at it) components that are easily wired up together.

I'm an iOS engineer by trade, and it feels that something like Darklang / node based coding could end up matching nicely with SwiftUI's declarative syntax for UI.

🎥 "Ceptre: A Language for Modeling Generative Interactive Systems" by Chris Martens via Paul Tarvydas

🧵 conversation

Youtube Thumbnail

Multi-single-tasking:

Brainstorming, half-baked...

I would have ignored Ceptre in the past. It claims to be a language for writing games. The very idea makes me yawn. But, one of the guys at the Torlisp monthly meetup is deeply into robotics and Scheme and another guy, in the film industry, uses Racket for hobbying in game programming. My own interest is in concurrency and simplicity and compiler-writing. These fields are all related. Watching the 2015 Strangeloop presentation about Ceptre piqued my interest. Ceptre is logic programming, but with a twist - it has a built-in notion of explicit ordering. I thought that I could knock off a better game language using my diagrams of state machines. I continued to learn about Ceptre. Aside: Ohm-JS has built-in explicit ordering and is “not” context-free. I have to wonder if Ceptre is to generalized formalism as PEG (Ohm-JS) is to context-free grammar formalisms.

Dunno yet.

🧵 read more

Content

🐦 Tweet from @garybernhardt via Chris Knott

🧵 conversation

🐦 Gary Bernhardt: 1960s: "COBOL will let non-programmers make the software!"

1980s: "4GLs will let non-programmers make the software!"

2000s: "UML will let non-programmers make the software!"

2020s: "AI will let non-programmers make the software!"

Devlog Together

💬 Ivan Reese

🧵 conversation

Thinking about building some visual programming tools after taking a break for a while. One fun idea that popped up: hybrid text + node-wire environment where you can ~wire to the text~ . Like, a word in the text can act as a node. Probably been done somewhere, but I haven't seen it, so I'm kinda jamming on the thought. Like, what if Natto but you exploded the frames, brought some of Bret's Tangle in there, little bit of that style of annotating an image+paragraph by coloring a word the same as a corresponding thing in the image. Constants in the text live-update, etc etc.

💬 Paul Tarvydas

🧵 conversation

FWIW - here’s how I think about it... You are programming a MACHINE. Every bit of syntax has to DO something (have a meaning). [The meaning of comments is “to be ignored by the machine”. A lot of other syntactic baubles have that same meaning - e.g. stick people and clouds]. What does it mean to connect a wire to a word? What happens if you connect that same wire to a different word?

💬 Jared Forsyth

🧵 conversation

Hi friends! This is my first time posting in the devlog, but here's today's progress on my structured editor -- autocomplete for object attribute access!

🎥 Attributes

💬 Jared Forsyth

🧵 conversation

trying out "file attachment" as a first-class AST node type

🎥 Attach

Future of Coding Weekly 2023/02 Week 4

2023-02-26 22:42

💡 Is Software Spatial? 🤖 UX of AI Programming Assistants 🛸 Self-conscious Reflexive Interpreters 💻 Live Game & Functional Programming

Devlog Together

💬 Jimmy Miller

🧵 conversation

Been making good steady progress on my new editor. I now have my wasm extensions automatically interrupt. So I can have a long running computation (or even an infinite loop) happening in an extension, on the same thread and not miss any frame times. Having that really sets the ground work for the live programming model I want for these "extensions".

After some clean up I'm starting to do some dog fooding for another project I'm working on, generating an arm64 assembler from the xml specification of instructions. The plan is to write the coding utilizing my editor as the visualization environment to get fast feedback on if I have the instructions correct. Still a long way to go, but the fundamentals are taking shape.

Our Work

💬 Eli Mellen

🧵 conversation

How’d folks feel about threading the URLs to their personal sites? I’d love to follow more folks over RSS.

Reading Together

💡📄 Software is an abstract artifact via Jimmy Miller

🧵 conversation

Perhaps you too are wondering if software is inherently spatial. A great paper on this topic is “Software is an Abstract Artifact” by Nurbay Irmak. I might not agree with everything written, but it is a very readable paper and a great introduction to the topic.

Software is a ubiquitous artifact, yet not much has been done to understand its ontological nature. There are a few accounts offered so far about the nature of software. I argue that none of those accounts give a plausible picture of the nature of software. I draw attention to the striking similarities between software and musical works. These similarities motivate to look more closely on the discussions regarding the nature of the musical works. With the lessons drawn from the ontology of musical works I offer a novel account of the nature of software. In this account, software is an abstract artifact. I elaborate the conditions under which software comes into existence; how it persists; how and on which entities its existence depends.

Thinking Together

💬 Ibro

🧵 conversation

I’m curious “where” people think of visual in visual programming being. For context, I spend a lot of time in tools like Houdini, Solidworks, Cavalry, and After Effects. Some of them have more access to computation than others, but the biggest difference between those and Processing or threejs is a large “standard library” of functions.

On the other hand, building a website with live feedback or scripting in a REPL seem like a very different experience from just writing the same code in notepad. I wonder if visual programming is all just “debug views” rather than the specific presence of a GUI. And if so, what does that mean for generalized visual languages or environments?

💬 Oleksandr Kryvonos

🧵 conversation

I am not sure but this might be a thing - in order to reduce scrolling through files I try to keep each function in respective separate file (so I have over hundred of files so far) and I wrote a simple code that copies the content of the function into the body of the html page and adds some template text like <script> tags etc.

I try to find the most minimal set of tools in the motto of bicycle for mind - in other words - you don’t need a complex solution like an aircraft carrier but rather a bicycle.

💬 Eli Mellen

🧵 conversation

Does anyone have future of code flavored papers by folks who aren’t white dudes?

I’ve been pulling together a reading list for an engineering reading group at work, and would like to make sure it’s at least a 50/50 split.

📝 VMF-Text: Powerful Grammar-based Language Modeling Framework via Jarno Montonen

🧵 conversation

I'm in need of two solutions:

  • Generating a language model out of ANTLR grammar. Preferably in C#.
  • Printing an AST to text according to an ANTLR grammar.

I found this github.com/miho/VMF-Text, but anything else?

💬 Jarno Montonen

🧵 conversation

Another thing I'd be interested is solutions for bidirectional text transformations (for source code). Ideally a system in which you could define transformations once, and get both AtoB and BtoA transformers

Content

📝 C-rusted: The Advantages of Rust, in C, without the Disadvantages via Shubhadeep Roychowdhury

🧵 conversation

🤖📝 Papers on the UX of AI programming assistants via Mariano Guerra

🧵 conversation

Papers on the UX of AI programming assistants

This is a list of research papers investigating the user experience of AI-powered programming assistants (e.g., Copilot)

📝 VRL Studio: Innovative, intuitive and powerful Visual IDE for rapid prototyping, learning, teaching and experimentation via Jarno Montonen

🧵 conversation

Another cool and dead project from the past I just run into

🛸📄 A Unified Approach to Solving Seven Programming Problems (Functional Pearl) via Kartik Agaram

🧵 conversation

This minikanren paper is excellent: "A Unified Approach to Solving Seven Programming Problems (Functional Pearl)"

Found via William Byrd's recent talk about ongoing work: 🛸 FOSDEM 2023 - Self-conscious Reflexive Interpreters

💻🐦 Tweet from @allan_blomquist via Christopher Shank

🧵 conversation

A cool demo for live/immediate programming with a game engine and some cool debugging explorations!

🐦 Allan Blomquist: Here's a look at some of our internal programming tools at Tomorrow Corporation!

🎥 Tomorrow Corporation Tech Demo

💻📝 Hazel, a live functional programming environment featuring typed holes. via Nilesh Trivedi

🧵 conversation

🎙 #87 Jack Rusher by defn via Jack Rusher

🧵 conversation

In case anyone likes this sort of thing, I just did an episode of the defn (mostly clojure, but generally programming too) podcast

Present Company

📝 Designing multiplayer apps with patterns from architecture via Matt Webb

🧵 conversation

Hi folks — any fans of A Pattern Language here? Or (like me) any wannabe fans? I dip into it, and it has been invaluable in designing multiplayer apps with nuanced social interaction. Here’s one of my blog posts.

However! It’s long and I’ve never read the whole thing… So a few of us on Masto decided to start a reading group. One pattern a week, we’ll finish neatly at the end of the book’s 50th anniversary year (2027)

We’re meeting on discord at 5pm uk time on mondays (so noon east coast us, 9am west coast). Starting this coming Monday. Join us here: Join the Talking Patterns Discord Server!

Apologies if this is out of place but I figured there was a good chance it would be of interest to at least some people here!

📇 People of Future of Coding via Mariano Guerra

🧵 conversation

An index of users that contributed to the newsletter and provided a link to use when mentioned

Future of Coding Weekly 2023/02 Week 3

2023-02-19 23:07

🎥 Datalog Notebook 💡 Self and Self: Whys and Wherefores ✍️ Towards Text-Editor-ish UX 🥼 Digital Scientific Notation

Our Work

🎥 13/02/2023, Datalog notebook via Peter Saxton

🧵 conversation

Vimeo Thumbnail

Made a code notebook for datalog queries.

As there is no plain text (or parser) does this count as another structural editor

📗 wasmfromthegroundup.com via Mariano Guerra

🧵 conversation

Prototyping an interactive WebAssembly spec interpreter for wasmfromthegroundup.com

wasmvm-001.gif

🥼🎥 Leibniz in four minutes via Konrad Hinsen

🧵 conversation

A four-minute demo of Leibniz, my Digital Scientific Notation

📝 Oatmeal - Moon maker via Eli Mellen

🧵 conversation

Inspired by re-reading Naur’s “Programming as Theory Building” I decided to make myself a text editor to solve all my problems… tl;dr I wrote a blog post and some bash instead 😂

🔌 Hello World | Playground | Visual Programming for the Modern Web via Gabriel Grinberg

🧵 conversation

Hello everyone! 👋 I am thrilled to share the progress made with Flyde with this community of like-minded individuals.

Flyde is an open-source, flow-based, and visual programming toolkit that prioritizes exceptional UX/DX and seamless integration with existing code. The toolkit features a VSCode extension, visual debugging, full TypeScript support, a rich standard library, and is designed to work in tandem with existing codebases. In essence, Flyde is similar to NodeRED, but geared towards web development.

This is the first time I am sharing Flyde with a broader community, and I believe feedback from such a talented, inquisitive, and passionate group of people would be invaluable to the project.

Check out the interactive playground here - flyde.dev/playground!

I look forward to hearing your thoughts and feedback! Additionally, a star on GitHub would be greatly appreciated! 😊

Thinking Together

💬 Kalvin

🧵 conversation

Does anybody have any examples of version controlled projects that use visual programming?

Content

🎥 Donald Hoffman: “Evolution is like a videogame” via Kartik Agaram

🧵 conversation

(Quote is from The Case Against Reality | Prof. Donald Hoffman on Conscious Agent Theory, which I'm not sure if I'll finish.)

💡🎥 Self and Self: Whys and Wherefores via Jack Rusher

🧵 conversation

Youtube Thumbnail

There's loads of good stuff in this one.

✍️ Towards "Text-Editor-ish" UX via Lu Wilson

🧵 conversation

I like this kind of 'hybrid' editor direction!

📕 The Reasoned Schemer reading / learning via Paul Tarvydas

🧵 conversation

The Reasoned Schemer reading / learning

Devlog Together

🌳 Visualize a Mastodon thread tree via Kartik Agaram

🧵 conversation

Today I put together a little visualizer for Mastodon threads. The graph layout is nothing special, but:

  • it has structured keyboard shortcuts (up for parent, down for child, left/right for siblings) which might be more useful for understanding a complex thread
  • as always you can live-edit it so it's hopefully easy to improve

One other little integration: opening links in browsers opens up all sorts of cross-platform cans of worms, so I ended up just copying a URL to the clipboard any time you click on a toot.

🎥 mastodon-unfurl

Future of Coding Weekly 2023/02 Week 2

2023-02-12 22:01

🎙️ FoC # 62 Fred Brooks • No Silver Bullet 🌳 Outable: Outline + Table ☁️ Define Define 🚰 Safe Stateful Language for Streams

Our Work

📚 WebAssembly from the Ground Up via Mariano Guerra

🧵 conversation

With Patrick Dubroy we have been working for some months on a digital-first book "for JavaScript programmers who want to learn the nuts and bolts of WebAssembly. You'll go from hand crafting bytecodes to building a real compiler for a simple programming language."

🐦 Announcement Tweet

On top of writing a book we are exploring what's possible if we create content ignoring the constraints of "printing dead words".

Follow WasmGroundUp for updates, or sign up at wasmfromthegroundup.com.

🚰 SQRL: A Safe, Stateful Language for Event Streams via Josh Yudaken

🧵 conversation

Hey all, finally released a pretty cool (well I think so) demo of the rules language DSL we built for fighting spam/abuse/fraud/all-the-bad-stuff at Smyte (acquired by Twitter). It's heavily SQL-based but includes a lot of features for working with very large teams, deploying new rules in seconds, and tracing which rules caused an action to occur.

Demo: websqrl.vercel.app/twitter

Docs: sqrl-lang.github.io/sqrl

Motivation: sqrl-lang.github.io/sqrl/motivation.html

Would welcome any comments/questions. Just glad to finally get this out the door 🥳

🎥🌳 GlooData Outables: Outlines + Data Tables via Mariano Guerra

🧵 conversation

Youtube Thumbnail

Outables: Outlines + Data Tables

  • Row & column pagination

  • Customizable number of rows and columns per page

  • Pin & Hide columns

  • Expand a row to see all fields

  • Ctrl + Click to jump 10 pages

  • Ctrl + Alt + Click to jump to first/last page

🎥 ☁️ Define Define via Lu Wilson

🧵 conversation

Youtube Thumbnail

hello everyone please enjoy my new video that I've been working on for a while now. it's about a few different topics that might be relevant to you such as programming, creative coding, life, art, intelligence, definitions and dead fish

💬 Jason Chan

🧵 conversation

Hey everyone! Really excited about this new feature we shipped today at Subset, which allows you to jump between your different files kind of like Notion. I’ve noticed that I have a ton of little trackers and calculators that I eventually forget about, but every time I come across it again, it reminds me of a task I need to do. Ultimately, it makes individual files and spreadsheets less ephemeral. Here’s what it looks like. Next up we probably need some grouping or favoriting system. Let me know if you have any thoughts 🙂

🎥 Subset Demo

🎙️ Future of Coding • Episode 62 Fred Brooks • No Silver Bullet via Ivan Reese

🧵 conversation

Jimmy and I have each read this paper a handful of times, and each time our impressions have flip-flopped between “hate it so much” and “damn that’s good”. There really are two sides to this one. Two reads, both fair, both worth discussing: one of them within “the frame”, and one of them outside “the frame”. So given that larger-than-normal surface for discursive traversal, it’s no surprise that this episode is, just, like, intimidatingly long. This one is so, so long, friends. See these withered muscles and pale skin? That’s how much time I spent in Ableton Live this month. I just want to see my family.

No matter how you feel about Brooks, our thorough deconstruction down to the nuts and bolts of this seminal classic will leave you holding a ziplock bag full of cool air and wondering to yourself, “Wait, this is philosophy? And this is the future we were promised? Well, I guess I’d better go program a computer now before it’s too late and I never exist.”

For the next episode, we’re reading a fish wearing a bathrobe.

Sorry, it’s late and I’m sick, and I have to write something, you know?

Devlog Together

💬 Jason Morris

🧵 conversation

Before and after. Does the paragraph form seem "better"? Took a surprising amount of work, because I had to abandon the NLG being done by the reasoner and write my own version that knows how to deal with nested terms. I'm thinking the new one is probably better for validation, worse for debugging, but I'm not sure.

image.png

image.png

🖼️ Canvas Experiment via Oleksandr Kryvonos

🧵 conversation

hi everyone, I have created another canvas experiment and now I am not sure if this is the way to go for me … maybe next time I will start with pen&paper prototype first

Thinking Together

💭 by Jim Meyer

🧵 conversation

Code is a weird medium. It can act directly upon the world at scale. The only other "things" that can do that are the fundamental forces of the universe.

Code is essentially a kind of Jinn/Genie: Agency in a bottle. Jinn also translates to "beings that are concealed from the senses".

Invisible beings that control our world and battle for our attention. Sounds about right 😁

Future of Coding Weekly 2023/02 Week 1

2023-02-05 23:58

💡 Prompting Is Programming 🤖 Open Assistant 🐸 London Creative Coding 🌯 Type Inference & Effect Handlers

Our Work

🎥🌯 30/01/2023, Effect Handlers via Peter Saxton

🧵 conversation

Vimeo Thumbnail

I've implemented Effect handlers in my language

This is now the whole feature set I wanted to version 2 of my language. Now all that's left is to actually use it

🎥 Nodysseus sync via Ulysses Popple

🧵 conversation

Youtube Thumbnail

Heya, small demo showing sync between nodysseus instances. While this is on a desktop, it also works between two different devices so long as they are online at the same time

🎥🐸 London Creative Coding - Feb 2023 🎉🎉🎉 via Lu Wilson

🧵 conversation

Hi everyone I did a talk at the Peckham Digital festival yesterday! It's about spatial programming! I come in at 42:59 :)

📝🌯 Type inference that sticks | Jared Forsyth.com via Jared Forsyth

🧵 conversation

I've now published my post about type inference + projectional editing 🙂 thanks for the feedback (HN)

📝 "Type inference that sticks" (Draft) via Jared Forsyth

🧵 conversation

Thinking Together

💬 Steve Dekorte

🧵 conversation

Should a good tool/framework/language not only "make easy things easy, and hard things possible", but also (generally) make patterns effortless, and anti-patterns painful?

💬 Maikel van de Lisdonk

🧵 conversation

Has anyone read "compilers principles techniques and tools" and/or "modern compiler design"? Can you recommend one them or another book about the subject? I am getting some experience building compilers currently and the last year or so, but I am still rather new to it and looking for some good reference to help me grow

🐦 Tweet from @dubroy via Mariano Guerra

🧵 conversation

🐦 Patrick Dubroy 👉 @dubroy@hachyderm.io: What are some great ways to present code in a book/docs? Especially when the code is growing, being modified, etc.?

I like what @munificentbob does in Crafting Interpreters…what are some other good examples?

Devlog Together

💬 Jason Morris

🧵 conversation

Spending most of this week taking tree-structured explanations, and generating something approximating a series of paragraphs, then annotating them with cross references like a graph for navigation purposes. The result is persuasive for my target audience. An explanation that they can read and understand and navigated easily is a big deal for demonstration purposes. But I am hating it, because it is technologically trivial. Any tips for getting through the slog of actually doing the thing that is time consuming, valuable, but uninspiring?

🧵 conversation

Also, if anyone has any examples of an interface that uses an auto-fill to let you select a prototype statement, then let's you fill in the blanks in that prototype, I am looking for UI inspiration.

🧵 conversation

Working on a paper for the ICLP this week on Blawx as a visual interface for logic programming. Any tips for getting accepted at ICLP would be appreciated. 🙂

Content

💡 Prompting Is Programming: A Query Language For Large Language Models via Mariano Guerra

🧵 conversation

Prompting Is Programming: A Query Language For Large Language Models

we present the novel idea of Language Model Programming (LMP). LMP generalizes language model prompting from pure text prompts to an intuitive combination of text prompting and scripting. Additionally, LMP allows constraints to be specified over the language model output. This enables easy adaption to many tasks, while abstracting language model internals and providing high-level semantics.

To enable LMP, we implement LMQL (short for Language Model Query Language), which leverages the constraints and control flow from an LMP prompt to generate an efficient inference procedure that minimizes the number of expensive calls to the underlying language model.

We show that LMQL can capture a wide range of state-of-the-art prompting methods in an intuitive way, especially facilitating interactive flows that are challenging to implement with existing high-level APIs. Our evaluation shows that we retain or increase the accuracy on several downstream tasks, while also significantly reducing the required amount of computation or cost in the case of pay-to-use APIs (13-85% cost savings).

PDF Version

📝 Legends of the Ancient Web via Kartik Agaram

🧵 conversation

Maciej Cegłowski gives great talks and also puts up excellent transcripts of them. For example: Legends of the Ancient Web

But just go read anything with pictures on his talks page.

🤖 Open Assistant via Nilesh Trivedi

🧵 conversation

This just came out

📢 Future of Coding Tools have new URLs:

Future of Coding Weekly 2023/01 Week 5

2023-01-29 23:14

🪜 Gradual Languages 🧫 Coding Generative Interactive Systems 🧠 History of Tools for Thought 🦥 Lazy User Interfaces

Our Work

📝 Hedy: A Gradual Language for Programming Education via Joe Nash

🧵 conversation

We have quite a FoC relevant edition of Papers We Love Education this month: we’ll be discussing “Hedy: A Gradual Language for Programming Education” with Professor Felienne Hermans! Thursday 26th at 6pm CET, all the info here: github.com/papers-we-love/edu/discussions/11

For those not familiar with Hedy: hedycode.com

🐦 Tweet from @jimmeyer via Jim Meyer

🧵 conversation

The code engine in Henosia can now interact with Chrome's own debugger, including any local variables used at the breakpoint.

It's an internal tool for now to debug the code engine. Might be useful for hybrid designers though 😁

Details in this twitter post.

🎥 Henosia Breakpoint Locals

Thinking Together

💬 Nick Arner

🧵 conversation

Does anyone have any resources they’d recommend for learning about Rust/WASM?

Content

📝 AI-powered low-code platform by example — how to use chatGPT to abstract from domain languages :rocket: via Jarno Montonen

🧵 conversation

ChatGPT as a natural language abstraction for DSLs?

📝 the Noosphere Discord via Kartik Agaram

🧵 conversation

A couple of links from the Noosphere Discord, just because sharing links is how I add them to my brain:

📝 2023 Rough Questions via Mariano Guerra

🧵 conversation

Two overarching questions:

  • How can we reason about notations/interfaces/editors? So that:

  • We can construct correct interfaces

  • We can distill what we are trying to say into more direct representations
  • We can explore the consequences of what we are trying to say more directly

  • How can we construct more direct analogies for computation?

🎥 "Ceptre: A Language for Modeling Generative Interactive Systems" by Chris Martens via Nilesh Trivedi

🧵 conversation

Youtube Thumbnail

🐦 Tweet from @haxor via Mariano Guerra

🧵 conversation

Are you interested in trying the new functional programming language that I've been developing? Sign up for an early preview

Here's a small glimpse of the language

🐦 Brett Slatkin: Are you interested in trying the new functional programming language that I've been developing? Sign up here for an early preview: https://quil.la/2X2LS I'd love some patient feedback before I release it more widely. Thank you in advance!

🐦 Brett Slatkin: Today's functional programming amusement: Mandelbrot set

1130x838px image

💻 QueryStorm | C# in Excel - QueryStorm via Riley Stewart

🧵 conversation

A fairly complete IDE that can work directly with Excel data via LINQ, with extension capabilities of its own to boot.

Show HN

📝 Natural language is the lazy user interface via Mariano Guerra

🧵 conversation

" Just slap a textbox on it!"

The tyranny of the blank textbox is real.

"people are bad at words"

🎥 Meeting: Tools for Thought Rocks - Mark Bernstein via Jack Rusher

🧵 conversation

Mark Bernstein (who has been doing Tools for Thought stuff for decades, and has had a product in that space since 2001) gives a very rich history of TfT in the hypertext/notetaking vein

Devlog Together

📝 Manual Tests via Kartik Agaram

🧵 conversation

Today I gave each app a default map for its code, so that people get a better initial experience when connecting the driver to it, rather than the blank canvas they've been faced with so far.

Initialization is one of the categories of semantics that's hard to write tests for. What should happen when a config file is present. The driver maintains separate configs for each app it knows about, so it needs to handle the very first app vs first view of a new app. What if the app has no default map. Etc., etc.

Anyways, I ended up touching git.sr.ht/~akkartik/driver.love/tree/main/item/Manual_tests.md after a while.

💬 Lu Wilson

🧵 conversation

a snippet from my weekly blog this week

(pretty niche tode/bret lore content)

image.png

Present of Coding

📢 Future of Coding Newsletter Archive and RSS Feed via Mariano Guerra

🧵 conversation

The future of coding newsletter now owns its small plot of land on the internet: history.futureofcoding.org/newsletter

And because of that it now has an RSS feed: history.futureofcoding.org/newsletter/rss.xml

Future of Coding Weekly 2023/01 Week 4

2023-01-28 21:32

💻 AoC with Enso 💡 First-class Transactions 🤖 ChatGPT All The Things 🫂 Compiled vs Interpreted Languages

Our Work

💻 enso.org via Sylwia Brodacka

🧵 conversation

Little bit late, but a few findings from AoC with Enso (enso.org):

This year we did it internally, hopefully it will be an open competition next year 🚀

🐦 Enso (formerly Luna): New story about our adventures with solving Advent of Code 2022 at Enso together with @jdunkerley @JaroslavTulach and @Radeusgd Solving Advent of Code 2022 with Enso

Devlog Together

💻 BF via Kartik Agaram

🧵 conversation

Kicking the tyres on my environment with a BF interpreter.

This is inspired by Compiled and Interpreted Languages: Two Ways of Saying Tomato

🎥 bf

🎥 bf codemap

Thinking Together

💡 Are there any languages with transactions as a first-class concept? via Steve Dekorte

🧵 conversation

Would be interested to hear the thoughts of folks here on this thread.

💭 by Paul Tarvydas

For me 2022 was:

  • 0D
  • transpiler pipelines

Explanations below.

🧵 keep reading

Content

📝 Meet Claude: Anthropic’s Rival to ChatGPTe via Shubhadeep Roychowdhury

🧵 conversation

Not really topic here, but interesting development nonetheless

🧠 SymbolicAI: A Neuro-Symbolic Perspective on Large Language Models (LLMs) via Nilesh Trivedi

🧵 conversation

Never came across "Neuro-symbolic programming paradigm" but looks interesting 😂

Present of Coding

🧰 history.futureofcoding.org/history/links via Mariano Guerra

🧵 conversation

Updates on future of coding's link search page: history.futureofcoding.org/history/links

Avoid screen freezes:

  • Links data streaming download and parsing by segments

  • Filter by segments

  • Result pagination (less to render on refilter)

Shareability:

Usability:

  • Sort by most recent

  • Table layout fixed

  • Result pagination

  • Keyboard shortcuts

  • f: first, l: last, n: next, p: prev, N: page + 10, P: page - 10, s: focus search

  • Loading status

  • Row highlight on hover

Try it:

PS: I listed the improvements in detail mostly to highlight how many things are involved in a "simple" app that only has a search box and a result list, I think it's a nice 7GUIs style app specification to benchmark future of coding projects

Contents © 2024 Mariano Guerra - Powered by Nikola