RSSAmplifier

Blog

Die wunderbare Welt von Isotopp

Recent content on Die wunderbare Welt von Isotopp

blog.koehntopp.infoRSS feed ↗20 posts

Latest posts

Moore's Law und die AI Blase

[ basierend auf einer Reihe von Artikeln in Mastodon ] Compute-Angebot 1965 schrieb Gordon E. Moore den Artikel “Cramming more components onto integrated circuits” . Darin beschreibt er die Beobachtung, die später, ungefähr ab 1975 durch Carver Mead, als “Moore’s Law” bezeichnet wurde. Moore’s Law sagt im Kern: Alle x Monate verdoppelt sich die Anzahl der…

Zusammenfassung Fossilfrei

[ basierend auf einem Mastodon-Thread ] Wir haben im März 2025 die Gasheizung abgeschaltet. Seitdem - also seit mehr als einem Jahr - heizen und kühlen wir das Haus mit Klimageräten, also Luft-Luft-Wärmepumpen. Die erste Beschreibung der Installation steht in Going fully electric , die Auswertung nach einem Jahr in One year gas-free . Das kurze Ergebnis: Es funktioniert. Im Winter wird das Haus…

LLM Driven Development

Codex ist die Shell von OpenAI zur Unterstützung von Softwareentwicklung mit Large Language Models. Es ist eine Anwendung, die auf dem Computer läuft, also dort Dateien verändern und Kommandos ausführen kann. Man kann Codex verwenden, um sich Software schreiben zu lassen. Wenn man das jedoch naiv macht bekommt man keine guten Ergebnisse. Tatsächlich ist es dringend notwendig, die Abläufe und…

One year gas-free

On 1 April 2025 we stopped heating the house with natural gas. The installation was described while it was still fresh in Going fully electric : two Panasonic multi-split air-air heat pump systems, seven indoor units, and a heat-pump boiler for warm water. One year later the interesting question is no longer whether the house can be heated. It can. The interesting question is where the energy…

Warte, Python macht... was?

In der Heise-Meldung zur Supply-Chain-Attacke auf LiteLLM ist die Rede von einem Credential-Stealer in LiteLLM. Der wird bei jedem Start von Python aktiviert, wenn LiteLLM installiert ist, auch dann, wenn das Paket nicht importiert wird oder benutzt wird. Es reicht, wenn es ist den Site Packages enthalten ist. Das ist der interessante Teil an dem Angriff, weil er eine Eigenschaft von Python…

Modernizing the blog publishing workflow

I have been cleaning up the publishing workflow for this blog. The old setup still worked, but it was clearly from an earlier GitHub Actions era: one single deploy job, peaceiris/actions-hugo@v2 to install Hugo, and peaceiris/actions-gh-pages@v3 to push the generated site. That got the job done, but it also meant that the workflow was tied to third-party actions, hidden runtime assumptions and a…

Solar und Batterie

[ basierend auf einer Reihe von Artikeln in Mastodon ] Solar mit Batterie – was kostet der Speicher? Kommerzielle große Solaranlagen werden heute oft mit angeschlossenem Batteriespeicher gebaut. Das liegt daran, dass der Energiebedarf abends, nach Sonnenuntergang, oft am größten ist. Die Speicherdauer, “hours of storage” oder “E/P Ratio” (Energy-to-Power Ratio) bezeichnet…

Debug Hugo

