✉️ Not subscribed yet? Subscribe to the Newsletter
Future of Coding Weekly 2023/04 Week 3
2023-04-16 23:17
🗨 Speech Act Oriented Programming 📚 Journal of Unconventional Computing 🧠 LLMing Fast & Slow 🧞 JIT UIs
Two Minute Week
💬 Joakim Ahnfelt-Rønne
🎥 Type inference on hover for Firefly
🎥 Visual Programming Tool | Visual Programming for the Modern Web via Gabriel Grinberg
Some Flyde progress:
- Run flow from the editor itself! (before that, you had to write some code to load the flow and trigger it yourself
- 5 "New flow" templates - from HTTP examples to a memoized recursive Fibonacci sequence 🤓
- Some general UI tweaks (Large "part menu", hotkeys screen)
Our Work
🐦 Tweet from @jvuillermet via Jeremy Vuillermet
Hi everyone, here is a recording of a data-first design tool I demoed during last future of code meetup.
Next, I would like to explore how to improve the formula input/editor. I think there is an opportunity for more structured editing while adding playfulness and intermediate value preview. I like those 2 directions so far:
- adacraft.org from Nicolas Decoster
- direct programming from Jonathan Edwards
Any other idea or reference in that space?
Devlog Together
I'm making a node-based language for a youtube video. This is my current plan:
It's all about 'pointing'.
In the engine, there are various different types of arrow. And all of these arrows can 'fire' in their own way. For example, some of them fire when you click on them. Some of them fire when they move in a cellular automata grid.
When an arrow fires, it does something. For example, some arrows make a noise. Some arrows create more arrows.
When an arrow fires, it also fires anything else that it points to. It could point to just one other arrow, or many, or even itself.
This 'firing' happens instantly. An arrow fires on the same beat as what it points to.
But you can change the connection, and make it fire one beat later instead. This lets you set up chains of events. One arrow fires, then the next, then the next. You can make loops with this quite easily. Just point an arrow back to itself at some point.
Here's the fun bit: Just like you can make an arrow fire one beat later, you can also make it fire one beat earlier. An arrow in the future can make an arrow fire in the past. This seems to break the rules of causation! But it doesn't, and it's possible, and I'm really excited about it.
Thinking Together
Has anyone read Christopher Alexander’s The Timeless Way of Building in light of future of code? He’s the literal architect whose concept of patterns inspired the software patterns movement. In practice, Java enterprise software patterns are a lot of the past-of-code that we want to get away from. I’ve read that Alexander thought that community missed the point, and from Timeless Way I believe it. From the first chapter he gets into the concept that people should be able to build their own buildings, that it doesn’t take extensive planning, and that it resonates with something very natural within us and within the world. I don’t want to say more as I really think you need to read it in context for it to sink in; but I’d recommend picking up a copy.
Brooks said in the Mythical Man Month.
Fail.
Fail again.
Succeed.
You want to find a way to fail-fast the first two times. Using type-checked, bloatware languages ain’t the way to fail-fast.
🐦 Tweet from @nileshtrivedi via Nilesh Trivedi
I've been thinking: We might need new languages for describing workflows that involve both humans and bots. Something much nicer than BPMN (which is XML-based):
🗨📝 Elephant 2000 via Eli Mellen
I’ll be leaning a discussion at my work about Elephant 2000 soon, and found this very valuable context to help ground the paper in some common, yet not clearly defined terms.
Anyone have thoughts on Elephant 2000?
💬 Eli Mellen
Anyone planning to read anything interesting and future of code adjacent this weekend?
📝 csvbase.com via Christopher Galtenberg
In the space of making data end-user too
CSVbase is another open/public data site csvbase.com (pay/subscribe to keep private data)
Easy to get parquet too, just add ~_*.parquet*_~
after any data url
About page csvbase.com/about
Sharing data is as easy as pasting csvbase.com/new-table/paste even straight from excel
The blog is off to a good start, teaching some basics csvbase.com/blog
📝 Two algorithms for randomly generating aperiodic tilings via Mattia Fregola
📚 International Journal of Unconventional Computing via Konrad Hinsen
TIL about the "International Journal of Unconventional Computing"
📝 A proposed Stack Exchange site for programming language development is close to entering beta! via George Campbell
StackExchange for programming language development
📝 The early days of Linux via Shubhadeep Roychowdhury
🤖
🧠💬 Eric Normand
If we assume GPT is system 1, can we get it to "develop" a system 2 by asking it the right questions?
- I and others have had success asking it to work step-by-step and talk out loud.
- I've also had success asking it to provide a better answer after it answers.
- I've tried doing a de Bono's Thinking Hats scenario to answer questions.
I think there's some interesting work there to be done, especially regarding "frameworks". Like ask it to use a framework to answer the question. Ask it to use several different frameworks then synthesize a single answer.
The cool thing is, it tends to already know the framework. You don't have to program it in, you just have to ask it to use the framework.
I also don't know if there is any advantage to using multiple chats (that don't share history) to collaborate on an answer vs using a single chat with a single history.
🧞🐘 Steve Troughton-Smith (@stroughtonsmith@mastodon.social) via Ivan Reese
Using GPT to generate an app's GUI on the fly. Basically, the design of the app is transient and created dynamically based on the exact need of the moment.
💡 Programming as Theory Building via David Alan Hjelle
Inspired by the podcast on Programming as Theory Building, I put together a short talk with my attempt at trying to explain and/or share my take-aways from the paper. It's for a local (Fargo, ND) developer meet-up. I tried to steer towards the practical implications as much as I could since we have a pretty diverse (in terms of interest and skill-set) audience.