You are viewing archived messages.
Go here to search the history.

Mariano Guerra 2024-04-03 13:57:12

Following the 💬 #present-company@2024-03-31T20:15:39.930Z I decided to experiment with a "Month of Future of Coding Past".

Every week I will dump from tinyletter and re upload one month of the Future of Coding Newsletter and publish it as a message here, that way we can all go over past conversations and links and I have a reason and rhythm to make them available again.

A month re uploaded per week will allow me to catch up faster than "realtime" but still at a pace I can probably keep.

Here's the first edition, the first two newsletters I have in my email (January 2020):

Joe Nash 2024-04-03 16:27:30

This article talks about “Living games” and game engines that enable living games by i.e. having no separation between the editor and the runtime, and gets into some FoC territory I think y’all will enjoy henriquelalves.com/posts/free-software-and-game-development

Christopher Shank 2024-04-03 17:05:35

Definitely related! An old demo on “live game programming” gets linked around this community, although that’s a slightly different topic

m.youtube.com/watch?v=72y2EC5fkcE

Ivan Reese 2024-04-04 21:13:11

-> Towards a modern Web stack

Cool new take on the Extensible Web Manifesto, this one from Hixie (Acid2, Acid3, WHATWG, Pingback, Flutter, etc).

I love the breakdown — Wasm, WebGPU, ARIA, and HID. I would build on that stack!

Fredrik 2024-04-04 22:17:47

That's the only web stack I would actually like to build on. I've been wanting something like that for many years already, but have found out that Wasm is worse than JS whenever interacting with the outside world is a major requirement, because it's confined to its private linear memory. It seems to be better now with the GC extension.

Joshua Horowitz 2024-04-04 22:30:28

Naturally I see the benefits. But I’ll highlight that this proposal entirely abandons the DOM as an open, addressable substrate, so, you know, no more browser extensions or web scraping or anything like that. (The DOM is certainly an imperfect substrate, but it’s kinda amazing that it’s stuck around this long and still functions as an entry point for malleability.)

Fredrik 2024-04-04 23:01:31

Joshua Horowitz There's still Aria that provides the open semantic part that can be used for scraping and extensions.

Ivan Reese 2024-04-05 01:04:18

Joshua Horowitz I believe the point is to turn the DOM into an optional module. If you're making a website that is structured, you'd probably still want to use the DOM. If you're making something like a game or a canvas app, where all your rendering is going into a <canvas> element, you (developer) have the option to tell the browser "hey, don't bother initializing the DOM module, we don't need it, just give me a pixel buffer the size and shape of the window"

Ivan Reese 2024-04-05 01:06:05

What I like about this proposal is that it separates ARIA out into something that stands alone. This gives people a web-standard (read like "bog-standard") way to add accessibility to their <cancas> apps.

Joshua Horowitz 2024-04-05 02:51:13

Ivan Reese FWIW, I didn’t get the impression that the doc’s vision is centered around “non-structured” applications (games, canvases, etc). The motivation in the intro section seems very general, and I think it’s speaking to all sorts of application developers who want to throw out HTML/JS/CSS in favor of better languages & UI systems. That includes application developers making the next social media site or whatever. (E.g., see doc’s mention of Flutter.)

Extending standards to make non-DOM apps more accessible is certainly a good thing.

Ivan Reese 2024-04-05 02:57:56

I'd love to counter "well, most devs, especially at big orgs, would keep using the DOM because it's richly featureful, easy to hire for, has great tooling, etc" but like React and Tailwind are the two bolts in the neck of the Frankensteinian monster that is modern web dev. So I must, reluctantly I assure you, see your point.

Jeffrey Tao 2024-04-05 04:23:53

I think this proposal is a bit too focused on standalone apps that happen to be delivered via web browser. What would abandoning the DOM mean for search engines? Web scraping in general? Element-based ad blocking? And the inspectability of websites via browser dev tools? I think a lot of those concerns are maybe hand waved by "use ARIA somehow"

Konrad Hinsen 2024-04-05 05:47:06

