Today FORTH may seem like an obscure programming language, but almost every computer magazine I have from 1983/5 has articles and adverts for #FORTH products. So I would class it the most mainstream niche language.
Philip has created a new release of VolksForth 6502 for the Commodore 64 and Commander X16
This release adapts the X16 VolksForth to the R46 ROM. It also adds an X16 binary with added words to invoke the ROM-based X16Edit (XED), to list directories and files (DIR and CAT) and to issue DOS commands and read the error channel (DOS).
I hate that I am not smart enough to wrap my head around #forth no matter how many times I read a blog or book on it. I think there’s some inner disgust that doesn’t want to accept the way it looks so unfathomable. I need a language where intent is easier to grok but that seems like so much more code up front
I know exactly what the problem is with eForth: I’m testing manually by poring over emulator execution traces; I’m not writing tests. I know the inner interpreter and some code words work, so I guess I’ll have to write a test framework out of that, and then test the effects of every other word until I’ve worked it all out. #TDD#FORTH
After a hiatus of >3 years, this week I've been starting to pick up again some pieces of my "Forthy" cooperative multitasking WASM VM idea[1] and did some new code sketching. Whilst trying to wrap my head around WASM branch tables (to route the different VM ops to their "microcode" impls), I found a great blog post whose author shared similar head scratching experiences and is explaining the correct (if somewhat counterintuitive) syntax very nicely! Now I'm unblocked and in the zone... 🤩🙏
Not sure yet how to deal with this crazy nested format (and keep the source manageable/readable) once I'll be adding the full set of planned instructions (currently ~25 op groups, each with multiple variations, so 80-100 in total). Already looks like it's gonna take a lot of discipline and/or extreme levels of indentation and scope folding... or actually authoring the VM in #Zig (as originally planned), though the WAT route is maybe more lightweight
A week ago was the 1st anniversary of this solo instance & more generally of my fulltime move to Mastodon. A good time for a more detailed intro, partially intended as CV thread (pinned to my profile) which I will add to over time (also to compensate the ongoing lack of a proper website)... Always open to consulting offers, commissions and/or suitable remote positions...
Hi, I'm Karsten 👋 — indy software engineer, researcher, #OpenSource author of hundreds of projects (since ~1999), computational/generative artist/designer, landscape photographer, lecturer, outdoor enthusiast, on the ND spectrum. Main interest in transdisplinary research, tool making, exploring techniques, projects & roles amplifying the creative, educational, expressive and inspirational potential of (personal) computation, code as material, combining this with generative techniques of all forms (quite different to what is now called and implied by "generative AI").
Much of my own practice & philosophy is about #BottomUpDesign, interconnectedness, simplicity and composability as key enablers of emergent effects (also in terms of workflow & tool/system design). Been adopting a round-robin approach to cross-pollinate my work & learning, spending periods going deep into various fields to build up and combine experience in (A-Z order): API design, audio/DSP, baremetal (mainly STM32), computer vision/image processing, compiler/DSL/VM impl, databases/linked data/query engines, data structures impl, dataviz, fabrication (3DP, CNC, knit, lasercut), file formats & protocols (as connective tissue), "fullstack" webdev (front/back/AWS), generative & evolutionary algorithms/art/design/aesthetics/music, geometry/graphics, parsers, renderers, simulation (agents/CFD/particles/physics), shaders, typography, UI/UX/IxD...
Since 2018 my main endeavor has been https://thi.ng/umbrella, a "jurassic" (as it's been called) monorepo of ~185 code libraries, addressing many of the above topics (plus ~150 examples to illustrate usage). More generally, for the past decade my OSS work has been focused on #TypeScript, #C, #Zig, #WebAssembly, #Clojure, #ClojureScript, #GLSL, #OpenCL, #Forth, #Houdini/#VEX. Earlier on, mainly Java (~15 years, since 1996).
Formative years in the deep end of the #Atari 8bit demoscene (Chip Special Software) & game dev (eg. The Brundles, 1993), B&W dark room lab (since age 10), music production/studio (from 1993-2003), studied media informatics, moved to London initially as web dev, game dev (Shockwave 3D, ActionScript), interaction designer, information architect. Branched out, more varied clients/roles/community for my growing collection of computational design tools, which I've been continously expanding/updating for the past 20+ years, and which have been the backbone of 99% of my work since ~2006 (and which helped countless artists/designers/students/studios/startups). Creator of thi.ng (since 2011), toxiclibs (2006-2013), both large-scale, multi-faceted library collections. Early contributor to Processing (2003-2005, pieces of core graphics API).
Worked on dozens of interactive installations/exhibitions, public spaces & mediafacades (own projects and many collabs, several award winning), large-scale print on-demand projects (>250k unique outputs), was instrumental in creating some of the first generative brand identity systems (incl. cloud infrastructure & asset management pipelines), collaborated with architects, artists, agencies, hardware engineers, had my work shown at major galleries/museums worldwide, taught 60+ workshops at universities, institutions and companies (mainly in EMEA). Was algorithm design lead at Nike's research group for 5 years, working on novel internal design tools, workflows, methods of make, product design (footwear & apparel) and team training. After 23 years in London, my family decided on a lifestyle change and so currently based in the beautiful Allgäu region in Southern Germany.
Librito web para aprender #Forth. Lo bueno es que utiliza un interprete de forth en javascript, así que puedes ir probando mientras lees.
Tenía curiosidad de probar Forth desde que supe de su existencia en la primera mitad de los ‘80. ¿Podía haber mirado antes? Sí, pero no lo he hecho hasta hoy. La culpa la tiene #uxn.
@mathiasx C is a 100-year language. Even a small worthy improvement like Plan9's C dialect didn't catch on, so I guess first-to-market and compiler adoption renders any other language moot (as much as I would like to like Ada, and like Zig and Forth).
Higher-level languages is where there has been wiggle-room around Python and PHP.
Those of you who love #Forth, do you foresee a pathway out of obscurity for the language? In an era where memory safe languages like #Rust dominate, does forth have something to offer?
It used to be that its super power was being "just enough abstraction" atop #assembly language made it the king of flexibility. But in an era where machine language institutions are themselves just really fast macros in a tiny CPU cache, I'm not sure how helpful that is.
I've grown tired of not having a good way to find & examine differences between my #forth block sets, so I'm going to write something to deal with this.
this sounds like the second good reason to take a closer look at #forth i've found within a week:
"I'm starting a series of articles that aims to hand-hold my former self, a regular web developer, into the rabbit hole leading to the wonderful world of low level programming. Hopefully, I can hand-hold you too.
The general goal is to broaden your perspectives on the subject of computing. I intend do to that through story arcs leading, step by step, to some nice and shiny objective. I also intend to work into a gimmick where in each episode, I get to tell one corny joke."