Welcome!

By Artyom Bologov

Hi! I'm Artyom Bologov, an ironic bipolar programmer trying to make my environment (and, consequently, the Internet) slightly better and weirder. Here are my posts (from newest to oldest):

Guile Optimization Gotchas: There Is No Free Beer, Only Cheap (23 Apr 2024)
Optimizing Guile Scheme is not always obvious. This post is a collection of takeaways from optimizing a heavily numeric piece of code.
Object-Oriented C: A Primer (8 Apr 2024)
One can go Object-Oriented in C, and do so with decent success. Although it's definitely not quite the popular version of OOP everyone is conditioned to.
Falsehoods Programmers Believe About HTML (29 Mar 2024)
There are many things programmers believe about HTML that are not necessarily true. Here're some.
Text UIs != Terminal UIs (1 Mar 2024)
TUI is an ambiguous term, meaning either of 'terminal' or 'text' user interface. The difference is even more pronounced now, with chat interfaces and assistive tech. So let's stop calling TUIs 'text' and call them 'terminal'—by their real name. Reserving 'text' for more appropriate conversational UIs.
Moving From Nyxt To Surf (14 Feb 2024)
I switched to Surf because of habit switch from distracted kitchen sinks to focused app-like web browsing.
Lisp Design Patterns (25 Jan 2024)
Lisp projects might be smaller and neater that other tech. But still, there are emergent patterns in any software. So here's an arbitrary list of design patterns I found in Lisp codebases.
Regex Pronouns? (12 Dec 2023)
Pronouns are important. They are part of one's identity, after all. But what if one also identifies as a programmer? Regexes as pronoun listing!
Making Sense of Lambda Calculus 1: Ignorant, Lazy, and Greedy Evaluation (30 Dec 2023)
Lambda Calculus is a strong model for computation, but computing examples in it often feels off. In this post, I'm trying to understand how Lambda Calculus evaluation/reduction actually works.
What Writing 2K+ Lines of Brainfuck Taught Me (21 Dec 2023)
I am a Brainfuck programmer. I made some projects that caused me immence pai... joy. I learned something from these, and you can too!
Making Sense of Lambda Calculus 0: Abstration, Reduction, Substitution? (20 Dec 2023)
Lambda Calculus is a fascinating idea, but it's not immediately obvious. In this post, I'm trying to understand and explain the basic terms used in Lambda Calculus.
I Generated This Post With C Preprocessor (3 Dec 2023)
Yes, you can use C preprocessor as a website generator.
Making C Code Prettier (25 Nov 2023)
C code might be ugly at times. But it can also be pretty! Here are some features and snippets with pretty C code.
Making C Code Uglier (4 Nov 2023)
C code is scary. It's often hard to read and has lots of footguns. But it can get even uglier than you imagine. Lo and behold!
Write Hypertext, not Plaintext (4 Sep 2023)
Living a plaintext-only life is tempting. But the further one goes with plaintext, the more they re-invent Markdown or HTML. Let's just give up and live hypertext life instead.
Digital Bum: Finding a Home/lessness on the Internet (29 Jul 2023)
Internet grew out of a non-commercial academic network with free resources for everyone. Can one get back to this dream of free Internet and build a lifestyle out of it?
This Post is Written in Lisp (7 Jul 2023)
This is probably some fanatic with weird AST magic, you say. But if this magic allows one writing with tab-completion, automatic HTML boilerplate, and other goodies—then why not try it? 😉
Designing for Exploitation: How Meta-Programming Leads to Safer Code (14 Sep 2022)
Security tip: You should use meta-programming abilities of your technology (I mostly mean programming languages there) as much as possible, and you should allow your users to program your program by exposing programming languages to them.
Tripod, the restrictively productive blog engine (4 Sep 2022)
Okay, so you want to have your blog backed by a good blog engine?