Tootfinder

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

@toxi@mastodon.thi.ng
2025-11-07 09:20:08

Tags are sets. Many apps support tagging of content, but most of them (incl. Mastodon) treat tags only as singular/isolated topic filters, akin to a flat folder-based approach. But tagging can be so, so much more powerful when treating tags as sets and offering users the possibility to combine and query tagged content as sets (think Venn diagrams), i.e. allowing tags to be combined using AND/OR/NOT aka intersection/union/difference operations...
Below is a simple query engine to do jus…

Syntax highlighted TypeScript sourcecode of the linked code example...
@fanf@mendeddrum.org
2025-12-29 09:42:03

from my link log —
easrng/schema: derive JSON schema from TypeScript type using LSP autocomplete.
github.com/easrng/schema
saved 2025-12-28

@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…

I tried vibecoding again. Gave Opus 4.5 what I thought was a fairly hard assignment: generate a TypeScript compiler transform, using ts-patch, to let me mark functions with a magic decorator to make the compiler inline all calls to them.
It one-shot a basic implementation.
Getting to a higher-quality implementation required guidance from me – at times it had bad instincts – but when I gave guidance, it was competent at following it.
Overall, I'm spooked.

@cyrevolt@mastodon.social
2025-10-26 15:15:09

Cool things recently happened in #JavaScript land:
- infoq.com/news/2025/10/deno-2- a new version of

@zachleat@zachleat.com
2025-12-19 23:29:33

with a *huge* assist from Svelte’s npmjs.com/package/@sveltejs/ac here

@michabbb@social.vivaldi.net
2025-11-24 07:57:24

📦 No file size limits - conversion speed depends only on your device's power. No upload caps or bandwidth restrictions.
🎨 Modern UI built with #Svelte and #TypeScript for fast, intuitive experience. Snappy interface that feels great to use.
🎬 Video conversion via self-hostabl…

Over Thanksgiving I’ve been using TypeScript more, after previous experience with Python typing. Some things are way better. Some are worse.
In Python, you can declare and initialize a field together:
self.foo: int = 5
In TS, you can do this in two ways. You can write in the class declaration
foo: number = 5;
but the expression is evaluated before the constructor(!). Or you can write
constructor(public foo: number)
but this only works if i…

@niklaskorz@rheinneckar.social
2025-11-12 10:36:32

I wish there was a #JavaScript / #TypeScript package manager that behaved more like #RustLang's cargo. Specifically, in a workspace of many inter-dependent packages, I only want to f…

@toxi@mastodon.thi.ng
2025-12-01 16:11:07

Neither #Affinity nor #Darktable seemingly support 1D LUTs, which would have been too easy and useful for my #DigitalNegative preparation tool... Instead they both insist on using only 3D LUT…

Syntax color highlighted TypeScript source code:

```
import {
	cycle,
	map,
	normRange,
	permutations,
	str,
	take,
	transduce,
} from "@thi.ng/transducers";

// LUT size (number of samples per axis)
const N = 9;

// example curve of N samples in [0,1] range
// (the curve here is y = x^1.2, i.e. a basic darken effect)
const curve = [...map((x) => (x ** 1.2).toFixed(4), normRange(N - 1))];

// compute cartesian product to produce RGB tuples
const lut = permutations(curve, curve, curve);

// alt…
@adrianco@mastodon.social
2025-11-18 18:34:00

My actual experience of AI coding over the last few days. Starting point is a large working prototype application written mostly in typescript, and I want a version in Python, so I have Claude working away at it, porting over the BDD tests, the unit tests, comparing with the TS. This morning it’s working on unit tests for 8 services. it saw there was a lot to do, so it spawned four coder specialists and worked for about 50min, creating 188 tests, then continued with four more coders.

@shriramk@mastodon.social
2025-12-18 17:09:08

Claude Code: I recommend building in Python.
Me: Can you confidently generate Racket, which I know much better?
CC: No. I reco Py.
Me: What other langs?
CC: Py and JS. Reco Py.
Me: TypeScript?
CC: Oh, of course! So much better!!!
Result: types I can audit, more robust code. Win.

@aral@mastodon.ar.al
2025-12-09 13:49:22

🥳 JavaScript Database (JSDB) version 6.1.4 released:
• Adds TypeScript type definitions
Been meaning to do this for a while and finally got round to it :)
codeberg.org/small-tech/jsdb#j

@zachleat@zachleat.com
2025-12-19 23:25:22

first draft of zero configuration typescript (with dependency mapping) in @… is working — weeeeeeeeeeee

@adrianco@mastodon.social
2025-10-16 22:20:45

I’m using Claude-code to get stuff done that I couldn’t have done before. I just spent a non-frustrating hour or so successfully changing a system written mostly in typescript (which I’ve never used) to do a bunch of things differently. I’m telling it what I want the system to do (with BDD tests where possible) and it’s figuring out the code changes. Several days work for a human, weeks if I had to find someone to do it for me. Like this:

@michabbb@social.vivaldi.net
2025-12-13 23:46:58

📥 Powerful import system directly in prompts: @./src/api.ts for single files, @./src/**/*.ts for glob patterns, @./file.ts:10-50 for line ranges, @./types.ts#UserInterface for TypeScript symbol extraction, @https://url for remote content
🎯 Template variables for dynamic prompts: {{ _stdin }} captures piped input, {{ _1 }} {{ _2 }} for positional arguments, {{ _args }} for numbered list of all args, custom variables like {{ _feature_name }} with CLI overrides --_feature_name "value…

@toxi@mastodon.thi.ng
2025-11-18 12:45:28

For #TextureTuesday some more WIP snapshots of STRATA, a generative system I've been on/off working on since 2014 (in Clojure/TypeScript/Zig, originally for the cover design of HOLO magazine), loosely based on 1950s research/experiments by Barricelli, somewhat related to cellular automata and extended to use a different and much larger set of "reproduction/collision rules" f…

Abstract, colorful & highly detailed pixel texture, resulting from a cellular-automata-like simulation generation process.
Abstract, colorful & highly detailed pixel texture, resulting from a cellular-automata-like simulation generation process.
Abstract, colorful & highly detailed pixel texture, resulting from a cellular-automata-like simulation generation process.
Abstract, colorful & highly detailed pixel texture, resulting from a cellular-automata-like simulation generation process.