I don't know if this helps or hurts but I took up Elixir a few years ago and was liking it, the way the FP simplifies the scope you have to operate within and the general stability of the API that Jose has stated, i.e. it's feature complete for the foreseeable future, changes now are mostly optimizations such as pushing more into the erlang layer.
Then they introduced releases which can package everything into a tar file that has all the CSS, JS, HTML, erlang VM, etc. in it and runs as a binary via systemd and proxied through your .
Then they introduced LiveView and it was the first time I really had a "wow" moment since first learning Rails many many years ago. I can do nearly everything I want in real-time with it + JS hooks.
I really do think this addresses a lot of the frustration I keep experiencing w/r/t complexity in web development. I can just write Elixir code and get about 90% of the features of a JS framework like React.
The only real knock on it is it's strongly typed not static typed (they're working on a solution) but with code analysis tools like dialyzer and credo a lot of that worry is addressed. It's not for everyone but FWIW it has been a breath of fresh air to me a 10+ year web developer.
he just came up with a whataboutism that fits his narrative. commuting/recreation it doesn't matter. The bike inconveniences the motorists for a short time where as the car can end the cyclists life.
Depending on where you live, e.g. proximity to the equator, you will probably never recoup the initial investment or if you do the panels will probably be at their end of life when you do. So you'll never really "make money". But you will insulate yourself from demand spikes and give you an emergency backup.
There is a truth here. A lot of companies build their first system in php. IME no one hires developers to build their second system or third in php, except maybe Facebook.
All this talk about "I need Office to be Office" and no one mentions o365 online? Which works just fine on Linux. Also label printing seems a common issue but no mention of support of old old old legacy hardware that still works perfectly fine. For instance, my scanner which still works perfectly fine but won't work on Windows or Mac anymore works just fine on Linux because of the legacy driver support.
Not a business owner. Programmer who was a sysadmin in a former life and is familiar with all three O/S and a few others, e.g. embedded firware, etc.
In every organization, there is usually one app that ties a particular user to a non Linux OS, e.g. usually it's Adobe products, sometimes active directory, sometimes it's because "we have Access and it does everything we need it to and no we don't know what it does anymore", we need X software for X platform because skillsets and training.
A lot of lawyers would still (and some still are) be on WordPerfect if they could be, some accountants are probably still on FoxPro somewhere out there, but IME most users just need a Chromebook and a subscription to o365. Maybe ChromeOS Flex is an option for them?
If they have custom needs then they IME don't need much more than a CSV file and a simple ruby script that can import their label addresses from a CSV and spit them out to the printer a la ruby's Prawn.
The argument for training loses weight when each version of Windows and macOS changes fairly drastically you have to relearn with each major upgrade. Usually forcing hardware upgrades too well before the machine has stopped being viable. Whereas learning Linux once and that being all you have to know forever and can blast onto any machine, copy your files over, run your setup flat files or whatever you use to bootstrap your setup and IMO the training argument should push more to Linux but it never will for one simple reason. Support. If the manager can't offload a user needing help to support then all bets are off.
Breaking things is bad. Despite what Mark says. When you break things companies lose customers, they lose money, they lose market share, and people get fired or die.
TBH the OP post seems to be highlighting that "when we forget history, we're doomed to repeat it."
Not trying to be ageist but a younger dev wouldn't have context on a time when the industry had timestamps as versions and the core reason why SemVer became preferred, as you describe above.
The one thing I consistently see CS programs omit which drives me nuts with new hires. Zero knowledge of version control. Do yourself a favor and learn git now so you don't suffer later. It will help you all throughout your college classes too. TBH I'm not sure why this is such a glaring omission in CS degrees, I guess they just want to teach theory, not practical application but I've seen it consistently missing from new CS grads.
FYI the roots of this approach come from traditional typography, which obviously predates the web. IME the web stuff more or less copies the standards established in typesetting or ends up just reinventing it. You could easily spend a career studying and learning it. I find it best to use a CSS framework like TailwindCSS where there are built in classes for dealing with it.
I never have had a project fail due to it's tech. In my experience, projects rarely fail due to the tech, they fail due to the team and management.
If you get to the point you're referring to, e.g. Twitter having fail whale issues because they built entirely on mostly vanilla Rails, is a good problem to have and one you'll be able to get resources to fix once you get there.
Maybe it's just me but IMO your time would be better spent reading something like Predictably Irrational by Dan Ariely or brushing up on your psych 101 concepts. Learn to deal with the irrationality of your team, your customers, and your boss and your life will be a lot less stressful.
As a ruby dev this completely makes sense to me based on the Java developers I have worked with. I'm willing to bet he also never even considered jRuby as a happy compromise, also basing this on my experiences with the Java developers I have worked with