
\documentclass[12pt]{article}
\usepackage[T2A,OT1]{fontenc}
\usepackage[default]{cantarell}
\usepackage[a4paper, top=20mm, bottom=20mm, left=20mm, right=20mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[russian, english]{babel}
\usepackage{tabu}
\usepackage{hyperref}
\usepackage{parskip}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage[normalem]{ulem}
\usepackage{float}
\floatstyle{boxed}
\restylefloat{figure}
\usepackage{setspace}
\onehalfspacing
\author{Artyom Bologov \href{mailto:projects@aartaka.me}{(email)}}
\date{\today}
\title{Artyom Bologov’s Projects}
\makeatletter
\def\endenv{\expandafter\end\expandafter{\@currenvir}}
\makeatother
\begin{document}
\maketitle

Given 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:

\section*{Brainfuck Enterprise Solutions} \label{bes}

BES is the company I’m a proud CEO of. Its products (all written in Brainfuck) include:

\begin{description}\item[\href{https://github.com/bf-enterprise-solutions/os.bf}{OS.bf}]
a minimalist OS with a shell, file system, and a script engine.
\item[\href{https://github.com/bf-enterprise-solutions/ed.bf}{ed.bf}]
somewhat opinionated UNIX ed reimplementation.
\item[\href{https://github.com/bf-enterprise-solutions/meta.bf}{meta.bf}]
Turing-complete Brainfuck meta-interpreter.
\item[\href{https://github.com/bf-enterprise-solutions/str.bf}{str.bf}]
a solid fully embeddable string manipulation library.
\item[\href{https://github.com/bf-enterprise-solutions/bf.doc}{bf.doc}]
guidelines for clear and readable Brainfuck documentation.
\item[\href{https://github.com/bf-enterprise-solutions/bf.style}{bf.style}]
style guidelines for medium-to-huge BF codebases.
\item[\href{https://github.com/aartaka/sade}{Sade}]
optimizing compiler from Brainfuck to Lisp, just for the purpose of bootstrapping BF Enterprise Solutions’ products.
\item[\href{https://github.com/aartaka/reb}{Reb}]
another shot at Brainfuck implementation, this time interpreted/transpiled to C and heavily regex-based.
\end{description}

\section*{Atlas Engineer \& Nyxt Work} \label{atlas-nyxt}

Projects made as part of Nyxt browser work and abstracted from its code.

\begin{description}\item[\href{https://github.com/atlas-engineer/history-tree}{History Tree}]
my Bachelor of Arts thesis idea of a browser-global history tree.
\item[\href{https://github.com/atlas-engineer/njson}{NJSON}]
convenience library (not a parser!) for JSON indexing, validation, and discovery.
\item[\href{https://github.com/atlas-engineer/nsymbols}{Nsymbols}]
symbol listing and binding inspection library.
\item[\href{https://github.com/atlas-engineer/ndebug}{Ndebug}]
custom (GUI too) debugger toolkit for CL.
\item[\href{https://github.com/atlas-engineer/nyxt}{And Nyxt itself}!]
Lots of things: WebKitGTK interfacing, graphical object inspection, UI framework building.
    \href{https://github.com/atlas-engineer/nyxt/pulls?q=is%3Apr+author%3Aaartaka}{LIKE, REALLY LOTS OF THINGS}.
\end{description}

\section*{Lisp Libraries and Projects} \label{lisp-libs}

Several Common Lisp projects and libraries around them. Projects:

\begin{description}\item[\href{https://github.com/aartaka/graven-image}{Graven Image}]
Portability library for better CLI/text interaction with the running image.
\item[\href{https://github.com/aartaka/tripod}{Tripod}]
My polyglot blog engine
  \href{run:tripod}{I wrote about}.
\end{description}

Libraries. These are mainly built around the projects above, but often are chaotic:

\begin{itemize}\item \href{https://github.com/aartaka/cl-telegram-bot-auto-api}{Auto-generated Telegram Bot API bindings}.
\item \href{https://codeberg.org/aartaka/trivial-toplevel-commands}{Trivial Toplevel Commands} to define new REPL commands.
\item \href{https://codeberg.org/aartaka/trivial-toplevel-prompt}{Trivial Toplevel Prompt} for nicer prompts like \verb|aartaka>|.
\item \href{https://codeberg.org/aartaka/trivial-time}{Trivial Time} for code timing/benchmarking.
\item \href{https://codeberg.org/aartaka/trivial-inspect}{Trivial Inspect}, a portable toolkit for object inspector construction.
\item \href{https://codeberg.org/aartaka/cl-minifloats}{cl-minifloats}, Lisp implementation of (mostly 8-bit) minifloats.
\item \href{https://codeberg.org/aartaka/cl-match-patterns}{cl-match-patterns}, an implementation of Match Patterns Web standard.
\item \href{https://github.com/aartaka/cl-pure-data}{libpd (Pure Data) bindings}.
\item \href{https://github.com/aartaka/cl-translit}{Cyrillic transliteration library}.
\end{itemize}

\section*{Turing Tarpits} \label{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:

\begin{description}\item[\href{#bes}{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.
\item[\href{https://github.com/aartaka/advent-of-code-in-cl-loop}{advent-of-code-in-cl-loop}]
Solving Advent of Code 2021 only using Common Lisp \verb|loop| macro.
\item[\href{https://github.com/aartaka/stdlambda}{stdlambda}]
A Lispy standard library for Lambda Calculus, finally making this Turing tarpit a practical software environment.
\item[\href{https://github.com/aartaka/lamber}{Lamber}]
My Lua/Wisp-like programming language based on pure Lambda Calculus and extending stdlambda with even more utilities.
\item[\href{https://rosettacode.org/wiki/Ed}{My Ed entries at RosettaCode}]
\verb|ed| was not intended to be a general-purpose programming system, but here we are.
\item[\href{https://github.com/aartaka/modal.ed}{Modal->ed compiler}]
Now that we talk about \verb|ed|…
\item[\href{scripts/wisp.ed}{And Wisp syntax preprocessor!}]
Wisp is an indentation-based syntax for Lisps, and I implemented with with a cursed set of regex.
\end{description}

\section*{Web Demos and Projects} \label{web}

\begin{description}\item[\href{https://and.aartaka.me}{and HTML and Markdown and README and Website and Demo}]
My experiment in making a polyglot README that’s working both as a repository README and a separate website.
  Lots of symlinks and HTML inside.
\item[\href{https://r7rs.aartaka.me}{Web rendition of Scheme R7RS standard}]
It’s a good standard and it’s a shame it had no decent HTML version… until mine, that is!
\end{description}

\section*{ed(1) scripts and implementations} \label{ed}

I like ed(1) for its simplicity and power.
So it’s only consequential that I try to implement it with anything I get my hands on.
Like
\href{https://github.com/bf-enterprise-solutions/ed.bf}{with Brainfuck},
\href{https://github.com/aartaka/ed.bas}{BASIC},
\href{https://github.com/aartaka/ed.modal}{or Modal}.

\href{run:my-ed}{I also have a bunch of ed wrapper scripts and others’ implementations}:

\begin{itemize}\item GNU ed, of course
\item \href{https://codeberg.org/aartaka/aed}{aed, my heavily customized ed}
\item \href{https://codeberg.org/aartaka/aed/src/branch/main/xed}{xed, “execution” / scripting ed}
\item \href{https://github.com/ibara/oed}{oed, OpenBSD ed} for compatibility tests
\item \href{https://github.com/slewsys/ed}{and wed/slewsys ed} as a more featureful ed fork
\end{itemize}

\section*{My Configs} \label{configs}

Configs for everything:

\begin{itemize}\item \href{https://codeberg.org/aartaka/lisp-config}{Commmon Lisp + Readline}
  with custom commands and prompt, terminal auto-completion, and
  \href{https://github.com/aartaka/graven-image}{Graven Image} integration
\item \href{https://github.com/aartaka/guix-config}{Guix System}
\item \href{https://codeberg.org/aartaka/stumpwm-config}{StumpWM}
  with lots of apps,
  \href{https://github.com/stumpwm/stumpwm-contrib/blob/master/util/binwarp/README.org}{Binwarp mode},
  and Emacsy keybindings for any CUA app
\item \href{https://codeberg.org/aartaka/emacs-config}{Emacs}
\item \href{https://codeberg.org/aartaka/aed}{aed, my custom wrapper around ed(1)}
\item \href{https://github.com/aartaka/nyxt-config}{Nyxt browser}. Abandoned yet still useful and exemplary
\item \href{https://github.com/aartaka/st}{My fork of Suckless Terminal}
\item \href{https://github.com/aartaka/surf}{My heavily-hardened and Emacsified fork of Surf, Suckless Browser}
\item \href{https://github.com/aartaka/emvi}{Classic Vi (not Vim!) config for Lisp programming}
\item \href{https://github.com/aartaka/laconia-theme}{Laconia} and
\href{https://codeberg.org/aartaka/dark-atoll-theme}{Dark Atoll}, my themes for the software above
\end{itemize}

\par\noindent\rule{\textwidth}{0.4pt}
\href{https://creativecommons.org/licenses/by/4.0}{CC-BY 4.0} 2022-2026 by Artyom Bologov (aartaka,)
\href{https://codeberg.org/aartaka/pages/commit/a91befa}{with one commit remixing Claude-generated code}.
Any and all opinions listed here are my own and not representative of my employers; future, past and present.
\end{document}
