โœ‰๏ธ Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2024/05 Week 2

2024-05-12 22:58

๐Ÿง‘โ€๐Ÿซ Live Programming for the Classroom ๐Ÿค– LLM-focused canvas ๐Ÿ’ก Software in Natural Language

Our Work

๐ŸŽฅ DB48X v0.7.5 quick update via Christophe de Dinechin

๐Ÿงต conversation

Youtube Thumbnail

The most powerful scientific calculator in the world just got one tiny step closer towards 1.0.

๐Ÿ–Œ๏ธ Fig via Rafaล‚ Pastuszak

๐Ÿงต conversation

Hej! I made a drawing app where every pixel has a lifespan and eventually dies, check it out here: fig.sonnet.io

(also it has hackable, programmable brushes and a trippy geocities-eque gradients)

Motivated by a dead fig tree in my garden, not associated with the exquisite dead fish above, and partially inspired by this poem by my brotherโ€™s 3yo daughter:

Little ducklings walked

then they fell

and they died.

(something tells me sheโ€™ll turn out to be a goth like her uncle)

untested.sonnet.io/Fig

Nothing lasts forever, so let's draw just for the fun of it!

๐Ÿ’ฌ Cole Lawrence

๐Ÿงต conversation

Iโ€™m making an AI pipeline REPL directly into โ€œForethink,โ€ and I just put in live previewing, so you can observe individual executions ๐Ÿ™‚

I think this will slowly evolve depending on the features we need to build. Itโ€™s nice to build purposefully and not need to worry about being too generalizable or pretty.

๐ŸŽฅ 2024-05-10-Forethink-placeholder-resolution-for-single-execution

Devlog Together

๐ŸŽฅ Quality of life improvements to code-flow-canvas via Maikel van de Lisdonk

๐Ÿงต conversation

Youtube Thumbnail

I've made some very nice UX improvements to the visual programming system that I am working on: it's now possible to replace a node with compatible node-types without hassle. When a node is selected, compatible node-types are shown in a dropdown. This helps especially when doing more creative work when creating a shader/gl flow for example and getting more feeling on what the impact is of certain mathematical operations (in the video youtu.be/K-956F6Vwps I change a multiply node to an arctan calculation).

Another improvement is being able to insert a node into an existing connection.. also taking compatibility into account. This speeds up the creation process of flows in general.

Under the hood I've also made a nice improvement: I can now use jsx components using vanilla DOM without the use of react or other libraries. This is a nice DX improvement when developing my project.

Reading Together

๐Ÿ“ some wandering notes via Pete Millspaugh

๐Ÿงต conversation

^I finished the book a while back and just got around to jotting down some wandering notes.

Would anyone be interested in doing a zoom book club discussion? Slack threads per chapter are nice for participation across time zones, but I prefer the format of reading then chatting about the whole book in one sitting

Thinking Together

๐Ÿ“ Banning the use of if Then Else via Paul Tarvydas

๐Ÿงต conversation

Thinking about banning the use of IF-THEN-ELSE...

๐ŸŽฅ Bootstrapping Research & Dynamicland, Dec 2019 via JP Posma

๐Ÿงต conversation

Youtube Thumbnail

The best Bret Victor talk you've never seen

๐Ÿ’ฌ Andreas S

๐Ÿงต conversation

Hello Future of Coding!

I'm looking for something which I would describe in the following way. There was a few years ago a article on hackernews where someone showed a kind of dynamic state transition visualization. One could setup multiple nodes and avalue flow from one node to the next but there would be also a flow back to the original node. So my question would be does anyone know what I refer to? What was the name of the diagram. I tried to search for dynamic state transition diagram but it is very scary how bad search engines are these days. So the Name of the diagram , the hackernews article or related reousces would be most welcome. Thank you ๐Ÿ™‚

Content

๐Ÿง‘โ€๐Ÿซ Seymour: Live Programming for the Classroom via Nilesh Trivedi

๐Ÿงต conversation

image.png

๐Ÿ’ป github.com/dmotz/trystero via Nilesh Trivedi

๐Ÿงต conversation

This seems clever! WebRTC matchmaking over BitTorrent, Nostr, MQTT, IPFS, and Firebase - removing the need for centralized signaling servers for multiplayer real-time webapps.

๐Ÿค–

๐ŸŽฅ Hunch.tools winning demo at Latent Space's AI UX event in SF via Greg Bylenok

๐Ÿงต conversation

Youtube Thumbnail

Couple of links from some recent digital wanderings:

Hunch Tools LLM-focused canvas, from a recent AI/UX meetup

๐Ÿ’ก GitHub Next | SpecLang via Greg Bylenok

๐Ÿงต conversation

Second link: SpecLang from Github Next, which "is an attempt at lifting the developer experience to a higher level of abstraction, closer to how we conceptually think about our programs"

(Github Next is worth exploring and they appear to be doing quite a bit of FoC-related work)


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/05 Week 1

2024-05-05 22:47

๐Ÿน Arrow toolkit ๐ŸŽน Tone Dome ๐Ÿ“ The cognitive surface of software ๐Ÿ“ข FoC Berlin Meetup

Our Work

๐ŸŽฅ Introducing autocomplete for canvas via Lu Wilson

๐Ÿงต conversation

Youtube Thumbnail

I've been (trying) to build autocomplete for canvas. keen to hear thoughts/ideas from anyone else who's worked on anything similar-ish!

๐Ÿน Quiver: arrow toolkit for the web via Christopher Shank

๐Ÿงต conversation

For the last month I've been working on an arrow toolkit for the web, called Quiver ๐Ÿน. It's exploring 3 problems:

  • What if visual connection could be declaratively expressed in HTML?
  • What if there was a tiny toolkit that enabled all kinds of connection/arrows to be built?
  • How do we break arrows out from spatial canvases and enable them to used on any website?

Currently I'm prototyping some pre-built arrows/connection: curved arrows, orthogonal edges, Xanadu links and hyperedges. But the library is also explicitly designed to be extensible so you can use your own layout algorithms or designs. Part of the extensibility means the ability to easily animate objects along the arrow (for all of those dataflow VPLs out there ๐Ÿ˜œ) or add arbitrary labels/annotations to arrows.

