Published

All published posts

2493 posts latest post 2026-05-11
Publishing rhythm
Apr 2026 | 47 posts
k8s-monitoring-helm/charts/k8s-monitoring/docs/examples/private-image-registries/globally/values.yaml at main Ā· grafana/k8s-monitoring-helm Contribute to grafana/k8s-monitoring-helm development by creating an account on GitHub. GitHub Ā· github.com [1] k8s-monitoring requires setting imageregistry and pullsecrets twice global: image: registry: my.registry.com pullSecrets: - name: my-registry-creds imageRegistry: my.registry.com imagePullSecrets: - name: my-registry-creds 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://github.com/grafana/k8s-monitoring-helm/blob/main/charts/k8s-monitoring/docs/examples/private-image-registries/globally/values.yaml#L29 [2]: /thoughts/
No docs, no bugs If your library doesn't have any documentation, it can't have any bugs. Documentation specifies what your code is supposed to do. Your tests specify what it actually does. Bugs exist … Simon Willison’s Weblog Ā· simonwillison.net [1] Bugs exist when your test-enforced implementation fails to match the behavior described in your documentation. Without documentation a bug is just undefined behavior. This is quite an interesting thought, so does this mean that, none of my undocumented side projects have bugs? no I think there is still some implied behavior that naming things covers. a function get_bucket_contents implies doing something wtih s3, getting stuff from your local filesystem or crashing would be considered a bug. I think the argument here is that if I start mining bitcoin when you call get_bucket_contents and I have not documented it that this is a feature not a bug. If I were to take this a step further, now do I need to document that this does not also start a bitcoin miner? maybe this is more of an unwanted feature than a bug, I’m convincing myself more and more. Note This post is a thought [2]. It’s a short note that I make about someone else’s ...
- So many small details go into making hollow knight such a great game, but it starts with such good controls, every thing is so fluid and predictable. I knew about coyote time, but not some of the other details that Juniper covers, such as hang time, and faster decent than jump. 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/

tinyapps

I’m working on replacing my usage of google inline search apps with real apps, these are ones that I create and host on my own homelab [1]. The first three that I created are mostly chatgpt based, with a bit of hand edit after the fact, uploaded to minio and become an app on my k8s-pages [2] renamed The original title of this post was "Replacing Google Search Apps With Self Hosted Web Apps" I’m leaning on web wakelock [3] to keep the screen on while these apps are running, primarily clos, timer, and stopwatch. Clock # [4] A large displya clock. [5] Timer # [6] A simple timer that counts down from thet set time. [7] Stopwatch # [8] This is the one that inspired it all, I need to run a few stopwatches at work, and chose to just do it right in the google search with a few tabs running. [9] Dice # [10] A simple dice roller, this one is the one that I decided to start adding ? for help. [11] UUID # [12] It displays a uuid, thats it. ctrl + c to copy. [13] b64 # [1...
I’m trying to replace my usage of google inline search apps with real apps, today I used a stopwatch to time some things out at work by opening stopwatch. This was something I just wanted running in a tab on another screen, it was not timing running code or anything, I was using it as a reminder to check browser caches every 5 minutes or so for some testing. So tonight I whipped up a stopwatch [1], clock [2] and timer [3], all of which are using the wakelock API to keep the screen on while the app is running. // Wake Lock support let wakeLock = null; async function requestWakeLock() { try { if ('wakeLock' in navigator) { wakeLock = await navigator.wakeLock.request('screen'); console.log("Wake lock acquired"); } } catch (err) { console.error("Wake lock error:", err); } } document.addEventListener("visibilitychange", () => { if (wakeLock !== null && document.visibilityState === "visible") { requestWakeLock(); } }); requestWakeLock(); References: [1]: https://stopwatch.wayl.one [2]: https://clock.wayl.one [3]: https://timer.wayl.one
I’m impressed by dbztui [1] from pypeaday [2]. A DBZ TUI built with an early version of ninesUI and Windsurf References: [1]: https://github.com/pypeaday/dbztui [2]: https://github.com/pypeaday
I’ve been working on ninesui [1], inspired by k9s see thoughts-633 [2]. I want a good flow for making video for the readme and I am using charm.sh [3]’s vhs [4] for this. Its running in an archBTW distrobox and looks gawdaweful. sort.mp4 [5] The over saturated colors give it a really retro look, seems fine, but not my cup of tea. I tried to change the textual theme to tokyo-night and it might have made it a bit better, but still over-saturated. After # [6] What I found is that vhs has themes, setting it to dracula made everything much better. # sort.tape Output assets/sort.mp4 Output assets/sort.gif Require echo Set Shell "bash" Set FontSize 32 Set Width 1920 Set Height 1080 + Set Theme 'Dracula' sort.mp4 [7] NinesUI # [8] I’m using these in my ninesui [9] project, right now they are in the readme, but maybe some docs will grow eventually. Right now its hardcore explore phase. References: [1]: https://github.com/WaylonWalker/ninesui/blob/main/README.md [2]: https://thoughts.waylonwalker.com/post/633 [3]: https://charm.sh/apps/ [4]: https://github.com/charmbracelet/vhs [5]: https://dropper.waylonwalker.com/api/file/e86047ed-6881-43f7-8e3a-30411d51afaf.mp4 [6]: #after [...
External Link christopherbiscardi.com [1] Interesting take on kubernetes from a front end perspective. All valid arguments to me, and really the answer to any do you need to any specific implementation of tech is probably no. We got along just fine before k8s ever existed and you still can, but its really nice in a lot of cases. If your skills lean toward backend or infrastructure I encourage you to give it a try. k8s distros # [2] There are a lot of beginner friendly k8s distros that you can setup with relative ease, kind and k0s are great for single node, If you want multi-node k3s is what I generally use. If you want a very lightweight OS that you only interact with through an api, and has a very small attack surface talos is an amazing product. When else might you want k8s # [3] Internal, on-prem, self hosted [4]. If you are trying to avoid the cloud for cost, rules, regulations, red tape, kubernetes is a great option to manage your container workflows yourself without needing to have a cloud budget, get approvals and sign offs on running workflows in a public cloud. Note This post is a thought [5]. It’s a short note that I make about someone else’s content online #t...
Custom Keyboard Keycaps
A comparison of different custom mechanical keyboard keycap sets.

