Published

All published posts

2565 posts latest post 2026-07-13 simple view
Publishing rhythm
Jun 2026 | 27 posts

blender donut tutorial 2025

First Launch # [1] [2] my setup # [3] [4] Add # [5] shift A bump resolution scale # [6] edit -> preferences -> interface -> resolution scale 1.25 [7] orbit without middle mouse button # [8] [9] viewport shading rendered # [10] [11] References: [1]: #first-launch [2]: https://dropper.waylonwalker.com/api/file/ecd7349a-b04c-4496-8b34-3f2c82bdd790.png [3]: #my-setup [4]: https://dropper.waylonwalker.com/api/file/0baedcf5-9b6a-4ee3-b18f-76e695e00a8c.png [5]: #add [6]: #bump-resolution-scale [7]: https://dropper.waylonwalker.com/api/file/d2c9fc7c-c689-4f6f-b2db-96bd8bb59ab3.png [8]: #orbit-without-middle-mouse-button [9]: https://dropper.waylonwalker.com/api/file/239a709b-7242-4a75-b100-f3a8cc533364.png [10]: #viewport-shading-rendered [11]: https://dropper.waylonwalker.com/api/file/cea5c464-53b2-4926-ab02-31107d84d23f.png
1 min read
Glossary Web Component The one where I put the hypercard in the hyperlink dbushell.com · dbushell.com [1] I really enjoy David’s Glossary, he has absolutely nailed it. I’m working on one for myself that feels close but not quite. I want to have a list of words that auto glossary to terms for me, maybe this is too much automation and I should just lean on wikilinks, i.e. sick wikilink hover [2], they only take wrapping in brackets. But like David mentions here its a lot of work to make sure they are right on all the older posts. I think it needs to be done with js on my setup, I don’t have no fancy wroker to modify html [3] on the way out, I’m fully static right now, so i would need to do full rebuilds any time the glossary changes, i’m trying to cut down on the number of features that require full site rebuilds and potential cache issues. References: [1]: https://dbushell.com/2025/05/07/glossary-web-component/ [2]: /sick-wikilink-hover/ [3]: /html/
An Ode To My 10-Year-Old Thinkpad T440 mbrizic.com [1] I like reading about old hardware and how to keep it running, sending shit out to e-waste after barely using it for a year makes my skin crawl. I find it interesting how most of these resurrections start with a linux build, and the author giving in and going for linux for the first time and enjoying being able to use something they thought was useless for real work. That being said I have weird thoughts similar to this guy about being able to take a machine and write a novel somewhere off in the distance, but any time I try to do real work form any laptop these days the ergonomics become so unappealing that I tend to just not do anything away from my desk. Theres something that sounds so great about opening vim on old hardware that could last for hours, sip on coffee and write away, but it never works out like that in practice. References: [1]: https://mbrizic.com/blog/thinkpad-t440/

2025-07-24 Notes

Completed the 8-bit dungeon in Cat Quest III with wyatt today.

1 min

2025-07-23 Notes

Today I set up hypridle on my hyprland desktop build. It was not too bad, I'm probably going to tweak it as it I go if it bothers me, for now I'm giving it a...

1 min

2025-07-22 Notes

Next I ripped a calendar from the docs. When hovered I get a full year calendar, right click gives me only the current month.

1 min

2025-07-21 Notes

In my adventure to rice out hyprland I set up a sddm theme today, and it looks sick by only changing the wallpaper. I tried out one theme and was pretty...

1 min
uv run for running tests on versions of Python Using uv run with make to replace tox or nox for testing multiple versions of Python locally. https://daniel.feldroy.com · daniel.feldroy.com [1] Such a fantastic use of uv, its so fast and flexible and does everything I need that next time I go to set up some more complex testing like this I’m going to lean towards it more than i would something like tox. In the post Daniel sets up matrix testing for testing out different versions of python with the same pytest test suite. References: [1]: https://daniel.feldroy.com/posts/2025-07-uv-run-for-testing-python-versions

2025-07-19 Notes

Progress on markata themes, I'm able to get feedback in the terminal. I'm building out a custom color model that will be able to mix and blend colors with...

4 min
[1]2025-07-09 Notes [1] from yesterday I have temporal stuff kind of going with postiz in a windsurf session working on [[thoughts-to-nostr]] Been cleaning up my z" loading="lazy"> 2025-07-10 Notes | Nic Payne 2025-07-09 Notes [2] from yesterday I have temporal stuff kind of going with postiz in a windsurf session working on [[thoughts-to-nostr]] Been cleaning up my z pype.dev big fan of eza and dust, I like these aliases to have some common commands at my fingertips. I often use the tree command and yes it sometimes goes too deep to actually be useful. alias lt='eza -T --level=2' # Tree view, 2 levels deep alias ltt='eza -T --level=3' # Tree view, 3 levels deep alias du1='dust -d 1' # Show only 1 level deep alias du2='dust -d 2' # Show 2 levels deep References: [1]: https://pype.dev/2025-07-10-notes/ [2]: /2025-07-09-notes/

I am a linux user through and through. Desktop, server, vms, containers, everything except my phone is linux. With this I spend a lot of time in the terminal, and have been a long time user of !! to rerun the last command, but with the ability to tack something on at the beginning or end.

