This bit feels like a postcard to our community: &...
# thinking-together
i
This bit feels like a postcard to our community:
Most professional programmers today spend their days editing text files inside an 80-column-wide command line interface first designed in the mid-1960s. And most people don’t even question it. But there is a subculture of programmers — with Victor as its natural center — who believe that programming is in a Dark Age because of this near-universal commitment to the [language + tools + operating system] trinity. We need programming systems that break out of the trinity, that feel alive and fluid and that move closer to the domains most people care about.
❤️ 7
😍 1
j
reinventing programming…
👍 2
That article incorrectly blames Sam Altman for defunding HARC. In fact Sam very generously kept it afloat out of his own pocket for a year while promised funding didn’t arrive.
👍 3
s
I think you have a good point that Dynamicland doesn't completely reinvent programming it does pretty radically reinvent the computing environment though
But ultimately a lot of the programming in Dynamicland is writing Lua scripts on a keyboard
Realtalk is the interesting thing about the programming model though, and I don't think it is used to its fullest in most of the Dynamicland examples
c
Thanks Jonathan. I updated the piece to clarify Altman’s role.
i
@jonathoda I have a lot of shame and guilt wrapped up in my visual programming project, Hest. I want to make the design holistic by implementing Hest in terms of itself — to go metacircular / bootstrapped right from the get-go — but that's kicking my ass raw. The alternative, where I make a partial design that has concessions to the existing ways (like bottoming-out in text), and then iteratively broaden that design, saving self-hosting for the distant future, might be the only way I can make progress. Ultimately I'm not just making concessions to the built world around me, I'm making concessions to my own limited ability. That stings. One wonders: Is it not sufficient to reinvent something bit by bit? Does it need to be a total design from the outset? I take your joke. It's funny! But if you meant it as a slight, that's a bit tough for folks like me who are struggling with the burden of the tech world we were born into.
It helps me to see that even the folks at Dynamicland, who have more funding and time and expertise than me, are struggling with the same imposed burdens. Perhaps that's why you shared that photo with that caption — perhaps it helps you too. I hope so.
d
@Ivan Reese, @jonathoda: if you look at the code snippet, it's not actually a very good example to make the "joke" about: to have that geometric effect, you pretty much have to have "code" (formulae?) that looks like that. The purple bits that aren't that geometric calculation are about the unique- to-Realtalk aspects. Presumably, being BV-ish, there's some kind of interactive realtime coding to produce this? If you have to type it right in just like that, then yeah, hilarious!! 😄
j
@Ivan Reese I believe we will only succeed by working as a creative community with a positive feedback loop. That requires that we engage constructively with each other, sharing ideas and listening to criticism. That is a time-tested formula. I wasted too much of my life on the Lone Genius delusion, so I have little patience for it in others.
❤️ 3
i
@Duncan Cragg It could be that they're okay with that sort of a concession (shitty traditional imperative code in a projected screen-like view) because they already know how to do that stuff better ("some kind of interactive realtime coding"), and making that concession allows them to focus on novel problems in Realtalk (all the stuff happening outside/around that projected imperative editor). Once those novel problems have tidy solutions, then they can spend the effort to flush out the concessions, implementing the solutions they already know from their past research. It's resource allocation — there's only so much effort you can expend.
d
I'm a lone genius, @jonathoda, and you WILL respect ma authoritay!
🧠 1
i
@jonathoda Was your post at the top of this thread an idea? Was it criticism? Of what? What point were you making? I can't tell. It reads like a pot shot. If someone at Dynamicaland were to see that, what should they learn from it?
j
@Ivan Reese It’s a potshot at overhyped claims made to the public but never substantiated to other researchers.
🍰 2
✔️ 2
i
You don't agree with their desire to (paraphrasing) keep their ideas private until the implementations are mature, to avoid the problem of shallow knockoffs?
j
Shallow knockoffs are a sign of success! Being afraid of having your ideas stolen is one of most tragic self-defeating rationalizations.
🔥 3
i
I'm going to think about that for a while. I might respond later. Thank you for fleshing out your thoughts here.
s
I had the chance to visit Dynamicland end of last year for a few days. When I got there for the first time, I was disappointed. If you watched Bret’s Inventing on Principle and saw the polished demos, Dynamicland looks rough and not at all like what I was expecting. Thankfully, I was able to have several great conversations with the researchers there. One thing that blew my mind is how pragmatic their approach to research is. Here we talk a lot about why one language or platform is better than another or how a certain architecture or implementation is better than another. There they picked Lua just because it was easy to integrate into the overall system, and did some performance tweaks to the camera recognition because the low frame rate was making some experiments difficult. For sure they’d love to use higher-resolution projectors and cameras, but it works well enough the way it does now and it’s more important to have more surface area equipped in the lab than show off a polished version but only have one table working. At some point I blatantly voiced my expectation mismatch and Bret pointed out that this is not at all what Dynamicland is about. I had many questions about Realtalk and it’s claims and wishes system. They’re not building a programming language or system, that’s all just infrastructure to figure out what kinds of interactions work well in a setting where the room becomes the computer. They’d swap all the technology in a heartbeat, if there was a more pragmatic way to implement something (and as far as I can tell from what I remember they said during the tour, they did a few times already). If you have the chance to go there, please do and please talk to them. Ask them about the vision and how they are trying to get there. If you’re just trying to understand how the current system works, you’re missing out on the most important parts of this research project. They’re not building technology. Okay, yes, they do a little bit. But that’s not the point.
👍 2
Ah, found an old email… here’s how Bret phrased it back in 2017 (turns out I was a year off):
We're currently using Lua and C interpreters for practical reasons. Lua is a simple language with a simple interpreter that was designed to be easily integrated into a host system. It's a lovely little imperative textual language for specifying the little bits of computation we print onto objects. As we move forward, we're less interested in printing non-imperative textual languages onto objects, and more interested in specifying computation non-textually, using all the rich facilities of the real world.
A core and unique feature of Realtalk is that a program can be literally any physical situation that can be seen by a camera. From this perspective, debating this textual language vs that textual language suddenly looks rather provincial.
❤️ 3
c
The Lua interpreter can be imported as a library, too, which Bret recently told me was important for them on the practical front. The ability to pass strings into it and have them run.
j
@carl Just for the record CDG/HARC had another lab in LA (where I worked) with another two or three PI’s.
w
@Stefan my criteria for using Lua is this... (1) Am I writing in C because precise memory layout, an existing C library, bit twiddling, and/or single threaded performance are important? (2) Are strings involved? Any complicated setup/customization? (3) Am I not already using Ruby for this project? Add Lua.
s
FWIW, I don't think dynamicland is about programming at all. It's more about figuring out a physical-interactive medium. We have been working with ideas represented on paper (a non-interactive medium with writings and drawings), on computer screens (similar but interactive, with keyboard and mouse). Can we represent and work with ideas in an interactive physical space? Of course some ideas are already rendered as physical objects (e.g. a scaled down model car) that represent physical objects. But can we represent other non physical ideas in such a medium? Can we get a better understanding of them, or a different way to share and think about them? What are these representations even like - what does 'physical UI' of an idea look like? That's my take on the whole thing anyway, and I don't think they've gotten very far, but they're also very early in this.
💯 2
✔️ 2
@Ivan Reese bootstrapping can happen later, or never, or maybe.. I dont think its as important as sometimes made out to be. CPython (Python's main implementation in C) is still used all over the place. Doesn't make it any less useful or powerful.
🍰 1
w
There may even be an advantage to a barrier-to-entry — and a disadvantage too.