meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
nothingburger [2020/05/23 14:26] – external edit 127.0.0.1 | nothingburger [2020/10/02 01:54] (current) – [Passive Acceptance of Illegitimate Authority] revusky | ||
---|---|---|---|
Line 13: | Line 13: | ||
Now, to be clear, that is not to say that there was no commit record. However, none of it related to the real core, the guts of the codebase. | Now, to be clear, that is not to say that there was no commit record. However, none of it related to the real core, the guts of the codebase. | ||
- | Well, what I am describing is actually a general phenomenon, and I had encountered it before. Still, at the time, I did not have any terminology to describe it, and if there is a generally accepted term out there, I am not aware of it. Here is what I propose: | + | What I am describing |
// | // | ||
Line 21: | Line 21: | ||
So, using this new terminology, | So, using this new terminology, | ||
- | ===== Some Telltale Signs of a Nothingburger project ===== | + | ===== Return to Planet of the Apes? ===== |
+ | |||
+ | It occurred to me recently that there is a science fiction genre that characterizes quite well this nothingburger state of affairs. In a post-apocalyptic, | ||
+ | |||
+ | Now, in this scenario, suppose somebody shows up (from the past somehow?) who really has the technical know-how to take these machines apart, fix whatever problem, and put them back together. How is this priesthood going to react? I think it is obvious. They' | ||
+ | |||
+ | ===== Telltale Signs of the Nothingburger project ===== | ||
- The project' | - The project' | ||
Line 28: | Line 34: | ||
- When very minor changes to the code are made, patches that, by the principles of [[https:// | - When very minor changes to the code are made, patches that, by the principles of [[https:// | ||
- | One could surely list other important symptoms of // | + | One could surely list other important symptoms of // |
- | Now, I suppose the most typical pattern by which a software project becomes a nothingburger is that the original author loses interest, drifts away, and none of the people remaining, now the ostensible maintainers, | + | At this point, |
- | Now, to be clear, a // | + | Now, to be clear, a // |
- | ===== Return to Planet of the Apes? ===== | + | ===== How about a Tanning Contest this Summer? ===== |
- | It occurred to me recently that there is a science fiction genre that characterizes quite well this nothingburger state of affairs. In a post-apocalyptic, post-industrial future world, human society has mostly devolved to its pre-technological state. However, the landscape is still littered with vestiges of the long-gone industrial civilization. Now, a few old machines are in reasonable state and still work. However, no current-day humans | + | Now, as for the other point I mention above, this excessive reverence for " |
- | Now, in this scenario, suppose somebody shows up (from the past somehow?) who really has the technical know-how to take these machines apart, fix whatever problem, and put them back together. How is this priesthood going to react? | + | Frankly, I have no more intention of competing with any of these people on // |
- | (I was trying | + | As for the final point above, that the extreme overvaluation of minor patches will lead to the nothingburger project having an absurdly high version number, |
- | Now, the next point, this excessive reverence for " | + | ===== The Army with No Soldiers ===== |
- | Frankly, I have no more intention of competing with any of these people on //stability// than I do of entering | + | I have no doubt that there are certain people who will jump at any opportunity to twist and misrepresent what I am saying here, so I feel I have to be very very clear about certain things. By no means am I saying here that the //only// thing anybody can do of any value in a software project is write code. In fact, it is frequently |
- | As for my final point above, that the extreme overvaluation | + | However, the real issue here is one of balance. Suppose you were a journalist assigned |
- | ===== Some Needed Clarification ===== | + | //This is an army with all officers and no regular soldiers.// |
- | Now, before continuing | + | Would that not be completely surreal? How much expertise in military affairs would it take for you to realize that there is something very screwy going on? Of course, we could also imagine a situation where the journalist realizes all this but keeps it to himself, since he realizes |
- | But, the issue nonetheless is one of balance. Suppose you were a journalist assigned to write some articles on the military. | + | ===== It must be nice to be a superhero! ===== |
- | Would that not be completely surreal? How much expertise in military | + | We could shift that military |
- | Now that I brought up a military metaphor, it occurs to me to point out that the stance of the people in a //nothingburger// | + | //Software, code, is not a **physical** machine.// |
- | On further thought, however, I realized that the stance | + | If your code is stored in a code repository such as Git, SVN, or CVS, you can restore it effortlessly to any previous state it was in. I recall on a mailing list hosted by Apache Software Foundation, this whole topic came up. It was about just how conservative |
- | However, the odd thing about this is that software is not a // | + | I pointed out to him that the simile would be more applicable if, when you fell off a cliff at time t, and presumably broke all the bones your body, you had the capability of instantly restoring yourself |
- | I pointed out to him that the simile would be more applicable if, when you fell off a cliff at time t, and presumably broke all the bones your body, you had the capability of instantly restoring yourself to the state you were in at t-1 just before the fall. (//Gee, another sci-fi fantasy genre, | + | //In essence, hacking code is a bit like being a superhero, who cannot really be hurt, like the Wolverine character |
- | Thus, it is really quite a stretch | + | Wolverine can be beaten, stabbed and shot and his body just regenerates in short order to the state it was in before. (I grant that Wolverine still feels pain and it can be painful to have to back out your changes and revert to a previous state of the code, but the point is that Wolverine cannot be // |
+ | |||
+ | So, what is the agenda of somebody who likens | ||
+ | |||
+ | //But the analogy with the physically dangerous activity is completely nutso!// | ||
+ | |||
+ | No matter how irreparably you mess up the code, it can always | ||
This leads us to another frequent symptom of // | This leads us to another frequent symptom of // | ||
Line 70: | Line 82: | ||
//The insiders in a nothingburger project frequently **affect** that they don't understand how version control systems work.// | //The insiders in a nothingburger project frequently **affect** that they don't understand how version control systems work.// | ||
- | The // | + | The // |
- | If you are foolish (or masochistic) enough to be engaging these people in discussion and you point out the above, the typical result is that they simply walk away from the conversation. | + | - An extremely aggressive stance in terms of evolving the code forward, refactoring etcetera. (Because if you do some things that turn out to be a bad idea, nothing is lost anyway!) |
+ | - An extremely liberal, open stance towards letting people contribute. (Because newbie contributors can't really do any damage anyway! Especially, if you give them a branch to work on!) | ||
+ | |||
+ | Of course, a // | ||
+ | |||
+ | If you are foolish (or masochistic) enough to be engaging these people in discussion and you point out these things, the typical result is that they simply walk away from the conversation. | ||
===== What is to be done? ===== | ===== What is to be done? ===== | ||
Line 93: | Line 110: | ||
It could well be that a similar answer applies to // | It could well be that a similar answer applies to // | ||
- | Though admittedly, not as absolutely impossible as retrieving one's car keys from the bottom of the ocean, when a once healthy project has lapsed into // | + | Though admittedly, not as absolutely impossible as retrieving one's car keys from the bottom of the ocean, when a once healthy project has lapsed into // |
+ | |||
+ | ===== Passive Acceptance of Illegitimate Authority ===== | ||
In any Psychology 101 course, one typically learns about the [[https:// | In any Psychology 101 course, one typically learns about the [[https:// | ||
Line 109: | Line 128: | ||
That is my current position. I am satisfied that it is correct. However, I am perplexed, quite frankly, that it took me so many years to realize this. Well, I can be quite slow at times. | That is my current position. I am satisfied that it is correct. However, I am perplexed, quite frankly, that it took me so many years to realize this. Well, I can be quite slow at times. | ||
- | At this moment, this essay is still a work in progress, which I intend to resume later and polish off, time permitting. At this point, I will leave things off by clarifying a simple point: I am not claiming to have any definitive answers or solutions to // | + | At this moment, this essay is still a work in progress, which I intend to resume later and polish off, time permitting. At this point, I will leave things off by clarifying a simple point: I am not claiming to have any definitive answers or solutions to // |