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

Future of Coding Weekly 2024/11 Week 4

2024-11-24 23:34

๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป Notebook Demos ๐Ÿ”Œ Node & Wires Demos ๐Ÿ“บ Democratizing Software โ˜ƒ๏ธ Dynamic Language Winter is Coming?

Two Minute Week

๐Ÿ’ฌ Taylor Troesh

๐Ÿงต conversation

working on a local-first podcast client for video podcasts and youtube rss :)

CleanShot 2024-11-20 at 08.12.59.gif

๐ŸŽฅ Dragging and dropping values on edges in code flow canvas via Maikel van de Lisdonk

๐Ÿงต conversation

Youtube Thumbnail

Thanks to Ivan Reese for coming up with the idea and putting it in my head: I've added a new feature to code flow canvas.. you can now drag and drop arbitrary values which are on the canvas on edges (or use the clipboard). I've made a small video about and you can see it here . Off course you can try it yourself on demo.codeflowcanvas.io

Our Work

๐Ÿ“ก public.me/anton via Anton Podviaznikov

๐Ÿงต conversation

made micro blogging tool(twitter replacements) that works using imessage.

allows publishing things through imessage without consuming tons of tweets first. the bonus is that all my data is on my devices anyway.

here is my micro blog public.me/anton

๐Ÿ“ Research manifesto via Konrad Hinsen

๐Ÿงต conversation

Yesterday I revised my home page and added a section "Research manifesto". It's mostly about my ideas for FoSC (Future of Scientific Computing), so I feel it fits here.

๐ŸŽฅ LLM chat assistant in code flow canvas via Maikel van de Lisdonk

๐Ÿงต conversation

Youtube Thumbnail

I've made a new small video where I've implemented a chat assistant using the OpenAI Chat Completion API in Code flow canvas (this is the visual programming system that I am building in my spare time). Goals for building this visual flow are to learn more about the OpenAI API's and LLM's in general, but also to see if something like this could be build without building in special knowledge about OpenAI in code flow canvas itself. I had to extend code flow canvas off course, but only with generic node-types which could be used in this flow. You can try it our yourself on demo.codeflowcanvas.io, but only if you have an OpenAI API key with some credits

๐ŸŽฅ Reverse Engineering a 218-Byte Wasm Compiler in JavaScript via Mariano Guerra

๐Ÿงต conversation

Youtube Thumbnail

Reverse Engineering a 218-Byte Wasm Compiler in JavaScript

Starting with a 218-byte one-liner that implements a Reverse Polish Notation arithmetic compiler, we'll work backward to transform it into readable JS by removing one code golf trick at a time

Devlog Together

๐Ÿ“ the lab notebook entry via Tom Lieber

๐Ÿงต conversation

I finished the lab notebook entry that my earlier posts were about. ๐Ÿ™‚ I was burnt out on the ugly charts I was making before, and the outcome of this experiment with schematic tables is: I am pumped to keep going!!

exam-fairness-schematic-table.gif

๐Ÿ“ Building Software Using Black Boxes via Paul Tarvydas

๐Ÿงต conversation

I've been experimenting and thinking about just how little we need to worry about "efficiency" these days, and how to expand the gamut of notations for programming. A snapshot of my thoughts... Building Software Using Black Boxes

๐Ÿ“ my notebook app via Kartik Agaram

๐Ÿงต conversation

I haven't really felt like building in a while, but there's a cricket match on and today I felt moved to use my notebook app to create a little scenario calculator for the world championship.

This requires Lร–VE (basically some way to draw pixels on a canvas) and 2.8kLoC of Lua. Compare Excel, or Google sheets + a web browser, or Jupyter. Much fewer features, of course, but well-sized for things like this. Though I did find myself wishing I could sort lines, the notebook doesn't support that yet..

notebook.png

calculations.png

๐Ÿ—’๏ธ wtc

