techhub.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A hub primarily for passionate technologists, but everyone is welcome

Administered by:

Server stats:

5.3K
active users

#transducers

0 posts0 participants0 posts today
CERT & Shree Ram Group Meerut<p>🔊 Session Highlights 🚀 </p><p>What an insightful session on **Smart Sensors &amp; Transducers** with Mr. Davendra Yadav (Principal, CERT Group of Institutions, Meerut)! 🌟 </p><p>From understanding how sensors shape our daily lives to exploring cutting-edge innovations transforming industries, this session was packed with valuable knowledge! 💡✨ </p><p><a href="https://mastodon.social/tags/SessionHighlights" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SessionHighlights</span></a> <a href="https://mastodon.social/tags/SmartSensors" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SmartSensors</span></a> <a href="https://mastodon.social/tags/Innovation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Innovation</span></a> <a href="https://mastodon.social/tags/TechTalk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TechTalk</span></a> <a href="https://mastodon.social/tags/CERTMeerut" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CERTMeerut</span></a> <a href="https://mastodon.social/tags/Engineering" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Engineering</span></a> <a href="https://mastodon.social/tags/CareerGrowth" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CareerGrowth</span></a> <a href="https://mastodon.social/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.social/tags/FutureTech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FutureTech</span></a></p>
Jeremy 🇨🇦<p><span class="h-card" translate="no"><a href="https://mastodon.social/@weavejester" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>weavejester</span></a></span> I actually think this is probably wrong! "induce" reminds me of induction, and no values are being induced (this is often related to dependent types and having some sort of inductively defined type or value).</p><p>I'll play with it some more, it may be that I need to call it transduce-once or transduce-one (onceduce? lol that's terrible). </p><p><a href="https://coales.co/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a> <a href="https://coales.co/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a> <a href="https://coales.co/tags/Clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Clojure</span></a></p>
Jeremy 🇨🇦<p>Had an idea a couple days ago while writing one of the chapters of the transducers book: it would be very useful to be able to transduce over a single value, if only to test that your transducer / collector will do what you expect it to do. </p><p>I've called it once: <a href="https://gitlab.com/ThatGeoGuy/chicken-transducers/-/blob/jeremy/once/src/transducers.base.sld?ref_type=heads#L187-189" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gitlab.com/ThatGeoGuy/chicken-</span><span class="invisible">transducers/-/blob/jeremy/once/src/transducers.base.sld?ref_type=heads#L187-189</span></a></p><p>I'm not sure this is the best name for it, so maybe fedi can help me get a better name?</p><p><a href="https://coales.co/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a> <a href="https://coales.co/tags/Clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Clojure</span></a> <a href="https://coales.co/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a></p>
Karsten Schmidt<p>Someone asked for help on an interesting transducers (functional programming) problem. My initial answer using other existing transducers still had some minor differences to their intended behavior, but writing a small custom transducer then saves the day and now I can already think of a bunch of other uses for it too:</p><p>Attempt #1:<br><a href="https://github.com/thi-ng/umbrella/issues/490#issuecomment-2296276833" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/iss</span><span class="invisible">ues/490#issuecomment-2296276833</span></a></p><p>Attempt #2 (custom transducer):<br><a href="https://github.com/thi-ng/umbrella/issues/490#issuecomment-2296349604" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/iss</span><span class="invisible">ues/490#issuecomment-2296349604</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a></p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/ReleaseFriday" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ReleaseFriday</span></a>[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: <a href="https://thi.ng/transducers-async" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers-async</span><span class="invisible"></span></a>, <a href="https://thi.ng/rstream" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rstream</span><span class="invisible"></span></a>, <a href="https://thi.ng/csp" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/csp</span><span class="invisible"></span></a>, <a href="https://thi.ng/fibers" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/fibers</span><span class="invisible"></span></a>, and partially related, <a href="https://thi.ng/rdom" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rdom</span><span class="invisible"></span></a> 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 &amp; functionality (via different means), which I'm slowly consolidating where it makes sense...</p><p>Part of this pretty large undertaking has been a complete rewrite of the temporarily deprecated <a href="https://thi.ng/csp" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/csp</span><span class="invisible"></span></a> package for Communicating Sequential Processes[2] (IMHO one of the most elegant &amp; 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 <a href="https://thi.ng/transducers-async" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers-async</span><span class="invisible"></span></a> and/or non-async <a href="https://thi.ng/transducers" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers</span><span class="invisible"></span></a> 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:</p><p>Demo:<br><a href="https://demo.thi.ng/umbrella/csp-bus/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">demo.thi.ng/umbrella/csp-bus/</span><span class="invisible"></span></a></p><p>Source:<br><a href="https://github.com/thi-ng/umbrella/blob/develop/examples/csp-bus/src/events.ts" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/blo</span><span class="invisible">b/develop/examples/csp-bus/src/events.ts</span></a></p><p>Hand in hand with these major changes are smaller and still ongoing updates to <a href="https://thi.ng/rdom" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rdom</span><span class="invisible"></span></a>, 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 <a href="https://thi.ng/rstream" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rstream</span><span class="invisible"></span></a> 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).</p><p>Unrelated, but also part of this week's release: The new version of <a href="https://thi.ng/meta-css" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/meta-css</span><span class="invisible"></span></a> includes support for CSS `light-dark()`. The base framework now includes ~950 utilities &amp; 70 functions. See readme for full list...</p><p>Happy coding! :)</p><p>[1] There're actually a lot more frequent release, but these days I'm only mentioning the more notable ones to not spam everyone...</p><p>[2] <a href="https://en.wikipedia.org/wiki/Communicating_sequential_processes" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">en.wikipedia.org/wiki/Communic</span><span class="invisible">ating_sequential_processes</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/CSP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSP</span></a> <a href="https://mastodon.thi.ng/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/Reactive" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Reactive</span></a> <a href="https://mastodon.thi.ng/tags/UI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>UI</span></a> <a href="https://mastodon.thi.ng/tags/DOM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DOM</span></a> <a href="https://mastodon.thi.ng/tags/CSS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSS</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSource</span></a></p>
Karsten Schmidt<p>Phew... One key step closer to replicating &amp; simplifying core <a href="https://thi.ng/rstream" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rstream</span><span class="invisible"></span></a> functionality via just standard async iterables: Just added a `mult()` base-operator to <a href="https://thi.ng/transducers-async" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers-async</span><span class="invisible"></span></a> [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...</p><p>[1] <a href="https://github.com/thi-ng/umbrella/blob/develop/packages/transducers-async/src/mult.ts" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/blo</span><span class="invisible">b/develop/packages/transducers-async/src/mult.ts</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/ReactiveProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ReactiveProgramming</span></a> <a href="https://mastodon.thi.ng/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a></p>
Karsten Schmidt<p>For <span class="h-card" translate="no"><a href="https://mastodon.gamedev.place/@made" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>made</span></a></span> and others who might have questions about the new <a href="https://thi.ng/transducers-async" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers-async</span><span class="invisible"></span></a> library, I've tried to illuminate the behind-the-scenes approach over here:</p><p><a href="https://github.com/thi-ng/umbrella/discussions/461#discussioncomment-9102966" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/dis</span><span class="invisible">cussions/461#discussioncomment-9102966</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> <a href="https://mastodon.thi.ng/tags/Generators" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Generators</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.thi.ng/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FunctionalProgramming</span></a></p>
Karsten Schmidt<p>Sorry for recent silence, if I can summarize most of my past two weeks or so:</p><p>"Async all the thi.ngs, what colud posibsyl og wrngo!" [1]</p><p>1) New package <a href="https://thi.ng/transducers-async" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers-async</span><span class="invisible"></span></a> (restarted development after originally stopping it in 2018 due to lack of async iterable support)<br>2) Updates to <a href="https://thi.ng/rstream" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rstream</span><span class="invisible"></span></a> (adapters from/to async iterables)<br>3) Upcoming, a new &amp; simplified implementation of <a href="https://thi.ng/csp" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/csp</span><span class="invisible"></span></a> (currently still only on a feature branch[2]) for building blocks for Communicating Sequential Processes.<br>4) Also still WIP only, async iterable support for <a href="https://thi.ng/rdom" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rdom</span><span class="invisible"></span></a>, i.e. in the same way as rstream subscriptions, such async iterables can soon be directly embedded as component/element bodies or attribute values and then perform pinpointed DOM updates each time their value changes...</p><p>As I said, async all the thi.ngs...</p><p>[1] h/t <span class="h-card" translate="no"><a href="https://mastodon.gamedev.place/@sjb3d" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>sjb3d</span></a></span> for an ancient tweet with a similar sentiment &amp; outcome :)</p><p>[2] The CSP package too was somewhat deprecated (for similar reasons) and a while ago I added another alternative CSP implementation via <a href="https://thi.ng/fibers" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/fibers</span><span class="invisible"></span></a>, but that package too might see some more refactoring/simplifying by switching to async generators...</p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/Async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Async</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSource</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a></p>
Jeremy 🇨🇦<p>If you change "traversables" with <a href="https://coales.co/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a> I think you get a pretty clear idea of how <a href="https://coales.co/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a> or <a href="https://coales.co/tags/Clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Clojure</span></a> transducers are different from Rust's Iterator trait.</p><p><a href="https://without.boats/blog/iterators-and-traversables/" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">without.boats/blog/iterators-a</span><span class="invisible">nd-traversables/</span></a></p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/HowToThing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HowToThing</span></a> #008 — CSV parsing &amp; filtering into structured data via <a href="https://thi.ng/csv" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/csv</span><span class="invisible"></span></a> and creating a multi-plot data visualization via <a href="https://thi.ng/viz" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/viz</span><span class="invisible"></span></a> (along with a range of other helpful packages for various side aspects).</p><p>The attached visualization shows a lin-log plot of new COVID cases between March 2020 - Dec 2021:</p><p>- Daily world total as line plot<br>- UK (red) and USA (blue) cases as interleaved bar plots</p><p>(All data from: <a href="https://ourworldindata.org/coronavirus" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">ourworldindata.org/coronavirus</span><span class="invisible"></span></a>)</p><p>Full source code:<br><a href="https://gist.github.com/postspectacular/6a379a2bb8cd46e242163b9c9563522f" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gist.github.com/postspectacula</span><span class="invisible">r/6a379a2bb8cd46e242163b9c9563522f</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.thi.ng/tags/DataViz" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DataViz</span></a> <a href="https://mastodon.thi.ng/tags/CSV" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CSV</span></a> <a href="https://mastodon.thi.ng/tags/SVG" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SVG</span></a> <a href="https://mastodon.thi.ng/tags/Tutorial" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Tutorial</span></a></p>
💧🌏 Greg Cocks<p>Field-Based Monitoring Of Instream Leaky Barrier Backwater And Storage During Storm Events<br />--<br /><a href="https://www.sciencedirect.com/science/article/pii/S0022169423006868" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">sciencedirect.com/science/arti</span><span class="invisible">cle/pii/S0022169423006868</span></a> &lt;-- shared paper<br />--<br /><a href="https://techhub.social/tags/GIS" class="mention hashtag" rel="tag">#<span>GIS</span></a> <a href="https://techhub.social/tags/spatial" class="mention hashtag" rel="tag">#<span>spatial</span></a> <a href="https://techhub.social/tags/mapping" class="mention hashtag" rel="tag">#<span>mapping</span></a> <a href="https://techhub.social/tags/remotesensing" class="mention hashtag" rel="tag">#<span>remotesensing</span></a> <a href="https://techhub.social/tags/NaturalFloodManagement" class="mention hashtag" rel="tag">#<span>NaturalFloodManagement</span></a> <a href="https://techhub.social/tags/LeakyBarrier" class="mention hashtag" rel="tag">#<span>LeakyBarrier</span></a> <a href="https://techhub.social/tags/FloodAttenuation" class="mention hashtag" rel="tag">#<span>FloodAttenuation</span></a> <a href="https://techhub.social/tags/BackwaterRise" class="mention hashtag" rel="tag">#<span>BackwaterRise</span></a> <a href="https://techhub.social/tags/BarrierStorage" class="mention hashtag" rel="tag">#<span>BarrierStorage</span></a> <a href="https://techhub.social/tags/model" class="mention hashtag" rel="tag">#<span>model</span></a> <a href="https://techhub.social/tags/modeling" class="mention hashtag" rel="tag">#<span>modeling</span></a> <a href="https://techhub.social/tags/monitoring" class="mention hashtag" rel="tag">#<span>monitoring</span></a> <a href="https://techhub.social/tags/flood" class="mention hashtag" rel="tag">#<span>flood</span></a> <a href="https://techhub.social/tags/flooding" class="mention hashtag" rel="tag">#<span>flooding</span></a> <a href="https://techhub.social/tags/UK" class="mention hashtag" rel="tag">#<span>UK</span></a> <a href="https://techhub.social/tags/England" class="mention hashtag" rel="tag">#<span>England</span></a> <a href="https://techhub.social/tags/Britian" class="mention hashtag" rel="tag">#<span>Britian</span></a> <a href="https://techhub.social/tags/photogrammetry" class="mention hashtag" rel="tag">#<span>photogrammetry</span></a> <a href="https://techhub.social/tags/DEM" class="mention hashtag" rel="tag">#<span>DEM</span></a> <a href="https://techhub.social/tags/DTM" class="mention hashtag" rel="tag">#<span>DTM</span></a> <a href="https://techhub.social/tags/LiDAR" class="mention hashtag" rel="tag">#<span>LiDAR</span></a> <a href="https://techhub.social/tags/water" class="mention hashtag" rel="tag">#<span>water</span></a> <a href="https://techhub.social/tags/hydrology" class="mention hashtag" rel="tag">#<span>hydrology</span></a> <a href="https://techhub.social/tags/extremeweather" class="mention hashtag" rel="tag">#<span>extremeweather</span></a> <a href="https://techhub.social/tags/climatechange" class="mention hashtag" rel="tag">#<span>climatechange</span></a> <a href="https://techhub.social/tags/waterstorage" class="mention hashtag" rel="tag">#<span>waterstorage</span></a> <a href="https://techhub.social/tags/waterresources" class="mention hashtag" rel="tag">#<span>waterresources</span></a> <a href="https://techhub.social/tags/watermanagement" class="mention hashtag" rel="tag">#<span>watermanagement</span></a> <a href="https://techhub.social/tags/storm" class="mention hashtag" rel="tag">#<span>storm</span></a> <a href="https://techhub.social/tags/waterquality" class="mention hashtag" rel="tag">#<span>waterquality</span></a> <a href="https://techhub.social/tags/ecosystem" class="mention hashtag" rel="tag">#<span>ecosystem</span></a> <a href="https://techhub.social/tags/benefits" class="mention hashtag" rel="tag">#<span>benefits</span></a> <a href="https://techhub.social/tags/engineering" class="mention hashtag" rel="tag">#<span>engineering</span></a> <a href="https://techhub.social/tags/infrastructure" class="mention hashtag" rel="tag">#<span>infrastructure</span></a> <a href="https://techhub.social/tags/transducers" class="mention hashtag" rel="tag">#<span>transducers</span></a> <a href="https://techhub.social/tags/streamflow" class="mention hashtag" rel="tag">#<span>streamflow</span></a> <a href="https://techhub.social/tags/backwater" class="mention hashtag" rel="tag">#<span>backwater</span></a> <a href="https://techhub.social/tags/rainfall" class="mention hashtag" rel="tag">#<span>rainfall</span></a> <a href="https://techhub.social/tags/precipitatiion" class="mention hashtag" rel="tag">#<span>precipitatiion</span></a> <a href="https://techhub.social/tags/overbank" class="mention hashtag" rel="tag">#<span>overbank</span></a> <a href="https://techhub.social/tags/flow" class="mention hashtag" rel="tag">#<span>flow</span></a> <a href="https://techhub.social/tags/innundation" class="mention hashtag" rel="tag">#<span>innundation</span></a> <a href="https://techhub.social/tags/floodmodeling" class="mention hashtag" rel="tag">#<span>floodmodeling</span></a></p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/HowToThing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HowToThing</span></a> #003 Tracking multiple key states and extracting high-level commands from key sequences via <a href="https://thi.ng/rstream" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/rstream</span><span class="invisible"></span></a> &amp; <a href="http://thi.ng/transducers-fsm" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">http://</span><span class="">thi.ng/transducers-fsm</span><span class="invisible"></span></a>. The key sequences are stored as a trie and matched via a transducer-based finite state machine.</p><p>Btw. The new example #125 of the <a href="https://thi.ng/umbrella" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/umbrella</span><span class="invisible"></span></a> monorepo shows an extended version of this approach...</p><p>Demo:<br><a href="https://demo.thi.ng/umbrella/rdom-key-sequences/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">demo.thi.ng/umbrella/rdom-key-</span><span class="invisible">sequences/</span></a></p><p>Source:<br><a href="https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-key-sequences" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/tre</span><span class="invisible">e/develop/examples/rdom-key-sequences</span></a></p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.thi.ng/tags/FSM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FSM</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/Tutorial" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Tutorial</span></a></p>
Karsten Schmidt<p>Announcing <a href="https://mastodon.thi.ng/tags/HowToThing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HowToThing</span></a>, small code snippets illustrating useful patterns and use cases for various libraries/projects in the <a href="https://thi.ng" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng</span><span class="invisible"></span></a> ecosystem/anti-framework...</p><p><a href="https://mastodon.thi.ng/tags/HowToThing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>HowToThing</span></a> #001:<br>Build a FPS counter with moving average w/ <a href="https://thi.ng/transducers" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/transducers</span><span class="invisible"></span></a></p><p>Source code in alt text</p><p>(Ps. Have been trying to start similar stuff in the past on the birdsite, but let's see if I can control my attention and be more consistent this time... If you have any topic requests, please reply below [or via DM])</p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/JavaScript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.thi.ng/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://mastodon.thi.ng/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a> <a href="https://mastodon.thi.ng/tags/Tutorial" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Tutorial</span></a></p>
Karsten Schmidt<p>Thank you all who joined the <a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ThingUmbrella</span></a> stream earlier! 🙇 Hope it was worth your time! Also, if you want to see another example of <a href="https://mastodon.thi.ng/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a> usage, look at <span class="h-card"><a href="https://post.lurk.org/@BITPRINT" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>BITPRINT</span></a></span>'s grid iterator <a href="https://mastodon.thi.ng/tags/p5js" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>p5js</span></a> sketch and the refactoring I've done...</p><p><a href="https://github.com/thi-ng/umbrella/discussions/393#discussioncomment-5537615" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/dis</span><span class="invisible">cussions/393#discussioncomment-5537615</span></a></p>
Jeremy 🇨🇦<p>Oh boy CHICKEN <a href="https://coales.co/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a> (<a href="https://wiki.call-cc.org/eggref/5/transducers" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">wiki.call-cc.org/eggref/5/tran</span><span class="invisible">sducers</span></a>) v0.2.0 is out. </p><p>Not a huge change here - collectors are now a bit more consistent. They all need to be wrapped in parens, and they all take in an optional sentinel argument instead of passing the sentinel to transduce. </p><p>Oh, and they should all be named `collect-XXX` now. See the changelog in the repo for more.</p><p>Big victory here: I managed to finally set up a Dockerfile and push to the repo's GitLab Registry. OH MY GOD it is so much faster now.</p>
Jeremy 🇨🇦<p>New blog post: <a href="https://www.thatgeoguy.ca/blog/2023/01/04/reflections-on-transducers/" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">thatgeoguy.ca/blog/2023/01/04/</span><span class="invisible">reflections-on-transducers/</span></a></p><p>This one comes with actual software and a bone to pick! (jk?)</p><p>Anyways, this is basically a follow-up to my previous brain-vomit regarding <a href="https://coales.co/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a> and how they work in <a href="https://coales.co/tags/Clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Clojure</span></a> vs. <a href="https://coales.co/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a>. See <a href="https://coales.co/@thatgeoguy/109593495240951129" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">coales.co/@thatgeoguy/10959349</span><span class="invisible">5240951129</span></a></p><p>At the end of the day the only sane solution I found was to just parameterize the missing assumption, the fold procedure, inside of the transduce call. I think overall it fits together nicely and I've tried damn hard to make sure the docs all have tons of examples:</p><p><a href="https://wiki.call-cc.org/eggref/5/transducers" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">wiki.call-cc.org/eggref/5/tran</span><span class="invisible">sducers</span></a></p>
Jörg Preisendörfer<p><span class="h-card"><a href="https://coales.co/@thatgeoguy" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>thatgeoguy</span></a></span> </p><p>Anytime!</p><p>If you would like to find out more on theory &amp; implementation, they are presented in two classic <a href="https://mastodon.social/tags/MIT" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MIT</span></a> <a href="https://mastodon.social/tags/AIMemo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AIMemo</span></a>|s by Richard C Waters:</p><p>›Obviously Synchronizable Series Expression — Part I: User's Manual for the OSS Macro Package‹ (<a href="https://mastodon.social/tags/AIM958a" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AIM958a</span></a>)<br>🧷 <a href="http://oastats.mit.edu/handle/1721.1/6472" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">http://</span><span class="ellipsis">oastats.mit.edu/handle/1721.1/</span><span class="invisible">6472</span></a></p><p>›Obviously Synchronizable Series Expressions — Part II: Overview of the Theory and Implementation‹ (<a href="https://mastodon.social/tags/AIM959a" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AIM959a</span></a>)<br>🧷 <a href="http://oastats.mit.edu/handle/1721.1/6474" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">http://</span><span class="ellipsis">oastats.mit.edu/handle/1721.1/</span><span class="invisible">6474</span></a></p><p>🌺 </p><p>🦎 <a href="https://t.me/FamilyOfLisp" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">t.me/FamilyOfLisp</span><span class="invisible"></span></a></p><p>🏷️ <a href="https://mastodon.social/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> <a href="https://mastodon.social/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a> <a href="https://mastodon.social/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a> <a href="https://mastodon.social/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a></p>
Jörg Preisendörfer<p><span class="h-card"><a href="https://coales.co/@thatgeoguy" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>thatgeoguy</span></a></span> </p><p>How about the <a href="https://mastodon.social/tags/Series" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Series</span></a> concept?</p><p>See p1026 of this PDF of <a href="https://mastodon.social/tags/CLtL2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CLtL2</span></a>:</p><p>🧷 <a href="https://libgen.rocks/ads.php?md5=9ED42DE1B022D561D78E9C07D098F518" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">libgen.rocks/ads.php?md5=9ED42</span><span class="invisible">DE1B022D561D78E9C07D098F518</span></a></p><p>Also this paper:</p><p>🧷 <a href="https://dl.acm.org/doi/pdf/10.1145/121999.122000" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">dl.acm.org/doi/pdf/10.1145/121</span><span class="invisible">999.122000</span></a> </p><p>🌺 </p><p>🦎 <a href="https://t.me/FamilyOfLisp" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">t.me/FamilyOfLisp</span><span class="invisible"></span></a></p><p>🏷️ <a href="https://mastodon.social/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> <a href="https://mastodon.social/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a> <a href="https://mastodon.social/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a> <a href="https://mastodon.social/tags/Transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Transducers</span></a></p>
Jeremy 🇨🇦<p>Been thinking about <a href="https://coales.co/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a> way too much lately. </p><p>In particular, I'm stuck on a point about how <a href="https://coales.co/tags/Clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Clojure</span></a> does transducers that isn't really possible in other <a href="https://coales.co/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> langs. </p><p>The point is monomorphism and polymorphism. Clojure seems able to provide generic transduce across a variety of types and collections by leveraging multi-methods. <a href="https://coales.co/tags/Scheme" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scheme</span></a> doesn't really have this though, and it seems like an un-parameterized assumption built into Clojure's transducers library.</p>
jpburstrom<p>So, here's my <a href="https://post.lurk.org/tags/introduction" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>introduction</span></a>: Composer and improvising musician, seasonal programmer, occasional (involuntary) builder, wannabe researcher, making sounds with <a href="https://post.lurk.org/tags/feedback" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>feedback</span></a> <a href="https://post.lurk.org/tags/doublebass" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>doublebass</span></a>, <a href="https://post.lurk.org/tags/transducers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>transducers</span></a>, <a href="https://post.lurk.org/tags/bela" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bela</span></a> and <a href="https://post.lurk.org/tags/supercollider" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>supercollider</span></a>. </p><p>Made music and sound with and for dancers, moving images, empty rooms, various speaker setups, generative albums, NES emulators and head-nodding audiences.</p><p>Swedish dad.</p>