@anotherandrew, testing my own mbin instance for a while before committing to moving over permanently.

Embedded systems engineer for hire. Hardware, software, HDL. When not working I’m devoting the rest of my time to my kids and their curiosities. GPG EAF7ACB0

  • 0 Posts
  • 16 Comments
Joined 26 days ago
cake
Cake day: April 29th, 2025

help-circle
  • I’ve been selfhosting various things for almost 25 years now. Started with email/web, but now I’ve got the following (in no particular order):

    • email (postfix/dovecot)
    • web (nginx)
    • shared notes (obsidian, but also through dovecot)
    • calendar (davical)
    • telephony (asterisk)
    • replicated storage (syncthing)
    • media server (plex)
    • home automation (homeassistant, mosquitto, grafana, influxdb)
    • power monitoring (empora device on the breaker panel + a few smart outlets talking to homeassistant)
    • security cameras (securityspy)
    • irrigation (a controller of my own design, adding OpenSprinkler support this year)
    • offsite backups (duplicity + rclone)
    • project management/issue tracking (redmine)
    • social media (gnu-social + lemmy, but also testing mbin)
    • bookmark management (karakeep)
    • local copies of web stuff (yt-dlp, hamsterbase, singlefile)
    • VPN (openvpn)

    Virtualization is mostly docker containers, but also some ESXi/VMWare Fusion. I also have Obsidian in the mix but that’s not really a self-host but more of a way to organize/access my data. I have also been doing a (very!) little bit of experimentation with local LLMs, but it’s all on ARM, using either the GPU or the NPU available on the RK3588.

    This stuff either exists on an OVH VPS for the “internet facing” stuff or on an old Dell C6100 blade server. ESXi uses one blade and another blade runs Debian and talks to an old SATA/SAS disk shelf I got for $50 to see if I could make it work (it was super straightforward). I have a bunch of 2T and 4T “spinning rust” drives in two RAID6 arrays (mdadm) and then carve out storage for various things using LVM. I am experimenting with zfs on the VPS but am not a big fan of it. I used to run OpnSense on another blade since I couldn’t find a router which would properly shape gigabit internet traffic, but now I’m using an ER605 and it seems to be doing quite well. I have a tiny KeepConnect device which will physically cut power to the cable modem if it can’t see the internet which is very helpful since the biggest source of trouble for me has always been the damn internet service doing weird things when I’m not at home.

    I’ve even been working toward “self hosting” my own educational electronics stuff for my kids using https://microblocks.fun/ (the actual project is called smallvm) - think scratch running completely in the browser and executing code on a “vm” which is actually running on a microcontroller over BLE or serial.

    This sounds like a shitload of work and sometimes it can be, but one of the best parts of self hosting is that once it’s set up, it hardly ever has to be updated/changed. Security updates are the biggest reason of course, but a LOT of this is not on the open internet so I can be more lenient about keeping things up to date. I also try to keep everything that needs a database to use ONE database (postgres), which also makes it easier to back up or use data from several tools in a new way. Honestly it’s largely fire and forget these days. I add more space or replace drives as needed and try not to touch things otherwise. I keep a set of notes to help me remember not only the how but the WHY I set things up in a particular way, and those notes are accessible 100% offline. (After all, what good are notes on how things are set up if the thing you’ve stored them on isn’t working?)

    My infrastructure at home (C6100, SAS shelf, switch, etc.) consumes about 700W 24/7 which is not awesome but I figure the power bill saves a lot of service costs. The VPS runs me about $30/mo.




  • I’m not sure how you would do that if you are asking about something you don’t have expertise in yet, as it takes the exact same authoritative tone no matter whether the information is real.

    I agree – That’s why I’m chalking it up to some kind of healthy sense of skepticism when it comes to trusting authoritative-sounding answers by themselves. e.g. “ok that sounds plausible, let’s see if we can find supporting information on this answer elsewhere or, maybe ask the same question a different way to see if the new answer(s) seem to line up.”

    So far, research suggests this is not possible (unsurprisingly, given the nature of LLMs). Introspective outputs, such as certainty or justifications for decisions, do not map closely to the LLM’s actual internal state.

    Interesting – I still see them largely as black boxes so reading about how people smarter than me describe the processes is fascinating.







  • A couple things I’ve been working on

    First, I spun up a larger VPS to consolidate two smaller ones. This time I dockerized almost everything. Still a docker newb, but karakeep, redmine, mbin, lemmy (still deciding which I want), davical. Asterisk and postfix/dovecot are probably gonna stay on the vps root. I’m using zfs and compression. Interestingly, the postgres database that everything is using seems to get better compression than the mail spool.

    A couple weeks ago I picked up a NetApp 7 bay disk shelf for $30. It uses fibre channel (AT-FCX) controllers and I’ve never used that before. I grabbed a $7 FC HBA (QLE2560), a 2m cable and an m2-to-PCIe adapter meant for an eGPU. The idea is to see if I can’t get the RK3588 board I’m playing with to see it. I did something similar with a $50 Dell 12 drive bay and my old C6100.


  • I’m on the fence.

    I’ve used Perplexity to take a javascript fragment, identify the language it was written in and describe what it’s doing. I then asked it to refactor it into something a human could understand. It nailed both of these, even the variable names were meaningful (the original ones were just single letters). I then asked it to port it to C and use SDL, which it did a pretty good job of.

    I also used it to “untangle” some really gnarly mathy Javascript and port it to C so I could better understand it. That is still a work in progress and I don’t know enough math to know if it’s doing a good job or not, but it’ll give me some ability to work with the codebase.

    I’ve also used it to create some nice helper python scripts like pulling all repositories from a github user account or using YouTube’s API to pull the video title and author data if given a URL. It also wrote the skeleton of some Python scripts which interact with a RESTful API. These kinds of things it excelled at.

    My most recent success was using it to decode DTMF in a .WAV file, then create a new .WAV file using the DTMF start/end times to create cue points to visually show me what it saw and where. This was a mixed bag: I started out with Python, it used FFT (which was the obvious but wrong choice), then I had it implement a Goertzel filter which it did flawlessly. It even ported over to C without any real trouble. Where it utterly failed was with the WAV file creation/cue points. Part of this is because cue points are rather poorly described in any RIFF documentation, the python wrapper for the C wave processing library was incomplete and even then, various audio editors wanting the cue data in different ways, but this didn’t stop the LLM from lying through its damn teeth about not only knowing how to implement it, but assure me that the slop it created functioned as expected.

    I’ve found that it tends to come apart at the seams with longer sessions. When its answers start being nonsensical I sometimes get a bit of benefit from starting over without all the work leading up to that point. LLMs are really good at churning out basic frameworks which aren’t exactly difficult but can be tedious. I then take this skeleton and start hanging the meat on it, occasionally getting help from the LLM but usually that’s the stuff I need to think about and implement. I find that this is where LLMs really struggle, and I waste more time trying to explain what I want to the LLM than if I just wrote it myself.






  • Canadian living in LA: Crossed from LAX -> YVR and back about 6 weeks ago. Zero issues in either direction. Back in February went from LAX -> YYZ and back. I landed exactly 24h before that DC9 flipped on its roof in Toronto. Other than bad weather coming in to YYZ, zero issues. Went from SNA -> YYZ and back for Christmas. Zero issues.

    My wife flew from YVR -> LAX and back last week. Zero issues, although she was really nervous from everything she’d read.

    IMO there are zero issues crossing the border, at least through airports. I believe most of the goofiness I’ve heard about was at land crossings, although I’ve heard from friends that they’ve had zero issues at land crossings either.

    FWIW I’m a 50 year old white guy, and at least half the time I’ve got one or two teenage boys with me, the rest of the time just me. I work with another Canadian “import” but he’s originally from Iran. He said that while he was nervous, he did not notice any increased scrutiny for himself or for his wife, who flew separately recently to Toronto and back.