54
Why is programming.dev federated with exploding heads?
(programming.dev)
Welcome to the Programming.Dev meta community!
This is a community for discussing things about programming.dev itself. Things like announcements, site help posts, site questions, etc. are all welcome here.
The instance is currently federated with every instance (including places like lemmygrad and explodingheads) as the current stance is defederation should be a last resort with users being able to choose what they want to see instead
Exploding heads has some very questionable content though so its status is currently being discussed by the admins
Free speech absolutism is harmful. By remaining federated with them, you're participating in distributing their content and giving them a platform. People do have a choice of what they want to see, they can choose to be a part of another instance without morals. I would hope that a programming instance of all places would understand the consequences of propaganda given so many programmers work in data collection and targeted advertising. If you show an ad to 1000 people and one of them buys the product, the ad worked. It's no different for disinformation campaigns.
It's not like they're just sharing differing opinions or saying awful shit, they're taking things out of context or making things up (or posting articles that make things up) and it's very easy to prove if you do a tiny bit of googling. One article listed off a bunch of climate predictions that were wrong along with sources to look credible. If you checked the sources though, they were all wrong. Some of the predictions were actually made by humans (but not the claimed academic institutions) while others were straight up made up.
I hope the admins make the right decision here. Protecting free speech doesn't mean allowing people to say whatever they want on your platform. It means allowing them to say it on their platform without being fined or put in jail.
My experience has often been the opposite. Programmers will do a lot to avoid the ethical implications of their works being used maliciously and discussions of what responsibility we bear for how our work gets used and how much effort we should be obligated to make towards defending against malicious use.
It's why I kind of wish that "engineer" was a regulated title in America like it is in other countries, and getting certified as a programming engineer required some amount of training in programming ethics and standards.
How would a formal licensing system work for software engineering? How would they keep up with the rapid evolution in this industry?
I believe in better education in this field, but the standard "engineer" programs from other fields don't translate to software. Having the government codify today's standards would stunt the industry as a whole and kill innovation. Imagine if they had done that in the 90s and said all programming must be waterfall, monolithic, relational dbs, and using c/Fortran/Cobol.
Maybe I just don't understand how other countries handle it though. I know my country would absolutely screw it up
Formal licensing could be about things that are language agnostic. How to properly use tests to guard against regressions, how to handle error states safely.
How do you design programs for critical systems that CANNOT fail, like pace makers? How do you guard against crashes? What sort of redundancy do you need in your software?
How do you best design error messages to tell an operator how to fix the issue? Especially in critical systems like a plane, how do you guard against that operator doing the wrong thing? I'm thinking of the DreamLiner incidents where the pilots' natural inclination was to grab the yoke and pull up, which unknowingly fought the autopilot and caused the plane to stall. My understanding was that the error message that triggered during those crashes was also extremely opaque and added further confusion in a life-and-death situation.
When do you have an ethical responsibility not to ship code? Just for physical safety? What about Dark Patterns? How do you recognize them and do you have an ethical responsibility to refuse implementation? Should your accreditation as an engineer rely on that refusal, giving you systemic external support when you do so?
None of that is impacted by what tech stack you are using. They all come down to generic logical and ethical reasoning.
Lastly, under certain circumstances, Civil engineers can be held personally liable for negligence when their bridge fails and people die. If we are going to call ourselves "engineers", we should bear the same responsibility. Obviously not every software developer needs to have such high standards, but that's why software engineer should mean something.