marianoguerra / future-of-coding-weekly

repository to work on future of coding weekly newsletter
https://tinyletter.com/marianoguerra/
32 stars 3 forks source link

Future of Coding Weekly 2022/05 Week 1 #130

Closed marianoguerra closed 2 years ago

marianoguerra commented 2 years ago
marianoguerra commented 2 years ago

🐛 Live Debugger 📐 Technical Dimensions of Programming Systems 🤔 No-code, no thought? 🎥 Hytradboi & CHI Talks

Two Minute Week

💬 Jason Morris

🧵 conversation

Featuring new explanation interface, with links from the explanation to the legal text that the code is implementing.

🎥 Demo

marianoguerra commented 2 years ago

🎥 What makes the Hackable Database Hackable? via Tom Larkworthy

🧵 conversation

Thumbnail

Follow on to HYTRADBOI, now I have plugged in Redis into a 3rd party Firebase Server and can run some smoke tests with the vanilla Firebase clients. This work is all written using literate and functional reactive style with some significant effort spent on making it understandable and end use hackable.

marianoguerra commented 2 years ago

Our Work

🐦 Tweet from @whitebox_sys via Andrew Reece

🧵 conversation

I'm trying to get better about sharing details on WhiteBox, the live debugger for C/C++ I've been working on for the last few years. Here's the first of what should hopefully be a long series of daily posts on it 😀

I've talked a bit about it around FoC before, but I'm trying to make sure I cover it comprehensively. Do let me know if there's anything in particular you'd like to hear about it/its internals/the philosophy behind it.

🐦 WhiteBox: Let's start off with a key feature: immediate feedback.

Every time you change your code, WhiteBox shows you how that affected runtime behaviour: both data changes & control flow.

Iterate faster, catch errors as you enter them, and tinker around to better understand your system.

Tweet Thumbnail

marianoguerra commented 2 years ago

Reading Together

📝 Technical Dimensions of Programming Systems via Orion Reed

🧵 conversation

Authors: Joel Jakubovic, Jonathan Edwards, and Tomas Petricek

This is still in review afaik, but it’s just too much of a gem for this community to wait until that’s done. If one of the authors has information about the latest revisions I’d love to know more!

from the abstract:

Many programming systems go beyond programming languages. Programming is usually done in the context of a stateful environment, beyond just writing code, by interacting with a system through a graphical user interface. Much research effort focuses on building programming systems that are easier to use, accessible to non-experts, moldable and/or powerful, but such efforts are often disconnected. They are informal, guided by the personal vision of the authors and thus are only evaluable and comparable on the basis of individual experience using them. They fail to form a coherent body of research, since it is unclear how to build on past work. In the research world, much has been said and done that allows comparison of > programming languages> , yet no similar theory exists for > programming systems> ; we believe that programming systems deserve a theory too.

This paper was one of the most exciting pieces of research I’ve discovered in the last year, can’t recommend it enough! Attached is a PDF of the paper (a version of it at least) and a great single-page table (explored in detail later in the paper) which should convey some of why this is such a good fit for our community.

📄 Technical Dimensions of Programming Systems 1.pdf

Screenshot 2022-04-30 at 13.09.17.png

marianoguerra commented 2 years ago

📝 Supporting Visual Artists in Programming through Direct Inspection and Control of Program Execution via Christopher Shank

🧵 conversation

by Jingyi Li, Joel Brandt, Radomir Mech, Maneesh Agrawala, & Jennifer Jacobs

Programming offers new opportunities for visual art creation, but understanding and manipulating the abstract representations that make programming powerful can pose challenges for artists who are accustomed to manual tools and concrete visual interaction. We hypothesize that we can reduce these barriers through programming environments that link state to visual artwork output. We created Demystified Dynamic Brushes (DDB), a tool that bidirectionally links code, numerical data, and artwork across the programming interface and the execution environment-i.e., the artist's in-progress artwork. DDB automatically records stylus input as artists draw, and stores a history of brush state and output in relation to the input. This structure enables artists to inspect current and past numerical input, state, and output and control program execution through the direct selection of visual geometric elements in the drawing canvas. An observational study suggests that artists engage in program inspection when they can visually access geometric state information on the drawing canvas in the process of manual drawing.

marianoguerra commented 2 years ago

Thinking Together