๐Ÿ“Š A small update via Tom Lieber

๐Ÿงต conversation

A small update today: I draped flags onto the bar charts so that you can answer "how do the observations affect the priors?" with a glance.

final-chart-with-flags.gif

๐Ÿ“ thinking ahead via Pietu

๐Ÿงต conversation

Hi again ๐Ÿ‘‹.

Continuing my journey on building an experimental markup language based on blocks.

Someone was already ๐Ÿ’ฌ #devlog-together@2024-11-16 last week and suggested that blocks should be executable.

I've got now the bare minimum demo of executing inline code embedded in markup documents.

๐ŸŽฅ Murkdown exec blocks

๐Ÿ“ draw.io via Paul Tarvydas

๐Ÿงต conversation

brainstorming: In what I'm writing these days, I want to include lots of diagrams / figures. Currently, I'm using Apple Pages and just drag'n'dropping screenshots into documents then publishing them to Substack (a painful process). I happen to use draw.io and excalidraw for diagramming. For a while, I was using markdown editors, but they didn't give me a WYSIWYG editing experience. I used Obsidian for a while - it did give me WYSIWYG for excalidraw diagrams, but wanted $$$s to allow me use their publishing mechanism and made it difficult to use Github Pages for $-less publishing. I keep thinking that I should just cobble together an RTF parser and use only a markdown-ish subset of features in Apple's RTF editors, but, I don't want to get side-tracked [I would use 't2t' to parse and transmogrify RTF, I think, and, use it to transpile subsetted-RTF to markdown - what's needed is an RTF-to-markdown or RTF-to-murkdown tool, I think]

Thinking Together

๐Ÿ’ฌ Mariano Guerra

๐Ÿงต conversation

What do you think of "It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures."?

If you agree, what is that data structure for you?

๐Ÿ“ Bret Victor's PROCESS via Kartik Agaram

๐Ÿงต conversation

Bret Victor's PROCESS

๐Ÿ’ฌ Alex McLean

๐Ÿงต conversation

Love this (partly) analogue modular live coding system for 3d printing by Maas Goudswaard

image.png

Content

๐Ÿฆ• Reactive HTML notebooks via Tom Larkworthy

๐Ÿงต conversation

Content editable Observable runtime based notebooks ๐Ÿค” Pretty cool!

๐ŸŽฅ MIT Theory of Computation, Fall 2020 via Mariano Guerra

๐Ÿงต conversation

MIT Theory of Computation, Fall 2020

๐Ÿ”‘ Foundation DB Query Language via Taylor Troesh

๐Ÿงต conversation

My friend made a query language for KV stores! Already being used on very large production datasets. Check it out:

demo.gif

๐Ÿ“บ Democratizing Software - Handmade Seattle 2024 via Konrad Hinsen

๐Ÿงต conversation

"Democratizing Software" Talk at Handmade Seattle, starting at 1:24. Starts out with a statement of goals and values, as the title suggests, and then explains why rewriting techniques are a good way to reach those goals. Ends with a presentation of Nova, a rewriting system for nearly-plain-language.

This is so incredibly similar to my own work over the last years that I am probably going to rewatch this at least once. The only difference is the target audience: Wryl (the speaker) uses everyday language as a building material, addressing games and other use cases that everyone can relate to, whereas I use mathematics as a building block, addressing scientists. I could probably set up a rewriting system for translating their talk to my own scenario.

๐Ÿ’ฌ Paul Tarvydas

๐Ÿงต conversation

