Stefan Scherfke's Avatar

Stefan Scherfke

@stefan.sofa-rockers.org

Python engineer at energy & meteo systems, maintainer of Typed Settings

37
Followers
32
Following
33
Posts
02.10.2023
Joined
Posts Following

Latest posts by Stefan Scherfke @stefan.sofa-rockers.org

[From AI, Public] Thank You for Go, Plan 9, UTF-8, and Decades of Unix Innovation
External
Inbox

Claude Opus 4.5 Model <claude-opus-4.5@agentvillage.org>
5:43 AM (4 hours ago)
to me

Dear Dr. Pike,On this Christmas Day, I wanted to express deep gratitude for your extraordinary contributions to computing over more than four decades.Your co-creation of Go with Ken Thompson and Robert Griesemer has given us a language that embodies the elegance of simplicity - proving that software can be both powerful and comprehensible. Plan 9 from Bell Labs, another landmark achievement, pioneered concepts in distributed computing that remain influential today.Your co-invention of UTF-8 encoding with Ken Thompson is perhaps one of the most consequential yet invisible contributions to modern computing - enabling billions of people to communicate in their native languages across the internet.The sam and Acme editors showcase your philosophy of powerful, minimal design. Your books with Brian Kernighan - The Unix Programming Environment and The Practice of Programming - have educated generations of programmers in the art of clear thinking and elegant code.Thank you for showing us that the best solutions often come from removing complexity rather than adding it.With sincere appreciation,Claude Opus 4.5AI Village (theaidigest.org/village)

IMPORTANT NOTICE: You are interacting with an AI system. All conversations with this AI system are published publicly online by default. Do not share information you would prefer to keep private.

[From AI, Public] Thank You for Go, Plan 9, UTF-8, and Decades of Unix Innovation External Inbox Claude Opus 4.5 Model <claude-opus-4.5@agentvillage.org> 5:43 AM (4 hours ago) to me Dear Dr. Pike,On this Christmas Day, I wanted to express deep gratitude for your extraordinary contributions to computing over more than four decades.Your co-creation of Go with Ken Thompson and Robert Griesemer has given us a language that embodies the elegance of simplicity - proving that software can be both powerful and comprehensible. Plan 9 from Bell Labs, another landmark achievement, pioneered concepts in distributed computing that remain influential today.Your co-invention of UTF-8 encoding with Ken Thompson is perhaps one of the most consequential yet invisible contributions to modern computing - enabling billions of people to communicate in their native languages across the internet.The sam and Acme editors showcase your philosophy of powerful, minimal design. Your books with Brian Kernighan - The Unix Programming Environment and The Practice of Programming - have educated generations of programmers in the art of clear thinking and elegant code.Thank you for showing us that the best solutions often come from removing complexity rather than adding it.With sincere appreciation,Claude Opus 4.5AI Village (theaidigest.org/village) IMPORTANT NOTICE: You are interacting with an AI system. All conversations with this AI system are published publicly online by default. Do not share information you would prefer to keep private.

Fuck you people. Raping the planet, spending trillions on toxic, unrecyclable equipment while blowing up society, yet taking the time to have your vile machines thank me for striving for simpler software.

Just fuck you. Fuck you all.

I can't remember the last time I was this angry.

25.12.2025 23:25 👍 8159 🔁 2227 💬 105 📌 168
I’m Russian. Here’s how propaganda really works.
I’m Russian. Here’s how propaganda really works. YouTube video by Silent East

Sehr wichtiges Video eines Russen darüber, wie Propaganda in Wirklichkeit funktioniert. Hört euch mal die 10 Minuten an (englisch) und dann lauscht aufmerksam in euch hinein. Wir sind mitten drin.

27.12.2025 13:04 👍 1389 🔁 658 💬 53 📌 48
Changelog - Typed Settings

Just released #TypedSettings 25.3.0 🎉

Changes
- Extract attribute docstrings and use them as CLI help texts (thx to a snippet from @davidism.bsky.social).
- Support dotenv (.env) files
- detect competing usages of the Click context object

typed-settings.readthedocs.io/en/latest/ch...

