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.
Now this is #retrocomputing: someone has ported 40 year old #RTS from some uncertain #Forth dialect from the #AppleII to gForth. It originated a Byte Magazine article.
The game is playable on #Linux in a terminal at 40 columns. Someone else modernized the game to be 80 column native and make a handful of other quality of life improvements.
A moon lit vista of the bridges over the river Forth, north of Edinburgh.
Captured from a late squeezy jet trip to Europe, I always try to get the window seat 'just in case' 🙂
I used to own a stack of boxes of vintage Byte magazine issues from 78-82 as I wanted physical copies of the #smalltalk and #lisp articles (which at the time were not scanned/available). Anyway I couldn’t help but read almost all of them, mainly for the ads! Also some great #forth articles. Ultimately it was incredibly informative to learn about the hype cycle of tech. So every time I hear about crypto or LLM shit I imagine it (well what ever the aphantasia version of imagining is) in terms of half page glossy over produced vintage byte magazine ads.
Very excited about this book! Conway’s Game of Life is what got me out of blubberism almost three decades ago as I implemented it in php and started looking into more succinct implementations which brought me to #apl, #lisp and so #forth.
I am happy to announce the 1.1.0 release of Mecrisp-Quintus, an optimising #Forth compiler capable of generating native code with constant folding and register allocation which is now also available for 64 bit #riscv RV64IM and RV64IMC targets in addition to RV32I(M)(C) and MIPS M4K.
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."
I'm happy to report that Shoehorn V2.0 is now pushed to my SourceHut repo.
Shoehorn is a #Forth subset bootstrap compiler for use in bringing up new hardware completely from scratch.
I'm currently using it to write my own Forth interpreter/compiler for my homebrew 65816-based computer design, proving that it's not just a toy. (If you are lost figuring out where to start, look in mkdisk0 and sysf.f)
This version introduces support for CREATE, DO/?DO, LOOP/+LOOP, and a new way of supporting primitives that allows them to be linked into the dictionary hash chain.
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).
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.
I am building a many core #Forth computer on FPGAs using open source tools. It will run on boards with an FPGA, two USB ports, an RP2040 to drive the HDMI port, Flash and Hyperram.
Next #forth project: Super barebones (but useful) #willow protocol implementation.
Following with the post-apocalyptic aesthetic and everything around things like #permacomputing and #collapseos I see an opportunity for a decentralized easy to use way to share data between isolated communities through something like the #willow protocol.
I don't know why I'm so attracted to this aesthetic but it's a bit of a current obsession.