this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

add blog post

Aria d890fbc9 a179b578

+155
+155
web/aria.rip/site/finishing_projects_february.org
··· 1 + :PROPERTIES: 2 + :ID: 3cec2783-e85f-42ef-92f4-bd6ceff1b573 3 + :END: 4 + #+title: Finishing projects february 5 + 6 + Like a lot of people, I tend to end up with lots of projects stuck just past where the interesting bits end, and then never properly finish them. 7 + Since I decided to actually do some new year's resolutions this year, one of them was to finish up the projects which were most egregiously close. I gave myself a hard deadline of the end of February, which I ended up hitting for all but one project. 8 + 9 + Below are some notes on each of them, and some ramblings about what I want to do in future. They are provided "AS IS", without any guarantee, express or implied, that they'll be interesting. 10 + 11 + * Sewing 12 + 13 + I've been slowly learning some sewing, and at some point decided I wanted to do a larger project as a challenge. I ended up using [[https://blog.fabrics-store.com/2019/08/29/luana-apron-dress-tutorial/][this pattern]], and some medium-weight linen I got from Edinburgh fabrics. 14 + 15 + This was partly a success: 16 + 17 + - I learned a decent amount about how dresses are constructed, and working with these kinds of fabrics 18 + - I ended up with something a bit different from the rest of my wardrobe, even though the finish isn't great 19 + - It has pockets! 20 + 21 + I think the main things that made me procastinate so much were: 22 + 23 + - The pattern's instructions for pockets are pretty confusing. From the comments, I think this isn't just a skill issue on my part - I got them done but probably not the way they're intending. 24 + - I sorta realised halfway through it looked a bit different than I was expecting, and I'm still not sure what to style it with. 25 + 26 + Overall, it was fun. I think I'm probably going to stick to smaller sewing projects for the time being, and focus on improving the finish, which is generally not great across most the projects I do. 27 + 28 + * Server migration 29 + 30 + I've self-hosted a lot of the services I use for a while now: first off of Hetzner VMs, then off of a second-hand server shared with a friend, and colocated at the [[https://edinburghhacklab.com/][Edinburgh Hacklab]]. 31 + 32 + Something that bothered me about this is how power-hungry and old our server was, and how it lacks some modern features that make things a bit slower/more annoying than they should be. In particular, MongoDB fails to run if you don't compile from source, and using the iLO requires enabling a bunch of insecure ciphers on your SSH client. 33 + 34 + Our new server is still used, but is much more recent. Since we're moving things about anyway, we decided to move away from running VMs on Proxmox VE, to running LXC containers on Incus (with NixOS as an OS). 35 + 36 + Moving away from Proxmox has been great, in particular: 37 + 38 + - Incus has built-in port forwarding and IPv6 support 39 + - Docker-in-LXC mostly just works, whereas it required fineagling on Proxmox 40 + - Nix is a really nice way to manage servers (if you are fluent in the arcane ways) 41 + 42 + I keep one or two essential services on the host, which reduces the chance of things like the hypervisor failing to start because it depends on an auth provider inside a container. This is more-or-less how I'm running things right now: 43 + 44 + #+begin_src mermaid 45 + flowchart TB 46 + subgraph "Host (heather)" 47 + lldap("LDAP (Lldap)") 48 + authelia("Auth gateway (Authelia)") 49 + caddy("Reverse Proxy (Caddy)") 50 + authelia --> lldap 51 + caddy --> authelia 52 + 53 + prometheus("Prometheus") 54 + grafana("Grafana") 55 + grafana --> prometheus 56 + caddy --> grafana 57 + end 58 + 59 + subgraph "Code container" 60 + tangled("Code hosting (tangled)") 61 + pds("ATProto PDS (tranquil)") 62 + pds --> tangled 63 + end 64 + caddy --> pds 65 + caddy --> tangled 66 + 67 + subgraph "Misc container" 68 + actual("Budgeting (actual)") 69 + immich("Image backup (immich)") 70 + end 71 + immich --> authelia 72 + caddy --> immich 73 + 74 + subgraph "Media container" 75 + jellyfin("Jellyfin, etc") 76 + end 77 + caddy --> jellyfin 78 + jellyfin --> lldap 79 + 80 + Internet --> caddy 81 + #+end_src 82 + 83 + One thing I do want to work on is better IPv6 support. Currently, things can flow through IPv6 internally, but generally don't, and the VM's IPv6 addresses aren't actually public, so I'm not really "doing it properly". 84 + I think what I want is to give each container an IPv6 address, and terminate the SSL there, but since I only have one IPv4 address this means I need to duplicate the config across both the individual containers and one big proxy that deals with supporting IPv4. 85 + 86 + As I write this, I realise that Caddy's API can probably be made to pull the configs from multiple sources, so maybe that's something to look into. 87 + 88 + Another slightly weird bit is that we're not really doing split DNS properly right now: Our internal zone is visible to the internet. This is mostly due to me deciding it wasn't worth the pain of configuring every container to do split dns properly. 89 + In time I'll probably spin up a recursive resolver that does the split dns, and point everything at it. Technically Incus is already putting dnsmasq in there somewhere, which I think was what stopped me doing it in the first place. 90 + 91 + * Journalling 92 + 93 + #+CAPTION: Receipt dated Fri mar 27 2026, with some entries for TODOs being added/finished 94 + [[./finishing_projects_february/receipt_journal.png]] 95 + 96 + I saw [[https://www.youtube.com/watch?v=JOlX4iSBhp8][this video]] and thought the concept was cute, so I made my own. 97 + I used a slightly different receipt printer that I got off facebook marketplace, and did a pretty terrible job at making a wooden box since I thought it'd be more fun than 3d printing one. 98 + 99 + I then let it sit in my box for about 6 months, without the software written. 100 + 101 + I'm sometimes a bit of a perfectionist when it comes to software, which probably contributed. 102 + In the end I wrote a [[https://tangled.org/aria.rip/infra/blob/main/arialog/src/arialog/mqtt.py#L73][kinda horrible python script]] that basically puts some MQTT messages into a file, then calls a different CLI (written in node) to do the printing. 103 + 104 + A [[https://tangled.org/aria.rip/infra/blob/main/cal-bridge/src/cal_bridge/cal_mqtt.py#L28][separate app]] checks my calendar and TODO list, and puts it on MQTT. Similarly, home assistant logs some things to MQTT, and whatever I feel like adding in future will do the same. 105 + 106 + One pretty horrible time I had with this was due to a bug in mosquitto's MQTT session logic. This bug is described perfectly well with pretty similar terms to what I searched [[https://github.com/eclipse-mosquitto/mosquitto/issues/3202][here]], but unfortunately finding information on the internet is nearly fucking impossible now. 107 + I've resigned myself to paying for Kagi, although it's frustrating to pay for search of the same quality that was free pre-2020. 108 + 109 + * Calendar 110 + 111 + #+CAPTION: Eink screen, not showing a calendar 112 + [[./finishing_projects_february/eink.png]] 113 + 114 + Pimoroni had a colour e-ink display for sale, so I thought I'd make a little calendar thingy, similar to [[https://trmnl.com/][TRMNL]]. 115 + 116 + I didn't like their design's reliance on an external service, so I made a version that runs fully on the Pi Zero W controlling the screen. 117 + The program generating the images is [[https://tangled.org/aria.rip/infra/tree/main/eink-display][written in Rust]] with embedded-graphics, and I just copied one of the manufacturer's examples to show the image it outputs. 118 + 119 + I took a lot of boilerplate from the [[https://github.com/edinburghhacklab/led-text-display][software for the LED matrix]] in the edinburgh hacklab I wrote. Next time I do this I'll probably rip it out into its own repo - it's a pretty nice way to develop. 120 + 121 + * Touching grass, etc 122 + 123 + Other than making silly things, I spent the first part of this year: 124 + 125 + - Visiting Cardiff 126 + - Visiting London (twice) 127 + - Finally getting the correct dose of medication, and a therapist 128 + - Going to the gym regularly, with few exceptions 129 + - Being with my beautiful girlfriend :) 130 + 131 + Here are some photos: 132 + 133 + #+CAPTION: The millenium center in Cardiff, at night 134 + [[./finishing_projects_february/cardiff_01.jpg]] 135 + 136 + #+CAPTION: Cardiff station, at night 137 + [[./finishing_projects_february/cardiff_02.jpg]] 138 + 139 + #+CAPTION: The london cable car, at sunset 140 + [[./finishing_projects_february/london_01.jpg]] 141 + 142 + #+CAPTION: Battersea power station, at night 143 + [[./finishing_projects_february/london_02.jpg]] 144 + 145 + #+CAPTION: Julia from behind, looking out at the cairngorms 146 + [[./finishing_projects_february/gf_01.jpg]] 147 + 148 + * Rest of the year 149 + 150 + Probably the next rabbit hole I'm going to go down is CNC routing/milling - I have a couple ideas for small-medium things which would benefit from proper 2.5d manufacturing, mostly of wood. 151 + 152 + One thing a lot of my projects have in common is pretty poor polish, which I want to improve. 153 + I also feel like I tend to go in at the deep end, which is fun sometimes but often frustrating or wasteful. 154 + 155 + I don't know how to end this post so uh thank you if you read this far. dm me your favourite castlevania monster or something.
web/aria.rip/site/finishing_projects_february/cardiff_01.jpg

This is a binary file and will not be displayed.

web/aria.rip/site/finishing_projects_february/cardiff_02.jpg

This is a binary file and will not be displayed.

web/aria.rip/site/finishing_projects_february/eink.png

This is a binary file and will not be displayed.

web/aria.rip/site/finishing_projects_february/gf_01.jpg

This is a binary file and will not be displayed.

web/aria.rip/site/finishing_projects_february/london_01.jpg

This is a binary file and will not be displayed.

web/aria.rip/site/finishing_projects_february/london_02.jpg

This is a binary file and will not be displayed.

web/aria.rip/site/finishing_projects_february/receipt_journal.png

This is a binary file and will not be displayed.