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

Chris Martens 🕰️ 2020-08-23 15:44:54

Shameless self-promotion: this podcast interview of me from a couple years ago is up, which may be relevant for folks interested in logic programming and/or languages for modeling virtual worlds:

Ivan Reese 2020-08-24 06:00:45

That was great! It was a fun way to get a tour of some of your work. I'm quite foreign to the field of logic programming, but I was able to follow everything you talked about with ease, and have a better appreciation for it now. I could listen to an entire podcast just about the friction between game designers who want to incorporate human curation and manual creation, and PL researchers who only want automatic generation.

You mentioned an IF game where one of the verbs was "remember" — which game was that?

Orion Reed 🕰️ 2020-08-21 19:01:20

A critical, unavoidably sociopolitical, and possibly optimistic (depending on your worldview) critique of the open-source movement and it’s philosophical origins that failed to take root. Regardless of your views I think it articulates an undercurrent seen in many discussions within the open source community. I would absolutely love thoughts on this article, as the wider discussions adjacent to it are obsessively interesting to me and have been for a long time.

yoshiki 2020-08-24 06:39:07

Digital Democracy is a great example of an organization that fuses FOSS values with a mission of larger social change, in their case empowering marginalized communities:

Digital Democracy’s mission is to empower marginalized communities to use technology to defend their rights> .

We believe in creating open source technology and contributing to open source libraries. Our tools are free or inexpensive, and we look for affordable technology for our partners which is hardware agnostic and cross-platform. We create easy to use, flexible and multilingual tools, adaptable to local cultures and contexts, which our partners can use to collect, manage and take action on information they gather.

Ivan Reese 🕰️ 2020-08-14 20:19:33

Huge mob of people talking about a (very good) game as literally, or at least analogous to, programming: It's heartening to see this get so much attention, since my own FoC R&D is motivated by: real programming should look like this and be this joyful.

William Taysom 2020-08-24 09:21:46

Nick Smith OO access chains feel a lot like conveyor belts to me.

Nick Smith 2020-08-24 09:29:27

Ok yes, you're right... certain code patterns (data shuffling) feel like conveyer belts. I think when I made that comment, I was thinking about my own language design 😇. I see data shuffling as boilerplate. I guess that's true in Factorio too: the real goal is specifying connections between machines, and the belts are just a means to an end! Though optimizing the boilerplate is precisely what makes Factorio addictive. Maybe that's why our programming languages have turned out the way they have 😅

William Taysom 2020-08-24 10:08:36

It is true that less boilerplate makes for less rhythm and routine in programming. The hard part ends up has a higher percentage of the activity.

Max Krieger 🕰️ 2020-08-23 04:43:09

🐦 ELECTRONICOS FANTASTICOS!: 電磁祭囃子 in Neo Tokyo 🏮 #electronicosfantasticos

Kartik Agaram 2020-08-24 15:41:08

That was amazing. One thing it got me to notice was how he'd keep saying "I'm fascinated by.." or "I'm inspired by how.." where I would in his place say, "we all should.." or "it is terrible that.." I wonder if that's a Japanese way of doing things. I may well benefit from it. It's easy to tire the audience out with strident statements.

Stefan Lesser 🕰️ 2020-08-21 15:55:30

There have been a few projects in the past that have attempted to build complete computing systems (OS, basic services/apps, development environment, sometimes even hardware) with a focus on comprehensibility — a single individual should be able to understand how the whole system works is stated explicitly as a goal. For me instantly project comes to mind, as well as

What other systems/project like that do you know or what should also be considered as a similar project, even if the stated goals might be different?

Kartik Agaram 2020-08-24 18:06:44

I just came across somebody who seems to have built lots of disjoint pieces that go into a computing stack:

And it reminded me that my friend Kragen Sitaker is the same way: His website rewards slow browsing.

S.M Mukarram Nainar 🕰️ 2020-08-21 21:13:45

This is pretty interesting. Does anyone here have any experience with godot for gui dev? I wonder if you could ship your stuff fully instrumented in a way to allow the user themselves to edit it on the fly. Moving towards more integrated graphics stuff seems to be in the future of gui stuff, the web is already that in a sense.

Gregg Tavares 2020-08-25 01:19:49

It's several orders of magnitude away from approaching the features of unreal so yes, of course it's several orders of magnitude smaller 😉

Godot for GUI apps I suspect is one of those things where it looks 99% there but they really have 10x more work to do to actually be ready to handle full internationalization (Thai, Korean, Arabic, Chinese, emoji, ...) but if you stick to latin based languages it works.

Charlie Roberts 2020-08-25 02:51:04

It’s several orders of magnitude away from approaching the features of unrealYou say that like it’s a bad thing :)

