| Newsletter! | | | | site map I'm gonna have to put you down!

IndieWeb Carnival, April


Hi folks, I'm Aaron also known as RisingThumb, the host for the IndieWeb Carnival in the month of April. This month's theme is...

"Good Enough" - the Drop in Quality's Siren call

Some notes:

- Email your submissions to

- Alternatively use the email feedback link at the bottom of this blog post.

- At the end, during the 1st week of May, I'll make a blog post that collects and rounds up all the submissions.

- Indicate if you'd like to be included in the short physical zine collecting these submissions together in your email. These will be sold on, at as low a cost as possible(close to the manufacturing cost), and with a full and free copy of the full work as a pdf.

- Additionally with regards to the zine, only text or image content will be included. As it's for print, there won't be a lot of styling. This is mostly to keep it as a collection of essays.

- I will acknowledge your email in some way, with at the very least, a short response so you know I have seen your submission and it will be included in the collection of submissions post in May.

Why this theme?

Personally, I think there's a lot to be said about it, both as a phrase that people say, a mentality, comments on the history that leads to good enough instead of excellent... and of course how our own language and ideals have been warped a bit to not be able to recognise good from bad quality. Additionally, it is also because the theme is open to refutation, as there's also cases where quality is actually going up-- though there are discussions there about whether it's localised to specific areas or specialisations, or relatively global across entire domains or cultures.

If you don't have any ideas, I hope my following essay with this theme spurs some thoughts and discussions on the subject!

=> Additionally, You can view a running roundup for the submissions

"Good Enough" - The Drop in Quality's siren call

Good Enough as Compromise

People often use the phrase Good Enough as an expression of compromise. Of course, there is the question of what is compromised? Often enough, it's the individual's skill, which isn't at the level high enough to meet their vision in a way that isn't compromised, or without losing the integrity of the vision. In this respect, there's also a question of what is harming the skill's improvement or harming the ability to improve, and in a lot of fields, I think this is down to complexity. Anecdotally as a software engineer, I find that among the most common problems affecting people from getting better is actually just how much complexity they are managing-- and how much complexity is unnecessary.

You can particularly see this in the build systems that many programming languages have. With Python, you have the Zen of Python that claims you should only have one obvious way to do things, yet their build system and environments are a tangled web that completely breaks their own Zen. You can see this too in Javascript, particularly around using packages and dependency management. You can also see this in the architecture a lot of companies and corporations use, preferring a microservices approach with more microservices than they have customers-- where a monolithic approach will work just as well. This is mainly because there is less complexity to manage in these systems.

ZoomerSoftware 1000 380
BoomerSoftware 1000 380

It is also why a lot of programmer productivity is harmed. If you're only managing complexity, you're not actually producing anything of value, which both feels negative as you can't show anything, feels negative because you're not learning, and feels negative because you're mired in a lot of uninteresting problems. Here lies a path to burnout. A lot of junior developers aren't used to this kind of complexity management, and so they feel particularly bad when this work moves slowly(little do they know drowning in this much complexity is "normal"... or at least normalised).

Returning back to the point of Compromise, this also interacts interestingly with Artists(as discussed in the corruption of language). Plenty of Directors of Movies, Video Games... Writers and Painters compromise their vision either due to a limitation in their tooling(which itself can be an interesting exploration to break and push the limits of tooling), but rarely works are an exploration of their tooling limits though! The most common form of compromise is in child-proofing the ideas against an audience, and this can be seen in the infantalisation of most media. There is a lot of design wisdom that is in reality just child-proofing wisdom, and actually acts to compromise and damage the integrity of a person's ideas. Japanese Video Games are a pretty good example of this, in how they'd often have the Nintendo Fairy explain away and kill the joy of exploration. This same problem exists in Western Video Games, and I also see it happening to Indie Games as their ideas are often child-proofed against and to the detriment of their more adventurous, and sharper audience.

Of course this isn't to say compromise isn't a good thing. On the parts that do not matter, compromise is an obvious solution to put the resources where they matter- but by what star do you set as the blueprint of your ideas?

Good Enough and corruption of language

With regards to art, often times good enough is actually bad. I would attribute this to several forces. Firstly the purpose of art galleries changing so they are about tax fraud. Secondly, the change in the description of Art. What was once Art, was made by an Artisan, who is the Artist. An Artisan creates Artisinal goods. Artisinal as an adjective hasn't been warped quite so much, and refers to the skilful execution and work done upon something. So with respect to Art, I see it as the marriage between a unique, interesting and novel idea, and between this artisinal skilful execution upon it.

This is a big reason why contemporary art is just offensive. Often times they have the beginnings of a unique or novel idea... but they don't follow it up by exploring or expanding upon the idea, and often do not have the skilful execution. That said, some ideas do not need a high amount of skill to execute upon-- and some ideas are not sufficiently interesting to be worth(to the spectator) the skill put into them. As an example of the former, there is an interesting idea presented in "The Physical Impossibility of Death in the Mind of Someone Living", despite the skill needed to execute on it being low. This interesting idea can be seen as a "Egg of Columbus" in the interaction of how simple it is, and how interesting it is. This Simplicity and "Egg of Colombus", is also a factor in how a lot of people overblow the risk of trying and testing a new idea against reality(or even verifying their own currently held ideas about the world).