My point of view as someone who is not a Web developer: this is one more proposal that says "let's give more power to developers, and less to users" (see Joshua Horowitz' argument about extensionsand malleability) plus "let's forget the Web as an information sharing platform, and turn it into an application deployment platform".

There clearly is a place in today's world for the Web as an application deployment platform. No objections to that. But please don't take the malleable stuff away from us.

Konrad Hinsen 2024-04-05 06:29:59

One of my favorite W3C documents: The Rule of Least Power

Fredrik 2024-04-05 07:37:29

Ivan Reese

I believe the point is to turn the DOM into an optional module. If you're making a website that is structured, you'd probably still want to use the DOM.

I think proposal means that the DOM is going away. People are not making plain old websites anymore. They're throwing in at least some React even if they're making something simple.

React is a weird thing that shouldn't have to exist. It takes an internal single-use DOM and translates it to commands to manipulate the external long-lived DOM that React developers don't want to touch. This translation is a lot of complexity and very very leaky abstraction that exists for no reason other than backwards compatibility.

Instead of doing this unnecessary translation, every framework is going to make their own stateless immediate mode renderer, say they had to do so as to free developers from having to deal with different bugs in different DOM implementations, and then say that you can use the same renderer both for native apps and for the web, and that by the way, their own renderer runs 10x faster on every benchmark.

Fredrik 2024-04-05 07:54:50

@Jeffrey Tao

What would abandoning the DOM mean for search engines?

Who uses search engines anymore? Anyway, just use Aria.

Web scraping in general?

Just use Aria somehow.

Element-based ad blocking?

Use Aria. Another interesting approach would be to make a tracing Wasm interpreter that can determine which pixel on the screen was derived from which byte received from an ad server and can automatically find all relevant Wasm code on the way from the ad server to the pixel so it can be disassembled and patched.

And the inspectability of websites via browser dev tools?

Every framework is going to add dev tool interoparability just as hardware manufacturers add Jtag.

Christopher Shank 2024-04-04 23:52:14

New music genre just dropped

x.com/Wattenberger/status/1776032867031900608

🐦 Amelia Wattenberger :lotus: (@Wattenberger) on X: I did some cutting-edge AI research into the best way to read code. 100% now part of my workflow:

https://t.co/VI8GsLrPNG

Ivan Reese 2024-04-05 03:00:29

This is cursed.

Also, I heard a "useMeemoo" @Forrest O. :)

Nilesh Trivedi 2024-04-05 08:02:17

A couple of years ago, I noticed how Juan Benet (founder of IPFS) was keeping a list of random software engg ideas in a github repo as issues. Since then I too started keeping my own list of "RFH"s ("Request for Hacks") - similar to Request for Comments and Request for Startups - here: codeberg.org/nilesh/request-for-hacks/issues and recently made it public.

Posting ideas in a place where public discussion can take place seems like an excellent way to get open feedback or review. I encourage other programmers to do the same. Perhaps, /<username>/request-for-hacks can become a standard way to discover these. 🙂

image.png

Oleksandr Kryvonos 2024-04-05 20:41:10

I watched older video by Alan Kay and now I want to give a Squeak another try

youtube.com/watch?v=BUud1gcbS9k&t=2050

Konrad Hinsen 2024-04-06 08:20:03

It's definitely worth a closer look at! You might also consider Pharo and Cuis, both of which branched off Squeak developement after 1998 in order to pursue different directions. Pharo went for a larger system supporting small-scale commercial software development, whereas Cuis went for minimalism.

Ivan Reese 2024-04-05 20:58:10

There's a puzzle game conference called ThinkyCon that's currently running. Some of the talks are about editor tooling (like this one, about the dev tooling used for the game A Monster's Expedition), which feels roughly relevant to this community. But there's one talk in particular that I must draw your attention to because this is the internet and I need to earn points. The talk is called "Rewinding: moving time backwards in planning-based games". The first example they use of a game that ought to have rewind but doesn't is Opus Magnum, a game by Zachtronics that is the spiritual successor to SpaceChem. I'd argue that both of these games are visual programming environments, and that this talk is basically an argument that visual programming deserves the ability to rewind time.