Given that connection is probably one of the most commonly used relationships in visual programming systems, I'm curious if there are any other types of arrows or functionality you would find useful in your own projects? Its not published to NPM yet, but the repo is here.

quiver.gif

๐ŸŽฅ Screen Recording

๐Ÿ’ป github.com/bicycle-codes/progress-indicator via nichoth

๐Ÿงต conversation

Another day, another module. Learning some things about web components this time.

๐Ÿ” Exploring Spaces 3.5: Zoomable Number Line via Elliot

๐Ÿงต conversation

I made a zoomable number line ๐Ÿ™‚

Screenshot 2024-05-03 at 2.56.38โ€ฏPM.png

๐ŸŸ Draw dead fish via Lu Wilson

๐Ÿงต conversation

I made a new experimental tool where you have to draw dead fish

drawdeadfish.com

Devlog Together

๐ŸŽน tonedome.surge.sh via Ivan Reese

๐Ÿงต conversation

Ink & Switch are having a hack week, and I'm working on a generative sound project. You can check out the current version (likely to change as the week progresses) here: tonedome.surge.sh

It sounds a little different every time you run it, but it's also synced to the system clock. So if you run it on, say, every device you own and scatter them around the room, it creates a rather neat immersive aural space.

Would appreciate any bug reports, especially on Android!

Thinking Together

๐Ÿ“ Bloatware via Paul Tarvydas

๐Ÿงต conversation

preliminary musings on bloatware

๐Ÿ“ The cognitive surface of software via Konrad Hinsen

๐Ÿงต conversation

Trying to name a concept: The cognitive surface of software

Has something similar already been discussed, or at least introduced?

๐Ÿ“ intro post via Assaf

๐Ÿงต conversation

I'm exploring strategies to enable scientists (biologists in pharma) without computational expertise be able to interact with big data more intuitively. My ultimate goal is to have users ask biological questions, and the system to generate and execute analytical workflows utilizing existing methods from the scientific domain to answer these questions with data visualizations,

I evaluated the non-interpretable and inaccurate "chat your data" LLM solutions. I'm currently thinking about the possibilities of developing/using a DSL as intermediary output prior to code generation to make the process more interpretable. I am also considering what would be the most efficient abstraction strategies of the analytical functionalities/libraries in certain biological domains to improve the accuracy of the outputs (of the higher level strategy and the actual code). I would love to brainstorm about these problems offline/online. Here's my ๐Ÿ’ฌ #introduce-yourself@2024-05-02 for a bit more context about me.

๐Ÿ’ฌ Jason Morris

๐Ÿงต conversation

I am once again looking at pages of notes I wrote three years ago attempting to find a way to declaratively diagram concurrent legal processes so as to illuminate the steps available to the parties as the process unfolds. I feel like I have something worth exploring, but to illustrate it I need a diagramming language that allows me to nest nodes inside of one another, and draw edges that originate and terminate at arbitrary depths of nodes. DOT won't let you draw an arrow starting at the edge of a subgraph, and doesn't have any way of nesting actual nodes, for example. Is anyone aware of a text-based graphing language that will let me nest objects and draw edges between arbitrary depths?

Content

๐Ÿšœ International Workshop on Functional Art, Music, Modeling and Design via Alex McLean

๐Ÿงต conversation

FARM (aka ACM SIGPLAN International Workshop on Functional Art, Music, Modeling and Design) is taking place in Milan, Italy this year, September 2nd. The call for papers, demos and performances is open, deadline June 1st.

functional-art.org/2024

๐Ÿฆ Tweet from @OrionReedOne via Marek Rogalski

๐Ÿงต conversation

Here is an interesting 2.5D experiment for those who like the canvas approach. I'm pretty sure it could have some practical applications. 2D canvases have a whole dimension spare....

๐ŸŽฅ Demo

๐ŸŽฅ Tomorrow Corporation Tech Demo via Chris Maughan

๐Ÿงต conversation

Youtube Thumbnail

The tooling here is next-level. Bret Victor would be proud

๐ŸŽฅ Laurie Spiegel - Waveshaper TV Ep.6 (Part 1 of 3: Bell Labs) via Lu Wilson

๐Ÿงต conversation

Youtube Thumbnail

๐Ÿ‘๏ธ Vyaakaran - Visualize automata, parsers, grammars for free via Nilesh Trivedi

๐Ÿงต conversation

Really good Automata and formal language visualizer:

๐Ÿ“ Vyaakaran - Visualize automata, parsers, grammars for free

Visualize automata, parsers and formal languages right on the browser in an easy to use interface with Vyaakaran.

๐ŸŽฅ Resonite VR November 2023 (Content Showcase) via Duncan Cragg

๐Ÿงต conversation

Youtube Thumbnail

I've been following Resonite - ex-NeosVR - for a while now, but for some reason I never thought to link it here, perhaps because it's mostly about social VR. But it has an interesting 3D in-world programming system

๐Ÿฆ Hieu :rocket: (@hieuSSR) on X via Christopher Shank

๐Ÿงต conversation

Design principles of SQL from itโ€™s creator

๐Ÿฆ Hieu ๐Ÿš€ (@hieuSSR) on X: Inventor of SQL talks about how they come up with the language

๐Ÿค–

๐Ÿ’ฌ Naresh R

๐Ÿงต conversation

I've been thinking about this tweet from John Carmack (who created Doom), and just generally about a future where AI does most of the coding and I'm managing AI - and... I hate it? It's not to say that I don't see this happening. There's a ton of capital flying around to make it happen, and I think end-users will inevitably gain the capability to build certain categories of simple, customised software.

