バリウムやだ
手順としてはまずなんか粉をなんかの白い液で流して飲んで、それで発生するガスで胃が膨らんで、それを撮影する。問題はその粉。飲むときに気道に入ったのか、飲んで食堂が膨らんだのかわからないけど、30秒ほど息できなくなって陸で溺れるのかと思った。山で鍛えた肺活量に助かったのかは知らんけど一応そういうことにしよう。看護師さん派手にびびったと思う…(俺も派手にびびった。)
そして造影剤のバリウムはドロッとしたヨーグルトみたいな形状で腸の中で固まると困るから下剤飲んで出すけど、それが全然出ない。2錠飲んで出なかったらもう2錠飲んでねと言われたけど、全部飲んでも目安の時間の倍で出始めて普通に困る。
不快この上ない検査と副作用なのに、胃腸ガンの血液検査がオプションになってるのはアホちゃうんかい?今後はバリウムじゃない医療機関の健診にしよう…
Fixed my TLS
Usually there was no problem. Stuff worked just fine. Certificates were generated and renewed automatically. https://
links opened without ugly browser warnings about how you’re about to get hacked and it’s the end of the known universe.
But when it wasn’t “usually”, when Traefik just happened to restart for whatever reason, then all of that was obliterated. Since Traefik was running on ephemeral storage, eg nothing was really persisted, innocently tweaking some configuration (that resulted in a restart) could be catastrophic. You know, self-signed certificates and ugly browser warnings.
Upgrading the argo-cd Helm chart from 5.x to 8.x
I’ve been using Argo CD for GitOps automation for a very long time. I have it manage itself too! The other day I noticed that there was a new major version of Argo CD, so I decided to upgrade my stuff too. It did not go smoothly, though it wasn’t an issue with Argo CD itself.
It was the usual problem of Helm charts renaming and moving around stuff in their values.yaml, which results in significant breakage for (from an user perspective) no good reason. I summed up what I learned so others don’t have to play around with it so much.
How I set up my smart lights with Home Assistant
I’ve been playing around with smart lights for a while now. I have four Edison Smart filament bulbs, two Philips Hue white bulbs and some Switchbot bulb. I had a terrible experience with Switchbot bulbs (which is why I got the Hues in the first place), disconnecting and needing to be re-paired all the time, suddenly factory resetting themselves to max brightness in the middle of the night and such. So the one I kept is just a reading light now with a manual switch on my bedside table.
For the others though, I’ve wanted to have some manual switches for them too in addition to being able to control them through my smartphone. When I get home it’s still quicker to tap a physical switch than to whip up my phone, wait until the respective proprietary app connects to the bulbs and then I get some light.
What I ended up with: a Home Assistant Green with the external USB Zigbee dongle, three IKEA RODRET switches and this blog post. I got those Home Assistant devices because that’s what I could get shipping to Japan, but I believe the Yellow version has Zigbee built in, which should make it a little less clumsy.
The mythical modular monolith
So often I see people giving talks about how the microservice architecture is a failure. You end up losing transactional protections, you’ll have to “join” data across a network boundary, and that network boundary is “always” flaky. Wouldn’t it be much better if everything was in one process, where you could enjoy the benefits of transactions, neighboring data is just a method call away and the only network you have to worry about is the database connection?
Podman containers can’t talk to each other
The other day I decided to update my server-side rendering example, and I ran into a strange problem. While my compose.yaml hasn’t changed, my containers could not talk to each other. This was most apparent with the nginx container, which immediately crashed out with [emerg] 1#1: host not found in upstream
. What gives?
After a quick debugging including on a different computer, it became clear that my compose.yaml should be fine: it worked without issues on the computer that used Docker, but didn’t work with Podman. The issue with Podman was soon clear too: looking at podman network inspect
the "dns_enabled": false
was an obvious culprit. That’s where things got interesting.
2024を振り返ろう
2024はあまりいい味が残る年にはならなかった。始まりはいいものの、そのあとは負の連鎖が続くという感じでなかなか評価が厳しい。
Tricking the JVM JIT into speed
On the Clojurians Slack, PEZ brought some delicious Fibonacci performance tuning from the “languages” repo. While I don’t think that benchmark is as useful as mesmerizing the moving circles are in the animated graphs, I had a few very confusing and interesting discoveries.
Step 1: watch Alex Miller’s talk about Clojure’s interop performance. Step 2: learn how to actually do all that stuff. Step 3: notice that recursion does things. Step 4: magic.
-
Recent Posts
Tags
ale anime art beer blog clojure code coffee deutsch emo english fansub fest filozófia food gaming gastrovale geek hegymász jlc kaja kubernetes kultúra language literature live magyar movie másnap politika rant sport suli szolgálati közlemény travel társadalom ubuntu university weather work zene 日本 日本語 百名山 軽音-
Recent Posts
Tags
ale anime art beer blog clojure code coffee deutsch emo english fansub fest filozófia food gaming gastrovale geek hegymász jlc kaja kubernetes kultúra language literature live magyar movie másnap politika rant sport suli szolgálati közlemény travel társadalom ubuntu university weather work zene 日本 日本語 百名山 軽音七大陸最高峰チャレンジ