{"@attributes":{"version":"2.0"},"channel":{"title":"Chaotic Blog of Artyom Bologov","link":"https:\/\/aartaka.me\/","description":"Artyom's, blog on programming, art, and research.","docs":"https:\/\/www.rssboard.org\/rss-specification","item":[{"title":"Binary Lambda Calculus is Hard","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/blc-hard\/","guid":"https:\/\/aartaka.me\/blc-hard\/","pubDate":"Mon, 06 Apr 2026 01:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/blc-hard>Read on the website: <\/a>\n        Binary Lambda Calculus is a really alluring idea.  But it\u2019s also hard to grasp and use!  Here\u2019s my list of complaints and obstacles to using BLC.\n      "},{"title":"Kaktovik Numerals","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/kaktovik\/","guid":"https:\/\/aartaka.me\/kaktovik\/","pubDate":"Wed, 25 Mar 2026 01:25:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/kaktovik>Read on the website: <\/a>\n        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!\n      "},{"title":"and HTML and Markdown and README and Website and Demo","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/and.aartaka.me\/","guid":"https:\/\/and.aartaka.me\/","pubDate":"Thu, 5 Mar 2026 21:35:00 +0400","description":"\n        <a href=https:\/\/and.aartaka.me\/>Read on the its own page: <\/a>\n        We all love READMEs. We also love websites. Why not have both in one file?\n      "},{"title":"Package-Inferred Systems are Dangerous","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/package-inferred\/","guid":"https:\/\/aartaka.me\/package-inferred\/","pubDate":"Tue, 10 Feb 2026 15:25:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/package-inferred>Read on the website: <\/a>\n        Package-inferred systems follow a useful one-file-per-package convention structure. But package-inferred systems themselves are harmful and should not be used.\n      "},{"title":"Against Markdown","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/markdown\/","guid":"https:\/\/aartaka.me\/markdown\/","pubDate":"Fri, 23 Jan 2026 00:40:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/markdown>Read on the website: <\/a>\n        Markdown seems to have taken root. But it\u2019s not really a good choice of markup language, because it\u2019s incomplete, non-semantic, and tool-specific.\n      "},{"title":"Pidgin Markup For Writing, or How Much Can HTML Sustain?","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/pidgin\/","guid":"https:\/\/aartaka.me\/pidgin\/","pubDate":"Wed, 14 Jan 2026 15:40:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/pidgin>Read on the website: <\/a>\n        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.\n      "},{"title":"Easy (Horizontal Scrollbar) Fixes for Your Blog CSS","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/easy-fixes\/","guid":"https:\/\/aartaka.me\/easy-fixes\/","pubDate":"Mon, 5 Jan 2026 21:40:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/easy-fixes>Read on the website: <\/a>\n        There are narrow screen CSS problems I often email people because of. These three fixes should be enough for most.\n      "},{"title":"Boredom is Good, Actually","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/boredom\/","guid":"https:\/\/aartaka.me\/boredom\/","pubDate":"Sat, 3 Jan 2026 06:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/boredom>Read on the website: <\/a>\n        Boredom and idleness are a necessary part of life and censoring and ennervating over them is not fine. Embrace boredom!\n      "},{"title":"2025: Never-ed(1)-ing Lisp, Writing, and Feelings","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/2025\/","guid":"https:\/\/aartaka.me\/2025\/","pubDate":"Tue, 30 Dec 2025 20:30:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/2025>Read on the website: <\/a>\n        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.\n      "},{"title":"Common Lisp Dependency Vendoring with Submodules","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/cl-submodules\/","guid":"https:\/\/aartaka.me\/cl-submodules\/","pubDate":"Tue, 16 Dec 2025 02:40:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/cl-submodules>Read on the website: <\/a>\n        Submodules give you the flexibility to fetch the dependencies, or not. And they enable more granular reproducible builds. Use submodules!\n      "},{"title":"Towards Better Word","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/better-word\/","guid":"https:\/\/aartaka.me\/better-word\/","pubDate":"Mon, 24 Nov 2025 17:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/better-word>Read on the website: <\/a>\n        The concept of text editing word is inflexible and outdated. We need better.\n      "},{"title":"Customizing ed(2): Syntax Highlighting and rlwrap Heresy","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/customize-ed-2\/","guid":"https:\/\/aartaka.me\/customize-ed-2\/","pubDate":"Sun, 9 Nov 2025 21:25:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/customize-ed-2>Read on the website: <\/a>\n        Ed is customizable, actually. It can have syntax highlighting, interactive commands, and build\/REPL setup. Enter rlwrap.\n      "},{"title":"Making Sense of Lambda Calculus 6: Recurring Problems","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-6\/","guid":"https:\/\/aartaka.me\/lambda-6\/","pubDate":"Wed, 29 Oct 2025 14:15:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-6>Read on the website: <\/a>\n        There\u2019s data encoding in Lambda Calculus. But there are also algorithms. Recursive, usually. So let\u2019s look at how recursion works when all you have is lambdas.\n      "},{"title":"Advanced Self-Aware ed(1)","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/advanc-ed\/","guid":"https:\/\/aartaka.me\/advanc-ed\/","pubDate":"Wed, 22 Oct 2025 02:30:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/advanc-ed>Read on the website: <\/a>\n        ed(1) is a versatile programming system. Yet no one talks about metaprogramming and algorithms in it. Now someone did, and that\u2019s me!\n      "},{"title":"Line-based Lisp Editing","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lisp-lines\/","guid":"https:\/\/aartaka.me\/lisp-lines\/","pubDate":"Mon, 13 Oct 2025 20:40:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lisp-lines>Read on the website: <\/a>\n        Not all environments have Lisp-aware structural editing.  Some are only line-oriented. How does one go about editing Lisp line-by-line?\n      "},{"title":"Functional Threading \u201cMacros\u201d","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/threading\/","guid":"https:\/\/aartaka.me\/threading\/","pubDate":"Sun, 5 Oct 2025 06:15:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/threading>Read on the website: <\/a>\n        Threading macros make Lisp-family languages much more readable. Other languages too, potentially! Except\u2026 other languages don\u2019t have macros. How do we go about enabling threading \u201cmacros\u201d there?\n      "},{"title":"Just Let Me Select Text","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/select-text\/","guid":"https:\/\/aartaka.me\/select-text\/","pubDate":"Wed, 24 Sep 2025 00:35:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/select-text>Read on the website: <\/a>\n        Text is a universal medium. And yet we try to prevent users of our UIs from using it. Let\u2019s not.\n      "},{"title":"My ed(1) Toolbox","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/my-ed\/","guid":"https:\/\/aartaka.me\/my-ed\/","pubDate":"Tue, 9 Sep 2025 20:05:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/my-ed>Read on the website: <\/a>\n        I am an ed(1) fan. Naturally, I have a lot of scripts and implementations handy. Here are some.\n      "},{"title":"Customizing Lisp REPLs","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/customize-repl\/","guid":"https:\/\/aartaka.me\/customize-repl\/","pubDate":"Mon, 18 Aug 2025 02:45:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/customize-repl>Read on the website: <\/a>\n        Lisp REPLs are a good tool, but some consider it too rigid. Which leads to abundance of proxy REPLs. Except\u2026 you don\u2019t need them!\n      "},{"title":"Just Don\u2019t","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/just\/","guid":"https:\/\/aartaka.me\/just\/","pubDate":"Wed, 6 Aug 2025 00:20:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/just>Read on the website: <\/a>\n        Just stop artificially restricting yourself to bad software.\n      "},{"title":"Plaintext Email Formatting","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/email-formatting\/","guid":"https:\/\/aartaka.me\/email-formatting\/","pubDate":"Tue, 22 Jul 2025 00:05:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/email-formatting>Read on the website: <\/a>\n        Plaintext emails are slowly becoming an artifact of the past. Still, there\u2019s a lot interesting things about plaintext emails. Including... plaintext-only formatting!\n      "},{"title":"Why I Am Stupid","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/stupid\/","guid":"https:\/\/aartaka.me\/stupid\/","pubDate":"Tue, 8 Jul 2025 18:25:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/stupid>Read on the website: <\/a>\n        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!\n      "},{"title":"Lisp Logical Pathnames","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/logical-pathnames\/","guid":"https:\/\/aartaka.me\/logical-pathnames\/","pubDate":"Thu, 26 Jun 2025 02:15:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/logical-pathnames>Read on the website: <\/a>\n        Logical pathnames are both a useful and obscure feature of Common Lisp. Here I\u2019m trying to figure them out.\n      "},{"title":"Lost Computation","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lost-compute\/","guid":"https:\/\/aartaka.me\/lost-compute\/","pubDate":"Wed, 11 Jun 2025 22:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lost-compute>Read on the website: <\/a>\n        We keep losing context and computation when running programs. But we don't have to. Let\u2019s see how this lost compute can be avoided.\n      "},{"title":"Explanations, not Algorithms","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/explanations\/","guid":"https:\/\/aartaka.me\/explanations\/","pubDate":"Tue, 27 May 2025 19:40:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/explanations>Read on the website: <\/a>\n        Algorithms are all the rage in tech. And yet, they are useless unless you use them as black boxes. Better disseminate explanations\u2014they are much more understandable and reproducible.\n      "},{"title":"Making Sense of Lambda Calculus 5: Bring Computation to (Aggregate) Data","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-5\/","guid":"https:\/\/aartaka.me\/lambda-5\/","pubDate":"Thu, 15 May 2025 21:45:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-5>Read on the website: <\/a>\n        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.\n      "},{"title":"Transparent UIs","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/transparent-ui\/","guid":"https:\/\/aartaka.me\/transparent-ui\/","pubDate":"Mon, 5 May 2025 20:13:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/transparent-ui>Read on the website: <\/a>\n        As GUI complexity grows, transparency plummets. Any way to fix that?\n      "},{"title":"Designing the Language by Cutting Corners","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/cutting-corners\/","guid":"https:\/\/aartaka.me\/cutting-corners\/","pubDate":"Tue, 29 Apr 2025 21:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/cutting-corners>Read on the website: <\/a>\n        Designing programming languages is hard. But does it have to be this way?\n      "},{"title":"Some Things Have To Be Ugly","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/ugly-things\/","guid":"https:\/\/aartaka.me\/ugly-things\/","pubDate":"Tue, 8 Apr 2025 22:55:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/ugly-things>Read on the website: <\/a>\n        Embrace ugly code. Maintain ugly code. Write ugly code.\n      "},{"title":"Uncovering Tarot Biases with Simple NLP","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/tarot-biases\/","guid":"https:\/\/aartaka.me\/tarot-biases\/","pubDate":"Mon, 31 Mar 2025 00:30:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/tarot-biases>Read on the website: <\/a>\n        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.\n      "},{"title":"LLMs, But Only Because Your Tech SUCKS","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/llms-suck\/","guid":"https:\/\/aartaka.me\/llms-suck\/","pubDate":"Sun, 23 Mar 2025 20:15:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/llms-suck>Read on the website: <\/a>\n        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.\n      "},{"title":"Making Sense of Lambda Calculus 4: Applicative vs. Normal Order","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-4\/","guid":"https:\/\/aartaka.me\/lambda-4\/","pubDate":"Tue, 18 Mar 2025 02:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-4>Read on the website: <\/a>\n        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.\n      "},{"title":"How I Write Generics","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/my-generics\/","guid":"https:\/\/aartaka.me\/my-generics\/","pubDate":"Sun, 9 Mar 2025 03:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/my-generics>Read on the website: <\/a>\n        With great generic functions comes great responsibility of making them readable and maintainable.\n      "},{"title":"Postmodern Front-end","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/postmodern-front-end\/","guid":"https:\/\/aartaka.me\/postmodern-front-end\/","pubDate":"Thu, 27 Feb 2025 00:20:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/postmodern-front-end>Read on the website: <\/a>\n        or just use CSS lol.\n        Slides for the seminar I gave at work regarding modern CSS niceties.\n        Deprecating a whole class of \"modern\" front-end practices\/technologies.\n      "},{"title":"CSS-only Syntax Highlighting","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/css-only-highlight\/","guid":"https:\/\/aartaka.me\/css-only-highlight\/","pubDate":"Wed, 19 Feb 2025 00:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/css-only-highlight>Read on the website: <\/a>\n        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?\n      "},{"title":"Tarot 3.2","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/tarot\/","guid":"https:\/\/aartaka.me\/tarot\/","pubDate":"Mon, 3 Feb 2025 01:20:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/tarot>Read on the website: <\/a>\n        Tarot is a nice thing, but most websites about it are a pain to use. So I made my own, in HTML 3.2!\n      "},{"title":"All Lisp Indentation Schemes Are Ugly","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lisp-indent","guid":"https:\/\/aartaka.me\/lisp-indent","pubDate":"Sun, 19 Jan 2025 16:50:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lisp-indent>Read on the website: <\/a>\n        Indentation styles are a hot topic in every language. So let's see how Lisps do indentation!\n      "},{"title":"Customizing ed(1)","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/customize-ed","guid":"https:\/\/aartaka.me\/customize-ed","pubDate":"Sat, 28 Dec 2024 21:20:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/customize-ed>Read on the website: <\/a>\n        ed is too simple to be customizable, right? Maybe it is not customizable, but the environment around it is!\n      "},{"title":"Codeberg Pages with SSL and Custom Domain","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/codeberg-pages","guid":"https:\/\/aartaka.me\/codeberg-pages","pubDate":"Sun, 22 Dec 2024 07:20:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/codeberg-pages>Read on the website: <\/a>\n        Moving from Gitlab Pages to Codeberg Pages. There are some difficulties, but nothing impossible. Here's what I did.\n      "},{"title":"Procnames Start Lines. But Why?","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/procnames","guid":"https:\/\/aartaka.me\/procnames","pubDate":"Sat, 21 Dec 2024 00:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/procnames>Read on the website: <\/a>\n        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.\n      "},{"title":"Using ed(1) as My Static Site Generator","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/this-post-is-ed","guid":"https:\/\/aartaka.me\/this-post-is-ed","pubDate":"Wed, 11 Dec 2024 11:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/this-post-is-ed>Read on the website: <\/a>\n        You can tell I'm an ed fan. Not only do I use it for esoteric challenges or compiler building, it also is my new SSG (Static Site Generator.) So here's how it works:\n      "},{"title":"Three Minutes Writing","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/3mins","guid":"https:\/\/aartaka.me\/3mins","pubDate":"Sun, 1 Dec 2024 11:55:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/3mins>Read on the website: <\/a>\n        We're all suffering with attention deficit. So let's finally write like we do.\n      "},{"title":"Generating This Post Without LLMs","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/generated","guid":"https:\/\/aartaka.me\/generated","pubDate":"Tue, 26 Nov 2024 21:35:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/generated>Read on the website: <\/a>\n        Text generation was a lot of fun before ChatGPT\u2014it was chaotic and deranged. I written this post using the old text generation techniques. You'll like how absurd it turned out, I promise!\n      "},{"title":"Printf Is Useless","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/printf","guid":"https:\/\/aartaka.me\/printf","pubDate":"Sun, 17 Nov 2024 21:25:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/printf>Read on the website: <\/a>\n        Printf (and the derivatives every language has) are a bane that should only be tolerated when printing floats. Otherwise, I beg you, use string interpolation or structured output.\n      "},{"title":"s\/sed\/ed","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/sed-ed","guid":"https:\/\/aartaka.me\/sed-ed","pubDate":"Wed, 13 Nov 2024 1:47:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/sed-ed>Read on the website: <\/a>\n        ed is a stupid simple text editor. sed is a nice streaming text processing tool. Why would one even want to use ed for anything, let alone for text processing if there's sed?\n      "},{"title":"5 (Wrong) Regex To Parse Parentheses","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/paren-regex","guid":"https:\/\/aartaka.me\/paren-regex","pubDate":"Sun, 3 Nov 2024 19:10:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/paren-regex>Read on the website: <\/a>\n        Regex are powerful. To the point you may try to parse HTML or Lisp with it. A doomed enterprise, right? But it's possible, actually.\n\n      "},{"title":"Parameterized Procedures for Testing, Mocking, Plumbing","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/parameterized","guid":"https:\/\/aartaka.me\/parameterized","pubDate":"Fri, 25 Oct 2024 19:45:00 +0400","description":" <a href=https:\/\/aartaka.me\/parameterized>Read on the website: <\/a>\n      It's often the case that a functional (Scheme?) codebase needs to plug something into the computation. Here's one way to do that with almost no syntactic overhead.\n      "},{"title":"C Until It Is No Longer C","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/c-not-c","guid":"https:\/\/aartaka.me\/c-not-c","pubDate":"Mon, 23 Sep 2024 23:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/c-not-c>Read on the website: <\/a>\n        Get horrified by how pretty I'm making my C code!\n      "},{"title":"There Is No Such Thing As The Regex","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/the-regex","guid":"https:\/\/aartaka.me\/the-regex","pubDate":"Wed, 11 Sep 2024 22:50:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/the-regex>Read on the website: <\/a>\n        Regular expressions seem to be quite coherent, right? This scary (.*[^}(]) symbol soup that only the select few can master. Except that there are at least half a dozen (slightly incompatible) varieties of this soup. Bon App\u00e9tit!\n      "},{"title":"A's Commit Messages Guide: Location, Action, Rationale","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/commitmsg","guid":"https:\/\/aartaka.me\/commitmsg","pubDate":"Sun, 01 Sep 2024 17:30:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/commitmsg>Read on the website: <\/a>\n        Commit messages are the critical thing you stare at often enough. So better make them informational and readable.\n      "},{"title":"I Am Not an AI\u2014My Writing Is Terible","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/not-ai","guid":"https:\/\/aartaka.me\/not-ai","pubDate":"Tue, 27 Aug 2024 19:30:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/not-ai>Read on the website: <\/a>\n        My writing is imperfect. \"AI\" could help. But, you know, I no longer want to hide myself. My terible writing is the only things that differentiates me from the sterile AI slop you find everywhere now.\n      "},{"title":"Explaining Wisp Without Parentheses","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/wisp","guid":"https:\/\/aartaka.me\/wisp","pubDate":"Mon, 19 Aug 2024 23:22:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/wisp>Read on the website: <\/a>\n        Wisp is an indentation-sensitive syntax for Scheme. Its semantics are defined in terms of nested parentheses, though. But what if it was defined in other terms?\n      "},{"title":"Disroot Custom Domain Email Gotcha: Do Not Change the Settings!","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/disroot-gotcha","guid":"https:\/\/aartaka.me\/disroot-gotcha","pubDate":"Wed, 31 Jul 2024 18:23:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/disroot-gotcha>Read on the website: <\/a>\n        I'm a happy Disroot custom domain email user now! Here's a small tip that helped me set things up after linking.\n      "},{"title":"I Want My Scrollbar Back (A 2-Minute Read)","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/scrollbar","guid":"https:\/\/aartaka.me\/scrollbar","pubDate":"Fri, 12 Jul 2024 12:45:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/scrollbar>Read on the website: <\/a>\n        The modern web is empowered by dynamic content loading. The modern reading is impoverished by it.\n      "},{"title":"Prose vs. Tweet: How We Tell Stories","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/prose-vs-tweet","guid":"https:\/\/aartaka.me\/prose-vs-tweet","pubDate":"Fri, 21 Jun 2024 20:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/prose-vs-tweet>Read on the website: <\/a>\n        We always told stories. We always will. Though our stories fit into 140 chars now, which is both a blessing and a curse.\n      "},{"title":"Making Sense of Lambda Calculus 3: Truth or Dare With Booleans","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-3","guid":"https:\/\/aartaka.me\/lambda-3","pubDate":"Wed, 12 Jun 2024 17:12:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-3>Read on the website: <\/a>\n        Booleans are simple and elegant in Lambda Calculus, but they take some getting used to. This post tries to explain LC booleans to at least myself.\n      "},{"title":"Gemtext Is Not Accessible","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/gmi-a11y","guid":"https:\/\/aartaka.me\/gmi-a11y","pubDate":"Tue, 4 Jun 2024 23:47:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/gmi-a11y>Read on the website: <\/a>\n        Gemtext is a minimalist markup\/hypertext format initially from Gemini network. It's intended to be a lightweight, easy to learn, and accessible language... But at least the latter is not true with the current state of things.\n      "},{"title":"Common Lisp Is Not a Single Language, It Is Lots","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/cl-is-lots","guid":"https:\/\/aartaka.me\/cl-is-lots","pubDate":"Thu, 23 May 2024 14:25:00 +0400","description":" <a href=https:\/\/aartaka.me\/cl-is-lots>Read on the website: <\/a>\n      Lisp is an ambiguous category. But Common Lisp isn't, right? It's a restricted self-sufficient language, after all.\n      "},{"title":"Making Sense of Lambda Calculus 2: Numerous Quirks of Numbers","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-2","guid":"https:\/\/aartaka.me\/lambda-2","pubDate":"Fri, 10 May 2024 19:22:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-2>Read on the website: <\/a>\n        Lambda Calculus is extremely elegant, including in how it handles numbers. But this elegance often comes at the cost of understandability. This post goes through examples of arithmetics in Lambda Calculus to understand how they work.\n      "},{"title":"Guile Optimization Gotchas: There Is No Free Beer, Only Cheap","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/guile-optimization","guid":"https:\/\/aartaka.me\/guile-optimization","pubDate":"Tue, 23 Apr 2024 21:46:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/guile-optimization>Read on the website: <\/a>\n        Optimizing Guile Scheme is not always obvious. This post is a collection of takeaways from optimizing a heavily numeric piece of code.\n      "},{"title":"Object-Oriented C: A Primer","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/oop-c","guid":"https:\/\/aartaka.me\/oop-c","pubDate":"Mon, 8 Apr 2024 01:19:20 +0400","description":"\n        <a href=https:\/\/aartaka.me\/oop-c>Read on the website: <\/a>\n        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.\n      "},{"title":"Falsehoods Programmers Believe About HTML","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/falsehoods-html","guid":"https:\/\/aartaka.me\/falsehoods-html","pubDate":"Fri, 29 Mar 2024 20:47:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/falsehoods-html>Read on the website: <\/a>\n        There are many things programmers believe about HTML that are not necessarily true. Here're some.\n      "},{"title":"Text UIs != Terminal UIs","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/tui-not-tui","guid":"https:\/\/aartaka.me\/tui-not-tui","pubDate":"Fri, 1 Mar 2024 23:00:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/tui-not-tui>Read on the website: <\/a>\n        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'\u2014by their real name. Reserving 'text' for more appropriate conversational UIs.\n      "},{"title":"Moving From Nyxt To Surf","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/nyxt-to-surf","guid":"https:\/\/aartaka.me\/nyxt-to-surf","pubDate":"Wed, 14 Feb 2024 19:22:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/nyxt-to-surf>Read on the website: <\/a>\n        I switched to Surf because of habit switch from distracted kitchen sinks to focused app-like web browsing.\n      "},{"title":"Lisp Design Patterns","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lisp-design-patterns","guid":"https:\/\/aartaka.me\/lisp-design-patterns","pubDate":"Thu, 25 Jan 2024 23:04:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lisp-design-patterns>Read on the website: <\/a>\n        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.\n      "},{"title":"Regex Pronouns?","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/regex-pronouns","guid":"https:\/\/aartaka.me\/regex-pronouns","pubDate":"Sat, 12 Dec 2023 19:23:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/regex-pronouns>Read on the website: <\/a>\n        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!\n      "},{"title":"Making Sense of Lambda Calculus 1: Ignorant, Lazy, and Greedy Evaluation","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-1","guid":"https:\/\/aartaka.me\/lambda-1","pubDate":"Sat, 30 Dec 2023 22:38:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-1>Read on the website: <\/a>\n        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.\n      "},{"title":"What Writing 2K+ Lines of Brainfuck Taught Me","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/brainfuck-lessons","guid":"https:\/\/aartaka.me\/brainfuck-lessons","pubDate":"Thu, 21 Dec 2023 18:12:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/brainfuck-lessons>Read on the website: <\/a>\n        I am a Brainfuck programmer. I made some projects that caused me immence pai... joy. I learned something from these, and you can too!\n      "},{"title":"Making Sense of Lambda Calculus 0: Abstration, Reduction, Substitution?","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/lambda-0","guid":"https:\/\/aartaka.me\/lambda-0","pubDate":"Wed, 20 Dec 2023 00:19:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/lambda-0>Read on the website: <\/a>\n        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.\n      "},{"title":"I Generated This Post With C Preprocessor","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/this-post-is-cpp","guid":"https:\/\/aartaka.me\/this-post-is-cpp","pubDate":"Sun, 3 Dec 2023 21:39:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/this-post-is-cpp>Read on the website: <\/a>\n        Yes, you can use C preprocessor as a website generator.\n      "},{"title":"Making C Code Prettier","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/making-c-prettier","guid":"https:\/\/aartaka.me\/making-c-prettier","pubDate":"Sat, 25 Nov 2023 18:03:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/making-c-prettier>Read on the website: <\/a>\n        C code might be ugly at times. But it can also be pretty! Here are some features and snippets with pretty C code.\n      "},{"title":"Making C Code Uglier","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/making-c-uglier","guid":"https:\/\/aartaka.me\/making-c-uglier","pubDate":"Sat, 4 Nov 2023 22:14:42 +0400","description":"\n        <a href=https:\/\/aartaka.me\/making-c-uglier>Read on the website: <\/a>\n        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!\n      "},{"title":"Write Hypertext, not Plaintext","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/hypertext","guid":"https:\/\/aartaka.me\/hypertext","pubDate":"Mon, 4 Sep 2023 23:41:29 +0400","description":"\n        <a href=https:\/\/aartaka.me\/hypertext>Read on the website: <\/a>\n        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.\n      "},{"title":"Digital Bum: Finding a Home\/lessness on the Internet","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/digital-bum","guid":"https:\/\/aartaka.me\/digital-bum","pubDate":"Sat, 29 Jul 2023 17:13:00 +0400","description":"\n        <a href=https:\/\/aartaka.me\/digital-bum>Read on the website: <\/a>\n        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?\n      "},{"title":"This Post is Written in Lisp","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/this-post-is-lisp","guid":"https:\/\/aartaka.me\/this-post-is-lisp","pubDate":"Fri, 7 Jul 2023 23:23:05 +0400","description":"\n        <a href=https:\/\/aartaka.me\/this-post-is-lisp>Read on the website: <\/a>\n        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\u2014then why not try it? \ud83d\ude09\n      "},{"title":"Designing for Exploitation: How Meta-Programming Leads to Safer Code","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/design-for-exploitation","guid":"https:\/\/aartaka.me\/design-for-exploitation","pubDate":"Wed, 14 Sep 2022 22:06:14 +0400","description":"\n        <a href=https:\/\/aartaka.me\/design-for-exploitation>Read on the website: <\/a>\n        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.\n      "},{"title":"Tripod, the restrictively productive blog engine","author":"rss@aartaka.me (Artyom Bologov)","link":"https:\/\/aartaka.me\/tripod","guid":"https:\/\/aartaka.me\/tripod","pubDate":"Sun, 4 Sep 2022 13:55:59 +0400","description":"\n        <a href=https:\/\/aartaka.me\/tripod>Read on the website: <\/a>\n        Okay, so you want to have your blog backed by a good blog engine?\n      "}]}}