• 0 Posts
  • 99 Comments
Joined 2 years ago
cake
Cake day: February 1st, 2024

help-circle

  • nc is useful. For example: if you have a disk image downloaded on computer A but want to write it to an SD card on computer B, you can run something like

    user@B: nc -l 1234 | pv > /dev/$sdcard

    And

    user@A: nc B.local 1234 < /path/to/image.img

    (I may have syntax messed up–also don’t transfer sensitive information this way!)

    Similarly, no need to store a compressed file if you’re going to uncompress it as soon as you download it—just pipe wget or curl to tar or xz or whatever.

    I once burnt a CD of a Linux ISO by wgeting directly to cdrecord. It was actually kinda useful because it was on a laptop that was running out of HD space. Luckily the University Internet was fast and the CD was successfully burnt :)



  • Maybe not a service in the typical sense, but setting up your router+server to route your home network traffic through a VPN is a fun project.

    My router (MikroTik) supports WireGuard, so I can use it with Mullvad for the whole house—but wg is demanding and it’s a slow router, so while it can NAT at ~1Gbps, it can’t do WireGuard at more than ~90Mbps. So, I set up WireGuard/Mullvad on a little SBC with a fast processor, and have my router use that instead. Using policy based routing and/or mangling, I can have different VLANs/subnets/individual hosts selectively routed through the VPN.

    It’s a fun exercise, not sure I implemented it in a smart way, but it works :)





  • VPS+VPN, this is what I do.

    VPS has public IP and runs WireGuard “server”* and a reverse proxy (and fail2ban…). Reverse proxy points to my home computer over the WireGuard link. No open ports on my home router.

    For private facing/LAN-only services I just don’t have an entry in the VPS reverse proxy. DNS on the router points everything to my local server, so if at home I access everything directly. To access internal services remotely requires VPN (i.e., WireGuard to the VPS).

    Works well; I have a tiny free tier VPS but even so, no complaints.

    *Yes I know there are no wg clients or servers, only peers, but it plays a server-likr role.



  • xscreensaver of course! Note that this is not an option on Windows—jwz hates Microsoft, and any xscreensaver port to Windows is against his wishes.

    I use yabai and sketchybar for a tiling WM feel. It’s nowhere as nice as my preferred i3, but it’s ok. Unfortunately it often breaks with major OS updates, so I’m sure to hold back updating my system until yabai is working.

    IIRC sshfs will work on macOS but it’s more work to install. Worth it if allowed by your IT policies and your work can benefit from it.

    Vim, tmux, and the usual *NIX stuff you might want.

    The coreutils are not the GNU coreutils you typically find on a Linux system, so you may find a few differences. I believe sed is slightly different, and the flags for ls must be before the filename arguments, but I’ve found it’s mostly silly stuff like that (I used zsh before using macOS, so no problem there).







  • I do something similar — I have a raspberry pi and a HD, with daily rsync and snapshots (monthly retained indefinitely, weekly retained for a month, daily retained for a week). It’s at family’s house, connected to my home via WireGuard via a VPS. Tailscale (or anything really) would also work here.

    It’s a great setup! Just have some watchdog reboot if it can’t talk to home (a simple cronjob with ping -c1 home.lan || reboot or similar).

    Even our “slow” 35Mbps upload speed is way more than enough for incremental rsyncs of my Immich library. The initial sync was done in person, though.




  • It’s interesting that, with Python, the reference implementation is the implementation — yeah there’s Jython but really, Python means both the language and a particular interpreter.

    Many compiled languages aren’t this way at all — C compilers come from Intel, Microsoft, GNU, LLVM, among others. And even some scripting languages have this diversity — there are multiple JavaScript implementations, for example, and JS is…weird, yes, but afaik can be faster than Python in many cases.

    I don’t know what my point is exactly, but Python a) is sloooow, and b) doesn’t really have competition of interpreters. Which is interesting, at least, to me.


  • ZigBee router thing:

    I’ve been happy with the SMLIGHT SLZB-06M. You can easily flash firmware, and it has PoE which was important for me. I believe it also supports Thread, but I haven’t tried this yet (and I’m not sure if it supports it at the same time as Zigbee).

    Zigbee smart plugs from Third Reality have been pretty solid in my experience, and they report power usage.

    For circuit breaker level monitoring, I have an Emporia Vue2. I have it running esphome, completely local — unfortunately this requires some simple soldering and flashing, so it’s not turnkey. But it’s been rock solid ever since flashing it. (Process is well documented online.)

    I’ve had decent luck with cheap wifi Matter bulbs, but provisioning them is finicky, and sometimes they just crap out and need to be power cycled; Zigbee bulbs (e.g., Ikea) have generally been reliable, though sometimes I’ve had difficulty pairing them initially. After power cycling a Matter WiFi bulb, it takes a while for it to respond to Home Assistant; Zigbee bulbs generally respond as soon as you power them on.

    I have a wired smart light switch from TP-Link/Kasa (KS205), and it’s been completely hassle free (and totally local — Matter over wifi). The Kasa smart switch dongles I have work flawlessly but need proprietary pairing, and I’m afraid to update firmware in case they lose local support.

    Good luck! Fun adventure :)