m9a devlog 1

It’s sad to see textualize.io close the doors, but textual is still alive and maintained as a n open source project. I tried to use it very early, and struggled, this was before docs and tutorials really existed, before a lot of the widgets and components existed. Then as we all do I got busy and moved on to other things in life and did not have the capacity to build TUIs. I like tuis # [1] I like tuis, I like staying in the terminal. I use lf [2] daily to move files around when I want something more than mv and cp. I use k9s [3] hourly to monitor and manage my kubernetes cluster. Are they worth the effort?? # [4] As awesome as tui’s are, they are more effort to build, and less automatable. I feel like the first stage into automation of a project really needs to be a good cli, and this is often good enough for the project and I move on. m9a (em - nine - ah) # [5] inspired by k9s Like I said I really like k9s and use it all the time, It really makes running kubectl commands a ...
- Just listened to this as I am really starting to get into grafana and feel like there isn’t a mountain of setup this time around realizing how much of my stack is brand new. Drill Down and Alloy are both new and key to my setup. The Ai integrations at the end sound wicked good, I will be interested if you can do similar things with an MCP vs how much proprietary stuff needs grafana cloud. 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/
Textual - The future of Textualize Textual is a TUI framework for Python, inspired by modern web development. Textual Documentation Ā· textual.textualize.io [1] Ultimately though a business needs a product. Textual has always been a solution in search of a problem. And while there are plenty of problems to which Textual is a fantastic solution, we weren’t able to find a shared problem or pain-point to build a viable business around. I can totally see this. Finding a marketable business idea is not easy, working in the developer space where everyone wants to do it themselves is no better. Textual specifically I could see, I really wanted to build things on it as it came out, I had ideas, it was hard to use at the time and changing, so I took a break, got busy with far too many other things, and really I ’m good with rich most of the time. I daily use k9s, its absolutely amazing at what it does and appreciate that I could build something like it in python, its just hard to justify the time investment for the things I tend to work on. Which is why Textualize, the company, will be wrapping up in the next few weeks. Damn, that hit hard, its been an adventure watching textual ge...
What’s next? Some years ago I had the opportunity to work fulltime on project of mine. This was at a time where I fully intended to take a year off, but being able to make a living off a project of your own cre... Will McGugan Ā· willmcgugan.github.io [1] So it’s back to plan A: taking a year off. I plan on using this time to focus on my health–something I haven’t prioritized while working as a CEO / Founder of a startup. Wish you the best Will, you have given us textual and rich, and from what I can tell left it in some great hands. All I can say for certain is that I would like to write more. Writing scratches many of the same itches as software development, and it is a skill I’d like to nurture. Go get em Will, write to your hearts desire, and resist the urge to make an SSG company this time. 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://willmcgugan.github.io/whats-next/ [2]: /thoughts/
Too much magic A common criticisms of frameworks like Textual is that they have ā€œtoo much magicā€. Will McGugan Ā· willmcgugan.github.io [1] Now ā€œtoo much magicā€ is not the same thing as ā€œbad magicā€, although they are often conflated. Bad magic is when the implementation details leak out from the level below. This can manifest itself as cryptic errors that reference the magic’s implementation. 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://willmcgugan.github.io/too-much-magic/ [2]: /thoughts/
- Dang Strong takes against markdown here with a strong push for bespoke content models/structures. This idea is completely foreign and wild to me. I get it that markdown has its issues with flavors, add ons and what not, but overall its mostly transportable, its a skill that works most content sites and writing tools. I am so far on the other side that I seek out tools with markdown as an option and lean away from wsiwyg tools with specialized data formats on the backend. I’ll end with, I’m also a dev that creates very simplified content and maybe seeing the backend of a site with lots of custom fields would be very eye opening for me. 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/
Week Links ā„–2: April 2025 Last year I attempted to do some newsletter-style link aggregation… that good intention imploded spectacularly. But I switched to Obsidian this month and now I have a better system for aggregatin... daverupert.com Ā· daverupert.com [1] Last year I attempted to do some newsletter-style link aggregation… that good intention imploded spectacularly. But I switched to Obsidian this month and now I have a better system for aggregating links (post on that coming later). Inside this issue you’ll find some games, some homelab [2] server hardware, some AI discourseā„¢, some musical instruments, and more. This hits so close to home, I even went through the effort of making a weeknotes script, one weeknote post. I also was inspired by obsidian but it didn’t work out for me, so my script uses data from markata. [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://daverupert.com/2025/05/week-links-2/ [2]: /homelab/ [3]: https://dropper.waylonwalker.com/api/file/b1a5212b-846f-4144-82ab-51cd9ace086d.webp [4]: /thoughts/
What ChatGPT is NOT - Tech Raven Blog There is a lot of excitement about ChatGPT and how it allows us to interact with information and technology. I am actually excited that it now exists and still, I think it is being way overhyped. I... Tech Raven Blog - Ā· blog.techravenconsulting.com [1] Do you remember regression models from college: given some data, you find a best fit line that allows you to predict Y given X. At the end of the day, ChatGPT, and LLMs in general, are the same thing as the regression model – it’s just that ChatGPT is the largest and fanciest model we currently have to model language and information. I really am coming to the idea of calling it a ā€œword calculatorā€, this seems to be the most succinct description of llms that the lay person can comprehend and relate to. ChatGPT does not hallucinate or become unhinged I think Steve goes much deeper on this in his intervew on fafo.fm [2]. They describe it more as a pleaser or ā€œyes manā€ essentially all the companies that are building these models want to give the ā€œbestā€ answer, better than their competitors. With this comes the risk of it being completely wrong, they are designed to always give an answer. O...
ā€œI’d rather read the promptā€ Clayton Ramsey grades student assignments and gets papers that are just obviously ChatGPT output. I think any of us can spot it by now: awkward repetitive prose, heavy on bullet points with bold in… Chris Coyier Ā· chriscoyier.net [1] I’ll triple down on the link-blog chain here, see this one going around all over this week and finally had time to read through when it hit my rss reader via Chris. It should come as no surprise that nearly every vibe-coded app on the Internet struggles with security issues; look no further than the vibe-coded recipe app that leaks its OpenAI keys. Every time one generates code by prompt, they create a new stillborn program; vibe coding [2] is the art of stitching together their corpses into Frankenstein’s monster. Damn, that is a strong statement, stitching together the corpses, strong statement here. The OpenAI key thing feels kind of obvious to me, every set of docs, blogs and examples on the internet need to be runnable for people to learn and try out new tech easy, putting secrets in the wrong place is easy, putting them somewhere that you can decode them without sharing them is hard team specific, app specific...
- Under 2000 everything is happy, green field. Any decision you have made is relatively easy to back out of (barring you making a library with downstream users), but as you go, regret kicks in. Regret we didn’t make that pydantic 2 upgrade earlier, as new features become more apealing. Regret that we chose sqlite for simplicity, speed, agility, and now we might need robust and distributed. Regret that you chose a front end framework, or to have a front end at all to a backend problem. Regret that you put 6 layers of abstraction on your db early on and now that you understand the problem you want different abstractions, but all of your endpoints deeply depend on the current one. Vibe coding [1] will not save you, it will only make these wrong decisions for you without the context that you have. You will hate it’s decisions more because you had no input into some of them. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /vibe-coding/ [2]: /thoughts/