RSSAmplifier

Blog

Chaotic Blog of Artyom Bologov

Artyom's, blog on programming, art, and research.

aartaka.meRSS feed ↗87 posts

Latest posts

New Declarative Website Menu with Invoker Commands and noscript Hacks!

Read on the website: I updated my website menu to be prettier on mobile, and I did not sacrifice accessibility and noJS folks! Go check it out and adopt it!

No Laptop Wee… Month?

Read on the website: I dedicated this July to not using my laptop (and definitely not watching YouTube!) It’s a tentative win!

Paper Things I Use

Read on the website: I have decided to go low-tech with my life lately. Here’s the low-tech know-how I use.

Wiki, Wittgenstein, and Wits

Read on the website: So I was considering starting a wiki. But it seems there are some unsurmountable value mismatches with me and wikis. So here’s a small reflection piece engaging Wittgenstein, literary theory, and a straw man idea of wikis.

Armenian Shorthand System from 1888!

Read on the website: It turns out, Armenian has at least one stenography system. The one designed in 1888 by a monastic order from Venice! Althought it’s imperfect, it’s a nice historic rarity.

Reverse-engineering Prose From Internet Lingo

Read on the website: Internet learned to speak gibberish that doesn’t always coincide with literary text. But it can be converted back to that. Here’s my experiment along these lines.

When Escalator Breaks, It Turns Stairs

Read on the website: We need resilient systems that fall back to sanity when broken / discriminating. And not whatever.

My Blog Principles

Read on the website: There’s a bunch of guiding principles I follow when blogging to ensure what I do is kind to others. Here are some.

GESS (ГЕСС) Stenography for Russian and English

Read on the website: GESS (ГЕСС) is a Soviet / Russian standard for stenography (fast handwriting.) I want to use it for both Russian and English. And I dare say it works!

Working at Nyxt / Atlas Engineer: Thanks and Sorry

Read on the website: Atlas Engineer was a perfect Open Source Lispy team to work in. I was not the best teammate, though. Here’s how it worked in Atlas and what I’m worried about lately.

Binary Lambda Calculus is Hard

Read on the website: Binary Lambda Calculus is a really alluring idea. But it’s also hard to grasp and use! Here’s my list of complaints and obstacles to using BLC.

Kaktovik Numerals

Read on the website: Kaktovik numerals are a surprisingly good counting system. It allows many arithmetic operations to be done visually and effortlessly. Though it takes some getting used to. Thus this page!

and HTML and Markdown and README and Website and Demo

Read on the its own page: We all love READMEs. We also love websites. Why not have both in one file?

Package-Inferred Systems are Dangerous

Read on the website: Package-inferred systems follow a useful one-file-per-package convention structure. But package-inferred systems themselves are harmful and should not be used.

Against Markdown

Read on the website: Markdown seems to have taken root. But it’s not really a good choice of markup language, because it’s incomplete, non-semantic, and tool-specific.

Pidgin Markup For Writing, or How Much Can HTML Sustain?

Read on the website: HTML is flexible and was shaped by generations of web practitioners. It has enough tricks up its sleeve to actually be nice to author. Here are some.

Easy (Horizontal Scrollbar) Fixes for Your Blog CSS

Read on the website: There are narrow screen CSS problems I often email people because of. These three fixes should be enough for most.

Boredom is Good, Actually

Read on the website: Boredom and idleness are a necessary part of life and censoring and ennervating over them is not fine. Embrace boredom!

2025: Never-ed(1)-ing Lisp, Writing, and Feelings

Read on the website: This was a hard year, filled with Lisp hacking, ed(1) editing and meta-programming, escapist writing, and heavy feeling. A good K-pop soundtrack tho.

Common Lisp Dependency Vendoring with Submodules

Read on the website: Submodules give you the flexibility to fetch the dependencies, or not. And they enable more granular reproducible builds. Use submodules!

Towards Better Word

Read on the website: The concept of text editing word is inflexible and outdated. We need better.

Customizing ed(2): Syntax Highlighting and rlwrap Heresy

Read on the website: Ed is customizable, actually. It can have syntax highlighting, interactive commands, and build/REPL setup. Enter rlwrap.

Making Sense of Lambda Calculus 6: Recurring Problems

Read on the website: There’s data encoding in Lambda Calculus. But there are also algorithms. Recursive, usually. So let’s look at how recursion works when all you have is lambdas.

Advanced Self-Aware ed(1)