DamienHirstShark 1000 255

As such, contemporary art is often "good enough", but it's only enough to not be offensive or openly insulting to the viewer(a "good enough" so they can make money back from taxes).

Good Enough, complex systems and the loss of knowledge

"Good enough" is frequently uttered, to ignore or avoid interacting with complex systems. Often it is because it is unnecessarily complex, or often because the knowledge is hard to gain or hard to pay for, or even more often... the complexity is unnecessary. With regards to knowledge, I will point to both a historic example and 2 more recent examples.

Firstly, the historic example. In Ancient Rome, there was a sort of precursor to what we would call Materials Science. This is the Lycurgus Cup, a cup made of glass that changed colour from red to green hues depending on how light interacted with it. The secret behind how it was made was lost pretty quickly to time, however it is made of glass with vanishingly small quantities of gold and silver.

LycurgusCup 1000 450

The cup itself is intricate, and crafted well and carefully by Artisan hands... to such a point of consistency and knowledge about how the light works with thicker or thinner parts of glass to produce an elaborate cup. Often people attribute this creation to accidental contamination, but the knowledge of how light interacts with it at different thicknesses and the fact it is a glass cage cup which is among the rarer forms of cups, makes this, at least to me, a dubious claim. And so this knowledge was lost, similar to how the knowledge of Roman Concrete and Damascus Steel was lost, as the knowledge of creating the material and how to work with it was lost to time. This knowledge is of a form slightly more complex than regular glass blowing... so this goes to show how high complexity knowledge is lost quickly and rapidly. Below you can also see the application of Roman Concrete in architecture with the Oculus of the Pantheon of Rome.

RomePantheonDome 1000 450

This same effect can be seen in our Nuclear Powerplants. By previous projections we should have 250GW(e), while today we have 25GW(e) globally. The sudden decline around 1986 aligns with the Chernobyl incident, which shows the effect that a single incident can have on our production of Nuclear Energy. The results of this are astonishingly poor. We have a lot of workers who had the knowledge to create, run and maintain these large scale energy systems, and the effect, being relatively cleaner than non-renewables cannot be understated for dealing with our current Climate Crisis. To be reductionist in this, carbon capture is a high energy process, but with the order of magnitude more energy we *should* have, this bill could have been footed.

NuclearEnergyProjections 1000 351

=> Paper from the International Atomic Energy Agency. See Page 4 for the graph seen above.

Unfortunately, this has not been the case and the knowledge around Nuclear Systems is lower.

A final, and relatively short example of this is the knowledge around creating rockets. Firstly, engineering knowledge on guided rocket systems are relatively locked down, just because of their military application, but secondly, the number of actual launches since the 1980s has been in a steady but relatively slow decline, until around the 2010s when SpaceX has done a lot. This also remarks upon the interesting anti-achievement attitude a lot of people have towards Elon Musk, as if there wasn't him and a number of others(John Carmack of Armadillo Aerospace) working towards it with government funding, this knowledge would follow the trend set in the 2000s of it beginning to rapidly decline.

NumberOfSpaceLaunches 1000 487

As a result of this knowledge declining rapidly, it is a strong justification why you might continue to fund these, even if there is more pressing areas that demand funding. Just to prevent knowledge declining.

Complex systems and global decline for a domain vs local improvements for a domain

This is also to point out that, despite there being relatively global decline in quality due to the explosive complexity growth of computer systems, and how a lot of programmers are unproductive due to managing this complexity... there are localised and very rapid improvements in some highly specialised areas in the domain. The easiest example of this is in AI, and the Semiconductors, Manufacturing and Electrical work required to keep the hardware growth involved with it.

Loss of quality, as a sacrifice

I also believe that a loss of quality can sometimes be attributed as a specific choice. Sometimes as a sacrifice, in preference for a quicker time to market. However this quicker time to market means the ideas have had less time to be ruminated upon, and to see if they are actually good ideas. You see this frequently in libraries and new programming languages, and as a result, they carry a lot of extra weight not to introduce breaking changes, which adds more complexity to a system to be managed(this complexity being managed is actually maintenance costs, but this is about a larger surface area that has to be maintained)... so sometimes taking longer to get to market is a better choice.

This can also be to see if the objective of the product is actually met, then again, often a product does not have an objective beyond making money.

Another altar upon which sacrifice is made, is against meritocratic systems in preference of some other social ideal. Of course, when a meritocratic system is adopted, this is disempowering towards those who don't have merit, or may have lived a life that doesn't allow them the opportunities to gain those merits-- but then it is also disempowering to people who only feel they don't have merit(impostor syndrome). The opposite side is that merit and quality can be sacrificed in favour of promoting particular sociocultural values. It should also be noted, there are also plenty of awards, reputation, and network effects that happen here which might justify why you want to do this. However in doing this, people treat these people as tokens... "I can't be racist, I have a token black friend!"- which itself is a dangerous can of worms that I present, but don't have the stomach to explore. The simplest reason why you might want to do this though, is to acquire funding if there are any government incentives towards this.

