/postroll

Links to interesting posts and news articles

Dockerfile Here Document reference

docs.docker.com

There's a TON of stuff you can do with heredocs in Dockerfile — including using a different interpreter, creating a file, pipe/redirect operations, and more.

Heredocs in Dockerfiles

www.docker.com

I've long been annoyed at the need to use semicolons and line breaks in Dockerfile when creating a multi-line RUN command. Turns out, Dockerfile supports heredocs, so you can just... write the script normally.

AVream

kacoze.github.io

If you're on Ubuntu or an Ubuntu-derivative, and you want to use your Android-based phone as a webcam, AVream is super simple, and "just works".

One note, because it's not in the documentation: you'll need to ensure you've installed the v4l2loopback-dkms package for it to work, as that provides the ability for v4l to create and capture from virtual video devices.

Merge Conflict Resolution with diffview.nvim

deepwiki.com

While DeepWiki is mostly for use as a context resource for AI... there are a number of things it surfaces that are often hard to find in the documentation. For me, I was trying to use DiffView.nvim to resolve merge conflicts, and struggling because the diffget implementation in Neovim differs from how it works in standard Vim; in particular, I couldn't figure out how to tell it to accept an entire hunk of a diff from one side or the other of a merge. This page has a great cheatsheet of the commands:

  • <Leader>co: choose "ours"
  • <Leader>ct: choose "theirs"
  • [x: jump to next hunk
  • [X: jump to previous hunk

Weird little guys of FOSS

drewdevault.com

Need to know who to stay away from in OSS, and what projects they participate in so you can stay away from those, too? This is a good starting point.

Visual design rules you can safely follow every time

anthonyhobday.com

Great set of rules you can always follow to ensure consistency and a design that will be readable and scannable by the human eye.

How to Scrape Web Pages from the Command Line Using htmlq

www.thelinuxvault.net

Needed to do some testing that specific HTML tags and content were in a page, and wondered if there was something like jq, but for HTML.

There is, and it's aptly called htmlq. It's a tool written in Rust, and it allows retrieving tags and content based on CSS selectors.

My HTML boilerplate in 2026

www.matuzo.at

HTML boilerplate recommendations from Manuel Matuzović — little things like setting the language, to bigger things like using SVG favicons and proper JS ESR modules. I've applied each of these to my site.

status-tray GNOME extension

github.com

Alternative to the AppIndicator/KStatusNotifier extension that gives a tray with all app indicators. Helps declutter the top-bar.

How to center an element horizontally and vertically

css-generators.com

Having a career that has evolved with the web itself, it's always fun to find new, better ways to do something that seems like it should be trivial. Like centering an element in its container.

This post shows one hundred ways to do this, most of them horrible.

css

Use JSDoc

jsdoc.app

JSDoc documentation.

A Paper Sizes

paper-size.com

Handy reference for A paper sizes.

CSS If conditionals

webweekly.email

CSS is introducing "if" conditionals!

PHP Codex

php.watch

The PHP Codex is amazing — you can search for functions, classes, etc. from PHP and it gives you basic usage, but also the history of it: when it was added, when different changes have been made to it, etc.

Deep merging the YAML files using yq

blog.ignytis.eu

I've started using the yq tool recently, mainly to query for data in YAML files, and recently needed to merge several files in a way that would not overwrite lists from one with lists from a later file, but instead append them. This is a nifty trick.

argenkiwi/kenkyo: A layered keyboard layout for standard ANSI keyboards

github.com

This is a nice, standardized configuration that also provides chords (key combinations) for backspace, tab, and escape, and some additional layers that allow for things like arrow keys and Fn keys (though I'm finding the layers are a bit hard to trigger). But it's far better than my homespun Kanata configuration.

The attr() function in CSS now supports types

www.amitmerchant.com

The attr() CSS function can grab any HTML atribute and use its value to seed a CSS setting. One of the examples:

<div data-width="100px"></div>

could be consumed in CSS as:

div {
  width: attr(data-width type(<length>));
}

It feels a bit like re-inventing the style HTML attribute, but with the ability to have a modicum of type-safety in the declarations, and default to normal semantic CSS when not available.

Everyone isn’t ‘a little bit autistic’

theconversation.com

I hear the phrase "everybody is a little bit autistic" often, and it irks me. Just because you have preferences or behaviors does not make you "a little bit autistic".

This article does a great job of detailing why it's a horrible myth: yes, the diagnosis is autism spectrum disorder, but the spectrum is really multi-dimensional, and not a linear thing. It's a combination of traits, and, more importantly, it's genetic, and not something you develop over time. Autism can look radically different between people, but the number of people who are actually autistic is still small in terms of share of population.

Minimum Viable Curiousity

randsinrepose.com

Michael Lopps (aka "Rands in Repose") writes about his experiences with Waymo versus generative AI, and finds that the missing pieces are:

  • AI is not learning: it's mimicking and repeating patterns.
  • We learn from failure, and those failures often spark creative solutions; AI does not.

He makes a great analogy to social media versus actual friendship; one acknowledges that a relationship exists, the other does the work of connection with another human.

Overwhelming is the point

beige.party

Fantastic post summing up the flood of executive orders during the initial weeks of Trump's second term: the point is to overwhelm the opposition and make it difficult to counter everything.

Preventing the iOS Google app from hijacking your links

solarbird.net

The Google iOS app evidently is now hijacking links in search results to present search result cards, instead of taking the user to the linked page. The post linked here details how to opt out (because of course you have to opt out, and Google automatically opts you in), and what permutations of your domain you need to include when you do so.

Challenging an insurance claim denial

mastodon.scot

When an insurance claim is denied, you can ask for documentation of why, including who denied it, their qualifications, whether or not they are licensed to practice medicine in your state, and more. Insurance companies will often choose to pay your claim rather than provide documentation, as it may show they are out of compliance.

What I Wish Someone Told Me About Postgres

challahscript.com

Great article going over a bunch of things the author learned about Postgres over several years of working with it. The information on how to do JSONb queries alone is worth the read.

Age encryption cookbook

blog.sandipb.net

age is a low-cost, efficient encryption tool. I started using it with resurrect.wezterm, and occasionally need reminders of how it works. This post is a great resource!