Sometimes you want to debug Hugo templates, and yearn for a PHP var_dump() like facility. This is how to do it in Hugo: we define a partial debug-context.html , which we can call in templates, {{ partial "debug-context.html" . }} . The single dot in there is important, it is a parameter, the context. we define a shortcode debug-context.html , which we can put into a page markdown using {{<…

Physics of Data Centers in Space

Did it ever occur to you why your computer has a fan, and why that fan usually stays quiet until the machine actually starts doing something? Compute means Heat When your laptop sits idle, very little is happening electrically. Modern processors are extremely aggressive about not working unless they have to. Large parts of the chip are clock-gated or power-gated entirely. No clock edges means no…

KaTeX Test

This is a KaTeX rendering test post. Inline math should render here: $E = mc^2$, $a^2 + b^2 = c^2$, and $\int_0^1 x^2 , dx = \frac{1}{3}$. Display math using $$...$$ : $$ \sum_{k=1}^{n} k = \frac{n(n+1)}{2} $$ Display math using \[...\] : [ f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{- \frac{(x-\mu)^2}{2\sigma^2}} ] Matrix and limits test: $$ \lim_{x \to 0} \frac{\sin x}{x} = 1,\quad A = \begin{bmatrix}…

Mermaid Test

This is a Mermaid rendering test post. If Mermaid is wired correctly, both diagrams below should render as SVG diagrams. flowchart TD A[Write Markdown] --> B[Hugo Build] B --> C[Load mermaid.js] C --> D[Render Diagram] sequenceDiagram participant U as User participant B as Browser participant H as Hugo Site U->>B: Open post page B->>H: Request HTML + JS bundle H-->>B: Return page with mermaid.js…

BOFHLE revisited

After the BOFHLE article I wondered if the game can always be solved with the limit of 6 guesses. So I wrote some Python code to solve the game. We are using the same score_word() function as before, and then implement the guessing strategy we laid out in the previous article. This is suggest_top() in the codebase. Example session Let&rsquo;s choose pkill as the secret to guess. Initializing a new…

BOFHLE

BOFHLE is a game of wordle with Unix commands. That is, you get to guess a 5-letter Unix command in six tries or fewer. After each try you get a hint: black: the letter is not present in the secret command. yellow: the letter is present, but not in this position. green: the letter is present and in this position. List of commands The set of commands is not Linux-specific, and when you make a list…

pysembr

With the 2025.3 release, JetBrains retired the Gracie Pro Plugin, a tool that until recently provided, among other features, the option to apply structural wrapping to a file. For natural languages this feature automatically applied formatting rules similar to SemBr . SemBr helps writers by inserting line breaks at semantic boundaries rather than simply at arbitrary character counts, which keeps…

MySQL: Flag Codes from Country Codes

Regional Indicator Symbols in Unicode are the codes starting at U+1F1E6 to U+1F1FF . If you combine two of them in a valid ISO-3166-1 alpha-2 codes, they produce the flag corresponding to that code. We want a function flag_emoji() that takes such a two-letter code and emits the appropriate Unicode codepoint: SELECT flag_emoji('GB') AS gb, flag_emoji('us') AS us, flag_emoji('de') AS de \G gb: 🇬🇧…

Athom CO2 Sensors

Cheap and integrated CO2 sensors are finally available. I got mine from Athom . They cost $25 per device. The device uses an ESC32C3 (4M) as a foundation and sports a Sensirion SCD 40. It does measure CO2 in range from 400-2000 ppm with 5% accuracy (that&rsquo;s the Sensirion Spec), and also acts as a Bluetooth Proxy (because the ESP32 can do that). Unpacking is easy enough. Connecting to the Wifi…

Two Years Megane

It has now been two years since we got the Megane e-Tech . Renault Megane e-Tech parked in Zandvoort aan Zee at the beach promenade in rainy weather. The car uses Google Automotive Services (GAS). It is basically an Android with a really big battery pack. Energy On long-distance drives in the Netherlands, we use about 14.4 kWh/100 km at the maximum allowed speed of 100 km/h. In Germany I usually…

Modern PHP (8.x)

I have not been doing PHP in a long time, and so I am writing this here as a memo to self, in order to remind me what features are &ldquo;new&rdquo; in PHP, with &ldquo;new&rdquo; meaning 7.0 and newer. Here is the 8.x edition. Features PHP version Category Feature 8.0 Syntax Named arguments 8.0 Classes Attributes (annotations) 8.0 Syntax Constructor property promotion 8.0 Typing Union types 8.0…

Modern PHP (7.x)

I have not been doing PHP in a long time, and so I am writing this here as a memo to self, in order to remind me what features are &ldquo;new&rdquo; in PHP, with &ldquo;new&rdquo; meaning 7.0 and newer. Features PHP version Category Feature 7.0 Typing declare(strict_types=1) directive 7.0 Typing Scalar type declarations 7.0 Typing Return type declarations 7.0 Operators Null coalescing operator…

MySQL: Release Notes Database

I’ve hacked together a horrible thing in Python, and made it available in mysql-release-notes on GitHub. It’s a Python project (done with uv ) that downloads all MySQL release notes, dumps them into a release_notes folder, and then parses them, pushing everything into a database. It uses SQLAlchemy and mysqlclient to connect to the database. It generates a schema (not preserving any data), and…