#transducers — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #transducers, aggregated by home.social.
-
#ReleaseSaturday 🚀 — Just pushed the new version of https://thi.ng/hiccup-carbon-icons (now a much larger collection of 2200+ icons, mentioned yesterday[1]) and some other smaller updates/additions to other packages...
This is the last release before switching all packages to the recently released TypeScript 6.0, support for which will likely require some restructuring & refactoring and hopefully will be less painful than it might look so far (I'm also waiting for some dependencies to update their TS type definitions, which are currently breaking, e.g. https://github.com/serialport/node-serialport, used for https://thi.ng/axidraw)
I also added some new async operators for https://thi.ng/transducers-async to simplify some stream processing tasks (e.g. collecting and/or consuming stdout/stderr of a child process by rechunking the stream for line-based processing), for example:
```
import { rechunk } from "@thi.ng/transducers-async";
import { spawn } from "child_process";// launch child process
const child = spawn("ls", ["-l"]);// split child's stdout into single lines
for await(let line of rechunk(/\r?\n/g, child.stdout)) {
console.log("output", line);
}
```[1] https://mastodon.thi.ng/@toxi/116422011357971578
#ThingUmbrella #OpenSource #Maintenance #TypeScript #JavaScript #Transducers #Async #Icons
-
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 LUTs. Converting 1D to 3D takes a bit more effort, but thanks to https://thi.ng/transducers, it's still very easy...
#ThingUmbrella #TypeScript #JavaScript #FunctionalProgramming #Transducers #LUT #Photography
-
#ThingUmbrella #ReleaseFriday[1] 🚀 — As announced a couple of weeks ago, a lot of my recent work has been centered around async iterables and addressing the conceptual overlap between the various packages related to those, specifically: https://thi.ng/transducers-async, https://thi.ng/rstream, https://thi.ng/csp, https://thi.ng/fibers, and partially related, https://thi.ng/rdom too. Apart from the first package, until recently, none of the others had direct support for async iterables (largely for historic reasons), but they all offer similar operators & functionality (via different means), which I'm slowly consolidating where it makes sense...
Part of this pretty large undertaking has been a complete rewrite of the temporarily deprecated https://thi.ng/csp package for Communicating Sequential Processes[2] (IMHO one of the most elegant & sane ways to structure larger apps via multiple small, reasonable concurrent processes). The package is active again now (as v3+) albeit constituting a new API (new docs still WIP) and removing any direct transducer-related functionality — this is one aspect of the aforementioned consolidation and now simply assumed to be delegated to the https://thi.ng/transducers-async and/or non-async https://thi.ng/transducers packages. I've also included a new small example project showing mixed usage patterns of working with CSP channels and combining them with (async) transducers to create derived views:
Demo:
https://demo.thi.ng/umbrella/csp-bus/Source:
https://github.com/thi-ng/umbrella/blob/develop/examples/csp-bus/src/events.tsHand in hand with these major changes are smaller and still ongoing updates to https://thi.ng/rdom, which recently received partial support for embedded async iterables as reactive values inside a UI/DOM component tree. The goal for this package is to become fully decoupled from https://thi.ng/rstream and focus more on the equally powerful, but more lightweight (since part of the language) async iterables. Adapters from rstream → asynciter already exists (see docs).
Unrelated, but also part of this week's release: The new version of https://thi.ng/meta-css includes support for CSS `light-dark()`. The base framework now includes ~950 utilities & 70 functions. See readme for full list...
Happy coding! :)
[1] There're actually a lot more frequent release, but these days I'm only mentioning the more notable ones to not spam everyone...
[2] https://en.wikipedia.org/wiki/Communicating_sequential_processes
#ThingUmbrella #CSP #Async #Transducers #Reactive #UI #DOM #CSS #TypeScript #JavaScript #OpenSource
-
Phew... One key step closer to replicating & simplifying core https://thi.ng/rstream functionality via just standard async iterables: Just added a `mult()` base-operator to https://thi.ng/transducers-async [1] which allows splitting a single async iterable into multiple child async iterables (aka subscriptions, aka 1:N splitting), each of which can be added/removed dynamically and individually processed e.g. via transducers, vanilla `for await()` consumers, and/or used as input for downstream `mult()`s to construct entire graph topologies (cycles allowed) of async processors etc. Back pressure is handled by waiting for all child subscriptions to deliver the value before consuming a new one from the source...
[1] https://github.com/thi-ng/umbrella/blob/develop/packages/transducers-async/src/mult.ts
#ThingUmbrella #Async #Transducers #ReactiveProgramming #FunctionalProgramming #TypeScript #JavaScript
-
Field-Based Monitoring Of Instream Leaky Barrier Backwater And Storage During Storm Events
--
https://www.sciencedirect.com/science/article/pii/S0022169423006868 <-- shared paper
--
#GIS #spatial #mapping #remotesensing #NaturalFloodManagement #LeakyBarrier #FloodAttenuation #BackwaterRise #BarrierStorage #model #modeling #monitoring #flood #flooding #UK #England #Britian #photogrammetry #DEM #DTM #LiDAR #water #hydrology #extremeweather #climatechange #waterstorage #waterresources #watermanagement #storm #waterquality #ecosystem #benefits #engineering #infrastructure #transducers #streamflow #backwater #rainfall #precipitatiion #overbank #flow #innundation #floodmodeling -
How about the #Series concept?
See p1026 of this PDF of #CLtL2:
🧷 https://libgen.rocks/ads.php?md5=9ED42DE1B022D561D78E9C07D098F518
Also this paper:
🧷 https://dl.acm.org/doi/pdf/10.1145/121999.122000
🌺