Found some time this past weekend to work on a little “passion feature” that I’ve been wanting to implement for a while now; sharing the technical write-up for anyone else who is interested in automating headless screenshots with these tools or with others (the knowledge is pretty transferable!)
I think it’s a stack that really pays off in the long run for solo projects. After a long week of work the last thing I want to do is go tracking down runtime errors (undefined is not a function, my old friend) or messing around with Docker containers and Kubernetes clusters. It also doesn’t hurt that once you throw away the costly deployment abstractions, the operating expenses turn out to be a lot cheaper.
For a while I’ve wanted to work through this book in Rust, and while I could find some finished (and often further refined) implementations of lox in Rust, I was not able to find an equivalent step-by-step snapshot of code at the end of each exercise of the book in Rust....
Some folks on the internet were interested in how I had managed to ditch Docker for local development. This is a slightly overdue write up on how I typically do things now with Nix, Overmind and Just.
First I’d like to clarify that I’m not “anti-container/Docker”. 😅
There is a lot of discussion on this article (with my comments!) going on over at Tildes. I don’t wanna copy-paste everything from there, but I’ll share the first main response I gave to someone who had very similar feedback to kick-start some discussion on those points here as well:
Some high level points on the “why”:
Reproducibility: Docker builds are not reproducible, and especially in a company with more than a handful of developers, it’s nice not to have to worry about a docker build command in the on-boarding docs failing inexplicably (from the POV of the regular joe developer) from one day to the next
Cost: Docker licenses for most companies now cost $9/user/month (minimum of 5 seats required) - this is very steep for something that doesn’t guarantee reproducibility and has poor performance to boot (see below)
Performance: Docker performance on macOS (and Windows), especially storage mount performance remains poor; this is even more acutely felt when working with languages like Node where the dependencies are file-count heavy. Sure, you could just issue everyone Linux laptops, but these days hiring is hard enough without shooting yourself in the foot by not providing a recent MBP to new devs by default
I think it’s also worth drawing a line between containers as a local development tool and containers as a deployment artifact, as the above points don’t really apply to the latter.
On an individual scale and even some smaller startup scales, things are a little bit different (you qualify for the free tier, everyone you work with is able to debug off-the-beaten-path Docker errors, knowledge about fixes is quick and easy to disseminate, etc.), but the context of this article and the thread on Mastodon that spawned it was a “unicorn” company with an engineering org comprised of hundreds of developers.
Lot’s of (incorrect) assumptions here and generally a very poorly worded post that doesn’t make any attempt to engage in good faith. These are the reasons for what I believe is my very first down-vote of a comment on Lemmy.
I understood your point, and while there are situations where it can be optional, in a context and scale of hundreds of developers, who mostly don’t have any real docker knowledge, and who work almost exclusively on macOS, let alone enough to set up and maintain alternatives to Docker Desktop, the only practical option becomes to pay the licensing fees to enable the path of least resistance.
So I’ve got my own instance running, and I’m stumped as how to go about finding new communities if it only shows communities I’m already subscribed too....
If you see links that you find interesting, throw them into kulli.sh, and you get back a consolidated comment feed of every Lemmy community it is being discussed in. You can take a look at the kind of comments and discussions in different communities and see if there are any that have the sort of vibe that you’re looking for and then go ahead and subscribe!
It’s a piece of software which automatically arranges open windows on your desktop according to different algorithms and layouts, and allows you to switch focus them and move them around in the layout by using keyboard shortcuts. One you get in the flow, you very rarely have to use the mouse to move windows around, maximize them, minimize them, resize them etc.
If you’ve ever seen a post on !unixporn or similar places, the vast majority of them are using tiling window managers to get that look of clean organized windows on the desktop!
I built this for myself some years ago and used it a lot to find many interesting niche subreddits. Today I expanded it to also help myself and others find interesting niche communities across the Lemmyverse!...
I’ve been running notado.app primarily for myself for the last 3 years. Like a lot of you, I am moving over to Lemmy from Reddit, and like a lot of you, I learned so much from the comments I read over years and years on Reddit. I must have hundreds of saved comments from Reddit in my Notado account at this point....
Using Rust, Chrome and NixOS to Take Headless Screenshots for Social Sharing (lgug2z.com)
Found some time this past weekend to work on a little “passion feature” that I’ve been wanting to implement for a while now; sharing the technical write-up for anyone else who is interested in automating headless screenshots with these tools or with others (the knowledge is pretty transferable!)
Rewriting a Chumsky Parser By Hand in Rust (www.youtube.com)
These days I reach for https://github.com/zesterer/chumsky pretty much any time I need to write a DSL parser....
Working Through Crafting Interpreters (Java) in Rust (www.youtube.com)
For a while I’ve wanted to work through this book in Rust, and while I could find some finished (and often further refined) implementations of lox in Rust, I was not able to find an equivalent step-by-step snapshot of code at the end of each exercise of the book in Rust....
Sensible $WORDCHARS for Most Developers (lgug2z.com)
Dynamic vs. Static Config for My Tiling Window Manager (lgug2z.com)
Ditching Docker for Local Development (lgug2z.com)
Some folks on the internet were interested in how I had managed to ditch Docker for local development. This is a slightly overdue write up on how I typically do things now with Nix, Overmind and Just.
How to find new communities to subscribe to?
So I’ve got my own instance running, and I’m stumped as how to go about finding new communities if it only shows communities I’m already subscribed too....
c/tilingwindowmanagers - A place to talk about and share media related to tiling window managers!
lemmy.world/c/tilingwindowmanagers...
Recovery - A community to talk about addiction, recovery and sobriety
lemmy.world/c/recovery...
Swing Dancing - A place to share videos and discuss all kinds of Swing dancing!
lemmy.world/c/swingdancing...
YSK: You can also search for new communities based on shared links and discussions you find interesting and engaging! (kulli.sh)
I built this for myself some years ago and used it a lot to find many interesting niche subreddits. Today I expanded it to also help myself and others find interesting niche communities across the Lemmyverse!...
YSK: You can save your fav comments from Lemmy to a dedicated text archiving service (lemmy.world)
I’ve been running notado.app primarily for myself for the last 3 years. Like a lot of you, I am moving over to Lemmy from Reddit, and like a lot of you, I learned so much from the comments I read over years and years on Reddit. I must have hundreds of saved comments from Reddit in my Notado account at this point....