āœ‰ļø Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2024/04 Week 5

2024-04-29 16:17

šŸ© Exploring Spaces šŸ¦ Bootstrapping Research & Dynamicland šŸ“¢ LIVE Workshop on Live Programming

Two Minute Week

šŸŽ„ Live Probe via Dany

šŸ§µ conversation

Youtube Thumbnail

I have some progress in miqula, it can now show the current data of a node.

The video is with voiceover, hopefully makes it easier to follow. (albeit this is not a tutorial of sorts)

šŸŽ„ LLM code generation for Levlo via Jarno Montonen

šŸ§µ conversation

Been playing around with LLM code generation for Levlo

Our Work

šŸ”‘ github.com/bicycle-codes/link via nichoth

šŸ§µ conversation

Just factored out the "linking" code. Its intended to be the simplest possible way to securely get the same AES key onto multiple machines.

āœ… Level DB + E2E encryption + todo lists via nichoth

šŸ§µ conversation

This is a demo app for an upcoming blog post

  • [x] local-first
  • [x] E2E encrypted
  • [x] multiple devices per user

šŸŽˆ Glamorous Toolkit via Tudor Girba

šŸ§µ conversation

For those that are intrigued by Glamorous Toolkit, perhaps the following talk can be interesting:

Wednesday, April 24, 8pm CET

UK Smalltalk User Group

What exactly is Glamorous Toolkit?



To some people Glamorous Toolkit is a Pharo environment. To others it's a knowledge management system. Others might see a code analysis platform, a data visualization or an API browsing tool. Yet others see the graphical stack with its interactive editors. Glamorous Toolkit is all of these. But it's really also none of these. These are merely examples of the many forms the environment can be molded to. And there can be many more. Glamorous Toolkit is primarily an environment that makes it possible to create many experiences seamlessly and contextually. This then leads to a new way of programming that we call Moldable Development.

Join remotely here: meetup.com/ukstug/events/300575234

šŸ© Exploring Spaces 1: Torus via Elliot

šŸ§µ conversation

Yesterday I taped together a paper torus, built some inputs that wrap around like a torus, and drew some lines on a torus. I wrote a little post about my exploration! Exploring Spaces 1: Torus Would love to hear your feedback, criticism, adjacent thoughts, etc!

ā™¾ļø Exploring Spaces 2: Twisted Taping via Elliot

šŸ§µ conversation

I wrote another little post, "Exploring Spaces 2: Twisted Taping". I made a twisted paper strip this time, and made some more interactive spaces you can try moving around in Exploring Spaces 2: Twisted Taping.

I really enjoyed the feedback and adjacent thoughts on the last one from Joshua Horowitz and Konrad Hinsen! Once again, I'd love to hear feedback, criticism, and adjacent thoughts šŸ™‚

šŸ›ø A moldable inspector for Common Lisp via Konrad Hinsen

šŸ§µ conversation

A video introduction to my moldable inspector for Common Lisp

Code:

šŸ’» clog-moldable-inspector

A moldable Common Lisp object inspector based on CLOG

šŸ§® You Draw Inflation šŸ“ˆ via Declan

šŸ§µ conversation

I made a 'you draw it' type input widget where you draw inflation. I'm trying to permit being a little bit deliberate about scenarios too. It's something I'll develop for defining scenarios for other calculation models. It's in a short blog post

šŸ’¬ Jim Meyer

šŸ§µ conversation

The future of code involves waiting for Copilots (Even though they get faster all the time, we'll just ask more and more of them).

We took a stab at visualizing the design decisions that our Copilot makes while it's coding the design you've prompted it for.

Instead of just spinners or the raw stream of text like chat UIs, we overlay this visualization where the design will appear on the canvas. Each visualization reflects a design variant that Copilot works on, and is computed in real-time based on the token streams from the LLM.

šŸŽ„ copilot streaming - music player

šŸŽ„ copilot streaming - vacation

šŸ”„ Exploring Spaces 3: Taping Infinity via Elliot

šŸ§µ conversation

Here is my 3rd exploring spaces post about taping -āˆž and +āˆž together šŸ™‚ā™¾Exploring Spaces 3: Taping Infinity

Devlog Together

šŸ’¬ Nilesh Trivedi

šŸ§µ conversation

Currently experimenting with this idea of adding Types and Reactivity to JSON as a domain-specific language for LLMs to generate miniapps or reactive documents on the fly.

image.png

image.png

Thinking Together

šŸ”Œ Composability: Designing a Visual Programming Language via John Austin

šŸ§µ conversation

Ok, I've been thinking a lot about composable systems recently, and why I don't find visual programming languages like blueprints very flexible. Wrote up a blog post about it. Basically, I think the value graph is a more fundamental primitive for computation than execution graphs. Composability: Designing a Visual Programming Language

šŸ’¬ Greg Bylenok

šŸ§µ conversation

Does anyone else think of "configuring" as distinct from "programming"? Some activities I consider "configuring" and not "programming": much devops work such as Terraform, YML files for build pipelines, even commonly labeled "programming" of a VCR/DVR.

šŸ“ openapic: openapi compiler like protoc | Ivan Chebykin via Ivan Chebykin

šŸ§µ conversation

Hi everyone, I'm currently trying to think of ways to improve OpenAPI developer experience, can someone check out the design doc for a simplified OpenAPI generator: chebykin.org/posts/openapic

šŸ’¬ Dennis Hansen

šŸ§µ conversation

Random thought/question. I've noticed canvas based design tools have converged on a panel configuration of "Layers | Canvas | Properties | (and sometimes Timeline)"-- as opposed solving the underlying needs another way. Is this pattern the end-all-be-all? Or a local maxima? I tend to think the later.

Content

šŸ“ Nanopublications: Rethinking global knowledge sharing (Tobias Kuhn) via Andreas S

šŸ§µ conversation

Nanopublications are looking really interesting to me, I hope for you too šŸ™‚ : Nanopublications: Rethinking global knowledge sharing (Tobias Kuhn)

Slides

nanopub.net

šŸ¦ Bootstrapping Research & Dynamicland, Dec 2019 via Dennis Hansen

šŸ§µ conversation

Someone on twitter scraped Dynamicland to find a few amazing unlisted Bret Victor talks on YouTube. Donā€™t think heā€™d mind this community seeing them :).

