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

Steve Krouse 2022-05-09 16:08:11

For a couple years, I keep returning to ideas of composability, remix-ability, coding in small pieces, getting to snap them together and apart fluidly, like legos, and with lots of collaborators. This is what excites me about functional programming, how it lends itself to abstractions that compose really well. However I was recently inspired by @JP Posma to throw elegant composability out of the window and simply enable coding in the small by appending small programs together...

...and what we came up with is called twittereval. The idea is you add the words "eval" to a tweet's URL and then we evaluate it (and all the tweets above it or referenced) as JavaScript. It's obviously silly but also kinda neat, and I thought it would be thought provoking to this community. Excited to hear what ideas and suggestions you guys have! I'd also really love it if anyone tried it out and made anything cool :)

https://twitter.com/stevekrouse/status/1523449402009948160

🐦 Steve Krouse: I rebuilt my personal website entirely on Twitter, in a series of tweets, & evaluated with a silly ✨ new service ✨ @JanPaul123 & I hacked together to play with "coding in the small" or "micro coding"...

Introducing twittereval!

David Brooks 2022-05-09 16:11:41

just in case you haven't heard of it (you probably have), check out "flow-based programming"

Steve Krouse 2022-05-09 16:15:38

Thanks! Quite familiar with that kind of thing. I normally refer a similar but slightly different category of things as "node and wire" programming. I'm somewhat into it, but not really for reasons of modularity & composability. I normally think of node-and-wire environments as a UI that's an alternative to text, so the semantics aren't as relevant

David Brooks 2022-05-09 16:23:11

It does get a bit mixed up with all the similar-looking tools out there, but Morrison's original idea definitely puts modularity and composability front and center. An "old school" flow-based programming program can be put together in text, for instance.

Steve Krouse 2022-05-09 16:24:14

Oh interesting, can you point me to a good resource?

Paul Tarvydas 2022-05-09 18:15:28

a) I want to know more, but I don’t use Twitter much. Where should I look?

b) Knee-jerk thoughts about composition, FBP, etc.: <to come>

David Brooks 2022-05-09 21:08:26

Sure! His (Morrison's) website is a pretty good primer: https://jpaulm.github.io/fbp/index.html he also wrote a book about it: https://www.amazon.com/Flow-Based-Programming-J-Paul-Morrison-ebook/dp/B004PLO66O

Official website for flow-based programming

Paul Tarvydas 2022-05-09 21:29:10

Most FBP discussion is on discord https://discord.gg/tTgUa99c

(there is, too, a google group and slack group)

Paul Tarvydas 2022-05-09 21:33:17

The secret sauce of composition is - independence (AKA concurrency[^parallelism] (I have begun to call it 0D (zero dependencies))).

The secret sauce of FBP is concurrency.

Once you have 0D, you can draw diagrams (if you wish), incl. node-and-wire diagrams.

Trying to draw diagrams in a sync-based paradigm (i.e. just about every existing programming language) meets with resistance, and, eventually, hopelessness and bloatware.

[^parallelism]: Parallelism is often conflated with concurrency, but is only a subset of concurrency. Rob Pike’s talk (“Concurrency is not Parallelism, It’s Better”) gave me the words for dividing-and-conquering these concepts ...

David Brooks 2022-05-09 21:35:14

oh wow I didn't even know about the discord. thanks! :thumbsup_all:

Kartik Agaram 2022-05-10 06:23:15

I can't see anything. Am I too late?

Kartik Agaram 2022-05-10 06:27:10

What do y'all do for sandboxing? 🙂

David Brooks 2022-05-11 17:07:46

I use NixOS Kartik Agaram, if that's what you mean?

Kartik Agaram 2022-05-11 17:18:51

No, my question was for Steve. Eval open to the internet is a bit nerve-wracking 😄

Steve Krouse 2022-05-11 17:19:42

It's all client side evaluation

Steve Krouse 2022-05-11 17:20:24

You may have to join the Twitter community to see those tweets. I didn't think so but things about Twitter communities can be buggy

David Brooks 2022-05-11 21:56:47

I don't have a twitter account, and I could see those tweets just fine: https://twitter.com/stevekrouse/status/1523449402009948160

🐦 Steve Krouse: I rebuilt my personal website entirely on Twitter, in a series of tweets, &amp; evaluated with a silly ✨ new service ✨ @JanPaul123 &amp; I hacked together to play with "coding in the small" or "micro coding"...

Introducing twittereval!

Kartik Agaram 2022-05-12 03:42:22

Oh you're right. I can see https://twitter.com/stevekrouse/status/1523441421562236928 when not logged in, but not when logged in.

Ryo Hirayama 2022-05-11 10:37:22

Within this week, I’d like to share a first demo of a future coding environment for the next 100 years I’m working, called Desk. This is what I am aiming for:

  • 🎮 Intuitive like games
  • 🥼 Pragmatic like professional tools
  • 🗺️ Versatile like spreadsheet
  • 💗 Accessible to everyone
  • 🛹 Minimalist design

Here is the repository and I would be happy to have your ⭐!

https://github.com/Hihaheho/Desk

Konrad Hinsen 2022-05-11 16:47:59

Looking forward to the demo! I haven't figured out how to do anything interesting at https://desk-x.com/ so far.

Chris Knott 2022-05-11 18:08:47

This seems like an enormous piece of work. Don't really know where to start either...

Seems like this is the code for the desk-x.com widget https://github.com/Hihaheho/Desk/blob/7d8ad2c72c9f4bfe78199e40ea84b1f2ba787191/crates/plugins/desk-x-egui/src/lib.rs

I can move the window with top and left (and topleft), but not resize it.

Ryo Hirayama 2022-05-12 00:26:41

I'm so glad this interests you!

I haven't figured out how to do anything interesting at https://desk-x.com/ so far.

First, I will add a UI here like vscode's command palette (I call it a "terminal"). We can use it to generate AST nodes on the screen, or do other interactions with the kernel of desk.

Don't really know where to start either...

I plan to write an archiecture document and contribution guide some day soon after the release of the demo. If I could say one thing, it would be that the crates/systems/dkernel source code is interesting. It is the file system and core of the desk.

I can move the window with top and left (and topleft), but not resize it.

Yeah, it's a default behavior of egui.rs. We can probably customize it with a little bit of writing.

William Taysom 2022-05-12 01:54:09

The thing to demo @Ryo Hirayama is one situation where Desk really shines.

Ryo Hirayama 2022-05-12 02:36:36

Thanks. I'm not sure if this really shines, but I will try to get it work for placing numbers and adding or subtracting the numbers. Any other recommendations would be helpful.

Ryo Hirayama 2022-05-12 02:46:30

Planned for subsequent demos are: a function to note and connect notes like kinopio.club, a function for generative art like Processing, a function for moving sprites like Scratch, etc.

Ryo Hirayama 2022-05-14 17:30:55

It’s starting to work a little bit now. It should be able to do addition of numbers by tomorrow.

https://desk-x.com

James Haliburton 🕰️ 2022-05-06 09:34:12

Hi all - there’s a live stream of Noodl (visual programming for web) right now with an internal build of the next release. Stream is open for the next couple hours, feel free to check it out.

https://www.twitch.tv/getnoodl

James Haliburton 2022-05-13 09:38:56

So sorry I missed your message last week! The stream is available and it's actually streaming live now as well: https://www.twitch.tv/getnoodl