Switching from virtualenvwrapper to direnv, Starship, and uv
Earlier this week I considered whether I should finally switch away from virtualenvwrapper to using local .venv managed by direnv. I’ve never …
treyhunner.com [1]
I’ve kinda fallen out of using direnv now that a lot of my projects use hatch, I generally just hatch shell into them. I just need to make sure I go through all of them and make my installer uv. Now I’ve been thinking about making uv my only needed dependency to run a python project and leaning more to something like uv run --with . uvicorn myapp --reload
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://treyhunner.com/2024/10/switching-from-virtualenvwrapper-to-direnv-starship-and-uv/
[2]: /thoughts/
Archive
All published posts
2507 posts
latest post 2026-05-29
Publishing rhythm
Lazy self-installing Python scripts with uv
I frequently find myself writing my own short command-line scripts in Python that help me with day-to-day tasks. It’s so easy to throw together …
treyhunner.com [1]
I really like Trey’s steps to making an executable python script with uv
his old process seems to be the same with a new shebang
- Add an appropriate shebang line above the first line in the file (e.g. #!/usr/bin/env python3)
- Aet an executable bit on the file (chmod a+x my_script.py)
- Place the script in a directory that’s in my shell’s PATH variable (e.g. cp my_script.py ~/bin/my_script)
And here is the new format the the shebang followed by the metadata comment block defined in PEP 723.
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.12"
# dependencies = [
# "ffmpeg-normalize",
# ]
# ///
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://treyhunner.com/2024/12/lazy-self-installing-python-scripts-with-uv/
[2]: /thoughts/
My approach to running a link blog
I started running a basic link blog on this domain back in November 2003—publishing links (which I called “blogmarks”) with a title, URL, short snippet of commentary and a “via” …
Simon Willison’s Weblog · simonwillison.net [1]
I still cannot believe I thought I had such a unique idea with thoughts only to find out shortly thereafter that Simon beat me to the punch by about 20 years!
Simon put a lot of work into this post [2] please check it out. Its not only filled with tons of little nuggets about blogging, it has just a ton of links to other posts I’m itching to read now.
https://simonwillison.net/2024/Dec/22/link-blog/#thoughts.waylonwalker.com
a linkblog proves that you read # [3]
Simon mentions it in the post as well, but one thing about having a link blog does is that it proves that you actually read articles that you share. This is really more about proving to myself, and reminding myself that anyone else, it’s a good feeling.
Trying to add soemthing extra # [4]
- include names of people, and add tags for common people
- something extra - the whole point is to bring something to the post without stealing thunder, but rather li...
This is a test post. I just updated the chrome extension for thoughts to take a the thumbnail image on open of the chrome extension so that it is rea...
thoughts.waylonwalker.com [1]
[1]
References:
[1]: https://thoughts.waylonwalker.com/post/455
I really like this idea of keeping a set up contacts in a markdown repo, and being able to wikilink them to different tickets / meetings and what not....
thoughts.waylonwalker.com [1]
[1]
References:
[1]: https://thoughts.waylonwalker.com/post/454
How I use Obsidian Templater
One of my favorite Obsidian plugins is Templater, which lets you create reusable templates in your notes vault!
cassidoo.co [1]
I really like this idea of keeping a set up contacts in a markdown repo, and being able to wikilink them to different tickets / meetings and what not. I’m imagining the graph you can build, it feels quite interesting. Even more relevant as we see things like teams rolling out retention limits to messages.
Here is Cassidy’s format, I like it but I’m probably not going to track the birthday of most people I work with, thats just not the relationship I tend to have with work friends. It might be a midwest or non tech thing, but I am not even aware if any of my co-workers have social media, and I assume that if they did it would not include anything work related but more football and other sports.
[2]
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://cassidoo.co/post/obsidian-templater/
[2]: https://dropper.waylonwalker.com/api/file/32859bd6-1b9f-4d40-a87c-0b96a5a42084.webp
[3]: /thoughts/
docker context (and an issue to question your sanity) | Nic Payne
docker contexts are great, would recommend putting them in your prompt though (via starship or something else)... here's why I like to manage my containers
pype.dev [1]
Dang context can really cause you to pull your hair out. Context seems so freaking convenient, but I’ve avoided it and just ssh in for these reasons. Maybe I’ll come around eventually but for now ssh is my friend.
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://pype.dev/docker-context-and-an-issue-to-question-your-sanity
[2]: /thoughts/
thoughts 0.0.4
This is such an improvement to the backend of my website it warrants a blog
post of celebration. For far too long I’ve been dealing with a tiny ass edit
form on thoughts. I tend to not edit them, and try to get them right in one
go. This is kinda the point of a thought, its a quick post meant to be the
size of a tweet, but sometimes I’m leaving thoughts on a video or long post and
want to make sure I have a good save point, but I just keep the thing in draft
and hope I don’t loose if for far too long.
Results # [1]
Let’s see this change in action!!
before # [2]
This is the tiny ass form nested deeply in the flow of the feed. When I made
it I naively just swapped out the post itself with the edit form, and swapped
the post back in after edit.
[3]
thoughts is built with HTMX [4] btw so all html [5] is rendered in the backend and swapped by htmx client side.
after # [6]
Now the edit is a full page modal with a nice blurry backdrop effect to the
rest of the content. This feels p...
I’m really excited about jnv [1], an amazing project by ynqa [2]. It’s worth exploring!
Interactive JSON filter using jq
References:
[1]: https://github.com/ynqa/jnv
[2]: https://github.com/ynqa
tui-network [1] by Zatfer17 [2] is a game-changer in its space. Excited to see how it evolves.
No description available.
References:
[1]: https://github.com/Zatfer17/tui-network
[2]: https://github.com/Zatfer17
I came across markitdown [1] from microsoft [2], and it’s packed with great features and ideas.
Python tool for converting files and office documents to Markdown.
References:
[1]: https://github.com/microsoft/markitdown
[2]: https://github.com/microsoft
gh-skyline [1] by github [2] is a game-changer in its space. Excited to see how it evolves.
A GitHub CLI extension to generate a 3D model of your GitHub contribution history
References:
[1]: https://github.com/github/gh-skyline
[2]: https://github.com/github
I’m really excited about studio [1], an amazing project by outerbase [2]. It’s worth exploring!
A lightweight Database GUI in your browser. It supports connecting to Postgres, MySQL, and SQLite.
References:
[1]: https://github.com/outerbase/studio
[2]: https://github.com/outerbase
If you’re into interesting projects, don’t miss out on blahg [1], created by cassidoo [2].
Cassidy’s blog template built with Astro and TinaCMS!
References:
[1]: https://github.com/cassidoo/blahg
[2]: https://github.com/cassidoo
-
Reminder to tune in later, can’t watch now, but saw a link on Dave’s blog.
[1]
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://dropper.waylonwalker.com/api/file/ea6d4a9f-9abe-4853-9b5b-97335130d221.webp
[2]: /thoughts/
I got the ADHD, too
This month I got my official diagnosis for Adult ADHD. It’s fun to share experiences with friends. While ADHD presents some new waters to navigate, it isn’t exactly news to me. Thanks to Dr. Ti...
daverupert.com · daverupert.com [1]
Cheers to the Unique brains dave. I can say I am 100% with Dave on all of these, except the clean environment thing, lucky Dave. If I have enough room to see what I am doing and walk around a mess, I probably wont even notice it. I’m so hyper focused on what is right in front of me that mess could be a huge pile of cash and i’d never see it.
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://daverupert.com/2024/12/adhd/
[2]: /thoughts/
I love me some styled rss, it's how the OG internet was made to be. You choose what you want to read and when. There is no middleman aggregator infl...
thoughts.waylonwalker.com [1]
[1]
References:
[1]: https://thoughts.waylonwalker.com/post/448
How to make your RSS feed pretty
Life is too short for ugly XML.
cassidoo.co [1]
I love me some styled rss, it’s how the OG [2] internet was made to be. You choose what you want to read and when. There is no middleman aggregator inflating the reach of things they want you to see or suffocating things against them. It’s just you and your internet friends.
Cassidy’s Styled rss [3] # [4]
Cassidy has a quite lovely and easy to read rss feed, with an open source style sheet, that is part of her open source blog template for astro blahg [5], love that name by the way!
[6]
Dave Rupert’s Feed [7] # [8]
I first learned of styled rss feeds from shoptalkshow.com, specifically from Dave Rupert [9].
[10]
Dave uses a pretty bog standard styled rss feed with pretty-feed-v3 [11]. This repo is probably the best place to start if you are looking to style your rss feed.
https://github.com/genmon/aboutfeeds/blob/main/tools/pretty-feed-v3.xsl
My RSS Feed [12] # [13]
My feed comes from my static site generator markata [14], a plugins all the way down static site generator written in python, made for customizing, lacking just about any and all docs so you are on your own.
[15]
Note
...
Today i got hit by this accessibility issue on my site. Low contrast links are
not distiniquishable. I had not seen this error title before it was new to me,
maybe I have bad memory or maybe it’s new to me.
[1]
I ended up dropping the background color of the site down a notch as I didn’t
really care for the semi-dark brown anyways. I’m liking the near black
bg-zinc-950 much better now.
[2]
Now I got that 100 A11y score in lighthouse.
[3]
References:
[1]: https://dropper.waylonwalker.com/api/file/24b4e31f-60db-47b8-b67c-07c4d4b6fb71.webp
[2]: https://dropper.waylonwalker.com/api/file/8b4f2087-3f24-4212-ad00-74f294aff114.webp
[3]: https://dropper.waylonwalker.com/api/file/17497676-3730-4875-9e10-c6d121ba537a.webp
Dropper
Dropper is a simple file sharing service.
Dropper · dropper.waylonwalker.com [1]
Dropper is a place for me to drop files for quick posts like this.
[2]
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://dropper.waylonwalker.com/
[2]: https://dropper.waylonwalker.com/api/file/c3a4c39d-c9ab-4e0a-b4c1-b74362877342.webp
[3]: /thoughts/
Add a healthcheck to your FastAPI app | Nic Payne
I'm building a few FastAPI apps to throw in docker and run on my homelab... I wanted to add healthchecks and here's a simple way to do it Make sure to
pype.dev [1]
Nice example of adding a healthcheck to fastapi [2], and integrating it with docker. Don’t forget to include curl in the install, nice touch.
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://pype.dev/add-a-healthcheck-to-your-fastapi-app
[2]: /fastapi/
[3]: /thoughts/
GitHub - casey/just: 🤖 Just a command runner
🤖 Just a command runner. Contribute to casey/just development by creating an account on GitHub.
GitHub · github.com [1]
new versions of just now come with color variables already set.
[group('manage')]
version:
#!/usr/bin/env bash
version=$(cat version)
echo current version {{BOLD}}{{GREEN}}$version{{NORMAL}}
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/casey/just?tab=readme-ov-file#constants
[2]: /thoughts/
pipely/justfile at main · thechangelog/pipely
I like the idea of having like this 20-line Varnish config that we deploy around the world, and it’s like: Look at our CDN! - thechangelog/pipely
GitHub · github.com [1]
I found this nugget in thechangelogs justfile, it lets you add color to your justfile with variables quite easily.
# https://linux.101hacks.com/ps1-examples/prompt-color-using-tput/
_BOLD := "$(tput bold)"
_RESET := "$(tput sgr0)"
_BLACK := "$(tput bold)$(tput setaf 0)"
_RED := "$(tput bold)$(tput setaf 1)"
_GREEN := "$(tput bold)$(tput setaf 2)"
_YELLOW := "$(tput bold)$(tput setaf 3)"
_BLUE := "$(tput bold)$(tput setaf 4)"
_MAGENTA := "$(tput bold)$(tput setaf 5)"
_CYAN := "$(tput bold)$(tput setaf 6)"
_WHITE := "$(tput bold)$(tput setaf 7)"
_BLACKB := "$(tput bold)$(tput setab 0)"
_REDB := "$(tput setab 1)$(tput setaf 0)"
_GREENB := "$(tput setab 2)$(tput setaf 0)"
_YELLOWB := "$(tput setab 3)$(tput setaf 0)"
_BLUEB := "$(tput setab 4)$(tput setaf 0)"
_MAGENTAB := "$(tput setab 5)$(tput setaf 0)"
_CYANB := "$(tput setab 6)$(tput setaf 0)"
_WHITEB := "$(tput setab 7)$(tput setaf 0)"
Usage
echo:
echo {{_BOLD}}{{_GREEN}}hello there{{_RESET}}
Note
This post i...
Hurl - Run and Test HTTP Requests
Hurl, run and test HTTP requests with plain text and curl. Hurl can run fast automated integration tests.
hurl.dev [1]
Hurl was mentioned by @gerhard [2] on the latest changelog and Friends [3]. Looks like a feature rich easy to use testing tool that is tested via what looks like a config file.
Hurl is a command line tool that runs HTTP requests defined in a simple plain text format.
It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions.
Hurl makes it easy to work with HTML [4] content, REST / SOAP / GraphQL APIs, or any other XML / JSON based APIs.
Note
This post is a thought [5]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://hurl.dev/
[2]: https://gerhard.io/
[3]: https://www.youtube.com/watch?v=mvC7497CJJs&t=3001s
[4]: /html/
[5]: /thoughts/
Today I discovered the Urllink function in bash from the ujust tool from
ublue.it [1]. Seems like a cool trick, but might not work
everywhere.
########
### Special text formating
########
## Function to generate a clickable link, you can call this using
# url=$(Urllink "https://ublue.it" "Visit the ublue website")
# echo "${url}"
function Urllink (){
URL=$1
TEXT=$2
# Generate a clickable hyperlink
printf "\e]8;;%s\e\\%s\e]8;;\e\\" "$URL" "$TEXT${n}"
}
```j
References:
[1]: https://ublue.it
watchfiles
Simple, modern and high performance file watching and code reload in python.
watchfiles.helpmanual.io [1]
Simple, modern and high performance file watching and code reload in python.
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://watchfiles.helpmanual.io/
[2]: /thoughts/
I’m really excited about turso [1], an amazing project by tursodatabase [2]. It’s worth exploring!
Turso Database is a project to build the next evolution of SQLite.
References:
[1]: https://github.com/tursodatabase/turso
[2]: https://github.com/tursodatabase
limbo [1] by tursodatabase [2] is a game-changer in its space. Excited to see how it evolves.
Limbo is a work-in-progress, in-process OLTP database management system, compatible with SQLite.
References:
[1]: https://github.com/tursodatabase/limbo
[2]: https://github.com/tursodatabase
hostnamectl to easily change hostname | Nic Payne
hostnamectl is apparently a linux utility for easily changing your hostname in a variety of ways I learned there's transient and static hostnames, so that&
pype.dev [1]
For some reason the ublue ecosystem does not prompt you to set your hostname on install and you get a hostname like bazzite showing up. Looks like this is the fix.
hostnamectl –static hostname babyblue-aurora
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://pype.dev/hostnamectl-to-easily-change-hostname
[2]: /thoughts/
Ansible Galaxy
galaxy.ansible.com [1]
Great examples for working with s3 buckets with ansible.
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://galaxy.ansible.com/ui/repo/published/amazon/aws/content/module/s3_bucket/#examples
[2]: /thoughts/
I came across cockpit-identities [1] from 45Drives [2], and it’s packed with great features and ideas.
User and group management plugin for Houston UI (Cockpit)
References:
[1]: https://github.com/45Drives/cockpit-identities
[2]: https://github.com/45Drives
cockpit-file-sharing [1] by 45Drives [2] is a game-changer in its space. Excited to see how it evolves.
A Cockpit plugin to easily manage samba and NFS file sharing.
References:
[1]: https://github.com/45Drives/cockpit-file-sharing
[2]: https://github.com/45Drives
Using OPNsense with Tailscale · Tailscale Docs
Set up a Tailscale VPN on OPNsense. Get secure communication across your devices without the need for complex configuration.
Tailscale · tailscale.com [1]
On reboot of my opnsense router it did not tailscale up. I’m not sure if a key expired or what happened. The fix was to first enable ssh, then ssh in and run tailscale up.
enable ssh # [2]
In opnsense System > Settings > Administration > Secure Shell > Enable Secure Shell
tailscale up # [3]
ssh <opnsense ip>
8 # to select shell
tailscale up
Follow the link to log in.
disable ssh # [4]
now uncheck secure shell to lock down the opnsense machine.
In opnsense System > Settings > Administration > Secure Shell > Enable Secure Shell
Note
This post is a thought [5]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://tailscale.com/kb/1097/install-opnsense
[2]: #enable-ssh
[3]: #tailscale-up
[4]: #disable-ssh
[5]: /thoughts/
I’ve been debugging a cloudflared tunnel issue in my homelab [1] all day today, and
getting really frustrated. My issue ended up being that it was running twice,
once without the correct config file and another with it. I believe that
cacheing may have compounded the issue.
In yesterday’s post I setup a cloudflared tunnel on my ubuntu server to
expose applications running on the server to the internet. I’m setting up a
new server and running cloudflared in its own vm.
setup cloudflared tunnel on ubuntu [2]
Check that dns is pointing to the correct tunnel # [3]
dig subdomain.example.com
traceroute subdomain.example.com
Check that the tunnel is running # [4]
export CLOUDFLARED_TUNNEL_ID = "my-tunnel-id"
cloudflared tunnel list
cloudflared tunnel info $CLOUDFLARED_TUNNEL_ID
References:
[1]: /homelab/
[2]: /setup-cloudflared-tunnel-on-ubuntu/
[3]: #check-that-dns-is-pointing-to-the-correct-tunnel
[4]: #check-that-the-tunnel-is-running
I run a cloudflared tunnel on my ubuntu server to expose applications running
on the server to the internet. I’m setting up a new server and running
cloudflared in its own vm.
Get the cloudflared binary # [1]
sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -O /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared
# [2]
Now setup the config directory. For the systemd service to work, the config
file needs to be in /etc/cloudflared. I like to give my user rights to edit
the config file without being sudo, we will do that here by creating a group
cloudflared, add ourselves to the group, give ownership of /etc/cloudflared
to the group, give group write access to the directory, and refresh groups.
sudo mkdir -p /etc/cloudflared
sudo groupadd cloudflared
sudo usermod -aG cloudflared $USER
sudo chown -R root:cloudflared /etc/cloudflared
sudo chmod g+w /etc/cloudflared
newgrp cloudflared
login # [3]
Now we can log into the domain zone with cloudflared.
cloudflared tunnel login
This will give a url, follow it in a browser to log in.
cloudflared tunnel create <NAME>
mv ~/.cloudflared/cert.pem /etc/cloudflared/cert....
Fitting two hard drives and an SSD in a Dell OptiPlex 7010 SFF
The Dell OptiPlex 7010 SFF officially only has room for one 2.5" hard drive internally, I fitted two 3.25" hard drives and a 2.5" SSD in one.
willj.net [1]
This guy fit 2 3.5" drives and an sdd in a dell 7050 SFF. It looks tight, and there it probably not much airflow running in it, but its an impressive project.
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://willj.net/posts/fitting-two-hard-drives-and-an-ssd-in-a-dell-optiplex-7010-usff/
[2]: /thoughts/
How To Fix An Office Chair Popping Noise? With Root Causes
If you hear a popping noise from under your office chair when you move around or when you spin it, it’s time to repair your office chair. Read more.
ToErgonomics · toergonomics.com [1]
I tried this fix on my secretlabs chair, but unfortunately it did nothing for me. Mine ended up being an issue in the tilt mechanism and not the hydraulic piston. I greased the crap out of it, it can only help the longevity. I did notice that the two washers on either side of my bearing were quite worn in.
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://toergonomics.com/office-chair-popping-noise/
[2]: /thoughts/
If anyone else is having sound clicking with chair : here is the document admitting it’s manufacturer defect.
If anyone else is having sound clicking with chair : here is the document admitting it’s manufacturer defect.
Reddit · reddit.com [1]
This is definitely happening to my secretlabs chair. I did the fix this morning, its still not perfect, but it’s better now than it has been in a long time. Mine use to be so bad that it would pop and creak every time I sat down or moved the smallest bit. It’s now quiet through the mid range of its motion with the occasional pop when I sit down.
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://www.reddit.com/r/secretlab/comments/s6ayop/if_anyone_else_is_having_sound_clicking_with/
[2]: /thoughts/
External Link
X (formerly Twitter) · x.com [1]
switching cloud providers, theres no easy way. K8s was supposed to get us there, haha, the deep integrations with each vendor just keep locking us in
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://x.com/changelog/status/1860697708463378497
[2]: /thoughts/
-
Dang, love this guys branding. Hooks to get stuff offDaBench, what a freaking cool name.
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/
Just starred nvtop [1] by Syllo [2]. It’s an exciting project with a lot to offer.
GPU & Accelerator process monitoring for AMD, Apple, Huawei, Intel, NVIDIA and Qualcomm
References:
[1]: https://github.com/Syllo/nvtop
[2]: https://github.com/Syllo
-
This is a really amazing documentary of argocd. I got into k8s pretty late in the game. Which is pretty typical for me. As I went to use k8s for the first time i was using workflows, then cd. both of these tools had a level of polish that made them seem like they had been there forever and not quite as young as they actually are.
I thought it was interesting how they focused on how the name must be two syllables or less, start with a or b, logo needs to be cutesy funny and recognizable seemed interesting, but puts them at the top of lists and makes them look like they’ve been there forever.
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/
I’m impressed by kubectl-debug-ide [1] from devfile [2].
A kubectl plugin to debug Pods from an IDE rather than the CLI
References:
[1]: https://github.com/devfile/kubectl-debug-ide
[2]: https://github.com/devfile
External Link
containers.github.io [1]
bootc is the underlying technology that enables OS’s like bazzite, and Aurora from the uBlue ecosystem.
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://containers.github.io/bootc/
[2]: /thoughts/
[1]
A new completion plugin that I might give a try. Readme makes it sound like its built on some fast teck that allows them to handle a lot of items and run more frequently. The videos look like they don’t have some of the same issues cmp does for me. Maybe its my configuration, but I’m pretty sure it does not update when you backspace and things like that.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /static/https://github.com/Saghen/blink.cmp
[2]: /thoughts/
External Link
X (formerly Twitter) · x.com [1]
These css anchors are crazy that you can do this with html [2] and not a bunch of js, probably requiring a library or framework.
[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://x.com/wesbos/status/1856724739336859713
[2]: /html/
[3]: https://x.com/i/status/1856724739336859713
[4]: /thoughts/
I’ve been playing with 3d printing some items through the slant3d api. I’ve
been pricing out different prints by running a slice request through their api.
make a project # [1]
I’ve been using uv for project management. It’s been working well for quick
projects like this while making it reproducible, I’m still all in on hatch for
libraries.
mkdir slantproject
cd slantproject
uv init
uv venv
. ./.venv/bin/activate
uv add httpx rich python-dotenv
Get an api key # [2]
You will need an api key from the slant api, which currently requires a google
account and a credit card to create.
# .env
# replace with your api key from https://api-fe-two.vercel.app/
SLANT_API_KEY=sl-**
slicing an stl with teh slant api # [3]
Then you can run the python script to price out your print. I’m not exactly
sure how this compares to an order, especially when you add in different
materials.
from dotenv import load_dotenv
import httpx
import os
load_dotenv()
stl_url = ''
api_key = os.environ["SLANT_API_KEY"]
api = httpx.Client(base_url="https://www.slant3dapi.com/api/slicer")
res = httpx.post(
"https://www.slant3dapi.com/api/slicer",
json={"fileURL": stl_url},
headers={"api-key": api_key, "Co...
External Link
cdn.statically.io [1]
Staically makes creating OG [2] images so easy, you can just pop this in your section with some og tags.
<meta name="og:image" name="og:image"
content="https://cdn.statically.io/og/{{post.title}}" />
<meta name="twitter:image" name="twitter:image"
content="https://cdn.statically.io/og/{{post.title}}" />
<meta name="og:image:height" content="640" />
<meta name="og:image:width" content="1280" />
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://cdn.statically.io/og/statically%20makes%20OG%20images%20**easy**
[2]: /og/
[3]: /thoughts/
Check out terminal-tree [1] by willmcgugan [2]. It’s a well-crafted project with great potential.
No description available.
References:
[1]: https://github.com/willmcgugan/terminal-tree
[2]: https://github.com/willmcgugan
E576: Error while reading ShaDa file: there is an item at position 270498 that must not be there: Missing itemsare for internal uses only · Issue #6875 · neovim/neovim
v0.2.0 Vim 8.0 works well. macOS Sierra 10.12.5 (16F73) iTerm2 v3.0.15 $TERM: screen-256color Actual behaviour When I start neovim by nvim, it prints an error message which is E576: Error while rea...
GitHub · github.com [1]
I hit an interesting error after updating my nvim plugins today. I’m sti not even quite sure what a ShaDa file is, but I found min in my nvim state directory, unlike this issue that mentions it being in share.
The Error.
Error while reading ShaDa file:
The Fix
mv ~/.local/state/nvim/shada/main.shada ~/.local/state/nvim/shada/main.shada.bak
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/neovim/neovim/issues/6875
[2]: /thoughts/