Archive

All published posts

2605 posts latest post 2026-10-24
Publishing rhythm
Sep 2026 | 28 posts

May 12 – May 18, 20251 year ago

Featured this weekWriting

I’ve been working on ninesui, inspired by k9s see thoughts-633. I want a good flow for making video for the readme and I am using charm.sh’s vhs for this. Its running in an archBTW distrobox and looks gawdaweful.

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 #

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'

NinesUI #

I’m using these in my ninesui project, right now they are in the readme, but maybe some docs will grow eventually. Right now its hardcore explore phase.

Note

Note

May 5 – May 11, 20251 year ago

Featured this weekWriting

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 thin…

Writing

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.

image
image
image
apiVersion: v1
kind: ConfigMap
metadata:
  name: my-dashboard
  namespace: meta
  labels:
    grafana_dashboard: "1"
data:
  my-dashboard.json: |
    {
      "annotations": {
        "list": [
      ...
      "uid": "fel2uhjhepg5ce",
      "version": 3
    }

Writing

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 which got me an extra 2% for a few items I must hav…

Link

Just starred postiz-app by gitroomhq. It’s an exciting project with a lot to offer. 📨 The ultimate social media scheduling tool, with a bunch of AI 🤖

Link

I recently discovered wezterm by wezterm, and it’s truly impressive. A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

Photo journal · May 5 – May 11, 2025

In pictures 1 photographs

Custom Keyboard Keycaps
A comparison of different custom mechanical keyboard keycap sets.

Note

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 simila…

Note

Textual - The future of Textualize Textual is a TUI framework for Python, inspired by modern web development. Textual Documentation · textual.textualize.io 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…

Note

Note

Note

Note

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 Last year I attempted to do some newsletter-style link aggregat…

Note

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 Do you remember regression model…

Note

“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 I’ll triple down on the link-blog chain here, see this one go…

Note

External Link youtube.com 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 th…

Note

“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 integr…

Note

External Link waylonwalker.com 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 thought…

Note

Note

Apr 28 – May 4, 20251 year ago

Featured this weekWriting

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.

Writing

I was looking back at my analytics page today and wondered what were my posts about back at the beginning. My blog is managed by markata 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 #

[
    ('⭐ 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 your shell and the same map and filters work.

⬢ [devtainer-0.1.3] ❯ markata list --map title --filter='date.year==2016'
[22:35:06] 2088/2145 posts skipped                                                                       skip.py:36
           57/2145 posts not skipped                                                                     skip.py:37

⭐ pandas-dev pandas
⭐ rajshah4 dlgroup
⭐ mikeckennedy write-pythonic-code-for-better-data-science-webcast
⭐ mikeckennedy write-pythonic-code-demos
⭐ nickhould tidy-data-python
⭐ jupyterlab jupyterlab

You could also do it with jin right inside of a markdown post using the jinja_md plugin.

{% for post in core.Filter("published==true and date!=nil") %}
{% if post.Date.Year() == 2016 %}
* [{{ post.Title }}]({{ post.Href }}) - {{ post.Date.Format("2006-01-02") }}
{% endif %}
{% endfor %}

Note

You do have to jinja: true in the frontmatter of the post.

Result #

The snippet lists each published post dated 2016. I keep those posts in the [[ archive ]].

Writing

portal-platformer-devlog-1

Here is the current state of my platformer yet to really be named, I want to make something in between hollow knight and portal. Starting I made one once in make code arcace on a pybadge. It was quick and dirty, but fun to work on. It had the basic of blocks that I could move, blocks i could put a portal onto, and a go…
2 min read

Link

Just starred kubero by kubero-dev. It’s an exciting project with a lot to offer. A free and self-hosted PaaS alternative to Heroku / Netlify / Coolify / Vercel / Dokku / Portainer running on Kubernetes

Link

Link

Check out goose by block. It’s a well-crafted project with great potential. an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM

Link

Check out kubernetes-mcp-server by manusa. It’s a well-crafted project with great potential. Model Context Protocol (MCP) server for Kubernetes and OpenShift

Link

Link

Link

I’m really excited about any-agent, an amazing project by mozilla-ai. It’s worth exploring! A single interface to build and evaluate different agent frameworks

Note

Vectorizing Your Databases with Steve Pousty What exactly is an LLM doing and why do you need to learn so many new terms? Steve Pousty is here to explain that most of those new terms are things you already kno… Fork Around And Find Out · fafo.fm Steve is such a great listen, the neurospicy 🌶️ rambles this episode goes…

Note

External Link fafo.fm 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 or internal tooling, but think of HA as 9’s how many 9s are we willing to pay for, tink of DR as dollars h…

Note

Note

Playground | ty An in-browser playground for ty, an extremely fast Python type-checker written in Rust. types.ruff.rs 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 exam…

Note

Client Challenge pypi.org 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

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 This is madness that Wes Bos made this with manifold.js and no openscad! Yes, I have these stupid brackets everywhere, yes, I h…

Note

Note

How is usability and it doing the thing I paid for it to do a selling point?? Any time I’ve touched a windows machine in the past 7 years has felt awkward, I have no idea where things are now, but they look so much worse.

Note

How is usability and it doing the thing I paid for it to do a selling point?? Any time I’ve touched a windows machine in the past 7 years has felt awkward, I have no idea where things are now, but they look so much worse.

Note

A quote from Mark Zuckerberg You also mentioned the whole Chatbot Arena thing, which I think is interesting and points to the challenge around how you do benchmarking. How do you know what models are … Simon Willison’s Weblog · simonwillison.net Interesting how confidently he says we can easily go to the top. really ma…

Note

P. Martin Ortiz: Web apps can easily adapt to whatever device you’re on. A single responsive website can run on your desktop, phone, tablet, or even a VR headset. What’s even more, they can be... Chris Coyier · chriscoyier.net The web is everywhere, its the one true write once and run anywhere platform. Millions sunk i…

Note

Helm - Postiz Documentation Install Postiz using Kubernetes and Helm Postiz Documentation · docs.postiz.com I didn’t realize that postiz had a helm chart, I just hand rolled mine based on the compose file they provide. I went from running the compose stack locally to running in my homelab with kubernetes. I am using cn…

Note

Apr 21 – Apr 27, 20251 year ago

Featured this weekLink

Check out dtnewman and their project zev. A simple CLI tool to help you remember terminal commands

Link

Looking for inspiration? Reloader by stakater. A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig – [✩Star] if you’re using it!

Link

Link

ublue-os has done a fantastic job with arch-distrobox. Highly recommend taking a look. An Arch Linux OCI meant for use exclusively in Distrobox