ruffsl
I’m a robotics researcher. My interests include cybersecurity, repeatable & reproducible research, as well as open source robotics and rust programing.
- 173 Posts
- 115 Comments
ruffsl@programming.devOPto Selfhosted@lemmy.world•🔒 Setting Up Headscale & Tailscale on NixOS: A Zero-Trust Networking Guide for ❄️ NixOS - YouTubeEnglish71·23 hours agoLooks like they introduce the use Traefik with NixOS here:
How does
Traefik
compare to a reverse proxy likeCaddy
?
ruffsl@programming.devto Linux@lemmy.ml•Why does Arch seem to have a cult like following?English2·1 day agoIf there was a simple Debian based distro that I could declaratively manage via a single config file, I think I’d try it. I.e. not using Puppet or Chef that can only bootstrap a system state, but something to truly manage a system’s entire life cycle, including removing packages and anything littering the system file tree. But since there isn’t, I’m using NixOS instead.
Having a DSL to declare my entire system install, that I can revision control like any other software project, has been convenient for self documenting my setup and changes/fixes over time. Modularizing that config has been great for managing multiple host machines synchronously, so both my laptop and desktop feel the same without extra admin work.
Nixpkgs also bolsters a lot of bleeding edge releases for the majority of FOSS packages I use, which I’m still getting used to. And because of how the packaging works, it’s also trivial to config the packages to build from customer sources or with custom features. E.g. enabling load monitoring for Nvidia GPUs from
btop
that many distros don’t ship by default.
ruffsl@programming.devOPto Nix / NixOS@programming.dev•NixOS Web Services with Cloudflared: A Complete Guide - YouTubeEnglish2·1 day agoYeah, the centralization of public Internet infrastructure around Cloud flare has been concerning, not only as a single point of failure but also in terms of consolidation of trust.
As a prior student workout a public IP deep behind several NATs, with little funds for self hosting hobbies, these kinds of tunnel services were a handy gateway in getting started.
Although, I hope ISP adoption of IPv6 or cheaper bandwidth quotas for VPS providers help compete on this front for self hosting networking.
ruffsl@programming.devOPto Nix / NixOS@programming.dev•NixOS Web Services with Cloudflared: A Complete Guide - YouTubeEnglish2·1 day agoToo bad you have to rely on cloudflare to then manage your domain to utilize this feature, like if it’s just a demo for a one off project.
ruffsl@programming.devto Programming@programming.dev•I wrote my PhD Thesis in TypstEnglish6·2 days agoI’m waiting on support for inserting PDF figures, the most common format my tools export.
ruffsl@programming.devOPto Nix / NixOS@programming.dev•Nix Doesn't Have To Be HardEnglish6·2 days agoTDIL about
nix-ld
, this is so cool! Think I’ll try this out soon:
ruffsl@programming.devto Linux@programming.dev•From NixOS to Ubuntu (Jon Seager Ubuntu VP Engineering)English5·13 days agoI’ve been straddling between NixOS and a Debian derivative for a while recently. Using nix, I really enjoy managing my system using declarative code, like I would for any other software infrastructure.
Although, for work, I still resort back to Debian or Ubuntu when it comes to collaborating with existing FOSS communities around robotic software or medical imaging, as those respective domains are heavily ingrained/invested into the Debian release and package distribution.
So it’s been a challenge to migrate anything other than my personal computing to NixOS. However I do appreciate the easy access to latest version releases of packages, kernels, and drivers. Being able to patch and document the idiosyncrasies of my hardware using declarative configs and revision control has been so helpful and solving a bug once and never forgetting how to reproduce the fix later on.
Another benefit is being able to explore public repositories for examples of how other users may be installing the same types of modules or software features I’m looking to setup, or solve a similar issue. It’s one thing to read the stack overflow answer about how to edit an arcane etc config for an anonymous package version, but it’s another to be able to read the commit history of hundreds of other nix users and PRs from nixpkgs maintainers.
My flake config is still rather simplistic, and synchronizing two hosts between two branches. I did appreciate the reference repo linked by the author as an example for modular host and user config.
http://github.com/jnsgruk/nixos-config
Any suggested resources or templates on that front? I.e. structuring and modularizing NicOS flake configs for multiple hosts for overlapping and non overlapping use cases? For example, I’ve just gotten into how to overlay nixpkgs PRs and explore dev shells.
ruffsl@programming.devOPto Programmer Humor@programming.dev•What It Took To Build A 64-Bit Linux Distribution From Scratch From Windows XP (FULL MOVIE) - YouTubeEnglish6·1 month agoFor the faint of heart, such vicarious pain may require theatrical intermission(s).
ruffsl@programming.devOPto Rust@programming.dev•Qt Group unveils expansion plans for technology-agnostic Qt ecosystemEnglish1·2 months agoYeah, any details published so far have been rather vague. I like the prospect of writing my backend UI logic in a memory safe language, but that falls short of benefiting from doing so end to end.
Supposedly Qt would be in a decent position to use their own static analysis and testing frameworks for hardening such bridge interfaces, but using a memory safe system programming language for everything would be ideal. Are there any Rust based UI projects that are looking at ISO certification to ease integration as a Software of Unknown Pedigree?
ruffsl@programming.devOPto Selfhosted@lemmy.world•What's on my Home Server 2025 – NixOS Edition - YouTubeEnglish2·2 months agoI’m not the original author, even with the YouTube title being as is, but what do you mean? Perhaps relying that the desired services exist as nix packages, or that nix packages have desired defaults or exposes desired config parameters?
There are two other nix media server config projects I can think of, but I think this approach mostly facilitates the install, but not the entire initial config setup, given that a lot of the stack’s internal state is captured in databases rather than text config files. So simplifying the backup and restoration of such databases seems the next best thing to persist your stack configs with nix.
ruffsl@programming.devto Asklemmy@lemmy.ml•What are some tech products that you want that you can't seem to find?English3·5 months agoOn top of that, it’d be nice for the Bluetooth spec to roll out a higher bitrate version of HFP, as it’s common 16 kHz monaural configuration is awful when listening to multimedia while on video calls, like for remote watch parties or just listening to music or playing video games while hanging out on discord. I ended up just buying a USB to TRRS adapter with pass through Power Delivery in order to use my Android device with proper AV quality.
ruffsl@programming.devOPto Networking@programming.dev•250 million-plus unused IPv4 addresses should be left alone, argues network boffin • The RegisterEnglish1·10 months agoAny particular reason that those OEMs made that decision when releasing those boxes? Was that range blacklisted in firmware because of the legacy specification? I thought the spec just forebode range’s public allocation, but not necessarily its internal use.
ruffsl@programming.devOPto Pop!_OS (Linux)@lemmy.world•Pop!_OS 24.04 and new COSMIC desktop hit alpha • The RegisterEnglish1·10 months agoCould you explain a little more on that? Just curious.
ruffsl@programming.devOPto Programming@programming.dev•World's 1st Coding Monitor - YouTubeEnglish7·11 months agoHave you had any luck with projectors for coding? I’ve only ever used them for large mob-programming sessions, like during hackathons. I feel like the low/narrow contrast of projectors makes it hard to use for dark mode, not to mention the space real estate requirements. :P
ruffsl@programming.devOPto Programming@programming.dev•World's 1st Coding Monitor - YouTubeEnglish5·11 months agoStill kind of sad that the transflective display technology demoed in the $100 laptop project from a decade or so ago never took off.
ruffsl@programming.devOPto Programming@programming.dev•World's 1st Coding Monitor - YouTubeEnglish41·11 months agoPersonally, I’ve been happy using an LG TV for a single monitor setup. I have had to switch to KDE Plasma v6 for better font rendering given its unusual OLED pixel layout, as well as for native HDR support. But it’s been nice to have a large physical font while still at default DPI. Although, I wouldn’t’t mind upgrading to 8K later when they get affordable, as the smallest 4K TVs at 42" happen to push the physical DPI down towards that of just 1440p panel.
ruffsl@programming.devOPto Git@programming.dev•I was wrong about git stash... - YouTubeEnglish2·1 year agoI hope compatibility with git submodules gets ironed out soon. I’d really like to have multiple branches of a superproject checked out at once to make it simpler to compare source trees and file structures.
ruffsl@programming.devOPto Programmer Humor@programming.dev•Untagging images from AWS ECR (without deleting be likeEnglish4·1 year agoTagging an image is simply associating a string value to an image pushed to a container registry, as a human readable identifier. Unlike an image ID or image digest sha, an image tag is only loosely associated, and can be remapped later to another image in the same registry repo, e.g
latest
. Untagging is simply removing the tag from the registry, but not necessarily the associated image itself.
ruffsl@programming.devto Docker@programming.dev•Get started with the latest updates for Dockerfile syntax (v1.7.0) | DockerEnglish3·1 year agoWow, the
COPY
directive got a lot more powerful. I’ve been waiting for the--parent
flag for years, while the--exclude
argument is also a nice touch. Didn’t know of the/./
pivot point before, but that’s handy.Before this, I’ve just been using a intermediary leaf stage within a multi-stage build process to copy the build context and filter the dependency lock files of the entire super project into a matching parent structure that I could then deterministically copy from.
Perhaps one could use something like this using Android’s Virtualization Framework in the meantime: