Tools are all built around non-rx workflows. That means doing things like performance work is a lot harder. Especially because RX is working on message passing it can be really tricky to figure out when a pipeline is ultimately stalling.
Just what your coworkers said, it's hard to maintain.
It still has it's application but it's quite hard to ultimately work with. For example, if something throws an exception, if you didn't setup the pipeline correctly it's stupidly simple to simply silently drop the exception all together.
And even when you haven't done that, it can be really difficult to understand why an exception has happened. You might be able to fairly decently get to the stage in the pipeline where the error came from, but working back to how the inputs got there in the first place can be really difficult.
More traditional programming is just a lot easier to work with. An exception getting thrown gives you a stack trace that gives a pretty clear picture of how you got to where you are at. And, putting in additional contextual information can make diagnosing everything a lot simpler.
I'll also just say, I find Rx (js, java, C#, etc) to be overly complicated in general. I'd suggest just trying some other reactive frameworks to see what I mean. Kotlin's Flow api is pretty good (IMO) and really makes a lot of struggles around learning Rx much easier to grok. I found that a decent part of what made reactive programming hard wasn't the reactive programming but rather Rx's implementation of it.
Encoder and decoder writers frequently need extremely fine grain control over SIMD instructions in order to get good performance.
The way they weave these instructions can be very hard to express with a high level language.
Further, there's a ton of work with arrays and importantly parts of arrays. They can, for example, need to extract every other element up to 1/2 the array. Unfortunately, rust has runtime array bounds checks which make writing that sort of code slower. The compiler can elade those checks, but usually only in simple cases.
The authors would be writing a bunch of unsafe rust to get the performance they want and rust makes that more painful on purpose.
I like rust, but C/ASM really is the right choice here. This is one of the few cases where rust's safety is a major detriment.
Other than needing more RAM, all the hardware that works for Win 7 will work with Windows 10 and 11. Most software should as well.
Windows 7 drivers are compatible with windows 10 and 11 so there really isn't a reason you couldn't continue using basically any hardware after an upgrade.
I was thinking of the odd XP era PC which could run W7 but just barely. Those would be truly outdated machines with no reason to be around a livingroom.
I have netbooks which ran XP ok but W10 is a pain to run on them, or tablets with more modern Atom CPUs which ran W10 ok at the beginning but by the latest update they became close to unusable.
AMD isn't giving away free stuff. They are selling FPGA hardware. But further, the free stuff has a lot of restrictions around it which practically gear it only for university usage. And the reason they do that is they want to have new graduates have experience with their software so they can demand it from their future employers.
IDK where it's at now, but 15 years ago xilinx was some of the most garbage software I'd ever worked with. Super buggy, constantly corrupting itself, and this was for me just doing university level projects.
God speed if you can get something a lot better for a lot cheaper.
Quartus was not much better on Linux. Honestly I was really into FPGA's around 2010-12 but gave up as I could not afford the full suites at the time and the software was fucking miserable to work with. They were prone to license amnesia and lord help you after running updates, something likely breaks. OR maybe one day it decides to not work anymore and crash continually. Then you spend hours gnashing your teeth, fighting the install, searching through forums and screaming into the void for help. It was mentally draining.
FPGA software gave me FPGA PTSD. I still to this day don't want to go near them - but I am dying to get back into using them. Help ...
All the FPGA vendors' tools are pretty bad, and have little incentive to improve because their software is the only option for using their chips, outside of a few niche (and generally quite small) devices.
All "software for hardware development" (I'm trying to figure out the right way to describe it) used to be exactly like that. I understand most of it still is.
While I'm ok with the notion of boycotts, they aren't effective in a world dominated by monopolies.
It's basically impossible to boycott amazon completely because of AWS which powers everything.
The hard thing needed is better politicians. And to get better politicians we need a better and more politically literate voting public. To get that, we need better journalism.
It's a real hard battle to win especially since a huge portion of the electorate will vote for the incumbent and the incumbents will deploy every dirty trick in the book to stay in power. Including getting people to run to split tickets.
But that's ultimately what must happen. The thing Amazon or Walmart actually fear is a government willing to regulate them or their employees unionizing. And the only way to get regulations is voting for politicians that do that and voting out politicians unwilling to do that. For unions, you have to convince people that even though it may cost them their jobs, it's worth it to drive the likes of Walmart out of town to support more local businesses. It helps to get union friendly politicians into office.
(Un)fortunately, there's a pretty big generational divide. As boomers expire, I have hope that Gen X and Millennials will make things better. The question is how bad things will get before that happens.
Why not? Isn't it fundamentally the same idea as apartment complex tenets getting votes? Why couldn't a business sell off lockers to companies giving them voting access? Walk in Closets? Very small room apartments? What's the minimum size of real-estate needed?
Except if I really wanted to be an awful human being, I'd just buy property, subdivide it, and then multiply my votes in the town election by the number of property units I've individually sold to my various LLCs.
This is kind of a violation of the "one man one vote" ideal that is the bedrock of our society. It easily turns in to "money buys influence" which is exactly the opposite of what made the US a great country to live in. If you don't understand that and you're a US Citizen you should really retake the civics / political science classes from high school.
I find myself defending this shitty ruling (which I honestly think is bad, but bad for completely other reasons) the ruling basically says, since corporations are not using this to dilute the vote it's fine, which basically means in other words, if corporations where to do the shenanigans you're suggesting, the judge is open to revising the ruling.
Well hey, at least these systems also consume massive amounts of electricity either raising your electric bill or your gas bill depending on how they decide to power the data center. Nothing like a 30% increase in your power bill because your local county commissioners got a sweet $300k campaign donation from a foreign billionaire.
And of course if they burn natural gas for their power you get polluted air from your neighbors.
Tools are all built around non-rx workflows. That means doing things like performance work is a lot harder. Especially because RX is working on message passing it can be really tricky to figure out when a pipeline is ultimately stalling.
reply