šŸ¦ JP Posma (@JanPaul123) on X: The best Bret Victor talk youā€™ve never seen. Bootstrapping Research & Dynamicland, Dec 2019

Tweet Thumbnail

šŸļø causalislands.com via Duncan Cragg

šŸ§µ conversation

This is new to me. Anyone ever heard of it?

šŸ“¢ LIVE 2024: The Tenth Workshop on Live Programming via Joshua Horowitz

šŸ§µ conversation

This year Iā€™m helping organize LIVE, the Workshop on Live Programming. A lot of folk here in FoC are working on projects related to livenessā€¦ I encourage you to consider submitting your work!

(Here, ā€œlive programmingā€ means ā€œgetting immediate feedback on the behavior of your program even while youā€™re programming itā€. That includes ā€œLearnable Programmingā€-style interfaces, spreadsheets, notebooks, REPL-y stuff, interfaces for live performances with code, many interfaces for making art with code...)

LIVE is an academic conference, but itā€™s attracted great work from people both in and outside the academy. Submitting a project to LIVE might be an opportunity to communicate about your work in a new way and get thoughtful feedback on it from a new community. (We have some tips for non-academics in our FAQ.)

The submission deadline is July 7 . The workshop will be some day TBD October 20-25, 2024 in Los Angeles .

Feel free to DM me if you have questions or concerns; Iā€™d be excited to help out. šŸ™

liveprog.png

šŸ¤–

šŸ“ platform via Assaf

šŸ§µ conversation

Anybody interested in bio/drug discovery applications? Iā€™m working on a platform which aims to answer complex biological questions by talking to scientists. Itā€™s not an autocomplete or a copilot. Itā€™s a real AI developer that does all the coding while scientists give it feedback. Would love to chat about this domain or specific application and get your feedback.


šŸ‘ØšŸ½ā€šŸ’» By šŸ˜ @marianoguerra@hachyderm.io šŸ¦ @warianoguerra

šŸ’¬ Not a member yet? Check the Future of Coding Community

āœ‰ļø Not subscribed yet? Subscribe to the Newsletter / Archive / RSS

šŸŽ™ļø Prefer podcasts? check the Future of Coding Podcast

Future of Coding Weekly 2024/04 Week 4

2024-04-23 12:01

šŸŽ™ļø FoC 71 ā€¢ Elephant in the Room šŸ§¶ Stitching worlds šŸŽ„ bi-directional data flow using visual programming

Our Work

šŸ“ Zest: syntax via Jamie Brandon

šŸ§µ conversation

If syntax isn't important why does this feel so good...

šŸŽ™ļø Future of Coding 71 ā€¢ Elephant in the Room via Ivan Reese

šŸ§µ conversation

Yes, all three of them in one episode. Phew!

Devlog Together

šŸ’¬ Tak Tran

šŸ§µ conversation

Iā€™m playing with electronics and crocheting atm. Imagining what other ways there are to interact with a computer, other than keyboard and mouse. This is a custom made bend/pressure sensor using copper sheets, velostat as a semi-conductive layer in between, with a crochet leaf on top and felt on the bottom, for a soft, non metallic feel šŸ‘

šŸŽ„ Video

šŸ”™ How can you even reverse a function? via Ivan Reese

šŸ§µ conversation

I shared some thoughts about my personal definition of reversible computing over on Mastodon today. (Yeah, I slightly mangled the example of a surjective function ā€” should have said nonnegative integers.)

šŸŽ„ bi-directional data flow using visual programming via Maikel van de Lisdonk

šŸ§µ conversation

Youtube Thumbnail

In this video I show a small celsius to fahrenheit converter (this is one of the tasks from 7Gui) that I build using my visual programming system and extended it where needed.

The solution uses an observe-variable node-type which triggers a flow when a variable gets set. I've also build a new user-input node with decimal formatting option (in the near future I will extend this to be configurable forms for collecting user-input).

You can see what happens as you type in the celsius or fahrenheit temperature in the input fields (you see the data flowing though the flow). To prevent an infinite loop, the flow-engine uses a call-stack which stops running when a node gets run twice.

I am still thinking of different solutions but for now this works (some nodes gets run unneeded, I think this can be optimized). Per node-call the node-id, scope-id and input port-name is stored on the call-stack, this is needed to keep other things working like the recursive functions in the quicksort example.

The celsius-to-fahrenheit converter can be tried out here : demo.codeflowcanvas.io via the examples dropdown.

Content

šŸ§¶ Stitching worlds via Tak Tran

šŸ§µ conversation

Stitching worlds - a magazine imagining ā€œWhat if electronics emerged from textile techniques such as knitting, weaving, crochet, and embroidery?ā€ - Stitching worlds (stitchingworlds.net)

An embroidered computer using gold embroidery and magnetic beads (in the magazine): ireneposch.net/the-embroidered-computer

šŸ“ stitchingworlds

Stitching Worlds is an artistic research project funded by the Program for Arts-Based Research (PEEK) of the Austrian Science Fund (FWF). The project is hosted by the University of Applied Arts Vienna, Institute of Design, Department of Industrial Design 2.

šŸ“ The Embroidered Computer | Irene Posch

The Embroidered Computer uses historic gold embroidery materials to craft a programmable 8 bit computer.

šŸ“ sesnors via Tak Tran

šŸ§µ conversation

Also, a treasure trove of ideas for ways of making DIY sesnors/connections/actuators and random other things - How to get what you want (DIY wearable technology documentation)