William Taysom 2020-08-25 11:34:56

If Unreal is the right tool, then it's the right tool. As for Godot for flat UIs, all my worries would be around text handling. Getting a text field (let alone a larger area) that really, consistently works right is more trouble than one would think.

Ivan Reese 2020-08-25 13:50:56

We're talking about programming UIs, right? Why in the hell would anyone need a text area?!

Andres 2020-08-25 06:41:03
Jack Rusher 2020-08-25 10:08:57

Tiny Structure Editors for Low, Low Prices!

(fun paper from 2020 IEEE Symposium on Visual Languages and Human-Centric Computing)

Garth Goldwater 2020-08-27 23:23:35

absolutely love the idea of deferred concatenation as the mechanism... really evokes the idea of an ast in a structured editor as a continuation of user input whose default value is its last value

Shalabh Chaturvedi 2020-08-25 21:00:12

Jonathan Edwards recently uploaded the Subtext 1 demo (from 2005) to Vimeo. I hadn't been able to view it previously (thanks to Flash).

It has a lot of interesting takes - and most (all?) that I agree with. E.g. edit time name resolution, debugging by inspection, a concrete model of time, inline expansion of function calls, and more.

Check it out:

🔗 Subtext 1

Shalabh Chaturvedi 2020-08-25 21:01:25

Here's the entire subtext research trajectory:

Christopher Galtenberg 2020-08-26 01:30:58

Fun to see

Christopher Galtenberg 2020-08-25 21:07:14

🐦 Venkatesh Rao: In trying to set up a physical workspace for the first time in decades (workbench, instruments, tools...) I'm struck by just how much computer UXes have evolved from already-bad workspaces to pure consumption spaces.

Kartik Agaram 2020-08-28 18:03:01

"There has been highly asymmetric evolution. the computer as a consumption device has evolved 3-4 generations towards increasingly frictionless digital shopping basically. But as a production device, it is basically stuck in 1988."

Kartik Agaram 2020-08-28 18:25:19

🐦 Kartik Agaram: @vgr It doesn't seem like it, for the most part. Part of the problem is that specialization happens earlier and earlier in modern fields. Even the people using computers for production understand a vanishingly tiny fraction of their computers. Torvalds for UX = superset of Torvalds :(

Ope 2020-08-28 22:18:14

“But while programming languages are academically interesting, I think we more desperately need innovation in programming environments.

The programming environment isn’t a single component of our workflow, but the total sum enabled by the tools working together harmoniously. The environment contains the programming language, but also includes the debugging experience, dependency management, how we communicate with other developers (both within source code and without), how we trace and observe code in production, and everything else in the process of designing APIs to recovering from failure.

The story of programming language evolution is also a story of rising ideas in what capabilities good programming environments should grant developers. Many languages came to popularity not necessarily based on their merits as great languages, but because they were paired with some new and powerful capability to understand software and write better implementations of it.”

Christopher Galtenberg 2020-08-28 22:32:40

I really need to subscribe to this person

Ope 2020-08-28 22:41:12

He does really interesting stuff!

Emmanuel Oga 2020-08-29 07:09:06

regarding environments, I often think we could do better even without innovating, just polishing the current tools further. Imagine a programming environment that just worked: no configuration, no environment variables, no editor plugins, no "escaping to the shell" to type extraneous commands, no PATH conflicts, no dependency hell, no skimming the backtrace to find the originating source of the error... etc. etc. just a quick install tool that worked 100% the same in each platform. Push one button, get a binary for any platform. Users could download the zip/binary, double click and have the thing running. There's no current platform that is as easy to work with as I describe.

Emmanuel Oga 2020-08-29 07:09:55

I may be wrong, but I feel the fix for all the problems I described has already been invented. It is probably a more boring problem to solve that coming up with a new and innovative way of programming ... 🙂

Emmanuel Oga 2020-08-29 07:12:34

different languages do better than others here, but I've been revisiting a lot of PLs these last weeks, writing small programs in diff languages (Java, C++, Fennel, Go, Clojure, F#, OCaml, Python, Lua+LuaRocks, Scheme, Racket) and for each one I found small and painful things to deal with just related to the system environment (being under Windows 10 definitely doesn't help). Each have diff quirks and procedures to setup the base env and to get dependencies

Emmanuel Oga 2020-08-29 07:18:16

I keep this thread on my bookmarks because I think the author described pretty well elements of a PL environment that are many times (IMHO) an afterthought for designers but I wish was a point of focus early on:

Jack Rusher 2020-08-29 08:03:46

