lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

69
active users

#releasefriday

0 posts0 participants0 posts today

#ReleaseFriday (1st release cycle of 2025) 🎉 — New additions & updates to thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:

- Added fxhash.xyz platform adapter (incl. support & adaptations for 10 of the 17 built-in GenArtAPI param types)
- Added `bigint` & `binary` data param types
- Updated parameter type definitions & factories (date, datetime, time, numlist, strlist, text, vector)
- Ensure any given default values are valid (and can be coerced)
- Added MurmurHash3 (128 bit version) functions (e.g. seed PRNGs)
- Added tests for all parameter types (factory functions & implementations)
- Added tests for utility functions
- Added GitHub actions (running tests)
- Various API docs updates, clarifications & fixes
- Update/refactor EditArt & Layer platform adapters
- Updated main & adapter readmes

New adapter package `@genart-api/adapter-fxhash`:
github.com/thi-ng/genart-api/t

Commits since last release:
github.com/thi-ng/genart-api/c

thi.ngPlatform-independent extensible API for browser-based generative art

💥Boom! Today, September 6th, is #bandcampfriday 🔥. To celebrate, we just dropped a new #musicvideo for 'Walk the Plank'. It's packed with feisty pirates🏴‍☠️:
youtube.com/watch?v=J5U53BzcV4
We hope you score some killer tunes today. Check our latest release here: beyondthepalemetal.bandcamp.co 🤘 Happy treasure hunting! 🏹
#metal #metalmusic #release #releaseday #releasefriday #releaseradar #video #newmusic #newmusicalert

#LongRead #ThingNews 01/2024

Yesterday was #ThingUmbrella #ReleaseFriday (2nd round this year), incl. updates & additions to these new/recent packages (in A-Z order):

thi.ng/blurhash — A fast implementation of the blurhash algorithm to create extremely compact (usually just 10-40 characters) blurred previews of images. Includes both encoder/decoder. A CLI wrapper is forthcoming. I also created an interactive online generator as new example project, allowing you to import own images & play with params:

demo.thi.ng/umbrella/blurhash/
---

thi.ng/boids — Finished updates to the composable behavior architecture. Included 7 behavior building blocks (all short, simple functions) which can be freely mixed/assigned to agents to create complex behaviors. All agents are individually configurable. Behaviors are weighted and dynamically adjustable, e.g. to vary spatially or temporally, based on external stimuli etc.

Updated example project using the new API:
github.com/thi-ng/umbrella/tre

Many more examples of what can be done with this package (my tagged posts w/ #Boids): mastodon.thi.ng/@toxi/tagged/B
---

thi.ng/canvas - Result of recent restructuring/cleaning/consolidating, this new small package contains helpers for canvas creation and HDPI adjustments. Features merged from thi.ng/adapt-dpi (now deprecated), thi.ng/pixel and others...
---

thi.ng/meta-css — New CLI toolchain for creating, using and bundling custom CSS utility-class-based frameworks (similar to Tachyons, Tailwind etc.)

Differentiating factors: Uses generative & parametric grammar to define modular CSS frameworks, resulting in 100s of CSS classes (~950 are included as starting point). CSS purely used as output format. Custom stylesheet syntax to concisely assemble styles (incl. selector nesting) from the generated classes & declarations. Supports definition of arbitrary media queries, whose IDs can be used as compound prefixes to apply referenced CSS classes responsively. Supports file watching, bundling of multiple stylesheets, automatic tree-shaking. Only referenced classes & media queries are transpiled to CSS, supports pretty printing, forced includes and plain CSS includes. Extremely small & fast (33KB, incl. dependencies).

Extensive readme (3k+ words) included. Based on thi.ng/hiccup-css, much of this has been existing in loose form as partial tooling/experiments since 2016. Over the past 2 months I finally took the plunge to actually make this fully usable and been refining the overall workflow & features.

(Personally, this works _really_ well for me and offers the best of both worlds, i.e. using utility classes for concision, but not leading to clutter in component code, better separation & maintainability)

Several recently added examples are already using (or have been updated) to this toolchain (see pkg readme for a growing list). There're also new related build instructions in the wiki (linked from each example's readme)
---

thi.ng/rdom — Updated many function signatures to support usage in Web Components (Shadow DOM). Added lazy loading component wrapper. Removed experimental scheduler. I never really used it and the general issue is much better solved outside, e.g. using available synchronization constructs in thi.ng/rstream.

Added a new super basic usage example (rdom & meta-css):
github.com/thi-ng/umbrella/tre
---

thi.ng/rdom-forms — Data-driven declarative HTML form/controls based around thi.ng/hiccup-html & thi.ng/rdom. The widgets are unstyled by default, but highly customizable. In addition to being aimed at rdom (for using reactive values & other attribs), it's also suitable for static HTML-generation or SSR purposes.
---

More recent updates:
github.com/thi-ng/umbrella/blo

#HowToThing #027 — Boid/flocking simulation with spatial indexing, configurable behaviors and neighborhood queries to visualize proximity.

Key packages:

- thi.ng/boids: n-dimensional boid simulation with highly configurable behaviors
- thi.ng/timestep: deterministic fixed timestep simulation updates with state interpolation
- thi.ng/geom-accel: 2D hash grid spatial indexing and neighborhood region queries

The new thi.ng/boids package is still in alpha (still working on the API and how the package interfaces with others), but I've been using the underlying implementation for _maaany_ projects since ~2005... The agent/boid behaviors can be highly customized via the given parameters (which can also be dynamically adjusted). As usual with thi.ng packages, the visual representation of the boids is kept completely separate from the sim. The package really only deals with the latter and essentially only processes points in space (and directions, velocities)... However, it's also this separation, which makes it more useful for many different scenarios.

Demo:
demo.thi.ng/umbrella/boid-basi

Source:
github.com/thi-ng/umbrella/blo

If you have any questions about this topic or the packages used here, please reply in thread or use the discussion forum (or issue tracker):

github.com/thi-ng/umbrella/dis

Ps. It's also #ReleaseFriday — check main thi.ng/umbrella readme for latest updates/changelogs... 🚀

#ReleaseFriday Among the multitude of minor updates and refactoring of various packages and some shared core types/interfaces (see readme & changelogs), the 40th #ThingUmbrella release of 2023 (already 555 in total!) is also featuring...

thi.ng/fibers - a new package providing a fiber process tree abstraction around ES6 generators for cooperative multitasking, incl. support for spawning & waiting for child processes, cancellation, event & error handling, logging, time slicing and various other highlevel operators to compose fibers (also via transducers). Please see readme, docs and the commented source code of this little #GenerativeArt example project for more insights:

Demo:
demo.thi.ng/umbrella/fiber-bas

Source:
github.com/thi-ng/umbrella/blo

In this demo, each shape is animated in its own sub-process, recursively spawned from a single root fiber...