marianoguerra / future-of-coding-weekly

repository to work on future of coding weekly newsletter
https://tinyletter.com/marianoguerra/
32 stars 3 forks source link

Future of Coding Weekly 2023/01 Week 1 #168

Closed marianoguerra closed 1 year ago

marianoguerra commented 1 year ago
marianoguerra commented 1 year ago

šŸŽ® Coding as Game Playing šŸŖµ Chop Wood, Carry Water šŸ§® Bronze Age Programming šŸ’§ Fluid Structured Programming

Our Work

šŸ“ A summary of my FoC work in 2022 via Kartik Agaram

šŸ§µ conversation

marianoguerra commented 1 year ago

Thinking Together

šŸ’¬ Nilesh Trivedi

šŸ§µ conversation

It seems to me that the whole construct of functions as primitives that take arguments and produce results leads to boilerplate and duplication because it needlessly privileges arguments as "independent variables". I'll use an example to elucidate:

Take a rectangle of base b and height h . It's common to think of these as "independent" variables and define quantities like the following as "dependent":

But if I were to ask, what are the base and height of a rectangle whose area is a and diagonal is d , our programming languages have no tooling to do this (except the symbolic manipulation libraries for computer algebra). All the required information is there but we have privileged b and h over area and diagonal and thus, we now need to figure out the formula for side lengths and program it as the function sides(a, d)

I should be able to describe a structure, and auto-generate all possible functions (including for currying and partial applications, and while we are at it, all the partial derivatives with respect to each other) so that i can just declare what is known and what I want to calculate. A rectangle can then be represented with any set of variables that make everything else determinable. I should get access to all possible constructors like new Rectangle(area: a, diagonal: d) .

And I want to see this be available for all programming tasks, not just algebra/math. For creating a graph, is the constructor new Graph(Nodes[], Edges[]) really the privileged one? Why not build languages in a way that I automatically get the constructor new Graph(AdjacencyMatrix) and the instance methods graph.getNodes() and graph.getEdges()?

marianoguerra commented 1 year ago

šŸŽ® Syndicate via Nick Smith

šŸ§µ conversation

Traditional models of communication between devices, processes, and threads include message-passing, remote procedure calls, and shared memory. Here's a model I haven't seen before: shared game-playing .

How it would work:

The "game" could be an actual game like chess or Factorio (implemented via peer-to-peer communication), or it could be a standardized protocol like HTTP, FTP, or (most commonly) it could be an application-specific protocol that would normally be implemented via message-passing or RPC.

Imagine if this were the only model of communication that a programming language exposes. What if it were the "building block" of communication ā€” the only way to build concurrent systems? I think it's an intriguing thought šŸ¤”. I'm surprised I haven't heard this model proposed before.

(This post was inspired by Syndicate, which is an actor-based PL that eschews message-passing and RPC for the idea of a "data-space" that actors use to exchange information. But unlike my proposal above, Syndicate's data-spaces don't contain rules , and thus cannot be used to model video games or communication protocols.)

marianoguerra commented 1 year ago

Content

šŸ“ Coding like we left the stone age via Mariano Guerra

šŸ§µ conversation

An experiment in fluid structured editing for JavaScript and TypeScript

marianoguerra commented 1 year ago

šŸ¦šŸ§µ Tofu is now a VSCode extension which makes your keystrokes more meaningful while keeping their original intent. Your code is formatted after every change

šŸ¦ @gregor@c.im: It's been a while since I last tweeted about my fluid structured programming experiments:

Tofu is now a VSCode extension which makes your keystrokes more meaningful while keeping their original intent. Your code is formatted after every change,...

šŸ§µ

šŸ¦ @gregor@c.im: Time to talk about better developer experience through projectional code editing. I've been exploring this space in the last couple of years and here's a few things I either came up with or stole (hard to say at this point):

marianoguerra commented 1 year ago

šŸ“ All I want is one productivity app that can handle everything via Timothy Johnson

šŸ§µ conversation

How many different productivity apps do you use for your daily work? Would it be possible to build one to rule them all?

Personally, I keep a weekly diary in OneNote to track most of my ongoing work. Somehow, knowledge work seems to resist being formalized into a single structured framework. (Or maybe that's just my own semi-scattered process.)

marianoguerra commented 1 year ago

āœŠ User Experience Manifesto via Konrad Hinsen

šŸ§µ conversation

A "User Experience Manifesto" - for a small command-line utility!

Makes me wonder if the command line could become more mainstream if more tools were trying to be user-friendly.

marianoguerra commented 1 year ago

šŸ—“ Programming Conference 2023 via Nilesh Trivedi

šŸ§µ conversation

marianoguerra commented 1 year ago

šŸŽ„ The Most Complex Ecosystem in any Game via Kartik Agaram

šŸ§µ conversation

Youtube Thumbnail

Rain World

Interesting addition to our occasional conversation about animation techniques

marianoguerra commented 1 year ago

šŸ’» Picotron Playground -- an experimental web-based edition of my WIP Fantasy Workstation via Nils Berg

šŸ§µ conversation

Interesting, thereā€™s a new machine in the PICO ā€žecosystemā€œ!

The FAQ sounds like Picotron is intended to be less of a toy, more of a tool: Picotron FAQ

marianoguerra commented 1 year ago

šŸŽ® I did Advent of Code on a PlayStation via Nils Berg

šŸ§µ conversation

some interesting thoughts about programming in Dremas (PS4)

I havenā€˜t played it myself, but even just watching others, the notion that every part of it is very smartly designed does come across.

marianoguerra commented 1 year ago

https://tinyletter.com/marianoguerra/letters/future-of-coding-weekly-2023-01-week-1