TIL about fc, which opens the last command in your shell history in your $EDITOR or pass in your editor -e nvim.

man fc

Rcap of how !! works #

!! pronounces bang bang and will run the last command in your history.

ls -l

!! | wc -l
# ls -l | wc -l

sudo !!
# sudo ls -l | wc -l

!!:s/-l/-l \/tmp
# sudo ls -l /tmp | wc -l

fc enters the chat #

Now making complex edits in your shell can be a bit of a chore, so fc moves this work to your $EDITOR.

fc

This pops open your $EDITOR with the last command in your history.

sudo ls -l | wc -l
screenshot-2025-07-18T13-21-46-775Z.png

Shell History #

fc shows up in shell history, but !! does not, !! gets replaced by the command that it becomes.

Up Arrow #

yaya yaya, I know you can also up-arrow c-e, but what fun is that, it’s barely a flex. fc just looks big brained and like you really know what you are doing.

2025-07-17 Notes

TIL pygments-htmlformatter is a big win for markata, didn't have a chance to take notes yesterday, but I'm really working on templates and themes. It's...

1 min

I’ve been a long user of pygments, it’s been the thing that injects <spans> with funny little class names like sc and si into the code blocks of my website. I’ve even gone as far as implementing a plugin for md-it, but I had no idea how to re-style it. I long ago got a theme that looked good enough from somewhere and just used it, maybe I pulled something from their docs site and forgot. Today I learned you can list all the themes easily from the library itself, and render out new css.

from pygments.styles import get_all_styles
list(get_all_styles())
# [
#     'abap',
#     'algol_nu',
#     'algol',
#     'arduino',
#     'autumn',
#     'borland',
#     'bw',
#     'colorful',
#     'default',
#     'dracula',
#     'emacs',
#     'friendly_grayscale',
#     'friendly',
#     'fruity',
#     'github-dark',
#     'gruvbox-dark',
#     'gruvbox-light',
#     'igor',
#     'inkpot',
#     'lightbulb',
#     'lilypond',
#     'lovelace',
#     'manni',
#     'material',
#     'monokai',
#     'murphy',
#     'native',
#     'nord-darker',
#     'nord',
#     'one-dark',
#     'paraiso-dark',
#     'paraiso-light',
#     'pastie',
#     'perldoc',
#     'rainbow_dash',
#     'rrt',
#     'sas',
#     'solarized-dark',
#     'solarized-light',
#     'staroffice',
#     'stata-dark',
#     'stata-light',
#     'stata',
#     'tango',
#     'trac',
#     'vim',
#     'vs',
#     'xcode',
#     'zenburn'
# ]
from pygments.formatters import HtmlFormatter
from pygments.styles import get_style_by_name
style = get_style_by_name("monokai")
formatter = HtmlFormatter(style=style)
print(formatter.get_style_defs('.highlight'))

And now you get styles that you can add to your css and be any theme from the list above.

pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #49483e }
.highlight { background: #272822; color: #f8f8f2 }
.highlight .c { color: #959077 } /* Comment */
.highlight .err { color: #ed007e; background-color: #1e0010 } /* Error */
.highlight .esc { color: #f8f8f2 } /* Escape */
.highlight .g { color: #f8f8f2 } /* Generic */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #ff4689 } /* Operator */
.highlight .x { color: #f8f8f2 } /* Other */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #959077 } /* Comment.Hashbang */
.highlight .cm { color: #959077 } /* Comment.Multiline */
.highlight .cp { color: #959077 } /* Comment.Preproc */
.highlight .cpf { color: #959077 } /* Comment.PreprocFile */
.highlight .c1 { color: #959077 } /* Comment.Single */
.highlight .cs { color: #959077 } /* Comment.Special */
.highlight .gd { color: #ff4689 } /* Generic.Deleted */
.highlight .ge { color: #f8f8f2; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #f8f8f2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #f8f8f2 } /* Generic.Error */
.highlight .gh { color: #f8f8f2 } /* Generic.Heading */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .go { color: #66d9ef } /* Generic.Output */
.highlight .gp { color: #ff4689; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #f8f8f2; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #959077 } /* Generic.Subheading */
.highlight .gt { color: #f8f8f2 } /* Generic.Traceback */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #ff4689 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #ff4689 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #ff4689 } /* Operator.Word */
.highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sa { color: #e6db74 } /* Literal.String.Affix */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #a6e22e } /* Name.Function.Magic */
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */
Looking for inspiration? shell [1] by caelestia-dots [2]. A very segsy desktop shell References: [1]: https://github.com/caelestia-dots/shell [2]: https://github.com/caelestia-dots
Quickshell A fully user customizable desktop shell quickshell · quickshell.org [1] This has to be the most incredible looking Desktop experience I’ve ever seen, riced to the nines, more polished than macos, more features than kde plasma, this looks incredible and I want to try it and feel it. https://quickshell.org/assets/showcase/end4.mp4 References: [1]: https://quickshell.org/

2025-07-15 Notes

I'm working on hyprland, one thing I am missing from my awesomewm setup is rofi list all running windows. Sometimes I put a browser instance in a different...

1 min