Great name too šŸ˜„

šŸ“ Understanding and Effectively Mitigating Code Review Anxiety via Eli Mellen

šŸ§µ conversation

Not a 1:1 future of coding article, but this paper recently published by the dev. success lab is pretty neat, especially if you are interested in helping to foster learning culture.

šŸ¤–

šŸ’¬ Jason Morris

šŸ§µ conversation

Has anyone done any work with the memory design from the human simulacrum paper by Joon Sung Park? Saw a presentation last week at Stanford, the boss is having me experiment with his code base. Would like to exchange notes.

Present Company

šŸ’¬ Tom Lieber

šŸ§µ conversation

My favorite loosely-syntaxed calculator finally has another mobile release! image.png


šŸ‘ØšŸ½ā€šŸ’» By šŸ˜ @marianoguerra@hachyderm.io šŸ¦ @warianoguerra

šŸ’¬ Not a member yet? Check the Future of Coding Community

āœ‰ļø Not subscribed yet? Subscribe to the Newsletter / Archive / RSS

šŸŽ™ļø Prefer podcasts? check the Future of Coding Podcast

Future of Coding Weekly 2024/04 Week 3

2024-04-16 15:51

Two Minute Week

šŸŽ„ visual programming with improved timeline slider via Maikel van de Lisdonk

šŸ§µ conversation

Youtube Thumbnail

I've been improving the timeline-slider in my visual programming system code-flow-canvas.. you can try it out here : demo.codeflowcanvas.io (best experience is on desktop since the mobile and touch responsiveness is still lacking).

Additionally the state-machine node now also shows its transitions when executing a flow or using the timeline slider.

Also some the nodes that are used to visualize data have been connected to the flow-execution history. Some changes were needed in keeping track of state and updating nodes visually when using the timeline slider.

In this video I show some of the examples together with the timeline slider here

Our Work

šŸŽ„ Building an everything shell via Peter Saxton

šŸ§µ conversation

Vimeo Thumbnail

I've started building an "everything shell". It uses my language EYG and a structural editor. the whole thing is be hosted with the idea that the resources you can ask about (instead of filesystems and processes) are every cloud system I have.

šŸ’¬ Ivan Lugo

šŸ§µ conversation

ā€œItā€™s a Unix systemā€¦ I know this!ā€

Something from a year or two ago that I built and iterated on since then. Ever wanted to see all your files in 3D to get a mental map? No problem - use CherrierView - a terminal-style, colorized .dae blit of arbitrary directories into space.

šŸŽ„ Demo

šŸŽ„ Torn Leaf Zero via Lu Wilson

šŸ§µ conversation

Youtube Thumbnail

I made a video to introduce an exhibition im making called TORN LEAF ZERO

It features a collaborative artwork with over one hundred participants

Devlog Together

šŸ“ exaequos.com via Kartik Agaram

šŸ§µ conversation

I've been playing with a new platform that I hope will be quite convivial. Hosted šŸ˜¬ but no Javascript and seems easy to build and self-host. Created by a single person, so decent chance of staying simple over time. It seems to be a fork of emscripten that's been made habitable. In particular, it includes raylib and some Lua bindings to it, so I'm starting to feel at home.

exaequos.com

I ported one of my early LƖVE apps to it, for geometric constructions. There's an app store and I've published my app there, so you should be able to run it for yourself and inspect the source code. (All apps on the app store are available right in the file system, under /usr/store !)

Disclaimers. It's slow, like dialing up over a phone line. Still lots of bugs. I had to reboot the VM several times while recording this video. Commands often hang or crash, then completely stop working until I reload. It's never lost my data, though. Data is stored in local storage on the browser until you publish something to the app store.

šŸŽ„ exaequOS

Thinking Together

šŸ’¬ Hamish Todd

šŸ§µ conversation

I'm thinking about spreadsheets. Has anyone ever made a convincing interface for defining functions , using a spreadsheet interface?

(I am aware that you can define functions in most modern spreadsheets, but this requires you to go to a traditional coding interface. This is obviously cheating!)

šŸ’¬ Andreas S

šŸ§µ conversation

Hi FoC Community šŸ™‚ I'm looking for something that i found a couple of years ago and apparently my fuzzy descriptions fail my zettelkasten or a search engine for that matter. I think I'm looking for a clojure talk in which someone presented also a tool. This tool used a UI of 2 or Three circles as a kind of number REPL which explained for example how the map function works in clojure. I hope that isn'T too vague if you know the name of the tool, that would be very cool. Thank you!!

šŸ“ Where does constant data go? via Dany

šŸ§µ conversation

I wrote a blog post about constant data in PL. Which is kind of curious in text based PL and a place where more visual approaches can really shine.

All of the programming languages I know make an interesting distinction, between two groups of constants, depending on type.

Content

šŸ“ Future of Coding Weekly 2020/02 Week 1 via Mariano Guerra

šŸ§µ conversation

šŸ“œ Past Futures of Coding February 2020 Edition

šŸ’¬ Stefan Lesser

šŸ§µ conversation

Iā€™ve been reviewing classic papers about simplicity, complexity, and adjacent topics, both for my current series of essays and an essay Iā€™m writing for Onward!

So far I have reviewed (or downloaded for review):

  • Herbert A. Simon, The Architecture of Complexity (1962)
  • Melvin E. Conway, How Do Committees Invent? (1968)
  • Peter Naur, Programming as Theory Building (1985)
  • Frederick P. Brooks, Jr., No Silver Bullet ā€” Essence and Accident in Software Engineering (1986)
  • Richard P. Gabriel, Worse is Better (1991)
  • Rich Hickey, Simple Made Easy (2011)

What am I missing? What else should be on that list?


šŸ‘ØšŸ½ā€šŸ’» By šŸ˜ @marianoguerra@hachyderm.io šŸ¦ @warianoguerra

šŸ’¬ Not a member yet? Check the Future of Coding Community