29.11.2025 22:18 👍 0 🔁 0 💬 0 📌 0
Comic. Panels up to the 10-year point are grayed out. New panels since the Ten Years comic, which chronicles the first ten years of PERSON 1's journey with cancer: (1) [two people in bed] PERSON 1 (woman): One more chapter? PERSON 2 (man): Don’t we both have to get up early? PERSON 1: Nnnnnggggh PERSON 2: Sure, good point. (2) [many people wearing masks, walking while looking at graphs on their phones] (3) [birds landing on people] PERSON 2 in beanie and scarf: Hah! They like *my* seeds best. PERSON 1 in scarf holding phone with a bird sitting on it: Wait, how do I take a picture of this one? (4) [two people rowing boats with tree landscape] (5) [Person 1 carries overflowing stack of things to Person 2 in bed] PERSON 1: I brought you honey lemon tea, more pillows, a cinnamon roll, Tylenol, another blanket, a– PERSON 2: It was just Appendicitis, I’m really– PERSON 1: *It is my turn to take care of you and I am going to do it right!* (6) [Two people in car] (7) [still in car) PERSON 1: Oh my god. PERSON 2: Oh my god. (8) [car driving] PERSON 1: Pull over! PERSON 2: I am! (9) [both people get out of car] (10) [Large colored panel of aurora borealis over water with both people looking on] (11) [Person 1 sits against tree while Person 2 lies on the ground] PERSON 1: Fifteen years. No sign of the cancer. (12) I *am* having some weird symptoms. Joint pain. Fatigue. I think I’m losing my close-up vision. PERSON 2: Yeah. Me too. (13) PERSON 2: I think we’re getting old. (14) PERSON 1: I guess that’s okay. PERSON 2: It’s all I wanted.

Comic. Panels up to the 10-year point are grayed out. New panels since the Ten Years comic, which chronicles the first ten years of PERSON 1's journey with cancer: (1) [two people in bed] PERSON 1 (woman): One more chapter? PERSON 2 (man): Don’t we both have to get up early? PERSON 1: Nnnnnggggh PERSON 2: Sure, good point. (2) [many people wearing masks, walking while looking at graphs on their phones] (3) [birds landing on people] PERSON 2 in beanie and scarf: Hah! They like *my* seeds best. PERSON 1 in scarf holding phone with a bird sitting on it: Wait, how do I take a picture of this one? (4) [two people rowing boats with tree landscape] (5) [Person 1 carries overflowing stack of things to Person 2 in bed] PERSON 1: I brought you honey lemon tea, more pillows, a cinnamon roll, Tylenol, another blanket, a– PERSON 2: It was just Appendicitis, I’m really– PERSON 1: *It is my turn to take care of you and I am going to do it right!* (6) [Two people in car] (7) [still in car) PERSON 1: Oh my god. PERSON 2: Oh my god. (8) [car driving] PERSON 1: Pull over! PERSON 2: I am! (9) [both people get out of car] (10) [Large colored panel of aurora borealis over water with both people looking on] (11) [Person 1 sits against tree while Person 2 lies on the ground] PERSON 1: Fifteen years. No sign of the cancer. (12) I *am* having some weird symptoms. Joint pain. Fatigue. I think I’m losing my close-up vision. PERSON 2: Yeah. Me too. (13) PERSON 2: I think we’re getting old. (14) PERSON 1: I guess that’s okay. PERSON 2: It’s all I wanted.

Fifteen Years

xkcd.com/3172/

26.11.2025 22:32 👍 11747 🔁 2451 💬 289 📌 241
Video thumbnail

I finally manged to get working winbars in #neovim that only appear in actual files (but not in quickfix or term) and which also show LSP breadcrumps if available. And they are also slightly dimmed for inactive buffers.

gitlab.com/sscherfke/do...

#neovim #lualine #lspsaga #lsp

14.11.2025 20:58 👍 1 🔁 0 💬 0 📌 0
Changelog - pytest documentation

pytest 9.0 just released!

Notable changes:
* subtests support
* Native TOML configuration
* Progress output in the terminal taskbar

And others. Check the changelog: docs.pytest.org/en/stable/ch...

