.TH principles 7 .SH NAME principles \- My Blog Principles .SH AUTHOR Artyom Bologov .SH SYNOPSIS There’s a bunch of guiding principles I follow when blogging to ensure what I do is kind to others. Here are some. .SH TEXT .P So over my (relatively) long blogging journey I’ve accumulated some crust of principles. Ensuring that what I’m doing is kind and useful to people. This led to some decisions. Including ones that make my own blog maintenance slightly harder. But I’m ready to suffer if this brings something good to others. Here are things I formulated that must be true for my blog: .SH Accessibility .P .P * Posts should be easily readable even to the \fBstupid (7)\fP silly people like me. .P * \fB3mins (7)\fP Shorter is better. .P * More (shorter) sections are better for reading. .P * Color contrast between background and foreground, and between these and accent color—should be decent, close to WCAG AA (4.5 ratio.) .P * Colors should be minimal and soft. .P * Large font (\fBfont-size: large;\fP) by default. .P * Everything should be dark mode (\fBprefers-color-scheme: dark\fP) friendly. Including the pictures, made in two versions—light and dark. .P * But dark mode should be togglable for those with arbitrary system settings. .UR https://codeberg.org/aartaka/pages/commit/fca12d4 I’ve only implemented it recently .UE . .P * .UR https://vispero.com/resources/screen-readers-support-for-text-level-html-semantics Emphasis and other text-level elements .UE should be avoided. Because they are don’t bear much meaning and are too noisy. .P * HTML should be semantic and .UR https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA#before_using_aria stick to built-in elements unless absolutely necessary .UE . .P * Most posts should be readable in all supported formats: HTML, .txt, Manpage, and LaTeX. .P * Exception: highly interactive pages / with forms. \fBkaktovik (7)\fP Like this Kaktovik numerals post. \fBcv (7)\fP Or my HTML-only CV (go hire me!). .P * .UR https://sembr.org Semantic linebreaks .UE in source for easier editing and reading. .P * Sentences—or clauses, rather—should have less than 80 chars in them, because longer sentences are harder to read. .SH Cultural / Linguistic .P .P * No “AI” for post polishing and writing. \fBnot-ai (7)\fP I want to stay human. .P * Do projects and writing in public, unless otherwise necessary. .UR https://codeberg.org/aartaka/pages This website build and content is fully public on Codeberg .UE . So you can easily snoop on my activities and preview drafts there. .P * Use an open license (Creative Commons as of April 2026) for the content. .P * they/them as the “default” pronouns. .P * English is the preferred language, followed by Interslavic, and only then by Russian. So far, I only have one post in Interslavic and ~80 in English. Based on this trend, you’re unlikely to see Russian posts in the next couple of years. .P * Because Russian is an imperial language forced onto many people to this day. .P * English is imperial too, but it’s slightly more neutral .P * Also because of accessibility to the widest possible audience. .P * Use smart curly quotes and apostrophes for English and angle quotes for Slavic languages. .P * Use classic punctuation (punctuation is put before quotes and parentheses!) for English and .UR https://slate.com/human-interest/2011/05/logical-punctuation-should-we-start-placing-commas-outside-quotation-marks.html logical punctuation .UE for Slavic languages. .P * .UR https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a#strong_link_text Make link text a good indicator of where it leads .UE . .SH Technical .P * .UR https://jeffhuang.com/designed_to_last Designed To Last .UE . .P * \fBhypertext (7)\fP Hypertext first. .P * \fBmarkdown (7)\fP No Markdown. \fBpidgin (7)\fP Only Pidgin HTML. .P * JavaScript should only be used when direly necessary. If it’s used, it should only progressively enhance the page. .P * My code should never block one from engaging with the post with JS off. .P * CSS should be minimal and Widely Available as per Baseline. .P * In case it’s not Baseline, it should only be used when progressively enhancing the page. .P * .UR https://developer.mozilla.org/en-US/docs/Glossary/Graceful_degradation Gracefully degrade .UE if both of the previous points fail. .P * The site should be reasonably static and all the generation load should be offloaded to a machine I own and not to the user. .P * \fBthis-post-is-ed (7)\fP Right now, it’s all built on my laptop with ed(1). .P * The tech used in building the site should be standard, portable, and non-vendor-locked. Which means: HTML, CSS, vanilla JS (no frameworks,) Lisp, C, and ed(1) .P * There’s preferably no machine I manage in site deployment. \fBdigital-bum (7)\fP As per Digital Bum manifesto. \fBcodeberg-pages (7)\fP Right now, it’s all Codeberg Pages. .P * Size of the page and assets should be ruthlessly optimized for those on slow connection. .P * Images are generated as lazy by default. .P * And compressed as much as possible. .P * No analytics. .P * No CDNs—all content is shipped with the site. Safer and more reliable this way. .SH COPYRIGHT .UR https://creativecommons.org/licenses/by/4.0 CC-BY 4.0 .UE 2022-2026 by Artyom Bologov (aartaka,) .UR https://codeberg.org/aartaka/pages/commit/a91befa with one commit remixing Claude-generated code .UE . Any and all opinions listed here are my own and not representative of my employers; future, past and present.