But as someone who has deeply loved the practice of programming for more than a decade, the future that GitHub (who - in the midst of me writing this - launched Copilot Workspace), Devin, and the rest are painting seems to be leaving out so much of nuances that comes with building anything non-trivial. I absolutely love the idea of operating at a higher level of abstraction (just like how I enjoy writing modern programming languages compared to C or assembly) and getting my ideas/work out faster. But not spending my entire day just asking AI to do things or reviewing code all day - which makes me wonder: how do developers even get good at reviewing code if they aren't spending a ton of time writing code and problem solving? What's the right level of abstraction in this "promised future" that lets me get into the nuances of building software for anything non-trivial and continue problem solving in general? This is perhaps not even a question, and just a general thought I've been thinking a lot about.

image.png

Present Company

๐Ÿ’ฌ J. Ryan Stinnett

๐Ÿงต conversation

I am looking around for tools / frameworks / UI patterns that are roughly of the shape "spreadsheet with editable computation pipeline". What do people know of that's in that category?

To clarify, I realise spreadsheets alone can achieve computation... but I am thinking more of projects where the computation is a bit more "visual" than just formulas in cells, perhaps like a nodes or blocks environment that then feeds into a table / spreadsheet to display data. @Paul Shen's Natto is one such example of the kind of thing I am thinking of. There might be other ways to do this beyond just a series of nodes that feed into a table... I'm curious to see what else might be out there already. I wonder if there are projects in the data analysis / computational science spaces that might fit...?

Apologies if my question is too vague, I'm still trying to work out what I'm even looking for. ๐Ÿ™‚

๐Ÿ’ฌ Mariano Guerra

๐Ÿงต conversation

[April 10th, 2024 8:20 PM] mariano: :loudspeaker: Future of Coding Berlin Meetup: Show and Tell + Walk and Talk on June 1st!

We are organizing an informal meetup the day after https://www.localfirstconf.com/ in Berlin, the idea is to meet early in the day somewhere TBD, do a show and tell and then if you are willing go for a walk through Berlin stopping for food/drinks/resting every now and then.

If you are interested send me a DM with your email (will only be used to share updates and info about this), the places are limited so please contact me as soon as possible.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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 2020/03 Week 1

2024-05-02 08:42

Welcome! Starting this week I will expand the "Demos" section to include original content created by Future of Coding members.

The "From our Community" section will have content shared by members but that comes from "outside".

But first things first, there's a new podcast episode, great topic and impressive production, check it out:

๐ŸŽ™๏ธFuture of Coding โ€ข Episode 45: Orca, with Devine Lu Linvega

Orca is typically encountered as an inky black and seafoam green alphabet soup, pulsating to some species of broody electronic industrial throb. But it is also a forgiving learning environment that doesnโ€™t crash, puts code and data together in the same space, lets you directly manipulate code and data interchangeably, allows generous recovery from mistakes, and supports discovery through freeform play.

This is one of those "a very special episode" sort of things where.. it's going to be a bit different from the episodes I make for the forseeable future. Hope you enjoy it!

Demos & Community Original Content

๐ŸŽฅGeoffrey Litt shared an update on his website customization with spreadsheets project: More examples of customizing Hacker News with a spreadsheet

  • show estimated read times (fetched from an API)
  • sort longest reads first, prioritize deeper content
  • add personal annotations

All in 1 minute, just using formulas. So many possibilities!

--

๐Ÿ“๐ŸŽฅSol Bekic has been working on/with a new interaction model for livecoding for a while, and just put together the first comprehensive summary of the approach: alivecoding: livecoding with persistent expressions (๐ŸงตSlack Thread)

--

๐ŸŽฅMariano Guerra shared a short demo of a UI feature: All the Small UX Things: repeat column names in the footer to shorten drop distance to cells below

The example shows how to reorder columns and configures an aggregation of attendance by home team when the away team is "Arsenal"

From our Community

๐ŸŒShalabh Chaturvedi shared https://ballerina.io/: A Programming Language for Network Distributed Applications (๐ŸงตSlack Thread)

Whenever possible, Ballerina prioritizes programmer convenience & productivity with familiarity, clearer abstractions, and easier concepts over uber system performance.

In Ballerina, every program is a sequence diagram that illustrates distributed and concurrent interactions automatically. The diagram is the code. The code is the diagram.

--

๐Ÿ’ปKarki shared Debug Visualizer: A VS Code extension for visualizing data structures while debugging.

--

๐Ÿ“Rafael Luque shared "Some old thoughts about the need for a new way of thinking about software." via Shalabh Chaturvedi

The reality is that a usual software project stack involves an increasingly larger number of programming languages, DSLs, frameworks, systems, tools, techniques and processes, so it is a fact that the accidental complexity in our day-to-day software projects is increasing to unbearable levels.

We plan to build a new breed of dynamic and fully conceptual modeling environment in order to enable programmers to work through every development stage --analysis, specification, design, implementation, deployment, evolution, etc.-- at the conceptual level and explore their dynamic models as a thinking and learning tool.

--

๐ŸŒShalabh Chaturvedi shared The Physics of Software

"This work is about a possible theory of forces in software, and how it can inform the way we design, the way we talk about design, and the way we think about design."

Some interesting philosophizing - discussion about software as a material and the true nature of software.

--

๐ŸŽฅ๐ŸŽฎWill Crichton shared Dreams | Release Date Trailer | PS4

Seems interesting to view as a commercial end-user programming system.

--

๐Ÿ“Scott Anderson shared Developing Embodied Familiarity with Hyperphysical Phenomena

Interesting set of VR interaction prototypes

--

๐ŸŽฅScott Anderson shared Example-based procedural placement in a dialogue system

--

๐ŸŽฅCharlie Roberts shared Visualizing quaternions quaternions: An explorable video series

The โ€œexplorableโ€ videos in this quaternion explanation are nicely done with an interesting reactive ui

Future of Coding Weekly 2024/04 Week 5

2024-04-29 16:17

๐Ÿฉ Exploring Spaces ๐Ÿฆ Bootstrapping Research & Dynamicland ๐Ÿ“ข LIVE Workshop on Live Programming

Two Minute Week

๐ŸŽฅ Live Probe via Dany

๐Ÿงต conversation

Youtube Thumbnail

I have some progress in miqula, it can now show the current data of a node.

