
\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:2025@aartaka.me}{(email)}}
\date{\today}
\title{2025: Never-ed(1)-ing Lisp, Writing, and Feelings}
\makeatletter
\def\endenv{\expandafter\end\expandafter{\@currenvir}}
\makeatother
\begin{document}
\maketitle

\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{./assets/2025.png}


\section*{2024 (bear with me)} \label{2024}

I never reviewed my 2024, so I’m going to throw a short bullet list of what was there:

\begin{itemize}\item I left Nyxt team and picked up Scheme as my main work language, over Common Lisp. Did posts and nerd snipes on
\href{run:guile-optimization}{Guile optimization},
\href{run:wisp}{Wisp explanations} and
\href{scripts/wisp.ed}{parsing}, and
\href{run:parameterized}{pluggable and overridable procedures}.

\item On a related note,
\href{https://srfi.schemers.org/srfi-253}{I became a standard author for SRFI 253},
almost the first attempt to get typing into Scheme!
I am still surprised no one beat me to something so obvious…

\item Seriously got to writing
\href{run:lambda-1}{about}
\href{run:lambda-2}{Lambda}
\href{run:lambda-3}{Calculus},
the most long-lasting series of posts and topic on my site.

\item Picked up ed(1) somewhere around the middle of the year.
\href{run:paren-regex}{Did really wrong parentheses matching} for
\href{https://github.com/aartaka/modal.ed}{my Modal implementation},
\href{run:sed-ed}{relied on ed(1) over sed(1)} for text scripting,
\href{run:this-post-is-ed}{and moved all my site over to ed(1) generation} with pretty advanced pseudo-HTML syntax.
Finally, I
\href{run:customize-ed}{customized the hell out of ed(1)}, laying the foundation for
\href{https://codeberg.org/aartaka/aed}{aed, the editor I use daily}.
\href{https://github.com/bf-enterprise-solutions/ed.bf}{(I actually was doing ed—implementing ed.bf—since 2021, just not, like… seriously?)}:

\item Covertly and occasionally, I was still doing Common Lisp, managing to
\href{run:lisp-design-patterns}{pillage some design patterns} and
\href{run:cl-is-lots}{cultural insights}
out of my Nyxt work and the very welcoming community out there.

\item And I became a full-blown writer, writing as much as 27 posts for this small site,
hitting Hacker News at least once,
and enraging many Reddit users!
\end{itemize}

Okay, writing this fills me with pride for the person that was stuck in Armenia,
lived through extreme loneliness,
and tried to find a stable job all year.
Good job, Artyom!

\section*{Now, 2025} \label{2025}

Even though I found a full-time job and became truly financially stable for the first time in I guess a decade?
I’m uneasy about this year.
I’ve given up on some of my hobbies, I read much less.
And I still am unsure about what I’m going to do with my life.
My life is mostly software, so this morphs into the question of what tech I should rely on.
And build my interface to the world with.

\href{https://merveilles.town/@aartaka/115805065657727071}{I mean, the post I did just now}
is a good summary for one of the choices I faced (and continue facing) this year: Scheme vs. Common Lisp.
And one of the posts starting 2025 was me being tempted by Lua.
Having been exposed to Clojure at my dayjob, I realized that I really \emph{don’t} want to do Clojure.
Might be because it’s my dayjob?
No, it’s the language being super restrictive and opinionated.
Being raised in a Common Lisp tradition, I just cannot accept paradigms forced on me.
\href{run:ugly-things}{I want ugly things}
and I want some dangerous ways to handle them.

So yeah, I got back to Common Lisp for the time being.
And wrote about it all year,
\href{run:lisp-indent}{deriding indentation styles},
\href{run:my-generics}{sharing my generic writing convention},
\href{run:cutting-corners}{designing languages by reusing CL guts},
\href{run:lost-compute}{mourning lost compute},
\href{run:logical-pathnames}{exploring logical pathnames},
\href{run:customize-repl}{customizing my REPLs},
\href{run:lisp-lines}{editing Lisp line-by-line} (remember this one,)
\href{run:cl-submodules}{and finally sharing my unconventional dependency vendoring setup}.

8 posts out of 27 (I am quite a steady writer, it seems) are about Lisp, and it’s probably the most prevalent topic.
Because I love Lisp and really cherish all the experiences I had to live through with it.
All these 2019 sideways glances my girlfriend shot at me when I was reading r/lisp.
Instead of spending time with her.
My GOFAI classes where I finally used CL, in 2020.
The very best job at Nyxt stretching until the end of 2023.
And the malleability of the language when I need to
\href{https://github.com/aartaka/lamber}{design something novel and pretty (Lamber)} or
\href{https://codeberg.org/aartaka/laliza}{reproduce something historically important (Eliza/Laliza)} (remember this one please.)

I value portability and reliability, that’s what Lisp put in me.
That’s why I still hold onto ed(1) and keep updating my line-based editing setup.
Remember this
\href{run:lisp-lines}{line-by-line Lisp editing post}?
That’s a direct consequence of me trying to do Lisp in ed(1).
Not only that:
\href{run:my-ed}{I became ed(1) versions collector},
\href{run:advanc-ed}{has gone crazy with metaprogramming in it},
\href{run:customize-ed-2}{customized the hell and syntax highlighting out of it},
\href{run:better-word}{and wondered on the better regex in text editing}.
I wrote two implementations following
\href{https://github.com/bf-enterprise-solutions/ed.bf}{Brainfuck Enterprise Solutions’ ed.bf}:
\href{https://github.com/aartaka/ed.bas}{ed.bas in BASIC } (yeah, I had a moment of BASIC writing in my life) and
\href{https://github.com/aartaka/ed.modal}{ed.modal in term-rewriting Modal} (parentheses regex were part of that obsession with Modal.)
Because writing ed(1) all over again is a fun language benchmark and pastime!

I am proud to be “that ed(1) person” in your Fediverse feed, and I promise to keep it up.

It was somewhat forced and boring, but I also continued a good tradition of Lambda Calculus posts.
\href{run:lambda-4}{Suffering from normal order},
\href{run:lambda-5}{building beautiful cons-tructions},
\href{run:threading}{earning for Clojure macros},
\href{run:lambda-6}{and suffering from normal order recursion}… yes, again.
With that, I covered most basic topics needed to get started with LC.
So I’ll likely take a long break from writing about it.
\href{https://github.com/tromp/AIT/issues/6}{Unless I fall down the Binary Lambda Calculus optimization rabbit hole}, of course.

No matter how interesting tech is, one often gets bored tinkering with it.
So this year I had many moments of
\href{run:boredom}{excruciating boredom}
that only one thing was able to dispel: writing.
I started enjoying and valuing putting ideas onto the (metaphorical) page.
And I realized that I don’t only program.
I also think and feel.

Arguably, I’m not a good thinker, with my attention span getting even shorter over the year.
And inability to read anything substantial due to time limits imposed by work and depression.
(I’m still in a depressive plateau of my bipolar oscillations.
That makes me less productive and willing to live, but I struggle on somehow.)
But god do I feel and pour that into the writing!
\href{run:llms-suck}{I find that LLMs and the kind SUCK},
\href{run:ugly-things}{I like ugly things},
\href{run:transparent-ui}{I crave transparency in the tech I use},
\href{run:explanations}{I value explanations over algorithms},
\href{run:stupid}{I am acknowledging and accepting my stupidity/stuplimity},
\href{run:just}{and I don’t want to restrict myself like many of my fellow programmers}.

And, something that enfuriates me, much like many people relating to it on Hacker News:
\href{run:select-text}{I just fucking want to select the text}!
Because, it turns out, I care about Web,
\href{run:hypertext}{hypertext},
\href{run:transparent-ui}{UIs that empower},
and being a good Web citizen.
\href{run:postmodern-front-end}{I want people to finally use CSS where they unnecessarily turned to JS}.
\href{run:css-only-highlight}{(Or, maybe, I use CSS \emph{too much}?)}
\href{https://r7rs.aartaka.me}{And I want to read R<sup>7</sup>RS on the Web instead of opaque PDFs}!

The whole year was set to
\href{run:kpop}{K-pop}.
\href{https://youtube.com/watch?v=jWQx2f-CErU}{Starting with this banger by aespa}.
\href{https://wikipedia.org/wiki/NewJeans#2024%E2%80%93present:_Conflict_with_Hybe,_hiatus,_and_Danielle%27s_departure}{Continuing with compassion for NewJeans}.
\href{https://youtube.com/watch?v=Zp-Jhuhq0bQ}{And ending with hyping to BABYMONSTER}.
I’m not ashamed of this preference and the fact that some of my projects… are called after K-pop things.
Like Laliza, my implementation of classic Eliza AI system,
\href{https://youtube.com/watch?v=awkkyBH2zEo}{with name being a shameless scrape of LISA’s single}.
Or aed, my editor jokingly
\href{https://youtube.com/watch?v=D8VEhcPeSlc}{and dramatically named after aespa}.

With this soundtrack and this year filled with computering and feeling, I wish:
to find a real Lisp / Scheme job (help appreciated) and to finally have time to read, hack, and cry.
And, to you: to continue the search for yourself and to find harmony in the fact that the search never ends.


\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}
