Today I learned how to use AliasChoices with pydantic settings to setup common
aliases for the same field. I’m bad about remembering these things, and hate
looking up the docs. I like things to be intuitive and just do the thing I
want it to do. Especially when they get configured through something like yaml
and do not have a direct lsp look up right from my editor. I figured out how
to support what might be common aliases for a storage directory. These can be
set up as environment variables and used by config.
from pathlib import Path
from pydantic import Field
from pydantic import AliasChoices
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
storage_dir: Path | None = Field(
default=None,
validation_alias=AliasChoices(
"STORAGE_DIR", "STORAGE_DIRECTORY", "STORAGE_PATH", "STORAGE_PATHNAME",
"DROPPER_STORAGE_DIR", "DROPPER_STORAGE_DIRECTORY", "DROPPER_STORAGE_PATH", "DROPPER_STORAGE_PATHNAME",
),
description="Directory for stored files",
)
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
3d-Printed Corner Clamp
Getting ready to batch out 18 apple boxes for the local theater. Need to step
up my woodworking tool game here quick on a low budget. Whipped this up up and
built the prototype box , went really well. We have 4 in the arsenal now, might
do 4 more if we need more assembly capacity. Pretty proud of the first 3d
printed thread project here. The design for good 3d prints can be quite
different with its anisotropic strength and hollow sections being nearly
weightless when compared to traditional manufacturing methods. Its so fun to
be able to do it for almost no cost right in my home office.
[1]
3d-printed corner clamp printed in black pla.
[2]
Isometric view of my corner clamp v1 that supports up to 3/4" sheets and includes slots for dowell points on 3/4" and 1/2" material.
References:
[1]: https://dropper.waylonwalker.com/api/file/2701fb29-5a35-4249-a66d-8a84a774fb0c.jpg
[2]: https://dropper.waylonwalker.com/api/file/6a0c5ef1-4f8b-4b4d-9def-60e3168a464c.png
Mark Zuckerberg scaled Facebook in 2005 - without Kubernetes, Serverless Functions, Redis, Managed Auth, Rust, or Kafka.
No fancy orchestration.
No distributed event streams.
No cloud-native… | Anton Martyniuk | 270 comments
Mark Zuckerberg scaled Facebook in 2005 - without Kubernetes, Serverless Functions, Redis, Managed Auth, Rust, or Kafka.
No fancy orchestration.
No distributed event streams.
No cloud-native anyth…
LinkedIn · linkedin.com [1]
Lean on your skills and your goals. If your goals are to have fun, use whatever you want. If you are looking for a job, Lean on tech that bridges the gap between your resume and the job you want. If you want to build a good product use the tech you are best at. No one in their right mind would throw away 20 years of tech progression because Zuck built facebook ftping php to a server.
The sentiment in this post is fine at best the picture feels triggering and oversimplies way too much. If you like kubernetes just fucking use kubernetes [2].
This topic deserves a full on post, maybe later.
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.linkedi...
Techbrophobic
I just heard someone drop the this term and it kinda fits a lot of shit on the
internet right now. Arguing that its OK to question AI, its OK to like it, its
OK to question if it needs to be in every goddamn thing we do, question its
morality on training and the slop being pushed at us all the time.
I’m not Technophobic I’m Techbrophobic
I heard this and it kinda hit with a lot of things that I’ve resonated with
lately. Tech bros of today have been compared to Steve Jobs in a lot of ways.
Whether its style or the way he was so good at marketing, but this feels
different. When Jobs launched the iPhone as this next great thing, He fucking
made the thing.
No broken promises of being sold something with hopes that it
will do more tomorrow.
No pushing around insane amounts of money with the hope
to become profitable years down the line.
No fear pushing that if you are not
doing X today your business will be dead in 6 months.
Giving us the promise that it was about to create an enti...
-
Are we cooked? Are we? Yes the consumers are cooked there are no more affordable cars with basic shit that you need to go point a to point b. Ford make us cars we can afford and you won’t be cooked by this dumb shit. If you can market it?
Most people don’t care what sticker price is and only the monthly payment. This is why we are cooked. We stopped caring that these things cost way too much. I’m probably in a small minority that just want an affordable reliable vehicle and could care less about features past climate control. I don’t use them. My phone has maps and music I don’t need a screen in my vehicle for anything.
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/
Mcat Anything
I’ve long looked for a way to cat anything in the terminal. I’m am terminally
in the terminal. I manage all of my projects, code, website, notes, files,
servers, infrastructure, almost everything from the terminal. I occasionally
open a file manager, mostly at home, only so that I can browse images.
Compounding my issue, I’m a tmux user. It works great for me, and I barely have
to think about it at this point. The keybindings are second nature to me. I
can go between server, terminal, nvim, and between projects instantly, no
loader, no lag, no animation, it just works for everything that really matters
to me for really getting things done.
Mcat # [1]
mcat is a new tool that seems like it can cat anything in the terminal, code,
files, images, markdown, markdown with images, and even video, without leaving
tmux!
mcat static/8bitcc.png
curl https://r.jina.ai/https://waylonwalker.com/store/ | mcat --theme dracula --md-image all
curl https://r.jina.ai/https://waylonwalker.com/shots/ ...
Missing Thoughts
No one is perfect, this is why we have things like checkpoints or gates in the
form of pull requests, linting, type checking, and tests. What happens when
you work on small side projects by yourself that try to be content focused?
What happens when you end up building a lot of the tech under that site and
build it on the bleeding edge of all the tech you make? They are likely missing
these things and occasionally there are some periods of regression. This is
one reason I really like the term digital garden to describe one’s small corner
of the internet where they share their thoughts.
There will be regressions
The Signs # [1]
There were signs, signs I did not notice
Chat
is your rss feed broken?
I’m not seeing anything show up in my rss reader
me
Do I not put thoughts in my rss feed, I swore I did.
Chat
my fault, Turns out I must have already clicked it in my reader.
me
great, glat it’s working
…But it wasn’t
Later this week comes the next sign that I also choose to ig...
mcat [1] by Skardyy [2] is a game-changer in its space. Excited to see how it evolves.
Terminal image, video, directory, and Markdown viewer
References:
[1]: https://github.com/Skardyy/mcat
[2]: https://github.com/Skardyy
2025-11-04 Notes
Today I gave mcat a try and it's so sick. It can anything right in the terminal, pdf, image, even video. It even works inside tmux unlike almost anything...
- #minecraft" playlabel="Play: I refuse to change the way I play… 😂🔥 #comedy #videogames #minecraft [1]">
Microsoft has been addding features to Minecraft for over 10 years now. Idk if there was momentum from the mojang theme, but we’ve barely paid attention to any updates in the last five years. The ocean update was huge, caves and cliffs were huge then it trailed off to we play each release on release day, use commands to try out new features, then never touch them again either to play minecraft as we always have or to play a modded pack with crazy new features that really make an impact on gameplay.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /tags/minecraft/
[2]: /thoughts/
-
Absolutely incredible what Preston is doing with his time. What a life changing experience this must be for him. Good job to Turso for making this happen. We are going to end up with very feature rich file based databases out of this that the whole world will benefit from.
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/
-
Absolutely love this selfhosted arc of pewdiepie that is going on right now. It’s crazy to witness now fast he is picking up linux / self hosting, and sounds like soon will be programming. In this one he built a $20k AI beast that crushes gippity with power, speed, proximity, and security. No one to take your data, no latency to the data center, no one else bogging down your prompts, just raw speed. It looks absolutely wild. He implemented RAG and gave it a bunch of data about himself and its able to spit out his wife’s name and phone number in under a second. It writes code at blazing pace. This may be the future that we get over the next few years as things shift towards AI there will be more affordable options, and a larger second hand market for building out these highly capable machines.
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/
The Glorious Pipe Operator (Elixir for PHP Devs)
Let's talk about how how the functional pipe operator helps to simplify and improve code readability and composability, and how it contrasts with the fluent interface design pattern commonly used i...
Jesse Leite · jesseleite.com [1]
I’m so glad that python supports method chaining out of the box, very similar to the pipe operator that Jesse mentions here. It makes everything much more readable to follow the flow rather than needing to parse nested funcion calls out(inside()).
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://jesseleite.com/2025/the-glorious-pipe-operator
[2]: /thoughts/
-
I greatly appreciated the wide variety of experienced maintainers of large oss projects. From webdev to desktop application. The most common sentiment here was don’t contribute to open source just to contribute to open source. Bring something meaningful to the project. Find a project you like, look at the discussions/issues for work or start some discussions. If there are no meaningful features that you can add to projects that you use and love, make your own thing. Adam from tailwind really hit on this one several times. He has made tailwind extensible so that you don’t have to contribute to tailwind to get new capabilities, you can probably just extend tailwind with your thing. Its likely that it makes a lot more sense or your use case, and if it turns out that it makes sense for everyone have the discussion about bringing it in. The upside to small oss projects is that you can move at whatever pace you want and break them all you want when the user base is just you. As you move your stuff into tailwind you have to be very careful not to break the massive tailwind user base and you have to bend to the release schedule of tailwind.
The other adjacent topic that kept coming ...
rustfs [1] by rustfs [2] is a game-changer in its space. Excited to see how it evolves.
🚀 RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
References:
[1]: https://github.com/rustfs/rustfs
[2]: https://github.com/rustfs
Rules
- There is no such thing as magic
- Be ready to roll back live deployments
- If CI was too fast be suspicious
You already have a git server: (Maurycy's blog)
maurycyz.com [1]
It’s so easy to forget low level tech sometimes. Things that are dead simple and just work without a hitch. git is one of those rock solid things thats very easy to remember all that it does, this is a classic use case.
This just works
cd /parent/directory/for/repo
git clone ssh://username@server/path/to/repo
In order to recieve you must update the remote to allow recieve.
git config receive.denyCurrentBranch updateInstead
Now you can pull update push.
It’s funny how this was the way I first learned to do Continuous Deployment to a RHEL7 machine, also how Heroku worked, but its so easy to forget this solution is there. I come across it every few years and immediately have a few use cases in mind.
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://maurycyz.com/misc/easy_git/
[2]: /thoughts/