The video is with voiceover, hopefully makes it easier to follow. (albeit this is not a tutorial of sorts)

๐ŸŽฅ LLM code generation for Levlo via Jarno Montonen

๐Ÿงต conversation

Been playing around with LLM code generation for Levlo

Our Work

๐Ÿ”‘ github.com/bicycle-codes/link via nichoth

๐Ÿงต conversation

Just factored out the "linking" code. Its intended to be the simplest possible way to securely get the same AES key onto multiple machines.

โœ… Level DB + E2E encryption + todo lists via nichoth

๐Ÿงต conversation

This is a demo app for an upcoming blog post

  • [x] local-first
  • [x] E2E encrypted
  • [x] multiple devices per user

๐ŸŽˆ Glamorous Toolkit via Tudor Girba

๐Ÿงต conversation

For those that are intrigued by Glamorous Toolkit, perhaps the following talk can be interesting:

Wednesday, April 24, 8pm CET

UK Smalltalk User Group

What exactly is Glamorous Toolkit?



To some people Glamorous Toolkit is a Pharo environment. To others it's a knowledge management system. Others might see a code analysis platform, a data visualization or an API browsing tool. Yet others see the graphical stack with its interactive editors. Glamorous Toolkit is all of these. But it's really also none of these. These are merely examples of the many forms the environment can be molded to. And there can be many more. Glamorous Toolkit is primarily an environment that makes it possible to create many experiences seamlessly and contextually. This then leads to a new way of programming that we call Moldable Development.

Join remotely here: meetup.com/ukstug/events/300575234

๐Ÿฉ Exploring Spaces 1: Torus via Elliot

๐Ÿงต conversation

Yesterday I taped together a paper torus, built some inputs that wrap around like a torus, and drew some lines on a torus. I wrote a little post about my exploration! Exploring Spaces 1: Torus Would love to hear your feedback, criticism, adjacent thoughts, etc!

โ™พ๏ธ Exploring Spaces 2: Twisted Taping via Elliot

๐Ÿงต conversation

I wrote another little post, "Exploring Spaces 2: Twisted Taping". I made a twisted paper strip this time, and made some more interactive spaces you can try moving around in Exploring Spaces 2: Twisted Taping.

I really enjoyed the feedback and adjacent thoughts on the last one from Joshua Horowitz and Konrad Hinsen! Once again, I'd love to hear feedback, criticism, and adjacent thoughts ๐Ÿ™‚

๐Ÿ›ธ A moldable inspector for Common Lisp via Konrad Hinsen

๐Ÿงต conversation

A video introduction to my moldable inspector for Common Lisp

Code:

๐Ÿ’ป clog-moldable-inspector

A moldable Common Lisp object inspector based on CLOG

๐Ÿงฎ You Draw Inflation ๐Ÿ“ˆ via Declan

๐Ÿงต conversation

I made a 'you draw it' type input widget where you draw inflation. I'm trying to permit being a little bit deliberate about scenarios too. It's something I'll develop for defining scenarios for other calculation models. It's in a short blog post

๐Ÿ’ฌ Jim Meyer

๐Ÿงต conversation

The future of code involves waiting for Copilots (Even though they get faster all the time, we'll just ask more and more of them).

We took a stab at visualizing the design decisions that our Copilot makes while it's coding the design you've prompted it for.

Instead of just spinners or the raw stream of text like chat UIs, we overlay this visualization where the design will appear on the canvas. Each visualization reflects a design variant that Copilot works on, and is computed in real-time based on the token streams from the LLM.

๐ŸŽฅ copilot streaming - music player

๐ŸŽฅ copilot streaming - vacation

๐Ÿ”„ Exploring Spaces 3: Taping Infinity via Elliot

๐Ÿงต conversation

Here is my 3rd exploring spaces post about taping -โˆž and +โˆž together ๐Ÿ™‚โ™พExploring Spaces 3: Taping Infinity

Devlog Together

๐Ÿ’ฌ Nilesh Trivedi

๐Ÿงต conversation

Currently experimenting with this idea of adding Types and Reactivity to JSON as a domain-specific language for LLMs to generate miniapps or reactive documents on the fly.

image.png

image.png

Thinking Together

๐Ÿ”Œ Composability: Designing a Visual Programming Language via John Austin

๐Ÿงต conversation

Ok, I've been thinking a lot about composable systems recently, and why I don't find visual programming languages like blueprints very flexible. Wrote up a blog post about it. Basically, I think the value graph is a more fundamental primitive for computation than execution graphs. Composability: Designing a Visual Programming Language

๐Ÿ’ฌ Greg Bylenok

๐Ÿงต conversation

Does anyone else think of "configuring" as distinct from "programming"? Some activities I consider "configuring" and not "programming": much devops work such as Terraform, YML files for build pipelines, even commonly labeled "programming" of a VCR/DVR.

๐Ÿ“ openapic: openapi compiler like protoc | Ivan Chebykin via Ivan Chebykin

๐Ÿงต conversation

Hi everyone, I'm currently trying to think of ways to improve OpenAPI developer experience, can someone check out the design doc for a simplified OpenAPI generator: chebykin.org/posts/openapic

๐Ÿ’ฌ Dennis Hansen

๐Ÿงต conversation

Random thought/question. I've noticed canvas based design tools have converged on a panel configuration of "Layers | Canvas | Properties | (and sometimes Timeline)"-- as opposed solving the underlying needs another way. Is this pattern the end-all-be-all? Or a local maxima? I tend to think the later.

Content

๐Ÿ“ Nanopublications: Rethinking global knowledge sharing (Tobias Kuhn) via Andreas S

๐Ÿงต conversation

Nanopublications are looking really interesting to me, I hope for you too ๐Ÿ™‚ : Nanopublications: Rethinking global knowledge sharing (Tobias Kuhn)

Slides

nanopub.net

๐Ÿฆ Bootstrapping Research & Dynamicland, Dec 2019 via Dennis Hansen

๐Ÿงต conversation

Someone on twitter scraped Dynamicland to find a few amazing unlisted Bret Victor talks on YouTube. Donโ€™t think heโ€™d mind this community seeing them :).

