It is amazing how companies want this "marketing" but don't want to put the actual effort to make it possible.
A tech company I worked at once had a "sponsorship fund" to "sponsor causes" that employees wanted, it was actually good money but a drop in the bucket for a company. A lot of employees voted for sponsoring Vue.js, which is what we used. Eventually, after months of silence, legal/finance decided it was too much work.
But hey it wasn't an exception. The local animal shelter was the second most voted and legal/finance also couldn't figure it out how to donate.
In the end the money went to nowhere.
The only "developer marketing" they were doing was sending me in my free time to do panels with other developers in local universities and conferences. Of course it was unpaid, but in return I used it to get another job.
Just earlier this month I was at a recording studio and no ILok plugin worked because of a connectivity issue god knows where. Plugins that did cost a lot of cash for them and were in the advertisement material of the studio.
Now even hardware things that used to work for decades need apps. Some guitar pedals need apps to operate. The first generation of those has already become paper weight: after Digitech was bought by Samsung, all the app servers died.
Apps that need a server are never for my behalf, they are purely for creating a dependency. The real feature is allowing an actual backup of the data.
Streaming has the even worse issues. It promises to pay creators, but after listening to only two bands in a month, as an experiment, no visible fraction of the $10 didn’t went to neither of those bands. It probably went to some major label, of course.
I am 100% disillusioned on anything touched by tech and see piracy as a way to resist this crap. So far only piracy has been reliable in having things work as they should when they should.
In my student years I used DC++ just to watch free movies. With the rise of streaming I kind of forgot about it, until I got annoyed.
I don't like the Spotify. Most songs I like are available, but the 'playlist' experience is terrible. A lot of songs are actually part of an album. "Is an album like a playlist on a disk?" my kid asked. No it's not, a playlist is a randomly assembled list of songs, but an album are songs who belong together, they are the album.
And video streaming is the opposite. The experience is nice, but there is so much missing even if you have multiple streaming subscriptions.
Besides convenience there is politics, what if Trump wants a list of everyone who thumbed up 'The White House Effect' on Netflix?
So, after many years I took an old Raspberry 3 and started torrenting again. To my surprise piratebay is still active (although my old account doesn't work anymore, no clue how to provide new content).
I'm really happy, the Raspberry has a Samba fileshare. Just download the VLC app on your smart tv and you can stream anything you like.
I know there are more advanced solutions to torrenting, but I like this simple approach, and it makes me completely independent. Let's start sharing great content again!
I was pulled back into it after a work colleague showed me a Netflix-like website that seems to have all the films ever made. Apparently there's several of those, they're just invisible to Google.
In Germany we can't really torrent from home, so those sites are very widespread. People just watch stuff at work during lunch, after hours when waiting for a colleague to finish, etc...
I'm not gonna pay for Amazon because it's Amazon, or Disney because it's Disney. And I'm about to kill my Netflix, since it's also complains about Apple Private Relay which I'm not gonna turn off as much as I also hate Apple.
Funny enough, even the CTO of a past company I worked was back into piracy, even after his company had a successful exit. People are just tired of those services, period.
Apart from people who just weren’t good, what I found in a few decades is that most people will pay attention to details if given the incentive and time.
What companies seem to want is developers who do everything perfectly despite having someone yelling at them to move fast. Also: the person yelling also doesn’t care about the details until someone else points it out to them.
De-Googling is also extremely easy, I haven't had a Google account in 10 years, I use uBlock to block the ads, DuckDuckGo for search and a Youtube app that downloads from it instead of using the website.
Perhaps the only thing I use directly is Recaptcha.
It's easy to use a different calendar, search engine, etc, but it's far from easy to use an Android device without Google Services. Can be done, but banking apps, contactless payments, etc, become painful or impossible.
The thing about "it's IO bound anyway so who cares" is that it forces you to scale the app much earlier.
At a company I worked, a single Golang instance (there was backup) was able to handle every single request by itself during peak hours, and do authentication, partial authorization, request enrichment, fraud detection, rate limiting and routing to the appropriate microservice. I'm not saying it was a good idea to have a custom Ingress/Proxy app but it's what we had.
By contrast, the mesh of Rails applications required a few hundred machines during peak time to serve the same number of requests, and none of it was CPU-heavy. It was DB heavy!
If it had been a Golang or JVM or Rust app it would require a much smaller fleet to serve.
Rails apps can get very expensive server wise because the “IO is slow anyways” attitude means more servers will be needed to serve the same amount of requests. For a specific bad case I worked at, the cloud bill was the same cost of 15 senior developers. And it was an app without external users (I was actually responsible for the external parts of it, it was isolated and not in Rails).
Excessive abstraction at the ORM can also make it extremely difficult to optimize db queries, so each user request can trigger way more DB queries than necessary, and this will require more db power. I have seen this happening over and over due to abstraction layers such as Trailblazer, but anything that is too layered clean-code style will cause issues and requires constant observation. And refactoring is made difficult due to “magic”. Even LLMs might find it too much.
Another problem with the slowness is that it slows down local development too. The biggest test suite I ever saw took 2 hours to run in a 60-machine cluster, so 120 hours of CI. Impossible to run locally, so major refactoring was borderline impossible without a huge feedback cycle.
The solution for the slow development ends up being hiring more developers, of course, with each one responsible for a smaller part of the app. In other companies these kind of features I saw would be written by people over days, not by team over months.
The terseness of both Ruby and Rails is also IMO countered by the culture of turning 10-line methods into bigger classes and using methods and instance variables instead of local variables. So it also hurts both readability (because now you have 5x more lines than needed) but also hurts optimization and stresses the garbage collection. If you know this, you know. I have seen this in code from North+Latin American, European and Japanese companies, so it’s not isolated cases. If you don’t know I can provide examples.
I have seen this happening with other tech too, of course, but with Rails it happens much much faster IME.
It is also 100% preventable, of course, however a lot of advice on how to prevent these problems will clash with Ruby/Rails traditions and culture.
These are just examples out of personal experience, but definitely not isolated cases IMO.
I remember the game was a commercially available shooter though, but the machine was exactly the same, with the blue highlights.
reply