In fact, Government funding is one of the most reliable ways quality is sacrificed in favour of! And so their budget expands in that self-justifying way government budgets expand.

Going further on this, often times there are contradictions. People say they support an ideal, yet when you look at the quality of their products you see they are all talk and no walk. A good example of this are programmers who claim to be environmentally friendly, yet use Javascript or worse, Python as their main language. These languages are 70 times less energy efficient than their alternatives, like C. In fact, C being a closely equivalent to hardware that follows Von Neumann Architecture, actually means they do work closer to the machine, so it is no surprise it is more efficient. This also compares against memory usage and time as different metrics to measure against.

EnergyEfficiencyAndLanguages 1000 450

=> The paper the above graph comes from. See page 8.

As a result, social ideals becomes an even more interesting point, as you have an additional dimension of people saying they support it, and people actually making work that supports it-- and often the former use this goal they don't attempt to reach meaningfully, as a false justification for dropping quality. This also presents that quality and social ideals aren't mutually exclusive either, it's actually very contextual and depends what the ideal is, and what the standard for quality is.

Good Enough as in fact... Good Enough!

It would be ignorant and reductionist of me to not say that sometimes Good Enough is in fact, good enough. Where rapid prototyping is the name of the game, you don't need quality, you instead, you need quantity of ideas and variations tested against reality. Sacrificing quality here, is well justified for the information you get, as it will save you a lot of time in the long run.

There is also another place where quality is restricted. That is in resource-starved or constrained environments. Often enough this is a soft constraint due to funding... but sometimes, and most easily observed in warfare... this can be due to actual har resources. A good example of this can be found in the German munitions of WW2. As an example, the Kar98K was of significantly higher quality than the Russian Mosin Nagant, however the time taken to construct a Mosin Nagant was roughly speaking... you could make 5 Nagants in the time taken for 1 Kar98K. This was also the case with German MGs, such as the MP40 and the MG42 which were both higher quality than their Russian, American, French and British counterparts. Of course, towards the end of the war, resource starvation meant both the quality and quantity of these munitions suffered. Most demonstrable of this quality is that the StG-44 went on to effectively become the blueprint for the AK-47... which I don't need to tell you about its qualities as it's penetrated beyond gun enthusiasts into the social fabric as a reliable rifle.

And of course, this isn't getting into the question of how you allocate resources. The reason I said above about funding being a soft constraint is because there are plenty of people who are looking to fund and invest in interesting and excellent ideas, however they are left cautious as most people will not deliver on their idea. Instead they will spend it partying and whatnot- this is also a point that goes before how frequently investors are defrauded especially within tech. Most recently, given false dreams about NFTs and Blockchain technology(to the point Blockchain is often used as a drop-in replacement for databases, without considering the disadvantages of no longer having control over the database). Often enough the allocation of resources is incredibly prospective, and you don't know which ideas are worthwhile... until you test it(and of course few people want to test their ideas, as it's effort, belief, resources and resourcefulness to do so).

Good enough!

Good enough, and good grief, that's a lot of negativity packed into one theme! I see this as a highly relevant, and arguably one of the foremost problems we as a society or civilisation face. It encapsulates and swallows up a lot of the different knowledge-based domains, that with and if the knowledge declines, it sets us back quite a lot. It is the problem that led to the collapse of all great nations before us(and the way I see, especially in the case of Rome, all the decadence are symptoms of this).

I have talked a bit about knowledge and complexity here. I believe the drop in quality is down the explosion in complexity which demands higher amounts of knowledge, and also down to how you need satisfactory knowledge to even execute on complex designs- let alone even reach satisfactory quality on them. In other words, they are prerequisites and precursors to quality. I have also not mentioned Sturgeon's Law of 90% of everything being rubbish... simply because it's not a concrete law. I have also not defined quality as quality is far too dependent on context, but even without a strong definition, I think there is a lot of room for it to be discussed, as there are a lot of proxy measurements you can make in its place.

Marco Polo describes a bridge, stone by stone.
"But which is the stone that supports the bridge?" Kublai Khan asks.
"The bridge is not supported by one stone or another," Marco Answers, "but by the line of the arch that they form."
Kublai Khan remains silent, reflecting. Then he adds: "Why do you speak to me of the stones? It is only the arch that matters to me."
Polo answers: "Without stones there is no arch."

- Italo Calvino, Invisible Cities

Published on 2024/03/30

Articles from blogs I follow around the net


pt. i pt. ii

via I'm not really Stanley Lieber. June 28, 2024

Writing a Unix clone in about a month

I needed a bit of a break from “real work” recently, so I started a new programming project that was low-stakes and purely recreational. On April 21st, I set out to see how much of a Unix-like operating system for x86_64 targets that I could put together in …

via Drew DeVault's blog May 24, 2024

Inside the Super Nintendo cartridges

via Fabien Sanglard April 21, 2024

Generated by openring