๐Ÿฆ JP Posma (@JanPaul123) on X: The best Bret Victor talk youโ€™ve never seen. Bootstrapping Research & Dynamicland, Dec 2019

Tweet Thumbnail

๐Ÿ๏ธ causalislands.com via Duncan Cragg

๐Ÿงต conversation

This is new to me. Anyone ever heard of it?

๐Ÿ“ข LIVE 2024: The Tenth Workshop on Live Programming via Joshua Horowitz

๐Ÿงต conversation

This year Iโ€™m helping organize LIVE, the Workshop on Live Programming. A lot of folk here in FoC are working on projects related to livenessโ€ฆ I encourage you to consider submitting your work!

(Here, โ€œlive programmingโ€ means โ€œgetting immediate feedback on the behavior of your program even while youโ€™re programming itโ€. That includes โ€œLearnable Programmingโ€-style interfaces, spreadsheets, notebooks, REPL-y stuff, interfaces for live performances with code, many interfaces for making art with code...)

LIVE is an academic conference, but itโ€™s attracted great work from people both in and outside the academy. Submitting a project to LIVE might be an opportunity to communicate about your work in a new way and get thoughtful feedback on it from a new community. (We have some tips for non-academics in our FAQ.)

The submission deadline is July 7 . The workshop will be some day TBD October 20-25, 2024 in Los Angeles .

Feel free to DM me if you have questions or concerns; Iโ€™d be excited to help out. ๐Ÿ™

liveprog.png

๐Ÿค–

๐Ÿ“ platform via Assaf

๐Ÿงต conversation

Anybody interested in bio/drug discovery applications? Iโ€™m working on a platform which aims to answer complex biological questions by talking to scientists. Itโ€™s not an autocomplete or a copilot. Itโ€™s a real AI developer that does all the coding while scientists give it feedback. Would love to chat about this domain or specific application and get your feedback.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/04 Week 4

2024-04-23 12:01

๐ŸŽ™๏ธ FoC 71 โ€ข Elephant in the Room ๐Ÿงถ Stitching worlds ๐ŸŽฅ bi-directional data flow using visual programming

Our Work

๐Ÿ“ Zest: syntax via Jamie Brandon

๐Ÿงต conversation

If syntax isn't important why does this feel so good...

๐ŸŽ™๏ธ Future of Coding 71 โ€ข Elephant in the Room via Ivan Reese

๐Ÿงต conversation

Yes, all three of them in one episode. Phew!

Devlog Together

๐Ÿ’ฌ Tak Tran

๐Ÿงต conversation

Iโ€™m playing with electronics and crocheting atm. Imagining what other ways there are to interact with a computer, other than keyboard and mouse. This is a custom made bend/pressure sensor using copper sheets, velostat as a semi-conductive layer in between, with a crochet leaf on top and felt on the bottom, for a soft, non metallic feel ๐Ÿ‘

๐ŸŽฅ Video

๐Ÿ”™ How can you even reverse a function? via Ivan Reese

๐Ÿงต conversation

I shared some thoughts about my personal definition of reversible computing over on Mastodon today. (Yeah, I slightly mangled the example of a surjective function โ€” should have said nonnegative integers.)

๐ŸŽฅ bi-directional data flow using visual programming via Maikel van de Lisdonk

๐Ÿงต conversation

Youtube Thumbnail

In this video I show a small celsius to fahrenheit converter (this is one of the tasks from 7Gui) that I build using my visual programming system and extended it where needed.

The solution uses an observe-variable node-type which triggers a flow when a variable gets set. I've also build a new user-input node with decimal formatting option (in the near future I will extend this to be configurable forms for collecting user-input).

You can see what happens as you type in the celsius or fahrenheit temperature in the input fields (you see the data flowing though the flow). To prevent an infinite loop, the flow-engine uses a call-stack which stops running when a node gets run twice.

I am still thinking of different solutions but for now this works (some nodes gets run unneeded, I think this can be optimized). Per node-call the node-id, scope-id and input port-name is stored on the call-stack, this is needed to keep other things working like the recursive functions in the quicksort example.

The celsius-to-fahrenheit converter can be tried out here : demo.codeflowcanvas.io via the examples dropdown.

Content

๐Ÿงถ Stitching worlds via Tak Tran

๐Ÿงต conversation

Stitching worlds - a magazine imagining โ€œWhat if electronics emerged from textile techniques such as knitting, weaving, crochet, and embroidery?โ€ - Stitching worlds (stitchingworlds.net)

An embroidered computer using gold embroidery and magnetic beads (in the magazine): ireneposch.net/the-embroidered-computer

๐Ÿ“ stitchingworlds

Stitching Worlds is an artistic research project funded by the Program for Arts-Based Research (PEEK) of the Austrian Science Fund (FWF). The project is hosted by the University of Applied Arts Vienna, Institute of Design, Department of Industrial Design 2.

๐Ÿ“ The Embroidered Computer | Irene Posch

The Embroidered Computer uses historic gold embroidery materials to craft a programmable 8 bit computer.

๐Ÿ“ sesnors via Tak Tran

๐Ÿงต conversation

Also, a treasure trove of ideas for ways of making DIY sesnors/connections/actuators and random other things - How to get what you want (DIY wearable technology documentation)

Great name too ๐Ÿ˜„

๐Ÿ“ Understanding and Effectively Mitigating Code Review Anxiety via Eli Mellen

๐Ÿงต conversation

Not a 1:1 future of coding article, but this paper recently published by the dev. success lab is pretty neat, especially if you are interested in helping to foster learning culture.

๐Ÿค–

๐Ÿ’ฌ Jason Morris

๐Ÿงต conversation

Has anyone done any work with the memory design from the human simulacrum paper by Joon Sung Park? Saw a presentation last week at Stanford, the boss is having me experiment with his code base. Would like to exchange notes.

Present Company

๐Ÿ’ฌ Tom Lieber

๐Ÿงต conversation

