Hacker News new | past | comments | ask | show | jobs | submit

Dynamicland 2024

https://dynamicland.org/
I had the good fortune of taking a field trip there in 2018.

The video is a very good overview of the project.

One interesting artifact of "the real world simulates itself" is version control. At Dynamicland, each version of a program is a sheet of paper (with a unique set of fiducials along the edges). If you want to edit a program, you grab a keyboard and point it at the program. A text editor comes up; you make your changes, and hit commit. When you do, it spits out a new piece of paper with your changes. Put it in the view of the camera to use the new version. Take it away and use the old paper to roll the change back.

Can you “pipe” the results of one paper onto one of the inputs of the next?

That’d be pretty funky.

loading story #41452779
loading story #41460207
> with a unique set of fiducials along the edges

I suspect each piece of paper, if examined with a good enough camera, has a unique fingerprint, like a snowflake, and perhaps this could be used in the future for an "Isomer Addressed Filesystem". In other words, all pieces of paper ship with a UUID already, woven into their atoms.

loading story #41450175
I assume this hasn't been "released" yet, but still thought I'd ask if the source code for the operating system (or "computing environment", in Dynamicland-speak) is available anywhere and also if there yet exists any DIY hardware guides for building your own to play with at my own location (far from the Oakland/Berkeley Dynamicland facility).

I believe the FAQ confirms that this is not possible at the moment:

> Where can I get Realtalk?

>> At present, Realtalk exists in Dynamicland spaces and in the spaces of our collaborators, where we can carefully grow and tend in-person communities of practice. In the short term, additional spaces will be started by people who have contributed significantly to an existing space and have internalized the culture and its values. Long term, we intend to distribute the ideas in the form of kits+games which will guide communities through building their own computing environments that they fully understand and control. Long long term, computing may be built into all infrastructure as electric light is today. This would also require an extensive network of educational support.

There are some similar-ish systems with alpha-level install instructions: https://folk.computer/pilot
loading story #41448976
>In the short term, additional spaces will be started by people who have contributed significantly to an existing space and have internalized the culture and its values

there's something ominous, weird, and sort of damning about being protective of your "culture and values" in this way and to this extent. If Dynamicland offered a truly novel computing paradigm, it should be one that is accessible by other cultures. If it offers a valuable culture and worthwhile values, those values should be viral on their merits. They should be broadcast, rather than kept closely guarded.

If you have to carefully indoctrinate new users into your culture in order to protect it and keep out the Others who might ruin your culture with wrongthink, maybe what you actually have is a cult.

loading story #41449868
loading story #41449025
loading story #41454587
> there's something [...] about being protective of your "culture and values" in this way and to this extent

Yes, AND it may also be because it's kind of innovation in the open, before it's really ready or that all the critical angles are fixed, and they might not want spoil specifics they would like to make flourish and present to the whole world, and see them ... let's say half-assed, or misunderstood enough that it does not "jell".

In the end, it will be embraced in some way. But it's understandable that they have a specific idea in mind.

See it as a trailer for a movie where post-prod is not yet fully done, perhaps.

Ideas are fragile, etc. There's a point at which you want feedback, but not before you've built enough for people to see the vision. Depending on your audience, you may need to build more or less to get to that point.

Still, they've been working on this for yeeeears.

loading story #41454972
loading story #41449595
Not quite Realtalk, but inspired by it:

http://paperprograms.org

I spent quite a lot of time at Dynamicland Oakland. It's great fun and the people are just wonderful. I think of Realtalk as adding another layer to programs, the Physical Layer. Program behavior can be determined and controlled by physical layout as well as code. It's not completely unlike a frontend/backend distinction, and in fact you could make a Realtalk simulator using a javascript canvas much more easily than building the camera/projector setup.

Just like building full stack software, there's a large amount of nonobvious skill in dictating your separations of concerns between the physical layer and software layer. Good programs are flexible, remixable, modular, intuitive, and let non-programmers make nontrivial interactions and enhancements via the physical layer. Bad programs require you to have the physical objects in a particular configuration, or break completely if one piece of paper is lost. I found these programming design questions a really interesting part of playing at Dynamicland.

