Free from friction, constrained by pricing and a massive ladder that can be pulled up by companies that are in no way benevolent.
If you're one of the lucky few who were able to already have hardware that can run some of the open weight models you can be a beneficiary for now - but that won't last forever.
I'm not sure where you get the idea that Linux doesn't have hibernate - there's both userspace systemd-hibernate bindings and also the kernel swsusp which both work equally well (although you may need to make sure you have a large enough swap partition for it to function)
Also the other issues you're describing do sound frustrating but I think it's a byproduct of an entirely different culture. Exposing user-configurable timeouts and you being made aware of it during troubleshooting is something that enables you to deeply understand your system and how it's configured. In Windows, even if there is defaults for things like that it likely is not exposed to the user or configurable at all. If the default settings are bad you're just stuck with it and you aren't expected or intended to modify anything to better suit your needs.
My experience with Arch is mostly due to having been a fairly proficient Linux user prior to switching over and being very comfortable reading the wiki or bbs and tinkering to find solutions to things. A lot of the prior experiences I had with Debian or other "friendly" distros kind of put me through the ringer too and I've found that having the rolling release with Arch fits my preferred workflow much better than something like Ubuntu or Debian or Fedora or the other "batteries included" distros.
I share the same sentiment. I've had the same Arch install running since ~2016 and have been using Arch since about 2013 and the number of times I've needed to chroot from a live image is under 10 and were mostly related to systemd breaking things during an update which is pretty much entirely no longer an issue these days.
Compared to Windows-land where nuking and reinstalling the entire OS is a routine maintenance task, checking arch news to see if there's any manual intervention and running `pacman -Syu` is all I really ever think about.
As an early adopter (signed up for the matrix.org riot instance some time in 2016) and someone who has run a homeserver on and off for nearly a decade, my primary issue with Matrix these days is that it still feels like there largely is stagnation in homeserver development because the spec oftentimes seems to follow features from Synapse instead of the other way around.
It seems like a lot of MSCs are implemented as experimental in Synapse while they are under active development, but sometimes it takes months or years for the MSC to be ratified in a way that is stable for other homeserver implementations to pick it up. One example that immediately comes to mind is sliding sync as well as threading and spaces. And in the case of sliding sync, the proxy deployment helped, I think only Synapse is the only server that actually supported (or maybe currently supports?) it and in terms of threads, that was more of a client-side issue of actually parsing and rendering m.thread events.
My feeling on it maybe isn't backed up by reality or the actual data of development but it makes developing on the ecosystem feel difficult.
The other real blocker to being a Discord-killer imo is the permissions model. Having power levels 0-100 is a lot less flexible than the RBAC-style model that Discord uses. Once Spaces were rolled out, a feature that would have been nice is to restrict access to certain spaces or rooms that are children of that space based on a role, which afaik still is not possible to do with the current permissions implementation.
The book that's really stood out to me is the Kernighan/Pike "The Practice of Programming" as something that steered me in a really good direction when I was first learning to write code.
I really wish they'd do a revised 2nd edition using Golang as the base for the book instead of C; but otherwise it still really holds up well
But with a containerized app image you can reduce the blast radius of the poorly maintained app compared to running it bare metal on a host with other services. Also you can still maintain base images to patch/try to reduce vulnerability surfaces
Rootkit anti-cheats can still often be bypassed using DMA and external hardware cheats, which are becoming much cheaper and increasingly common. There's still cheaters in Valorant and in Cs2 on faceit, both of which have extremely intrusive ACs that only run on Windows.
At the level of privilege you're granting to play a video game, you'd need to have a dedicated gaming PC that is isolated from the rest of your home network, lest that another crowdstrike level issue takes place from a bad update to the ring 0 code these systems are running
The big publishers already have their own launcher and platforms and are increasingly moving back onto Steam because they see higher PC player counts and sales when their games are there
I view it as Valve is doing me a favor by adding friction towards me installing a rootkit to play video games.
There's also been numerous userspace ACs that work well and also run in userspace (EAC, Battleye, etc.) that have been enabled for Linux/Proton users (including by EA with Apex Legends at one point). A lot of the support for Linux mostly comes down to the developer/publishers not wanting to and not because of technical reasons.
You can buy a mini pc for >$200 USD that is capable of running most desktop tasks and can also handle server tasks. Good quality integrated graphics APUs are also plentiful and fairly easy to come by these days.
Sorry to hijack this thread to ask - but what is the current state of sliding sync? Does it still require a separate proxy service to enable sliding sync if you're self-hosting a homeserver; or is it upstreamed into synapse? Also is there a list of clients that are sliding sync aware?
> what happened to just having a single device and having it run the code directly and show you the result directly?
Having access to multiple computers/devices as a single user became cheap and more common. If it was still the 2000s (or maybe early 2010s) and somebody only used a single PC for most of their tasks that'd make sense, but that's just not the reality most people live anymore
Looking through the commit graph for Omarchy is wild. It has 2000+ commits, most of which contain the type of intermediary work pushed into the trunk that you'd see from a jr who doesn't squash their local work
There's also Omakub[0] which was sort of a precursor to Omarchy that gives users the
`wget <some url> | bash`
as a means of installation where the install script is a thin wrapper around another
`eval $(wget <some url>`
that then git clones a repository and executes a 3rd script.
That's definitely the kinds of patterns I'd expect some prolific software engineer to use and also encourage complete novices to Linux to be comfortable just piping arbitrary wgets into a shell
"dead simple" really depends on what you're targeting and how. If you're targeting a cloud deployment on hardware you don't control or that's running with multiple instances/replicas, OTEL makes that pretty simple because you get a lot for free in the way of tracking instances/correlation ids, etc.
If you wanted "dead simple" text-based logging in a situation where a service is deployed in multiple places you'd end up writing a lot of fluff to get the same log correlation abilities that most OTEL drivers provide (if you can even ship your logs off the compute to begin with)
Which again comes back to the "maybe the framework isn't for you" if you're building an application that's a monolith deployed on a single VPC somewhere. But situations where you're working on something distributed or replicated, OTEL is pretty simple to use compared to past vendor-specific alternatives
I don't really know anything about self-hosting Next apps - but if you're deploying to k8s, it's not really that difficult or far-fetched to run an otel collector sidecar for your applications. It's already common to run some kind of prometheus scraper or other service to collect logs/metrics from your services but instead of having to have different collection methods for APM vs logs vs traces you can have it all aggregated in one place using OTLP format
That doesn't really mean it's heavyweight though; an extra layer, sure (but I don't even really agree that it's complex - you set it up once and then mostly just log the same way you would with any other).
You can still log to a text file if you want to run locally, but for something like next.js where you're intended to deploy production to some cloud somewhere (probably serverless) the option of _just_ writing to a text file doesn't really exist. So having OTEL as an ootb supported way to do o11y is much better than the alternative of getting sucked into some vendor-specific garbage like datadog or newrelic
What specifically is heavyweight about OTEL? At its core it's a standard for producing structured logs along with some standards for exporting/collection. The heaviness is really implementation-specific and can vary stack to stack
There's even a handler for monolog in PHP - they are not necessarily mutually exclusive
> Why can’t logger().info() just work in a sensible way?
I think OTEL is pretty sensible for a vendor-free and if you want to have a console logger you can use the console exporter[0] for debug mode during local development. Also if Next is designed as a framework to make it easy to build production-grade apps, having a standardized way to implement o11y with OTEL is a worthwhile tradeoff?
If you view that as being overkill, perhaps you're not the target audience of the framework
The Bitnami images and helm charts are just convenient repackaging of things that are already freely (gratis) available. There's nothing stopping you from still deploying Kafka or Redis, etc. into your k8s cluster without using the Bitnami helm chart or building your own charts.
I think that's the point of above of "now you have to do your job"
There's an evaluation that takes place when choosing to use something as an engineer, and the writing should have been on the wall the moment that Broadcom bought Bitrock to start planning to reduce dependency on those things.
Free from friction, constrained by pricing and a massive ladder that can be pulled up by companies that are in no way benevolent.
If you're one of the lucky few who were able to already have hardware that can run some of the open weight models you can be a beneficiary for now - but that won't last forever.