My favorite loosely-syntaxed calculator finally has another mobile release! image.png


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/04 Week 3

2024-04-16 15:51

Two Minute Week

๐ŸŽฅ visual programming with improved timeline slider via Maikel van de Lisdonk

๐Ÿงต conversation

Youtube Thumbnail

I've been improving the timeline-slider in my visual programming system code-flow-canvas.. you can try it out here : demo.codeflowcanvas.io (best experience is on desktop since the mobile and touch responsiveness is still lacking).

Additionally the state-machine node now also shows its transitions when executing a flow or using the timeline slider.

Also some the nodes that are used to visualize data have been connected to the flow-execution history. Some changes were needed in keeping track of state and updating nodes visually when using the timeline slider.

In this video I show some of the examples together with the timeline slider here

Our Work

๐ŸŽฅ Building an everything shell via Peter Saxton

๐Ÿงต conversation

Vimeo Thumbnail

I've started building an "everything shell". It uses my language EYG and a structural editor. the whole thing is be hosted with the idea that the resources you can ask about (instead of filesystems and processes) are every cloud system I have.

๐Ÿ’ฌ Ivan Lugo

๐Ÿงต conversation

โ€œItโ€™s a Unix systemโ€ฆ I know this!โ€

Something from a year or two ago that I built and iterated on since then. Ever wanted to see all your files in 3D to get a mental map? No problem - use CherrierView - a terminal-style, colorized .dae blit of arbitrary directories into space.

๐ŸŽฅ Demo

๐ŸŽฅ Torn Leaf Zero via Lu Wilson

๐Ÿงต conversation

Youtube Thumbnail

I made a video to introduce an exhibition im making called TORN LEAF ZERO

It features a collaborative artwork with over one hundred participants

Devlog Together

๐Ÿ“ exaequos.com via Kartik Agaram

๐Ÿงต conversation

I've been playing with a new platform that I hope will be quite convivial. Hosted ๐Ÿ˜ฌ but no Javascript and seems easy to build and self-host. Created by a single person, so decent chance of staying simple over time. It seems to be a fork of emscripten that's been made habitable. In particular, it includes raylib and some Lua bindings to it, so I'm starting to feel at home.

exaequos.com

I ported one of my early Lร–VE apps to it, for geometric constructions. There's an app store and I've published my app there, so you should be able to run it for yourself and inspect the source code. (All apps on the app store are available right in the file system, under /usr/store !)

Disclaimers. It's slow, like dialing up over a phone line. Still lots of bugs. I had to reboot the VM several times while recording this video. Commands often hang or crash, then completely stop working until I reload. It's never lost my data, though. Data is stored in local storage on the browser until you publish something to the app store.

๐ŸŽฅ exaequOS

Thinking Together

๐Ÿ’ฌ Hamish Todd

๐Ÿงต conversation

I'm thinking about spreadsheets. Has anyone ever made a convincing interface for defining functions , using a spreadsheet interface?

(I am aware that you can define functions in most modern spreadsheets, but this requires you to go to a traditional coding interface. This is obviously cheating!)

๐Ÿ’ฌ Andreas S

๐Ÿงต conversation

Hi FoC Community ๐Ÿ™‚ I'm looking for something that i found a couple of years ago and apparently my fuzzy descriptions fail my zettelkasten or a search engine for that matter. I think I'm looking for a clojure talk in which someone presented also a tool. This tool used a UI of 2 or Three circles as a kind of number REPL which explained for example how the map function works in clojure. I hope that isn'T too vague if you know the name of the tool, that would be very cool. Thank you!!

๐Ÿ“ Where does constant data go? via Dany

๐Ÿงต conversation

I wrote a blog post about constant data in PL. Which is kind of curious in text based PL and a place where more visual approaches can really shine.

All of the programming languages I know make an interesting distinction, between two groups of constants, depending on type.

Content

๐Ÿ“ Future of Coding Weekly 2020/02 Week 1 via Mariano Guerra

๐Ÿงต conversation

๐Ÿ“œ Past Futures of Coding February 2020 Edition

๐Ÿ’ฌ Stefan Lesser

๐Ÿงต conversation

Iโ€™ve been reviewing classic papers about simplicity, complexity, and adjacent topics, both for my current series of essays and an essay Iโ€™m writing for Onward!

So far I have reviewed (or downloaded for review):

  • Herbert A. Simon, The Architecture of Complexity (1962)
  • Melvin E. Conway, How Do Committees Invent? (1968)
  • Peter Naur, Programming as Theory Building (1985)
  • Frederick P. Brooks, Jr., No Silver Bullet โ€” Essence and Accident in Software Engineering (1986)
  • Richard P. Gabriel, Worse is Better (1991)
  • Rich Hickey, Simple Made Easy (2011)

What am I missing? What else should be on that list?


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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 2020/02 Week 4

2024-04-10 10:08