A solid limitation of the system is that the pieces of programs aren't actually modular. You can't take a Cat from one program and a Dog from another program and have the dog interact with the cat. This is obvious in software - that's why we design APIs - but it's frustrating when all your programs exist in the same space (that's the whole selling point) and when bringing part of Program A into Program B is so intuitive and, when you have dozens of these programs lying around the room, inevitable.

I'd love to see them explore (wait for it...) using AI. Incorporating object recognition could remove the need for pasting dots onto every object by defining rules like "when you see a car, color it Red". It could allow for inter-program interoperability via the shared language of object recognition. And it could even determining logical interactions in a fun and surprising way: what _should_ happen when I take the cactus from this program and put it on top of the balloon from that program?

> You can't take a Cat from one program and a Dog from another program and have the dog interact with the cat. This is obvious in software - that's why we design APIs - but it's frustrating when all your programs exist in the same space

I also thought this, but learned that what I needed was an Alan Kay style "change of perspective".

The key for me was understanding the "wish" and "claim" concepts in Realtalk. In your example above, you would need to separate your "Dog" program into two programs: One that was simply a program claiming "I am a dog" and another that would encode dog behavior, something like "I wish that a bark sound would play when a dog is near a house" - then you'd leave it up to Realtalk to make that happen. Adding "Cat" behavior would mean adding two new programs: one to claim "I am a cat" and another "I wish that a meow sound would play when a cat is near a house". To make the "Dog" and "Cat" interact, you'd add a program that said "I wish that a growl sound would play when a dog is near a cat" and so on.

Another example that might help is how I learned this myself: I made a set of playing cards. What I ended up with was 52 pieces of card stock, each one had a program that was simply "Claim that I am card X" - and then I made separate programs the give those cards meaning. For example a program to give the cards a style would be something like "I wish that card 1 will have the Ace of Spaces printed on it, etc" and another program would be something like "I wish that the sum of all face values of the cards on this line is printed next to the line"

It took me several days to internalize this, but once I did things started getting fun pretty quickly. For example, I was able to make a program to "clone" a real world image onto a playing card by having Realtalk take a picture of a rectangle and then always project that image onto a particular card when it was face up. Because the cards just made claims about their identities, this let me separate the designs on the cards from the rules as well as add "training mode" programs to help teach basics. And they were all decoupled!

it should be possible to make objects that are general-purpose, you end up with a bunch of low-code reusable things like "dog" or "car", and they have stable representations than can be used as data in multiple other programs
> I'd love to see them explore (wait for it...) using AI.

Well, you know what, whenever someone invents such a thing, it would be great. But it doesn't exist yet and there's good reason to think it never will.

What is 100% certain is that LLMs are not intelligent and never will be. They are just very good at producing totally stupid, mindless output that convinces some people it's real and was produced by humans.

It isn't, and it won't be.

loading story #41455764
loading story #41455700
loading story #41448485
loading story #41571791
loading story #41448617
For those unfamiliar, the founder is Bret Victor. He made a name for himself working on human interfaces at Apple in the Steve Jobs iPad era. In 2012, he gave a couple of influential talks: Inventing on Principle, and Stop Drawing Dead Fish.

Bret's take on being a visionary/futurist is fascinating. He imagines the near-future world he wants to live in, prototypes enough of it to write a talk about, and gives the talk with the hopes that someone in the audience will be inspired to make it a reality. He gives ideas away with the hope that he'll be paid back with a world where those ideas have been realized.

https://worrydream.com/

that approach seems so off... i'm curious how it's justified.

like countless hundreds of quotes on execution vs ideas, here is one: "Ideas don’t make you rich. The correct execution of ideas does."

anyways, i'm gonna spend a little more time this evening to really dig in.

I assume his point is that he's not going to be able to execute on all his ideas anyway, so why not make them free to people who might? If the idea succeeds, the benefit to him is a better world, while the cost is nothing. It's a positive-sum proposition, what's not to like?
> If the idea succeeds, the benefit to him is a better world, while the cost is nothing. It's a positive-sum proposition, what's not to like?

I am unaware of any of the ideas having been picked up and productized. I might be mistaken.

However, if I'm correct, then the thing that could be better is picking ideas that have a high chance of being selected, everything else being equal.

While turning ideas into products isn't the benchmark for a successful idea, there are countless product folk who have definitely been inspired by Bret's work.

For example, this is Vlad Magdalin, one of the founders of Webflow:

> But I won’t claim credit that it was some magical insight that I had. It was a specific video that I saw that I think every maker and every creator should see called “Inventing on Principal” by Bret Victor. Seeing that talk, it’s a maybe 50-minute talk around creating games and doing animation and this broader concept of direct manipulation, but more importantly the principal behind why you do the work you do, what drives you.

> Seeing that video and being a designer and a 3D animator and a developer all at once, it just sparked that idea of, “holy crap.” The kinds of tools that we can have in animation land, the kind of tools we already have for game design and level design, the tools we have in digital publishing, all those things can be married together to front end and back end development and make it a much more human type of interface. That’s when it was boom, this has to be a product and a thing.

(source: https://www.indiehackers.com/podcast/144-vlad-magdalin-of-we...)

You are incorrect. Many if Bret's ideas have been implemented - "productized".
loading story #41449267
loading story #41449104
loading story #41449223
loading story #41452749
loading story #41475997
> He imagines the near-future world he wants to live in, prototypes enough of it to write a talk about, and gives the talk with the hopes that someone in the audience will be inspired to make it a reality.

What makes you think this?

loading story #41449842
loading story #41451837
loading story #41448459
loading story #41448506
loading story #41458564
loading story #41448870
loading story #41449012
loading story #41451618
This feels like something you could get a whole lot more traction and experimentation in quickly if it also existed as a room in something like VRChat or added to people's rooms in a VR passthrough mode. You'd lose some of the benefits of being in a shared physical space but you would also lose some of the limitations around the tracking resolution and stability of the fiducial markers on the page and open it up to people who can't make it to the location in person.

A 2.0 version could even merge the two versions slightly, tracking irl people into the virtual space (with pose and position estimates?) and programs (? I don't know the lingo off hand, but I mean the paper sheets everything revolves around) and in the opposite direction project the programs from VR onto the real table.

I've been interested in it for years so I'm very glad to see it's still moving forwards and alive. There were years where I couldn't find any actual new information coming out of the project.

loading story #41453060
> This feels like something you could get a whole lot more traction and experimentation in quickly if it also existed as a room in something like VRChat or added to people's rooms in a VR passthrough mode.

That would be something entirely different.

I don't believe that honestly. There's many facets of what Bret is making here. Not all of them require a physical presence, the COVID lockdown and years of internet communities before that have shown you can build vibrant communities online.

Many of the ideas can be worked on and improved without requiring the expensive physical space so the OS and the concepts of the composed tools they talk about for the future of the project can all be improved and played with in a virtual space too separate from the physical presence.

loading story #41457656
loading story #41454422
loading story #41455381
loading story #41448801
loading story #41452564
As cool as Dynamicland is, I still don’t get why they won’t open source it or at least release it in some form.

I’ve heard various people give roundabout excuses, but none of them hold water. They often fall into one of the following categories:

- “People won’t get the core ideas and will use it to make things that go against the core ideas” — People who care about Bret Victor’s work will take the time to learn the ideas. People who don’t might try and make something Bret doesn’t like, but currently the world is full of things Bret doesn’t like, so I don’t get how that would be different than the status quo.

- “It’s actually ‘anti-internet’, reimagining computers as objects in physical space, without the intangible connections provided by the internet” — Cool! I’d like to use it to make an airgapped little lab thing for people in my city to play and experiment in, but I can’t do that unless it’s released to the community.

- “Yeah but remember it’s ‘anti-internet’, releasing it open source on the internet would violate the core principles.” — This feels too cute by half. I don’t consider this a legitimate objection.

- “Just come to Oakland, you’ll understand when you get here and use it.” — That’s way out of many people’s budgets. I also get the feeling that I wouldn’t come around just by seeing it, I think I’d want one in my city even more.

- “You’re not entitled to other people’s work.” — True, but most stuff done in this sort of research space is done with the intent of spreading an idea or increasing the public good. It seems kind of odd that the Dynamicland folks keep talking about what a revolutionary concept it is while preventing 99.9% of people from actually experiencing it.

Overall it just seems like such a weird attitude. I get that they’re worried about the world misunderstanding their ideas, but at this point there are tons of people who have been eating up Bret Victor’s work and have immense respect for his ideas, and would gladly watch, listen to or read whatever instructions would be necessary to help someone who’s already bought in “play by the rules” and get the best possible experience.

> - “People won’t get the core ideas and will use it to make things that go against the core ideas” — People who care about Bret Victor’s work will take the time to learn the ideas. People who don’t might try and make something Bret doesn’t like, but currently the world is full of things Bret doesn’t like, so I don’t get how that would be different than the status quo.

I think the problem is like what happened to "agile" after the manifesto. People took a term with a meaning, and ignored that meaning in promoting their own stuff, thus confusing the terminology and messing up discussion of the concepts.

So their antidote is just preventing the idea from gaining traction in the first place? Like, that will certainly prevent it from being misinterpreted the way Agile has been, but it will also ensure no one can use their idea at all.
loading story #41458507
As far as I can see, Dynamicland is not open-sourced because it's a building and community exploring new ways of thinking and learning collaboratively. These collaborations involve novel interactions with physical things. So far, this has nothing to do with something that could be open-sourced on GitHub. It just so happens that this new way of collaborating with physical things involves giving them access to computation.

I know this comment will seem pedantic, but I hope it also communicates that the goals of this research project are different than you seem (at least to me) to consider. Bret Victor's goal isn't to design a system of projectors and cameras that run code on pieces of paper (just like Engelbart's goal wasn't to design the mouse). At a certain level, Bret Victor wants to explode our concept of computing.

I think you can look at some of the other replies in this thread to see how deeply this can be misunderstood. And I think the fear is more about losing the meaning of dynamicland.

The source code isn't the idea, the idea is. That's what needs to be communicated.

The web page is huge, though, with an unbelievable amount of information if you want to build your own.

https://dynamicland.org/archive/2023/Front_shelf

So like, if they want me to reverse engineer Dynamicland and make my own, fine. But I’m WAY more likely to misunderstand what it’s about through reverse engineering it than I would be if I had actual source code I could study. I’m sure there’s some truly revelatory stuff in the architecture of RealTalk OS, and a reimplementation would be missing all that.

If what they want is for people to try and reimplement Dynamicland without their guidance, then they’re certainly doing the right things. But if their goal is to convert people to a new way of thinking about computing, this is not a great approach.

> But I’m WAY more likely to misunderstand what it’s about through reverse engineering it than I would be if I had actual source code I could study.

What a low opinion you have of yourself. On the contrary, you're likely to learn a lot more (and of course, spend orders of magnitude more time) recreating something interesting from the ground up than you are simply copying the source code.

The source code isn't the interesting part.

Hell you might even make something better, which is I suspect one of the unstated reasons why the source is not released.
I can't tell if you're serious.
loading story #41453334
loading story #41451747
loading story #41448587
loading story #41451608
loading story #41448639
loading story #41470235
loading story #41451236
loading story #41449081
Kudos to Bret and all the best to the communal computing community (pun intended) hopefully this takes the cyber physical system including IoT and machine-to-machine to another (useful) level.

>Anyone can change any program at any time, and see the changes immediately

Not sure what programming language Bret implementing the system but recently there's discussion how difficult and how slow to parse/compile some of the popular programming languages including C++ and Rust. In this case D is a unique anomaly where it has immediate rdmd REPL facility although it's a complex and a compiled language [1].

For creative, inventive, intuitive and comprehensive programming cyber physical system that involve hardware with fast sensing, control and immediate responses, D language is hands down the best programming there is [2]. The D authors however don't believe in any killer applications but this Dynamicland of communal computing most probably the niche that D is looking for to propel it for more wider adoption.

[1] Parsing Awk Is Tricky:

https://news.ycombinator.com/item?id=41422283

[2] D Features Overview:

https://dlang.org/comparison.html

Smalltalk. I used to run a server in Smalltalk and if it had an error it would halt, I could debug where it halted, I could change the code and restart. The client would not know, unless my fixing it took too long.
loading story #41448826
loading story #41448593
loading story #41448497
loading story #41449095
loading story #41451133
loading story #41449824
loading story #41449926
loading story #41448303
loading story #41450796
loading story #41452614
loading story #41452244
loading story #41448574
loading story #41464240
loading story #41471585
loading story #41454640
loading story #41454407
loading story #41469997
loading story #41454900
loading story #41448733
loading story #41449793
loading story #41448562
loading story #41452154
Home page has been updated as well, though I am unable to submit that as I have previously submitted the same URL when the site launched back in 2017.

https://dynamicland.org/

loading story #41448224