Evento Dynamicland 2024
(dynamicland.org)- A front shelf da Dynamicland reúne desde o vídeo de introdução de 6 minutos de 2024 até os documentos fundadores iniciais, permitindo ver de relance a visão de longo prazo de uma mídia dinâmica humana
- A apresentação de 45 minutos de 2018 define a Dynamicland como um computador como lugar onde as pessoas trabalham juntas no mundo real
- O laboratório busca ser um laboratório de bootstrapping, e a apresentação de 2019 apresenta a abordagem de tomar o próprio laboratório como experimento
- Os relatórios de progresso de 2014 a 2022 mostram em ordem cronológica as origens do Realtalk e da Dynamicland, o progresso durante a pandemia e o trabalho do laboratório científico
- Os materiais de 2024 incluem um vídeo de introdução de 6 minutos e o livreto de 24 páginas The communal science lab, enfatizando a direção como prática educacional e comunitária, e não como produto
Materiais essenciais para entender a Dynamicland
-
6-minute intro, 2024 Video, 6 min
- Apresenta rapidamente a Dynamicland como um protótipo de mídia dinâmica humana
-
Dynamicland, 2018 Presentation, 45 min
- Explica a Dynamicland como um “computador como lugar” onde as pessoas trabalham juntas no mundo real
- É uma apresentação que introduz o espírito da Dynamicland
-
Bootstrapping Research, 2019 Presentation, 30 min
- Apresenta a Dynamicland como um laboratório de bootstrapping
- Coloca no centro a abordagem de que o próprio laboratório é um experimento
-
Nonprofit narrative, 2020 Essay, 5 pages
- Trata dos motivos pelos quais a Dynamicland opera como organização sem fins lucrativos
- Apresenta a perspectiva de que essa tecnologia deve existir não como produto, mas como forma de educação e prática comunitária
Relatórios de progresso e documentos de visão de longo prazo
-
Progress report 2014-2019 Photo-comic, 8 pages
- Resume de forma concisa a história dos primeiros 5 anos do laboratório e as origens do Realtalk e da Dynamicland
-
Progress report 2020 Video, 20 min
- Faz um tour informal pelo laboratório logo após o início da pandemia e mostra o progresso do novo Realtalk
-
Progress report 2021 Handwritten letter, 8 pages
- Transmite em formato de carta informal para a comunidade o progresso durante a pandemia e os planos futuros
-
Progress report 2022 Photo-comic, 10 pages
- Resume o progresso de 2022, com foco no trabalho do laboratório científico
-
The Humane Representation of Thought, 2014 Poster, 10 ft. Presentation, 55 min
- Como documento fundador do laboratório, contém a visão de longo prazo sobre mídia dinâmica espacial
-
Dynamicland zine, 2017 Zine, 16 pages
- Como documento fundador do espaço comunitário da Dynamicland, mostra visão, princípios e progresso
-
The Library, 2019 Fiction, 2 pages
- Trata de um dos componentes da visão de longo prazo da mídia dinâmica
-
The communal science lab, 2024 Booklet, 24 pages
- Como documento fundador do laboratório de pesquisa em bionanotecnologia, traz a visão de ciência comunitária
- Publications, Archive, People e FAQ são fornecidos como itens separados
1 comentários
Comentários do Hacker News
Em 2018, tive a oportunidade de fazer uma visita técnica lá, e o vídeo dá uma visão geral muito boa do projeto.
Um resultado interessante da abordagem de que “o mundo real simula a si mesmo” foi o controle de versão. No Dynamicland, cada versão de um programa é uma folha de papel com um marcador fiducial único na borda; para modificar o programa, você aponta o teclado para essa folha. Então aparece um editor de texto e, quando você faz commit depois das alterações, é impressa uma nova folha com as mudanças. Para usar a nova versão, basta colocá-la no campo de visão da câmera; para reverter, basta removê-la e usar a folha anterior.
Ou seja, todo papel já teria um UUID embutido em sua estrutura atômica.
Talvez ainda não tenha sido “lançado”, mas fico curioso para saber se o código-fonte do sistema operacional — ou, nos termos do Dynamicland, do ambiente de computação — está disponível, e se existe algum guia de hardware DIY para que pessoas longe das instalações do Dynamicland em Oakland/Berkeley possam montar e brincar por conta própria.
Pelo FAQ, parece que isso ainda não é possível: à pergunta “Onde posso obter o Realtalk?”, a resposta diz que, por enquanto, ele existe dentro do espaço do Dynamicland e nos espaços de seus colaboradores, e que eles estão cultivando cuidadosamente uma comunidade de prática presencial. No curto prazo, pessoas que contribuíram bastante para os espaços existentes e internalizaram a cultura e os valores criarão espaços adicionais; no longo prazo, o plano é distribuir a ideia na forma de kits+jogos que orientem comunidades a construir seus próprios ambientes de computação, que elas compreendam e controlem completamente.
“Nosso objetivo é inventar uma forma de computação que uma comunidade local de não especialistas possa criar por conta própria. Do zero, de acordo com suas próprias necessidades, de um modo que consiga entender e controlar completamente.”
Estou criando agora uma implementação do RealTalkOS em live stream. Venham construir junto: https://youtube.com/live/02-wJ7Od9Bo?feature=share
Se o Dynamicland é mesmo um novo paradigma de computação, ele deveria ser acessível também a outras culturas. Se essa cultura e esses valores são realmente valiosos, deveriam se espalhar por seus próprios méritos e ser amplamente divulgados, em vez de guardados de perto. Se só for possível proteger a cultura e impedir que outros a arruínem com “ideias erradas” por meio de uma doutrinação cuidadosa de novos usuários, talvez o que se tenha de fato seja uma seita.
Passei bastante tempo no Dynamicland Oakland; foi muito divertido e as pessoas eram excelentes. Vejo o Realtalk como a adição de mais uma camada física aos programas.
O comportamento de um programa pode ser determinado e controlado não só pelo código, mas também pela disposição física. Não é totalmente diferente da distinção entre front-end/back-end, então talvez seja muito mais fácil criar um simulador de Realtalk em um canvas JavaScript do que construir um dispositivo com câmera/projetor. Assim como ao criar software full-stack, há muita habilidade pouco evidente em decidir como separar responsabilidades entre a camada física e a camada de software. Um bom programa é flexível, remixável, modular e intuitivo, e permite que não programadores criem interações e melhorias significativas por meio da camada física. Um programa ruim exige que os objetos estejam em uma disposição específica, ou quebra completamente se uma única folha de papel se perder. Esses problemas de design de programação eram realmente interessantes ao brincar no Dynamicland.
Uma limitação clara é que os pedaços dos programas, na prática, não são modulares. Não dá para pegar o Cat de um programa e o Dog de outro e fazer o cachorro interagir com o gato. Em software, esse é um problema óbvio, e é por isso que projetamos APIs, mas em um ambiente cujo principal atrativo é todos os programas existirem no mesmo espaço, isso se torna frustrante. Porque levar parte do Program A para o Program B é algo intuitivo e, quando há dezenas de programas espalhados pela sala, acaba sendo inevitável.
Seria interessante explorar IA aqui. Com reconhecimento de objetos, seria possível definir regras como “se aparecer um carro, pinte-o de vermelho”, sem precisar colocar pontos em todos os objetos. Uma linguagem comum de reconhecimento de objetos também permitiria interoperabilidade entre programas, e interações lógicas como “o que deve acontecer se eu colocar o cacto deste programa em cima do balão daquele programa?” poderiam ser definidas de maneiras interessantes e surpreendentes.
O ponto central era entender os conceitos de “wish” e “claim” do Realtalk. No exemplo acima, o programa “Dog” deveria ser dividido em dois. Um seria um programa que simplesmente afirma “eu sou um cachorro”, e o outro seria um programa que codifica o comportamento do cachorro, como “quero que um som de latido seja tocado quando um cachorro estiver perto de uma casa”. Depois, a execução real fica por conta do Realtalk. Para adicionar o comportamento de “Cat”, basta acrescentar um programa que afirme “eu sou um gato” e outro programa que diga “quero que um som de miado seja tocado quando um gato estiver perto de uma casa”. Para fazer Dog e Cat interagirem, você adicionaria um programa do tipo “quero que um som de rosnado seja tocado quando um cachorro estiver perto de um gato”.
Um exemplo que aprendi na prática foi quando criei um baralho. No fim, havia 52 folhas de cartolina, e cada uma era simplesmente um programa que afirmava “eu sou a carta X”. Depois criei programas separados que atribuíam significado a essas cartas. Por exemplo, um programa de estilo dizia algo como “quero que o Ace of Spades seja impresso na carta 1”, e outro programa dizia algo como “quero que a soma dos valores numéricos de todas as cartas sobre esta linha seja impressa ao lado da linha”.
Levei alguns dias para internalizar isso, mas, depois que entendi, ficou divertido bem rápido. Por exemplo, pude criar um programa em que o Realtalk tirava uma foto quadrada e sempre projetava aquela imagem quando uma determinada carta estivesse virada para cima, “replicando” uma imagem do mundo real na carta. Como a carta só afirmava sua própria identidade, foi possível separar o design e as regras das cartas, e também adicionar um programa de “modo de treinamento” para ensinar o básico. Tudo era acoplado de forma frouxa.
O que é certo é que LLMs não são inteligentes e nunca poderão ser. Eles apenas são muito bons em produzir saídas completamente burras e caóticas que, para algumas pessoas, parecem ter sido feitas por humanos reais.
Se você está procurando algo parecido que esteja em desenvolvimento mais ativo e também tenha o código-fonte aberto, veja o Folk: https://folk.computer
Ele está sendo desenvolvido por pessoas que visitaram o Dynamicland ou trabalharam lá, mas este é totalmente aberto. Também há open houses mensais no Brooklyn, então dá para ir ver pessoalmente.
https://github.com/janpaul123/paperprograms
Há também o projeto descontinuado Tiny lands: https://news.ycombinator.com/item?id=26751374
Também tenho minhas anotações relacionadas ao Dynamicland: https://omar.website/posts/notes-from-dynamicland-geokit/
https://twitter.com/redblobgames/status/907253802931126272
https://pbs.twimg.com/media/DJc2esBVwAAnj4X?format=jpg
https://omar.website/posts/notes-from-dynamicland-geokit/nic...
Gosto da ambição e do valor deste trabalho. Gosto do fato de o programa ser físico, compartilhável e descobrível, de ser possível aprender brincando, e de o objetivo ser as pessoas fazendo coisas juntas.
Parece que estão dizendo para redesenhar o conceito de “computador” com a tecnologia e o conhecimento que temos hoje, colocando no centro as atividades mais fundamentalmente humanas. É sempre inspirador e me faz refletir se estou fazendo um trabalho que realmente tem valor.
Se for útil: https://spatialpixel.com/procession/
Fui muito inspirado pelo Dynamicland e estou tentando criar um kit que use entrada por linguagem mais natural, gestos e programação de alto nível. Estou desenvolvendo isso como um ambiente/kit aberto para que as pessoas possam criar seus próprios espaços programáveis. Se você conhecer pessoas criando espaços ou iniciativas semelhantes, seria ótimo entrar em contato.
Sempre admirei muito Bret Victor e valorizo o trabalho dele, mas, honestamente, pelo que vi até agora, não sinto que isso esteja “certo”.
O mundo físico tem restrições demais que não existem em espaços virtuais. Entendo que objetos físicos possam participar da interface de usuário e que colocá-los em um espaço 3D às vezes seja melhor do que mouse/teclado. Ainda assim, parece bastante estranho que o código continue escrito em papel, que os projetores mostrem apenas imagens 2D e que a interação também seja primitiva. Ao olhar para uma mesa vazia, a pergunta “o que dá para fazer?” também parece difícil. É uma pesquisa muito legal, sem dúvida, mas fico curioso para saber se há algum plano para resolver esses problemas fundamentais que surgem ao misturar o real e o virtual.
O modelo mental que uso é a diferença entre cozinha profissional e comida caseira. A escala, as ferramentas e as abordagens são diferentes, mas algumas ideias centrais se sobrepõem. Um chef profissional pode criticar o fluxo de trabalho e as ferramentas de quem cozinha em casa, mas os objetivos são diferentes.
Ao colocar no papel, não dá para compartilhar com quem está fora da comunidade logo ao lado, e acho que isso significa perder uma das principais vantagens da computação e da internet. É bom criar lugares para comunidades físicas, e também é boa uma experiência de usuário que permita compartilhar essa vivência. Mas não gosto da ideia de isolar as ideias do restante do mundo por um firewall.
Consigo imaginar um mundo em que essas comunidades sejam federadas. Comunidades locais de computação se conectariam com outras regiões ou até lugares muito distantes, talvez funcionando como as cidades-irmãs de hoje.
O resultado final não é um produto acabado, mas um novo conhecimento sobre como disseminar esse novo conhecimento para todos.
Para quem não sabe, acrescento que o fundador é Bret Victor. Ele ficou conhecido pelo trabalho com interfaces humanas na Apple durante a era do iPad, no período de Steve Jobs, e em 2012 fez duas palestras influentes: “Inventing on Principle” e “Stop Drawing Dead Fish”.
É interessante a forma como Bret trabalha como visionário/futurista. Ele imagina um mundo de futuro próximo no qual gostaria de viver, cria protótipos apenas o suficiente para conseguir escrever uma palestra e então a apresenta esperando que alguém na plateia se inspire e a torne realidade. É uma forma de colocar ideias de graça no mundo e esperar ser recompensado com um mundo em que essas ideias se concretizem.
https://worrydream.com/
Há inúmeras citações comparando execução e ideias, como “não é a ideia que torna você rico, mas a execução correta da ideia”. De qualquer forma, pretendo me aprofundar um pouco mais nisso hoje à noite.
Acho que a parte legal é que fica fácil criar uma interface de usuário com objetos físicos, então dá para pular parte do front-end digital e do design e se concentrar mais no back-end computacional.
Isso permite uma codificação mais exploratória e improvisada, é bom para pesquisa e arte, e pode ser útil em várias situações em que uma interface de usuário fixa atrapalha demais. Pelo que foi mostrado no projeto de laboratório de biologia, parece surpreendentemente útil.
Vi o novo vídeo de apresentação, mas, além do fato de haver uma quantidade enorme de cartões com pontos, não faço a menor ideia do que isso é. Parece complicado demais.