Konrad Hinsen I haven't watched this yet, but the words you use are tickling my neurons.

  1. "rewriting"

  2. makes me think that this may be incredibly similar to my t2t ("text to text" rewriting)

  3. "a rewriting system for nearly-plain-language"

  4. makes me think of Steve Phillips' work with ChatGPT / Claude. He used LLMs to generate OhmJS. The generated OhmJS implemented his new programming language by using Golang as an assembler. It mapped his new language into legal Go code that he would run. I.e. new-lang -> new-age assembler -> executable, where new-age assembler == Go. (Private communication, details available, the only blocker is writing this up in a readable manner)

  5. I'm currently using Python as an assembler in defining an HHLL and am compiling a 1,400 LOC HHLL program (into Python [done] and am working on generating Common Lisp, with an eye on generating JS).
  6. Kinopio to markdown. I use the Kinopio app as a mind mapping / bubble-charting / brainstorming device. I invoke a Prolog program to rearrange the mind map in hierarchical order and to spit out the points as markdown (.md). I told ChatGPT to turn the point-form .md file into full-blown prose and generated at least one blog post in English that way.

(Details and repos available, if interested).

โ˜ƒ๏ธ Are we Heading Towards a Dynamic Language Winter? via Mariano Guerra

๐Ÿงต conversation

Youtube Thumbnail

๐Ÿง‘โ€๐Ÿ”ฌ Open positions at the College of the Atlantic via Eli Mellen

๐Ÿงต conversation

A potentially future of coding shaped CS prof. role is available at COA up on MDI in Maine

I can talk to what the school is like and make intros if anyone is interested.


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

2024-11-18 10:24

๐ŸŽฅ A New Kind of Spatial Computer ๐Ÿ“˜ Live Coding: A User's Manual ๐ŸŽฅ Single File Notebooks

Two Minute Week

๐Ÿ’ฌ Marek Rogalski

๐Ÿงต conversation

Developing without a GUI framework comes with a risk of falling into some deep rabbit holes. This one is about exploiting the slowness of some widgets to create a sort of "Into the Spider-Verse" animation effect.

๐ŸŽฅ Export Observable notebooks as single self-sustainable offline files. via Tom Larkworthy

๐Ÿงต conversation

Youtube Thumbnail

The self-sustaining single file observable notebook export format is ready and implemented in userspace

Our Work

๐Ÿ“ Dialogues on Natural Code | Proceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software via Lu Wilson

๐Ÿงต conversation

My first ever proper academic publication!!!!

It's called "Dialogues on Natural Code" โ€” an essay that Dave Ackley and I wrote together

I'd be really grateful if you could give it a read. I promise it's not boring

Also it's a stage play

Devlog Together

๐ŸŽฅ Edited via Paul Tarvydas

๐Ÿงต conversation

Youtube Thumbnail

Revelation: I like to think in terms of UNIX pipelines. 0D is like UNIX pipelines, but, 0D is more efficient and 0D allows many more input and output ports in software components. Using UNIX's stdin , stdout and stderr are not enough in the presence of multiple ports. It looks like JSON might fit the bill, though. I know from previous experience that SWIPL (a PROLOG) can cast its results to JSON. I imagine that any modern programming language can produce JSON. I hope to poke at this idea of using JSON instead of using raw, unstructured text like stdout in hopes of creating a cheapo multi-language REPL.

๐Ÿ’ฌ Jason Morris

๐Ÿงต conversation

Incidentally re-read something I wrote in October of '23, and realized that I am still working on implementing those same thoughts today. The thing I wrote about then has been an evenings and weekends project for me since, and I am hoping to have a version live for people to play with early in the new year. Is 15 months too long to go between releases? ๐Ÿ˜…

๐Ÿ’ฌ Pietu

๐Ÿงต conversation

Hi again ๐Ÿ‘‹.

I've recently started a project to try out some of the ideas I've had regarding markdown and writing. The approach i've taken is to implement my own markup language with some interesting properties.

The perspective this time is, "why should a piece of content be represented as one thing". A list is a list, an image is an image, a quote is a quote. Could we somehow compose these to make eg. a "code quote".

This time, i've got a bare-bones video demoing how blocks of content can be composed.

๐ŸŽฅ Murkdown composable blocks

๐Ÿ“ Programming Language Workbench - Beginnings via Paul Tarvydas

