βœ‰οΈ Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2024/04 Week 1

2024-03-31 23:06

πŸ“‘ algorithmicpattern.org Ξ» Functions Everywhere, Only Once 🎨 Infinite Canvas Gallery

Our Work

πŸ“‘ algorithmicpattern.org via Alex McLean

🧡 conversation

I belatedly updated the algorithmic pattern blog with some recent activities algorithmicpattern.org

Ξ» Functions Everywhere, Only Once: Writing Functions for the Everywhere Computer – Fission via Zeeshan Lakhani

🧡 conversation

A co-worker and I published a post / overview on some stuff we’re working on. It’s about writing functions, compiling them to Wasm components, and combining them into a multi-language (Rust, Python, Javascript) workflow to run on the Everywhere Computer (a platform we’ve developed at Fission): fission.codes/blog/functions-everywhere-only-once.

Writing functions for the Everywhere Computer in Rust, JavaScript, and Python, and compiling to Wasm components with WIT and WASI to run everywhere

Devlog Together

πŸ’¬ Mariano Guerra

🧡 conversation

Absolute/Relative Date Range UI

gd-dyndaterange.gif

progressive disclosure of complexity

click +/- to show/hide one extra offset field

ctrl+click to show/hide all

gd-range-more-less.gif

Thinking Together

πŸŽ₯ The Better Parts. Douglas Crockford. JS Fest 2018 via Paul Tarvydas

🧡 conversation

Youtube Thumbnail

At about 54:20+, Crockford ends up saying that types cause bugs. What are examples of those kinds of bugs?

πŸ’¬ Justin Janes

🧡 conversation

Does anyone have any solid papers on interactions with operating systems using primarily hand gestures from cameras and projectors? I know this is very dynamicland but i’m kinda tired of waiting for a system i can let the kids play with on the carpet.

🐒 scratch.mit.edu/projects/605658 via William Taysom

🧡 conversation

My sister asked whether her middle-school son should pick the choice of a block programming language (like Scratch), JavaScript, or C# for a class he's in. I claimed that he'll learn the same fundamentals with blocks minus the frustration, tedium, tea ceremony, and incantations associated with the others. To prove that the block program has the real creativity and that moving to the others is practically automatable, I took may favorite Scratch program and had Chat translate it into JavaScript and C# chat.openai.com/share/02215935-c0b8-4fc9-9bf9-94f0b3fab613. The results seemed promising. Chat even made helpful observations:

Translating the same Scratch program to C# requires a different approach because C# is often used in desktop applications, and there's no direct equivalent of the Canvas API like in web technologies. However, you can use Windows Forms or WPF (Windows Presentation Foundation) for graphical applications in C#. Here, I'll provide an example using Windows Forms to create a simple drawing application that mimics the Scratch program's behavior.

If you check my conversation, you'll see I start asking what a "partial class" is having never heard the term. Chat parroted:

Using partial classes in this way provides flexibility. You can start with all your code in one file for simplicity. Then, if the class grows or you decide to use the designer, you can easily refactor the designer-generated code into its own file without changing the class's functionality. This approach keeps your custom code separate from the auto-generated code, making it easier to read and maintain.

I explained that every language, every tool has many such conventions. You learn the ones reverent to whatever you're doing right now, but learning them all is impossible. Instead the real skill is knowing that you don't know and being able to find out quickly. We're lucky that a these things are obscure, come up often, and are discussed on the Web. Thus LLMs are especially good at helping with dumb programming problems.

So why use the established languages besides Chat knowing them well? I thought of three reasons:

  • Expressivity β€” Blocks will get a beginner pretty far, but you'll find the others have constructs that helpful for saying things that would be very hard with blocks. You won't appreciate scratch until you feel the itch.
  • Causal Powers β€” The block system will let you do things in class you'll learn core ideas, but the blocks themselves won't work everywhere. JavaScript, on the other hand, works all over on the web, and C# has its own ecosystem. Often there's bridging, but also one or other language will be the most natural one for certain kinds of work.
  • Scale β€” With big and medium sized programs being done with text, editors for wrangling it, and version control for keeping track of it exist. They can we weirdly powerful and janky. But you're liable to start having a hard time keeping track of blocks when it takes a dozen or more screens to fit them all.

Content

πŸ“ Explorative Programming via Jeffrey Tao

🧡 conversation

πŸšπŸ“œ Josh Horowitz (@qualmist@assemblag.es) via Ivan Reese

🧡 conversation

I've heard some tell of what Joshua Horowitz is up to, and it's exciting. He's set his sights on fixing some of the issues with shell scripting β€” and is looking for shell script users to interview:

πŸ“ Josh Horowitz (@qualmist@assemblag.es)

Do you use shell scripts? :shell: :scroll: I'm conducting a study of how new tools might help. I'd love to talk with you about your shell experiences, and to run our new shell-scripting prototype by you. Interested? Heck yeah you are, here's a form (Novices & experts plz!)

🎨 Infinite Canvas app gallery via Kartik Agaram

🧡 conversation

A new category: infinite canvas apps

infinitecanvas.tools/gallery

jsoncanvas.org

canvasprotocol.org

Explore infinite canvas tools that work the way we think


πŸ‘¨πŸ½β€πŸ’» 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

Contents Β© 2024 Mariano Guerra - Powered by Nikola