Read on the website: ed(1) is a versatile programming system. Yet no one talks about metaprogramming and algorithms in it. Now someone did, and that’s me!

Line-based Lisp Editing

Read on the website: Not all environments have Lisp-aware structural editing. Some are only line-oriented. How does one go about editing Lisp line-by-line?

Functional Threading “Macros”

Read on the website: Threading macros make Lisp-family languages much more readable. Other languages too, potentially! Except… other languages don’t have macros. How do we go about enabling threading “macros” there?

Just Let Me Select Text

Read on the website: Text is a universal medium. And yet we try to prevent users of our UIs from using it. Let’s not.

My ed(1) Toolbox

Read on the website: I am an ed(1) fan. Naturally, I have a lot of scripts and implementations handy. Here are some.

Customizing Lisp REPLs

Read on the website: Lisp REPLs are a good tool, but some consider it too rigid. Which leads to abundance of proxy REPLs. Except… you don’t need them!

Just Don’t

Read on the website: Just stop artificially restricting yourself to bad software.

Plaintext Email Formatting

Read on the website: Plaintext emails are slowly becoming an artifact of the past. Still, there’s a lot interesting things about plaintext emails. Including... plaintext-only formatting!

Why I Am Stupid

Read on the website: Being stupid is a stigma. But it's also a way of doing my job well or destroying the system the job perpetuates. Come be stupid with me!

Lisp Logical Pathnames

Read on the website: Logical pathnames are both a useful and obscure feature of Common Lisp. Here I’m trying to figure them out.

Lost Computation

Read on the website: We keep losing context and computation when running programs. But we don't have to. Let’s see how this lost compute can be avoided.

Explanations, not Algorithms

Read on the website: Algorithms are all the rage in tech. And yet, they are useless unless you use them as black boxes. Better disseminate explanations—they are much more understandable and reproducible.

Making Sense of Lambda Calculus 5: Bring Computation to (Aggregate) Data

Read on the website: Any programming system needs a ways to aggregate values. Be it with structures, arrays, or closures. Lambda Calculus has these ways, so let's see what's there.

Transparent UIs

Read on the website: As GUI complexity grows, transparency plummets. Any way to fix that?

Designing the Language by Cutting Corners

Read on the website: Designing programming languages is hard. But does it have to be this way?

Some Things Have To Be Ugly

Read on the website: Embrace ugly code. Maintain ugly code. Write ugly code.

Uncovering Tarot Biases with Simple NLP

Read on the website: Tarot is nice. It's showing us some archetypes and allowing to create stories. But are these stories as diverse as we are? No, and here're some simple NLP approaches to learning why.

LLMs, But Only Because Your Tech SUCKS

Read on the website: LLMs and Vibe Coding are there. But why? Because our tech is not that advanced and we're disempowered by it. Make tech not suck, and you'll need no LLMs.

Making Sense of Lambda Calculus 4: Applicative vs. Normal Order

Read on the website: Lambda Calculus is a simple computation model that's easy to port to any language with functions. Probably? Hopefully? Actually, there are some problems when mapping from LC to programming. Here are some, with ways to cope.

How I Write Generics

Read on the website: With great generic functions comes great responsibility of making them readable and maintainable.

Postmodern Front-end

Read on the website: or just use CSS lol. Slides for the seminar I gave at work regarding modern CSS niceties. Deprecating a whole class of "modern" front-end practices/technologies.

CSS-only Syntax Highlighting

Read on the website: I hate JS. (No, not really.) I don't want to have even a line of JS on my webite. Especially for something as simple as syntax highlighting. I should be able to do that with some CSS and minor preprocessing, right?

Tarot 3.2

Read on the website: Tarot is a nice thing, but most websites about it are a pain to use. So I made my own, in HTML 3.2!

All Lisp Indentation Schemes Are Ugly

Read on the website: Indentation styles are a hot topic in every language. So let's see how Lisps do indentation!

Customizing ed(1)

Read on the website: ed is too simple to be customizable, right? Maybe it is not customizable, but the environment around it is!

Codeberg Pages with SSL and Custom Domain

Read on the website: Moving from Gitlab Pages to Codeberg Pages. There are some difficulties, but nothing impossible. Here's what I did.

Procnames Start Lines. But Why?

Read on the website: Putting procedure names at column 0 is a widespread convention in C codebases. But the exact reasons are not really elaborated anywhere. We just do that. So I decided to make my own summary for why it's a thing.