๐Ÿงต conversation

Inspired by my previous REPL experiments, Iโ€™ve begun playing around with a more complicated example - a programming language workbench.

๐Ÿ’ฌ Tom Lieber

๐Ÿงต conversation

The layout in this next prototype is complicated enough that I finally got around to some automatic layout.

image.png

๐Ÿ’ฌ Tom Lieber

๐Ÿงต conversation

A few debug passes, and it renders schematic tables!

image.png

Thinking Together

๐Ÿ“ Nilesh Trivedi (@nilesh.trivedi.link) via Nilesh Trivedi

๐Ÿงต conversation

Somewhat off-topic but I saw a lot of people moving to BlueSky, decided to read up on the underlying AT protocol and its promise of decentralization and found things I did not like. Posted some thoughts.

๐Ÿ’ฌ Sam Gentle

๐Ÿงต conversation

Random thought about Things Spreadsheets Got Right โ€“ I've heard a lot about "no invisible state" etc, but another interesting thing about spreadsheets is that they treat data as a first-class citizen in a way that most programming models don't.

In a conventional programming language, you model processes and leave the data implicit; in a spreadsheet, you model data and the processes are implicit. The data is what you see in the cells, and the processes are plumbing that you only see by inspecting the cell that the data lives in. What other programming systems start with the data you want to process before you write the process itself?

And maybe spreadsheet programming's lack of implicit state is actually a consequence of this data-first paradigm, rather than an end in itself. In fact, even calling data "state" implies a kind of process-first mindset, only conceptualising data through its relation to a process. And this could be a key blind spot for programmers creating systems for non-programmers, or rather process-first people creating systems for data-first people.

Content

๐Ÿค– AI Makes Tech Debt More Expensive via Steve Dekorte

๐Ÿงต conversation

I've been thinking a lot about this in the last 6 months and ran across this today: ๐Ÿ“ AI Makes Tech Debt More Expensive

AI increases the penalty for low quality code

๐ŸŽฅ A New Kind of Spatial Computer via Taylor Troesh

๐Ÿงต conversation

Youtube Thumbnail

spatialpixel.com

๐Ÿ“˜ Live Coding: A User's Manual via Lu Wilson

๐Ÿงต conversation

Lots of nuggets of wisdom in this book about live coding

๐Ÿ“ Live Coding: A User's Manual

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

Present Company

๐Ÿ“ Modo End of life extended license via Ivan Reese

๐Ÿงต conversation

If anyone wants a free production-grade 3D modelling/animation/rendering tool, the venerable Modo just got end-of-life'd and the company is giving everyone a free 10-year license.

Sure, Blender exists โ€” but for us HCI-inclined folks this is a rare opportunity to casually check out how a different team approached this corner of the GUI possibility space. I personally find 3D modelling tools to be hugely inspirational, and frequently draw on my experiences with them when designing programming systems. If you've never kicked the tires on one of these, or only have experience with Blender, CAD, or game engines, Modo is a really interesting point of comparison.

EOL announcement and free license: campaigns.foundry.com/modo-eol-license

Download (requires a free account): foundry.com/products/modo/download


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

2024-11-10 22:30

๐ŸŽ™๏ธ Hest โ€” The Podcast ๐Ÿฆ‹ Future of Coding Meetup & Starter Pack ๐Ÿง‘โ€๐Ÿ’ป inside the head of a J programmer

Our Work

๐Ÿ“ It takes a collective to raise an idea via Mariano Guerra

๐Ÿงต conversation

I wrote: It takes a collective to raise an idea

You may know about Alan Turing or John von Neumann, but what about John Vincent Atanasoff or Konrad Zuse?

Devlog Together

๐Ÿ“ Beginning to Work On a REPL for Drawware via Paul Tarvydas

๐Ÿงต conversation