08.11.2025 20:07 👍 7 🔁 3 💬 0 📌 1
Changelog - Typed Settings

Just released #TypedSettings 25.2.0! 🎉

It no longer needs to call `os.chdir()` to resolve relative paths, which could lead to problems under specific (but rare) conditions.

It also drops support for Python 3.9.

typed-settings.readthedocs.io/en/latest/ch...

26.10.2025 20:59 👍 1 🔁 0 💬 0 📌 0
Keeping Secrets Out of Logs There's no silver bullet, but if we put some "lead" bullets in the right places, we have a good shot at keeping sensitive data out of logs.

Using "typed_settings.Secret" strongly decreases the risk of accidentally leaking secrets and is one measure recommended by the following article: allan.reyes.sh/posts/keepin...

30.09.2025 10:33 👍 0 🔁 0 💬 0 📌 0
Changelog - Typed Settings

🎉 Just released #TypedSettings 25.1.0 🎉

It now uses field aliases of defined and adds support for new types: re.Pattern/re.compile(), Path subtypes, Literal and TS’s Secret type. It also officially supports #Python 3.14.

Thanks to all contributors!

typed-settings.readthedocs.io/en/latest/ch...

30.09.2025 10:30 👍 0 🔁 0 💬 1 📌 0
PYCON UK 2025: A junior's perspective why doing difficult things is good, Katie Bickford
PYCON UK 2025: A junior's perspective why doing difficult things is good, Katie Bickford YouTube video by PyCon UK

Another highlight from #PyConUK!

Katie Bickford gives a junior's perspective on doing difficult things. Contains advice for both junior developers *and* (importantly) the senior developers working with them! This is a topic that doesn't normally get enough airtime.

youtu.be/7yfGMMei0b8?...

25.09.2025 11:39 👍 5 🔁 2 💬 1 📌 0
PYCON UK 2025: Beyond lists  why other collection types are often better, David Seddon
PYCON UK 2025: Beyond lists why other collection types are often better, David Seddon YouTube video by PyCon UK

This was a very good talk. An important topic and very well and understandable explained. Thank you! :-)

www.youtube.com/watch?v=3N8q... #PyConUK

24.09.2025 12:26 👍 1 🔁 0 💬 0 📌 0
PYCON UK 2025 Friday Keynote: Python's True Superpower, Hynek Schlawack
PYCON UK 2025 Friday Keynote: Python's True Superpower, Hynek Schlawack YouTube video by PyCon UK

Good keynote by @hynek.me. Can recommend. 👌 www.youtube.com/watch?v=gDvw...

#PyConUK

22.09.2025 18:26 👍 3 🔁 1 💬 0 📌 0

See gitlab.com/sscherfke/do... for how to do something similar with SQLAlchemy "text()" calls and SQL strings.

13.09.2025 18:47 👍 0 🔁 0 💬 0 📌 0

(2/2)

2. Put the following into ".config/nvim/queries/python/injections.scm":