āœ‰ļø Not subscribed yet? Subscribe to the Newsletter / Archive / RSS

šŸŽ™ļø Prefer podcasts? check the Future of Coding Podcast

Future of Coding Weekly 2020/02 Week 4

2024-04-10 10:08

On the experiment side, this week I started playing with emojis to allow quick scans for content of interest, I will try to be consistent with the emoji usage so people can use them to orient around a previously dry wall of text (the tool I use doesn't excel at promoting creative expression)

Demos

šŸŽ„New little demo of end user software customization by Geoffrey Litt

  • Sort Hacker News by total points descending, for a more stable ranking
  • Remove the articles I've already read

--

šŸ’»Chet Chorcos shared a full-stack prototype of collaborate web application backed by a Datalog-inspired database he built in one day.

šŸ“‘ Useful resources mentioned in the How does it work? section of the readme.

--

šŸŽ„ A brief walk-through on the steps needed to create launch visualizations from the SpaceX HTTP JSON API (cameo of the basket to ease drag and drop of multiple things in targets far apart from the source). Also short demos about Premier League Attendance and Goals by Team from CSV File and Sales KPIs from an Excel Spreadsheet by Mariano Guerra

From our Community

šŸŽ„Beyond Snapping: Persistent, Tweakable Alignment and Distribution with StickyLines

UIST 2016: Proceedings of the 29th Annual ACM Symposium on User Interface Software & Technology

Aligning and distributing graphical objects is a common, but cumbersome task. In a preliminary study (six graphic designers, six non-designers), we identified three key problems with current tools: lack of persistence, unpredictability of results, and inability to 'tweak' the layout.

We created StickyLines, a tool that treats guidelines as first-class objects: Users can create precise, predictable and persistent interactive alignment and distribution relationships, and 'tweaked' positions can be maintained for subsequent interactions.

--

šŸŽ„Beyond Grids: Interactive Graphical Substrates to Structure Digital Layout

CHI'17: ACM CHI Conference on Human Factors in Computing Systems Session: Spatial & Temporal Design

Traditional graphic design tools emphasize the grid for structuring layout. Interviews with professional graphic designers revealed that they use surprisingly sophisticated structures that go beyond the grid, which we call graphical substrates.

We present a framework to describe how designers establish graphical substrates based on properties extracted from concepts, content and context, and use them to compose layouts in both space and time.

--

šŸŽ„Project Lincoln: Adobe MAX 2017 (Sneak Peeks)

Lincoln is a data visualization tool for designers to link graphics to data without the need to code.

--

šŸŽ„Data Illustrator: Create infographics and data visualizations without programming

Augmenting Vector Design Tools with Lazy Data Binding for Expressive Visualization Authoring.

Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2018

--

šŸŒCharticulator: Create Bespoke Chart Designs without Programming. ( šŸŽ„ Video)

--

šŸŽ„Jennifer Mary Jacobs - Domain Specific Programming Platforms for Creativity

--

šŸ“Programmer's critique of missing structure of operating systems by @bystroushaak who expresses his frustration in using raw text (files, command parameters, environment variables, socket...) as unique way to communicate at the OS level.

--

šŸ“‘ A list of future of programming projects maintained by Daniel GarcĆ­a Carmona.

--

šŸ§µ A twitter thread by @gravislizard argues that keyboard based old text UI was faster and not necessary less intuitive than web UI with mouse: > almost everything on computers is perceptually slower than it was in 1983 amber-screen library computer in 1998: type in two words and hit F3. search results appear instantly. now: type in two words, wait for an AJAX popup. get a throbber for five seconds. oops you pressed a key, your results are erased.

Follows a Slack thread which eventually discusses distributed, interactive, stateful apps/systems.

--

šŸŽ„Stamper: An Artboard-Oriented Creative Coding Environment by Cameron Burgess (šŸ§µSlack Thread, Twitter Thread)

Stamper is an alternative editor for p5.js, inspired by design software with Artboards (e.g. Sketch, Illustrator)

šŸ“ Read more here: Stamper: An Artboard Oriented Programming Environment

Future of Coding Weekly 2020/02 Week 3

2024-04-10 10:07

Announcing the awesome program for the Convivial Computing Salon 2020 - ā€¹Programmingā€ŗ 2020

Demos

Raathi Kugarajan shared his project JSBubbles: Re-imagining reading and navigating JavaScript codebases in VSCode

I was tinkering with a VSCode extension inspired by Code Bubbles but my effort was mostly focused on navigating and reading JavaScript code bases.

--

Andrew Reece posted a second DevLog for WhiteBox, a live debugger/REPL for C(++) - now with a GUI, a familiar debugger-like data tree, graphing variable value changes across a function.

WhiteBox DevLog 2 - GUI, data trees and graphing values over time

--

Bloques Web Update by Mariano Guerra

An update to the tool to teach HTML/CSS/JS to non programmers, added new high level blocks, some even for layout, two lower level layers that get closer and closer to textual HTML. Also added import/export.

From our Community

Talk presenting Geometric Algebra for Computer Graphics which seems to simplify operations compared to other representations.

More information on the website https://bivector.net/

Clifford's Geometric Algebra enables a unified, intuitive and fresh perspective on vector spaces, giving elements of arbitrary dimensionality a natural home.

Implementations in Javascript, c++, c#, rust and python at the ganja.js project.

--

Jason Laster shared Web Replay which supports Time Travel Debugging

Web Replay records your entire application, so you can track bugs down faster, understand your code better, and always get perfect bug reports.

--

Greg Law on Debugging, Record & Replay of Data, and Hyper-Observability by Greg Law via Karki

Topics discussed included: the challenges with debugging modern software systems, the need for ā€œhyper-observabilityā€ and the benefit of being able to record and replay exact application execution; and the challenges with implementing the capture of nondeterministic system data in Undoā€™s LiveRecorder product for JVM-based languages that are Just-In-Time (JIT) compiled.

--

All Programming Languages are Wrong by David A. Moon (Slack Thread)

Most current-day programming languages seem to be based on the idea that computation is slow, so the user and the compiler must work hard to minimize the number of instructions executed.

Compromises to minimize instructions extend so far as to make familiar-looking operators like + and < behave in unintuitive ways. If as a result a program does not work correctly in some cases, it is considered to be the programmer's fault. But it is really the language designer's fault.

--

Ryan Florence on twitter:

Whenever I talk to teenagers about programming they want to do it on their phone.

And an interesting Slack conversation about it.

--

Graydon Hoare on "text is already a highly-structured graphical notation" via yoshiki

many technical innovations are latent in textual notations. Visually unambiguous yet uniform symbol sets, combinatorial-positional word formation, linear spatio-temporal segregation, punctuation and structured page layout .. these are all technologies in writing that we had to laboriously invent, and they have purposes, advantages! Similarly in coding, we had to invent and adapt technologies from verbal and mathematical notations refined over millennia: lines and columns, indentation, block layout, juxtaposition and precedence, scope, evaluation order, comments, grammars, version control, diff and merge algorithms ... the pile of structuring technologies embedded in the textual representation of programs isn't free, and it isn't useless

So I'm just really cautious when people suggest throwing it all out for some hypothetical reinvention. You need those structures: so you've got an immediate problem of "what are you going to use instead", and a longer-term question of "what makes you think you're not going to wind up right back at the same place ten thousand years of refining graphemes-on-a-page wound up"?

There's more where those quotes came from: Re: Graphical Editors

--

Chris Knott shares an interesting story about evolving clocks to solve a particular problem in a Slack conversation. A similar story about the MacCready Gossamer Albatross is shared there too.

Some quotes:

importance of not confusing incidental problems for fundamental problems

the entire issue is not solved, but sidestepped

Future of Coding Weekly 2020/02 Week 2

2024-04-10 10:06

New Future of Coding Podcast #44 - Making Your Own Tools: Devine Lu Linvega | Future of Coding by Ivan Reese

Devine Lu Linvega and his partner Rekka live on a sailboat. He makes art, music, software, and other cultural artifacts. When Photoshopā€™s DRM required that he maintain a connection to the internet, he wrote his own creative suite. When his MacBook died in the middle of the ocean, he switched to Linux with hardware he could service. His electricity comes from solar panels, and every joule counts ā€” so thatā€™s out with Chrome and Electron and in with Scheme, C, assembly, and maybe someday Forth.

Demos

Customizing Airbnb with a spreadsheet by Geoffrey Litt

At 3:10 in this demo video, I drag select multiple listings on a website, and bulk perform an action on them.

From our Community

Anders Hejlsberg on Modern Compiler Construction. By Anders Hejlsberg via Daniel

In this video Anders a great foundation of compiler construction by describing the traditional methodologies that have been used in the last 30 or so years. He then uses that foundation to describe modern tooling needs and how compilers have adapted to meet increasing demands.

--

An interesting Twitter thread on the preservation of digital art, including comment on how it hurts that digital artists can't fully manage the media they use. (Long and interesting Slack Thread). By Matt Popke via Konrad Hinsen

--

Programs are a prison: Rethinking the fundamental building blocks of computing interfaces. By djrobstep (Slack Thread via Shalabh Chaturvedi)

We often hear that Apple's ecosystem of apps (or Microsoft's, or Google's) are "walled gardens". But what about the individual applications themselves?

--

Arcan is a powerful development framework for creating virtually anything between user interfaces for specialised embedded applications all the way to full-blown standalone desktop environments. Boot splash screen? no problem. Custom Interface for your Home Automation Project? sure thing. Stream media processing? Of course. AWB "Desktop" concept ~5min video. By Bjorn Stahl via S.M Mukarram Nainar.

--

Interesting conversation on Slack about the positive benefits of accidental / incidental complexity.

--

This week on Slack, a fun prompt from Brandon Hudgeons (via Kartik Agaram):

You get to name an assertion the ___ Paradox (fill in your last name). What do you choose?

Come join Slack and start a new thread about your paradox!

--

Roam Research is looking for a Full Stack Engineer (Leaning Backend) by Conor White-Sullivan

Should love Clojure, be comfortable with some devops type work, and ideally have experience with Datomic and datalog.

Big points if you're familiar with the work of Doug Engelbart, Bret Victor, Michael Nielsen, Andy Matuschak, and Alan Kay.

SF preferred, but we'll consider remote.

--

Operon 0.5.0 is out, find it from https://operon.io (Java-binary and pdf-booklet) by OperonGuy (Slack Thread)

It is also the first public release and I'm hoping for feedback on the most rudimentary things; did you get the queries running (if you had a chance to try)? What was your initial impression on the language? Did you encounter anything illogical or that you could consider as possible design flaw?

I have not yet documented everything, so there's more to come on later releases. Also none of the components were yet released, so it is just the core that is out now. Love to hear back from you!

--

Summary of a paper: Paper; Didn't Read - Statecharts: A Visual Formalism For Complex Systems by instadeq

statecharts = state-diagrams + orthogonality + depth + broadcast-communication

--

Thomas Ballinger wrote some posts about "Observable for Jupyter Users".

A lively discussion in the Slack Thread

I'd be particularly interested in whether you think I'm identifying the differences in workflow in a digestible way. The goal is that these are tutorials, not marketing documents, if there's a difference. I guess they're marketing documents for programmers, not CEOs.

--

An article about Glamorous Toolkit describing what one rendering tree means and the doors it opens for creating new kinds of 2D interfaces: One rendering tree. Via Tudor Girba (Slack Thread)

Future of Coding Weekly 2020/02 Week 1

2024-04-10 10:02

Psychology of Programming Interest Group Call for Papers

The 31st Annual Meeting of the Psychology of Programming Interest Group will be hosted for the first time in North America, at OCAD University's Inclusive Design Research Centre in Toronto, Canada, during the week of July 29-31, 2020.

From our Community

Catalog of Visual Math Tools (Slack Thread)

--

Mike Travers joins our slack and introduces himself and his work. He worked at MIT MediaLab long time ago on Behave! an interesting block based visual language for simple agent programming, that was one of the ancestor of Scratch. He now works on visual programming based on Blockly to help scientist build queries to scientific data (see this presentation).

--

GopherCon Europe 2019: Ivan Daniluk - Rethinking Visual Programming Presentation. (Slack Thread) via Edward de Jong

Blog post: Rethinking Visual Programming with Go

--

Play: A new approach for creating better mobile apps via Achraf Kassioui (Slack Thread)

Play empowers you to design, build and launch better mobile products, in less time, with fewer barriers - all on your mobile device.

--

Mariano Guerra shared a video showing an educational prototype to produce HTML pages using Blockly to learn what HTML structure looks like without having to worry about syntax at first. The prototype is online (in Spanish) and its sources are on GitHub.

--

Jonathan Blow talking about his past, of course about games, but also about programming today, open source, C++, Rust, the future of programming, and many other issues people here will be interested in (and/or annoyed by his perspective ;-): On the Metal Podcast: Jonathan Blow (Slack Thread) via Stefan Lesser

--

Algojammer is an experimental, proof-of-concept code editor for writing algorithms in Python. (Slack Thread) via Shalabh Chaturvedi

--

Internship Opportunities: Designing for spreadsheets and programming languages at Microsoft Research in Cambridge. via Daniel Garcia

Future of Coding Weekly 2024/04 Week 2

2024-04-07 23:14

šŸ”® Towards a modern Web stack šŸŽ„ ThinkyCon 2024 šŸ‘· FoC Project Updates

Two Minute Week

šŸ’¬ Chris Maughan

šŸ§µ conversation

A simple demo, trying to show how a pin-hole camera works. Not really how it works, but kind of. šŸ˜‰

The 'film' in the back of the camera is a 'flatland' view of the scene, upside down, of course....

šŸŽ„ balls demo

Our Work

šŸ’» resheet.dev: A notes-spreadsheet-hybrid for programmers via Daniel KrĆ¼ger

šŸ§µ conversation

I'm currently building resheet.dev, a notion-spreadsheet-hybrid. Started because I often ran into limitations with Notion and with spreadsheets. In Notion I wanted to be able to just do some calculations (or even have some embedded spreadsheet). Spreadsheets are nice, but I always ran into limitations. I always thought these could easily be overcome by having a more feature-complete programming language. Because I previously failed very hard by being too ambitious, I tried to keep this project simple. ReSheet runs JavaScript with React because of the vast ecosystem and wide adoption.

It was important to me that it's core is simple and extensible: Everything revolves around the concept of a "Block", which can be thought of like a cell in a spreadsheet. Blocks can be nested and you're able to write and then use your custom Block completely in ReSheet itself. As ReSheet itself is just one big Block you can embed ReSheet in itself.

Maybe sometime in the future I'll get to work on a Block for visual and interactive programming, but currently I'm trying to get it reliably working and useful in the current state.

I'd love to hear your feedback and to answer any questions! (Documentation is still lacking. Currently working on adding some example documents (in ReSheet) to better show what's possible)

