https://dbohdan.com/atom.xmlDBohdan.com2026-04-15T18:51:29.368897+00:00D. Bohdanhttps://dbohdan.com/favicon.icoMy poetryhttps://dbohdan.com/poetry2026-01-12T12:00:00+00:002026-01-12T12:00:00+00:00Poetry by D. Bohdan.From Whitman to Instagram with Claudehttps://dbohdan.com/kaur2026-01-12T12:00:00+00:002026-01-12T12:00:00+00:00How I made Claude write parodies of famous elegiac poems imitating Rupi Kaur.O Collegehttps://dbohdan.com/o-college2026-01-12T12:00:00+00:002026-01-12T12:00:00+00:00A poem I wrote when I graduated.Photophobiahttps://dbohdan.com/photophobia2026-01-12T12:00:00+00:002026-01-12T12:00:00+00:00A poem about illness.AI’s writing stylehttps://dbohdan.com/ai-writing-style2026-04-02T12:00:00+00:002025-12-09T12:00:00+00:00What distinguishes AI writing, and how to identify it while you still can.Filesystem hierarchyhttps://dbohdan.com/hier2025-10-24T12:00:00+00:002025-10-24T12:00:00+00:00Bookmarks on Unix filesystem hierarchies.The Dragon Speechhttps://dbohdan.com/dragon-speech2025-10-21T12:00:00+00:002025-10-20T12:00:00+00:00A transcript of Chris Crawford's famous 1992 CGDC speech about interactive storytelling and the game industry's creative stagnation.Chris CrawfordBoxyBSDhttps://dbohdan.com/boxybsd2026-04-07T12:00:00+00:002025-09-27T12:00:00+00:00My notes on running services on BoxyBSD's IPv6-only VPS.Public keyshttps://dbohdan.com/pubkeys2025-10-24T12:00:00+00:002025-09-09T12:00:00+00:00My public keys. Currently an SSH key I use to sign software.mkcd: The missing shell shortcuthttps://dbohdan.com/mkcd2025-07-18T12:00:00+00:002025-07-13T12:00:00+00:00The command 'mkdir' is often followed by 'cd' to the same directory, suggesting 'mkcd'. I analyze my usage, look for the origin of 'mkcd', and implement it for fish.BSDhttps://dbohdan.com/bsd2025-11-01T12:00:00+00:002025-07-06T12:00:00+00:00Bookmarks about Free/Net/OpenBSD.Long-running servershttps://dbohdan.com/long-running2025-07-05T12:00:00+00:002025-07-05T12:00:00+00:00Stories about regular servers that ran for a long time without maintenance.Small utilitieshttps://dbohdan.com/small-utils2025-12-03T12:00:00+00:002025-01-14T12:00:00+00:00A collection of small command-line utilities I have written.WavPack's roundtrip advantage over FLAChttps://dbohdan.com/wavpack2025-10-20T12:00:00+00:002024-11-20T12:00:00+00:00With WavPack, WAV files decompress bit-for-bit identical. This isn't always the case with FLAC. The page shows a demonstration and answers some possible questions.Web template delimiters: a chronologyhttps://dbohdan.com/delimiters2025-10-20T12:00:00+00:002024-08-30T12:00:00+00:00A chronology of delimiters like "<?php ... ?>" used in web template systems.Developing gmi2md with Claudehttps://dbohdan.com/gmi2md2025-10-20T12:00:00+00:002024-08-14T12:00:00+00:00How I used Claude to write a markup translator.How I write Pythonhttps://dbohdan.com/python2026-04-07T12:00:00+00:002024-06-15T12:00:00+00:00My library recommendations. Resources for using static typing in Python.Rust: maybe not for rapid iterationhttps://dbohdan.com/rust-startups2025-11-07T12:00:00+00:002024-04-27T12:00:00+00:00Several companies report that Rust was poorly suited for building a new product with short feedback cycles.VariousSilencehttps://dbohdan.com/silence2024-02-02T12:00:00+00:002024-02-02T12:00:00+00:00Silence is a sign of correctness, understanding, and agreement. Discussion is a sign of the opposite.VariousProblems with complex scripting in fish shellhttps://dbohdan.com/fish-scripting2025-11-07T12:00:00+00:002024-01-28T12:00:00+00:00A critique of using the fish shell for complex scripting.About this sitehttps://dbohdan.com/about2026-03-22T12:00:00+00:002023-11-06T12:00:00+00:00The technical history, influences, and design of the website.Naming thingshttps://dbohdan.com/naming-things2025-12-07T12:00:00+00:002023-08-27T12:00:00+00:00Software projects that stand out for naming things.fcron is the best cronhttps://dbohdan.com/fcron2025-10-20T12:00:00+00:002023-08-27T12:00:00+00:00We look at the limitations of cron, examine systemd timers as an alternative, but in the end pick fcron as more user-friendly.Pandochttps://dbohdan.com/pandoc2025-01-14T12:00:00+00:002023-08-26T12:00:00+00:00How to generate Pandoc ids outside of Pandoc.Clean mount lists in Linuxhttps://dbohdan.com/clean-mount-lists2025-10-20T12:00:00+00:002023-08-26T12:00:00+00:00A solution to the problem of the growing number of mount points and loopback devices in (Ubuntu) Linux.Lord Dunsany and His Workhttps://dbohdan.com/lovecraft-on-dunsany2023-04-22T12:00:00+00:002023-04-22T12:00:00+00:00A 1922 essay by H. P. Lovecraft about one of his major influences.H. P. LovecraftSome Notes on Interplanetary Fictionhttps://dbohdan.com/lovecraft-interplanetary2023-04-22T12:00:00+00:002023-04-22T12:00:00+00:00A 1934 essay by H. P. Lovecraft.H. P. LovecraftLibraryhttps://dbohdan.com/library2025-10-20T12:00:00+00:002023-04-15T12:00:00+00:00Other people’s writing.Year 2030https://dbohdan.com/year-20302023-08-17T12:00:00+00:002023-04-15T12:00:00+00:00A high-quality copy of the cartoon and information about it.MM & TaberThe Homelab Showhttps://dbohdan.com/homelab-show2024-09-19T12:00:00+00:002023-03-24T12:00:00+00:00A review of _The Homelab Show_, a podcast about system/network administration in the home.Fixing passwd(1) broken by PAMhttps://dbohdan.com/passwd-pam-fix2023-01-29T12:00:00+00:002023-01-29T12:00:00+00:00How to detect and fix broken Unix authentication.Transformerhttps://dbohdan.com/transformer2021-08-21T12:00:00+00:002021-08-13T12:00:00+00:00Fiction about the release of “GPT-4x” with unprecedented translation capabilities.Conceptshttps://dbohdan.com/concepts2023-10-18T12:00:00+00:002021-08-09T12:00:00+00:00Useful concepts from my conceptual toolbox.Various“Don’t Make Me Think”https://dbohdan.com/0hpl-dont-make-me-think2024-12-23T12:00:00+00:002021-07-31T12:00:00+00:00A review of the short story by Zero HP Lovecraft.Simbulwinterhttps://dbohdan.com/simbulwinter2021-08-21T12:00:00+00:002021-07-25T12:00:00+00:00The revenge of GOFAI. (Flash fiction.)OpenWrthttps://dbohdan.com/openwrt2022-12-30T12:00:00+00:002021-07-16T12:00:00+00:00How to fix OoenWrt not overriding the MAC address.Social Media Nightmareshttps://dbohdan.com/social-media-nightmares2021-08-21T12:00:00+00:002021-07-08T12:00:00+00:00Cryptic fiction.“Regex” vs. “regexp”https://dbohdan.com/regex-vs-regexp2025-12-29T12:00:00+00:002021-06-24T12:00:00+00:00Which term is used more to refer to regular expressions?God-Shaped Holehttps://dbohdan.com/god-shaped-hole2024-12-23T12:00:00+00:002021-06-23T12:00:00+00:00A review of the novella by Zero HP Lovecraft.Is it “LessWrong” or “Less Wrong”?https://dbohdan.com/lw-spelling2021-07-23T12:00:00+00:002021-06-20T12:00:00+00:00A discussion on the usage of “LessWrong” and “Less Wrong” within the community and outside of it, investigating prevalence and the historical trends.Failurehttps://dbohdan.com/failure2023-11-30T12:00:00+00:002021-06-20T12:00:00+00:00A collection of links about things (nearly) going wrong.JPEG XL would be Turing-completehttps://dbohdan.com/jpeg-xl2023-10-27T12:00:00+00:002021-06-14T12:00:00+00:00You can construct the Rule 110 cellular automaton in JPEG XL.Single-file scripts that download their dependencieshttps://dbohdan.com/scripts-with-dependencies2026-04-06T12:00:00+00:002021-04-25T12:00:00+00:00An overview of ways to write single-file scripts with external dependencies in a variety of programming languages.Browser tabshttps://dbohdan.com/browser-tabs2021-05-31T12:00:00+00:002021-03-29T12:00:00+00:00A parallel between browser tab management and memory management.“Choice, Consequence and Complicity”https://dbohdan.com/choice-consequence-complicity2021-08-21T12:00:00+00:002021-03-07T12:00:00+00:00Notes for the 2016 GDC Talk by Alexis Kennedy, the creator of _Fallen London_.Jonathan Blow on game designhttps://dbohdan.com/jonathan-blow2025-10-20T12:00:00+00:002021-02-28T12:00:00+00:00Notes for the 2011 lecture “Video Games and the Human Condition” and the 2013 lecture “Game design: the medium is the message”.“On the Origin of Posers”https://dbohdan.com/origin-of-posers2021-08-21T12:00:00+00:002021-02-28T12:00:00+00:00Reading notes for a post by Hotel Concierge.Nonviolent Communicationhttps://dbohdan.com/nonviolent-communication2021-07-23T12:00:00+00:002021-02-28T12:00:00+00:00Some concepts from Nonviolent Communication“The art of destroying software”https://dbohdan.com/art-of-destroying-software2025-10-21T12:00:00+00:002021-02-28T12:00:00+00:00My notes and transcript for the talk “The art of destroying software” by Greg Young: “optimize for deletion”.Apocalypse Now Reduxhttps://dbohdan.com/apocalypse-now2021-08-21T12:00:00+00:002021-02-28T12:00:00+00:00Apocalypse Now Redux is a classic adventure narrative.Emotion and representation in level designhttps://dbohdan.com/emotion-in-level-design2026-01-18T12:00:00+00:002021-02-28T12:00:00+00:00A summary of the comparison between id Software and Build Engine games in an episode of _Errant Signal_.Homestuckhttps://dbohdan.com/homestuck2021-08-21T12:00:00+00:002021-02-28T12:00:00+00:00A couple of links to literary analyses of _Homestuck_.“CODASYL Data-Base Management Systems”https://dbohdan.com/codasyl2021-08-21T12:00:00+00:002021-02-28T12:00:00+00:00Reading notes for the 1976 tutorial paper by Robert W. Taylor and Randall L. Frank on the network database CODASYL.Dangerous Cornerhttps://dbohdan.com/dangerous-corner2021-08-21T12:00:00+00:002021-02-28T12:00:00+00:00A relationship chart for a Soviet adaptation of the J. B. Priestley play.“Designing Episode’s Interactive Fiction in Three Phases”https://dbohdan.com/episode-interactive-fiction2021-08-21T12:00:00+00:002021-02-27T12:00:00+00:00An outline of a polarizing GDC talk by Michael Dawson.Your Mommy Kills Animalshttps://dbohdan.com/your-mommy-kills-animals2021-08-21T12:00:00+00:002021-02-27T12:00:00+00:00A review of the documentary about animal rights activists.The Art of Interactive Designhttps://dbohdan.com/art-of-interactive-design2025-10-20T12:00:00+00:002021-02-27T12:00:00+00:00Reading notes for the book _The Art of Interactive Design_ by Chris Crawford.Behind the Curvehttps://dbohdan.com/behind-the-curve2021-08-21T12:00:00+00:002021-02-27T12:00:00+00:00A review of _Behind the Curve_, a documentary about modern flat-Earthers.Zero to Onehttps://dbohdan.com/zero-to-one2021-08-21T12:00:00+00:002021-02-27T12:00:00+00:00Brief notes on Peter Thiel’s book.Nick Land on AI alignmenthttps://dbohdan.com/nick-land-on-ai-alignment2023-04-26T12:00:00+00:002021-02-09T12:00:00+00:00A summary of what Nick Land believes about AI confirmed with Land.Unix command queueshttps://dbohdan.com/command-queues2021-01-27T12:00:00+00:002021-01-27T12:00:00+00:00Command-line queue tools you can use on *nix systems.Converting WMF (Windows Metafile) images to SVGhttps://dbohdan.com/converting-wmf2023-03-20T12:00:00+00:002021-01-07T12:00:00+00:00How I converted a large number of WMF (Windows Metafile) images to the SVG format.Ditheringhttps://dbohdan.com/dithering2026-01-22T12:00:00+00:002021-01-04T12:00:00+00:00Links on the art and algorithm of dithering.Translationshttps://dbohdan.com/translations2021-07-23T12:00:00+00:002020-12-25T12:00:00+00:00Some English translations I have made.Why don’t rationalists win more?https://dbohdan.com/rationalists-winning2025-06-24T12:00:00+00:002020-12-25T12:00:00+00:00An outline of a presentation.How to have thumbnails in file dialogs in certain GTK applicationshttps://dbohdan.com/gtk-dialog-thumbnails2024-02-20T12:00:00+00:002020-12-21T12:00:00+00:00Step-by-step instructions.Caddy server recipeshttps://dbohdan.com/caddy2025-12-03T12:00:00+00:002020-12-16T12:00:00+00:00How to do things with the Caddy HTTP server.X is not about Yhttps://dbohdan.com/x-is-not-about-y2021-07-23T12:00:00+00:002020-12-12T12:00:00+00:00Links to essays following the pattern “X is not about Y”.Deception in depthhttps://dbohdan.com/deception-in-depth2021-08-21T12:00:00+00:002020-12-09T12:00:00+00:00A quote describing a fake mind-reading act from a paper by Jay A. Olson and Amir Raz.Jay A. OlsonAmir RazMy fictionhttps://dbohdan.com/fiction2021-08-21T12:00:00+00:002020-12-07T12:00:00+00:00Fiction by D. Bohdan.Pivothttps://dbohdan.com/pivot2021-08-21T12:00:00+00:002020-12-07T12:00:00+00:00Flash fiction about reducing AI risk.OOP illustrations from Microsoft Visual FoxPro 6.0: Programmer’s Guidehttps://dbohdan.com/foxpro2026-01-15T12:00:00+00:002020-11-28T12:00:00+00:00OOP illustrated with telephones.MicrosoftQuoteshttps://dbohdan.com/quotes2026-02-21T12:00:00+00:002020-11-24T12:00:00+00:00A collection of quotes on various topics.VariousEpigramshttps://dbohdan.com/epigrams2025-05-10T12:00:00+00:002020-11-19T12:00:00+00:00Quips.My setuphttps://dbohdan.com/setup2025-10-20T12:00:00+00:002020-11-03T12:00:00+00:00How I use my computers.Laws of organizations and projectshttps://dbohdan.com/laws2021-08-10T12:00:00+00:002020-10-17T12:00:00+00:00A compilation of adages and heuristics related to organizations and project management.Tags should take argumentshttps://dbohdan.com/tags-with-arguments2025-10-20T12:00:00+00:002020-10-16T12:00:00+00:00Content tags that take arguments enable nuanced categorization and complex queries.H. P. Lovecrafthttps://dbohdan.com/lovecraft2024-04-05T12:00:00+00:002020-10-08T12:00:00+00:00Links to works by and about H. P. Lovecraft.Line breaks in twtxthttps://dbohdan.com/twtxt-line-breaks2023-01-01T12:00:00+00:002020-10-06T12:00:00+00:00A proposal for how to introduce line breaks in twtxt statuses with backward compatibility and minimal friction.What comes to define a mediumhttps://dbohdan.com/media-signatures2020-12-04T12:00:00+00:002020-10-02T12:00:00+00:00A quote by Brain Eno describing how the flaws of a new medium become its defining characteristics.Brain EnoSix-word storieshttps://dbohdan.com/six-word-stories2021-08-21T12:00:00+00:002020-10-02T12:00:00+00:00Where to read six-word stories, including mine.Dracula was futuristichttps://dbohdan.com/dracula2021-08-21T12:00:00+00:002020-09-29T12:00:00+00:00A quote of a comment by usrusr describing how the novel _Dracula_ “already has everything that steampunk can be”.usrusrThe Ultimate in Garbage Collectionhttps://dbohdan.com/ultimate-gc2024-02-19T12:00:00+00:002020-09-29T12:00:00+00:00A comp.lang.ada Usenet post by Kent Mitchell.Kent MitchellHacks and true stories of computinghttps://dbohdan.com/hack-stories2025-08-12T12:00:00+00:002020-09-29T12:00:00+00:00A collection of links to hacker lore.Goethe’s Poems translated by Paul Dyrsenhttps://dbohdan.com/goethe2021-08-21T12:00:00+00:002020-09-28T12:00:00+00:00Information about a lesser-known book of English translations of Goethe, including Paul Dyrsen’s version of “The Sorcerer’s Apprentice”.GoethePaul DyrsenChrontendo episode guidehttps://dbohdan.com/chrontendo2024-08-28T12:00:00+00:002020-09-24T12:00:00+00:00What games are presented in what episodes.Nate LawrenceD. BohdanMusic recommendationshttps://dbohdan.com/music-recs2026-04-10T12:00:00+00:002020-08-22T12:00:00+00:00Listen to some music I like.Nabokov on his internal monologuehttps://dbohdan.com/nabokov2024-12-23T12:00:00+00:002020-08-14T12:00:00+00:00“I don’t think in any language. I think in images.”Vladimir NabokovReading notes and reviewshttps://dbohdan.com/notes2025-05-10T12:00:00+00:002020-07-25T12:00:00+00:00The index of my notes on media and media review.The Denial of Deathhttps://dbohdan.com/denial-of-death2021-08-21T12:00:00+00:002020-07-25T12:00:00+00:00A summary of the book.Classifying game mechanics and types of playhttps://dbohdan.com/game-mechanics2021-02-28T12:00:00+00:002020-06-11T12:00:00+00:00A collection of links about games.Self-hosted PaaShttps://dbohdan.com/self-hosted-paas2025-12-04T12:00:00+00:002020-06-10T12:00:00+00:00A comparison of self-hosted PaaS software (alternatives to Heroku) focused on smaller, simpler projects without Kubernetes.Consciousnesshttps://dbohdan.com/consciousness2021-07-23T12:00:00+00:002020-05-17T12:00:00+00:00Links to posts and papers about consciousness.Better data compressorshttps://dbohdan.com/compressors2024-12-24T12:00:00+00:002020-05-03T12:00:00+00:00Some advantages of Long Range Zip and Zstandard and a shell script for evaluating compressors.Procedural generationhttps://dbohdan.com/procgen2025-08-10T12:00:00+00:002020-04-19T12:00:00+00:00A curated collection of bookmarks covering various aspects of procedural generation, including 3D modeles, cities, and textures.Databaseshttps://dbohdan.com/databases2025-10-20T12:00:00+00:002020-04-17T12:00:00+00:00Some bookmarks about databases.Organizing informationhttps://dbohdan.com/organizing-information2024-02-18T12:00:00+00:002020-04-17T12:00:00+00:00A compilation of writings and software options for organizing information, including an associative, spatial, and tag-based approach.Tsutomu Niheihttps://dbohdan.com/nihei2024-01-31T12:00:00+00:002020-04-14T12:00:00+00:00Links about _Blame!_: works that inspired it and were inspired by it.Dynamics of online communitieshttps://dbohdan.com/online-communities2026-03-22T12:00:00+00:002020-04-14T12:00:00+00:00A collection of links to essays about the social dynamics of online communities.Games that use standard GUI widgetshttps://dbohdan.com/gui-games2025-12-27T12:00:00+00:002020-04-08T12:00:00+00:00A collection of screenshots of computer games that look like their operating system.VariousFiction recommendationshttps://dbohdan.com/fiction-recs2025-12-06T12:00:00+00:002020-04-07T12:00:00+00:00A collection of links to fiction you can read on the Internet.Old bloghttps://dbohdan.com/old-blog2023-01-06T12:00:00+00:002020-04-05T12:00:00+00:00The index of posts from my old blog.How to build a Lua binary with MSYS2 that does not depend on MinGW-w64’s DLLshttps://dbohdan.com/lua-msys22021-08-21T12:00:00+00:002016-08-30T12:00:00+00:00Step-by-step instructions.A gotcha with fcntl file lockinghttps://dbohdan.com/fcntl2021-08-21T12:00:00+00:002015-09-26T12:00:00+00:00Surprisingly, all POSIX locks are released when you close one file descriptor of a file.In praise of rewritinghttps://dbohdan.com/rewriting-software2021-08-21T12:00:00+00:002015-06-01T12:00:00+00:00By rewriting old things in a new project, you can achieve a reverse second-system effect.Mistakes I made in the design of Tclssg (and how they can be fixed)https://dbohdan.com/tclssg-mistakes2021-08-21T12:00:00+00:002015-05-05T12:00:00+00:00A look back on where mistakes entered the desing of a static site generator.Split or Steal?https://dbohdan.com/split-or-steal2021-08-21T12:00:00+00:002015-05-02T12:00:00+00:00An unexpected finale of an episode of the UK game show _Golden Balls_.Command line tools for manipulating structured text datahttps://dbohdan.com/structured-text-tools2021-08-21T12:00:00+00:002015-04-18T12:00:00+00:00A list of command-line tools for manipulating structured text data.Tcl’s [binary scan] and the Go Challenge 1https://dbohdan.com/tcl-binary-scan2024-08-16T12:00:00+00:002015-03-20T12:00:00+00:00A Go puzzle solved in a different language.MapReduce in terms of SQLhttps://dbohdan.com/mapreduce2023-11-13T12:00:00+00:002015-02-20T12:00:00+00:00A quote from a blog post by Chris Stucchio explaing MapReduce using SQL-like pseudocode.Chris StucchioRe: Data munginghttps://dbohdan.com/data-munging2021-08-21T12:00:00+00:002015-01-06T12:00:00+00:00Seriously consider using an embedded database from the start in a new data munging project.Scheme implementation performancehttps://dbohdan.com/scheme-perf2021-08-21T12:00:00+00:002014-10-13T12:00:00+00:00A brief overview of Scheme implementation performance and related resources.How to export notes from ColorNote on rooted Androidhttps://dbohdan.com/colornote2023-10-27T12:00:00+00:002014-08-26T12:00:00+00:00Instructions for how to export ColorNote notes to your computer.Contact mehttps://dbohdan.com/contact2026-01-12T12:00:00+00:002013-11-10T12:00:00+00:00You can contact D. Bohdan through this page.Hey there!https://dbohdan.com/index2026-04-08T12:00:00+00:002013-11-03T12:00:00+00:00The introduction to and index of D. Bohdan’s personal wiki.