-
āGradually roll out your releases to a small group of peopleā
~ roughly what prime said (Iām listening live)
This really hit home with me, tests can be so good at making sure that we dont repeat bugs and that laser focused things work, tests are generally small and focused, but this does not replace some sort of integration testing. These days very few things are written as a monolith, and hence there are a lot of interactions that really need to play well together accross various systems.
They call out Crowdstrike here, which took down the world blue screening critical windows systems everywhere in 2024. It was revealed that a small changed was rushed through and skipped critical rollout paths since it seemed like a small change. Crowdstrike also runs at a super low kernel level of access and a small memory bug can kill the system.
Note
This post is a thought [1]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /thoughts/
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
External Link
waylonwalker.com [1]
Iām trying to level up my sre game. Iām trying to set up grafana dashboards for everything and it is such a wide surface area. Itās never just one thing you have to have 3 or more things hooked together in order for the data to flow.
Iām really getting not invented here vibes, and thoughts that I can just build this myself. Not grafana and itās scalability necessarily, but small components of observability.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://waylonwalker.com/thoughts/thought-623/
[2]: /thoughts/
Kubernetes Monitoring Helm tutorial | Grafana Loki documentation
Grafana Labs Ā· grafana.com [1]
This is a really great guide to setting up kubernetes monitoring with helm, it uses loki as a log datasource and alloy as a collector of kubernetes logs, events, and nodes. The charts are setup really well to start collecting logs from all your kubernetes pods.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://grafana.com/docs/loki/latest/send-data/k8s-monitoring-helm/
[2]: /thoughts/
Configure the Tempo data source | Grafana documentation
Grafana Labs Ā· grafana.com [1]
Really helpful article to getting tempo datasource setup in grafana, this enables you to see span and trace data within grafana. This data helps debug and work through issues that you might come into with performance and need to see the timing of requests along with logs.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://grafana.com/docs/grafana/latest/datasources/tempo/configure-tempo-data-source/
[2]: /thoughts/
Iām trying to learn proper logs, monitoring, otel, and grafana. Today I
imported a bunch of pre-made k8s dashboards and made a few of my own for
specific apps, and it made me want to know how I can turn my own custom
dashboards into infrastructure as code. Turns out grafana makes it pretty easy
to do this, if you have the grafana dashboard sidecar running. It will pick up
any ConfigMap with the grafana_dashboard label and import it.
Go to Dashboards -> Pick a Dashboard -> Export -> JSON.
[1]
[2]
[3]
apiVersion: v1
kind: ConfigMap
metadata:
name: my-dashboard
namespace: meta
labels:
grafana_dashboard: "1"
data:
my-dashboard.json: |
{
"annotations": {
"list": [
...
"uid": "fel2uhjhepg5ce",
"version": 3
}
References:
[1]: https://dropper.waylonwalker.com/api/file/530e8515-a72a-4341-82d7-37f6f985e327.webp
[2]: https://dropper.waylonwalker.com/api/file/d792b2db-2dcf-465f-a400-e84f199ec22d.webp
[3]: https://dropper.waylonwalker.com/api/file/684701cc-efec-4e2b-9630-c8aea7ff5b14.webp
Just starred postiz-app [1] by gitroomhq [2]. Itās an exciting project with a lot to offer.
šØ The ultimate social media scheduling tool, with a bunch of AI š¤
References:
[1]: https://github.com/gitroomhq/postiz-app
[2]: https://github.com/gitroomhq
hollow knight home row layout
I just made it past 100% in my main hollow knight run, so now I will allow
myself to get silksong when it comes out. I did this with a little bit of YT
guidance, but mostly just figuring it out. I only just discovered the
ā ReznoRMichael hollow-knight-completion-check [1] which got me an extra 2% for
a few items I must have got and not saved on, because I was sure I had them.
Controller # [2]
Hollow Knight is a game that can be played with keyboard or controller, You can
use analog stick for movements, but they just translate to dpad, there really
are no analog moves in the game. This makes it ripe for playing on pure
keyboard. I really favor controller when there are more than one analog
(throttle, brake, steering for example).
On controller Iāve switched to only using d-pad as I feel like it gives me the
most crisp of controls. It is really easy to miss a pogo on analog by hitting
slightly left or right.
My Keyboard # [3]
My daily driver keyboard is a custom built 40% monoblo...
I recently discovered wezterm [1] by wezterm [2], and itās truly impressive.
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
References:
[1]: https://github.com/wezterm/wezterm
[2]: https://github.com/wezterm
fix feed descriptions
Today I fixed a bug in markata that has been occurring for a few months where
the description for posts come out as None if coming from cache, the issue was
a pretty simple check and pull properly from cache. This fixes all the
descriptions in feeds and metadata on the post.
Better description # [1]
While in there we went ahead and improved our get_description to more
accurately return plain text without escaped characters, remove cutoff words,
and add an elipsis if the description cuts off the text.
More description # [2]
While I was there I made longer form posts, til, blog-post use the super
description of 500 characters instead of the regular 120 character description.
Before # [3]
[4]
After # [5]
[6]
References:
[1]: #better-description
[2]: #more-description
[3]: #before
[4]: https://dropper.waylonwalker.com/api/file/8e9cf8e3-50ab-4e0a-be76-7241fbfe44c5.webp
[5]: #after
[6]: https://dropper.waylonwalker.com/api/file/29f96255-a89f-4ec6-b9e7-f61551366264.webp
External Link
fafo.fm [1]
Steve is such a great listen, the neurospicy š¶ļø rambles this episode goes on is so relatable. I feel like I really missed out on some great takes on intellij vs neovim, but got some really great knowledge about vector dbās, embedding, text compression, similarities to vector algegra like infinite craft.
Just popped open infinitecraft and Iāve definitely played this with my kids before, super fun, just could not remember the name of this one. I do remember an android one as well that is alchemist or something like that, which we have also played a lot.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://www.fafo.fm/vectorizing-your-databases-with-steve-pousty/
[2]: /thoughts/
Recovering from Disaster with Seth Eliot
Disaster recovery is more than automation and infrastructure. There's a lot that goes into your services and some of those things can't be defined as code or automaā¦
Fork Around And Find Out Ā· fafo.fm [1]
This episode really got me thinking about the difference between HA and DR and my approach to each one. They talk about it from the perspective of a cach cow kind of app rather than a homelab [2] or internal tooling, but think of HA as 9ās how many 9s are we willing to pay for, tink of DR as dollars how many dollars will we loose during the period of recovery. So much more in the episode, a lot of talk around cloud vendors and what they give you vs a purpose build platform with HA and DR in mind.
Note
This post is a thought [3]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://www.fafo.fm/recovering-from-disaster-with-seth-eliot/
[2]: /homelab/
[3]: /thoughts/
Just starred kubero [1] by kubero-dev [2]. Itās an exciting project with a lot to offer.
A free and self-hosted [3] PaaS alternative to Heroku / Netlify / Coolify / Vercel / Dokku / Portainer running on Kubernetes
References:
[1]: https://github.com/kubero-dev/kubero
[2]: https://github.com/kubero-dev
[3]: /self-host/
Iāve been using ruff to lint my python code for quite awhile now, I was pretty
early to jump on it after release. Some of my projects have had a nice
force-single-line setting and some have not. I dug into the docs and it was
not clear what I needed to make it work.
[tool.ruff]
select = ['I'] # you probably want others as well
[tool.ruff.isort]
force-single-line = true
Turns out I was missing Isort in the select list.
-
Astral is doing great things in the python industry. They are disrupting entire categories of tools with extremely fast, easy to use, and feature rich alternatives that make it really hard to keep using the incumbent. So far I am seeing no signs of evil, sometimes with such a disrupter there is some sort of downside that make it hard to want to do the switch. In the interview they even mention things like leaning on lsp so that it works across all editors rather than building out vscode integrations that work for most developers. As a neovim user I greatly apreciate this.
Note
This post is a thought [1]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /thoughts/
Playground | ty
An in-browser playground for ty, an extremely fast Python type-checker written in Rust.
types.ruff.rs [1]
ty, has a playground running at types.ruff.rs. You can edit code in there and see what the type checker results would be in browser. This looks good, excited to see it running in my lsp.
Here is an example where a Optional may not be defined.
[2]
Checking for existance before using it resolves the issue.
[3]
Note
This post is a thought [4]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://types.ruff.rs/
[2]: https://dropper.waylonwalker.com/api/file/783e4d9e-8b23-4304-8921-2ae05aebcc8a.webp
[3]: https://dropper.waylonwalker.com/api/file/cc28335c-4130-4bf4-829d-0ff39f2aa32d.webp
[4]: /thoughts/
I was looking back at my analytics [1] page today and wondered what were my
posts about back at the beginning. My blog is managed by markata [2] so I
looked at a few ways you could pull those posts up. Turns out itās pretty
simple to do, use the markata map with a filter.
from markata import Markata
m.map('title, slug, date', filter='date.year==2016', sort='date')
Note
the filter is python eval that should evaluate to a boolean, all of the
attributes of the post are available to filter on.
Result # [3]
[
('ā jupyterlab jupyterlab', 'jupyterlab-jupyterlab', datetime.date(2016, 12, 13)),
('ā nickhould tidy-data-python', 'nickhould-tidy-data-python', datetime.date(2016, 12, 9)),
(
'ā mikeckennedy write-pythonic-code-demos',
'mikeckennedy-write-pythonic-code-demos',
datetime.date(2016, 11, 22)
),
(
'ā mikeckennedy write-pythonic-code-for-better-data-science-webcast',
'mikeckennedy-write-pythonic-code-for-better-data-science-webcast',
datetime.date(2016, 11, 22)
),
('ā rajshah4 dlgroup', 'rajshah4-dlgroup', datetime.date(2016, 11, 18)),
('ā pandas-dev pandas', 'pandas-dev-pandas', datetime.date(2016, 10, 5))
]
You could use the list command as well right within y...
ty
An extremely fast Python type checker, written in Rust.
PyPI Ā· pypi.org [1]
Astral is working on some great things around python, they have created a high standard for python tooling built on rust that works really well, runs fast and covers everything in the space it resides in. ty appears to be their linter coming soon.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://pypi.org/project/ty/
[2]: /thoughts/
3D Printable Power Brick Bracket Designer
Generate custom 3D printable power brick brackets for your devices. Design and export your own mounting solutions.
Bracket Engineer Ā· bracket.engineer [1]
This is madness that Wes Bos made this with manifold.js and no openscad! Yes, I have these stupid brackets everywhere, yes, I hand model my own brackets. No I donāt do it enough. I donāt like that these model generators like openscad cannot make fillets and chamfers, but I appreciate the heck out of the speed and automation you can make iterations of things.
Link to the promo video.
https://bsky.app/profile/wesbos.com/post/3lo4h7unk6s2i
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://bracket.engineer/?width=113.5&height=63&depth=98&bracketThickness=3&ribbingCount=9&ribbingThickness=2.5&holeDiameter=5&holeCount=1&earWidth=17&keyHole=on&color=%2344ff00
[2]: /thoughts/
bracket.engineer [1] by wesbos [2] is a game-changer in its space. Excited to see how it evolves.
Generate 3D printable power brick brackets.
References:
[1]: https://github.com/wesbos/bracket.engineer
[2]: https://github.com/wesbos
661: Working Vacations, Ripping Out JavaScript, and Non-US Cloud Service Options
What are the non-US cloud services options, falling off the blogging train and trying to get back on, working on vacation, Chris recaps the Alaskan Folk Festival experience, how often do you go bacā¦
ShopTalk Ā· shoptalkshow.com [1]
Chris hit me where it feels about 10 minutes in. He said he has not been writing on his site as much lately and how hard it is to get back in. He mentions having a baby idea of a post, but then having the thought do you really want to come back from a long break with this!
Momentum is a b**** when you got it you cant stop, and when you donāt you canāt stop.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: https://shoptalkshow.com/661/
[2]: /thoughts/