šŸ“ Lattice now compiles to .NET IL ā€” John Austin via John Austin

šŸ§µ conversation

I wrote up a blog post recently on Lattice, a high performance visual programming system aimed at Unity.

Thought you all might find it interesting!

šŸ“ Lattice now compiles to .NET IL ā€” John Austin

Lattice is a high-performance visual scripting system targeting Unity ECS. Read more here . Iā€™ve tried several times to write blog posts about Lattice, and each time Iā€™ve gotten lost in the weeds. Itā€™s hard to pick a point to start. So instead, Iā€™ve resolved to just start writing ā€” quantity o

šŸš² Projects related to Bicycle Computing via nichoth

šŸ§µ conversation

Another day, another module

Devlog Together

šŸ“œ Future of Coding Weekly 2020/01 Week 3 via Mariano Guerra

šŸ§µ conversation

I got a simple idea to migrate the old newsletter posts to the "blog", here's the first one I have: newsletter.futureofcoding.org/posts/future-of-coding-weekly-202001-week-3

I noticed that all links go through tinyletter but they still seem to work, example: mail01.tinyletterapp.com/marianoguerra/future-of-coding-weekly-2020-01-week-3/161[ā€¦]youtube.com/watch?c=f8edef3a-2c5e-4af4-a34d-904e97c707cf

