✉️ Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2024/03 Week 4

2024-03-26 04:35

🎼 Strudel REPL 🎙️ a podcast about Hest 🕹️ Playing with Code: Programming-Adjacent Games

Our Work

🕹️ Playing with Code: Programming-Adjacent Games via Mariano Guerra

🧵 conversation

I collected and summarized the answers to my question about programming-adjacent games

📄 Formula for generating distinct colors via Fredrik

🧵 conversation

For those situations where there's a need to automatically generate a unique color for each item in a set, I've figured out a formula that yields a good distribution based on the oklch color space. The attached document has some pretty infographics.

You can also see the source code of the document in Typst. Typst is already the future of programming.

📄 Formula for generating distinct colors

💬 Alex McLean

🧵 conversation

A tangible programming interface inspired by Andean khipu that we've been working on..

image.png

💻 Slate - A Playground for Ideas via Mohit Karekar

🧵 conversation

I recently thought about combining natural language prompts in code notebooks interface because it seemed like a great use case to me. While working with data, a mixture of low-level capability of writing code and a high-level capability to write transformations or visualization instructions in natural language can be a great advantage. You can code when you want to, and completely skip and offload to an LLM by writing natural language instructions! The notebook executes code and prompts in a single context. Here's something you can try that implements this idea: try-slate.com

Also wrote some thoughts in a post here and a short video demo here.

Similar to traditional code notebooks like Jupyter Notebooks, but with a seamless integration with large-language models. Code when you want, skip when you don't. Export to code for portability.

Devlog Together

💬 Mariano Guerra

🧵 conversation

Playing with UI filter predicates and optional values

gd-preds.gif

🫰 snap.love: a graph drawing tool via Kartik Agaram

🧵 conversation

Of all the apps I've built, perhaps my favorite is git.sr.ht/~akkartik/snap.love, my box and line drawing tool. I use it constantly -- including for work. I have a terrible short term memory, and now I make quick mindmaps for every little situation where a full-screen IDE on a huge monitor is too tiny to show all the parts of the codebase I care about right now.

I seldom mess with it, but today I modified it to show gridlines any time I drag things around. Should lead to neater maps!

🎥 snap gridlines

🎙️ a podcast about Hest recently via Ivan Reese

🧵 conversation

I listened to a podcast about Hest recently (that I wasn't even on!), and have been thinking about taking another crack at it. I'm in a really different situation now, work/life wise, and am less inhibited by idealistic ambitions (like a bunch of NIH making me write my own 3D engine, or an obsession with conceptual purity forcing me to make everything bootstrapped). Now the biggest blocker is that I only have scraps of free time, and I've been using all of it to make music. Oh, how I miss being 20 and free from obligation!

🎥 Simple gradient using new form field control for arrays of objects via Maikel van de Lisdonk

🧵 conversation

Youtube Thumbnail

I've made a new form field control for arrays of objects. The properties that go into the object can be specified and in this example I've used it to implement a simple gradient color node. This example can be viewed at demo.codeflowcanvas.io/gl and then select "Moving circle" from the examples drop-down (I just noticed a weird bug on iOS.. so please just try on desktop).

Or it can be seen in action here .. nothing fancy at the moment, but I hope this allows for more fancy stuff in the near future.

Thinking Together

📝 horrors of manually bikeshedded plain-text languages via Fredrik

🧵 conversation

Is there any wisdom on how to best lay out code in a visual code browser ?

In my experience, code can be layed out either more horizontally on long lines or more vertically on short lines. This is controlled by setting a criterion for how many levels of nesting there can be before a node switches to a multiline layout. Long lines use space efficiently but tend to get hard to read. Short lines are easier to read, as tokens of similar significance line up in columns, but tend to take up much vertical space while leaving most of the horizontal space unused, as the average line is just one key and one value.

Shall I accept that code gets very vertical, and use the free horizontal space to add multilevel navigation panels, or is there a third option that is more horizontal while still easy to read? I can go really fancy and add tables and multiple columns, since I have full control over the layout function, but not all code is regular enough to fit a tabular format, and I cannot require the person editing the code to manually bikeshed it by editing whitespace or dragging around visual nodes. I've seen the horrors of manually bikeshedded plain-text languages and the horrors of node-based languages where the programmer makes a simple one node change and then has to drag all the nodes around so they line up. Are there any examples of interesting solutions to look at?

Here's how I mean a more horizontal layout:

[redacted]

Here's how I mean a more vertical layout:

[redacted]

In the more horizontal layout, I can barely parse the surprise structure at a glance, and I can barely see if I've made a mistake in editing. It takes a lot less screen space though.

💬 Jacob Zimmerman

🧵 conversation

I want to build the backend of an as-bidirectional-as-possible spreadsheet/dataflow, does anyone have any favorite techniques?

I’d like to prefer a dataflow style solution over a constraint solver. I’ve been reading up on why this problem feels hard and its similarity to the “view update problem” in databases, I’m curious if there’s a widely accepted solution that I’m missing.

📑 Future of Coding or Programming: Project Comparison via Duncan Cragg

🧵 conversation

Hi folks, I've been fiddling around with the projects spreadsheet here: Future of Coding or Programming: Project Comparison

and I thought I'd take this opportunity to ask you all to ensure your entries are complete and up-to-date.

New users welcome: just add your project! Note: your project should ideally be at least primarily open source.

📝 scattered-thoughts.net/writing/miscellaneous-ideas via Jamie Brandon

🧵 conversation

Pondering some FoC-adjacent ideas, with the goal of finding a financially sustainable project that can fund more tentative adjacent work - scattered-thoughts.net/writing/miscellaneous-ideas / scattered-thoughts.net/writing/how-to-trade-software-for-small-money.

Less FoC-related, I mentioned in the bottom of that post that I'd love to help someone pick up the streaming system testing work that I started in scattered-thoughts.net/writing/internal-consistency-in-streaming-systems. It will be a real slog getting momentum, but there's potential to really raise the (incredibly low) bar for reliability and understand-ability in that niche.

Content

📝 Who will build new search engines for new personal AI agents? via Stefan Lesser

🧵 conversation

Some speculation by @Matt Webb about the not so far out future of AI agents and how we can/need to prepare for it.

In the other corner, some judgy comments about AI’s Looming Reputation Crisis (scroll down to the middle to find that bit).

I read both this morning and I know these are different use cases, however they beautifully cover the whole optimism/pessimism spectrum on AI.

Where do people here fall on that spectrum? Are there use cases that are obviously good/bad, or does that depend on… well… what? And are we going to outsource most of our lives soon to AI assistants while simultaneously drowning in mediocre generated bullsh*t trying to scam us?

Gosh, I miss the time of the early internet when I was excited about everything tech. Somehow I can’t find back into that mindset these days. Can someone convince me that the future is going to be universally great, like it used to be 20 years ago?

📝 Informal Organizations: Iterating on Cooperative Ownership via Andreas S

🧵 conversation

In the spirit of our #thinking-together capitalism thread. I found informal.systems/2020/09/21/informal-owners i think this is an interesting example of how to change the bigger structure- capitalism (this time I spelled it out Stefan Lesser 😅 ) by changing smaller structures I.e. companies to cooperatives.

📝 Informal Organizations: Iterating on Cooperative Ownership

Our mission at Informal Systems is not just about distributed systems, it's also about the organizations that grow along with them. Our vision is an open-source ecosystem of cooperatively owned and governed distributed organizations running on reliable distributed systems. To achieve this vision, we begin with ourselves, adopting a democratic structure that aims to rebalance the power dynamics between capital and labour towards something more sustainable and non-extractive; something that nurtures long term employment and real wealth creation through R&D, entrepreneurship, and innovation; something more like a Zebra than a Unicorn.

Music

🎼 Strudel REPL via Alex McLean

🧵 conversation

Strudel now has inline visualisation strudel.cc/?dbk9t_AYAIc8

📝 Strudel REPL

Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.


👨🏽‍💻 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/03 Week 3

2024-03-18 14:09

🚀 codeflowcanvas.io 🎥 Collective Problem Solving in Music, Science, Art... 🦠 Demon horde sort

Our Work

🚀 codeflowcanvas.io via Maikel van de Lisdonk

🧵 conversation

Yes, the time has finally come! I'll share a link to my visual programming project online! I've been mainly showing some video's on the devlog channel about the project.

Warning upfront: Although I've been working on this for quite some time (I even started from the ground up last year after working on my previous visual programming project for multiple years).. there's still a lot of work to be done and bugs to be fixed. The UI/UX is far from perfect but it is demo-able enough I think. However, it's still just in "demo-stage" and not usable by other projects (I haven't build any npm packages for integrating or vs-code extension for example).

My goal is to make a generic visual programming system (VPS) with which domain or application specific vpl's can be made. For now I am implementing 2 vpl's on top of the current base: a flow-based-programming inspired system and a "visual shader-toy".

Since the tool is an infinite canvas, you can zoom and drag the canvas using mouse/wheel/touchpad. I've spend some time getting touchscreen support, but more work definitely needs to be done there.

When you open up one of the editors, you can use the dropdown in the top-menu to load an example flow.

Without further ado, here's the link: codeflowcanvas.io : there are 2 demo playgrounds in which you can play around.

I'll post some more details in the 🧵.

Thanks for some feedback!

Devlog Together

