The Forth Deck mini: a portable Forth computer with a discrete CPU

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • awesome-uxn

    Awesome things from the community

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • compiler

    Compiler for the Gren programming language (by gren-lang)

    TL;DR: Thank you for confirming some mismatch in display hardware and project goals

    > also, evaluating things 60 times a second is not a good fit for low-power systems of any kind.

    Agreed. As to a terminal-mode UXN, you pointed out:

    > as for uxn, uxn is the first attempt at frugal "write once, run anywhere" that's good enough to criticize. everyone should read devine's talk about its aspirations

    I think it's the primary use case like Java Applets and Flash preceded JS as iterations of sorta-portable and low efficiency tools which make up for it with sheer volume of high-familiarity material.

    > nor is it good for programmer productivity

    I'm curious about this. Could you please elaborate?

    When trying earlier uxntal versions, the worst part seemed to be the string syntax. If it wasn't because it seemed easier at the time, my guess is the pain point might be intentional nudges away from making things the designer doesn't like.

    > and it’s not all that simple.

    This is where I get confused:

    * Can you explain more about your views on this?

    * Do you favor a specific structure of hardware, OS code, and user scripts, or whatever ends up offering the best use of power and long-term device durability?

    > i'm not sure how well the existing varvara applications will work at 400×240 or tolerate a requirement to use fonts many pixels tall in order to be readable

    Counting mW and decades implies text > GUI. Despite 100r & fans favoring GUI, there's an UXN terminal mode and a few math and terminal libraries written for it.

    As to GUI, many of the ecosystem's GUI programs are FOSS with room to shrink the graphics. There's a decent 4x6 px ASCII font which is CC0 and could help, but as fair warning, it's awful at accents and umlauts.

    > possibly i just haven't written enough forth to have the enlightenment experience yet, but currently my hypothesis is that forth is just hard to read and that's it, and that the really great thing about forth is not actually the language but the interactive development experience

    This seems to be a universal opinion since REPL isn't rare anymore. Being portable and easy to bootstrap are probably the main draw now. In addition to 100r's work, I think remember hearing ${NAME}boot or another project used it to simplify porting.

    > the varvara display model is not a good fit for the memory-in-pixel displays, which only have one bit per pixel, while varvara requires two.

    Ah, this is what I suspected. I wasn't sure I understood the display you mentioned, so thank you for confirming the hardware mismatch.

    Although your blog showed you'd considered two identical side-by-side displays[1], I have a radical idea which might not be a good one:

    1. A "Full" display of W x H characters (the Sharp display or whatever you replace it with)

    2. A "Fallback" 1 or 2 line display (2nd line reserved for editor info / UI?)

    A single 1-bit editable line is so hard to work with that ed[2] isn't even installed by default on many Linux distros. However, people did once got real work done with it and similar tools.

    As a funny sidenote, this is where non-colorForth[3] forths may align with UXN's dev. He's a Plan9 fan and uses its Acme editor[4]. So Varvara is theoretically capable of syntax highlighting, but he refuses to implement it as far as I know.

    > as for tools for software development, program launching, editing text, editing fonts, editing other graphics, and sequencing music, i'm confident i can write those myself if i have to. i've written a compiler in a subset of scheme that compiles itself, a compiler in a forth-like language that compiles itself, various toy text editors, various virtual machines in under 150 lines of code, and various pieces of music synthesis software

    You may be pleasantly surprised by how many people will show up if you start building and releasing tools which:

    * let them solve problems or have fun

    * allow extending the tool

    * can be used to build their own tools

    Many will will even contribute back. To paraphrase the Gren[5] maintainer's recent livestream: "we've had more engagement in our time on Discord than all our years on Zulip."[6]

    > maybe i should set up a patreon for this or something, maybe people would be interested in supporting the project

    Based on your blog, I think you can safely skip to the footnotes:

    * GitHub sponsors might be worthwhile if you're willing to use non-fully FOSS platforms

    * Don't make people feel like they're paying for their own work

    * Do let the system do real-ish creative work and self-host, even if only as emulators

    If you'd like, I can provide more specific suggestions.

    [1]: https://blog.za3k.com/zorchpad-update-cardboard-mockup-mk1/

    [2]: https://en.wikipedia.org/wiki/Ed_(software)

    [3]: https://concatenative.org/wiki/view/colorForth

    [4]: https://wiki.xxiivv.com/site/acme.html

    [5]: https://gren-lang.org/ (Disclaimer: I sorta contribute to this now)

    [6]: https://www.youtube.com/watch?v=PO8_pV7r168 (Sorry, I don't have an exact timestamp, but I'm pretty sure it was in here)

  • Flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

    > you'll note that ex(1) is installed by default on every linux distribution except alpine

    On my system, it seems to be set up as an alias of vim ("Entering Ex mode"). Huh. A bit more reading after that has been an interesting historical detour.

    > i know a programmer who still uses it as his preferred editor, preferring it even to vi

    I've never tried ed before this comment. Others might see it as strange and clearly teletype-oriented, but I think it's refreshingly explicit about every action taken. Even more than ex, it's a vim ancestor where commands and state are persistently visible instead of being hidden.

    Thank you for mentioning this, but now I'm a little worried I might start wanting to use ed too.

    > i've certainly done plenty of real work with tcsh and bash, where the primary user interface paradigm is editing a single line of text to your satisfaction, submitting it for execution, meditating on the results, and then repeating.

    I think you've hit on something important here. Web-oriented workflows with live reload (and Flutter[1]) inherit this. I think it means the form of the REPL itself isn't what we should be focusing on, but easy iteration and maybe cached results to save power and time.

    On the topic of accessibility, do you have any opinions on Hedy[2] and whether a long-lived, low-power system might have room for something like it? The site is annoyingly JS-filled, but the idea is interesting: a language where the names in the symbol table are more overtly a user-localizable value.

    [1]: https://flutter.dev/

    [2]: https://www.hedycode.com/

  • pygrounds

    Python web-scraping API for Newgrounds

    The second direction seems easier.

    To me, Python seems to have "regional" dialects specific to industries or codebase purposes. It's not a standard, but an emergent thing the same way I've heard Newgrounds[11] projects had a reputation for offensive variable names.

    Python had humor once too. Unlike Newgrounds Python's humor was Monty Python references in example code instead of choosing variable names based on shock value. Also, Python seems to have lost the humor as it "grew up"

    It seems like this sense of humor is important to early-phase software and hardware ecosystems. For example, the Uxn / Varvara ecosystem we've been discussing has plenty of it. Potato[12] isn't quite a joke with a punchline, but it is an irreverent reference to low-power computers with "bad" graphics.

    Community coherence is something Octo had issues with, but both Uxn and Decker seem to be doing well. My guess is humor as a key factor.

    Do you have any thoughts on this and other parts of community building or emergence?

    * In your specific area(s) of interest? (low-power, long-term hardware)?

    * For retro languages+hardware?

    * In general?

    I also realize I might be bringing way too much process and theory into this. Do you still use the email listen on your about page?

    It'd be nice to have a fallback in case this thread locks or something. It's been rare to have such long-lasting discussions, so I don't remember how thread locking works on this site.

    [1]: https://answers.microsoft.com/en-us/msoffice/forum/all/visua...

    [2]: https://hosted.weblate.org/projects/hedy/#information

    [3]: https://hosted.weblate.org/projects/hedy/keywords/

    [4]: https://en.wikipedia.org/wiki/Logogram

    [5]: https://en.wikipedia.org/wiki/CJK_characters

    [6]: https://en.wikipedia.org/wiki/Hangul

    [7]: https://en.wikipedia.org/wiki/DRAKON

    [8]: https://scratch.mit.edu/

    [9]: https://boardgamegeek.com/boardgame/68448/7-wonders

    [10]: https://en.wikipedia.org/wiki/Constructed_language

    [11]: https://www.newgrounds.com/

    [12]: https://wiki.xxiivv.com/site/potato.html

  • scratch-www

    Standalone web client for Scratch

    The second direction seems easier.

    To me, Python seems to have "regional" dialects specific to industries or codebase purposes. It's not a standard, but an emergent thing the same way I've heard Newgrounds[11] projects had a reputation for offensive variable names.

    Python had humor once too. Unlike Newgrounds Python's humor was Monty Python references in example code instead of choosing variable names based on shock value. Also, Python seems to have lost the humor as it "grew up"

    It seems like this sense of humor is important to early-phase software and hardware ecosystems. For example, the Uxn / Varvara ecosystem we've been discussing has plenty of it. Potato[12] isn't quite a joke with a punchline, but it is an irreverent reference to low-power computers with "bad" graphics.

    Community coherence is something Octo had issues with, but both Uxn and Decker seem to be doing well. My guess is humor as a key factor.

    Do you have any thoughts on this and other parts of community building or emergence?

    * In your specific area(s) of interest? (low-power, long-term hardware)?

    * For retro languages+hardware?

    * In general?

    I also realize I might be bringing way too much process and theory into this. Do you still use the email listen on your about page?

    It'd be nice to have a fallback in case this thread locks or something. It's been rare to have such long-lasting discussions, so I don't remember how thread locking works on this site.

    [1]: https://answers.microsoft.com/en-us/msoffice/forum/all/visua...

    [2]: https://hosted.weblate.org/projects/hedy/#information

    [3]: https://hosted.weblate.org/projects/hedy/keywords/

    [4]: https://en.wikipedia.org/wiki/Logogram

    [5]: https://en.wikipedia.org/wiki/CJK_characters

    [6]: https://en.wikipedia.org/wiki/Hangul

    [7]: https://en.wikipedia.org/wiki/DRAKON

    [8]: https://scratch.mit.edu/

    [9]: https://boardgamegeek.com/boardgame/68448/7-wonders

    [10]: https://en.wikipedia.org/wiki/Constructed_language

    [11]: https://www.newgrounds.com/

    [12]: https://wiki.xxiivv.com/site/potato.html

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Setting Up Your Flutter Development Environment

    1 project | dev.to | 10 Sep 2024
  • How to Prevent Unnecessary React Component Re-Rendering

    1 project | dev.to | 9 Sep 2024
  • Nested ScrollViews can be Tricky in React Native! How to solve?

    1 project | dev.to | 22 Aug 2024
  • Is Flutter frontend or backend?

    1 project | dev.to | 19 Aug 2024
  • Pay Picker: Fun way to decide who's paying | #BuildBetterOnStellar

    7 projects | dev.to | 18 Aug 2024