How to actually train your immune system

Anyone remember the animated children’s TV series Once Upon a Time… Life? It deserves remembrance for many reasons, but particularly for its memetic potential for sensible Public Health messaging.

You have some number (N) of immune cells in the mucosae of your airways.

Do you want them having to deal with 100% of whichever amount X of whatever pathogen you inhale?

Or will you help your immune system fight (and win!) smaller battles?

Which scenario sounds more like “training” to you?

It’s the dose that makes the poison. A high dose means something more like full combat for your immune system. That has some training effect, but of course much higher risk of damage.

Therefore: Clean your air, using masks/respirators, air purifiers/filters, etc. That trains your immune system in a safer manner, as do vaccines.

Further reading

Boost this post via Mastodon.

Energy-efficient recipe tweaks

Stove and oven are major consumers of electricity (and/or natural gas) in the household. While the main approaches to reducing greenhouse gas emissions should of course be political and economic, I’d like to list a few green cooking tweaks here.

Among other electricity green tweaks (another blog post), they helped my household of 2 to 3 IT people reduce our electricity use from 6 kWh per day in 20218 to just over 3 kWh/d in 2023. That’s despite ramping up WFH towards 100%, and consequently using oven and stove more often.

In my experience, these tweaks save both time and energy, and while they may not produce Instagrammable servings, they’re good enough for day-to-day life.

Lasagna

Usually, sauce bolognese / ragù is supposed to be pre-fried, so that any minced meat is definitely heated through. If you, however:

  • are sure about its freshness, or
  • have a lasagna dish with larger base area,

it’s probably OK to stack the lasagna with raw bolognese, just with 1 or 2 layers less than normal. The normal baking time should thus be sufficient.

Also, you can replace the béchamel sauce by adding some cheese or a splash of cream to each layer.

Minor downside: The consistency may tend towards burger patty, but that’s easily counteracted by less meat and more tomatoe in the bolognese.

Veggie chunks

Without going into the “Eat less meat!“ or “Eat more legumes!“ debates, I’d just like to point out one thing.

Producers like Davert (Ad apology, but I do like those!) often suggest pre-soaking dry veggie chunks in hot water. However, if a recipe contains any simmering step for a few minutes, just throw them in early and let’em soak up excess moisture.

Investment-Leckermäulchen

Laut des Statistischen Bundesamtes geben deutsche Haushalte für Schokolade (und anderen Süßkram) etwa 228 EUR jährlich aus. Ich möchte nur einen deutlich reduzierten Betrag ausgeben, z.B. 50% weniger. Dies jedoch für möglichst ökologisch und sozial verantwortlich produzierte Schokolade.

Hier kommt der fairafric Schokoschein ins Spiel: Ein quasi in “Naturalien” verzinstes Nachrangdarlehen. In der ersten Runde war ich schon dabei und habe entsprechend der Zinsen fairafric-Gutscheine erhalten und eingesetzt:

1
2
3
alt <- tibble::tribble(
~Jahr, ~Betrag, ~Zins,
2022, 1000, 0.08)

Wieviel sollte ich dieses Jahr investieren?

Die Optimierungsfrage hier lautet im Prinzip: Wie groß muss NA hier …

1
2
3
jetzt <- tibble::tribble(
~Jahr, ~Betrag, ~Zins,
2023, NA, 0.05)

… werden, um die genannte Reduktion des Durchschnitts zu erreichen?

Die Berechnung sieht folgendermaßen aus:

1
2
3
4
jetzt$Betrag <- (
Durchschnitt_DE * Reduktionsfaktor
- alt$Betrag * alt$Zins
) / jetzt$Zins

Vom reduzierten Durchschnitt wird:

  1. der Ertrag des alten Schokoscheins abgezogen, und
  2. der nun optimate Investitionsbetrag berechnet: 680 EUR.

Da die Schokoscheine jedoch nur in 1000-EUR-Tranchen ausgegeben werden …

1
2
N_Scheine    <- ceiling(jetzt$Betrag / Tranche)
jetzt$Betrag <- N_Scheine * Tranche

… müssen wohl oder übel (soweit dies für Schokolade möglich ist!) 1 Schokoschein(e) gezeichnet werden.

Im Umkehrschluss sollte dies folgenden Zinsbetrag pro Jahr einbringen:

1
2
3
4
5
Ertrag <- alt             |>
tibble::add_row(jetzt) |>
dplyr::tally(Betrag * Zins)

# dplyr docs: https://dplyr.tidyverse.org/index.html

Dies sollte einen Ertrag von 130 EUR pro Jahr ergeben, ergo 43% weniger als der deutsche Durchschnittshaushalt.

Die Umrechnung in letztendlich bestellbare Schokomenge geht so:

