#reactive — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #reactive, aggregated by home.social.
-
#ReleaseFriday Triggered by a recent feature proposal[1], I went ahead and polished & published a closely related, already work-in-progress (but still private) feature in https://thi.ng/rdom to support something I call "bare lists"[2]. I've started working on this for another project last year, but needed to do more testing (which I think have sufficiently done by now).
These "bare" lists are managed reactive control components which attach items directly to the list's parent DOM element instead of first creating a wrapper/container element for the items and so avoid introducing additional nesting.
There're many use cases where this additional nesting was a real problem with the earlier approach, e.g. in containers with CSS grid or flex layout, tables, or generally situations where we want to have static & reactive list items as true siblings...
The new version of thi.ng/rdom is technically a breaking change (sorry!), but the actual changes required (for you) are tiny and purely limited to the
$list()and$klist()component function calls, which are now accepting a parameter object instead of positional args for the different possible behaviors. Of course, lists with item wrapper elements can still be created too, just as before (but via new args).I've updated & tested all existing examples impacted by this change and also created a new fully commented example project (example #187) to illustrate these "bare" lists in situ (check the DOM inspector to see the shallow structure and how updates are applied):
Demo:
https://demo.thi.ng/umbrella/rdom-bare-lists/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/rdom-bare-lists/src/index.ts[1] github.com/thi-ng/umbrella/discussions/562
[2] My use of "list" here is generic, not limited to<ul>or<ol>...#ThingUmbrella #Reactive #UI #OpenSource #TypeScript #JavaScript #WebDev
-
#ReleaseFriday Triggered by a recent feature proposal[1], I went ahead and polished & published a closely related, already work-in-progress (but still private) feature in https://thi.ng/rdom to support something I call "bare lists"[2]. I've started working on this for another project last year, but needed to do more testing (which I think have sufficiently done by now).
These "bare" lists are managed reactive control components which attach items directly to the list's parent DOM element instead of first creating a wrapper/container element for the items and so avoid introducing additional nesting.
There're many use cases where this additional nesting was a real problem with the earlier approach, e.g. in containers with CSS grid or flex layout, tables, or generally situations where we want to have static & reactive list items as true siblings...
The new version of thi.ng/rdom is technically a breaking change (sorry!), but the actual changes required (for you) are tiny and purely limited to the
$list()and$klist()component function calls, which are now accepting a parameter object instead of positional args for the different possible behaviors. Of course, lists with item wrapper elements can still be created too, just as before (but via new args).I've updated & tested all existing examples impacted by this change and also created a new fully commented example project (example #187) to illustrate these "bare" lists in situ (check the DOM inspector to see the shallow structure and how updates are applied):
Demo:
https://demo.thi.ng/umbrella/rdom-bare-lists/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/rdom-bare-lists/src/index.ts[1] github.com/thi-ng/umbrella/discussions/562
[2] My use of "list" here is generic, not limited to<ul>or<ol>...#ThingUmbrella #Reactive #UI #OpenSource #TypeScript #JavaScript #WebDev
-
#ReleaseFriday Triggered by a recent feature proposal[1], I went ahead and polished & published a closely related, already work-in-progress (but still private) feature in https://thi.ng/rdom to support something I call "bare lists"[2]. I've started working on this for another project last year, but needed to do more testing (which I think have sufficiently done by now).
These "bare" lists are managed reactive control components which attach items directly to the list's parent DOM element instead of first creating a wrapper/container element for the items and so avoid introducing additional nesting.
There're many use cases where this additional nesting was a real problem with the earlier approach, e.g. in containers with CSS grid or flex layout, tables, or generally situations where we want to have static & reactive list items as true siblings...
The new version of thi.ng/rdom is technically a breaking change (sorry!), but the actual changes required (for you) are tiny and purely limited to the
$list()and$klist()component function calls, which are now accepting a parameter object instead of positional args for the different possible behaviors. Of course, lists with item wrapper elements can still be created too, just as before (but via new args).I've updated & tested all existing examples impacted by this change and also created a new fully commented example project (example #187) to illustrate these "bare" lists in situ (check the DOM inspector to see the shallow structure and how updates are applied):
Demo:
https://demo.thi.ng/umbrella/rdom-bare-lists/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/rdom-bare-lists/src/index.ts[1] github.com/thi-ng/umbrella/discussions/562
[2] My use of "list" here is generic, not limited to<ul>or<ol>...#ThingUmbrella #Reactive #UI #OpenSource #TypeScript #JavaScript #WebDev
-
#ReleaseFriday Triggered by a recent feature proposal[1], I went ahead and polished & published a closely related, already work-in-progress (but still private) feature in https://thi.ng/rdom to support something I call "bare lists"[2]. I've started working on this for another project last year, but needed to do more testing (which I think have sufficiently done by now).
These "bare" lists are managed reactive control components which attach items directly to the list's parent DOM element instead of first creating a wrapper/container element for the items and so avoid introducing additional nesting.
There're many use cases where this additional nesting was a real problem with the earlier approach, e.g. in containers with CSS grid or flex layout, tables, or generally situations where we want to have static & reactive list items as true siblings...
The new version of thi.ng/rdom is technically a breaking change (sorry!), but the actual changes required (for you) are tiny and purely limited to the
$list()and$klist()component function calls, which are now accepting a parameter object instead of positional args for the different possible behaviors. Of course, lists with item wrapper elements can still be created too, just as before (but via new args).I've updated & tested all existing examples impacted by this change and also created a new fully commented example project (example #187) to illustrate these "bare" lists in situ (check the DOM inspector to see the shallow structure and how updates are applied):
Demo:
https://demo.thi.ng/umbrella/rdom-bare-lists/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/rdom-bare-lists/src/index.ts[1] github.com/thi-ng/umbrella/discussions/562
[2] My use of "list" here is generic, not limited to<ul>or<ol>...#ThingUmbrella #Reactive #UI #OpenSource #TypeScript #JavaScript #WebDev
-
#ReleaseFriday Triggered by a recent feature proposal[1], I went ahead and polished & published a closely related, already work-in-progress (but still private) feature in https://thi.ng/rdom to support something I call "bare lists"[2]. I've started working on this for another project last year, but needed to do more testing (which I think have sufficiently done by now).
These "bare" lists are managed reactive control components which attach items directly to the list's parent DOM element instead of first creating a wrapper/container element for the items and so avoid introducing additional nesting.
There're many use cases where this additional nesting was a real problem with the earlier approach, e.g. in containers with CSS grid or flex layout, tables, or generally situations where we want to have static & reactive list items as true siblings...
The new version of thi.ng/rdom is technically a breaking change (sorry!), but the actual changes required (for you) are tiny and purely limited to the
$list()and$klist()component function calls, which are now accepting a parameter object instead of positional args for the different possible behaviors. Of course, lists with item wrapper elements can still be created too, just as before (but via new args).I've updated & tested all existing examples impacted by this change and also created a new fully commented example project (example #187) to illustrate these "bare" lists in situ (check the DOM inspector to see the shallow structure and how updates are applied):
Demo:
https://demo.thi.ng/umbrella/rdom-bare-lists/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/rdom-bare-lists/src/index.ts[1] github.com/thi-ng/umbrella/discussions/562
[2] My use of "list" here is generic, not limited to<ul>or<ol>...#ThingUmbrella #Reactive #UI #OpenSource #TypeScript #JavaScript #WebDev
-
#Reactive programming was way ahead of its time. Combined with a bit of framework code and if you feel like it, mix in some Scala too, one stack trace analysed by whatever model will catapult you right away into the top 10 of token users this month.
-
#Whiterot are some #fungi of #Agaricomycetes that degrade cellulose, hemicellulose, and #lignin. Since lignin is often degraded first, the affected plant parts appear #whitish. I. Jofré-Fernández et al. (2023) found that white rot affects #reactive #oxygenspecies (#ROS), thus promoting #CO2 #efflux from #soils, which can be a climate-relevant factor.
©#StefanFWirth #BerlinPlease support me with a small donation:
https://ko-fi.com/sfwirthRef
https://doi.org/10.3389/fmicb.2023.1148750#Photos
©S F Wirth -
#Whiterot are some #fungi of #Agaricomycetes that degrade cellulose, hemicellulose, and #lignin. Since lignin is often degraded first, the affected plant parts appear #whitish. I. Jofré-Fernández et al. (2023) found that white rot affects #reactive #oxygenspecies (#ROS), thus promoting #CO2 #efflux from #soils, which can be a climate-relevant factor.
©#StefanFWirth #BerlinPlease support me with a small donation:
https://ko-fi.com/sfwirthRef
https://doi.org/10.3389/fmicb.2023.1148750#Photos
©S F Wirth -
#Whiterot are some #fungi of #Agaricomycetes that degrade cellulose, hemicellulose, and #lignin. Since lignin is often degraded first, the affected plant parts appear #whitish. I. Jofré-Fernández et al. (2023) found that white rot affects #reactive #oxygenspecies (#ROS), thus promoting #CO2 #efflux from #soils, which can be a climate-relevant factor.
©#StefanFWirth #BerlinPlease support me with a small donation:
https://ko-fi.com/sfwirthRef
https://doi.org/10.3389/fmicb.2023.1148750#Photos
©S F Wirth -
#Whiterot are some #fungi of #Agaricomycetes that degrade cellulose, hemicellulose, and #lignin. Since lignin is often degraded first, the affected plant parts appear #whitish. I. Jofré-Fernández et al. (2023) found that white rot affects #reactive #oxygenspecies (#ROS), thus promoting #CO2 #efflux from #soils, which can be a climate-relevant factor.
©#StefanFWirth #BerlinPlease support me with a small donation:
https://ko-fi.com/sfwirthRef
https://doi.org/10.3389/fmicb.2023.1148750#Photos
©S F Wirth -
#Whiterot are some #fungi of #Agaricomycetes that degrade cellulose, hemicellulose, and #lignin. Since lignin is often degraded first, the affected plant parts appear #whitish. I. Jofré-Fernández et al. (2023) found that white rot affects #reactive #oxygenspecies (#ROS), thus promoting #CO2 #efflux from #soils, which can be a climate-relevant factor.
©#StefanFWirth #BerlinPlease support me with a small donation:
https://ko-fi.com/sfwirthRef
https://doi.org/10.3389/fmicb.2023.1148750#Photos
©S F Wirth -
Формы в Angular: от Reactive Forms к Signal Forms
Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.
https://habr.com/ru/companies/domclick/articles/1018180/
#angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы
-
Формы в Angular: от Reactive Forms к Signal Forms
Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.
https://habr.com/ru/companies/domclick/articles/1018180/
#angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы
-
Формы в Angular: от Reactive Forms к Signal Forms
Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.
https://habr.com/ru/companies/domclick/articles/1018180/
#angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы
-
Формы в Angular: от Reactive Forms к Signal Forms
Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.
https://habr.com/ru/companies/domclick/articles/1018180/
#angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы
-
Added, updated & simplified the growing collection of darkroom-related calculators and super happy how elegant and concise the code has turned out, making it super easy to add more of them in the future.
I think it's also another great, if minimal, example to illustrate how otherwise completely separate https://thi.ng/umbrella packages can seamlessly compose/combine to enable a reactive dataflow UI, all without the need for any virtual DOMs and/or completely over-the-top frameworks like React & co. It's also doing so via mostly JS-native data structures for declaring the UI (plain objects/arrays/iterables) and various constructs directly managing the reactive value streams, thus providing a lot more finegrained control over UI updates/timing/throttling). Any value changes done by the user only trigger specific, pin-point calculations which then result in equally specific UI updates to show new results. Any user action only ever triggers the minimum amount of work needed to reflect the new state.
Calculators:
https://demo.thi.ng/umbrella/darkroom-calc/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/srcThe attached images show the source code of the entire main app (UI root) and one of the calculators...
Ps. Please let me know if you'd like to see more of these posts in the future. I'm tempted to launch season 2 of #HowToThing (see link below for 30 previous mini projects/tutorials) — but since this is very time consuming to produce & document these projects/examples, and because there has been _very little feedback_ to these previous projects/posts, I first need to gauge interest... Thank you! 🫶
https://codeberg.org/thi.ng/umbrella#howtothing
#ThingUmbrella #Darkroom #Calculator #Tool #Reactive #UI #WebDev #TypeScript #JavaScript #OpenSource
-
Added, updated & simplified the growing collection of darkroom-related calculators and super happy how elegant and concise the code has turned out, making it super easy to add more of them in the future.
I think it's also another great, if minimal, example to illustrate how otherwise completely separate https://thi.ng/umbrella packages can seamlessly compose/combine to enable a reactive dataflow UI, all without the need for any virtual DOMs and/or completely over-the-top frameworks like React & co. It's also doing so via mostly JS-native data structures for declaring the UI (plain objects/arrays/iterables) and various constructs directly managing the reactive value streams, thus providing a lot more finegrained control over UI updates/timing/throttling). Any value changes done by the user only trigger specific, pin-point calculations which then result in equally specific UI updates to show new results. Any user action only ever triggers the minimum amount of work needed to reflect the new state.
Calculators:
https://demo.thi.ng/umbrella/darkroom-calc/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/srcThe attached images show the source code of the entire main app (UI root) and one of the calculators...
Ps. Please let me know if you'd like to see more of these posts in the future. I'm tempted to launch season 2 of #HowToThing (see link below for 30 previous mini projects/tutorials) — but since this is very time consuming to produce & document these projects/examples, and because there has been _very little feedback_ to these previous projects/posts, I first need to gauge interest... Thank you! 🫶
https://codeberg.org/thi.ng/umbrella#howtothing
#ThingUmbrella #Darkroom #Calculator #Tool #Reactive #UI #WebDev #TypeScript #JavaScript #OpenSource
-
Added, updated & simplified the growing collection of darkroom-related calculators and super happy how elegant and concise the code has turned out, making it super easy to add more of them in the future.
I think it's also another great, if minimal, example to illustrate how otherwise completely separate https://thi.ng/umbrella packages can seamlessly compose/combine to enable a reactive dataflow UI, all without the need for any virtual DOMs and/or completely over-the-top frameworks like React & co. It's also doing so via mostly JS-native data structures for declaring the UI (plain objects/arrays/iterables) and various constructs directly managing the reactive value streams, thus providing a lot more finegrained control over UI updates/timing/throttling). Any value changes done by the user only trigger specific, pin-point calculations which then result in equally specific UI updates to show new results. Any user action only ever triggers the minimum amount of work needed to reflect the new state.
Calculators:
https://demo.thi.ng/umbrella/darkroom-calc/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/srcThe attached images show the source code of the entire main app (UI root) and one of the calculators...
Ps. Please let me know if you'd like to see more of these posts in the future. I'm tempted to launch season 2 of #HowToThing (see link below for 30 previous mini projects/tutorials) — but since this is very time consuming to produce & document these projects/examples, and because there has been _very little feedback_ to these previous projects/posts, I first need to gauge interest... Thank you! 🫶
https://codeberg.org/thi.ng/umbrella#howtothing
#ThingUmbrella #Darkroom #Calculator #Tool #Reactive #UI #WebDev #TypeScript #JavaScript #OpenSource
-
Added, updated & simplified the growing collection of darkroom-related calculators and super happy how elegant and concise the code has turned out, making it super easy to add more of them in the future.
I think it's also another great, if minimal, example to illustrate how otherwise completely separate https://thi.ng/umbrella packages can seamlessly compose/combine to enable a reactive dataflow UI, all without the need for any virtual DOMs and/or completely over-the-top frameworks like React & co. It's also doing so via mostly JS-native data structures for declaring the UI (plain objects/arrays/iterables) and various constructs directly managing the reactive value streams, thus providing a lot more finegrained control over UI updates/timing/throttling). Any value changes done by the user only trigger specific, pin-point calculations which then result in equally specific UI updates to show new results. Any user action only ever triggers the minimum amount of work needed to reflect the new state.
Calculators:
https://demo.thi.ng/umbrella/darkroom-calc/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/srcThe attached images show the source code of the entire main app (UI root) and one of the calculators...
Ps. Please let me know if you'd like to see more of these posts in the future. I'm tempted to launch season 2 of #HowToThing (see link below for 30 previous mini projects/tutorials) — but since this is very time consuming to produce & document these projects/examples, and because there has been _very little feedback_ to these previous projects/posts, I first need to gauge interest... Thank you! 🫶
https://codeberg.org/thi.ng/umbrella#howtothing
#ThingUmbrella #Darkroom #Calculator #Tool #Reactive #UI #WebDev #TypeScript #JavaScript #OpenSource
-
Added, updated & simplified the growing collection of darkroom-related calculators and super happy how elegant and concise the code has turned out, making it super easy to add more of them in the future.
I think it's also another great, if minimal, example to illustrate how otherwise completely separate https://thi.ng/umbrella packages can seamlessly compose/combine to enable a reactive dataflow UI, all without the need for any virtual DOMs and/or completely over-the-top frameworks like React & co. It's also doing so via mostly JS-native data structures for declaring the UI (plain objects/arrays/iterables) and various constructs directly managing the reactive value streams, thus providing a lot more finegrained control over UI updates/timing/throttling). Any value changes done by the user only trigger specific, pin-point calculations which then result in equally specific UI updates to show new results. Any user action only ever triggers the minimum amount of work needed to reflect the new state.
Calculators:
https://demo.thi.ng/umbrella/darkroom-calc/Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/srcThe attached images show the source code of the entire main app (UI root) and one of the calculators...
Ps. Please let me know if you'd like to see more of these posts in the future. I'm tempted to launch season 2 of #HowToThing (see link below for 30 previous mini projects/tutorials) — but since this is very time consuming to produce & document these projects/examples, and because there has been _very little feedback_ to these previous projects/posts, I first need to gauge interest... Thank you! 🫶
https://codeberg.org/thi.ng/umbrella#howtothing
#ThingUmbrella #Darkroom #Calculator #Tool #Reactive #UI #WebDev #TypeScript #JavaScript #OpenSource
-
Real-time data looks easy until you connect it to an actual stream.
This tutorial shows how to:
process live Bitcoin trades in Java
build Bollinger Bands with sliding windows
detect volatility regimes (not just signals)No Kafka. No heavy framework. Just Quarkus + Gatherers4j.
https://www.the-main-thread.com/p/real-time-bitcoin-analytics-java-quarkus-bollinger-bands
-
Hibernate Reactive: опыт миграции, архитектурные компромиссы и скрытая сложность
Наш проект на Quarkus столкнулся с необходимостью более эффективного использования ресурсов под высокой нагрузкой. В поисках решения мы решили попробовать миграцию с классического Hibernate ORM на Hibernate Reactive (HR). В этой статье я поделюсь реальным опытом этого перехода: разберу ключевые архитектурные различия, расскажу о неочевидных «граблях», на которые мы наступили, и покажу на production-коде, какую цену пришлось заплатить за реактивность. Версии используемого ПО: Quarkus: 3.31.3, Quarkus Hibernate Reactive: 3.31.3 и Vertx-pg-client (реактивный клиент PostgreSQL): 4.5.24. Все описанные ниже вопросы и особенности актуальны именно для этих версий.
-
Started creating browser-based calculators for quickly computing a bunch of recurring things in darkroom processing, so far:
Scale amount by area:
Given reference dimensions and amount, compute scaled amount needed for new target dimensions.
Example: Compute drops of emulsion needed for a new print sizeTwo-part solution ratio:
For a total volume of a two-part solution with a A:B target mix ratio, compute how many units are needed of both A and B.
Example: For N drops in total, compute how many drops are needed for A & B using a 1.2:1 target ratioSolution addition:
Compute the amount of solution A (with given concentration) to add to another volume to achieve a certain target concentration (for solution A)
Example: How many extra drops of a 25% contrast agent solution are needed to achieve a 5% solution with a certain base emulsion volumeMore calculators forthcoming... Feel free to ping me with any other useful formulas you'd like to have added...
Bookmark this on your phone:
https://demo.thi.ng/umbrella/darkroom-calc/(The UI is responsive to the system's dark mode setting)
Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/Btw. This is https://thi.ng/umbrella example project #186 and relies mostly on these packages:
- https://thi.ng/rdom & https://thi.ng/rstream for reactive UI & computation
- https://thi.ng/rdom-forms for reactive form element abstraction/creation#ThingUmbrella #AltProcess #Darkroom #DarkroomPrint #AnalogPhotography #Calculator #Reactive #UI #TypeScript
-
Started creating browser-based calculators for quickly computing a bunch of recurring things in darkroom processing, so far:
Scale amount by area:
Given reference dimensions and amount, compute scaled amount needed for new target dimensions.
Example: Compute drops of emulsion needed for a new print sizeTwo-part solution ratio:
For a total volume of a two-part solution with a A:B target mix ratio, compute how many units are needed of both A and B.
Example: For N drops in total, compute how many drops are needed for A & B using a 1.2:1 target ratioSolution addition:
Compute the amount of solution A (with given concentration) to add to another volume to achieve a certain target concentration (for solution A)
Example: How many extra drops of a 25% contrast agent solution are needed to achieve a 5% solution with a certain base emulsion volumeMore calculators forthcoming... Feel free to ping me with any other useful formulas you'd like to have added...
Bookmark this on your phone:
https://demo.thi.ng/umbrella/darkroom-calc/(The UI is responsive to the system's dark mode setting)
Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/Btw. This is https://thi.ng/umbrella example project #186 and relies mostly on these packages:
- https://thi.ng/rdom & https://thi.ng/rstream for reactive UI & computation
- https://thi.ng/rdom-forms for reactive form element abstraction/creation#ThingUmbrella #AltProcess #Darkroom #DarkroomPrint #AnalogPhotography #Calculator #Reactive #UI #TypeScript
-
Started creating browser-based calculators for quickly computing a bunch of recurring things in darkroom processing, so far:
Scale amount by area:
Given reference dimensions and amount, compute scaled amount needed for new target dimensions.
Example: Compute drops of emulsion needed for a new print sizeTwo-part solution ratio:
For a total volume of a two-part solution with a A:B target mix ratio, compute how many units are needed of both A and B.
Example: For N drops in total, compute how many drops are needed for A & B using a 1.2:1 target ratioSolution addition:
Compute the amount of solution A (with given concentration) to add to another volume to achieve a certain target concentration (for solution A)
Example: How many extra drops of a 25% contrast agent solution are needed to achieve a 5% solution with a certain base emulsion volumeMore calculators forthcoming... Feel free to ping me with any other useful formulas you'd like to have added...
Bookmark this on your phone:
https://demo.thi.ng/umbrella/darkroom-calc/(The UI is responsive to the system's dark mode setting)
Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/Btw. This is https://thi.ng/umbrella example project #186 and relies mostly on these packages:
- https://thi.ng/rdom & https://thi.ng/rstream for reactive UI & computation
- https://thi.ng/rdom-forms for reactive form element abstraction/creation#ThingUmbrella #AltProcess #Darkroom #DarkroomPrint #AnalogPhotography #Calculator #Reactive #UI #TypeScript
-
Started creating browser-based calculators for quickly computing a bunch of recurring things in darkroom processing, so far:
Scale amount by area:
Given reference dimensions and amount, compute scaled amount needed for new target dimensions.
Example: Compute drops of emulsion needed for a new print sizeTwo-part solution ratio:
For a total volume of a two-part solution with a A:B target mix ratio, compute how many units are needed of both A and B.
Example: For N drops in total, compute how many drops are needed for A & B using a 1.2:1 target ratioSolution addition:
Compute the amount of solution A (with given concentration) to add to another volume to achieve a certain target concentration (for solution A)
Example: How many extra drops of a 25% contrast agent solution are needed to achieve a 5% solution with a certain base emulsion volumeMore calculators forthcoming... Feel free to ping me with any other useful formulas you'd like to have added...
Bookmark this on your phone:
https://demo.thi.ng/umbrella/darkroom-calc/(The UI is responsive to the system's dark mode setting)
Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/Btw. This is https://thi.ng/umbrella example project #186 and relies mostly on these packages:
- https://thi.ng/rdom & https://thi.ng/rstream for reactive UI & computation
- https://thi.ng/rdom-forms for reactive form element abstraction/creation#ThingUmbrella #AltProcess #Darkroom #DarkroomPrint #AnalogPhotography #Calculator #Reactive #UI #TypeScript
-
Started creating browser-based calculators for quickly computing a bunch of recurring things in darkroom processing, so far:
Scale amount by area:
Given reference dimensions and amount, compute scaled amount needed for new target dimensions.
Example: Compute drops of emulsion needed for a new print sizeTwo-part solution ratio:
For a total volume of a two-part solution with a A:B target mix ratio, compute how many units are needed of both A and B.
Example: For N drops in total, compute how many drops are needed for A & B using a 1.2:1 target ratioSolution addition:
Compute the amount of solution A (with given concentration) to add to another volume to achieve a certain target concentration (for solution A)
Example: How many extra drops of a 25% contrast agent solution are needed to achieve a 5% solution with a certain base emulsion volumeMore calculators forthcoming... Feel free to ping me with any other useful formulas you'd like to have added...
Bookmark this on your phone:
https://demo.thi.ng/umbrella/darkroom-calc/(The UI is responsive to the system's dark mode setting)
Source code:
https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/darkroom-calc/Btw. This is https://thi.ng/umbrella example project #186 and relies mostly on these packages:
- https://thi.ng/rdom & https://thi.ng/rstream for reactive UI & computation
- https://thi.ng/rdom-forms for reactive form element abstraction/creation#ThingUmbrella #AltProcess #Darkroom #DarkroomPrint #AnalogPhotography #Calculator #Reactive #UI #TypeScript
-
WebFlux, Virtual Threads и все-все-все
Или: как спорили о реактивщине, а потом Java 21 всё запутала ещё сильнее Реактивное программирование обещало нам масштабируемость и производительность. Оно их дало. Но вместе с этим подарило новый вид боли: stacktrace на 47 фреймов, половина из которых operator.onNext , а элементарные вещи написаны так, словно решаешь задачу на leetcode. Потом подвезли Virtual Threads, и половина интернета написала «реактивщина умерла», другая – «ничего не изменилось». Истина где-то посередине. Попробуем с вами разобраться.
https://habr.com/ru/articles/1011538/
#webflux #виртуальные_потоки #virtual_threads #spring #java #reactive
-
React-Like JSX Syntax for Webcomponents
TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.
The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.
Check out the full #TechnicalTutorial and #DeepDive here: https://positive-intentions.com/docs/research/Tutorials/dim/dim-functional-webcomponents
(Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)
#WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity
-
React-Like JSX Syntax for Webcomponents
TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.
The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.
Check out the full #TechnicalTutorial and #DeepDive here: https://positive-intentions.com/docs/research/Tutorials/dim/dim-functional-webcomponents
(Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)
#WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity
-
React-Like JSX Syntax for Webcomponents
TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.
The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.
Check out the full #TechnicalTutorial and #DeepDive here: https://positive-intentions.com/docs/research/Tutorials/dim/dim-functional-webcomponents
(Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)
#WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity
-
React-Like JSX Syntax for Webcomponents
TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.
The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.
Check out the full #TechnicalTutorial and #DeepDive here: https://positive-intentions.com/docs/research/Tutorials/dim/dim-functional-webcomponents
(Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)
#WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity
-
React-Like JSX Syntax for Webcomponents
TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.
The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.
Check out the full #TechnicalTutorial and #DeepDive here: https://positive-intentions.com/docs/research/Tutorials/dim/dim-functional-webcomponents
(Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)
#WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity
-
Shipping raw logs over the network works.
Until traffic spikes and your log pipeline becomes the bottleneck.I wrote a hands-on tutorial showing how to:
- batch logs
- compress them with LZ4
- stream them via SSE using Quarkus + Mutiny
- and actually measure the bandwidth savingsReal code. Real failure modes. No magic.
https://www.the-main-thread.com/p/quarkus-lz4-real-time-log-streaming-sse
-
Shipping raw logs over the network works.
Until traffic spikes and your log pipeline becomes the bottleneck.I wrote a hands-on tutorial showing how to:
- batch logs
- compress them with LZ4
- stream them via SSE using Quarkus + Mutiny
- and actually measure the bandwidth savingsReal code. Real failure modes. No magic.
https://www.the-main-thread.com/p/quarkus-lz4-real-time-log-streaming-sse
-
ReactiveEffect во Vue 3: что на самом деле исполняет вашу реактивность
В предыдущей статье мы разобрали trackOpBits — механизм оптимизации трекинга зависимостей во Vue 3. Но тогда мы смотрели на систему через одну конкретную оптимизацию. Сегодня поднимемся уровнем выше. Почти всё, что вы делаете во Vue:
-
trackOpBits во Vue 3: как битовые маски ускоряют ReactiveEffect
Привет, Хабр. Это моя первая статья здесь. Долгое время не решался что-то публиковать, хотя регулярно читал и разбирал материалы других авторов. Для первой публикации я выбрал тему внутренней оптимизации реактивности во Vue 3 — trackOpBits и работу ReactiveEffect . Этот механизм почти не заметен при обычной работе с фреймворком, но он напрямую влияет на производительность рендера компонентов и поведение вложенных computed. В статье разберём, какую проблему решает trackOpBits , как именно он используется внутри системы реактивности и почему эта оптимизация важна в реальных приложениях.
-
Leading and Lagging Indicators both have their purposes, but it's important to stay ahead of problems in quality, safety, or in compliance functions, not handle them late. #leading #lagging #indicator #proactive #reactive
-
@amoateng has put together an initial roadmap to get Unicorn to a stable 1.0 release. 🤩
We'd love your feedback! What would be most useful for Unicorn going forward? How can we set it up for improved support and adoption in the #Django ecosystem?
https://github.com/adamghill/django-unicorn/discussions/768#discussioncomment-15598088
#HTML #Reactive #WebDev #WebDevelopment #Web #AJAX #JavaScript #Python
-
Inspecting HTTP requests in Quarkus sounds easy.
It isn’t.Reading the body too early, blocking the IO thread, or forgetting to reset the stream will break your API.
This hands-on guide shows how to do request auditing, sanitization, and tracing correctly with Quarkus REST and @ServerRequestFilter.
Code. Real pitfalls. No magic.
👉 https://www.the-main-thread.com/p/quarkus-request-filters-auditing-sanitization-tracing
-
Heart disease is the leading cause of death in the United States.
Since researchers first established the link between #diet, #cholesterol and #heart #disease in the 1950s, risk for heart disease has been partly assessed based on a patient’s cholesterol levels, which can be routinely measured via blood work at the doctor’s office.
⭐️However, accumulating evidence over the past two decades demonstrates that a biomarker called #C-#reactive #protein
– which signals the presence of low-grade inflammation
– is a better predictor of risk for heart disease than cholesterol.💥As a result, in September 2025, the American College of Cardiology published new recommendations for #universal #screening of C-reactive protein levels in all patients, alongside measuring cholesterol levels.
What is C-reactive protein?
C-reactive protein is created by the liver in response to infections, tissue damage, chronic inflammatory states from conditions like autoimmune diseases,
and metabolic disturbances like obesity and diabetes.
Essentially, it is a marker of inflammation – meaning immune system activation – in the body.
✅ C-reactive protein can be easily measured with blood work at the doctor’s office.
A low C-reactive protein level
– under 1 milligram per deciliter
– signifies minimal inflammation in the body, which is protective against heart disease.
An elevated C-reactive protein level of greater than 3 milligrams per deciliter, signifies increased levels of inflammation
and thus increased risk for heart disease.
About 52% of Americans have an elevated level of C-reactive protein in their blood
https://theconversation.com/how-c-reactive-protein-outpaced-bad-cholesterol-as-leading-heart-disease-risk-marker-271143?utm_content=buffer2a9e0&utm_medium=social&utm_source=bluesky&utm_campaign=buffer -
Da wir uns bisher noch nicht einigen konnten, dachten wir, fragen wir Euch! Haben die Elemente "Draggable" gemacht. So könnte ihr alles umsortieren und anordnen, wie es euch gefällt. Uuund wenn ihr dann "Save as Default" im klickt. Kommt das JSON in die Zwischenablage. Das könnte ihr das als Issue im Repo hinterlegen.
Das ginge hier:
https://codeberg.org/c3hamm/JEK25/issues
Zur Not auch als PM. Be calm, ist alles noch n bissel #wip.
\__
#GUI #UX #Draggable #reactive #Design #GameDev #FOSS #100DaysOfCode -
Da wir uns bisher noch nicht einigen konnten, dachten wir, fragen wir Euch! Haben die Elemente "Draggable" gemacht. So könnte ihr alles umsortieren und anordnen, wie es euch gefällt. Uuund wenn ihr dann "Save as Default" im klickt. Kommt das JSON in die Zwischenablage. Das könnte ihr das als Issue im Repo hinterlegen.
Das ginge hier:
https://codeberg.org/c3hamm/JEK25/issues
Zur Not auch als PM. Be calm, ist alles noch n bissel #wip.
\__
#GUI #UX #Draggable #reactive #Design #GameDev #FOSS #100DaysOfCode -
Da wir uns bisher noch nicht einigen konnten, dachten wir, fragen wir Euch! Haben die Elemente "Draggable" gemacht. So könnte ihr alles umsortieren und anordnen, wie es euch gefällt. Uuund wenn ihr dann "Save as Default" im klickt. Kommt das JSON in die Zwischenablage. Das könnte ihr das als Issue im Repo hinterlegen.
Das ginge hier:
https://codeberg.org/c3hamm/JEK25/issues
Zur Not auch als PM. Be calm, ist alles noch n bissel #wip.
\__
#GUI #UX #Draggable #reactive #Design #GameDev #FOSS #100DaysOfCode -
Da wir uns bisher noch nicht einigen konnten, dachten wir, fragen wir Euch! Haben die Elemente "Draggable" gemacht. So könnte ihr alles umsortieren und anordnen, wie es euch gefällt. Uuund wenn ihr dann "Save as Default" im klickt. Kommt das JSON in die Zwischenablage. Das könnte ihr das als Issue im Repo hinterlegen.
Das ginge hier:
https://codeberg.org/c3hamm/JEK25/issues
Zur Not auch als PM. Be calm, ist alles noch n bissel #wip.
\__
#GUI #UX #Draggable #reactive #Design #GameDev #FOSS #100DaysOfCode -
Just published a new hands-on tutorial:
Reactive Messaging with Quarkus — from REST to real-time.I walk through building a full event-driven pipeline:
➡️ open a “tap”
➡️ emit orders via REST
➡️ stream through a kitchen processor
➡️ aggregate results on completion
➡️ send final notificationsAll with MicroProfile Reactive Messaging and zero external brokers.
Read it here:
https://www.the-main-thread.com/p/quarkus-reactive-messaging-tutorial-java-event-driven -
Just back from Crete, minimal Wi-Fi, max inspiration ☀️
So I built a reactive web MP3 player with Quarkus + Mutiny — streaming, metadata, and all.Java can be fast and fun.
Read the full story & tutorial →
https://www.the-main-thread.com/p/reactive-mp3-player-quarkus-mutiny-java -
Just back from Crete, minimal Wi-Fi, max inspiration ☀️
So I built a reactive web MP3 player with Quarkus + Mutiny — streaming, metadata, and all.Java can be fast and fun.
Read the full story & tutorial →
https://www.the-main-thread.com/p/reactive-mp3-player-quarkus-mutiny-java