> As developers, we are often one of the last lines of defense against potentially dangerous and unethical practices.
> We’re approaching a time where software will drive the vehicle that transports your family to soccer practice. There are already AI programs that help doctors diagnose disease. It’s not hard to imagine them recommending prescription drugs soon, too.
> The more software continues to take over every aspect of our lives, the more important it will be for us to take a stand and ensure that our ethics are ever-present in our code.
This will never happen. Software developers work at companies like Facebook, Uber and Airbnb where they either help companies cause massacres, indebt their fellow citizens or cause entire real estate issues in the real world because they get paid.
Software will only be regulated by government action, not individual action.
Edit: I am not innocent of this as well. I got paid to deliver addicting software while working for Blackberry (just a radio tech), I got paid to build compliance tools for a bitcoin company, and I get paid to optimize the amount of ads and how much profit they bring to my current employer.
One angle to look at this from is that if Slack or GitHub goes down, there's a good chance your competitors are being held up too. It's like an armistice on (your corner of) capitalism. Whereas if it's just your system, you've been put at a slight disadvantage.
Also, unless it's happening every week there's probably an element of, "well it doesn't make me regret the overall choice to use this service, so there's no sense being upset about it".
The other opposite angle to look at it from is that if slack or github goes down but you aren't using them then you have a slight advantage over your competitors.
> we had a huge ordeal converting our 32-bit space weather model to 64-bit because the change in precision changed our results, so we couldn't publish (in good conscious) without making sure the results weren't within a good margin of error
This is a really interesting dimension to the transition that I've never considered before. An actual change in correctness, not just compatibility. I would have thought for floats it would just add more decimal points
One of our numerical analysis(NA) professors had worked at NASA, at IBM and had enormous real-world experience in NA. Several weeks into the class he challenged us to write a correct square root routine in FORTRAN. Over the next two weeks submissions were presented in class, where our professsor showed how each had multiple critically fatal errors. He let it stew awhile: two weeks before semester's end he presented and explicated to us a correct implementation of the square root, which turned out to be far more lengthy and involved than we had imagined. He said there was always the possibility of more bugs being present. That was really an eye-opening class.
I saw that done years ago in assembler for UNIVAC mainframes. Tear apart the exponent and mantissa. Shift mantissa if exponent is odd. Shift exponent right one bit to get square root of exponent. Look up starting guess from table using a few high bits of mantissa. Run two iterations of Newton's method. Reassemble mantissa and exponent. Normalize. Done.
musl sqrt is here, about hundred lines of code with nice explanation on top. Considering that it has 1993 copyright stamp, I'd imagine it is fairly canonical implementation
FWIW, I didn't bother getting too deep into an analysis (I was an undergrad and not really savvy enough to deep dive, but maybe I could now if I went back :) )
Our model was a space weather model of the solar wind speed and density - it was very iterative, and I think that iterative nature is what contributed to quirks in the transition - think of the issues when summing say, 0.1 ten times in Python (or other languages) - ultimately, we didn't need to do any real work to show that our converged model was within a margin of error and still presented the same results in terms of predicting solar flares - but it was still a lingering curiosity that the numbers weren't exactly the same (as you say!) - most of the work was done in finding the right compiler parameters to not break existing code, while taking advantage of the larger memory space.
> "Cancel culture" [is an important tool] to defend against these bad faith exploitive uses of public communication
I would say it's more like a social cytokine storm. If distrust in general is an immune-system, we're reaching a point of autoimmune disease.
But I do think deplatforming is an important tool. At the risk of stretching the metaphor, it's more like antibiotics. It reduces inflammation instead of increasing it, and while some non-destructive entities may get caught up in it, they're generally nonessential, it's generally a small portion, and they'll recover.
Thank you for this metaphor - it brings clarity and refocuses the discussion on the dynamics of the whole system.
Of course there are a few key differences between cells and modern humans: (a) we have empathy, and (b) we are are much more interconnected. This means that if a non-destructive entity is harmed, e.g. an unjustly deplatformed person, this produces a signal that propagates to others who were not deplatformed, through the story being shared and empathized with. So the antibiotic-like harm is much less containable.
If we want to use “deplatforming” as a tool, don’t think it’s even possible to effectively do. The high connectivity of human social relations means that there will always be another “platform” for their message to propagate. This is especially true with social technology (printing press, digital social media) although I suspect it was also true beforehand. Not even, say, executing someone is guaranteed to suppress their message. (Extreme example: Jesus/Christianity.)
But steroids only decrease the inflammation, they don't combat the original problem. If the inflammation is there because of a real pathogen, steroids are dangerous. Antibiotics decrease inflammation by tackling the original problem without a need to also increase inflammation.
(It is at this point I'd like to point out that I don't have a medical background and may be going out of my depth for the sake of analogy :P)
Steroids are a typical treatment option for auto-immune conditions. The steroid Dexamethasone has proven effective at decreasing the mortality rate among COVID-19 patients who experience a cytokine storm leading to severe respiratory illness. Sure you may want to use antivirals/antibiotics alongside, but I don't know if it's always necessary.
I don't have a medical background but from what little I do understand, the cytokine storm is the result of a secondary immune response kicking into high-gear when the primary immune response fails to respond in a timely manner (perhaps due to poor health). Suppressing the secondary immune response enough to keep it from killing the organism allows the primary immune response to catch up and defeat the infection.
In other words, clamping down on cancel culture will grant reasoned discourse a chance to convince people to abandon right-wing ideologies without imposing severe economic penalties.
Of course, this assumes that right-wing ideology is a pathogen that is uniformly harmful to the body politic (which it may not be) but all metaphors have their limitations.
EDIT: I should clarify that I see the deplatforming as the cytokine storm. I.e. an unhealthy immune response that is damaging to our social organism.
> this assumes that right-wing ideology is a pathogen that is uniformly harmful to the body politic (which it may not be)
In the context of the discussion I was treating "bad-faith participants" as the pathogen, which I would absolutely say are uniformly harmful to the discourse. Of course subjectively the far right seems to take this approach more often than the far left, but that's not at all clear-cut and isn't the point I'm trying to make here.
I've used this analogy in my head between bodily inflammation and social unrest for a long time. It's been very useful. And it explains some contradicting viewpoints that different people have on, say, riots.
If social unrest is inflammation then it's easy to see how it's neither good nor bad without context. It incurs a cost, but in many cases that cost is worth the change that it creates. But not always. A fever can help kill an infection, but it can also kill or otherwise damage the host if it goes too far.
The key is to decouple your inner self from how you present to the world. Your inner mental model of the world can acknowledge all apparent truths, even if some of them might upset various factions (the legitimacy of which varies; the offensiveness of sensitive topics to particular people is a real thing, but it also sometimes gets invoked inauthentically), without necessarily saying all of them. At the same time, if you're chronically contradicting everyone else you should still see that as a prompt for deeper examination of your beliefs.
It's always been a fantasy that the whole of society could accept all corners of a person's thoughts and feelings, as-is, laid bare. Before the internet, we could pretend the fantasy was true because of our mostly-local social spheres. But now the veil has been removed completely.
This isn't to say you should never vocalize controversial beliefs. But you should pick your battles. Ask yourself whether it really matters to society that X gets discussed - and that it's therefore worth risking offense and/or backlash - or whether you're just being pedantic.
I really liked this quote as a broader description of political correctness:
> Perhaps the solution is to appeal to politeness. If someone says they can hear a high-pitched noise that you can't, it's only polite to take them at their word, instead of demanding evidence that's impossible to produce, or simply denying that they hear anything. Imagine how rude that would seem.
There's a short-term problem of society becoming "top-heavy", where there might not be enough young to pay for the continued care of the old. But in the long run this seems like a win. I wonder what impact it might have on climate projections.
Pretty much every western civilization on Earth is fully capable of providing a minimum standard of living to its entire population today, let alone just a larger chunk of the pie elder group in half a century.
Its an active and intentional decision not to do so. Unless society collapses and the knowledge of how modern mass production works to produce so much plenty evaporates it will continue to take a tiny percentage of the whole population to provide the resources needed to survive to the rest.
We should be expecting a technological singularity before 2100, not some dystopia where all wealth evaporates and the only people with money left are under 30s who get to work 80 hours a week farming rice for grandma.
what does it mean to "pay for" the continued care of the old.
Unless we have such a population implosion that we can no longer produce food or run our factories, then we don't need to "pay for" anything. We can simply decide to distribute the resources necessary for the care of the old.
The real cost of everything is the labor required to produce it, not the dollar value it receives in a market place. I don't think anyone is talking about a complete collapse in the labor pool.
Yes, but e.g. Japan faces a big problem where the labor pool will be a small part of the population, with a big noticeable slice involved in elder care. If current plans to automate large amounts of this work (and I worry that automating it could be horribly dystopian) do not succeed it will be a large problem. (Not to mention other types of resources that those not in the labor force consume besides direct care).
Pensions, social security, etc. The point is that the "active economy" will shrink beneath what was expected for those systems to function for the number of elderly they will end up having.
A big part of that problem is that most nations have a pension system where the active work force pays for the pension of the elder instead of each person paying their own pension by saving/investing troughout their lives.
Government and private retirement strategies both rely on cash transfers from younger workers. In a government system, the younger workers pay taxes which are transferred to retirees. In a private retirement system, younger workers are the purchasing counterparties as retirees sell off their investments.
Retirement financing in general relies on future economic growth for future cashflow. That said, you don't necessarily need a growing population to make it work. If the population declines 15%, but the average worker's productivity goes up 20% during that time, you still come out ahead.
>Government and private retirement strategies both rely on cash transfers from younger workers. In a government system, the younger workers pay taxes which are transferred to retirees. In a private retirement system, younger workers are the purchasing counterparties as retirees sell off their investments.
The core unit of the economy is not cash, it's value. Saving roughly corresponds to avoiding consumption and preserving value; in a very basic economy, this would take the form of e.g. preserving grain in a granary rather than eating it all. People or government savings systems that save for retirement are then able to consume the value they saved when they retire; they don't require any value transfer from the working population.
In a society that wishes to support people who are not producing value, the people who are producing value will need to overproduce.
Whether you measure the overage in units of lifetime granaries, or running annual surpluses, is primarily an accounting choice.
As a practical matter, it's impossible for one farmer to save up enough food to span their entire retirement. Storage is an expense, and food goes bad eventually. The concept of a retirement is only possible in a society that transacts value regularly.
Yeah but we have money that can be stored and anyone that is old and have reserves of money will be treated and get food etc.
Society doesn’t reward you based on the value you produce but based on how much fictional currency you have. This could be entirely granted to you for example in a a lottery and you never produced anything of value.
Money spoils (aka inflation) just as much as food does. To maintain the value of your money you have to actively utilize it in the economy by investing it. This is not a flaw. It is necessary to keep the economy running. Otherwise we would see Scrooge McDuck in real life.
You can't store medical workers in a silo for later. That's the big problem. Older people don't need to eat more but they do need more attention from nurses and doctors.
You'd still need someone to sell that 20% more product (or service) your worker is producing and with 15% less people your entire market has just shrunk.
That money is worthless if it is not backed by a young labor force that can produce what the pensioners need. There are not many things that you can buy during your 30s and keep using in your 80s.
Think of a reverse Corona virus that only kills the young.
Retirees have lots of money but the shops and factories are closed.
The system was obviously designed for a "reasonable" amount of retirement from 5 to 10 years. Nowadays everyone is exceeding that despite a raised retirement age.
Saving and investing is ineffective if everyone’s investment returns (assuming there’s any returns to be had with productivity slowing and economies stagflating, note the monetary policy in Japan and Europe) are chasing the same limited pool of healthcare and caregiver labor.
The only solutions are technology or rationing care.
The key is who saves/invests the most and they will have access. This is how it works with everything in capitalism and this is the only efficient way we know of distributing resources.
The boomers will be dead long before the system shocks itself. Probably the tail end of Gen Xers or Millenials that will get royally screwed, if I had to guess.
I don't really think so. It's the parents who decided to have fewer children and be against immigration (mostly the US and UK). If they are really getting screwed then they can always open their countries up for immigrants.
I'd like to see an accounting of the real resources (not money) that elderly require vs children and young to middle aged adults. I'm suspicious because it sounds much like the undue burden tripe you hear about disabled people.
At least in the US, expenses in later life seem not too bad, until the last 3-5 years--at which point healthcare cost absolutely blows everything out of the water. Like, more healthcare cost in one week at 85 than an entire year at 50. Especially once a person is unable to safely walk to the bathroom or prepare a simple meal without falling. Meds, ambulance transport, non-emergency wheelchair transport, rental of various equipment, home health aides, physical therapy, speech therapy, rehab or nursing care, palliative care. The costs are just stupefying.
Edit: I've replied mostly along the lines of the financial costs, but the human service component is by far the largest part of it, that's the main resource consumed.
I was thinking more along retired or semi-retired. But yes end of life is a thing. Even then people 'sounding the alarm' about the ratio of workers to retirees 'plummeting' are way overstating things. Over the next thirty years the percentage of people over 65 is going to double and then level off.
The source of the panic is the 'exponential growth forever' dingbats being confronted by a reality they don't like.
The planet is of finite size, so unlimited growth was clearly never an option. The question is, what is the best population size, and how do we get to that level?
When pension systems run dry or hyperinflation occurs to prop it up (a mathematical certainty), the result is massive depression and an unprecedented decline in progress. When times are tight, nobody is going to care if their power is green or not because they're focused on survival.
Nobody wants to admit it but the only chance to “win” against climate change is to either drastically reduce the population or invent some magic technology that solves the problem for us.
Advancements in existing technology just aren’t going to be enough at the timeline we’re looking at. Political change is another non-starter because it just won’t happen on a global scale. Then there’s the fact that for the vast majority of people alive today, the Earth’s condition in 50 or 100 years is rightly not even on their radar.
I haven't used Go but I'm curious, how do core data structures like hash maps work without generics? Does everyone just roll their own for their particular use-case?
I'm looking forward to seeing these types of libraries improve with generics. It's notably more work to use these data structures, even if they are used rarely.
Go cheats with some built-in generic types. So you can declare a hashtable as a map of any comparable type to any other type. But yes you typically have to implement things yourself for more complex cases so that does limit the sorts of libraries that are available and the way you write programs.
The built-in types map, chan, array, and slice take type parameters, and they are usually sufficient for doing whatever you need to do.
It's incredibly great that, generally speaking, if I'm looking at Go code, the only kind of hashtable there can possibly be is the Go map data structure. The only kind of blocking queue there can possibly be is the Go chan data structure.
You will never see a LinkedTreeDeque or whatever other bizarre concoction someone might come up with. And people don't feel obligated to make every API an iterator of some kind.
Go makes being generics architecture astronautics impossible, and I really love that about it. Perhaps that makes me basic, but I am basic and happy.
I feel so powerless against this terrifying trend. All I can do is try to insulate myself from misinformation and inflammatory content - which is hard enough - but I have close relatives who positively eat it up without even thinking twice about taking a critical eye. I've tried engaging them on it and encouraging healthy skepticism, and it's been entirely fruitless. The average person seems to have zero capacity to reflect on and be aware of their own biases and emotions and how those affect their judgement and are affected by their environment.
I'm just so frustrated and exhausted. It's hard not to lose all hope for humanity in times like these.
How do you insulate yourself while engaging them? I have a similar problem, close people who are imho thoroughly insulated, and that's the real issue; the insulation. It's not an accident or organic, it's induced. The information sources they trust relentlessly remind them to be insulated.
It's rather advanced propaganda, almost completely done with insinuation and emotional cues based on lies previously anchored.
Skipping the pre-chewed information sources by going directly to the sources that their trusted sources often mention but do not link to causes an emotional reaction.
> The average person seems to have zero capacity to reflect on and be aware of their own biases and emotions and how those affect their judgement and are affected by their environment.
I totally agree. The only option is to oppose democracy, it's immoral. The unaccountable masses of idiots have done nothing but help enrich and consolidate power for the political class.
As soon as you frame it that way, a certain portion of people stop listening. Even if it's the truth, it can be beneficial to downplay even the obvious conclusions and just stick to the facts.
Except that it would also be sticking to the facts, no?
If you pour out a bag of marbles and find that all of the marbles are the same color, reporting that all of the marbles were the same color would be reporting just the facts.
But what you're suggesting to do isn't downplaying conclusions, it's downplaying the findings. Instead of reporting that the bag is filled with marbles all of the same color, you'd just report that the bag is filled with marbles. But the marbles all being the same color is still factual, and not reporting that leaves out something potentially important.
But that's just it- if you read the article, "all of the marbles" are "not the same color". Oversimplifying things into a broader conclusion is often not an improvement.
Nothing about what I said changes if 95% of the marbles are the same color instead of 100%. "Overwhelming percent of yada yada" is (allegedly anyway) a significant finding that has been buried.
So they stop reading once they get to the message in the article? You're going to feed the message to conservatives like wrapping a pill in cheese and giving it to a dog? This is both infantilizing and doesn't work.
> We’re approaching a time where software will drive the vehicle that transports your family to soccer practice. There are already AI programs that help doctors diagnose disease. It’s not hard to imagine them recommending prescription drugs soon, too.
> The more software continues to take over every aspect of our lives, the more important it will be for us to take a stand and ensure that our ethics are ever-present in our code.