āœ‰ļø Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2024/07 Week 1

2024-06-30 22:19

šŸ”Œ Is an AI copilot for LabVIEW possible? šŸ’¾ Local, first, forever šŸŽ„ Future of Coding virtual meetup #2

Two Minute Week

šŸŽ„ Working on live notation systems with spatial computing for our lil robotsā€¦ via Alex McLean

šŸ§µ conversation

A bit more progress with hand-drawn code. Towards the end you can see there's a bit of abstraction going on

Our Work

šŸ“ Macros and optimizations: it's just a phase via Mariano Guerra

šŸ§µ conversation

Macros and optimizations: it's just a phase: The one where I implement macros and optimizations as a sequence of evaluations with different semantics

šŸ’ is this šŸ¦‹ homoiconic?

šŸ’¬ Hamish Todd

šŸ§µ conversation

I posted a longer version of this above, but I don't think I introduced it very well! It's a stab at Stop Drawing Dead Fish in VR with spreadsheets and something called Geometric Algebra (GA) also known as Clifford Algebra.

Those who have scrutinized Stop Drawing Dead Fish(SDDF) closely might have noticed two references to GA. Bret also used to have a "Geometric Algebra" sticker on his laptop! But while GA is a very Bret thing, he actually did not use it to make SDDF, so my thing is trying to make good on that.

GA is a mathematical system where you get a bunch of geometric objects and transformations, and they all get related to one another by math that is quite a lot simpler than usual. For example, in the conventional/non-GA approach, if you wanted a line in 3D space you'd take two "vectors" v1 and v2 and say the line is the set of vectors v1+t*v2 for all scalars t. This can be kinda useful, but gets complicated if you ask for a simple thing like a rotation around that line. In the GA way of doing things, instead of being "a set of vectors", a line is its own sort of object - lines can be added together; multiplied by planes and rotations; etc. Lots of useful operations turn out to be examples of this, I've attached a pdf of examples.

"doing math/programming by working directly with (tangible/visualizable) geometric objects instead of with linear equations" should strike you as a centrally Bret thing. But why didn't he use it? I'll say in a comment under this message.

šŸŽ„ Video

šŸŽ„ Exploring Technique and Notations for Augmenting DX via Paul Tarvydas

šŸ§µ conversation

Youtube Thumbnail

FTR: Here is the demo video I presented earlier today. I've added links, in the form of a Kinopio page, to the other technologies that I didn't demo.

Exploring Techniques and Notations for Augmenting DX

šŸ’¬ Paul Tarvydas

šŸ§µ conversation

In my demo, I made the statement "... t2t doesn't need the full power of OhmJS ...", but, I didn't clarify.

For t2t - text to text transpilation - primarily, you need to pattern-match incoming text, then emit text based on the input.

OhmJS parses incoming text, then gives you the full power of JavaScript to do anything you want with the parse tree.

For t2t, you don't need to resort to class hierarchies, functions, closures, etc., etc. You primarily need to pattern match, then, create and modify text. In addition to OhmJS' ability to pattern-match, Javascript's "template strings" are about all you need - the ability to create text and to interpolate text from the tree walk of the parsed input.

This seems to be unnecessarily restrictive, but, turns out to be quite powerful and mind-freeing. Fewer options -> less clutter -> increased ability to think about interesting issues. After all, "simplicity" == "lack of nuance", and, my goal is to simplify DX.

