Just watching Panicz Godek's talk at RacketCon on non-textual representations of programs. I am sure many of you here will like it. Should be on http://www.youtube.com/racketlang tomorrow, look for "day 2 session 3".
I like it. I can be specific Andreas S. Godek's key point is about having principled rather than ad-hoc representations. What does that mean? One way to say it is that wiggle in the representation should correspond to an underlying wobble. Programming language text as interpreted by parsers and compilers generally doesn't work this way because small changes in the text generally correspond to errors.
Several presenters at RacketCon spoke very fast to cram a lot of content into the 15 minute time frame. One of the risks of pre-recorded talks.
Another video from RacketCon worth watching is the AMA session with Racket's "chief philosopher", Matthias Felleisen. Starting at 31:20 with an interesting discussion about types. https://www.youtube.com/watch?v=A4AA8nweYAg
"We present the new notion of Read-Eval-Synth Loop (RESL), which extends REPL by providing in-place synthesis on parts of the expression provided by the user. Our experiments show that RESL reduces programmers’ effort, increases their task completion rate, and improves program correctness."
"The user does not know how to construct a range, so instead, they mark the current array expression as a portion of the program that should be replaced. This is called a sketch: the user expresses their intent to keep everything outside this sub-expression as is, while turning it into a hole to be replaced with a new expression."
Interesting looking structured JSON editor made in Visual Studio Code (https://marketplace.visualstudio.com/items?itemName=afterschool.depot). There is also a video demonstrating it. https://www.youtube.com/watch?v=tCTQvd3zkEg. It is designed to be a visual editor for structured game data (common in games, actually), but appears to be pretty generic. Makes me want to investigate VSCode Custom Editor functionality
🔗 Depot Data Editor - Visual Studio Marketplace
🎥 Depot Data Editor Tutorial - Edit JSON Data in VS Code with Spreadsheet Interface
I really appreciate you sharing this!
It's a ~90% match for the UI I've been planning for the JSON editor in my "next Excel" tool, and I have yet to see anything similar in the wild.
This is a very early stage mock up of the tool: http://tableflow.org/studio/flow/#a
The 10% difference would be:
I would handle the nested structure a bit differently. Instead of being visually nested, you would go to an entirely new view and just be shown a breadcrumb of your path. I was also thinking of doing a Kialo like UI element to show you where in the "tree" you are.
I was also planning on calling the larger structure "tables" not "lists".
Since the table editor would also have to handle external JSON, I was also going to include the concept of "tabs", ie varients/algebraic data types.
I had initially written off links as a "database-like" feature of ie AirTable, but now I'm reconsidering that. They may be useful for raw data.
Do you think these would be improvement? Any further suggestions?
Table flow looks cool. I'll play around with it a little more and when I have some thoughts. Some nesting is probably better from a visual understanding standpoint, but your approach sounds like its better for deep nesting
We’ve posted the talk list for this year’s (virtual) LIVE Programming workshop. Take a look: https://liveprog.org/. We plan to record the presentations, but if you https://2020.splashcon.org/attending/Registration you can watch in real-time on November 17 and participate in the lively discussion. (And all prices are greatly discounted this year without a physical venue.) Hope to see you there!
Microsoft made a Makecode inspired programming environment for building games on low powered embedded handhelds (Gameboy like). It looks like it uses rules rewriting and is relatively powerful. I've been wanting to prototype an environment like this for a long time (maybe on Playdate or something). I need to dig into it a little more but it looks cool
https://microsoft.github.io/tilecode/
I found it through this kickstarter https://www.kickstarter.com/projects/xtron-pro/xtron-pro-creating-games-learning-programming-and-more
It's not radically different from KidSim or PuzzleScript or other similar environments, but I really like that it works on a handheld, and the entire interface is basically a simple tile editor
If I had the time I would have made a 3D version of something like this as a VR programming language
maybe using angle and distance relationships instead of a discreet grid 😬
The resolution for move and paint commands introduces the possibility of > non-deterministic> behavior in games. For example, if a move-left and move-right command are sent to the same sprite, the resolution will choose one of the two commands at random. This is useful for coding unpredictable non-player character behavior.I like their approach to conflict resolution and that they explicitly state some commands can lead to non-determinism. I actually think that for many game types determinism is overrated and their suggestion that you can exploit this as a feature (random selection of a move) is pretty cool.
Facebook Horizon runs actions in order of execution (last action to change state will be the final state) but choosing a random command for immediate actions might have been a cool feature. I also thought about introducing priority to actions
Love the use of term rewriting here. For some reason term rewriting + a game loop hadn’t crossed my mind.
Anyone have experience with the Ink "CLI"? It's more like a CLI IDE in React?
https://github.com/vadimdemedes/ink
https://twitter.com/aleksandrasays/status/1320057727633195009
🐦 Aleksandra Sikora: Another reason why building CLIs with Ink is cool. https://pbs.twimg.com/media/ElHIBVpXIAI_DSK.jpg
I don't have experience with ink but recently been looking into text based UIs, I decided to use https://github.com/prompt-toolkit/python-prompt-toolkit
if you want to do things like syntax highlight, autocomplete, switch the input to vim or Emacs modes, etc. ppt may be a better choice since I'm guessing you would have to implement react-like versions of all those features using Ink
I have used Ink once before. Ink is a custom renderer for React. For example, React-dom renders to web but Ink renders to terminal.
You have to use components provided by Ink to build your terminal UI but still you can use all the react’s core features like props, state, hooks and etc.
The screenshot here is showing the React dev-tools working with Ink so you can debug your Ink apps with ease.
[https://futureofcoding.org/member-handbook from #thinking-together; original posts by Srini Kadamati]
I stumbled into this page + website y’day and it really got me thinking: http://www.loper-os.org/?p=284
I love the elucidation of the “seven laws of personal computing” and the meta-approach of trying to codify more precisely what the ideals & aspirations for personal computing should be. I’m sure people have discussed this site before, but I”m discovering it for the 1st time 💯
as a tangent, I love the use of “operator” over “user” (which has been taken over by consumer internet companies and IMO degraded!)
“operator” makes me think of a “forklift operator”, aka a tool user. It shifts our collective lenses appropriately I feel!