Artyom Bologov's Projects
By Artyom BologovGiven my restless/bipolar nature, I'm starting lots of projects—all just to abandon them half a week after. Still, some of them are/were quite fun:
Brainfuck Enterprise Solutions
BES is the company I'm a proud CEO of. Its products (all written in Brainfuck) include:
- OS.bf
- a minimalist OS with a shell, file system, and a script engine.
- ed.bf
- somewhat opinionated UNIX ed reimplementation.
- meta.bf
- Turing-complete Brainfuck meta-interpreter.
- str.bf
- a solid fully embeddable string manipulation library.
- bf.doc
- guidelines for clear and readable code docs.
- bf.style
- style guidelines for medium-to-huge BF codebases.
- Sade
- optimizing compiler from Brainfuck to Lisp, just for the purpose of bootstrapping BF Enterprise Solutions' products.
- Reb
- another shot at Brainfuck implementation, this time interpreted/transpiled to C and heavily regex-based.
Atlas Engineer & Nyxt Work
Projects made as part of Nyxt browser work and abstracted from its code.
- History Tree
- my Bachelor of Arts thesis idea of a browser-global history tree.
- NJSON
- convenience library (not a parser!) for JSON indexing, validation, and discovery.
- Nsymbols
- symbol listing and binding inspection library.
- Ndebug
- custom (GUI too) debugger toolkit for CL.
- And Nyxt itself!
- Lots of things: WebKitGTK interfacing, graphical object inspection, UI framework building. Like, REALLY LOTS OF THINGS.
Lisp Libraries and Projects
Several Common Lisp projects and libraries around them. Projects:
- Graven Image
- Portability library for better CLI/text interaction with the running image.
- Tripod
- My polyglot blog engine I wrote about.
Libraries. These are mainly built around the projects above, but often are chaotic:
- Auto-generated Telegram Bot API bindings.
- Trivial Toplevel Commands to define new REPL commands.
- Trivial Toplevel Prompt for nicer prompts like
aartaka>
. - Trivial Time for code timing/benchmarking.
- Trivial Inspect, a portable toolkit for building inspectors.
- libpd (Pure Data) bindings.
- Cyrillic transliteration library.
Turing Tarpits
I'm into using the tech in ways not initially intented for this tech. While I'm not yet at that level in hardware, I certainly am deep enough in software tarpits:
- Brainfuck Enterprise Solution (above)
- The primary example of me going all-in with an esoteric tech and ending up with real tools built in it.
- advent-of-code-in-cl-loop
-
Solving Advent of Code 2021 only using Common Lisp
loop
macro. - stdlambda
- A Lispy standard library for Lambda Calculus, finally making this Turing tarpit a practical software environment.
- My Ed entries at RosettaCode
-
ed
was not intended to be a general-purpose programming system, but here we are. - Modal->ed compiler
-
Now that we talk about
ed
... - And Wisp syntax preprocessor!
- Wisp is an indentation-based syntax for Lisps, and I implemented with with a cursed set of regex.
My Configs
Configs for everything:
- Commmon Lisp + Readline with custom commands and prompt, terminal auto-completion, and Graven Image integration.
- Guix System.
- StumpWM with lots of apps, Binwarp mode, and Emacsy keybindings for any CUA app.
- Emacs.
- Nyxt browser. Abandoned yet still useful and exemplary.
- My fork of Suckless Terminal.
- My heavily-hardened and Emacsified fork of Surf, Suckless Browser.
- Classic Vi (not Vim!) config for Lisp programming.
- Laconia and Dark Atoll, my themes for the software above.