💬 Kartik Agaram

🧵 conversation

A little thing like an 'edit' button introduces cascading issues:

  • LÖVE (in combination with mobile restrictions) won't let me modify code files in place. I have to overlay my changes in a new location.
  • But now I can't pick up any upgrades to my app. Upgrades modify code files in place, but any overlay persists (otherwise you'd completely lose your changes after upgrading).
  • But hey I have a programmable editor here! I'll just create a new file called 'scratch' with a one-liner to blow away the overlay. (With my app user's hat on, I know in this case my changes are minor in a way that I don't with my app developer's hat on.)
  • (A few hours later.) Wait, now none of my changes are having any effect. And they're completely blown away when I go back to the code.
  • 🤦 Oh it's that 'scratch' file still hanging around. So it needs to be a 2-liner. I have to make any changes I want to the file system -- and then delete 'scratch' to make this a one-time operation.
  • I could try to create a screen of helpers for this, along with a comment that says, "insert file system operations here" after which is a delete of 'scratch'.

In this way I find myself playing meta-Sokoban.. 🙄

Tl;dr - the 'edit' button isn't really usable yet.

I really don't want to go down the road of building a compare and merge flow 🙄

💬 Kartik Agaram

🧵 conversation

Simple shortest-path routing to reduce some of the drudgery in Sokoban. Integrated with undo.

Next up: routing while pushing a single crate without moving any other crates. That feels more complicated than this glorified breadth-first search. In particular, I'm not yet sure how to detect cycles. Moving a crate can involve being in the same place over and over again. I think I need to hash the player's location in combination with the crate's location 🤔

🎥 sokoban empty path

💬 Kartik Agaram

🧵 conversation

My solver can now push a single crate to a destination without moving any other crates. But I feel ambivalent about this. Devlog in 🧵

🎥 sokoban solver

Thinking Together

💬 Stephen De Gabrielle

🧵 conversation

Does a ~parametric IDE~ exist?

I’m not sure if this makes sense, but I’m thinking similar to Parametric CAD tools(&sketchpad), but for code?

Maybe making use of type annotations, contracts, interfaces, etc. at ~edit-time~ (instead waiting for ~compile-time~ or ~run-time~ ).

💬 Kongwei Ying

🧵 conversation

Another concept I've been ideating about is how to bring Literate Programming, by Donald Knuth, into my daily work, which involves modern tools and stacks like VSCode and Node.js. I believe inline, rich text snippets which are integrated with some kind of personal knowledge management system is the way to go. This way, instead of having comments like this:

// TODO: Refactor this to use the revised approach

It instead would look like using Notion or Obsidian inside VSCode. So above a function, would be a small window into a single page that describes a single function. You can do anything here, like linking references that are relevant to the design of the function. Or you could even have a lengthy design document that explains why a function was written a certain way. Going even further, you could have a page which describes the evolution of a function over time, why at the beginning it was written a certain way, why changes had to be made, and why it looks the way it looks right now.

And added bonus of this approach is that now it's possible to have a single source of truth for docs and your code. So rather than maintaining a separate Docusaurus that has to be updated to sync it with evolution in code, you can just maintain documentation in line. And then to publish developer docs online, you merely just take all the little snippets above each function and then aggregate them onto a single page.

Basically, this approach is powerful because instead of 1D strings of text, now you can have the power of rich text in your code. Including diagrams, and even embedding other programs through would be possible. And when your code needs to be compiled, all these rich text snippets are simply removed.

Content

📝 Accessibility Has Failed: Try Generative UI = Individualized UX via Dave Liepmann

🧵 conversation

Jakob Nielsen asserts that accessibility has failed to serve disabled users because of a mistaken focus on standards. This approach is unable to address the wide variety of disabilities, and because it is by definition a derivative of a GUI, it is doomed to provide a second-class experience to e.g. blind users. He points out differing needs by older and less literate users, and proposes generative UI as a promising solution.

I was skeptical of the headline and tweet-length summaries. There has been not-insignificant backlash. The full article leaves me still skeptical but certainly willing to see where the idea of bespoke-to-one's-needs UIs could take us.

🎼 cmajor.dev via Christopher Shank

🧵 conversation

You’ve heard of C, C++, C#, objective-C… well, Cmajor is a C-family language designed specifically for writing DSP signal processing code.

They have a JIT engine, but it also compiles to WASM so it can run on the web. This means old synths can be ported to run on the web!

cmajor.dev/docs/Examples/Pro54

🎥 RubyConf 2019 - Keynote - Collective Problem Solving in Music, Science, Art... by Jessica Kerr via Oleksandr Kryvonos

🧵 conversation

Youtube Thumbnail

this is a great inspirational talk about sharing ideas

📝 An overdue status update on Darklang via Jeffrey Tao

🧵 conversation

Haven't checked in on Dark in a few years but it seems they're dropped the custom editing environment, among other changes blog.darklang.com/an-overdue-status-update

We've been working hard at Darklang for the past year, but haven't been very vocal about what we've been up to.

Here’s the “Darklang” that’s been live for years:

Darklang – the live version, which we're now calling Darklang classic – is a developer tool composed of a few interconnected

📝 CP 2024 - Choreographic Programming 2024 - PLDI 2024 via Ivan Reese

🧵 conversation

A call for talks for the first ever workshop on Choreographic Programming at PLDI this summer. Deadline next Friday.

Choreographies are coordination plans for concurrent and distributed systems. A choreography defines the roles of the involved participants and how they are supposed to work together. In the emerging paradigm of choreographic programming (CP), choreographies are programs that can be compiled to executable implementations. CP originated primarily in the context of process calculi, with preliminary work done to establish its foundations and experiment with implementations. Recently, several proposals have shown that one can adapt CP to work in synergy with mainstream programming paradigms ...

📝 ‹Programming› 2024 - Arts - ‹Programming› 2024 via Alex McLean

🧵 conversation

I've only just noticed that there is an arts track at the ongoing conference this year! awesome ‹Programming› 2024 - Arts - ‹Programming› 2024

Step into a world where lines of code dance with strokes of creativity! At this year’s edition of the Programming conference, we are opening an Arts track to engage with the idea that art can inform computational practices and their presence in the world. With this track we invite participants of the conference to join a series of presentations and meet with the artists. We hope the Arts track will inspire the programming community to propose artistic projects for future editions. Events include: KhipuKoding, a session with live coding by Paola Torres Nunez del Prado; Programming a ...

🦠🎥 T2 Matrix Brain Challenge T-2 And Counting - T2sday 3148 via Lu Wilson

🧵 conversation

Youtube Thumbnail

Update from Dave Ackley (whose essay we talked about on the last episode)

A large part of this video is about some initial work on making the 'demon horde sort' better, which is his proposed robust-first way of doing number sorting

📝 If What We Made Were Real via Christopher Shank

🧵 conversation

“If What We Made Were Real:

Against Imperialism and Cartesianism in Computer Science, and for a discipline that creates real artifacts for real communities, following the faculties of real cognition” by Basman (2020)

🤖

📝 Cognition emerges from stealth to launch AI software engineer Devin via Greg Bylenok

🧵 conversation

Is the future of coding just not coding?

In the SWE-bench test, Devin was able to correctly resolve 13.86% of GitHub issues without any assistance, performing far better than GPT-4.


👨🏽‍💻 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/03 Week 2

2024-03-11 14:41

🎙️ FoC 70 • Beyond Efficiency 🎈 Alan Kay’s talk at UCLA 👐 folk.computer's February status update

Our Work

🎙️ Future of Coding 70 • Beyond Efficiency via Ivan Reese

🧵 conversation

Future of Coding 70 • Beyond Efficiency by @Dave Ackley

Dave Ackley’s paper Beyond Efficiency is three pages long. With just these three pages, he mounts a compelling argument against the conventional way we engineer software. Instead of inflexibly insisting upon correctness, maybe allow a lil slop? Instead of chasing peak performance with cache and clever tricks, maybe measure many times before you cut. So in this episode, we’re putting every CEO in the guillotine… (oh, that stands for “correctness and efficiency only”, don’t put us on a list)… and considering when, where, and how to do the robust thing.

🌩️ cloudbugfix: cloud infrastructure that proposes verifiable bugfixes via Luifer De Pombo

🧵 conversation

sharing some recent thoughts I have had about verifying LLM-generated bugfixes automatically with cloud infrastructure: lfdepombo.com/cloudbugfix. Today we validate LLM-generated code by looking at it or manually running it within our codebase. However if the expected behavior of the code is verifiable, there is a less painful workflow where the mistakes made by the LLM are not visible to us.

📝 Oberon via Doug Thompson

🧵 conversation

Alrighty, here's the post I mentioned I'd make in #introduce-yourself:

I want to create a computing ecosystem that solves most of the problems in what I call 'unregulated I/O'.

It is quite possibly mad. Or it might work, and I will be surprised.

It takes design cues from Oberon, FlatBuffers, IPFS, Git, Rust.

It also sounds dangerously close to the kind of "great idea" a compsci undergrad would come out with. Yet, I am running out of reasons why this isn't possible (at the very least). This is why I want your opinions 😅

That's all I'll say here - rest is in the 🧵

🧑‍✈️ omnipilot.ai via Michael Jelly

🧵 conversation

If you’ve wondered:

  • why the only copilot we have is for VSCode
  • why not every app is end-user programmable

