• 3 Posts
  • 121 Comments
Joined 1 year ago
cake
Cake day: June 4th, 2025

help-circle





  • Surely a custom vibe-coded mess of a web frontend for ImageMagick (it allows uploading a whole lot of scanned images, then presents a comfy web UI which allows choosing particular transformations - posterize to bilevel, trim, straighten, deskew, scale-to-page-size-and-add-edges). It runs in an ancient discarded-and-salvaged laptop.

    I also use the same laptop as:

    • Livekit SFU (transporting media for Element (Matrix) calls)
    • XMPP server (Prosody)
    • STUN/TURN server (transporting media for Snikket (XMPP) calls) (coturn)
    • email server (Postfix)
    • hosting a QR scanner webpage, so I could scan QRs in PCs with minimal fuss (nginx + 1 static file)
    • and of course, since it’s already there, home router (it’s in the basement, so too far to do WiFi. The WiFi access point runs in dumb bridge mode)

    I also run a periodic HLS video broadcast (my home internet connection should survive something like 40 simultaneous watchers, I should figure out how to distribute it efficiently to other hosts). It’s too heavy for the ancient laptop, but (as it turns out, I measured yesterday), a NAS with a 4-core Intel N100 CPU just barely manages. I might switch to it, it’s probably more power efficient than the current desktop workstation.



  • When logged in locally, I use btop to see an overview of what’s happening.

    Other than that, I have relevant Prometheus exporters in every machine (node exporter in all machines, specific exporters by the workload), hooked up over Wireguard to my monitoring solution offsite.

    The phone I actually carry around has a ntfy client talking to ntfy server on the aforementioned monitoring solution, so I get buzzes when something goes down.

    Btw, does anybody happen to know where I could get a pre-cooked comprehensive alert system for my nodes? Surely many people have already written all these rules:

    • if disk space > 80% consumed, send a low-priority alert
    • if disk space > 95% consumed, send an urgent alert
    • … everything else, there’s so much to check…




  • dihutenosa@piefed.socialtoSelfhosted@lemmy.world•Deleted
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    2
    ·
    7 days ago

    I found your Pimaps to be fabulous.

    Haters gonna hate, there’s no help for it.

    AI is a tool. Slop happens, but it doesn’t necessarily need to happen. I imagine there were many misguided, unnecessary, and just plain wrong trenches dug just after invention of the backhoe.

    Go on and do even greater stuff.




  • Citation needed.

    I asked a LLM to start a stdio REPL, write code and then copy the code into the REPL. It closely mirrors actual Lisp development process - you write a couple of lines, eval it, see why it didn’t work, and repeat. Here’s what it came up with:

    Starting Lisp

    $ : > /tmp/lisptest-repl.commands; : > /tmp/lisptest-repl.log; (tail -n +1 -f /tmp/lisptest-repl.commands | sbcl --noinform > /tmp/lisptest-repl.log 2>&1) & echo $! > /tmp/lisptest-repl.pid; sleep 1; printf '(require :asdf)\n(asdf:load-asd
    #P"/home/user/lisptest/lisptest.asd")\n(asdf:load-system "lisptest")\n' >> /tmp/lisptest-repl.commands; sleep 2; tail -40 /tmp/lisptest-repl.log (timeout 10s)
    
    * ("ASDF" "asdf" "UIOP" "uiop")
    * #<ASDF/FIND-SYSTEM:DEFINE-OP >
    #<ASDF/PLAN:SEQUENTIAL-PLAN {1204C49563}>
    * T
    *
    
    Took 3.1s
    

    Invalid input

    Feeding a single ) into the REPL. The LLM later recovered it by sending the abort command to the debugger.

    $ printf ')\n' >> /tmp/lima-repl.commands; sleep 1; tail -25 /tmp/lima-repl.log (timeout 10s)
    
    * #<ASDF/FIND-SYSTEM:DEFINE-OP >
    #<ASDF/PLAN:SEQUENTIAL-PLAN {1204C49563}>
    * T
    * #<SB-THREAD:THREAD tid=151 "lima-echo" RUNNING {1203EB14E3}>
    * Echo server listening on 127.0.0.1:5555
    T
    * NIL
    * #<SB-THREAD:THREAD tid=0 "lima-echo" RUNNING {1201C0DDC3}>
    * Echo server listening on 127.0.0.1:5555
    T
    *
    debugger invoked on a SB-INT:SIMPLE-READER-ERROR in thread
    #<THREAD tid=142 "main thread" RUNNING {12003D8003}>:
      unmatched close parenthesis
    
        Stream: #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {12014C9E73}>
    
    Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
    
    restarts (invokable by number or by possibly-abbreviated name):
      0: [CONTINUE] Ignore it
      1: [ABORT   ] Exit debugger, returning to top level.
    
    (SB-IMPL::READ-RIGHT-PAREN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {12014C9E73}> #<unused argument>)
    0]
    
    Took 1.0s
    

    Hotpatching

    This thing activates a new function definition. Next time it’s called, the new one gets executed.

    printf '(load #P"/home/user/lisptest/src/server.lisp")\n' >> /tmp/lisptest-repl.commands
    

  • Logitech MX Master 3. I’ve had it for many years. Happy, except the scroll wheel is stiff and hard to click (remap the SmartShift to middle button with Solaar).

    Does either Bluetooth or dongle.

    The battery lasts for months (I’ven’t measured, but it feels like I recharge it a couple of times per year. When it feels peckish, it lights a LED, at which point I turn it into a wired mouse for the night (it eats USB-C).

    Input lag? If you want input lag, run a Teams call. I’m not a FPS gamer, so I wouldn’t know, but I don’t notice any.