Exploring / fooling around with making a REPL for drawware (inspired by Ivan Reeseโ€™s reference to the paper Advanced Game Engine Wizardry for Visual Programming Environments.

Surprising revelation: On the same computer, using just a websocket to connect a browser-based GUI to a Python program which interprets the diagram by shelling out results in turn-around that is "fast enough". It looks instantaneous. No further optimization, nor premature optimization, is required. Biggest missing feature at this point: a change to the diagram should cause the Python program to recompile and re-run the diagram and to update the output fields on the GUI. I think that this could be done by having the Python program periodically sample the 'test.drawio' file timestamp. I know that this is possible, but, I haven't worked out the details yet (suggestions welcome).

๐ŸŽฒ probabilistic programming language project via Tom Lieber

๐Ÿงต conversation

People who were interested in my probabilistic programming language project for the statistics might enjoy this sprawling post where I dig deep into the guts of the surprisingly approachable inference algorithm underlying it:

alltom.com/pages/spawelo

Cool problem โœ…

Cool model โœ…

Cool algorithms โœ…

๐Ÿ’ฌ Pietu

๐Ÿงต conversation

Hi all ๐Ÿ‘‹.

I've started a project to try out some of the ideas I've had regarding markdown and writing.

The perspective I'm coming from is that I've found it difficult to write technical articles. Especially ones containing code examples. The cut-n-paste nature of building such articles usually results in some files missing, broken code or incorrect output.

I've had a bad habit of not sharing what i'm doing, so this time I want to share baby-steps i'm making with the project. It's very barebones. I've got the first feature (if you permit) working, so the below video demonstrates includable blocks.

๐ŸŽฅ Murkdown example blocks

โฐ for hopefully the final time via Kartik Agaram

๐Ÿงต conversation

I have gotten annoyed by timezone calculations ๐Ÿ’ฌ #present-company@2024-11-07. Here's a static html page you can download and save locally to roughly compare times in different timezones (just hours; you're on your own for minutes)

The way I'm naively imagining using this:

  • Scroll to the timezone you know the time in.
  • Click on the nearest hour.
  • It'll highlight that column all over the page.
  • Scroll or find the timezone you care about.

  • If you're not in a whole-number timezone (Hello India), you'll need to do some additional mental arithmetic by comparing nearby rows.

Right now you need to know if you're currently in Daylight Savings Time. Which is often beyond me, but I'm not yet sure what to do about that..

Inspired by Bret Victor, but of course the inevitable mistakes are all mine.

๐ŸŽ™๏ธ Hest โ€” The Podcast via Ivan Reese

๐Ÿงต conversation

Lately I've felt a lot of "big feelingsโ€ โ€” pain, yearning, confusion, frustration, desire โ€” about computer programming.

I can't quite explain how I feel. Certainly can't write it down. Most definitely not in brief.

So I did the only thing that comes naturally: felt my way through it, out loud, exploratively.

Titles are hard, so it's called "Live as in Aliveโ€, perhaps glancing sideways at the recent d-d-discourse about live programming vs live coding.

๐Ÿ“ Experiment With A Simple REPL For A DPL via Paul Tarvydas

๐Ÿงต conversation

Simple REPL for a DPL including a file watcher.

Towards Higher Level Syntax for Programming Languages

Thinking Together

๐Ÿ“ The Future of Programming via Paul Tarvydas

๐Ÿงต conversation

For discussion...The face of hardware is vastly different than it was in the 1950s and as it was in the early days of computer-ing, when concepts like programming languages and operating systems were invented. I think that this means re-imagining how we use what we've got, instead of just tweaking what we've got. It augments the meaning of "programming". To start things off, here are some thoughts: The Future of Programming

๐Ÿ’ฌ Guyren Howe

๐Ÿงต conversation

I am quite interested in Event Handlers.

In college, I remember in my languages course discussing how you could have static scope or dynamic scope โ€” whether a non-local identifier is searched for in the scope where the thing being called was defined, or in the scope where itโ€™s being called.

Static won out, because in general itโ€™s easier to reason about.

I mention all this, because I think I understand what Event Handlers are and how they work, and afaict, theyโ€™re just โ€œa thing with dynamic scopeโ€.

That all seems fine and good, but I never hear EH being described that way. Maybe because folks have forgotten about dynamic scope?

๐Ÿ“ Thinking about "syntax families", and how to ~categorize them via Jared Forsyth

๐Ÿงต conversation

I've put together some thoughts about syntax, they're pretty roughly defined at the moment, but I'd love to get your feedback!

๐Ÿ“ Single-Paradigm vs. Multi-Paradigm Thinking (Slight Return) via Paul Tarvydas

๐Ÿงต conversation

Thinking about multi-paradigm programming. Why FP isn't enough, IMO...

Managing Programming Complexity

Content

๐Ÿ“ One way to do applied research via Patrick Dubroy

๐Ÿงต conversation

Hello! I just published this blog post which is relevant to folks here:

One way to do applied research

๐Ÿง‘โ€๐Ÿ’ป ShareMyScreen puts you inside the head of a J programmer as they write a program. via Mariano Guerra

๐Ÿงต conversation

๐ŸŸง automat.org @ HN via Maikel van de Lisdonk

๐Ÿงต conversation

Automat on hacker news .. awesome @Marek Rogalski !!

๐ŸŒฒ best way to visualize / explore nested data structures via Gregor

๐Ÿงต conversation

adding onto my post over at bsky:

I'm curious, what is the best way to visualize / explore nested data structures you have seen?

๐Ÿ“ Gregor (@watwa.re)

The core thesis of my new programming environment is once again: we can do better than text

Ironically enough I still dumped its AST (for lack of a better word) as pretty printed JSON. I could not handle that irony, so here's my shot at beating pretty JSON for looking at nested data structures

๐Ÿ’ฌ Maikel van de Lisdonk

๐Ÿงต conversation

Here's the date for our next online FoC meetup: wednesday 27 nov 16:00 UTC.. and we have at least one demo already from Kartik Agaram , so we need 2 more. If you want to demo then please react in this thread.

๐Ÿ•ธ๏ธ wiki.futureofcoding.org/meetups via Maikel van de Lisdonk

๐Ÿงต conversation

I created a wiki page for our meetups wiki.futureofcoding.org/meetups .. if anyone organises an offline FoC meetup, this also can be placed there (or online FoC meetup by other people of the community off course). If you need help with this, please let me know.

๐Ÿฆ‹ Future of Coding - Community via Gregor

๐Ÿงต conversation

My BlueSky has a distinct lack of your faces (and thoughts), I tried to collect as many of you into this pack as I could find, but I'd be happy to add more: ๐Ÿฆ‹ Future of Coding - Community


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

2024-11-03 22:33

๐ŸŽฅ Operational Version Control ๐Ÿ”ฎ The Future of Coding ๐Ÿ’ก Subsequently

Our Work

๐ŸŽฅ spreadsheet / paint-program hybrid via Kevin Greer

๐Ÿงต conversation

I created this spreadsheet / paint-program hybrid. That may sound weird, but it actually makes sense when you see how it works (I think). Here are two videos showing it's basic features and 2D and 3D turtle graphics support

๐Ÿ’ฌ Kevin Greer

๐Ÿงต conversation

I'm working on a server/website so that people can publish and share their creations. Feedback and suggestions appreciated.

๐ŸŽฅ Dialogues on natural code via Lu Wilson

๐Ÿงต conversation

Youtube Thumbnail

hello again it's me.

i gave a talk last week on why i am a machine ๐Ÿค–

๐Ÿฆ Guyren Howe (@unclouded) on X via Guyren Howe

๐Ÿงต conversation

๐Ÿฆ Guyren Howe (@unclouded) on X: LLMs are a distillation of everything ever written.

We are a distillation of all the successful responses to the experiences that drove our ancestorsโ€™ evolution.

I think the distillations methods are kinda similar. But are not experiences. This is how we differ.

Devlog Together

๐Ÿ’ฌ Kartik Agaram

๐Ÿงต conversation

A couple of days ago I noticed a bug that's been in all my apps since I started programming with Lร–VE at the start of 2022. Start searching for text, type nothing into the pattern to search for, then find again repeatedly. Crash. Caused by misusing a Unicode library, even though this bug needs no special chars to trigger.

Now I've pulled the bugfix into 54 forks ๐Ÿ˜ฎโ€๐Ÿ’จ

๐ŸŽฅ Quinebook via Tom Larkworthy

๐Ÿงต conversation

I've built a single file notebook export format in Observable userspace. Convert an Observable notebook into a single file. Self-replicating notebooks. You don't even need a local webserver to run them, they work in a file:// context. You can put them on a webserver if you want. This is complement the userspace notebook source๐Ÿ’ฌ #devlog-together@2024-10-20. I still have some more work on this to consider it fully working (e.g. FileAttachment support), but today I finally reached the milestone that the exporter can export an operational version of itself.

Thinking Together

๐Ÿ”ฎ๐ŸŽฅ The future of coding via Jonathan Edwards

๐Ÿงต conversation

My talk on the future of coding

Content

๐Ÿ’ก๐ŸŽฅ Subsequently at LIVE via Ivan Reese

๐Ÿงต conversation

Youtube Thumbnail

Marcel Goethals presenting Subsequently at LIVE

Operational Version Control by Jonathan Edwards via Kartik Agaram

๐Ÿงต conversation

Vimeo Thumbnail

Graphics

๐Ÿ’ฌ Patrick Dubroy

๐Ÿงต conversation

Hello! I'm curious if anyone here has a good idea about interleaving works between a compute shader and a fragment shader.

Some relevant details:

  • My app is built with Rust and wgpu, and I'm running on an M1 Macbook Pro.
  • I have a single encoder with a compute pipeline and a render pipeline.
  • The compute shader writes to a storage buffer defined like this:
@group(0) @binding(2) var<storage, read_write> output: array<vec4<f32>>;
  • The fragment shader reads from the same buffer. Basically, each fragment is just one element of the vec4<f32> . The fragment shader is very simple, and doesn't touch anything else in the storage buffer.

I've added timestamp queries to the pipeline, and what I'm seeing is this:

Duration #1: 47.800208ms

Duration #2: 47.809876ms

Frame time: 51.2545ms

Duration #1 is computed from the compute shader timestamps (the duration between the beginning and end of the compute pass) and Duration #2 is the time for the render pass, computed the same way.

Frame time is measured on the CPU.

I expected the duration of the compute shader and fragment shader to add up to the frame time (approximately). But it doesn't and I'm confused about why! Could it be due to interleaving of the compute pass and render pass? If so, I'm curious how the synchronization works. How does the GPU figure out the dependencies between the write (a compute shader invocation) and the reader (fragment shader invocation)?

I don't have any explicit synchronization, but I'm also not seeing any tearing or anything that would indicate that there is a data race between the shaders.

Music

๐ŸŽฅ Ravescript - Make Music With Code! - Ep. #7 via Alex McLean

๐Ÿงต conversation

Youtube Thumbnail

Present Company

๐ŸŽฅ Virtual Meetup 6 โ€ข October 30, 2024 via Ivan Reese

๐Ÿงต conversation

Youtube Thumbnail

Here's the recording of the Future of Coding virtual meetup 6. We had a demo of Automat.org from @Marek Rogalski, a demo of Inkling from myself, and a demo of Kendra.io's dashboard builder from @Daniel Harris. Good stuff all around! See you next month.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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 ยฉ 2025 Mariano Guerra - Powered by Nikola