there's not enough information to recover them from url itself but since they are still working I should resolve them to the originals as fast as possible in case that service is turned off too šŸ˜•

Update: I wrote a script to replace all redirect urls to the original ones, the post above is updated

šŸ’¬ Ivan Reese

šŸ§µ conversation

Today, I'm trying to get function signatures for all the std lib stuff in JSā€¦ at runtime. Current attempt is converting various d.ts files from the typescript package (like, say, es5.d.ts) into a JSON file with just the bits I need. If that fails, I might try parsing the official WebIDL files (that are used to generate these d.ts files ā€” at least, the dom ones).

If there's a much more obvious way to get this info, let me know. I basically just want something that, for a given function (eg: Array.prototype.splice), gives me some basic signature info (eg: 1-2 args with rest, first arg is called "index", optional second is called "delete", rest is "items"). If all else fails I'll just do .length on these functions, but I'd prefer to get names too.

šŸŽ„ Simple state machine with value slider for brightness control and image in code-flow-canvas via Maikel van de Lisdonk

šŸ§µ conversation

Youtube Thumbnail

I've been fixing some bugs in the state-machine node-type in my visual programming system "code-flow-canvas" and also added a small media-library node-type which can be used by the show-image node-type.

The show-image node-type can be controlled by the state-machine together with some UI node-types (button and slider).

