Archive

All published posts

2518 posts latest post 2026-07-10 simple view
Publishing rhythm
Jun 2026 | 26 posts
Best practices for Docker in production You talkpython.fm [1] Great listen for anyone interested in productionizing python code with docker. Itamar brings up some Don’t trust base images for security, upgrade your packages. Vulnerabilties become published and solved giving the bad guys istructions how to wreck your day and these fixes wont come to your docker application for up to two weeks due to image build tatency. For job based containers pre-compile your pyc for faster startup. Alpine linux is probably not what you want for python. Many packages such as postgres ship pre-copiled binaries that work for most linux distributions wich use glibc, but alpine uses musl so the binaries will be incompatable requiring you to need to install a bunch of build dependencies. References: [1]: https://talkpython.fm/episodes/show/323/best-practices-for-docker-in-production
- Homelabbers have been some of the best co-workers I have ever had. Typically have a get shit done, If there’s a way I will find it kind of mentality. If you are struggling to get a job in tech right now its tough. Starting a homelab on a pc you pull out of the trash is a good way to get some experience that you can talk about in interview questions. Linked video has some great points! References: [1]: /homelab/
External Link askubuntu.com [1] podman requires qemu-system on ❯ podman machine init Looking up Podman Machine image at quay.io/podman/machine-os:5.1 to create VM Extracting compressed file: podman-machine-default-amd64.qcow2: done Error: exec: "qemu-img": executable file not found in $PATH The fix to this for me was to install qemu-system before podman machine init. sudo apt update sudo apt install qemu-system References: [1]: https://askubuntu.com/questions/1490805/how-do-i-install-qemu-on-ubuntu-23-10
SVG backgrounds, icons, and other website graphics 👉 Copy-and-paste backgrounds, patterns, icons, and other website graphics directly into projects. All customizable, tiny in file size, and licensed for multi-use. SVG Backgrounds · svgbackgrounds.com [1] svgbackgrounds is a really awesome resource for svg things recently featured on https://shoptalkshow.com/618/ References: [1]: https://www.svgbackgrounds.com/
GitHub - darrenburns/posting: The modern API client that lives in your terminal. The modern API client that lives in your terminal. - darrenburns/posting GitHub · github.com [1] Currently Posting is a super early postman like tui (terminal user interface). It looks so good. Darren is really getting into a groove, and textual is getting to a place that is allowing him to really make these beautiful. I am so impressed with the progress that he has made so early, it looks so close to postman in the freaking terminal, and the ui is so good. He already has think like jump that give you a way to around the ui like easymotion plugins. Theres themes and a command line, oh man its so good. star it. References: [1]: https://github.com/darrenburns/posting
Looking for inspiration? dataherald [1] by Dataherald [2]. Interact with your SQL database, Natural Language to SQL using LLMs References: [1]: https://github.com/Dataherald/dataherald [2]: https://github.com/Dataherald
Check out sqlsync [1] by orbitinghail [2]. It’s a well-crafted project with great potential. SQLSync is a collaborative offline-first wrapper around SQLite. It is designed to synchronize web application state between users, devices, and the edge. References: [1]: https://github.com/orbitinghail/sqlsync [2]: https://github.com/orbitinghail
Blogmarks that use markdown I needed to attach a correction to an older blogmark (my 20-year old name for short-form links with commentary on my blog) today - but the commentary field has always … Simon Willison’s Weblog · simonwillison.net [1] Oh I kinda like the name blogmark, as opposed to thoughts like I have chose for the same thing. Aparantly Simon beat me to the punch by 20 years on this one. References: [1]: https://simonwillison.net/2024/Apr/25/blogmarks-that-use-markdown/
A Link Blog in the Year 2024 Kellan Elliott-McCrea has started a new link blog: Like many people I’ve been dealing with the collapses of the various systems I relied on for information over the previous decades. … Simon Willison’s Weblog · simonwillison.net [1] THIS! is the same reasons that I built thoughts [2]{.hoverlink}. Simon has bee a big inspiration along the way. He defintely changed the format of my posts as I watched him build out his quote posts. Link blogging is a pleasantly low-pressure way of writing online. Found something interesting? Post a link to it, with a sentence or two about why it’s worth checking out. Ditto! just make a post. References: [1]: https://simonwillison.net/2024/Jun/9/a-link-blog-in-the-year-2024/ [2]: https://thoughts.waylonwalker.com
[1] Kellan brings some interesting thoughts on where the internet is headed in 2024. Interestingly I see myself headed in a similar direction. Feeling like I know just enough to say fuck it and build my own platform for me to me me, from thoughts [2]{.hoverlink} where I link and make thoughts on posts like this, to reader [3]{.hoverlink} which is my rss reader replacement that I wanted in 2013 when it was killedbygoogle [4] And particular with the collapse of the social spaces many of us grew up with, I feel called back to earlier forms of the Internet, like blogs, and in particular, starting a link blog. Ai has really had quite the two sided effect since chatgpt launched and set the world ablaze. Suddenly you can get any answer you want as a custom fit blog post for free without effort, thus killing the traffic to any of these sites. References: [1]: /static/https://laughingmeme.org//2024/06/08/a-link-blog-in-2024.html [2]: https://thoughts.waylonwalker.com [3]: https://reader.waylonwalker.com [4]: https://killedbygoogle.com/
How to Configure DNS over TLS (DoT) Using Unbound DNS in OPNsense Going beyond the basics of home networking homenetworkguy.com [1] Setting up DNS overTLS in opnsense has made my dns just a bit more secure and reliable. I recently had an outage of half the internet within my house. This also hit some of my friends and not some. It did not hit my mobile network. What seems to have happened is a dns issue with my isp not resolving some domains. This setup corrected my issue and I was back online more securely. Note I did try to setup the family resolver and found it was blocking some sites I am ok with. I decided to drop back to the vanilla resolver and let other services within opnsense control blocking where I can caontrol the whitelist myself. References: [1]: https://homenetworkguy.com/how-to/configure-dns-over-tls-unbound-opnsense/
GitHub - argoproj/argo-events: Event-driven Automation Framework for Kubernetes Event-driven Automation Framework for Kubernetes. Contribute to argoproj/argo-events development by creating an account on GitHub. GitHub · github.com [1] Argo events is an event driven automation framework for kubernetes that can create kubernetes objects among other things based on events. I’ve been using native kubernetes cronjobs to kick off jobs based on a cron trigger. For instance I am running reader.waylonwalker.com every hour, to rebuild the site and re-deploy it. It takes about two minutes to fetch every rss feed, so this is a nice application of a job compared to a web server fetching the feeds live. Now my posts may be up to an hour stale but they load fast. Argo events takes event drien architecture to the next level allowing to be triggered by many more things, and do many more things than creating a cron job. I’m definitely thinking about dropping this in my homelab [2]. References: [1]: https://github.com/argoproj/argo-events?tab=readme-ov-file [2]: /homelab/