📋 How Visual is Your Language? Semantic Mutation Testing via Mariano Guerra

🧵 conversation

How many "box and arrow" languages are just scratch with arrows between the blocks?

marianoguerra commented 2 years ago

🎥 Apple Knowledge Navigator Video (1987) via Personal Dynamic Media

🧵 conversation

Thumbnail

We used to dream of programmable agents that could pursue our interests online with a minimum of direction. For example, Apple Knowledge Navigator Video (1987)

Online environments like LPmuds and MOOs allowed multiple separate people to create pieces of code that interacted with each other to create a more interesting world for the participating humans.

And yet, nowadays we deploy CAPTCHAs to prevent automation, services place strict limitations on how apis may be used, and the word "bot" is almost always derogatory, often preceded by the word "spam."

How can we create shared spaces that support automation in order to empower humans, but resist spamming, phishing, and other abuse?

marianoguerra commented 2 years ago

📝 What is Code? by Paul Ford via Kartik Agaram

🧵 conversation

I've been rereading What is Code? by Paul Ford during my latest bout of introspection. It annoyed me out of all proportion when I first read it (even though I could and still can appreciate the craft that went into it), and with the benefit of hindsight (and having joined this forum 3 years later) I think I understand why: it's unabashedly about the present of software, and by nature that endeavor makes a virtue to newcomers out of how things work today.

On the other hand, I argued the opposite direction over at 💬 #thinking-together@2022-02-26. So it seems to matter how vehemently I feel about the thing being taught to newcomers, whether I consider it important or irrelevant frippery.

marianoguerra commented 2 years ago

💬 Jason Morris

🧵 conversation

Parsers generators allow you to write code that creates trees (usually), from a string of characters. So a way of creating a sort of abstractly 2D thing from a 1D representation. Is there an equivalent tool for generating representations from symbols arranged in 2D? A node-and-arrow parser generator, for example? Something in the graph database world?

marianoguerra commented 2 years ago

Content

📝 No-code, no thought? Substrates for simple programming for all via Jimmy Miller

🧵 conversation

Really interesting post about coding substrate and what low code tools need to accomplish to replace code

marianoguerra commented 2 years ago

📝 Inform 7 is now open source via Ben Kirwin

🧵 conversation

for folks who aren't familiar, inform is a language for writing interactive fiction / text adventures and similar things

it may interest this group because it is (probably):

marianoguerra commented 2 years ago

💻 React Flow via Tom Larkworthy

🧵 conversation

I recently discovered reactflow which is a react component for node and wire interfaces (!) Are there any others, I have been hunting for a while reactflow.dev

marianoguerra commented 2 years ago

🎥 Tools for Thought Rocks - Maggie Appleton via Christopher Shank

🧵 conversation

Thumbnail

“Tools for Thought as Cultural Practices, not Computational Objects” by @Maggie Appleton

Honestly a really important reframing of the bias to computation we attach to the phrase “Tool for Thought”!

Image from iOS

marianoguerra commented 2 years ago

🎥 Have you tried rubbing a database on it? via Jamie Brandon

🧵 conversation

All the talks are up now at hytradboi.com (click on the talk title).

marianoguerra commented 2 years ago

🎥 Math Augmentation: How Authors Enhance the Readability of Formulas using Novel Visual Design Practices via Mariano Guerra

🧵 conversation

Thumbnail

This paper provides the first detailed qualitative analysis of math augmentation—the practice of embellishing notation with novel visual design patterns to improve its readability.

CHI Paper Page

marianoguerra commented 2 years ago

🎥 An Immersive Environment for Embodied Code via Mariano Guerra

🧵 conversation

Thumbnail

An Immersive Environment for Embodied Code

The increasing sophistication and availability of Augmented and Virtual Reality (AR/VR) technologies wield the potential to transform how we teach and learn computational concepts and coding. This project develops a platform for creative coding in virtual and augmented reality. The Embodied Coding Environment (ECE) is a flow-based visual coding system designed to increase physical engagement with programming and lower the barrier to entry for novice programmers. It is conceptualized as a merged digital/physical workspace where spatial representation of code, the visual outputs of the code, and user interactions and edit histories are co-located in a virtual 3D space.

CHI Paper Page

marianoguerra commented 2 years ago

https://tinyletter.com/marianoguerra/letters/future-of-coding-weekly-2022-05-week-1