The show-image node-type also has an ability to change it's css and use flow parameters/variables (currently only the incoming value of a event/value special input-type.. I want to make this more generic in the near future so that you can send custom property-bags "over the wire" to other nodes).

The timeline slider doesn't work together nicely with the slider node-type yet, so I have to work on that further.

This example can be found on demo.codeflowcanvas.io in the "examples" drop down: "Simple state machine with image and brightness".

Thinking Together

šŸ“ The origins of silicon valley via Paul Tarvydas

šŸ§µ conversation

Silicon Valley vs. non-compete clauses. guitarvydas.github.io/2024/04/05/The-Origins-of-Silicon-Valley.html

šŸ“ The origins of silicon valley

I attended this talk https://events.vtools.ieee.org/m/409693 by Paul Wesling in-person, yesterday.

Content

šŸ“ Month of Future of Coding Past via Mariano Guerra

šŸ§µ conversation

Following the šŸ’¬ conversation here I decided to experiment with a "Month of Future of Coding Past".

Every week I will dump from tinyletter and re upload one month of the Future of Coding Newsletter and publish it as a message here, that way we can all go over past conversations and links and I have a reason and rhythm to make them available again.

A month re uploaded per week will allow me to catch up faster than "realtime" but still at a pace I can probably keep.

Here's the first edition, the first two newsletters I have in my email (January 2020):

šŸ•¹ļø free software and game development via Joe Nash

šŸ§µ conversation

This article talks about ā€œLiving gamesā€ and game engines that enable living games by i.e. having no separation between the editor and the runtime, and gets into some FoC territory I think yā€™all will enjoy

šŸ”® Towards a modern Web stack via Ivan Reese

šŸ§µ conversation

-> Towards a modern Web stack

Cool new take on the Extensible Web Manifesto, this one from Hixie (Acid2, Acid3, WHATWG, Pingback, Flutter, etc).

I love the breakdown ā€” Wasm, WebGPU, ARIA, and HID. I would build on that stack!

šŸ¦ Amelia Wattenberger šŸŖ· (@Wattenberger) on X via Christopher Shank

šŸ§µ conversation

New music genre just dropped

šŸ¦ Amelia Wattenberger šŸŖ· (@Wattenberger) on X: I did some cutting-edge AI research into the best way to read code. 100% now part of my workflow:

"use client"; mongolian throat singing v3

šŸ“‘ a list of random software engg ideas via Nilesh Trivedi

šŸ§µ conversation

A couple of years ago, I noticed how Juan Benet (founder of IPFS) was keeping a list of random software engg ideas in a github repo as issues. Since then I too started keeping my own list of "RFH"s ("Request for Hacks") - similar to Request for Comments and Request for Startups - here: codeberg.org/nilesh/request-for-hacks/issues and recently made it public.

Posting ideas in a place where public discussion can take place seems like an excellent way to get open feedback or review. I encourage other programmers to do the same. Perhaps, /<username>/request-for-hacks can become a standard way to discover these. šŸ™‚

image.png

šŸŽ„ Alan Kay at MIT-EECS 1998 Fall Semester Colloquium Series (VPRI 834) via Oleksandr Kryvonos

šŸ§µ conversation

Youtube Thumbnail

I watched older video by Alan Kay and now I want to give a Squeak another try

šŸŽ„ ThinkyCon 2024 - Day 1 via Ivan Reese

šŸ§µ conversation

Youtube Thumbnail