1
2
3
Spanne_EUR_pro_kg <- c(20, 35) # grob gerundet
Spanne_kg <- round(as.integer(Ertrag) / Spanne_EUR_pro_kg, 1)
cat(min(Spanne_kg), '-', max(Spanne_kg), 'kg')

3.7 - 6.5 kg

Diese Menge ist sicherlich auch gesünder, als die etwa 11 verzehrten Kilogramm Schokolade.


Es ist hoffentlich offensichtlich, dass all dies keine Finanzberatung ist. Es ist eine persönliche Erfahrung und ein lebensnahes Beispiel für tidy-R.

A universal FarmBot use-case

regadera (sustantivo, femenino)
Spanish for: watering can or sprinkler

This is not a product review but a constructively intended summary after a few days of tinkering with a FarmBot Genesis XL 1.5. “My” particular one was installed outside, on a stone-walled raised bed, had firmware version 15.3.6 installed, and had been debugged by an environmental engineering student for several months. However, several problems remained:

  • Drift of the actual movements, relative to saved coordinates resulted in the need for frequent recalibration. Possibly, the drift was due to inaccuracy of the stepper motor or due to thermal expansion of the components. The FarmBot was exposed to light from sunrise to late afternoon, but to cold winds at night.
  • See seeder tool specifically often dropped its seeds, because the vacuum pump stopped briefly. The fact that normal wind could also reach the FarmBot surely didn’t help either.
  • The Universal Tool Mount generally often failed with electrical connection errors.

These problems resulted in low reliability of sequences, so that I didn’t want to risk letting the bot work unattended. Are more recent FarmBots (versions >=1.6) or other farming robots more reliable? I’d be happy about feedback in the Fediverse or the bird-site!

However, two strengths unequivocally remained despite these problems: Planning and watering a garden patch.

Planning a FarmBot garden

This is done in a web interface, not unlike a casual computer game (documentation). Essentially, plants can be selected from a catalogue and placed either manually, or in a generated pattern.

Since 2022, good companion plants are catalogued, which helps to observe perma-/polyculture principles.

Typical seeding distances are pre-configured in the software, and can be used to mix larger and smaller plants, like tomato and basil in this example:

Screenshot of my.farmbot.io/app with inlaid photo of a basic watering step.

Automatic watering

After the planning, Events, Sequences and Regimens are intended to automate chores. However, my personal experience was that error-prone, high-accuracy actions like tool mounting and automatic seeding, remove substantial amounts of fun from the equation. I’m sure it’s somehow possible to achieve smoothly and without almost daily recalibration and debugging.

In conclusion, I arrived at the following, simplest, yet useful, and possibly universal use-case. Avoid tool-related steps and only use it for watering! For example:

  1. Create the seeding holes with the main water jet, using a basic Water plant sequence.
  2. Drop the seeds in those holes manually.
  3. Attach a water nozzle manually.
  4. Repeatedly re-run the same sequence to close the seeded holes and to water the growing plants (using Regimens in FarmBot’s software)

Unfortunately, with that reduced range of tasks, the FarmBot clearly competes with:

  • motivated humans who enjoy doing manual garden chores, esp. on sunny days :-)
  • any automated watering product that’s based on cheaper, simpler tech (e.g. timer, plus a pump attached to a water tap, plus drip-irrigation tubes).

Still I can’t help but image a FarmBot gantry bustling across any rectangular planting bed that I see during hikes now!

Async Awkwardness

Slack has Threads and Mentions & Reactions views. Twitter has a Notifications and Mentions sidebar. (In its search results for from:YOUR_HANDLE, we can only filter them by at least some Engangement numbers. *slow clap*.)

All these are like digital slot machines in surveillance capitalism‘s dirty trade of behavioural data for a little dopamine kick. The platform always wins.

To break that pattern, let’s take a hint from real-time, verbal communication: If something we say elicits no reaction from your conversation partner(s) we automatically feel a little awkward, right?

What does this moment of awkwardness cause? A follow-up question whether they understood what we meant? A clarification by us, or a rephrasing of our message in other words? Patience while we wait for their reply? Or maybe even an inner reflection about what we said?

In any case, it’s an opportunity to empathise and think. This is lacking in asynchronous social media, because inasmuch as it’s asynchronous (or easily interuptible by the next funny meme) it doesn’t come with the expectation of instant reactions. Thus, no asynchronous awkwardness arises.

Could intentionally providing a dedicated space for this (our posts that have not elicited any replies, shares, fav’s, likes, reactions, etc.) help nudge us towards reflection, patience, clarification or follow-up questions?

I think yes, and I’m starting to look for browser addons or user script or app functions or services that provide such a space for (or shortcut to) the overview of all my posts that nobody else cared about.

That should put things into some humility-inducing perspective.