On the experiment side, this week I started playing with emojis to allow quick scans for content of interest, I will try to be consistent with the emoji usage so people can use them to orient around a previously dry wall of text (the tool I use doesn't excel at promoting creative expression)

Demos

๐ŸŽฅNew little demo of end user software customization by Geoffrey Litt

  • Sort Hacker News by total points descending, for a more stable ranking
  • Remove the articles I've already read

--

๐Ÿ’ปChet Chorcos shared a full-stack prototype of collaborate web application backed by a Datalog-inspired database he built in one day.

๐Ÿ“‘ Useful resources mentioned in the How does it work? section of the readme.

--

๐ŸŽฅ A brief walk-through on the steps needed to create launch visualizations from the SpaceX HTTP JSON API (cameo of the basket to ease drag and drop of multiple things in targets far apart from the source). Also short demos about Premier League Attendance and Goals by Team from CSV File and Sales KPIs from an Excel Spreadsheet by Mariano Guerra

From our Community

๐ŸŽฅBeyond Snapping: Persistent, Tweakable Alignment and Distribution with StickyLines

UIST 2016: Proceedings of the 29th Annual ACM Symposium on User Interface Software & Technology

Aligning and distributing graphical objects is a common, but cumbersome task. In a preliminary study (six graphic designers, six non-designers), we identified three key problems with current tools: lack of persistence, unpredictability of results, and inability to 'tweak' the layout.

We created StickyLines, a tool that treats guidelines as first-class objects: Users can create precise, predictable and persistent interactive alignment and distribution relationships, and 'tweaked' positions can be maintained for subsequent interactions.

--

๐ŸŽฅBeyond Grids: Interactive Graphical Substrates to Structure Digital Layout

CHI'17: ACM CHI Conference on Human Factors in Computing Systems Session: Spatial & Temporal Design

Traditional graphic design tools emphasize the grid for structuring layout. Interviews with professional graphic designers revealed that they use surprisingly sophisticated structures that go beyond the grid, which we call graphical substrates.

We present a framework to describe how designers establish graphical substrates based on properties extracted from concepts, content and context, and use them to compose layouts in both space and time.

--

๐ŸŽฅProject Lincoln: Adobe MAX 2017 (Sneak Peeks)

Lincoln is a data visualization tool for designers to link graphics to data without the need to code.

--

๐ŸŽฅData Illustrator: Create infographics and data visualizations without programming

Augmenting Vector Design Tools with Lazy Data Binding for Expressive Visualization Authoring.

Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2018

--

๐ŸŒCharticulator: Create Bespoke Chart Designs without Programming. ( ๐ŸŽฅ Video)

--

๐ŸŽฅJennifer Mary Jacobs - Domain Specific Programming Platforms for Creativity

--

๐Ÿ“Programmer's critique of missing structure of operating systems by @bystroushaak who expresses his frustration in using raw text (files, command parameters, environment variables, socket...) as unique way to communicate at the OS level.

--

๐Ÿ“‘ A list of future of programming projects maintained by Daniel Garcรญa Carmona.

--

๐Ÿงต A twitter thread by @gravislizard argues that keyboard based old text UI was faster and not necessary less intuitive than web UI with mouse: > almost everything on computers is perceptually slower than it was in 1983 amber-screen library computer in 1998: type in two words and hit F3. search results appear instantly. now: type in two words, wait for an AJAX popup. get a throbber for five seconds. oops you pressed a key, your results are erased.

Follows a Slack thread which eventually discusses distributed, interactive, stateful apps/systems.

--

๐ŸŽฅStamper: An Artboard-Oriented Creative Coding Environment by Cameron Burgess (๐ŸงตSlack Thread, Twitter Thread)

Stamper is an alternative editor for p5.js, inspired by design software with Artboards (e.g. Sketch, Illustrator)

๐Ÿ“ Read more here: Stamper: An Artboard Oriented Programming Environment

Future of Coding Weekly 2020/02 Week 3

2024-04-10 10:07

Announcing the awesome program for the Convivial Computing Salon 2020 - โ€นProgrammingโ€บ 2020

Demos

Raathi Kugarajan shared his project JSBubbles: Re-imagining reading and navigating JavaScript codebases in VSCode

I was tinkering with a VSCode extension inspired by Code Bubbles but my effort was mostly focused on navigating and reading JavaScript code bases.

--

Andrew Reece posted a second DevLog for WhiteBox, a live debugger/REPL for C(++) - now with a GUI, a familiar debugger-like data tree, graphing variable value changes across a function.

WhiteBox DevLog 2 - GUI, data trees and graphing values over time

--

Bloques Web Update by Mariano Guerra

An update to the tool to teach HTML/CSS/JS to non programmers, added new high level blocks, some even for layout, two lower level layers that get closer and closer to textual HTML. Also added import/export.

From our Community

Talk presenting Geometric Algebra for Computer Graphics which seems to simplify operations compared to other representations.

More information on the website https://bivector.net/

Clifford's Geometric Algebra enables a unified, intuitive and fresh perspective on vector spaces, giving elements of arbitrary dimensionality a natural home.

Implementations in Javascript, c++, c#, rust and python at the ganja.js project.

--

Jason Laster shared Web Replay which supports Time Travel Debugging

Web Replay records your entire application, so you can track bugs down faster, understand your code better, and always get perfect bug reports.

--

Greg Law on Debugging, Record & Replay of Data, and Hyper-Observability by Greg Law via Karki

Topics discussed included: the challenges with debugging modern software systems, the need for โ€œhyper-observabilityโ€ and the benefit of being able to record and replay exact application execution; and the challenges with implementing the capture of nondeterministic system data in Undoโ€™s LiveRecorder product for JVM-based languages that are Just-In-Time (JIT) compiled.

--

All Programming Languages are Wrong by David A. Moon (Slack Thread)

Most current-day programming languages seem to be based on the idea that computation is slow, so the user and the compiler must work hard to minimize the number of instructions executed.

Compromises to minimize instructions extend so far as to make familiar-looking operators like + and < behave in unintuitive ways. If as a result a program does not work correctly in some cases, it is considered to be the programmer's fault. But it is really the language designer's fault.

--

Ryan Florence on twitter:

Whenever I talk to teenagers about programming they want to do it on their phone.

And an interesting Slack conversation about it.

--

Graydon Hoare on "text is already a highly-structured graphical notation" via yoshiki

many technical innovations are latent in textual notations. Visually unambiguous yet uniform symbol sets, combinatorial-positional word formation, linear spatio-temporal segregation, punctuation and structured page layout .. these are all technologies in writing that we had to laboriously invent, and they have purposes, advantages! Similarly in coding, we had to invent and adapt technologies from verbal and mathematical notations refined over millennia: lines and columns, indentation, block layout, juxtaposition and precedence, scope, evaluation order, comments, grammars, version control, diff and merge algorithms ... the pile of structuring technologies embedded in the textual representation of programs isn't free, and it isn't useless

So I'm just really cautious when people suggest throwing it all out for some hypothetical reinvention. You need those structures: so you've got an immediate problem of "what are you going to use instead", and a longer-term question of "what makes you think you're not going to wind up right back at the same place ten thousand years of refining graphemes-on-a-page wound up"?

There's more where those quotes came from: Re: Graphical Editors

--

Chris Knott shares an interesting story about evolving clocks to solve a particular problem in a Slack conversation. A similar story about the MacCready Gossamer Albatross is shared there too.

Some quotes:

importance of not confusing incidental problems for fundamental problems

the entire issue is not solved, but sidestepped

Future of Coding Weekly 2020/02 Week 2

2024-04-10 10:06

New Future of Coding Podcast #44 - Making Your Own Tools: Devine Lu Linvega | Future of Coding by Ivan Reese

Devine Lu Linvega and his partner Rekka live on a sailboat. He makes art, music, software, and other cultural artifacts. When Photoshopโ€™s DRM required that he maintain a connection to the internet, he wrote his own creative suite. When his MacBook died in the middle of the ocean, he switched to Linux with hardware he could service. His electricity comes from solar panels, and every joule counts โ€” so thatโ€™s out with Chrome and Electron and in with Scheme, C, assembly, and maybe someday Forth.

Demos

Customizing Airbnb with a spreadsheet by Geoffrey Litt

At 3:10 in this demo video, I drag select multiple listings on a website, and bulk perform an action on them.

From our Community

Anders Hejlsberg on Modern Compiler Construction. By Anders Hejlsberg via Daniel

In this video Anders a great foundation of compiler construction by describing the traditional methodologies that have been used in the last 30 or so years. He then uses that foundation to describe modern tooling needs and how compilers have adapted to meet increasing demands.

--

An interesting Twitter thread on the preservation of digital art, including comment on how it hurts that digital artists can't fully manage the media they use. (Long and interesting Slack Thread). By Matt Popke via Konrad Hinsen

--

Programs are a prison: Rethinking the fundamental building blocks of computing interfaces. By djrobstep (Slack Thread via Shalabh Chaturvedi)

We often hear that Apple's ecosystem of apps (or Microsoft's, or Google's) are "walled gardens". But what about the individual applications themselves?

--

Arcan is a powerful development framework for creating virtually anything between user interfaces for specialised embedded applications all the way to full-blown standalone desktop environments. Boot splash screen? no problem. Custom Interface for your Home Automation Project? sure thing. Stream media processing? Of course. AWB "Desktop" concept ~5min video. By Bjorn Stahl via S.M Mukarram Nainar.

--

Interesting conversation on Slack about the positive benefits of accidental / incidental complexity.

--

This week on Slack, a fun prompt from Brandon Hudgeons (via Kartik Agaram):

You get to name an assertion the ___ Paradox (fill in your last name). What do you choose?

Come join Slack and start a new thread about your paradox!

--

Roam Research is looking for a Full Stack Engineer (Leaning Backend) by Conor White-Sullivan

Should love Clojure, be comfortable with some devops type work, and ideally have experience with Datomic and datalog.

Big points if you're familiar with the work of Doug Engelbart, Bret Victor, Michael Nielsen, Andy Matuschak, and Alan Kay.

SF preferred, but we'll consider remote.

--

Operon 0.5.0 is out, find it from https://operon.io (Java-binary and pdf-booklet) by OperonGuy (Slack Thread)

It is also the first public release and I'm hoping for feedback on the most rudimentary things; did you get the queries running (if you had a chance to try)? What was your initial impression on the language? Did you encounter anything illogical or that you could consider as possible design flaw?

I have not yet documented everything, so there's more to come on later releases. Also none of the components were yet released, so it is just the core that is out now. Love to hear back from you!

--

Summary of a paper: Paper; Didn't Read - Statecharts: A Visual Formalism For Complex Systems by instadeq

statecharts = state-diagrams + orthogonality + depth + broadcast-communication

--

Thomas Ballinger wrote some posts about "Observable for Jupyter Users".

A lively discussion in the Slack Thread

I'd be particularly interested in whether you think I'm identifying the differences in workflow in a digestible way. The goal is that these are tutorials, not marketing documents, if there's a difference. I guess they're marketing documents for programmers, not CEOs.

--

An article about Glamorous Toolkit describing what one rendering tree means and the doors it opens for creating new kinds of 2D interfaces: One rendering tree. Via Tudor Girba (Slack Thread)

Future of Coding Weekly 2020/02 Week 1

2024-04-10 10:02

Psychology of Programming Interest Group Call for Papers

The 31st Annual Meeting of the Psychology of Programming Interest Group will be hosted for the first time in North America, at OCAD University's Inclusive Design Research Centre in Toronto, Canada, during the week of July 29-31, 2020.

From our Community

Catalog of Visual Math Tools (Slack Thread)

--

Mike Travers joins our slack and introduces himself and his work. He worked at MIT MediaLab long time ago on Behave! an interesting block based visual language for simple agent programming, that was one of the ancestor of Scratch. He now works on visual programming based on Blockly to help scientist build queries to scientific data (see this presentation).

--

GopherCon Europe 2019: Ivan Daniluk - Rethinking Visual Programming Presentation. (Slack Thread) via Edward de Jong

Blog post: Rethinking Visual Programming with Go

--

Play: A new approach for creating better mobile apps via Achraf Kassioui (Slack Thread)

Play empowers you to design, build and launch better mobile products, in less time, with fewer barriers - all on your mobile device.

--

Mariano Guerra shared a video showing an educational prototype to produce HTML pages using Blockly to learn what HTML structure looks like without having to worry about syntax at first. The prototype is online (in Spanish) and its sources are on GitHub.

--

Jonathan Blow talking about his past, of course about games, but also about programming today, open source, C++, Rust, the future of programming, and many other issues people here will be interested in (and/or annoyed by his perspective ;-): On the Metal Podcast: Jonathan Blow (Slack Thread) via Stefan Lesser

--

Algojammer is an experimental, proof-of-concept code editor for writing algorithms in Python. (Slack Thread) via Shalabh Chaturvedi

--

Internship Opportunities: Designing for spreadsheets and programming languages at Microsoft Research in Cambridge. via Daniel Garcia

Contents ยฉ 2024 Mariano Guerra - Powered by Nikola