There's a puzzle game conference called ThinkyCon that's currently running. Some of the talks are about editor tooling (like this one, about the dev tooling used for the game A Monster's Expedition), which feels roughly relevant to this community. But there's one talk in particular that I must draw your attention to because this is the internet and I need to earn points. The talk is called "Rewinding: moving time backwards in planning-based games". The first example they use of a game that ought to have rewind but doesn't is Opus Magnum, a game by Zachtronics that is the spiritual successor to SpaceChem. I'd argue that both of these games are visual programming environments, and that this talk is basically an argument that visual programming deserves the ability to rewind time.


šŸ‘ØšŸ½ā€šŸ’» By šŸ˜ @marianoguerra@hachyderm.io šŸ¦ @warianoguerra

šŸ’¬ Not a member yet? Check the Future of Coding Community

āœ‰ļø Not subscribed yet? Subscribe to the Newsletter / Archive / RSS

šŸŽ™ļø Prefer podcasts? check the Future of Coding Podcast

Future of Coding Weekly 2020/01 Week 4

2024-04-03 15:42

Welcome! this week I'm trying a different format for entries, let me know if you notice and what you think about it :)

Demos

Instadeq No Code Data Science Update: Time Traveling Undo

New feature to undo changes by seeing the different states of an entity through time and picking one to restore.

From our Community

Steve Dekorte started a really interesting conversation about different ways of representing nothingness, and how that sometimes chaffs against type discipline. The conversation goes deep on data modelling and representation.

--

What's wrong with computational notebooks? by Austin Z. Henley (Slack Thread)

Computational notebooks, such as Jupyter Notebooks, Azure Notebooks, and Databricks, are wildly popular with data scientists. But as these notebooks are used for more and more complex tasks, data scientists run into more and more pain points. In this post I will very briefly summarize our method, findings, and some opportunities for tools.

This post is an informal summary of our recent CHI'20 paper, "What's Wrong with Computational Notebooks? Pain Points, Needs, and Design Opportunities". Check out the preprint for more details.

--

Fabrik - A Visual Programming Environment by Dan Ingalls and others (Slack Thread and Twitter Thread)

Fabrik is a visual programming environment - a kit of computational and user-interface components that can be "wired" together to build new components and useful applications. Fabrik diagrams utilize bidirectional dataflow connections as a shorthand for multiple paths of flow. Built on object-oriented foundations, Fabrik components can compute arbitrary objects as outputs. Music and animation can be programmed in this way and the user interface can even be extended by generating graphical structures that depend on other data. An interactive type system guards against meaningless connections. As with simple dataflow, each Fabrik component can be compiled into an object with access methods corresponding to each of the possible paths of data propagation.

--

Principles of Effective Research by Michael Nielsen has some good tips on conducting research. (Slack Thread)

A video by Philip Guo PG Vlog #___ - Nielsen's "Principles of Effective Research": what i find most relevant for students

--

Will the future of coding be statically, dynamically typed, both or neither? Alexis King thinks that No, dynamic type systems are not inherently more open. (Slack Thread)

Hillel Wayne has A Totally Polished and not-at-all half-baked Take on Static vs Dynamic Typing

--

Vladimir Gordeev shared a presentation he gave at his university: Towards efficient development tools (Slack Thread)

In presentation I tried to show the possibility and need for better tools. I did a short overview of existing FoC projects, talked a bit about project I am working on: a generic tree editor (structure editor) that doesn't tied up to any PL. I also talked about idea of designing PL by balancing Order and Chaos, ideas that I got from Jordan Peterson.

I believe that breakaway from text-based editing towards structure-based is an inevitable event for future of programming.

I also have some other ideas about programming languages that I would like to build on top of this tree editing platform, but it is not covered in presentation.

--

Branislav Selic - On the Engineering of Software-Based Systems for the 21 st Century (Slack Thread)

--

Learning from failed utopias of the recent past: Whatever Happened to the Semantic Web?

The web we have today is slowly becoming a glorified app store, just the easiest way among many to download software that communicates with distant servers using closed protocols and schemas, making it functionally identical to the software ecosystem that existed before the web. How did we get here? If the effort to build a Semantic Web had succeeded, would the web have looked different today? Or have there been so many forces working against a decentralized web for so long that the Semantic Web was always going to be stillborn?

--

How Figmaā€™s multiplayer technology works

Our primary goal when designing our multiplayer system was for it to be no more complex than necessary to get the job done. A simpler system is easier to reason about which then makes it easier to implement, debug, test, and maintain. Since Figma isn't a text editor, we didn't need the power of OTs and could get away with something less complicated.

Figma's tech is instead inspired by something called CRDTs, which stands for Conflict-free Replicated Data Types. CRDTs refer to a collection of different data structures commonly used in distributed systems. All CRDTs satisfy certain mathematical properties which guarantee eventual consistency. If no more updates are made, eventually everyone accessing the data structure will see the same thing.

--

GUIdebook: Graphical User Interface gallery, curated videos, books, screenshots, articles, etc. that explore the history and evolution of the graphical user interface.

a website dedicated to preserving and showcasing Graphical User Interfaces, as well as various materials related to them.

Past Futures of Coding

Self: The Movie; an overview of the self programming language from 1995.

Another self presentation: Self and Self: Whys and Wherefores

(September 30, 2009) David Unger, from IBM Research, discusses how his experience in computer science has led him to the conclusion that even if your ideas succeed, the real legacy is the people.

Future of Coding Weekly 2020/01 Week 3

2024-04-03 11:12

Welcome! we are slightly over 150 members, let's try the 200 goal for next month :)

This time I introduced some simple separators between entries so it's clear where something ends and the next thing starts, let me know what you think.

Demos

Edward de Jong posted a new example showing the physical units of measurement feature in the Beads language, which tracks units at runtime (by storing the exponents of the component physical unit terms along with the value). A few languages have included physical units, but it is extremely rare to track the units at runtime.

For the heat transfer app, see https://github.com/magicmouse/beads-examples, for the SDK go to beadslang.com, for more information check beadslang.org (which is different from the previous one)

(Slack Conversation)

--

Mariano Guerra shared a demo: No Code Data Science Update: Drag & Drop Basket, Workspaces and Search (Slack Conversation)

Easier drag & drop of one or more items across long distances or across screens with the basket.

Workspaces can be created to work on different tasks and search used to navigate between them.

From our Community

Kartik Agaram Shared a really detailed spreadsheet: Future of Coding or Programming: Project Comparison

--

westoncb author of Lucidity introduced himself and presented another project: a slightly better known structure editor project called Tiled Text. (Slack Conversation)

--

nagle wrote a blog-post version of a paper submitted to PPIG (Psychology of Programming 2019) How Coda helps people overcome technology freeze

(Slack Conversation)

I'm sketching out a way to connect recent nervous system breakthroughs to programmable UI design, taking inspiration from how cognitive science breakthroughs anchored original UI design for the Alto.

Paper: Winter is Coding: On Programming & The Freeze Response

--

Michael Dubakov shared The 'No Code' Delusion (Slack Conversation)

Increasingly popular in the last couple of years, I think 2020 is going to be the year of ā€œno codeā€: the movement that say you can write business logic and even entire applications without having the training of a software developer. I empathise with people doing this, and I think some of the ā€œno codeā€ tools are great. But I also thing itā€™s wrong at heart.

--

Mariano Guerra shared Compiling Dark to SQL

How do we make programs in Dark fast, while keeping complexity for developers really low?

We recently shipped a new Dark feature that compiles Dark code to SQL. This post goes into the nitty gritty details of how and why we built it.

--

Stefan Lesser shared Visual Calculations in the Shape Machine

What does it mean to have a new modeling software for design that allows scientists, engineers and designers to specify their actions by drawing shapes rather than by writing scripts? What is the difference between a shape you see and the way it is currently recorded in the database of your computer? What does it mean to program with shapes?

--

Ivan Reese shared Bret Victor's list of references

Didn't realize that Bret had directory listings enabled on his server, but it makes sense given other "open for people to view and tinker" things he's done. (My favourite: all his javascript is unminified so you can see how he implemented the dynamic examples in his essays.)

Contents Ā© 2024 Mariano Guerra - Powered by Nikola