I love this and strongly agree that we need to bring the perspective of the overall programming experience -- which is necessarily situated in an environment -- to language design itself, rather than regarding the languages as abstract mathematical curiosities. (I find @Cyrus Omar's work with Hazel and typed holes a nice example of that kind of work.)

Scott Anderson 2020-08-28 23:22:44

Mike Cook has done a lot of research into automated game generation. He recently released this video which is both a tutorial and an overview of the field

Scott Anderson 2020-08-28 23:24:33

Also released this, which is a small abstract game generator

Scott Anderson 2020-08-28 23:26:42

Even if you aren't interested in game design specifically, I believe it's a good introduction to program synthesis in general

Scott Anderson 2020-08-28 23:28:19

I don't too much discussion about program synthesis here (except for some AI startups and GPT-3 code generation), but it's possible it comes up more often and I've missed discussions

Stefan Lesser 2020-08-29 15:01:25

I enjoyed reading this article by Greg Bryant about Christopher Alexander’s connection to the software industry.

Don’t read this for the application “Gatemaker”. Read this for a fascinating outsider’s view on the software industry, systems design, and end-user programming.

Here are a few excerpts to whet your appetite (and/or get you upset enough) to embrace the rather long read (highlights mine):

The focus of the subsequent Software Patterns movement remained within the formal sciences, and so could not interpret CA’s work in the natural and human sciences: the application of human judgment using feeling, the smooth unfolding of natural geometry, and the task of helping people (programmers or users) to become more whole and alive. The criteria for ‘good’ were so different, that everything was misconstrued, from ‘pattern’ to ‘incremental’. Again, they aren’t to blame: > this focus on abstraction, and the dismissal of feeling, and the reality beyond constructed formal systems, is endemic in the computer industry.> Today, Software Patterns proponents, like most successful computer people, are not even interested in this cavernous disparity.

Interchangeable parts make an adaptive natural structure impossible. Programming environments, including those inspired by patterns, push this ‘parts’ view, which hampers sensitivity and true novelty. > It’s the worldview of the factory-builder, and these tools for mass-production logistics have little regard for people.>

When underlying code is considered different, and more important, the tendency is simply to trash hard-won efforts to improve the user’s experience.> This happens all the time in the industry, and Google is among those pushing the lunatic idea that we may not need people to create user interfaces.

This is a complete divergence from CA’s work, where the underlying structure is in harmony with human interaction. Computing is not ‘somehow different’. It is still a human tool recruited for human purposes, and the principles still apply.

But it was hard to get computing folk to focus on the actual human effect of the program. In fact, they saw it, experienced it, momentarily agreed that it was surprising, but soon forgot it.

To be fair, they simply weren’t equipped to discuss what we’d accomplished. They were not natural scientists, nor activists. > They shared ‘pragmatic’ and fashionable industry viewpoints that make it nearly impossible for anyone to discover anything new or important about people & computers

The software patterns literature has no such research initiative. Instead, they focus on objects, properties, types, lists, titles and categories. > It looks like butterfly collecting, with no drive to build a theory with explanatory adequacy. It’s Natural History instead of Natural Science.

Stefan Lesser 2020-08-29 15:04:33

This is a slightly less relevant but nonetheless interesting observation from the same article:

Fractals are such a poor idealization of the real world.

In nature, factors and interrelationships typically change at different scales. You can’t find a Mandelbrot set in nature. L-Systems cannot be considered first-order approximations of trees. They tell us more about our perception than about trees.

Stefan Lesser 2020-08-29 15:08:05

And, let’s get this out of the way: I also find the UI of Gatemaker horrendous. I do appreciate the cognitive dissonance that reading about it creates in me though. And I can definitely see some of the behavior criticized in our industry, right here in this forum, and sometimes even in myself.

Joshua Horowitz 2020-08-29 20:54:48

Thanks for this! I hadn't heard of Greg Bryant – his work is real interesting.

Relatedly: Here's a vignette from The Timeless Way of Building that's stuck with me, on the failure of interchangeable parts to create harmonious wholes.

📷 t2.png

Kartik Agaram 2020-08-29 22:44:04

I'm halfway through. So far there's a strong resonance with

The passage that leaps out at me is:

One of the overall design principles that emerged, in complete contrast with most computing: “don't let the computer leap to conclusions” and change the screen. We grew increasingly skeptical of any automatic behavior, any perceptible ‘leap' taken by the software, because it disrupted the mood necessary for harmonious work. The screen should be super stable, comfortable, reliable and quiet. It shouldn't even seem to be there. Even word processors don't have this level of gentle stability. We didn't even let the application window change size, because this seriously changes the geometry of the work. The fact that this does effect people should give pause to designers of showy, kinetic, “entertaining”, and distracting, user interfaces.

Jack Rusher 2020-08-30 18:11:15

I really like this new AR work from Ryo Suzuki, et al.