✉️ Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2023/06 Week 3

2023-06-23 15:23

💡 Inventing Mario on Principle 📙 Live Coding User's Manual 🤖 Generative all the Things

Two Minute Week

🎥 Nette Generate: Start With A Word via Pawel Ceranka

🧵 conversation

Youtube Thumbnail

Generating initial content for an any workspace.

We are, by design, about non-linear explorations, in that setting it’s not always easy to start.

A bit like sitting in front of a blank page. This feature is like priming / toning the canvas 😉

I personally think visually a lot of the time (spatially / moving pictures), but the trigger for starting a thread of thought is quite often a word, term, phrase or a sentence .

This feature is about that kind of exploration, you drop a word and it ripples out into all kinds of useful directions.

(of course, being useful is the trick here, this is very minimal atm)

The way the app is set-up it’s not difficult for us to generate those workspaces (the blocks are Clojure maps in a re-frame db), so if it turns out that it’s useful we’ll probably generate more content.

Our Work

📝 BASIC to JS Compiler via Kevin Greer

🧵 conversation

Not my main work, but a fun little programming project that's relevant in a number of ways, despite apparently being more about the Past of Coding, than the Future.

I wrote a small (<500 lines of code) BASIC to JS compiler, that lets me run the programs from the class book 101 BASIC Computer Games from 1978. It's interesting for two reasons I think: 1. for those who want to learn about languages and compilers, this provides a very simple example 2. philosophically, I think BASIC really exemplifies the Worse is Better approach outlined by Richard Gabriel and covered in a FOC podcast. It is a terrible language in many ways, but it was small enough to be stored in a 4k ROM and be used to to useful things on an early microcomputer with only 4k of RAM. If we had waited for machines with enough memory to run Lisp, Smalltalk or Algol, the microcomputer revolution would have been delayed by a decade or more. Source: github.com/kgrgreer/foam3/tree/429f2fd2b4cef0e37996a4c4ad35cdf5f83a8b97/src/foam/demos/basic

Online version:

📝 BASIC to JS Compiler

A BASIC to JS compiler that lets you compile classic programs written in the BASIC programming language to JS and then run them in your browser. To us...

🐦 Matt Webb 🌸🌼🌸 on Twitter via Matt Webb

🧵 conversation

I’ve been sketching multiplayer UIs. Folks who came to the most recent London meet will recognise these from my demo. I’m trying not to converge on anything right now — how we interact with AI NPCs is still so open.

I made a new one today, with spatial multiplayer chatrooms and an NPC inhabiting each. It’s on Twitter

An archive of all of my sketches, including a bonus gesture-controlled lamp actsnotfacts.com/made/multiplayer

🐦 Matt Webb 🌸🌼🌸 on Twitter: what if you had one chatroom with an AI for wild ideas... and another next door for a dose of reality?

and you travel between AI NPC chatrooms like a spatial map?

yeah and it's all multiplayer so your friends can be there too?

oh yes ALSO one of the rooms is haunted 👻

Tweet Thumbnail

📝 Multiplayer sketches

A series of software sketches exploring multiplayer UI.

👮 lintrule.com: Let the LLM review your code. via Evan Conrad

🧵 conversation

with encouragement from @Joe Grossberg, down to share what I’m doing…

I make lintrule.com, a little CLI for having a language model do your code review.

You write rules in plain text, and then it checks them against your code, like a test framework. Here’s an example rule that runs on SQL migrations:

include: ["migrations/*.sql"]




Make sure our postgres migrations follow these rules:



1. ensure new tables are at least 3NF (third normal form). If they're not, fail and give an example of what's wrong, assuming the reader does not know terms like "BNCF", "3NF", "BCNF", and so on.

2. make sure that all tables have a created_at and updated_at

3. make sure migrations don't have breaking changes. For example, removing a table, removing column, and so on.

   3.1 It's okay to have a breaking change if there's a comment on the migration that explains why it's safe to have that change.

4. prefer 'uuid' over 'serial' or 'int' for primary keys. Ignore this check if it's primary key made up of two columns.

Screen Shot 2023-06-15 at 3.20.06 PM.png

Devlog Together

💬 Maikel van de Lisdonk

🧵 conversation

Worked on a prototype for visualizing a map operation on arrays using the visual programming system that I am working on, hopefully it's clear from the video what is going on, at least that is the intention 😅

🎥 Demo Video

Thinking Together

💬 Matthew Linkous

🧵 conversation

I’m been thinking about this concept of a “full-stack” database. I’m curious what connotations that invokes for folks here and what features you might imagine a futuristic, “full-stack” database would have? Bonus question: is it “fullstack”, “full-stack” or “full stack”?

💡💬 Kartik Agaram

🧵 conversation

Are people here aware of Super Mario Maker 2 ? I somehow totally missed the memo that one part of Bret Victor's Inventing on Principle has been productionized.

Screenshots from:

iop.png

smm2.png

📝 Emily Dickinson’s Apple Computer House via Ibro C.

🧵 conversation

A look at Folk Computer (ofshoot from Dynamicland by Omar Rizwan and Andrés Cuervo) through Emily Dickinson’s poetry

The 19th-century poet, whose verse still resonates with its open-ended sense of how language produces meaning, is a model for a group of Brooklyn coders inventing a more humane computer.

📝 Live Coding: A User's Manual via Josh Justice

🧵 conversation

Coworker just shared this book and I was surprised not to see it in the search history here (maybe I missed it). I thought this group would be interested: livecodingbook.toplap.org/book/#

To give some scope:

In asking “What is live coding?,” our intention is not to fix or define but rather to explore how live coding opens up . Live coding is about people interacting with the world, and each other, in real time, via code. Live coding is about making software live .

The first part is more practice focused, offering an account of the origins, development, and aspirations associated with the evolution of live coding alongside presenting documentation and examples of live coding practice. The second part is more speculative and conceptual in its register, allowing space for discussion of the many ways live coding reflects and informs wider cultural and political concerns.

📝 Live Coding: A User's Manual

Live Coding: A User's Manual, published by MIT Press

🤖

💬 Greg Bylenok

🧵 conversation

This might fall under "thinking-together", but I'm throwing this here as it specifically relates to AI. For context, I've been working to integrate an LLM into an existing application. If "prompt engineering" is part of the future of coding, here are some challenges to expect:

  • Non determinism: I can repeat a prompt and get back drastically different results, in both content and format.
  • Capabilities: I feel like I'm constantly probing to discover the capabilities and limits of the model. Every interaction is similar to being presented with a blank canvas: What should I ask? What can I ask? Is there something that I could ask that I am forgetting about? Can I reword my prompt slightly and (potentially) get better results? This leads to a lot of experimentation.
  • Expectations: We are tricked into believing the LLM comprehends what we are saying, when it's really just a giant prediction table. Then we are disappointed when it gives less-than-satisfactory replies.

Compare this to programming against a traditional API:

  • On in the input side, an API constrains the vocabulary. With an LLM, everything is fair game.
  • On the output side, I can guess (or learn) the effect of a given API call. With an LLM, it's all probabilistic.

Curious about others experiences here, ways to reason about these models, techniques for overcoming, etc...

💬 Jarno Montonen

🧵 conversation

What are good web based node-based programming environments for implementing simple arithmetic and boolean logic?

Contents © 2024 Mariano Guerra - Powered by Nikola