Tootfinder

Opt-in global Mastodon full text search. Join the index!

@toxi@mastodon.thi.ng
2025-11-20 09:44:59

Wow, just noticed #ThingUmbrella reached 3700 stars on GitHub — I'm celebrating... 🤩🫠
Heartfelt thanks to all of you who've been helping along the way (in any shape & form) and been supporting this work for all these years and across different programming languages/camps! Merci beaucoup!!! Esp. big Thank You's to fellow fediverse people/supporters from various stages…

@toxi@mastodon.thi.ng
2026-01-16 11:27:56

New #ThingUmbrella example to create a parametric, grid layout-based calibration sheet for black and white photography development. The sheet includes different swatches and gradients to measure results/responses of different exposure times and developer solutions/processes. The sheet also includes a placeholder for a custom test image to be added later...
All sheet components are pa…

Generated grayscale calibration sheet as discussed in the post. The top part of the image has three rows of grayscale swatches in different gradations, followed by a row of opposing grayscale gradients with 10% markings. Below is a column of two radial gradients: the first one white to black, the other inverted, both with 10% markings (as hemi-arcs). On the right, four bands of vertical gradients, each with a superimposed low contrast checkerboard pattern. The remaining space is reserved for an…
@toxi@mastodon.thi.ng
2026-01-16 11:59:53

Also new in #ThingUmbrella: The new thi.ng/text-format-image package provides conversion/formatting for bitmap output for CLI/Terminal apps, currently only via the widely supported iTerm2 format (se…

Screenshot of a CLI/Terminal with the code example from the thi.ng/text-format-image readme and the resulting image output as part of the normal flow...
@toxi@mastodon.thi.ng
2025-11-13 12:59:48

Maybe a good opportunity to illustrate the purpose of one of the more uncommon packages in #ThingUmbrella: The thi.ng/hex package provides hexadecimal formatters for a variety of word sizes (4-64 bits) and also a…

Cropped screensho of a NodeJS REPL session showing an hexdump of a chunk of binary PDF data (trying to analyze why an earlier parse error occurred...)
@toxi@mastodon.thi.ng
2026-01-10 19:12:28

#Genuary10 #Genuary2026: Polar coordinates
Circular Fold (2022), an animated circle inversion loop. Made with #ThingUmbrella.

B&W animation loop of hundreds of white circles in black hyperbolic space. The oscillating shift of the focal point is causing an constant change to the inversion/projection and the resulting constellation of circles
@toxi@mastodon.thi.ng
2025-11-05 09:33:26

Been updating my personal Mastodon tooling to download and convert my bookmarked toots. Here's how little code is needed to download a single message and convert its HTML content into Markdown, all using these #ThingUmbrella packages:
- thi.…

Syntax colored TypeScript source code:

import { parseHtml } from "@thi.ng/hiccup-html-parse";
import { serialize } from "@thi.ng/hiccup-markdown";
import { arrayZipper, type Location } from "@thi.ng/zipper";

// load a Mastodon status via API
const res = await (
	await fetch("https://mastodon.thi.ng/api/v1/statuses/115464108396925195")
).json();

// parse HTML content into thing/hiccup format (nested JS arrays)
const parsed = parseHtml(res.content, {
	whitespace: true,
	ignoreAtt…