I wondered the same thing, and I’ve built (omnipilot.ai), an AI copilot that works everywhere on macOS.

Specifically it lets you invoke GPT to type into any app ( particularly interesting to me is it works great in Xcode ), can also autocomplete text in any app, and lets you chat with GPT-4 with context from your recent apps. I’d really appreciate any feedback or first impressions!

Re end-user programmability I’m also working on making it more possible for people to make little “automations” on their computer, whether it’s adding buttons to Finder to convert files or recording little AI-enhanced macros.

Some specific questions I’d love feedback:

  • How often do you find yourself wanting help editing code outside of a Github Copilot-enabled environment? What are those situations or apps?
  • What about text, do you wish you had a copilot for text too?
  • What do you think of the “works everywhere” approach vs. a dedicated app?
  • Do the AI-macros sound appealing or meh?
  • Any thoughts on the landing page copy/design?

I’m also happy to answer any other questions. Thanks in advance for sharing your thoughts, it’s super helpful in shaping the product!

Devlog Together

💬 Kartik Agaram

🧵 conversation

Odd feeling: I just opened a terminal, did a double-take and knew instantly there was a leap year bug in code I wrote almost 25 years ago.

💬 Mariano Guerra

🧵 conversation

Explorable binary operations' progress report:

  • Program outline
  • Expand for instruction details and step execution

binvm-program.gif

first time I include it in the book 🙂

2024-03-07_15-51.png

👾 Sir Box-a-Lot: an 8-bit Sokoban clone via Kartik Agaram

🧵 conversation

The kids and I had a blast playing Baba is You this morning, and it brought up ancient memories of playing Sokoban puzzles (where all you can do push crates around; in particular no pulling). Now I want to play Sokoban on my phone.

lcamtuf.coredump.cx/sir-box-a-lot contains 300 publicly available Sokoban puzzles. It turns out the C syntax that those puzzles are encoded in is just a few search-and-replaces from being perfectly valid and usable Lua. So far I can render the starting state.

🎥 sokoban levels

Reading Together

📗 A Small Matter of Programming by Bonnie A. Nardi via Pete Millspaugh

🧵 conversation

Chapter 2: Conversation and Computers (pages 13-25)

Thinking Together

💬 Alex Cruise

🧵 conversation

Re "beyond efficiency" podcast episode... I remember reading many years ago about this idea, maybe in Scientific American... Basically, evolved systems tend to be inefficient and full of redundancy, whereas designed systems are efficient and parsimonious... But many evolved systems can still function when many components are damaged

🕹️ Robotopia via Mariano Guerra

🧵 conversation

Do you know any games where the core game mechanic is about programming?

Things like Zachtronics games, factorio or robotopia-x.github.io

💬 Paul Tarvydas

🧵 conversation

Is Alan Kay's diagram at 1:05.11 a veiled challenge? Replace 1972 by 2024. What do we see 30 year in the future? A laptop or tablet with 100,000 CPUs? Fosbury Flop? Breaking the Four Minute Mile?

Screenshot 2024-03-07 at 3.13.33 PM.png

🐸 Todepond dot com via Lu Wilson

🧵 conversation

follow up to some recent academia & writing style discussion. I've been trying to formalise some of the writing styles i personally use

Two beat style

💬 Jim Meyer

🧵 conversation

Software products are physical products. That's why they're hard to design and engineer!

The physicality of software is kept at arms-length in a vector-based design tool. Here, the strength and focus is on surface level aesthetics and exploration though mocks — many, many mocks. All needed. All useful. But a mock does not a product make. A mock is an incomplete story of software physics. Which brings us the other side of the spectrum...

The IDEs — the code editors. The product you ship is here, so "I guess someone has to go there". First challenge: To most people it's walls of inexplicable symbols and weird (even hostile?) punctuation. Then, with code, you're essentially play-acting as a computer. You have to "speak computer" fluently to feel at home here. It's a love/hate relationship of running programs in your head. Mostly failing to do so. Then learning to get better at debugging. Eureka moments of finally solving the puzzle that unlocks a bugfix! Endlessly restarting programs to reset state. Today, even after multiple decades of investment in IDEs, coding is still 100 times harder and less fun than it should be! How can we truly move the needle?

A traditional IDE deals with the how to fully describe the physics of a software system. Writing and editing algorithms. Managing data flows. Figuring out logic. Painting pixels. Sending data at the speed of light over the network. But the IDE doesn't actually let you see the program as it manifests to the user in the final medium. It's running somewhere else — the browser, on your phone. This is where vector-tools have the IDEs at least partially beat. Yes, they're just mocks, but the vector-tool tool sees the mocks alongside you. This changes your relationship with the tool. Thinking and touching — moving, dragging, scaling, rotating, duplicating — seamlessly blends on a canvas, and it just feels good, even fun! IDEs and editing code as text offers none of those things with today's tools, and it just feels like... friction!

So the letter to Santa reads as follows:

Dear Santa, give me the best parts of a vector-based design tool, plus the best parts of an IDE, rolled into one — but with none of the downsides. Thanks!

Christmas can't get here fast enough.

Content

📝 Oatmeal - Thoughts on accessibility in smol computing via Eli Mellen

🧵 conversation

I don’t think I’ve shared this here before — if so, sorry!

A first instinct may be to think of accessibility as a technical problem that needs a solution. I’d suggest that it might be an opportunity to reframe how we approach the idea itself; from accessibility to adaptability. Adaptability of methodology, problem solving, software, and devices. 📝 Oatmeal - Thoughts on accessibility in smol computing

What follows is my attempt to spark a conversation in a few converging, but separate communities I lurk in. I’ve already had a bunch of amazing

🎈 Alan Kay’s talk at UCLA (2/21/2024) via Srini K

🧵 conversation

🌉 solvespace.com via Kartik Agaram

🧵 conversation

Carrying the torch of Ivan Sutherland's Sketchpad

🔌 Flyde HN conversation via Mariano Guerra

🧵 conversation

HN conversation about flyde: Open-source, visual programming for developers. Includes VS Code extension, integrates with existing TypeScript code, browser and Node.js

👐 folk.computer's February status update via Mariano Guerra

🧵 conversation

Present Company

💬 Scott Antipa

🧵 conversation

Does anyone know if any good math communities, online or in sf bay?

📑 The Cursed Computer Iceberg via Ivan Reese

🧵 conversation

Here's a nice Table of Contents page for a book on the culture of weird things people do with computers.

📝 Torn leaf gallery via Lu Wilson

🧵 conversation

I would like to invite you all to make a submission for Torn Leaf, an experimental gallery I'm creating.

Papers on the future of coding are very welcome (or anything else)


👨🏽‍💻 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/03 Week 1

2024-03-04 00:24

🎙️ The New Physics (with Stefan Lesser) 🛸 Moldable development for Common Lisp 🎥 Project Updates

Our Work

🎙️ The New Physics (with Stefan Lesser) via Ivan Reese

🧵 conversation

I had a lovely call with Stefan Lesser a few weeks ago, and he was kind enough to let me record it and release it as the patreon bonus podcast episode this month. We'd been DMing about 💬 #thinking-together@2024-01-01T21:17:17.966Z, keen to exchange our thoughts on a (new?) subtle kind of idea: those that can only be expressed (or received) by designing (or playing with) an interactive system. For instance, there's a subjective experience of interacting with a system, and I posit that this feeling engenders a kind of meaningful thought. So we set out to talk about this, and of course about some related things too (such as "the new physics" that exist inside the computer). Lots of fun. Thanks Stefan Lesser for the chat, and for letting me share it as boco . And thanks to all of you who support our effort to make the best, weirdest, most interesting podcast we can. Look forward to the next main episode… with a real subjective experience of soon-ness!

📝 The Parallel Reality Computer via Duncan Cragg

🧵 conversation

The Parallel Reality Computer

(very short article!)

📝 Zest: dialects and metaprogramming via Jamie Brandon

🧵 conversation

Some thoughts on skirting the line between static and dynamic typing

💻 Programming as Theory Building via Eoghan Mulcahy

🧵 conversation

Inspired by the Programming as Theory Building episode we are building a tool to help development teams capture & store the theory of their program text.

We achieve this through auto-generation of logical paths through the codebase which developers explain to each-other through voice and video.

We would love to hear the thoughts of this community specifically as many of you will see what we are trying to achieve here.

Checkout out our launch for more info.

launchdemo-higher-qual.gif

💬 Jim Meyer

🧵 conversation

Had the terrible realization that our code-native multiplayer canvas is the perfect opportunity to troll coworkers 😂