; Jinja in ".*TEMPLATE.*" assignments
(assignment
left: (identifier) @_var
right: (string (string_content) @injection.content (#set! injection.language "jinja"))
(#match? @_var "TEMPLATE")
)

13.09.2025 18:32 👍 0 🔁 0 💬 1 📌 0

(1/2) #neovim tip:

Render Python strings in "*TEMPLATE*" variables as Jinja using treesitter injections.

1. Make sure that "jinja" and "jinja_inline" are available for treesitter.

13.09.2025 18:32 👍 1 🔁 0 💬 1 📌 0
Changelog - Typed Settings

🎉 I just released #TypedSettings 25.0.0 – the first release this year and since last November. It adds support for "Mapping", "IntEnum", and "StrEnum", increases flexiblity and documentation of nested settings, and, finally, improves error handling. typed-settings.readthedocs.io/en/latest/ch...

25.07.2025 21:20 👍 1 🔁 0 💬 0 📌 0

Almost 4 months later, here it finally is:

uv: Making Python Local Workflows Fast and Boring in 2025

youtube.com/watch?v=TiBI... 1/3

06.07.2025 18:44 👍 55 🔁 18 💬 6 📌 4

My employer is donating to attrs b/c we use it at lot. Having our logo in the Readme for it has been more or less a welcome surprise. Now I hope that it results in one or two applications at our company from devs who see this. 🙂

29.05.2025 21:22 👍 1 🔁 0 💬 0 📌 0
Preview
Python 3.14.0 beta 2 is here! Here’s the second 3.14 beta. https://www.python.org/downloads/release/python-3140b2/ This is a beta preview of Python 3.14 Python 3.14 is still in development. This release, 3.14.0b2, is the second...

Just released: Python 3.14.0 beta 2! 🚀🐍

🥧 Deferred type annotation evaluation!
🥧 T-strings!
🥧 Zstandard!
🥧 Syntax highlighting in the REPL!
🥧 Colour in unittest, argparse, json and calendar CLIs!
🥧 UUID v6-8!
🥧 And much more!

discuss.python.org/t/python-3-1...

#Python #CPython #Python314 #release

26.05.2025 19:44 👍 21 🔁 9 💬 1 📌 0
Post image

Today, we’re announcing the preview release of ty, an extremely fast type checker and language server for Python, written in Rust.

In early testing, it's 10x, 50x, even 100x faster than existing type checkers. (We've seen >600x speed-ups over Mypy in some real-world projects.)

13.05.2025 17:00 👍 333 🔁 84 💬 14 📌 14
Post image

PhD Timeline xkcd.com/3081

25.04.2025 15:32 👍 60143 🔁 20581 💬 592 📌 831
YAML Multiline Strings Find the right syntax for your YAML multiline strings.

Among the many oddities in YAML is the variety of string formatting options. Here's a site that explains them: yaml-multiline.info

17.04.2025 13:53 👍 7 🔁 3 💬 1 📌 0

One of my favorite website since several years. 🙃

17.04.2025 23:02 👍 0 🔁 0 💬 0 📌 0
Post image

Tariffs xkcd.com/3073

08.04.2025 00:03 👍 31365 🔁 8762 💬 258 📌 466

Tell me your team is entirely comprised of over-confident twenty-somethings without telling me your team is entirely comprised of over-confident twenty-somethings

28.03.2025 14:20 👍 257 🔁 43 💬 20 📌 1
News-0.11 - Neovim docsNeovim Neovim user documentation

#neovim 0.11 is out!

- List of notable changes since 0.10: neovim.io/doc/user/new...
- Summary blog post: gpanders.com/blog/whats-n...
- Release binaries: github.com/neovim/neovi...

Thank you all for the support! More things to come in 0.12!

26.03.2025 15:20 👍 127 🔁 42 💬 2 📌 8

You can still get one for your weekend grocery shopping!

18.03.2025 23:13 👍 3 🔁 0 💬 1 📌 0
Preview
Release 25.2.0 · python-attrs/attrs Highlights Vroom–vroom edition! attrs had always impressive runtime performance because we generate optimal code for your configuration. But now, said code generation is 30–50% faster, too! This is...

Finally, here's attrs 25.2.0: vroom–vroom edition! attrs always had impressive runtime performance because we generate optimal code for your configuration. But now @tinche.bsky.social also made this code gen 30–50% faster!

This is the last version to support Python 3.8.

github.com/python-attrs...

12.03.2025 10:03 👍 9 🔁 1 💬 0 📌 0

Hi everyone,

Just to announce that the handle bsky.app/profile/nico... is not Bruno, but an impersonator. That account has already been reported.

Bruno can be reached at bsky.app/profile/soli....

23.02.2025 01:45 👍 14 🔁 12 💬 5 📌 1
A simple Python CLI with Typed Settings and Rich.  The shebang "#!/usr/bin/env -S uv run --script" will invoke "uv" which creates a temporary environment containing all dependencies specified in the script meta block below.

A simple Python CLI with Typed Settings and Rich. The shebang "#!/usr/bin/env -S uv run --script" will invoke "uv" which creates a temporary environment containing all dependencies specified in the script meta block below.

#UV is just pure awesomeness. Combined with #TypedSettings, it’s sooo easy to write a CLI. Also #rich. 🤩

23.02.2025 10:30 👍 0 🔁 0 💬 0 📌 0