Archive

All published posts

2605 posts latest post 2026-10-24
Publishing rhythm
Sep 2026 | 28 posts

Dec 9 – Dec 15, 20241 year ago

Featured this weekWriting

Today I discovered the Urllink function in bash from the ujust tool from ublue.it. 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

Link

I’m really excited about turso, an amazing project by tursodatabase. It’s worth exploring! Turso Database is a project to build the next evolution of SQLite.

Link

limbo by tursodatabase 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.

Note

Note

Note

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 Hurl was mentioned by @gerhard on the latest changelog and Friends. Looks like a feature rich easy to use testing tool that is tested via what looks like a config file. Hu…

Note

watchfiles Simple, modern and high performance file watching and code reload in python. watchfiles.helpmanual.io Simple, modern and high performance file watching and code reload in python.

Dec 2 – Dec 8, 20241 year ago

Featured this weekWriting

I’ve been debugging a cloudflared tunnel issue in my homelab 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

Check that dns is pointing to the correct tunnel #

dig subdomain.example.com
traceroute subdomain.example.com

Check that the tunnel is running #

export CLOUDFLARED_TUNNEL_ID = "my-tunnel-id"

cloudflared tunnel list
cloudflared tunnel info $CLOUDFLARED_TUNNEL_ID

Writing

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 #

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

#

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 #

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.pem
mv ~/.cloudflared/<tunnel-id>.json /etc/cloudflared/<tunnel-id>.json

config #

Now setup config. For the systemd service to work, the config file needs to be in /etc/cloudflared. The config that I have provided below will expose localhost:8000 to tester.example.com

export CLOUDFLARED_TUNNEL_ID=$(ls /etc/cloudflared/*.json | xargs -n 1 basename | sed 's/\.json$//')
mv ~/.cloudflared/${CLOUDFLARED_TUNNEL_ID}.json /etc/cloudflared/${CLOUDFLARED_TUNNEL_ID}.json
mv ~/.cloudflared/cert.pem /etc/cloudflared/cert.pem
echo "
tunnel: $(CLOUDFLARED_TUNNEL_ID)
credentials-file: /etc/cloudflared/$(CLOUDFLARED_TUNNEL_ID).json
ingress:
  - hostname: tester.example.com
    service: http://localhost:8000
  - service: 'http_status:404'
" >> /etc/cloudflared/config.yaml

dns #

Now to get a dns record for tester.example.com to point to the cloudflared tunnel.

cloudflared tunnel route dns $(CLOUDFLARED_TUNNEL_ID) tester.example.com

systemd #

Now install the systemd service.

sudo cloudflared service install
sudo systemctl status cloudflared.service
# if its not running
sudo systemctl start cloudflared.service

Link

Link

Note

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 For some reason the ublue ecosystem does not prompt you to set your hostname on install and you get a hos…

Note

Note

Nov 25 – Dec 1, 20241 year ago

Note

Note

Note

Note

Note

Nov 18 – Nov 24, 20241 year ago

Featured this weekWriting

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 #

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 #

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 #

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, "Content-Type": "application/json"},
    timeout=60,
)


print(res.json())

Link

Just starred nvtop by Syllo. It’s an exciting project with a lot to offer. GPU & Accelerator process monitoring for AMD, Apple, Huawei, Intel, NVIDIA and Qualcomm

Link

Note

Note

Note

Note

Note

Nov 11 – Nov 17, 20241 year ago

Featured this weekLink

Link

I’m really excited about IronCalc, an amazing project by ironcalc. It’s worth exploring! Main engine of the IronCalc ecosystem

Note

Note

Nov 4 – Nov 10, 20241 year ago

Featured this weekLink

If you’re into interesting projects, don’t miss out on blink.cmp, created by saghen. Performant, batteries-included completion plugin for Neovim

Link

Note

Note

Note

Note

Note

Gridfinity Generator gridfinity.perplexinglabs.com Gridfinity generator uses open scad, so you can make rugged boxes, bins and base plates with form input. not fully custom fit to things, but you can custom size square bins, hole cut out sides and all. From what I can tell, no bento box either. so as long as what you a…

Oct 28 – Nov 3, 20242 years ago

Featured this weekLink

rommapp has done a fantastic job with romm. Highly recommend taking a look. A beautiful, powerful, self-hosted rom manager

Link

I came across pz from CZ-NIC, and it’s packed with great features and ideas. Easily handle day to day CLI operation via Python instead of regular Bash programs. 🇺🇦 #supporting

Link

Link

I’m impressed by rocketnotes from fynnfluegge. AI-powered markdown editor - leverage vector embeddings and LLMs with your personal notes - 100% local or in the cloud

Link

faststream by airtai is a game-changer in its space. Excited to see how it evolves. FastStream is a powerful and easy-to-use Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS and Redis.

Link

I came across faststream from ag2ai, and it’s packed with great features and ideas. FastStream is a powerful and easy-to-use Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS and Redis.

Link

The work on memos by usememos. An open-source, lightweight note-taking solution. The pain-less way to create your meaningful notes. Your Notes, Your Way.

Link

Link

Note

Note

Note