(Instantly send code changes to your coworker's canvas via multiplayer)

🎥 Turing complete trolling

Devlog Together

💬 Ivan Reese

🧵 conversation

I'm getting more and more into a new… idea? Let's see if I can explain it.

  • There are programs, like photoshop, that are tools for artists. You can use them to make art. They're a digital equivalent of traditional art tools. The fact that they're digital has, just to give one example, enabled artists to easily do some things that used to be really hard. This has, in turn, changed the sort of art that gets made.

  • There are programs, like flash, that are tools for _ to make tools for artists. (I'm leaving a blank there because… I could have said "programmers", but I actually want you to not think of them as programmers for a sec. Just go with me.) For example, in the late 00s, I worked as a ______ making tools for artists, and I used flash to do this, because it gave me a programming environment that was designed in tandem with a drawing environment. Really nice fit here. But flash wasn't really designed for people to make tools for artists. It was designed to be a tool for artists, but it was also programmable, which made it a good tool for making tools for artists.

  • There are —————, that are tools for making tools for _ to make tools for artists. (I'm adding another blank. I could have said "programming languages", but I actually want you to not think of these —————s_ as programming languages for a sec. Just go with me.) For example, going to school, or reading books, or a good night's sleep, or taking a shower, or having a stimulating conversation with a friend. These are all —————, but they're outside the computer.

Just as the computer allowed artists to have a new kind of tool that changed the sort of art that got made, I'm interested in how the computer might give us new kinds of ——————, which would in turn make new kinds of ___.

It's possible that FoC as a community is a —————. But I also think there's ————— software that's not a programming language.

💬 Mariano Guerra

🧵 conversation

Progress on the binary operations explorable: step through binary AND, shift left and shift right.

binvm-and.gif

binvm-shift.gif

💬 Mariano Guerra

🧵 conversation

🚂 All onboard the shift operation train (showing intermediate results during stepping)

binvm-shift-train.gif

🛸 A moldable Common Lisp object inspector based on CLOG via Konrad Hinsen

🧵 conversation

Moldable development is coming to Common Lisp

💻 SplootCode tiny program via Mattia Fregola

🧵 conversation

Hi everyone,

I have a big question about a programming-related problem I only partly understand, hoping not to get an answer, but rather pointers to where I should be looking. Here it goes.

For the past two years I have been working on SplootCode wanting to make code more accessible to non-engineers. The initial product (as is today) is basically a structured editor with drag and drop a-la-Scratch capabilities, and some other things to help non-engineers see and understand what the code is doing. You can see an example tiny program here.

During the interviews I conducted with several people, I bumped into a non-native English speaker who revealed their frustrations with having to learn English in order to code.

After speaking to another dozen non-native speakers - some of whom teach programming in non-English speaking countries using their native language - I figured that this is a really big problem for a lot people, and I want to solve it.

Since I have been deep into SplootCode for over two years, I am sure that I am suffering from sunk cost fallacy like crazy, thus the reason I am asking the question here is to get some outside perspective.

So, to solve the problem for people, I am wanting to address the nested problem that – AFAIK – the vast majority of programming languages, with the exclusion of any purely symbolic ones, are effectively a subset of the English language.

My first train of thoughts was: “perfect use case for building on top of SplootCode! The structured editing part means half the work is done already since I can label keywords however I want”.

Followed by: “but wait! how can this be actually solved so that anyone can use their own tool of choice, which is what people will need?”


Thus my question is:

I believe that the proper solution is to add a layer * to code – call the tongue layer – that defines the label ** for each tongue .

What do I need to understand thoroughly, in order to build such a solution? Who should I speak to?

  • layer intended as a standalone structure that doesn’t interact with anything but the semantic label of any literal, variable, operator, or function (or any other atomic structure that may exist within a programming language)

** label intended as the human-readable part of an atomic structure of a program. For example, the if in the structure if () {} in javascript, would be se in Italian, and もし in Japanese.

💬 Mariano Guerra

🧵 conversation

Where are the nibbles?

binvm-bytes-shorts-ints.gif

📝 Science Fiction Short: Hijack via Kartik Agaram

🧵 conversation

Some doggerel while reading spectrum.ieee.org/hard-science-fiction-computer:

If an Agile org and Private Cloud

put in a million sprints,

Do you suppose their OKRs

might start to overload Mars?

(With apologies to Lewis Carroll: The Walrus and the Carpenter)

📝 Entry 005: Functions: take 1 via Tom Lieber

🧵 conversation

Pictured: the equivalent of this WebPPL model

var clamp = function(num) {

  return num > 2 ? 2 : num

}

clamp(sum(repeat(3, function() {

  return flip()

})))

What's new this time? User-defined functions! There's one anonymous, single-use function at the top (the one that's passed to repeat() ), and a function named clamp below that's written to be reused. Functions = Boxes. Lu took lines, but I think boxes are still available.

The writeup is here: alltom.com/pages/ppl-lab-notebook/005.html If you want to know the whys and the hows, it's for you. I love how the lab notebook / experiment writeup format gives me places to hang all the random things I'd like to write about. Design vicariously with me. 🙂

(Even if you don't have the time to read the writeup, I want you to know that I do not like how the clamp function's source code looks. I'm not done. But I decided a few entries back that I was going to dump all the LEGO bricks onto the floor where I could see them before I started picking the ones I wanted in my spaceship.)

2024-02-21 clamped sum.gif

🎥 mandelbrot fractal in my visual programming environment via Maikel van de Lisdonk

🧵 conversation

Youtube Thumbnail

The last couple of weeks I've been mainly focussing on the editing/creating of composition nodes in the visual programming system that I am building, which is more work than I expected. At least it's now possible to add input and output ports dynamically for existing compositions.

Since I also wanted to have some fun (and procastinate) I decided to implement a zoomable mandelbrot fractal in the gl-flow app, which can be seen in this little video youtu.be/y71c1IBBBsk. This also required some extra node-types and adjustments to the pull-based gl-flow engine. Like having support for a for-loop-node which can be breaked out of depending on a condition. I implemented both the for-node as the condition as containers due to the way the pull-based engine works.

To give some background on the implementation of the pull-based flow engine which is used in the gl-flow app: the nodes get executed backwards starting at an end node and their output is glsl-code which can be run by a fragment shader on the gpu. So, the nodes themselves are not executed by the shader but the generated output is.

The spatial placement of the "end-nodes" is used to determine which node gets executed first and then the input nodes are executed backwards. A container is also an end-node. So, the contained nodes are executed in a code block.

I think the fractal renderer works quite nicely but you can't zoom very deep because of precision issues. I might try to solve these in the future, but my goal is not to make the perfect visual shadertoy😊.

📝 Entry 006: Layout by dragging via Tom Lieber

🧵 conversation

Catharsis: I finally don't have to lay code out (solely) by typing coordinates. 😌

The write up is here, though it's more like a programming livestream this time because I didn't iterate on the language much: alltom.com/pages/ppl-lab-notebook/006.html

🎥 drag nodes and charts

Thinking Together

💬 Hamish Todd

🧵 conversation

Hey folks. I've been working on a VR ui for animation, inspired by Stop Drawing Dead Fish and a system called Projective Geometric Algebra. In this gif you can see me making something called a PGA Rotor, which is TLDR is an object that generalizes vectors and quaternions.

chrome-capture-2024-1-28.gif

You animate by making a bunch of these things, and then "snapping" them together, so they are joined end-to-end for example, and that becomes constantly-updated behaviour. Problem that I'd appreciate input on an idea for is how to visualize the "code"

Problem: my setup is already cluttered. Eg, animated characters are already surrounded by a halo of crazy clockwork; it's all I can do to hide it. But sometimes you want to see a lot of it. And I don't want to add boxes-and-arrows, and I don't want to add spreadsheets much either. I'm thinking that instead of showing the relations, I just let you fiddle with the things and see what happens

But maybe someone here has already tried this?

📝 Academia from the outside via Lu Wilson

🧵 conversation

I wrote down my perceptions of academia as someone on the outside.

Content

🐦 worrydream.com/Tweets via Kartik Agaram

🧵 conversation

Bret Victor has redesigned his website. Poking around it, I noticed this wing of tweets: worrydream.com/Tweets

Example content:

2011-09-30:

Spent the last two days trying to write a paragraph. WHY CAN'T I WRITE PARAGRAPH.

📝 How to adopt Christopher Alexander’s ideas in the software industry via Andreas S

🧵 conversation

Digging around for Christopher Alexander I found Stefan Lesser 🙂

📝 List of 2024 Leap Day Bugs via Beni Cherniavsky-Paskin

🧵 conversation

Some hilarious examples if "software legalism" 🤦... (literally legalism in the case of marriage certificates) codeofmatt.com/list-of-2024-leap-day-bugs

Well, it's 2024 and leap day has come once again. As I've done in prior leap years, I've captured as many bug reports and outages as I can, along with links to the source where possible. For those have been following along, you'll notice these have been organized a bit

🤖

📝 AI is bad/good actually via Lu Wilson

🧵 conversation

I'd like to introduce a new way of talking about good/bad bad/good AI

1709279393169.png

Present Company

💬 Beni Cherniavsky-Paskin

🧵 conversation

My 11yo son is learning the piano, and I rigged him a midi->raspberry pi->RGB LED strip so keys he plays light up then fade (it's a 144/m strip so nearly 2 leds per key).

Now i'd like him to program he visualizer himself. Tweak the colors, maybe do some analysis like recognize chords, try record/replay, maybe even ignore the music and make some game using the piano as input device?

He knows Scratch/Snap!, and wants to learn python (which my current script happens to already use), but the audio/visual nature here just screams "missed FoC/live coding opportunity" 😆

What would you recommend?

[constraint: myself I know zero about music 🙉]


👨🏽‍💻 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/02 Week 4

2024-02-25 22:35

💡 Embracing Software Variability 🆕 Experiment visualizing structure diffs 🧮 Calculang

Our Work

🕴️ vanishing.page via nichoth

🧵 conversation

New fun side project vanishing.page

E2E encrypted messages that disappear

🎥 Let's talk about effect types via Peter Saxton

🧵 conversation

Vimeo Thumbnail

"Let's talk about Effect types" I built a language workbench to show all the internals of EYG's type inference. It's useful for showing effect typing and I've recently added highlighting for all the places than can raise effects.

🛸 github.com/KinaKnowledge/juno-lang via Rafi Khan

🧵 conversation

A demo of livecoding the dom using junolang and reactjs

🎥 junolang react live coding

📝 emweb via Gregor

🧵 conversation

I started thinking, prototyping and now writing about a more interwoven web: emweb

A while ago I migrated some group chats from Twitter to Signal, for a myriad of reasons. One of the things lost in that particular fire was the ability to view tweets embedded directly in the chat…

Devlog Together

💬 Kartik Agaram

🧵 conversation

Screenshot_20240219-213852.jpg

💬 Mariano Guerra

🧵 conversation

WIP binary interactive explorable explanation

binvm-demo.gif

🎠 Lots of charts via Kartik Agaram

🧵 conversation

A few years after I started programming I used to spend lots of free time tweaking my editor and shell configuration. After many years, I find I'm back to doing that 😕, only I then spend a few hours every few days trying to write up my configuration for imaginary others. This most recent post I'd never have gotten around to if I'd known how much proof-reading it would take.

carousel-points.png

carousel-linespoints.png

carousel-ellipses.png

carousel-boxerrorbars.png

♟️ maiachess.com via Jimmy Miller

🧵 conversation

I've taken a short break from my language, debugger, and editor to program my digital chess board (Chessnut air). I've been trying to learn/get better at chess for a while now and thought a digital chess board would be a great way to practice away from the computer. It is, except 1) bots don't play like people 2) the apps for the board suck. If fixed the first by using maiachess.com a chess bot trained on Lichess data to play like real people (it's impressive). I also had to whip up a custom openings book. And 2 by writing my own software for the board. The bluetooth protocol was surprisingly simple (and luckily someone already reverse engineered it for me).

I think the most fun part about all of this has been building an interface in the chess board itself, rather than in an app. My program has no ui other than the chess board. Want to play a game as black, setup up the pieces, and pick up the black king. The game will start when you place it down. Setup a similar setup for choosing a unique starting position. The UI has changed everything for me. I use it now way more since I don't have to mess with an annoying app on my phone.

Thinking Together

🤔 red-lang.org via Mariano Guerra

🧵 conversation

Anyone here uses/used red-lang.org ? Could you share your thoughts on it?

🎥 I just realized why I´m doing the Marble Machine Project via Mariano Guerra

🧵 conversation

Youtube Thumbnail

Why are you doing your FoC project?

🔌 Akka GraphDSL via Safta Catalin Mihai

🧵 conversation

Does anyone know of a: 1. open source, 2. visual programming, 3. streaming ( as in recative streams), 4. statically typed project for visually building a data streaming graph and running it ?

I think this should be quite natural to do since looking at the code for Akka GraphDSL - it’s already pretty close to a visual language.

🐸 Prior art for See It via Lu Wilson

🧵 conversation

I mapped out a huge list of prior art for visualised LINES of memory in coding environments.

I've annotated the LINEs in each example. Please check it out and let me know if it prompts any ideas/thoughts!

And if you know anything I could add, please send em over!

image.png

💡🎥 Embracing Software Variability to build Explainable Systems via Francisco Garau

🧵 conversation

Youtube Thumbnail

Nice presentation of the Glamorous Toolkit in the latest Vamos 2024 Conference in Bern.

vamosconf.net

vamos2024.inf.unibe.ch

Content

🛸 github.com/KinaKnowledge/juno-lang via Rafi Khan

🧵 conversation

An image based lisp in the browser that plays well with JavaScript.

You can do live programming on the Dom!

🧮 calculang via Mariano Guerra

🧵 conversation

calculang is a language for calculations, It aims to be:

  • shareable, communicable 💬 💌
  • transparent, verifiable 🕵️‍♀️
  • understandable, concise 📖
  • flexible, reusable ♻

only for calculations ⇔ numbers ⇔ workings

calculang doesn’t ‘do things’ (“side-effects”) like regular programming languages 💥

This serves to simplify, permitting the aims above for calculations, numbers, and their workings ✅️

📝 The Xylophone Maze: Screen-free coding for children | Gabor Torok via Kartik Agaram

🧵 conversation

Help papa find her daughter

My child is 3 years old. I was looking for a game that we could play together and would be her first programming-like activity. I wasn’t keen to teach her anything specifically but rather offer her the option to explore what coding or algorithmic thinking tasted like (similarly when you would give your child a sheet of paper, brush, and paint to play with). I evaluated some computer game options but I wished to find screen-free, unplugged alternatives, especially since she has not been used to interact with a computer or screen at all.

🆕 Experiment visualizing structure diffs via Kartik Agaram

🧵 conversation

An experiment in diffing structured data by Jonathan Edwards

📝 Why Bloat Is Still Software’s Biggest Vulnerability via Shalabh Chaturvedi

🧵 conversation


👨🏽‍💻 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/02 Week 3

2024-02-18 22:32

📢 You should write an Onward! paper 💡 Maybe Everything Is a Coroutine ߷ Unison Cloud Demo

Two Minute Week

💬 Robin Allison

🧵 conversation

A screen recording from a program I did a while ago. Its an idea.

Our Work

🎥 Embed an Extensible AI Copilot in Any Web Application via Mariano Guerra

🧵 conversation

Youtube Thumbnail

Making Gloodata embeddable using Web Components and Shadow DOM

The demo embeds Gloodata in the Future of Coding history search web app and shows how it can do external requests to the app and get information back from it.

Shadow DOM allows to isolate all scripts and styles from both sides and allow embedding in any web app using vanilla js/DOM and Web Components.

Devlog Together

💬 Tom Lieber

🧵 conversation

I started all this by saying PPLs were surprisingly visual and physical, so I'm concentrating on the interaction loop that I had in mind when I said those things: every time you edit a program, you see how it affects the distributions of data flowing through.

So in the attached GIF, there's a dataflow graph for a simple model where every few seconds I add an additional wire.

PPLs don't solve for a result—they converge . So I expected the visualizations to have a very springy response to changes. And that's what I get! In fact, the juiciness of the program output contrasts so much with the stilted UI that I might have to resubscribe to some game design blogs sooner than later. 😬

But this is good. I have ideas for where to take the language that are milquetoast but implementable by me in my spare time, at a pace that I think should allow me to explore complex models within my lifetime.

2024-02-11 binomialish buildup.gif

📝 Lab notebook for “Tom’s PPL” via Tom Lieber

🧵 conversation

I've actually been keeping a lab notebook for this project. Tonight I decided to put it online, since it explains some of my design choices at a length that wouldn't be appropriate in Slack.

🎠 New version after 51 days via Kartik Agaram

🧵 conversation

I just published a new version of my thing, with focus not on the new version number but on the number of days the previous version lasted. Because I find these numbers in our statements subconsciously go from facts to bragging to metrics..

I just published a new version with a few changes. Firstly, an incompatibility: creating an editor now requires a font, where it used to implicitly use the current font. I'm fixing one previous Devlog...

💬 Ivan Reese

🧵 conversation

I haven't been doing much coding lately (past ~4 months), so I'm doing a tiny side project to test out some new ways of working.

  • I'm converting an old CLJS project to TypeScript. I really wanted to authentically live in CLJS, but after months and months of trying, I never got over pain caused by the tooling. (This was back in ~2016, and I hear things have come a long way since. I'd give it another shot, but I no longer have much free time to learn languages/ecosystems.) I tried to get GPT to actually just convert the whole CLJS codebase. It was a mixed success. This is why I chose TypeScript, rather than (my preference) some dynamically-typed language. As it passes through an intentional state of chaotic mush , I want as much structure as possible to be imposed upon my work. Once the conversion is done and I'm ready to resume work on the actual capabilities of the system, I'll probably gradually convert it to JS so that I can get away from needing a build step at all.
  • Inspired by @Maggie Appleton, I'm using native apps for Whisper and GPT. When I want to know how to do something, I just ramble out loud. Eg: "Does JavaScript have any syntax yet for iterating over the keys and values of an object without using object.entries?" I've found that for certain kinds of question, it feels really fluid. It might not be any faster than switching to my browser, typing mdn.io followed by my query, and then scanning the page. But it often is, and even when it isn't it just feels really nice to get some help from the computer without having to touch the keyboard. (I have a weird relationship with my sense of touch — for instance, I really dislike touching anything made of metal and think we need to put all the metal back in the ground where it belongs, we've awoken a demon of unhindered conduction and are reaping the consequences, we're all damn fools — so it's nice to be able to converse directly with my computer without having to touch anything)

📝 What's immediately next? via Tom Lieber

🧵 conversation

I've resigned myself to the fact that models in my language are going to get worse before they get better. There are things I love about this representation already, but I can already see it getting mired in "syntax".

I'll get to it. I want to work on model editing so badly that I'm just throwing in first drafts of the language features that I need in order to implement more interesting models as quickly as possible. I'm only a few away.

I added new entries in the lab notebook about why and how, and created this lovely GIF for you. This is a "trait attribution" model that infers whether an exam is fair based on an assumption about the base rate of exams being fair, and how many people pass. (Only one person took this particular test—and they failed. 😰) Cute and small.

2024-02-17 fair exam - one failure.gif

Reading Together

📝 Programming-in-the-large versus programming-in-the-small by DeRemer and Kron (1975) via Christopher Shank

🧵 conversation

📝 A Small Matter of Programming Perspectives on End User Computing By Bonnie A. Nardi via Stephen De Gabrielle

🧵 conversation

~Chapter 1 Introduction~ (11 pages)

A Small Matter of Programming Perspectives on End User Computing By Bonnie A. Nardi

Thinking Together

💬 Guyren Howe

🧵 conversation

Trying to see what I can do with the relational model, only supporting multi-model. Tagging each row of tables with a “model” identifier, much as temporal databases attach an interval or whatever to a row.

This would be give us a First Order Modal logic. I could have some fund pondering what various modal logics can do here (I’ve studied Modal Logic, but not recently). It occurred to me to ask about existing work in the area. At least what the concept is called, so I can go look for prior art.

Think of having a Datalog database and being able to set a “current model” or being able to do separate parts of queries in different models.

I’m also interested in the idea of merging multiple models to build new ones.

What should I look for?

Thanks.

📼 WAFlash is a WebAssembly AS2/AS3 Flash compatible player developed with HTML5, WebGL, WebAssembly and Emscripten. via Justin Janes

🧵 conversation

I’m not sure which channel this belongs in or the usernames of the podcast but i’ve been working through the podcasts backlog. I wanted to share that Flash isn’t entirely dead and it’s based on a usable and sandboxed Wasm.

app.myinnergenius.com/ibm/techtypes via Justin Janes

🧵 conversation

I’m not planning on working for IBM/Rhel when i share this but - i did learn in 2015-2016 that for a long time IBM was the third largest employer of psychologists and therefore they have good assessments and profiling quizes lol.

IMG_3665

Content

🐦 Duncan Cragg on X via Duncan Cragg

🧵 conversation

🐦 Duncan Cragg (@Duncan__Cragg) on X: @jonathoda I'm a "crazy, misfit, rebel, trouble-making" person, who "sees things differently"

I don't just "provide entertainment for jaded developers" in my blog; I want to "add to human knowledge"

But:

https://t.co/oTZHbNBVYB

I see folk stifled by conformist academia

What did I miss?

Tweet Thumbnail

💡 Maybe Everything Is a Coroutine - Adam Nelson via Kartik Agaram

🧵 conversation

Coroutines as a foundation for state machines, effect types and resumable exceptions.

I was inspired, after reading the excellent blog post Let Futures Be Futures, by the author's thought experiment of a language in which all functions are coroutines and this is used to express asynchr…

🎥 Tomorrow Corporation Tech Demo via Ivan Reese

🧵 conversation

Youtube Thumbnail

Reposting a classic in case any of the new folks here haven't seen it.

📝 Capital and enclosure in software commons: Linux & Ethereum via Andreas S

🧵 conversation

Stumbled upon this interesting perspective on Commons

Entities which extract profits from software commons like Linux and Ethereum have the greatest incentive and capacity to co-opt them.

🎥 Creating and Deploying Slackbots with Unison Cloud via Mariano Guerra

🧵 conversation

Youtube Thumbnail

This video guides you through creating a Slackbot in Unison and deploying it to Unison Cloud, starting with a simple example and finishing with a ChatGPT bot.

Present Company

📢 To the crazy ones via Jonathan Edwards

🧵 conversation

To: the crazy ones, the misfits, the rebels, the troublemakers, the ones who see things differently

Subject: you should write an Onward! paper


👨🏽‍💻 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/02 Week 2

2024-02-12 00:17

💡 Notation & representation 🪢 Combine nodes into compositions 🦠 Will Wright's Dynamics for Designers

Our Work

💡 Zest: notation and representation via Jamie Brandon

🧵 conversation

Struggling with nominal types sneaking in everywhere

👄 Teaching computers to speak: the prosody problem via Kilian Butler

🧵 conversation

I wrote this article which covers speech synthesis ML, with a focus on the most challenging + interesting problem in speech: prosody generation.

Understanding this is key to building multi-modal input/output for LLMs

~_*Teaching computers to talk: the prosody problem*_~

papercup.com/blog/realistic-synthetic-voices

If anyone’s interested in the topic hit me up 🤩

🎥 Gloodata: Smart Labels & Mistral Model using Anyscale Endpoints via Mariano Guerra

🧵 conversation

Youtube Thumbnail

Smart labels are a visual indication that a value has detailed information and contextual actions accessible with a click

Plugins can register their own smart label types and detailed views and contextual actions for those types or types registered by other plugins

First demo using an open model instead of ChatGPT

💭 tldraw.com via Daniel Buckmaster

🧵 conversation

Not exactly a project, but I was thinking about the way I use tldraw.com as an infinite single notepad - not starting new files, just gradually moving to a new part of the canvas as I need to. And as I was thinking I thought it'd be amusing to show off my canvas. This is about a year's worth of intermittent diagramming. I still use pen and paper a lot, and I don't yet know what the trigger is for me to get on tldraw instead of reaching for my notebook.

image.png

🐸🎥 DreamBerd Vision Pro [FULL COMPREHENSIVE REVIEW] via Lu Wilson

🧵 conversation

Youtube Thumbnail

Introducing the DreamBerd Vision Pro

(satire)

💬 Tom Lieber

🧵 conversation

The future of coding may involve rendering histograms of random variables in Three.js, so here we are.

2024-02-07 animated histogram.gif

💬 Tom Lieber

🧵 conversation

It's all smoke and mirrors, but seeing the charts fill up was part of the UX that I wanted to test first, and… oh yeah, that's what I was hoping for. 👌

2024-02-08 marginals with code.gif

💬 Lu Wilson

🧵 conversation

🎥 is this silly?

🪢 Combine nodes into compositions in a visual programming system via Maikel van de Lisdonk

🧵 conversation

Youtube Thumbnail

Hi, in this video I show the progress on a new feature that I really wanted for quite some time: combining nodes into reusable compositions. This helps in making flows smaller. The compositions can be accessed from within the node-type selector so they can be added to the flow. One thing that I really like is how the inputs and outputs to compositions are created based on the connections which cross the bounds of the selected area. I've also finally added a way to copy & paste nodes which is a nice productivity improvement.

In the video I demonstrate my other flow engine instance with which you can create fragment shaders in webgl and here I've recreated a shader form shadertoy made by kishimisu (see shadertoy.com/view/mtyGWy ). I had to extend the node-types to make this possible. Currently I cant yet create nested compositions but once that is possible I hope it will help decrease the "node-spaghetti" further. Because I do think that the textual shadertoy code is still easier to read then my visual version. Which obviously I want to improve.

I am almost ready to send out a link to my visual editor but decided to work on it a little bit more for ar least this month. I want to extend and improve some features and create more example flows.

📝 Cognition and conditioning via Tom Lieber

🧵 conversation

I wanted to make a pit stop at this tug-of-war example from ProbMods before I moved on to working on the code editor because it's one of the most eye-opening in terms of what's possible in PPLs, and because this is the visual I wanted that I couldn't get in WebPPL, in two ways: 1) all the plots, arranged how I wanted them, and 2) always-on plots that let me see the samples as they come in, with the charts getting smoother and smoother the longer I'm willing to wait.

2024-02-10 tug-of-war.gif

Reading Together

📝 If What We Made Were Real: Against Imperialism and Cartesianism in Computer Science, and for a discipline that creates real artifacts for real communities, following the faculties of real cognition via Stephen De Gabrielle

🧵 conversation

If What We Made Were Real: Against Imperialism and Cartesianism in Computer Science, and for a discipline that creates real artifacts for real communities, following the faculties of real cognition~

Antranig Basman

Abstract: I argue that we have not yet succeeded in constructing any real software, but merely simulations or cardboard prototypes of software…

PPIG 2017 - 28th Annual Workshop

ppig.org/papers/2017-ppig-28th-basman

Not new, but new to me. Indeed PPIG seems to be a goldmine

🖊️ video: Mobile Pen-based Computing (1992) via Pietu

🧵 conversation

An inspiring video: Mobile Pen-based Computing (1992). 1hr 3 min.

In the conference recording, Terry Winograd demos the PenPoint OS, a mobile operating system focused on the "notebook interface". This is around the time PDA's and Apple Newton were on the radar.

🗨️ Software Craftsmanship: The New Imperative via Dave Liepmann

🧵 conversation

Pete McBreen's Software Craftsmanship: The New Imperative (2002).

Most of the book is about the consequences of distinguishing between "software engineering" (defined as armies of programmers going down a waterfall) and "software craftsmanship" (defined as small teams working incrementally). He runs deep with the craftsman metaphor, taking seriously how to make real the "apprentice" and "journeyman" stages in a software developer's career.

One interesting thread is that he points out how "best practices" are firmly a creation of the software engineering side of his binary, and do not satisfy craftspeople's very different trade-offs. Some by nature will wind around on their own path, custom-fitting each architectural decision to their preferences and the needs of the specific project.

There is overlap with our 💬 #thinking-together@2023-12-30, exploring Jack Rusher's ontology of [programming, computer science, software engineering]. It seems useful to me to further distinguish the "strong S.E." that Jack and McBreen use as definitional from the "soft S.E." which we all seem to use colloquially to mean all manner of techniques for making an application error-resistant. The work of the latter may not be intellectually engaging or novel but it lacks the qualities which make strong SE distasteful: centralization of power, treating developers interchangeably, the urge towards monoculture, a cultural belief in "training" instead of learning.

image.png

Thinking Together

💬 Jim Meyer

🧵 conversation

New visual programming languages don't fail as visual programming languages.

They fail as programming languages, which is what most new programming languages do.

💬 Guyren Howe

🧵 conversation

Is there an attempt at making a more beginner-friendly, perhaps graphical, form of prolog. Perhaps something like Squeak, but where the computation model is more logic programming than imperative, structured programming?

Or perhaps some other friendly presentation of logic programming?

Content

📜 Vesuvius Challenge 2023 Grand Prize awarded: we can read the scrolls! via Walker Griggs

🧵 conversation

This might be old news to some, but: Vesuvius Challenge 2023 Grand Prize awarded: we can read the first scroll!. I'm blanking on who exactly (if it's you, I apologize), but I met someone at a FoC SF meetup last year who was working on this project. Immensely cool work!

The 2000-year-old scroll discusses music, food, and how to enjoy life’s pleasures.

📝 The Unreasonable Sufficiency of Protocols via Christopher Galtenberg

🧵 conversation

Bumping this from history, as a submission for FoC podcast papers to consider, at least a background text to have in the toolbelt – as so many of the podcast's conversations are around bridges yet-to-be-built – the meta-domain of protocols supplies much of the missing scaffolding

Protocols, we believe, deserve to be first-class concepts in any discussion of coordination phenomena, at every level: from handshakes to civilizational futures. We believe that protocols, especially ones mediated by computers, will play an increasingly important role across all aspects of modern human life.

venkatesh-rao.gitbook.io/summer-of-protocols

Unreasonable Sufficiency of Protocols snippet.png

🦠 Will Wright's Dynamics for Designers via Mariano Guerra

🧵 conversation

Youtube Thumbnail

Present Company

💬 Tom Lieber

🧵 conversation

Can I be happy writing TypeScript for the browser? I made a Node project that imports Three.js, and Browserify takes almost four seconds to bundle it every time I make a change. Is this how it’s done?

📢 Levlo: looking for the first team member via Jarno Montonen

🧵 conversation

I'm looking for the first team member for a natural language programming startup I've been working on since the beginning of 2021: levlo.com.

The responsibilities can be defined based on experience and interests to fit somewhere between passionate frontend developer + designer and full-stack developer + product owner/chief product officer.

I live in Espoo, Finland, but we'd work mostly full-remote. However, due to bureaucracy, residence in Finland is required. Atm I have funding for 12 months of 4200€/month salary (with working time and benefits as defined by Finnish law) and will be offering equity on top. The goal is certainly to find funding for paying the salary going forward as well.

Since releasing the demo shown on the site, I've been working on rewritting large parts of the underlaying technology to be able to add features required by potential use-cases that have come up. Now, after ~5 months, I've finally been able to start adding those language features and start work towards enabling real world use-cases. Sales effort hase been fairly minimal so far, but I have one confirmed pilot customer (B2B) and will be putting more effort into sales going forward.

The techstack is C#, Azure and Blazor (similar to Vue). The most important skills would be web frontend development (& design), cloud (Azure), and C#. In that order. The C# you'll need to write will be fairly trivial and it should be easy for anyone familiar with eg. Java or TypeScript to pick it up. But first and foremost I'm looking for someone passionate about the future of programming willing to embark on this hopefully decades long journey with me!

Textual no-code platform for creating logic-focused web apps usable by people and other software


👨🏽‍💻 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/02 Week 1

2024-02-04 23:10

Our Work

🎥 Inventing on Principle for Gleam via Peter Saxton

🧵 conversation

Vimeo Thumbnail

I've implemented an interpreter for Gleam, (in Gleam) so that I could make a bunch of tooling quickly. This is my first effort at brett victors version of Live Coding.

📝 Software Instruments via Jasmine Otto

🧵 conversation

My PhD thesis about my ongoing attempts to marry AI and HCI is now up. (A lot of it is about academia, where those two fields do not like to talk.) Plenty of stuff about paper tools, rapid visualization prototyping, and the connection between domain-specific languages and direct-manipulation interfaces.

Author(s): Otto, Jasmine Tan | Advisor(s): Smith, Adam M | Abstract: Software instruments are intelligent interfaces used by domain experts to manipulate complex artifacts. By contributing the concept of software instruments, this thesis connects the field of data visualization to its relations in both artificial intelligence and computer-supported collaborative work. Software instruments arise from projects carried out by teams with complex datasets in aerospace and narrative design, whom I have worked closely with, and which are developed and documented in this thesis. They are a lens for other computational media practitioners to introspect about their own design processes and artifacts. I argue that the evaluation of software instruments occurs in discussion with expert stakeholders, adopting the lens of critical technical practice to avoid disciplinary silos and narrow strategies of evaluation.

💻 github.com/sublayerapp/blueprints via Scott

🧵 conversation

We just open sourced this concept we've been working on for programming with LLMs we're calling Blueprints. It is kind of an alternative to coding copilots. It allows you to capture patterns/sections/chunks/classes/etc of your code to store as a "blueprint" then use those blueprints as a base template for generating something new - in your particular style. Think about it similarly to how when you work on a new feature, a lot of the time there's similar code in your codebase that you look at and modify for this new use case you're working on.

The way it works is that when you capture a blueprint, the server generates a description with GPT4 along with vector embeddings of that description so that the next time you want to do something you just need to describe it, it finds the closest description, and uses the description+code to prompt for the new code generation.

Would love feedback or to chat if this sounds interesting to anyone!

Repo here: github.com/sublayerapp/blueprints

Short demo of it in action

💬 Elliot

🧵 conversation

Hey y'all. I'm working towards a library for rendering and adding direct-manipulation to infinite recursive things. I want to share this picture showing where I'm at.

On the left is the rendered infinite recursive thing. On the right is the diagrammatic specification for the thing on the left. The library interprets the diagrammatic spec and produces a program that takes the initial transformation (position, rotation, scale, and skew) of a shape (data for a t in the diagram), and then runs forever, adding more shapes to the left and the right as it runs.

The arrows in the spec mean "depends on", and the lines mean "depends on" both ways. I could have drawn the lines as two-sided arrows but I found that it was harder to read. Explaining this now I realize its kind of confusing tho lol.

The self-loop on the t in the spec is what makes the resulting diagram recursive, otherwise it would be a single red, green, and blue thing.

Currently the diagrammatic spec is actually specified in text 😐

image.png

💬 Gabriel Grinberg

🧵 conversation

Hey everyone 👋 made some big progress with Flyde in the recent months, and would love to share it here!

Flyde is an open-source, visual programming language. It runs in the IDE, integrates with existing TypeScript code, both browser and Node.js.

Flyde is

Would love to hear your thoughts and feedback 🕺

🎥 Demo

Devlog Together

🎠 Pong Wars via Kartik Agaram

🧵 conversation

Have y'all heard the good word yet about Pong Wars, a.k.a Yin-Yang for Pong, a.k.a Pin-Pong?

🎥 Ping Pong

🎲 Intro to WebPPL, a Probabilistic Programming Language (PPL) via Tom Lieber

🧵 conversation

Thanks to the power of View Source, I've embedded WebPPL on a web page of my own site! Just a simple (but perhaps more evocative than usual) intro to the language for now: alltom.com/pages/webppl-intro

💬 Oleksandr Kryvonos

🧵 conversation

so this has been developed a while ago, I just wanted to see how 🎥 code on canvas looks like

Reading Together

📝 The half-life of developer skills is shrinking rapidly - Stack Overflow via Salmen Hichri

🧵 conversation

A very interesting podcast talking about the future of software engineering 💡

  • How classic programming differs from ML/AI programming ..
  • How to software engineers can adapt to emerging AI technologies ..
  • And few other topics related to AI/ML and software engineering ...

Content

📘 The Architecture of Open Source Applications via Florian Schulz

🧵 conversation

Just learned about this: “The Architecture of Open Source Applications”

📝 The Engineering behind Figma's Vector Networks via Shalabh Chaturvedi

🧵 conversation

Interesting read covering vector graphics "paths" and "vector networks"

A deep dive into the world of vector networks, and the engineering challenges involved in their implementation.

🧑🏽‍💻 getspectral.io via Mariano Guerra

🧵 conversation

Figma meets Visual Studio Code: Collaboratively navigate, debug and edit your codebase on an infinite canvas


👨🏽‍💻 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/01 Week 5

2024-01-28 22:46

📍 Spatial Computing 🧑‍🏫 Future of Kids Coding

Our Work

📝 Structured data. Not too much. Mostly text. via Kartik Agaram

🧵 conversation

📍 Spatial Computing with links not apps via Duncan Cragg

🧵 conversation

My latest article:

Spatial Computing with links not apps

Freedom from the Metal to the Metaverse

Devlog Together

💬 Jason Morris

🧵 conversation

This week I paid off some technical debt, and refactored a single 7500-line file into 134 different JavaScript modules. I did this to myself. No one to blame but me. But it's finished.

Thinking Together

💬 Mariano Guerra

🧵 conversation

Why aren't you using one of these? What's missing in them? is your use case not covered?

  • gtoolkit.com is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
  • unison-lang.org A new approach to Distributed programming
  • github.com/hyperfiddle/electric A reactive DSL for full-stack web development, with compiler-managed frontend/backend network sync
  • redplanetlabs.com a new programming platform that ** reduces the cost of building scalable backends by 100x
  • croquet.io Multiplayer Platform for Web and Unity
  • enso.org Nodes and wires data manipulation
  • rvbbit.com reactive data boards & flows
  • wolfram.com/language a symbolic language, deliberately designed with the breadth and unity needed to develop powerful programs quickly.

💬 Jacob Zimmerman

🧵 conversation

Just curious for all your thoughts, is being ahead of your time a good thing? I’m thinking of a conversation I had with @Toby Schachman in the Cuttle discord a while back where he mentioned that Cuttle aimed certain details at a status-quo of programming style unlike it’s predecessor Apparatus, I thought that was quite profound. I’m thinking also of Fortran vs Lisp (or perhaps Forth). When is it not worth it to meet people where they are?

📍💬 Eli Mellen

🧵 conversation

I wanted to bounce 2 terms I've been thinking of off of this group:

I dig visual programming, but think the term is like a little bit of a brain poison because it isn't really descriptive of the goals, and, like, almost all textual programming is inherently visual, too...just...in the way text is.

I think Ivan Reese was the person I first heard float the term "spatial programming," which I dig, but at least for me, it also misses the real value add of what I'm looking for in a "visual" system.

So, the two terms I've been kicking around:

  • relational programming
  • cartographic programming

Neither are perfect, and both feel exhaustingly pretentious (a good thing, may haps?) but my intention with both terms is to highlight that these sorts of systems, unlike text-based programming, help make the relationships between different elements (classes, data flow, inheritance, etc.) meaningful using information other than similar names.

Useful? Stupid? Prior art?

Content

🎥 The Only Unbreakable Law via Konrad Hinsen

🧵 conversation

Youtube Thumbnail

A nice talk about Conway's law

📝 Visualization of Cultural Heritage Collection Data: State of the Art and Future Challenges via Jasmine Otto

🧵 conversation

Given recent discussion of what social scientists need from computing (and is it plain-text scripting?), sharing this recent survey of cultural heritage visualization systems (16p). Section 3.4 (Granularity and Interactivity) will be especially interesting; the authors avoid flattening this idea to a 'file system'.

💬 Eli Mellen

🧵 conversation

Another one of those developer thriving comics from pluralsight’s research folks. I like that this one hits on contest culture, and its relationship to AI. (also, love that the PDF includes accessible text)

📄 Brilliant Blobs.pdf

🧑‍🏫🎥 Testing a new programming approach with 11 and 12 year-old children by Agustín R. Martínez via Beni Cherniavsky-Paskin

🧵 conversation

Youtube Thumbnail

Whoa. Similar to Lu Wilson's probabilistic rule-driven VMs,

plus a touch of Orca? (Specifically the way the kid built a timer out of a character pacing back and forth, see around 11:10-14:30)

I particularly love the use of user-drawn icons in lieu of symbols. Naming is hard (and requires literacy).

End User Programming

📝 Myths and Mythconceptions via Stephen De Gabrielle

🧵 conversation

Almost finished listening to the marathon podcast on this paper.


👨🏽‍💻 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/01 Week 4

2024-01-21 23:07

🤖 Intersection of programming & AI ⌨️ Keys, Boxes & Arrows 📚 Probabilistic Models of Cognition

Our Work

🎼 Polygon via Clam R

🧵 conversation

Polygon: A spatial approach to sequencing musical rhythms

Inspired by Bret Victor's lectures and some of the cool stuff i've seen on here, I made a drum sequencer where the relative positions of nodes determines the spaces between notes in a pattern.

Generate drum patterns through spatial computing.

🤖🎥 Gloodata: Your Personal Productivity Assistant via Mariano Guerra

🧵 conversation

Youtube Thumbnail

I recorded a short demo showing the latest plugins and improvements I've been working on in gloodata.

Gloodata: Your Personal Productivity Assistant

The demo shows timezone information, weather forecast, maps, routes, content extraction and summarisation plugins.

📝 public.me via Anton Podviaznikov

🧵 conversation

made a simple tool to publish Apple Reminders online public.me.

Sounds not impressive, but Apple Reminders gave me an interesting data structure: list of items with predefined format(name, description, date, url, isCompleted, images etc).

So I was able to build habits tracker directly in reminders and have nice visualizations of streaks like this public.me/anton/daily

🤖🐦 Tweet from @io_sammt via Samuel Timbó

🧵 conversation

I see lots of folks here are interested in the intersection of programming and AI (to say little); I finally posted an example combining Unit and LLMs on X. It is a reactive graph for text reasoning and image generation. I start from a statement, then apply commands to transform it, ultimately rendering generated images. Take a look . Full preview:

Screenshot 2024-01-20 at 10.56.26.png

Devlog Together

🎠 A little game integrated with its tools via Kartik Agaram

🧵 conversation

Integrating a little game with a sprite editor and a maze editor, all on a touch-screen.

🎥 sprite game

💬 Jimmy Miller

🧵 conversation

When working on my language I've been frustrated by the lack of symbols and extra information for my JIT compiled code. There is a way to get this kind of information, but it involves building an elf binary in memory. Way too much overhead for this point in my development.

So I started building my own debugger frontend to lldb. Not much to show right now. But the idea is to specifically tailor it to my language. So you'll get a compiler explorer like experience, but also be able to view the stack and heap and all of that live. See the language level values stored in there.

The fun part to for me was how to convey the information I need to the debugger. The answer came from the standard JIT interface. How do you tell your debugger things? You make a function that the debugger has a breakpoint in. The function does nothing in the body. You just pass some args that tells the debugger where in memory to get the information it needs. Super clever. So now I'm working on passing all my compiler metadata to the debugger frontend so it can know how to render things intelligently.

⌨️🎥 Using just the keyboard for visual programming via Maikel van de Lisdonk

🧵 conversation

Youtube Thumbnail

This week I spend a lot of time adding basic keyboaed support in the visual programming system that I am developing. For productivity I think that just using a mouse for creating a visual flow is not enough. One of the reasons why we are so productive when using a text editor for programming is the usage of the keyboard I think. Off course it's not the only reason but I do think it's of major influence.

So being able to use the keyboard for visual programming seems like a very good idea. In this video I show exactly that.

Currently after every update to the flow, the tabindex is set on all the nodes and input elements. In normal webapps this is not a good idea, but here it is the only way to give the browser the proper and logical tab order. When tabbing through the flow, the camera is focused on the selected node overriding default browser scroll-behavior when a focused element is out of the current view. Using ctrl+a you can add a new node and also select the thumbs for the connection.

Furthermore I've added some other features like being able to run a flow using the keyboard (ctrl + Enter) and opening the properties popup. A missing feature is being able to add a new node before the currently selected node.

Lots of small tweaks were needed to make this work, but I am glad I spend the time because this also increases the accessibility.

💬 Oleksandr Kryvonos

🧵 conversation

I created a simple Linked-Data / RDF console app (I call it MondAI),

it allows creation of triples Entity->Connection->Another-Entity

and allows query data

🎥 Demo

Reading Together

💬 Tom Lieber

🧵 conversation

Ivan Reese, in episode 9 of a podcast I can’t tell if I’m supposed to know about or not, you asked, “Where is [data] going when you’re throwing it away, and when you rewind, how does it come back?” And I don’t think it has answers that you’d want to apply directly to your situation, but ~Feynman’s Lectures on Computing~ comes back to the idea of reversible computing again and again with various playful metaphorical lenses. I think that at the very least it might be a nice way to take a break and think about the problem from a physicist’s perspective now and then, if this is still a problem you’re working on.

Content

🐇 rabbit.tech/keynote via Pietu

🧵 conversation

rabbit.tech/keynote (demo starts at 7:33) shows an un-released portable personal-assistant device. There's a lot going on in the keynote, both in UI-wise, and how they demo and describe this "new kind" of device.

📄 Modern Plain Text Computing via Ivan Reese

🧵 conversation

This Modern Plain Text Computing course at Duke has a refreshingly frank description written by Kieran Healy. I can't tell if I should feel positively, negatively , or overwhelmingly negatively — double adverb !! — about the existence of this course, though.

📚 Probabilistic Models of Cognition via Tom Lieber

🧵 conversation

I’ve been really into probabilistic programming languages (PPLs) lately. I had a few “aha” moments and I’m decidedly in the “hit everything with this hammer to figure out where the nails are” phase.

Anyway, is anybody here in a similar headspace? Or already experienced with PPLs?

Is anybody curious to enter this headspace with me? I reviewed the (online, free, programmable) book that brought me here: micro.alltom.com/2024/01/11/the-cognition-in.html

The “Cognition” in Probabilistic Models of Cognition 📚 is the hardest part to get across when I recommend this book. Because the book isn’t “Bayes works, yawn.” It’s so much more interesting if you, like me, exist primarily in ML circles that focus on curve-fitting: What could be going on in our heads when we can’t tell that the two grid squares in that optical illusion are the same color?


👨🏽‍💻 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