all lt keys to hl Ā· WaylonWalker/zmk-config-42block@ce25356
Contribute to WaylonWalker/zmk-config-42block development by creating an account on GitHub.
GitHub Ā· github.com [1]
Today I swapped out all of my keys that are used dual purpose for letters and layers to homerow layers. This prevents goofy things happening when rolling, and prefers-tap makes it so that keys that are rolled over get hit as letters instead of as layers. This was one of my biggest hurdles jumping into zmk, lt as a homerow key just does not behave the same as the ht/hm behaviors with tap-preferred set.
Seealso
See previous commit where I added the hl https://github.com/WaylonWalker/zmk-config-42block/commit/9522c859cdf024a2c2b73931c130ddc907c09ffc
hl: homerow_layer {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_LAYER";
bindings = <&mo>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <150>;
flavor = "tap-preferred";
};
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/WaylonWalker/zmk-config-42block/commit/ce25356e88eb2439182201700314133de719457e
[2]: /thoughts/
Archive
All published posts
2507 posts
latest post 2026-05-29
Publishing rhythm
I like Infisicalās [1] project infisical [2].
ā¾ Infisical is the open-source secret management platform: Sync secrets across your team/infrastructure, prevent secret leaks, and manage internal PKI
References:
[1]: https://github.com/Infisical
[2]: https://github.com/Infisical/infisical
Tips for Being Happier, Healthier, More Productive by The GaryVee Audio Experience
Today's podcast episode is an interview I did on the Happier with Gretchen Rubin Podcast with Gretchen Rubin and Elizabeth Craft. We discuss balancing ambition, tenacity, humility, and patience. I ā¦
Spotify for Creators Ā· podcasters.spotify.com [1]
Deep breath, the deepest you can take in
Smile, a real fukin smile not some pansy bullshit
Say Iām not going to give a shit about this when Iām 90
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://podcasters.spotify.com/pod/show/garyvee/episodes/Tips-for-Being-Happier--Healthier--More-Productive-e2m4184
[2]: /thoughts/
I came across zmk-config [1] from evantravers [2], and itās packed with great features and ideas.
No description available.
References:
[1]: https://github.com/evantravers/zmk-config
[2]: https://github.com/evantravers
Can't use System update - invalid signature when validating ASN.1 encoded signature Ā· Issue #1316 Ā· ublue-os/bazzite
Describe the bug Hello, I installed the nvidia KDE version of bazzite just 2 days ago. Today I wanted to update to the most recent release, but unfortunately, I keep getting the following error: Pu...
GitHub Ā· github.com [1]
This fixed my bazzite update issues after the signing key was rotated recently. This team is killing it with such a great user experience.
curl -sL https://fix.universal-blue.org/ | sudo bash
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/ublue-os/bazzite/issues/1316
[2]: /thoughts/
I like Textualizeās [1] project transcendent-textual [2].
Textual apps and libraries
References:
[1]: https://github.com/Textualize
[2]: https://github.com/Textualize/transcendent-textual
Update Kconfig.shield rec by bravekarma Ā· WaylonWalker/zmk-config-ninepad@8b76b76
zmk configuration for ninpad keyboard. Contribute to WaylonWalker/zmk-config-ninepad development by creating an account on GitHub.
GitHub Ā· github.com [1]
This one space killed my whole config and held me back from learning zmk.
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/WaylonWalker/zmk-config-ninepad/commit/8b76b76e2f094453aaf7ffe51bb405ce3a25a611
[2]: /thoughts/
[1]
The trackball spinner looks sick here. I can imagine using that spinner like a scroll wheel.
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://kbd.news/DragonFruit-2178.html
[2]: /thoughts/
[1]
They had split ergo boards back in 1983??? WTF who the heck keeps these row stagger boards going. This board looks like endgame material, If this thing was more normal, itād kill a whole section of the ergo mechanical keyboard industry for good reason.
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://kbd.news/NEC-M-System-1729.html
[2]: /thoughts/
-
This keyboard layout looks weird af the mix of column staggar and row stagger is wild. Not sure if its genius or an abomination.
That solenoid though is absolutely wild though, I kinda want one TBH.
and the clear plate with the diodes laid out on it in a herringbone pattern is a very nice touch.
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/
External Link
stackoverflow.com [1]
today I learned that there is an accessibility feature in chrome that allows you to place a text cursor anywhere on the page. I had accidentally done this and it drove me mad that it was there.
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://stackoverflow.com/questions/75886276/text-cursor-bug-in-my-chrome-browser-that-causes-the-blinking-cursor-to-appear-e
[2]: /thoughts/
animal well codes
fish room # [1]
fish bubbles
ul d dl l dl ur ul
jellyfish
d l d l d l u r
egg room # [2]
bar dir
given bar codes
top r
mid dr
bot dl
calculated bar codes
num dir
1 r
2 dr
3 d
4 dl
5 l
6 ul
7 u
8 ur
bar code direction
num bar
1 top
2 mid
3 top mid
4 bot
5 top bot
6 mid bot
7 top mid bot
8 empty
egg room decode
6 3 3 6 3 1 3 4
2 4 3 2 8 3 5 8 _
3 5 7 5_ __ 5 2 5 6 3 1 3
3 1 3 6 4 4 6 4 2 4 6 8
6 4 8 7 3 7 6 5 7 6 __
egg room decode dir
ul dd __ dd ul dd rr dd __ dl
dr dl dd __ dr ur__ dd ll ur __
dd ll uu ll __ ____ ll dr ll ul dd rr dd
__ dd rr dd ul dl __ dl ul dl dr dl ul ur
ul dl ur uu __ dd uu ul __ ll uu ul ____
References:
[1]: #fish-room
[2]: #egg-room
-
Hard to argue this take, happy to see that its at the top. With it being such an old language its amazing that it still holds this position, and not surprising that it has warts, and thing that have turn users off from wanting anything to do with it.
timestamped in the link
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/
Command Line Interface Guidelines
An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.
clig.dev [1]
This is a pretty sick set of guidelines to help you write better cli programs, Iām definitely coming back to reading this one more in depth later.
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://clig.dev/
[2]: /thoughts/
External Link
fullystacked.net [1]
You can explicitly make a script render blocking, nothing will be rendered until this js is ready.
<script blocking="render"
src="important.js"
defer></script>
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://fullystacked.net/render-blocking-on-purpose/
[2]: /thoughts/
Remove Background Web - a Hugging Face Space by Xenova
In-browser background removal
huggingface.co [1]
Iāve long been a user of remove.bg, and I just discovered that you can run this transformer right within your browser with no api limits.
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://huggingface.co/spaces/Xenova/remove-background-web
[2]: /thoughts/
Check out volfpeter [1] and their project fasthx [2].
FastAPI [3] server-side rendering with built-in HTMX [4] support.
References:
[1]: https://github.com/volfpeter
[2]: https://github.com/volfpeter/fasthx
[3]: /fastapi/
[4]: /htmx/
FastHX - FastHX
volfpeter.github.io [1]
Very interesting approach to htmx [2] and fast api. It uses separate decorators for returning template partials and json that can be stacked to include both options on a single route. The templates are explicitly set in the decorator. Separate decorators are used for full page and partial pages. I donāt see an example of full and partial pages being combined. I think the demo app must be behaving in a spa like fashion where it does not get all of the data when it calls index and index will ask for user-list.
Definitely going to keep my eye on this project and ponder on it.
from fastapi import FastAPI
from fastapi.templating import Jinja2Templates
from fasthx import Jinja
from pydantic import BaseModel
# Pydantic model of the data the example API is using.
class User(BaseModel):
first_name: str
last_name: str
# Create the app.
app = FastAPI()
# Create a FastAPI Jinja2Templates instance and use it to create a
# FastHX Jinja instance that will serve as your decorator.
jinja = Jinja(Jinja2Templates("templates"))
@app.get("/")
@jinja.page("index.html")
def index() -> None:
...
@app.get("/user-list")
@jinja.hx("user-list.html")
async...
FastHX - FastHX
volfpeter.github.io [1]
Very interesting approach to htmx [2] and fast api. It uses separate decorators for returning template partials and json that can be stacked to include both options on a single route. The templates are explicitly set in the decorator. Separate decorators are used for full page and partial pages. I donāt see an example of full and partial pages being combined. I think the demo app must be behaving in a spa like fashion where it does not get all of the data when it calls index and index will ask for user-list.
Definitely going to keep my eye on this project and ponder on it.
from fastapi import FastAPI
from fastapi.templating import Jinja2Templates
from fasthx import Jinja
from pydantic import BaseModel
# Pydantic model of the data the example API is using.
class User(BaseModel):
first_name: str
last_name: str
# Create the app.
app = FastAPI()
# Create a FastAPI Jinja2Templates instance and use it to create a
# FastHX Jinja instance that will serve as your decorator.
jinja = Jinja(Jinja2Templates("templates"))
@app.get("/")
@jinja.page("index.html")
def index() -> None:
...
@app.get("/user-list")
@jinja.hx("user-list.html")
async...
Pinout and Schematic - nice!nano
Pinout and schematic for the nice!nano
nicekeyboards.com [1]
Pinout for nice!nano boards. Note that P0.15 means gpio port 0 pin 15, they can be referenced in zmk when setting column and row pins.
#include <dt-bindings/zmk/matrix_transform.h>
/ {
chosen {
zmk,kscan = &default_kscan;
zmk,matrix_transform = &default_transform;
/delete-property/ zephyr,console;
/delete-property/ zephyr,shell-uart;
};
default_kscan: kscan {
compatible = "zmk,kscan-gpio-matrix";
label = "default_kscan";
diode-direction = "col2row";
col-gpios
= <&gpio0 31 GPIO_ACTIVE_HIGH>
, <&gpio0 29 GPIO_ACTIVE_HIGH>
, <&gpio0 2 GPIO_ACTIVE_HIGH>
;
row-gpios
= <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio1 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
default_transform: matrix_transform {
compatible = "zmk,matrix-transform";
columns = <3>;
rows = <3>;
map = <
RC(0,0) RC(0,1) RC(0,2)
RC(1,0) RC(1,1) RC(1,2)
RC(2,0) RC(2,1) RC(2,2)
>;
};
};
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://nicekeyboard...
Iām impressed by shmux [1] from typecraft-dev [2].
the shell-script tmux management you didnāt know you needed. baby
References:
[1]: https://github.com/typecraft-dev/shmux
[2]: https://github.com/typecraft-dev
I like iximiuzās [1] project awesome-container-tinkering [2].
List of awesome tools to tinker with containers.
References:
[1]: https://github.com/iximiuz
[2]: https://github.com/iximiuz/awesome-container-tinkering
External Link
unix.stackexchange.com [1]
today I learned that /dev/pts is a pseudo-tty. It amazes me how much linux is still built around things like hardware terminals.
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://unix.stackexchange.com/questions/93531/what-is-stored-in-dev-pts-files-and-can-we-open-them
[2]: /thoughts/
GitHub - svenstaro/miniserve: š For when you really just want to serve some files over HTTP right now!
š For when you really just want to serve some files over HTTP right now! - svenstaro/miniserve
GitHub Ā· github.com [1]
miniserve is a sweet http server, replacement for python -m http.server. Itās fast, runs off a small binary, but why would I want to use it over something that already exists on most machines, because it includes a bunch of features like qr codes, pretty themes, and uploads. Iāve used python -m http.server many times to transfer files from one machine to another in a pinch, like at a family members house. But what if they have an android, windows, or something not easy to get a python repl running on, you can run miniserve and upload from their device rather than hosting from their device.
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/svenstaro/miniserve
[2]: /thoughts/
Looking for inspiration? miniserve [1] by svenstaro [2].
š For when you really just want to serve some files over HTTP right now!
References:
[1]: https://github.com/svenstaro/miniserve
[2]: https://github.com/svenstaro
pacman/Tips and tricks - ArchWiki
wiki.archlinux.org [1]
The arch wiki is always full of good content, and pacman tips and tricks does not disappoint. Today I discovered this command to remove orphaned dependencies on my system.
pacman -Qdtq | pacman -Rns -
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://wiki.archlinux.org/title/pacman/Tips_and_tricks
[2]: /thoughts/
Inside 22,734 Steam games
About a year ago I blogged about games that use curl. In that post I listed a bunch of well-known titles I knew use curl and there was a list of 136 additional games giving credit to curl. Kind of ...
daniel.haxx.se Ā· daniel.haxx.se [1]
Interesting to see that curl is used in so many places. I often think of things like games being so windows centric and curl being so linux centric I donāt even think of these things crossing paths as much as they do.
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://daniel.haxx.se/blog/2024/06/20/inside-22734-steam-games/
[2]: /thoughts/
wcurl is here
Users tell us that remembering what curl options to use when they just want to download the contents of a URL is hard. This is one often repeated reason why some users reach for wget instead of cur...
daniel.haxx.se Ā· daniel.haxx.se [1]
interesting, seems like such a simple way to completely remove the need of a whole other cli. No offense to anyone working on wget, but generally I use it out of lazyness or something wierd is happening and I am looking for a second opinion. Cool to know that wcurl exists and will start shipping with curl.
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://daniel.haxx.se/blog/2024/07/03/wcurl-is-here/
[2]: /thoughts/
Iāve started leaning in on kubernetes kustomize to customize my manifests per
deployment per environment. Today I learned that it comes with a diff command.
kubectl diff -k k8s/overlays/local
You can enable color diffs by using an external diff provider like colordiff.
export KUBECTL_EXTERNAL_DIFF="colordiff -N -u"
You might need to install colordiff if you donāt already have it.
sudo pacman -S colordiff
sudo apt install colordiff
Now I can try out kustomize changes and see the change with kustomize diff.
Animal well does not let you remap keys, and really doesnāt even inform you
that it is keyboard compatible. I had to play around and discover the keymap,
which can be a bit tricky on a 40% board. This is what I found.
- wasd - move
- space - jump / a
- enter - interact / b
- x - throw
- c - inventory
- 1 - left item / rb
- 2 - open item menu / triangle
- 3 - right item / lb
I recently discovered pydantic-sqlite [1] by Phil997 [2], and itās truly impressive.
Simple package for storing pydantic BaseModels in an in-memory SQLite database.
References:
[1]: https://github.com/Phil997/pydantic-sqlite
[2]: https://github.com/Phil997
Email Address Obfuscation
Hide email addresses from bots while keeping them visible to visitors.
Cloudflare Docs Ā· developers.cloudflare.com [1]
I recently started seeing email-decode.min.js show up on my blog posts, and I wondered what the heck ? I didnāt put it there. Turns out that cloudflare put it there from pages to safely serve email addresses for me.
inspecting the page without js running we can see that the mailto email is swapped out for email protected. Neat feature.
⯠curl --silent https://waylonwalker.com/diskcache-as-debounce/ | grep email
<a class="decoration-pink-500 hover:decoration-pink-300 hover:text-pink-100" href="/cdn-cgi/l/email-protection#a4ccc1c8c8cbe4d3c5ddc8cbcad3c5c8cfc1d68ac7cbc9" rel="me"><span class="__cf_email__" data-cfemail="630b060f0f0c2314021a0f0c0d14020f0806114d000c0e">[email protected]</span></a>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script></body>
Looking deeper into this article it looks like this feature comes from Scrape Shield and enabling Email Address Obfuscation.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online...
Background Tasks - FastAPI
FastAPI framework, high performance, easy to learn, fast to code, ready for production
fastapi.tiangolo.com [1]
fastapi [2] comes with a concept of background tasks which are functions that can be ran in the background after a function has been ran. This is handy for longer running functions that may take some time and you want to have fast response times.
Here is an example from the docs
from fastapi import BackgroundTasks, FastAPI
app = FastAPI()
def write_notification(email: str, message=""):
with open("log.txt", mode="w") as email_file:
content = f"notification for {email}: {message}"
email_file.write(content)
@app.post("/send-notification/{email}")
async def send_notification(email: str, background_tasks: BackgroundTasks):
background_tasks.add_task(write_notification, email, message="some notification")
return {"message": "Notification sent in the background"}
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://fastapi.tiangolo.com/tutorial/background-tasks/
[2]: /fastapi/
[3]: /thoughts/
markdown-it-pyrs
A Python interface for markdown-it.rs, using Rust for blazingly fast Markdown parsing ā”ļø
PyPI Ā· pypi.org [1]
markdown it py running in rust claims to be 20x faster. Iāll definitely look into this if markdown it py is ever a bottleneck in my performance. At first glance it appears that plugins are written in rust not python, and there is no admonition plugin, so Iāll keep my eye on it for now, but I canāt use 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://pypi.org/project/markdown-it-pyrs/
[2]: /thoughts/
[1]
diskcache has a peekitem method that allows you to lookup the expire_time of a cached item without changing it. I recently used this to implement debounce for fastapi [2] background tasks with multiple workers running. since all the workers I care about are on the same machine, but running in different processes diskcache was a great option. All workers have access to the same disk, but not the same variables in memory.
Note
This post is a thought [3]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /static/https://grantjenks.com/docs/diskcache/api.html#diskcache.Cache.peekitem
[2]: /fastapi/
[3]: /thoughts/
-
Great intro into kustomize. This helped me get started with kustomize.
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āve been using fastapi [1] more and more lately and one feature I just started
using is background tasks [[ thoughts-333 ]].
Seealso
basic diskcache example <a href="/python-diskcache/" class="wikilink" data-title="How I setup a sqlite cache in python" data-description="When I need to cache some data between runs or share a cache accross multiple processes my go to library in python is . It's built on sqlite with just enough..." data-date="2022-03-29">How I setup a sqlite cache in python</a>
One Background Task per db entry # [2]
I am using it for longer running tasks and I donāt want to give users the
ability to spam these long running tasks with many duplicates running at the
same time. And each fastapi worker will be running in a different process so I
cannot keep track of work in memory, I have to do it in a distributed fashion.
Since they are all running on the same machine with access to the same disk,
diskcache is a good choice
What I need # [3]
- check if a job is running
- automatically expire jobs
Less infrastructure complexity # [4]
My brain first went to thinking I needed another service like redis running
alongside fastapi for this, then it hit me that...
Iām really excited about homelab-diagrams [1], an amazing project by Doomlab7 [2]. Itās worth exploring!
A repository to house diagrams for my homelab [3]
References:
[1]: https://github.com/Doomlab7/homelab-diagrams
[2]: https://github.com/Doomlab7
[3]: /homelab/
learn-pdm [1] by pypeaday [2] is a game-changer in its space. Excited to see how it evolves.
A repository for learning and playing with the pdm package manager/system for python
References:
[1]: https://github.com/pypeaday/learn-pdm
[2]: https://github.com/pypeaday
If youāre into interesting projects, donāt miss out on zmk-config-fourpad [1], created by wyattbubbylee [2].
my fourpad keybord
References:
[1]: https://github.com/wyattbubbylee/zmk-config-fourpad
[2]: https://github.com/wyattbubbylee
kind cluster
kind [1]{.hoverlink} is a very useful tool to quickly standup and
teardown kubernetes clusters. I use it to run clusters locally. Generally
they are short lived clusters for trying, testing, and learning about
kubernetes.
Kind is Kubernetes in Docker, its very fast to get a new cluster up and
running. Other than checking a box in docker desktop it is the easiest way
currently to get a cluster up and running. Iāve used docker desktop for k8s
before I really developed on k8s and it was buggy at the time and sometimes
started and sometimes didnāt, when it didnt I had no idea how to fix it. Iād
suggest kind as the best option to get a cluster up and running locally.
Not Production # [2]
If you are looking for a production ready cluster this is not it. I really
like k3s [3]{.hoverlink}. At the time that I chose k3s it was
the most lightweight option that easily supported multi-node clusters.
Starting a kind cluster # [4]
The first step, and maybe only one that you need is to create ...
Yesterday I realized that I have overlooked the default installation method of
the sealed secrets controller for kubernetes kubeseal [1] this whole time an
jumped straight to the helm section. I spun up a quick kind cluster [2] and
had it up quickly. I canāt say this is any better or worse than helm as I have
never needed to customize the install. According to the docs you can customize
it with [[ kustomize ]] or helm.
# option if you don't have a cluster try with kind
kind create cluster
curl -L https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.27.0/controller.yaml > controller.yaml
kubectl apply -f controller.yaml
References:
[1]: /kubernetes-kubeseal/
[2]: /kind-cluster/
I like rothgarās [1] project bashScheduler [2].
Kubernetes scheduler written in less than 100 lines of bash š¬ š
References:
[1]: https://github.com/rothgar
[2]: https://github.com/rothgar/bashScheduler
Alternatives
A Pro Micro alternative for wireless keyboards. Contribute to joric/nrfmicro development by creating an account on GitHub.
GitHub Ā· github.com [1]
Huge list of micro controllers tried and used in keeb builds.
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/joric/nrfmicro/wiki/Alternatives
[2]: /thoughts/
Iām impressed by nrfmicro [1] from joric [2].
A Pro Micro alternative for wireless keyboards
References:
[1]: https://github.com/joric/nrfmicro
[2]: https://github.com/joric
External Link
X (formerly Twitter) Ā· x.com [1]
Not gonna lie, kinda pumped about this one. I manually did one, jotted down the coordinates, opened the gcode in vim, added markers between setup/teardown and print. then added the wipe, the copy pasted the print+wipe section a bunch of times.
My printer tends to run a bit better on single prints than printing a dozen at once as it has less issues with retract start and stop.
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/_WaylonWalker/status/1807594004453667134
[2]: /thoughts/
-
another great use and demo of the one eyed fighting kirby
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/