Posts whose title or text contains one of these words are left out of every view.
Whole words only: ai catches "AI-generated" but not "openai". Add a star for word beginnings: llm* catches llm and llms.
99 words is the limit
https://paultraylor.net/blog
12 posts · 1 Votes
Tech 92% · Life 8%
Subscribe via RSS
As part of my goal to be more organized, I wanted to document some of my morning routine. My day starts at night, in the sense that I have found the best way to have consistent mornings, is to have (as much as possible) consistent evenings. Knowing that I feel best with at least 7 hours of sleep, I try to ensure I am in bed by midnight, and try to avoid my phone too much in bed. Waking up While 7:00 is when I typically get out of bed, I will often wake up earlier, often due to a dual feline…
As part of documenting my current deployment, I wanted to document where I deploy things in 2026. At a high level, I am still using saltstack and docker for deployment. I have slowly migrated some things from the cloud to a local homelab. graph TD subgraph linode objectstorage@{ shape: docs } routing{routing} monitoring@{shape: subproc} click routing "#routing" click monitoring "#monitoring" end subgraph homelab docker@{ shape: st-rect } database[(database)] dev@{ shape: st-rect } click docker…
While I had played an older version of Satisfactory with my gaming group , we recently replayed it so that we could experience 1.2 and also see some of the story bits they added since 1.0. Quality of Life Improvements Some of the QoL improvements absolutely made the game more fun and removed some of the annoyances from our earlier playthrough. The dimensional depot was probably the biggest improvement, especially for any time we were far away from base. While there were a few times on long…
Echofeed was a service to take rss feeds and ’echo’ them to other services such as Mastodon. Recently they have been winding down the service for numerous but very understandable reasons. While I have no plans on offering an alternate service, I wrote my own simple version to continue having a similar flow of blog -> mastodon posts. django-feedparser-low Since I use django for most of my projects, my first search was to PyPI to see if there were any projects that combined django with feedparser…
Most of my alfred workflows are in python and I often use uv to run them. To make working on them a bit easier, I brainstormed an alfred-uv command to make it easier to develop. uvx alfred-uv install All the workflows I develop for myself, I tend to store as a git repo and then symlink. To make this flow easier, I write a uvx alfred-uv install command. Given the current directory, we can loop through the alfred workflows directory and check the existing symlinks there. If we find a link to our…
While nearly everyone likely has their own sisyphean task, one of mine is the search for the perfect inbox. Trying to have just one inbox to look at for the day has continued to be a challenge, even since I wrote about it in 2020 . Recently, I have looked at my daily workflow, and how I might converge on a single, primary inbox. Apple Reminder + EventKit Since I am on the Apple ecosystem already, I think I will try to standardize on Apple Reminder and by extension eventkit which will let me…
I use saltstack to manage deployment of docker containers in my homelab. For two of my cloud servers, I am running them in memory constrained environments for cost reasons, and typically only run the minimum required there. Since I wanted to wrap the docker_container module, I started by creating my own state in _states/docker_customized. I can do a simple naive version, just by using setdefault # _states/docker_customized.py def running(name, **kwargs): kwargs.setdefault("mem_limit", "1024M")…
For the past many years I have used various notification methods in my projects. Prowl Prowl is one that I have been using for the longest time. It has a simple API that can be used easily from curl and other applications. # https://www.prowlapp.com/api.php#add import requests requests.post( url="https://api.prowlapp.com/publicapi/add", data={ "apikey": api_key, "application": "my-application", "event": 'Event Title', "description": 'Event description', "priority": 0, # Optional "url"
While the entire systemd project has historically been rather polarizing, I have found it to be easier to maintain for my own environments. When working on services on windows or MacOS , I have come to miss having journald when running services. MacOS launchd services let you StandardOutPath and StandardErrorPath, each application can set them to whatever path they want. While applications can directly use MacOS unified logging, I wanted to prototype an idea of launchd handling directing files.…
Due to the flexibiilty of Django , I will often use it in places that are not a normal web app. A combination of the Django ORM and admin commands makes a Django project a useful place to collect useful scripts. In the past I would often add things to Cron, but due to the tasks framework I have started to add some jobs there. To make it even easier to call tasks, I hooked up Alfred to my Django project. Zatsumu 雑務 Every project needs a name, and since this is a private project, any name is…
The XDG Base Directory Specification was first published in 2003 as version 0.6 . There were minor updates in 2010 with 0.7 and in 2021 with 0.8 . While applications that pre-date the specification do not annoy me so much, newer applications that ignore it are a specific pet peeve of mine. While this specification typically only applies to Linux, many MacOS utilities are cross platform and could easily adopt the same standard, or use some of the MacOS locations. Instead, we have many, many, ...
Entry_points are used in a lot of my projects as they’re a fairly simple way of adding plugin points. Recently I was wondering if there was a tool or site that maps them to PyPI though I am not aware of any of them. I spent a little time prototyping with an idea to see how much of it might be feasable. PyPI provides a json api with basic meta data, but understandably, it’s unreasonable to expect for them to include everything. Even though our entry-point data is not included, we can use th...