What I'm learning in 2024

2024 has been a learning fueled year, Diving deep into things I never would have previously thought I would. It’s been a bit of a mix of the 🔥hot twitter trends, and exactly what tech twitter tells you not to do. It just goes to show community is great, the tech community is filled with strong opinions, but you need to think about what really makes sense for you, your career and your customers (or lack there of). tech # [1] - k8s - tailwind - fastapi [2] - htmx [3] - jinja - opnsense successful one day builds # [4] - play-outside - reader - thoughts - thoughts chrome-extension Kubernetes # [5] Damn did I sleep on k8s for way took long. This is like exactly what I’ve needed for a lot of things. It’s a perect example of what happens when you listen to the tech community tell you. Looking for a Heroku replacement, What I found was shocking! [6] I started looking for something to make my homelab [7] deployments easier at home. Previously I needed to ssh into my server an...

Today I am playing around with tailwind, flexing the css muscle and learning how to build new and different layouts with it.

I created a new post template that mimics a terminal look in css where I could inject the post title, description, and other frontmatter elements.

GitHub - catppuccin/ulauncher: 🇺 Soothing pastel theme for Ulauncher 🇺 Soothing pastel theme for Ulauncher. Contribute to catppuccin/ulauncher development by creating an account on GitHub. GitHub · github.com [1] I am using this theme for Ulauncher in arch and it looks fantastic! One line install (read it first). python3 <(curl https://raw.githubusercontent.com/catppuccin/ulauncher/main/install.py -fsSL) References: [1]: https://github.com/catppuccin/ulauncher
Ulauncher — Application launcher for Linux 🐧 Download Ulauncher for Linux, discover extensions and videos, and support the project. ulauncher.io [1] Just discovered this really cool launcher from the DHH distro omakub. github.com/omakub [2]{.hoverlink}. Ulauncher comes out of the box looking good, supports extensions, and shortcuts like I have a lot of mac launchers have. I installed it plus a theme and in no time It was looking good and launching applications. In the past I have leaned in on rofi for task launching, it is good. I just felt it was harder to configure to get right or look good. References: [1]: https://ulauncher.io/ [2]: https://github.com/basecamp/omakub
The work on ulauncher [1] by catppuccin [2]. 🇺 Soothing pastel theme for Ulauncher References: [1]: https://github.com/catppuccin/ulauncher [2]: https://github.com/catppuccin
The work on editor.js [1] by codex-team [2]. A block-style editor with clean JSON output References: [1]: https://github.com/codex-team/editor.js [2]: https://github.com/codex-team
GitHub - basecamp/omakub: Opinionated Ubuntu Setup Opinionated Ubuntu Setup. Contribute to basecamp/omakub development by creating an account on GitHub. GitHub · github.com [1] This is DHH’s linux startup script. Call it a distro if you want, but he doesn’t. It’s made to take a vanilla ubuntu install and configure everything the way he likes it. There’s a number of great nuggets in here to pick up on. No need to write bespoke configs for every essential tool just to get started or to be up on all the latest command-line tools. Omakub is an opinionated take on what Linux can be at its best. Check it out and give it a ⭐ basecamp/omakub [1]{.hoverlink}. References: [1]: https://github.com/basecamp/omakub
From the circle to epicycles | Personal Site of Andrei N. Ciobanu This article will be part of an extensive series in which I plan to explore various aspects of Fourier Mathematics. I will take notes, create some visuals (a good pretext to learn more about graphi... andreinc.net [1] This is a really cool animated visual representation of how sine waves work, how they relate to circles, pi, rad, and how to add up a series of waves to make square and sawtooth waves. References: [1]: https://www.andreinc.net/2024/04/24/from-the-circle-to-epicycles
Check out darrenburns [1] and their project posting [2]. The modern API client that lives in your terminal. References: [1]: https://github.com/darrenburns [2]: https://github.com/darrenburns/posting
How to Force Dark Mode on Every Website in Google Chrome Do you like dark mode? Chrome now lets you forcibly enable it for every site on the web. No more blindingly bright websites. How-To Geek · howtogeek.com [1] Sometimes I struggle to get my os to report dark mode to chrome, luckily there is a way to force chrome to always use dark mode. I’ve never really gotten into dark reader and extensions like this. For some reason they all make websites look really weird to me and I don’t really care for it. What I want is websites designed to be in dark/light to always go dark, if the designer didn’t design dark just let it be light. References: [1]: https://www.howtogeek.com/446198/how-to-force-dark-mode-on-every-website-in-google-chrome/

Tailscale allows you to ssh into all of your tailscale machines, it busts through firewalls and accross networks without complex setup. If you have used tailscale before this is an obvious no brainer. What is not obvious is that you can configure tailscale to allow ssh connections from devices within your tailnet without even a ssh daemon process running right through the tailscale daemon.

tailscale status
tailscale set --ssh

I picked this up from the tailscale youtube channel.

Tailscale

xxHash - Extremely fast non-cryptographic hash algorithm xxhash.com [1] xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit. It is proposed in four flavors (XXH32, XXH64, XXH3_64bits and XXH3_128bits). The latest variant, XXH3, offers improved performance across the board, especially on small data. References: [1]: https://xxhash.com/
xxhash Python binding for xxHash PyPI · pypi.org [1] I hit an issue with markata where even though a bunch of articles were cached, the site build was still slow because I was hitting hashlib.sha256 so hard for cache keys. I was shocked when this popped up in my profiler as a significant portion of the time spent. I swapped out for xxhash and that issue completely went away. References: [1]: https://pypi.org/project/xxhash/

I just implemented a latest blog post link in Markata by asking for the first post slug from the blog feed. The implementation uses the jinja_md plugin to render jinja against the markdown and a tag to redirect.

My latest blog post is [[ {{ markata.feeds.blog.posts[0].slug }} ]].  Click the
link if you are not automatically redirected.

<meta http-equiv="Refresh" content="0; url='/{{ markata.feeds.blog.posts[0].slug }}'" />  

Setting up the feed #

Feeds are setup in markata.toml configuration. They provide a handy way to create an html feed, rss feed, and quickly reference a filtered set of posts like this.

# you will need to enable the jinja_md plugin along with the defaults
[markata]
hooks = [
    "markata.plugins.jinja_md",
    "default",
    ]

# set up the blog feed
[[markata.feeds]]
slug = 'blog'
template = "feed.html"
filter = "date<=today and templateKey in ['blog-post'] and published"
sort = "date"
reverse = true

For more information on markata check out the full markata post.

Replicate - Run AI with an API Run open-source machine learning models with a cloud API replicate.com [1] This is so easy compared to self hosting stable diffusion yourself. It even has a nice api that you can hit with curl or python. The pricing seems competitive as well. Bookmarking this to try next time I need something like it. References: [1]: https://replicate.com/
How to Deliver Code Every Day I recently calculated that I merge 0.8 pull requests every day into my team repo. Let’s round up and say I merge about one PR every day, delivering one or more features to production. I like this... Jake Worth · jakeworth.com [1] Great set of tips here! No waiting. No “waiting until tomorrow” or “It’s Friday, let’s wait until Monday” to deploy. If your deploys are so slow that deploying an hour before the end of the day is a risk, that’s a separate problem. If you’re afraid of a Friday deploy, your system is too brittle, or you don’t have foolproof rollback procedures, or you don’t have people you trust on call to resolve it. Each of these is a problem that you can fix. This one I find interesting I think there are some industries where customers come in large waves over the weekend, and a weekend bug can not only ruin someones day off, take longer to fix, but also cost a lot of money. Not deploying on Friday is totally what that team should be doing. Most of us are not that team. Most of us work on small teams supporting some sort of product that Should be able to be tested and rolled back. I completely agree with Jake here, if your not will...
You Have to Get Fast to Get Good at Programming Great programmers aren’t fast because they’re great. They’re great because they’re fast. Jake Worth · jakeworth.com [1] Be Fast, Practice, Hone your craft. There’s a lot to be said here about honing your craft for editing text, picking up a few extra WPM, learning vim shortcuts. Also just build shit. The more you build new and different things the more not only your text editing will just roll out, your skills to see patterns in code and architecture will flourish. Read their bios, and the answer is always no. They loved to play, sure. They had some base talent, typically. But they also invested an absurd amount of time into that skill set. This! is actually what turned me on to Post Malone. I remember hearing his story in how he was just known as the guy with a guitar because he was always playing it between class and everything. References: [1]: https://www.jakeworth.com/posts/be-fast/

Refactoring one line links into wikilinks

Previously I had setup a feature of my website to expand one line links into a card. This was not a standard, even to the point that some formatters wrap the links with , thus breaking my custom plugin. Moving to the wikilink standard will allow my markdown posts to work accross more site builders without custom integrations. Expand One Line Links [1] What is a wikilink # [2] Wikilinks are standard to a lot of wikis written in markdown. markdown-it-wikilinks [3] The wikilink syntax is a slug wrapped in double square brackets. [[ slug ]] Marksman lsp will even autocomplete these for you, its pretty sweet. Note I recently implemented hover for wikilinks and and am pretty stoked about the result. Check this one out sick wikilink hover [4]. Vim Quickfix # [5] You could use vimgrep to fill your quickfix list will all of the one line links but I am less familiar with vimgrep and kept missing posts for some reason, I think it was something in my file glob missing some directori...
2 min read

about this site

I registered waylonwalker.com and started making content for it in 2017 after a big industry downturn in 2016 that left me scared for what would happen if I were laid off. The company I was working for at the time did it’s first major downsizing in history sending many really good engineers out to look for new opportunities in a world flooded with many in the same situation. This was very similar to what happened to the tech industry in 2024. This was very similar to what happened to the tech industry in 2024. See Waylon Walker [1] for more about me. What is this site? # [2] - It’s a blog - Digital Garden - Learn in public - TIL - portfolio - my personal corner of the internet It’s [NOT]{.text-red-500 .text-6xl .font-bold} Perfect # [3] - There will be mistakes - I will learn - Grammar will be fine, but never perfect - Code will run on my machine, but not guaranteed to be perfect - There will be days when the whole site is broken It started as a blog # [4] This site...
4 min read
Just starred eol-dr [1] by pypeaday [2]. It’s an exciting project with a lot to offer. A crowd-sourced guide to help techs help their non-tech spouses / partners / parents / kids when we are at the end-of-life References: [1]: https://github.com/pypeaday/eol-dr [2]: https://github.com/pypeaday

sick wikilink hover

Today I set up some sick wikilink hover effects using tailwind see A Case For Tailwindcss [1]. When you hover over them they show an image preview of the link that you are going to. I cant find where I have seen this but it comes from some docs sites. I’ll finish this article later, just excited to see it up. References: [1]: /a-case-for-tailwindcss/
1 min read
text-decoration-line - Typography Utilities for controlling the decoration of text. tailwindcss.com [1] Tailwind calls strikethrough line-through. This caught me off guard and took me a minute to find. Control how text is decorated with the underline, no-underline, and line-through utilities. References: [1]: https://tailwindcss.com/docs/text-decoration
Digital Gardening for Non-Technical Folks How to build a digital garden without touching code maggieappleton.com [1] Maggie is a fantastic proponent to the digital gardening movement. In this article she proposes 3 ways for someone to start their own digital garden with low friction and no code. References: [1]: https://maggieappleton.com/nontechnical-gardening
We have a right to repair! with Kyle Wiens, Founder and CEO at iFixit (Changelog Interviews #582) This week Adam went solo — talking to Kyle Wiens, Founder and CEO at iFixit, about all things Right to Repair. They discussed the latest win here in the US with Oregon passing an electronics Righ... Changelog · changelog.com [1] This is one of my favorite changelog episodes of all time. I had no idea all the work that has gone into the right to repair and ifixit. They talk a lot about apple and its trend to be less repairable from unservicable air pods to serialized components within iphone. A lot of legal talk that was far more interesting that I thought it would be. Recently winning the right to repair case against John Deere, and creating repairability scores for devices to be placed in stores like energy guide is. References: [1]: https://changelog.com/podcast/582

markata

This post is a work in progress. Markata is the static site generator that I created to build my website about this site [1]. I built it for me and I enjoy using it. I know everying it can do and I can extend it to do more easily. I have set it up for some friends to also use it and am proud that it helps them publish their content. It’s a meme to create your own static site generator to make your website. Yes its funny, I don’t recommend it if your not ready for the level of work that comes with it, but at the end of the day it’s very rewarding and a great way to learn. Static Sites were all the rage # [2] JAMStack was 🔥 Gatsby and Next.js hit the scene as the next generation of static site builders and were getting big around the time I started building my site in 2017. They were based on react. I dove into react and learned it enough to build my website, but I really lacked the depth of knowledge in the js ecosystem to really work on it effectively. For instance when it got ...

my linked in work history

My linked in work history is empty. I made up a position about content developer that tracks how long I’ve been blogging. I think i did this because LinkedIn requires it. Either way this is public knowledge and fine sharing. Social Engineering # [1] If you have taken any security class for your job seriously you have already been told not to share your work with most companies to the public, this is private information that only opens you up for social engineering attacks against that company. I care about privacy and security # [2] I care about the security of these companies I work for and their reputation, so I refuse to publically share it. Need to know # [3] If somehow you need to know where I work it’s my choice to tell you. I don’t need to advertise to every social engineering hacker where I work on the platform that they go to get that information from. References: [1]: #social-engineering [2]: #i-care-about-privacy-and-security [3]: #need-to-know

Your LinkedIn is Garbage

Your linkedin link sits at the top of your resume, its one of the first things I see when I open your resume, but yet it gives me no more information that the damn resume you sent me. Save that space on your resume for something useful. So you want that /in/me on your resume # [1] Fine if you want it on your resume make it actually useful for someone reading your resume. Actually post something # [2] If I am reading resume’s and I actually take the time to look at your linkedin I want to see you post something. Take a side, make an opinion and post it. Learn something new, make a post about it. If you have a blog and you make a good post share it there. Your work history belongs on your resume # [3] Any security 101 tells you that you should not share your work history on linked in. You should not share photos of you at your workplace that include sensitive information such as your badge. Your work history on LinkedIn is for hackers to steal and use for social engineering. ...
Try Out the Latest Linux Gnome DE With DistroBox Discover a step-by-step guide to installing and experiencing the latest Linux Gnome desktop environment with DistroBox. Linux TLDR · linuxtldr.com [1] Get gnome running in distrobox. References: [1]: https://linuxtldr.com/gnome-de-in-distrobox/
I recently discovered eraser [1] by eraser-dev [2], and it’s truly impressive. 🧹 Cleaning up images from Kubernetes nodes References: [1]: https://github.com/eraser-dev/eraser [2]: https://github.com/eraser-dev
Distrobox Use any linux distribution inside your terminal. distrobox.it [1] distrobox gives you distrobox-host-exec to run commands on the host. This is handy to get access to host level clis that you probably wouldn’t want to run from the container like podman, docker, flatpak. DESCRIPTION distrobox-host-exec lets one execute command on the host, while inside of a container. Under the hood, distrobox-host-exec uses host-spawn a project that lets us execute commands back on the host. If the tool is not found the user will be prompted to install it. References: [1]: https://distrobox.it/usage/distrobox-host-exec/
Are We Anti-Cheat Yet? areweanticheatyet.com [1] A comprehensive community built index of anti-cheat support for linux very similar to proton, but specific to anticheat support. References: [1]: https://areweanticheatyet.com/
GitHub - ublue-os/image-template: Build your own custom Universal Blue Image! Build your own custom Universal Blue Image! Contribute to ublue-os/image-template development by creating an account on GitHub. GitHub · github.com [1] ublue-os makes a github template for making your own git [2] repo with actions that build out your own personal ublue iso. References: [1]: https://github.com/ublue-os/image-template [2]: /glossary/git/