4,425 karma · joined June 8, 2010
I don't think that replaces other AWS resource schedulers like Terraform and Pulumi, but it could, uh, embrace them into a more CloudFormation-oriented ecosystem, which is clever.
Genuine user requests are not made in bad faith. Stupid internet abuse is bad faith. Like I said: This issue, and others like it, mostly comes up as thoughtless abuse, not genuine user requests.
You seem like you're trying to convince me that it's a legitimate issue. I already know that. GNOME developers already know that.
The file chooser issue is more often raised in the context of internet abuse than good faith user requests. That doesn't mean it's not real, it just means it's fodder for precisely the kind of document we're responding to.
Now, what do you think will happen if the GTK/GNOME developers get rid of that "bizarre textbox" so it doesn't get in your way? Yes, they'll get a torrent of abuse for "removing the last power user feature" or something. :-)
Crap like this contributes to burnout, people leaving the community, etc. Why spend your time on a volunteer effort if you're just going to be abused by non-contributors?
There's a reason behind the problem should anyone care to find out...
Most people reading this thread should have at least some sympathy (empathy, even) for architectural and social challenges in large, long-running software projects.
GNOME is a 22 year old project, and for much of that time its underlying toolkit, GTK (formerly GTK+), was intentionally maintained very separately. The consequence is that, broadly speaking, GTK could not depend on GNOME features.
So, shoving GNOME's Nautilus-powered file management in a GTK file chooser? That's tricky. Other GTK users would not appreciate GTK depending on, well, almost all of GNOME.
A point of integration was required, to allow the outside environment to provide the file chooser user interface. Turns out that's also tricky, especially when your toolkit is providing API/ABI guarantees. Consider that GTK 2.x maintained API/ABI compatibility for almost half the entire lifetime of the GTK project.
But no one gave up. More recently, the XDG portals work provides an opportunity to solve this (and quite a few other problems) cleanly and, more importantly, securely. This will also allow a KDE environment to provide the file chooser interface for a GTK application. Nice! Why isn't it already supported everywhere? Because there are a lot of people and projects involved.
It's entirely legitimate to ask, in good faith, why this wasn't done 10, even 20 years ago.
Consider that building a complete FLOSS desktop system is an immense amount of work, and that's what GNOME (even before 2.0) was focused on. Not just "a user interface for Linux", but making the entire stack work for real people. So many improvements in Linux desktop systems came from GNOME developers deciding that the status quo wasn't good enough. We wanted to fix the kernel, device discovery and enablement, dynamic wired and wireless network configuration, rich input devices, accessibility, etc., etc.
Remember, 20 years ago just getting X to work with your bloody monitor to work was enough of a pain.
Then, consider the priorities of the people contributing to the GNOME and GTK projects. Was it more important to break toolkit API/ABI compatibility to let GNOME replace the file chooser, or maintain that compatibility and work on other, arguably more fundamental problems?
Oh, and you know what happens when GTK/GNOME chose to break API/ABI compatibility for 3.x and 4.x? Everyone complained that FLOSS desktop developers can't maintain compatibility and that's the thing holding back "Linux on the desktop".
Anyway, if you're not already turned off by all the abuse that FLOSS desktop developers cop for literally everything they do, from people who don't know any better and people who should know better, I can still recommend it as deeply satisfying work. :-)
When you write a provider, you spend half your time converting data structures from the HCL submitted to your provider into the JSON your target service inevitably expects, then you spend half your time converting the JSON your target service inevitably returns into HCL for Terraform to consume, and then you spend another half of your time fixing bugs and polishing.
It's okay when you're building simple providers, but anything reasonably complex becomes unwieldy. I had a go at building some providers for AWS services that were not supported by Terraform or CloudFormation... and I just retreated to cheesy Lambda custom resources for CloudFormation.
Here's three men who have had an immense impact on popular culture having a casual chat about statutory rape and a lot of racist stereotypes, and no one raises an objection. They didn't record this in the 1830s or the 1930s. It was 1978.
I've always loved their work, but wow, this is disappointing to read.
I (re)use a lot of templates as "products", e.g. I have an RDS PostgreSQL template that I've been maintaining and using for years.
CloudFormation modules are great for encapsulation and reuse if you actually have anything you want to reuse at sub-template granularity. I rarely do. For example, we have a bunch of API services that all work the same way. In that case, the granularity of reuse is the template. I don't have a bunch of different services/products that all need to reuse a given resource in the same way.
For the same reason, I'm not very excited by CDK and other CloudFormation-producing tools.
I started mucking around with Terraform, but immediately discovered I needed to create a provider (custom resource). That's an incredibly manual process to begin with, but almost all of it is translating between Terraform representation (structures based on HCL2) and the JSON representation of whatever API you're using. So much translation when 99.999% of the APIs you'll use will be JSON. Aaaaaarrrrghhhh.
Sorry.
In that phase you can change anything about the request itself, or the origin it will connect to. But the function only needs to run when there's a cache miss.
I have an application that needs to select an origin based on the request path (too many to use CloudFront cache behaviours), with a cache miss rate of less than 1%. It's a tiny amount of additional latency for cache misses, and a very small proportion of our CDN costs per month.
Using cross-cultural fluency to defend Richard Stallman, who doesn't care one iota about cross-cultural fluency, and constantly embarrasses people inside and outside his own culture, is weird.