[Infrequently, one needs to do a tiny bit more (like gensym() a new symbol and leave it on a scoped stack for use during the tree-walk), so I provide a way to break out and call a Javascript function, but, this kind of power is not needed in most cases. I guess that, in the future, I will restrict this some more, but, I'm still experimenting].

šŸ”Œ Is an AI copilot for LabVIEW possible? via Jim Kring

šŸ§µ conversation

Iā€™m close to publicly releasing an AI powered coding assistant for LabVIEW, a visual programming language. Here is a teaser

šŸŽ„ Video

šŸøšŸŽ„ Reaction Reaction via Lu Wilson

šŸ§µ conversation

I did a four hour livestream performance art piece where I explore the nature of recursion and infinity and time. And it starts with me doing some crappy live coding

Reaction Reaction

Devlog Together

šŸŽ„ Embedding codeflowcanvas and exporting to different formats via Maikel van de Lisdonk

šŸ§µ conversation

Youtube Thumbnail

In this video you can see the progress I made on opening up codeflowcanvas so that it is embeddable in other frameworks/libraries like Astro/Angular and React. I've restructured some of the packages that the project uses and published these to NPM. You can see the embedding of codeflowcanvas on its own website using a custom StorageProvider for loading json files from a javascript bundle: codeflowcanvas.io/devlog/embedded-codeflowcanvas .

This goal of this restructuring is to get codeflowcanvas out of its own silo on various way (for example in the future I want to be able to design flows in a vscode editor and use these together with other framework/libraries without embedding the editor and just run the flows).

A feature that is also made possible by the above is being able to export to external formats like tldraw and the OpenCanvas work-in-progress spec (see canvasprotocol.org). Different strategies can be implemented to provide different formats.

Thinking Together

šŸ’¬ Ivan Reese

šŸ§µ conversation

I'm becoming interested in the idea of "programming tools as art", and as a consequence I'm interested in programming tools criticism.

I'd like to read/watch/hear critical reviews of programming tools that approach them not as bundles of features and capabilities, but as authored works that reflect a creative intent and as cultural touchstones and as environments or artifacts within which one can have deeply personal experiences.

A. Do you share my interest?

B. Do you know any such critics?

šŸ’¬ Alex McLean

šŸ§µ conversation

Who'd be interested in an event with talks and some performances around making notations and programming languages for pattern-making (textile, musical, choreographic etc)? Half focussed online, half focussed in-person, all streamed. Mix of open call and invited talks. All free/open access. Probably in January. Maybe called "Programming Of The Art Computer".

šŸ’¬ GuzhIRegem

šŸ§µ conversation

Hey, someone knows about any research into RAG-Based training of models?

Content

šŸŽ„ Is it really "Complex"? Or did we just make it "Complicated"? via Paul Tarvydas

šŸ§µ conversation

Youtube Thumbnail

Alan Kay talk ā€˜Is it really "Complex"? Or did we just make it "Complicatedā€?ā€™. The talk was given some 9 years ago, but, this is the first time that Iā€™ve seen it

My highlights:

51:21 suppressing the present to see different ways to address the future

51:35 ā€œsemaphoreā€ is a ā€œbad ideaā€, pseudo-time is superior, but never got used over last 30 years

54:10 Nile Graphics Language by Dan Amelang is a dataflow language and is very small. Expresses how to define shapes using pixels in only 45 lines of code.

54:51 - Bret Victor at VPRI

57:59 all compositing rules, including alpha-blending, is expressed in 95 LOC

59:16 whole graphics system, equivalent to what is needed on a PC, is expressed in 435 LOC

1:01:00 - Code has to be transformed into CPU-speak

1:01:38 - we need a ā€œlanguage transforming languageā€ [[pt] At present, I use the term ā€œt2tā€ (text to text)]

1:01:58 - OMeta2 [[pt] OhmJS is an ancestor of OMeta2]

1:02:58 Using OMeta to make Nile, parser 130 LOC, LLL 730 LOC

1:06:00 TCP/IP expressed in 160 LOC

1:20:24 POLs == Problem Oriented Languages [[pt] I use the term SCN - Solution Centric Notation]

1:37:37 hardware is just software that is crystallized early [[pt] I say it another way: software is just soft hardware]

šŸ’¾ Local, first, forever via Nilesh Trivedi

šŸ§µ conversation

On Interoperability of sync services for software designed to be Local-First

šŸ“ Programming in ā€œAbstract Gā€ via Jim Kring

šŸ§µ conversation

Hereā€™s an article I wrote on a visual dataflow language modality where the execution of the graphical dataflow dynamically constructs the dataflow graph that is itself executing. (Itā€™s similar to how Elixer functions can output AST for the function instead of the result and one can alternate between AST via quote/unquote)

Music

šŸŽ„ Detailed walk-through and explainer via avon

šŸ§µ conversation

Youtube Thumbnail

ran into this strange and wonderful physical modeling synthesizer called Anukari which has a lot of lovely 3D VPL concepts in its interface design

The dev also did an ADC talk and thereā€™s a lot of interesting computing going on under the hood, like using the GPU to do all of the physical modeling math: Fast Audio Thread Synchronization for GPU Data - Evan Mezeske - ADC23

Logic Programming

šŸ’¬ Jason Morris

šŸ§µ conversation

What would the syntax be for searching any statement that includes the atom socrates ?

Present Company

šŸŽ„ Virtual Meetup 2 ā€¢ June 26, 2024 via Ivan Reese

šŸ§µ conversation

Youtube Thumbnail

Recording of last week's Future of Coding virtual meetup #2


šŸ‘ØšŸ½ā€šŸ’» 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

Future of Coding Weekly 2024/06 Week 4

2024-06-23 23:27

šŸŽ™ļø Future of Coding 72 ā€¢ Pygmalion šŸŽ„ The Alternate Reality Kit šŸ‘“ We Need a Super Cockpit for the Mind

Two Minute Week

šŸŽ„ Explaining effects with EYG via Peter Saxton

šŸ§µ conversation

Vimeo Thumbnail

Trying to explain effects better with EYG

āŗļø new Macro Recorder object was added this week via Marek Rogalski

šŸ§µ conversation

A new object was added to Automat over the last week - it's the final one that is needed for the MVP to work. And it does work! I've recorded myself writing a small C++ program and the macro recorder replayed it correctly ^^

I guess I'll start posting Automat updates to Mastodon :) Here is the first one - a new Macro Recorder object was added this week!

Our Work

šŸŸ Future of Coding 71-VISION ā€¢ This is not a fish via Lu Wilson

šŸ§µ conversation

Youtube Thumbnail Here it is... the Future of Coding's first official video adaptation.

This is This is not a fish

šŸŽ™ļø Future of Coding 72 ā€¢ Pygmalion by David C. Smith via Ivan Reese

šŸ§µ conversation

If you're anything like me (oof, sorry), you've heard of Pygmalion but never caught more than the gist. Some sort of project from the early 70s, similar to Sketchpad or Smalltalk or something, yet another promising prototype from the early history of our field that failed to take the world by storm. Our stock-in-trade on this show.

But you've probably heard of Programming by Demonstration. And you've certainly heard of icons ā€” you know, those little pictures that have become indelibly part of computing as we know it. Pygmalion is the originator of these conceptsā€¦ and more!

The best introduction to Pygmalion is Mariano Guerra's No-code History: Pygmalion, which includes a clearly articulated summary of the big ideas, motivation, and design, with a video demonstration of the programming interface, key terminology, and links.

The most introduction to Pygmalion ā€” or Pig Million, The Millionth Pig, as it'll surely come to be known ā€” is the subject of today's episode: the original paper by David Canfield Smith.

šŸ¢ Make Your Self via Mariano Guerra

šŸ§µ conversation

Make Your Self: In Search for Maxwell's equations of OOP

My attempt at growing the smallest object oriented language step by step, let me know what you think!

šŸ“ Just Some Innocent Gradient Fun - Untested via Rafał Pastuszak

šŸ§µ conversation

Some Innocent Gradient Fun (explaining how to apply shading via noise + posterise in SVG)

Hi there! This one will be quick. Let's let the code speak for itself for a change. innocent-gradient-fun.webp A week back or so I saw a video by a channel called Texture Labs explaining a simple shaā€¦

Devlog Together

šŸ’¬ Oleksandr Kryvonos

šŸ§µ conversation

šŸŽ„ Flying chars

Reading Together

šŸŽ„ The Alternate Reality Kit via Marek Rogalski

šŸ§µ conversation

Youtube Thumbnail

I've just learned about Alternate Reality Kit. I've searched through the archive and it was mentioned in passing a couple of times but I don't think this article was ever posted: Experiences With The Alternate Reality Kit An Example of the Tension Between Literalism and Magic . There is also a relatively recent video upload (video comes from 87 but it was uploaded only three years ago) which shows a more mature version in action: The Alternate Reality Kit .

Its similarity to the system that I'm developing is just uncanny! I'm very interested in learning more about it. I tried to follow its history to figure out why it was abandoned but I've only been able to track that its development eventually led to the Self language (Self and Self: Whys and Wherefores) which honestly seems like a step back from the original. I have my theories about why it might have been abandoned (which is that educational software is hard to sell) but would love to learn more about it from the people who might know more. Or maybe there are other systems that might have been derived from it?

šŸŽ„ Self and Self: Whys and Wherefores

Self and Self: Whys and Wherefores

šŸ’¬ Konrad Hinsen

šŸ§µ conversation

I don't know, but I have my hypothesis as well as for why this and other user-empowering approaches were abandoned: the rise of PCs. In the late 80s and early 90s, the first PCs appeared and were seen as the obvious road to computing for everyone. But they were not powerful enough to run environments like Smalltalk. It's Basic we got instead. In parallel, professional high-end computing grew as well and that's where the money was. Academia followed the money.

Thinking Together

šŸ’¬ Oleksandr Kryvonos

šŸ§µ conversation

Builders manifesto (aka* Software builders manifesto )

Build as much as you can, experiment as much as you can, build something you are passionate about.

*- I just created this manifesto, so it is a bit of overstretch on the ā€œakaā€ part šŸ˜„

Content

šŸ“ Achieving Self-Sustainability in Interactive Graphical Programming Systems via Shalabh Chaturvedi

šŸ§µ conversation

@Joel Jakubovicā€™s thesis should be interesting to folks here.

Achieving Self-Sustainability in Interactive Graphical Programming Systems Programming is fraught with accidental complexity. Software, including tools used for programming, is inflexible and hard to adapt to one's specific problem context. Programming tools do not support Notational Freedom, so programmers must waste cognitive effort expressing ideas in suboptimal notations. They must also work around problems caused by a reliance on plain text representations instead of Explicit Structure.

The idea of a Self-Sustainable programming system, open to adaptation by its users, promises a way out of these accidental complexities. However, the principles underlying such a property are poorly documented, as are methods for practically achieving it in harmony with Notational Freedom and Explicit Structure. We trace the causes of this difficulty and use them to inform our construction of a prototype self-sustainable system. By carefully reflecting on the steps involved in our specific case, we provide insight into how self-sustainability can be achieved in general, and thus how a motivated programmer can escape the aforementioned sources of accidental complexity.

Future of Coding also gets a shout-out:

I must express my gratitude to the Future of Coding Slack channel for making me aware of Tomasā€™ PhD opportunity in late 2018

šŸ‘“ We Need a Super Cockpit for the Mind (History Talk) By Tom Furness via Justin Janes

šŸ§µ conversation

Youtube Thumbnail

šŸ˜ epic mastodon thread via Ivan Reese

šŸ§µ conversation

This epic mastodon thread has some interesting reflections on Pygmalion.

šŸ“ Christopher Alexander & Center for Environmental Structure Archive via Stefan Lesser

šŸ§µ conversation

For those of you interested in Christopher Alexanderā€™s work: The Christopher Alexander & Center for Environmental Structure Archive is live. Here's an excerpt from Maggie Moore Alexander's announcement:

This new website gives access to 50+ years of work by Alexander and colleagues at CES. The goal of this continuing endeavor is to share the work with all who wish to build and repair living environments in which people thrive. In total, the Archive includes some 29,000 items. About 50% of them have been catalogued to date and are listed on the website. Around 6000 items have been digitized and are now available from the website as downloads. As funding allows, we will work toward making the whole collection available.

šŸ¤–

šŸŽ„ Autocomplete for infinite canvas - Lu Wilson - tldraw - AI Demo Days #1 via Nilesh Trivedi

šŸ§µ conversation

Youtube Thumbnail

Lu Wilsonā€™s AI demo for TLDraw: youtube.com/watch?v=01yE-vzJ-NE

Present Company

šŸ’¬ Ezhik

šŸ§µ conversation

have you ever done a project where you added an embedded programming language for scripting, configuration, fun, etc? what's your go-to choice for the language? why?


šŸ‘ØšŸ½ā€šŸ’» 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

Future of Coding Weekly 2024/06 Week 3

2024-06-16 22:21

šŸŽ„ Snappets: Procedural Animation for children (in VR!) šŸ§® iPadOS "math notes" šŸ’” Some possible goals for the future of software

Two Minute Week

šŸ’¬ Marek Rogalski

šŸ§µ conversation

Things are moving again in the right direction šŸ™‚ This week two new objects got finished - the Timeline and the Key Presser. Just one more and the MVP will be complete ^^

šŸŽ„ Video

Our Work

šŸŽ„ HypoTalk: Let's put JavaScript back in the event handlers via Mariano Guerra

šŸ§µ conversation

Youtube Thumbnail

A demo of HypoTalk, a live environment to develop and compose UIs with the least amount of logic possible.

šŸŽ„ Snappets: Procedural Animation for children (in VR!) via Hamish Todd

šŸ§µ conversation

Youtube Thumbnail

Hey folks, a video of the mathematical animation program I've been working on!

šŸ“ You Are A Coder (zine) by enderverse via ender

šŸ§µ conversation

ā€œEnd usersā€ are always already programming. I made a (digital) zine about this.

Devlog Together

šŸ’¬ Oleksandr Kryvonos

šŸ§µ conversation

very small update to my new project (name selection pending)

šŸŽ„ Demo

Thinking Together

šŸ’¬ Oleksandr Kryvonos

šŸ§µ conversation

A spreadsheet with the FoC projects

šŸ’¬ ender

šŸ§µ conversation

I am currently thinking about working on one or more of these ideas:

  • visual pl for creating your own compiler
  • visual pl for spreadsheet creation and customization
  • visual pl for making domain specific languages

I will probably converge on a visual programming language with a spreadsheet GUI that compiles to WebAssembly. Any resources for intuition about compilers, spreadsheets, or DSLs that help me understand these topics would much appreciate.

(think: x explained visually, explorable explanations)

šŸ’”šŸ’¬ Kartik Agaram

šŸ§µ conversation

Some possible goals for the future of software

After some šŸ’¬ #linking-together@2024-06-06 discussions, I spent some time searching the archives of this community for the word 'manifesto', then skimming the manifestos I found in search of their goals, phrased as problems they saw in the world. Then I clustered them by these problems. Here's what I ended up with, possible problems we have seen in the past:

If the problem you're chasing doesn't quite fit in any of these buckets, please share it in a similar format. (One sentence, not describing a solution.) If it does fit one or more of these buckets, please mention them. (Alternative wordings are also appreciated, but for me the primary goal here is to cluster ourselves.)

šŸ’¬ Don Abrams

šŸ§µ conversation

we keep telling computers how to work instead of what they should do

Content

šŸ˜ Explorable explanations for great good via Kartik Agaram

šŸ§µ conversation

šŸ§® iPadOS "math notes" brings some spreadsheet/Calca mechanics to handwriting via Beni Cherniavsky-Paskin

šŸ§µ conversation

Oh, and they even added Bret Victor style variable "scrubbing".

(Desktop also got builtin Math Notes, minus handwriting, briefly flashed 51:57 ā€” looks very much like Calca.io / Soulver / NoteCalc etc.?)

So, are we "Magic Ink" yet? (I'm not so much thinking of Bret Victor's essay as Ink&Switch's experiments like inkandswitch.com/inkbase, CrossCut & Untangle ...)

On one hand nothing revolutionary, spreadsheets had much more power for decades.

And yet a solid chunk of useful functionality is starting to move into taken-for-granted "this is just how futuristic paper naturally works" territory šŸ‘.

I expect long term it might make such "what-if" explorations accessibleĀ¹ to more people, and more importantly prepare people for more complex interactions on top?

Ā¹ well, once/IF it waters down to lower-end hardware. Good-enough stylus tech remains expensive enough to be niche, not evenly distributed šŸ˜ž

šŸ’¬ Alex McLean

šŸ§µ conversation

I always thought field was well ahead of its time. Prefigured a lot of Bret Victor's demos and future of coding work that followed in 'real world' use.. Happy to see it is still active. Has anyone used it?

šŸ¤–

šŸ“ arcprize.org via Nilesh Trivedi

šŸ§µ conversation

This is an AGI benchmark where LLMs currently perform 34%. A prize has been announced for the first team to reach 85% performance: arcprize.org

Present Company

šŸ’¬ Iacob Nasca

šŸ§µ conversation

anyone around here working in a R&D department ? I need some pointers. Thanks!


šŸ‘ØšŸ½ā€šŸ’» 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

Contents Ā© 2024 Mariano Guerra - Powered by Nikola