Validity is a suite of marketing tools used to ensure data quality, drive email performance, and provide advanced campaign analytics to leading brands.
Our Applications team is seeking a Senior Ruby on Rails developer to help expand our product line, improve our existing products, and build the next generation of Validity tools, continuing our mission to provide exceptional support to our growing customer base.
We're looking for someone with:
- A strong command of Ruby, Ruby on Rails, JavaScript, and the architecture of large web applications at scale
- Experience in taking projects from concept to completion
- Strong communication skills; the ability to communicate clearly, effectively, and with empathy both within your team and cross-functionally
- A proven track record of writing clean, maintainable, and well-tested code
Love this. I use raw CLI commands until it hurts, and have recently embraced tools like lazygit/lazydocker to get visibility into otherwise opaque system/tree states, and it’s been a huge level-up.
I have several user and system level services I manage, but debugging them is tedious. Your opening line that lists common commands and their pain points really resonated with me.
I’m on NixOS, so editing immutable unit files directly won’t work, but the service discovery, visibility, and management will be really helpful. Nice work!
I am also a NixOS user and this is exactly what motivated me to work on this project!
I am planning on adding some "guides" in the documentation but in short:
You should check out `systemctl edit --runtime` for debugging units on NixOS. It makes debugging sooo much easier.
Your comment about writing a text editor library is precisely what got me started with amp ~10 years ago, where much of its core functionality was extracted here:
I also think NixOS is more targeted towards developers. It’s one thing to learn the syntax, APIs, and abstractions of Nix/NixOS. It’s another to stack all of that on top of learning programming in general.
This doesn't mirror my experience at all. I think the biggest challenge facing NixOS is the learning curve. There's a lot thrown at you from the start, and as you start to factor your configuration into separate modules, there's a lot of complexity you have to unpack.
I've since migrated to a flake-based setup with machine-based variations (for my laptop and desktop), including easily swappable desktop environments. At a whim, I can switch between sway, hyprland, and gnome. This was mostly a result of me exploring/tweaking these without wanting to discard the configs; I always end up coming back to re-explore tiling WMs.
My experience through all of this has been great. I've even done a full re-install on both machines when the xz vulnerability was discovered and the process was effortless. That includes lanzaboote for SecureBoot, LUKS, and out-of-tree git-based flake builds for custom applications I build from source.
Yep, same. Thoroughly enjoyed Arch, but slowly accruing implicit config state means you'll eventually have to re-install and configure everything again. You can mitigate some of that with dotfiles and some hand-rolled scripts, but NixOS is effectively that "done right".
Oh, Arch was rock solid and I was also able to keep my install going for years. However, in the few instances where I would get a new laptop or experience a drive failure, it was non-trivial to get it going again. If you're using a stock install + Gnome, it's not bad, but I had lots of things set up (e.g. Secure Boot, udev rules, usbguard, tiling WM, etc.) and those are all things you can declare in a NixOS + Home Manager config, have versioned, and re-establish in ~30 minutes instead of days.
I get the point you're making, but I'd argue that even when stated in a reductive fashion, the complex system that leads simple cellular automata to artistic expression is orders of magnitude more elegant and special than AI.
"Not a security mechanism. No mount isolation, no PID namespace, no credential separation. Linux documents it as not intended for sandboxing."
reply