The joy of Telegram bots 

I inherited a simple Telegram bot from someone. The ease of programming these small things really makes programming fun again.

You don't need any more than plain python and the requests module to run it.

The SonyDevWorld bot

While working on the bot, I familiarized myself once again with deploying small isolated services with systemd and it's --user features. Pretty neat.

I also wrote a small ansible role to deploy the bot onto a server.

··•··

Toggling dark mode manually via javascript 

Building upon my previous explorations, I wanted to let people without an OS-wide dark-mode toggle try it out themselves directly.

For that, we use the styleSheets.cssRules browser API.

Try it! toggle dark/light

function toggleDark() {
  let stylesheets = document.styleSheets;
  for (let sheet of stylesheets) {
    try {
      ruleList = sheet.cssRules;
      if (ruleList == undefined) {
        continue;
      }
    } catch (e) {
      // Catch CORS denials and skip stylesheet
      continue;
    }
    let dark = "(prefers-color-scheme: dark)"
    let light = "(prefers-color-scheme: light)"
    for (let rule of ruleList) {
      /* type 4 == CSSMediaRule */
      if (rule.type !== 4) {
        continue;
      }
      let text = rule.media.mediaText;
      if (text.slice(0, 22) == "(prefers-color-scheme:") {
        rule.media.mediaText == dark ?
          rule.media.mediaText = light :
          rule.media.mediaText = dark
      }
    }
  }
}

Caveat: If testing this on local file:// URIs, CORS will bite you, either on Chrome or FF. On FF, at least you can remedy this by setting privacy.file_unique_origin=false in about:config. See CVE-2019-11730.

For Firefox, you'd be better off installing the website-dark-mode-switcher add-on instead.

··•··

Dark Mode all the things!

I've recently reworked a whole lot of my pages to work with prefers-color-scheme. Not nearly as much work as I'd thought, lots of fun and the results look stunning.

See Dark Mode rework for details.

··•··

Music: Gerry Rafferty - As Wise as a Serpent

Calming, late-night highway music. Great for finding your inner peace in case you've lost track of it.

So we sit in empty rooms and dream our lives away
While the spirits come and go without a sound
Yeah just like you and me, they're tryin' to find a way, find a way, find a way home.

Official Video - Lyrics

··•··

Climbing knots 

Posting this mainly so I don't forget myself. In German, because that's the way I learnt it.

Knots

  • Ankerstich, Prussig, Doppelter Prussig
  • Mastwurf
  • Halbmastwurf
  • Halfmastwurf mit Sicherungsschlag -> "Halbmastwurf is never alone!"
  • Achter
  • Sackstich (Hausfrauenknoten)

Climbing

  • Use eight-knot for securing to lap belt
  • Use Halbmastwurf for belaying when securing a climber, keep end of rope (upwards?)
  • Must be clipped in at the top with two counter-facing carabiners when rappelling
  • When climbing along a rope course, have your two carabiners always clipped into opposite directions

Rappelling

  • Have ready: Two carabiners at the ends of your "tentacles"
  • Eighter metal piece for rappelling
  • Prussig, at the back
  • Using upper body strap, not lower

Misc

  • Connect two ropes by weaving an eighter from both sides, it's the most practical that way

See also: VDiff climbing

··•··

Running 

Man, does it feel great to run. I hadn't previously run more than five kilometers at a time regularly, but now I don't feel like I've even accomplished the bare minimum if I don't break ten. At some point, you don't even need music in your ears to keep you going, you just enter deeper into the zone.

Yes, this entry is pretty braggadocious. I felt the need to write it down nonetheless.

··•··

Music: The Dead South - In Hell I'll Be In Good Company

I'm beginning to warm up to Bluegrass music. Damn shame the Banjo's so heavily associated with red-state hillbillies when in actuality it is a very demanding and soulful instrument. The lyrics are wandering into darker territory, a welcome change from Country banalities.

Official Video

··•··

Recent films 

Ad Astra

I’d rather re-watch 2001…

So much attention to detail, but fails on the larger points. It took me a while to understand what the story was even about.

··•··

Recent Films 

Once upon a Time in the West

Solid, but forgettable.

First Tarantino movie that made me realize he's actually still a child. Not because of violence fantasies or lazy non-/racism or whathaveyou, but because he can't let anything in his movies have an emotional impact. Even when a character dies, he just makes you go “huh”, shrug, and carry on.

··•··

Recent films 

Human Flow

Even lazier than vice news. I understand the circumstances of the creation might've been difficult, but what an insult. As Jackie Chan says: “Will you go into every theater and tell the audience how hard the shoot was?”

First man

Kinda mesmerizing, mood-based rather than story-driven. Ryan Gosling is so bland, but somehow his movies always end up being very enjoyable, and his "character" somehow remains interesting.

Das Ende der Wahrheit

Who would have thought the German film industry could produce a proper thriller? Quite nicely done. A bit outmoded in terms of plot - “Agent uncovers shady weapons deals with evil country, weapons industry and politics/spooks are conspiring, he wants to get the truth out” - but the pacing is good and the actors are performing well (for German standards).

It's got some good shots. The action and combat sequences were great, but the aftermath of the café bombing had the best one: An aerial shot of the city with a plethora of blue lights blinking in the near distance, an understated way to emphasize the state of emergency. The lakeside location was a good touch, and you immediately know it was in Bavaria because the onion-domed tower managed to squeeze into the shots. Another nice one: Behrens paying Lemke a visit in his flat. Lemke just wants his cigarettes, unperturbed by the threat of physical violence, and seems so happy to find them stashed on the ledge. Only when both men have calmed down does the exposition start - that's good pacing.

Scenes of military operations, drone footage, the intersection of the civilian, politics and military, high-ranking civilians involved in military operations - seems we as a society collectively have a hard-on for these things since Sicario. But then again, I also always think “Sicario did it better” with regards to the atmosphere of dread portrayed.

What I didn't like: How the characters were just thrown at the viewer in the briefing scene. You didn't really know who was who, and to the end I still was not clear about Rauhweiler's, Vossmeier's, Schilling's or Grünhagen's position, I thought they were all some medium-ranking underlings in the section. Only after the thing (no spoilers) happens to Grünhagen and did I realize he was the president of the BND, and it seems Rauhweiler was a hotshot on some government committee on weapons oversight with real influence.
Also, German films have a tendency to use disheveled appearance and lacking personal hygiene as a shorthand for toughness, and it's not working at all. Give your protagonist a proper shave at least.
Having Global Logistics be the mysterious cabal steering everything was lazy (and having it be only German seemed even lazier), but the reveal of it being just a cog in the global security machine worked well. Sadly, the resolution and Lemke’s explanations were rushed.

But all in all, very enjoyable. And finally a mature ending! Instead of the family-friendly “evildoers brought to justice”, some proper, believable devil’s advocating and then - revenge instead of “the truth”. That's grown-up cinema. Well done.