...with open source BIOS and an Open Source OS (Linux being the best known, but there are others, like Net/Free/OpenBSD.) That would be what I would call an 'open source system'.
Back in the day, I'd be given a programming task, and my boss would, naturally, want me to estimate how long it would take. Sometimes it looked like something I could do in maybe a day or two, but I always worried about that elusive bug that might pop up, where I'd get 95% of the coding done in that day or two, but then spend a week tracking down that one knotty problem.
How about this. You make a contribution to an open source project, something very useful, so other people build on it etc. It isn't necessarily 'brilliant''; if you hadn't contributed it, someone else would have contributed something that did the same thing, maybe worse, maybe better, but good enough, but they didn't because why reinvent the wheel. So, after people have incorporated your stuff in good faith into their projects, you decide to yank it. It causes a great disruption. Is that right?
I'm an old timer who cut his teeth on assembler etc. I remember when I was studying Computer Science in the 1970s that there was a class in which we were exposed to various computer languages of the time. All we ever did was write toy programs in them to get an idea of what they were like, but it was still very educational, and left me, for a short time, trying to imagine a perfect language of my own. As I recall, the languages were Algol, SNOBOL APL and XL6 (not sure about the last name, it was a 'list processing language' that didn't get very far, the X being for experimental.)
What I think has happened though, is that a lot of more academic types (the ones who end up teaching at prestigious universities and influence new generations), are fascinated by abstractions, and want to concoct ways to represent more and more abstraction in programming languages and practice. Now, abstraction certainly has its place, and I won't say that I'm immune to it's charms, even when writing assembly and C, but, there's always a down side isn't there, especially as you push further and further along. One of the downsides of abstractions is communicating exactly what the abstraction is for other programmers who have to maintain the code, or even to yourself after you've been away from it for awhile. So some particular set of abstractions, embodied in a language and library, becomes fixed, and then people have to work on top of that when they want newer abstractions.
Perhaps someday a new generation of programmers will discover 'primitive' programming, the way, say, artists rediscover 'primitive' art, or stereophiles rediscover vinyl and turntables That would be fun I think.
PS Don't take my analogies to primitive are or vinyl too seriously, because I don't.
I did not RTFA, but I was intrigued by the phrase about blockchains in the summary: about a database "where entries cannot be altered once written"
As I understand from reading dumbed down for the laymen explanations, blockchains are computationally expensive because they enlist a large number of players to maintain them, this being so no one player can outcompute everybody else and thus game the system. I gather this computation is mainly to do with encrypting or creating a sort of signature for transactions similar to the way one creates a digital signature with Pretty Good Privacy.
I just wonder if there couldn't possibly be some other less expensive way of recording a transaction that is unalterable? According to some of the dumbed down for the laymen descrptions of quantum mechanics, information can't be lost. Maybe there's something in physics that could be used. Two parties have to participate in the transaction, in somehow 'signing' the instrument (the contract or receipt or whatever), but then it's permanent. Would that do the work of the blockchain?
I was going to post a complaint about calling C an assembly language. As someone who did a lot of assembly language programming back in the day, I really dislike that kind of remark because it is so misleading.
Calling C a 'machine language' on the other hand. Hmmm. Programming in machine language for me was when you actually toggled code in from switches on the front panel (Yeah I go back that far.) But I don't think anyone will confuse C with that kind of machine language. So yeah, in the sense of being a language to communicate with the machine at the machine's level, maybe it is.
I'm not a big TV guy, but I kept reading/hearing about the series, and finally started watching. I didn't particularly like the early episodes, where the characters were extreme and one dimensional (Raj couldn't talk around women, Howard was such a complete jerk), but, later on, as they matured, I found it more palatable. They did try to get the science right, and some serious scientists (not just Steve Hawking) made cameo appearances. They addressed some social issues too, like Bernadette's initial resistance to having children, which, from what I understand, rings true for a lot of women even though they are reluctant to admit it.
I didn't fall in love with the show, but I didn't hate it either. Maybe I'm part of the mostly silent majority who thought of it as an interesting, somewhat different, pretty good TV show, and nothing more.
Somewhere I read that Mars lost its atmosphere because it didn't have a magnetic field to keep the solar wind from blasting its atmosphere away, and, if we tried to build up an atmosphere again, the same thing would happen.
This seems like excellent advice, and I see that a lot of the followups agree and provide some technical details. Still, I reckon a lot of owners of this old equipment may not have the technical know-how to do it right.
It seems to me somebody with appropriate energy and enterprise (which lets me out), could start a company providing just this kind of service.
Alas, slashdot does not allow one to go back and edit posts. Otherwise I would change my previous post to read "doesn't work in a vacuum (metaphorically speaking)" so as not to confuse readers such as yourself. And you yourself would probably go back and edit your own post to read "glad to hear it" vice "glad to here it".
Linus Torvalds didn't work in a vacuum and never claimed to. He got started using a book written by Andy Tanenbaum. He was in the right place at the right time (When the Intel 80386 came out which finally had the hardware support needed for a multi-tasking, demand paging Operating System. And yes, I know it wasn't the first chip to have that, but by then the Intel architecture dominated the market thanks to IBM choosing the Intel 8086 for it's PC, which is a different story, pardon the digression.)
BSD Unix was available for the 80386 and Mr Torvalds said if he'd known about it, he probably wouldn't have written Linux. It boiled down finally to personality. Linus Torvalds welcomed participation by others to improve Linux and was a genial enough leader that he could herd all those cats into working together. Smart people were working on BSD Unix too. But they tended to be elitist and fought among themselves so you ended up having different flavors, FreeBSD, NetBSD and OpenBSD. If you go back through the internet archives, you can even find posts to some of the comp.os newsgroups where they are squabbling and airing their dirty linen in public.
Why did this at least partially hobbyist OS get so popular? I think a lot of it has to do with trust. People are willing to buy supercomputers running linux because they trust linux. They can see the source code; they can see the history, the evolution of it. Part of that trust is due to Linus Torvalds style and personality. That is his contribution. Richard Stallman also made a great contribution with the GNU public license, which Linus Torvalds adopted. Many of those contribution cats would not have joined the herd without the GNU public license which protected other people from appropriating their work. Torvalds and Stallman have their differences, but I don't think Linus Torvalds ever tried to steal Stallman's thunder. Linux distributions depend not only on the kernel which Linus Torvalds wrote the original version of, but also on a lot of software from Stallman's GNU foundation. They also depend on a lot of software from other sources, like the X-Window system. It gets complicated, and maybe people should just admit that it's complicated instead of trying to reduce it all to sound bites.
Imagine the first amphibian to walk on land. It probably wasn't very good at walking. Imagine the first bird to fly. It probably wasn't a very good flyer.
Homo Sap is the first animal to achieve what I will very loosely call 'civilization'. How good do you suppose Homo Sap is at it?
The descendants of those first amphibians got better at walking, and the descendants of those first flying birds got better at flying. (Most of them anyway, not the ostriches and emus.) With homo sap things may be a bit more complicated.
Personally I think part of the ability to be civilized is being able to follow leaders. Presumably you should pick good leaders to follow. That's at least one of the places that could stand a lot of improvement as far as human nature is concerned.
The article mentions 'algorithmic'. Marketeers label that as 'smart', and yes, the word can be a convenient short hand for something that automates certain kinds of work. But, like so many terms, it gets bandied around and misinterpreted, causing confusion.
I was first exposed to emacs at my job back in the 1980s, running on some kind of Vax, and it slowed the damn machine down, so I used vi instead, like everybody else. Then I got an Atari 520 ST. It had a minimal word processor, but no good text editor. So I downloaded micro-emacs off usenet from one of the alt-binary newsgroups. It was encoded into an ascii format using uuencode and you got the binary back using uudecode. (That's how things were done in the 80s). Anyway, it worked great! I use emacs now for a few things (I like being able to select a rectangle of text for instance). But my fingers would have never learned the basic text editing commands that are 95% of the keystrokes you use, if I hadn't learned them on micro-emacs.
So yeah, I always have emacs around, for those occasional times when it seems like the right tool, and that's partly because it's a tool I've already learned how to use, at least for certain things. At one time I did explore all the commands in emacs, and there were a few that I actually found handy and still use, like select rectangle, the rest I've forgotten, and I can't see myself ever learning any of the new stuff. But, if I was young, things might be different.
Flightless birds never evolved a way to really repurpose their front limbs. Ostriches, emus, kiwis all have vestigal wings with limited use if any. Other land vertebrates, whose front limbs hadn't become so highly specialized yet, could gradually evolve them along different paths to become good tree climbers (everything from chameleons to monkeys), or learn to dig burrows (moles), to be good swimmers (OK, penguins also managed to make good use of their front limbs in that regard, but I'm not sure if the ancestors of penguins were flightless.) have claws for helping to hold onto prey while killing it, and so on.
Looking at the Merriam Webster definition of sophisticated, it mentions deprived of native simpliticy (emphasis mine). Highly complicated or developed, having refined knowledge. So my take on sophisticated with respect to software is that it's been worked over and improved a lot, and where possible, simplified (not the 'native' simplicity of Merriam-Webster's def). It also requires a lot of knowledge, including the kind of knowledge that only comes with experience, being savvy. Stuxnet was probably a team effort by some heavyweights with lots of experience focussed on a tough job, so yes, it would be very sophisticated.
Things like operating systems, compilers (C++ or PL/1 compilers), are very complex, and, with all the experience of writing new versions, they do get sophisticated, but I have the feeling that always, some of the work gets farmed out to newer, inexperienced hands, who only have to do work that is 'good enough'.
Casting around in my mind for something that might compare to stuxnet in sophistication, I thought of postgres. It's open source, so experts can study the code freely, and, as I understand it, it is competitive in a very hot market, so it has to be kept tight. Many hands work on it, but if somebody is sloppy, somebody else will notice. I'm not qualified to judge it myself, but is there anybody out there who is and who would like to weigh in with an opinion?
I saw a documentary series on PBS years and years ago called "The Body In Question" (which was primarily made by the BBC), hosted by a medical doctor who had gone in to show business, Jonathan Miller. In one episode, Miller wore an apparatus of some kind that removed the carbon dioxide from his breath as he breathed it out, but did not let him get any new oxygen. While wearing this, he was writing things down on a pad and talking about what he was feeling. The writing got worse, and I think he mentioned losing his color vision, and finally, when he was about to pass out, people stepped in to remove the mask and take care of him.
Whenever I read about painful executions, I would think about that episode and wonder, if they're going to do it, why not do it that way?
I also did something like that for awhile. Back in the 90s in Silicon Valley I had pretty good programmer skills and I turned to contracting. I was inspired by a fictional character, Travis McGee (https://en.wikipedia.org/wiki/Travis_McGee. Trav decided to take his retirement in installments, so he'd work a job (he was a 'salvage consultant'), get some money, then take it easy until the money ran low, then look for more work. I thought of myself as taking some of my retirement between contracts, and I kinda liked that. But I was well aware of the fact that I could only do it because I happened to have the right skills in the right place at the right time.
To some extent I agree with Anonymous Coward here in that accountants, lawyers and others can be doing something important and 'good ones are worth their weight in gold'. But I suspect that to some extent they are needed because of other inefficiencies. We've grown so productive thanks to technology that we can bear the strain put on us by non productive things that would have been impossible to support 100 years ago. One particularly dismal example is how many people are in prison now. Economically, we could not have supported that a century ago.
Famous economist John Maynard Keynes wrote an essay in 1930 predicting a 15 hour work week by projecting how workers were steadily becoming more productive. But it hasn't happened.
Historian C. Northcote Parkinson came up with "Parkinson's Law" that work expands to fulfil the time available. So I suspect that is partly also what has derailed the 15 hour work week.
I think there's something in human nature that causes us to never be satisfied. If there's a society where things are all hunky dory, pretty soon neighbors will feud over what used to be trifles, fashions and manners will become very elaborate, new religious cults will arise, until the general level of stress is barely tolerable again. I suppose this is so because back in the days when we were all hunter gatherers, the tribes that were laid back got pushed out by the ones who never had enough.
The early microkernels had problems, but a 2nd generation of 'L4' kernels, pioneered by Jochen Liedtke (who died an untimely death at age 48) seems to have gotten around that. From the wikipedia article on L4 microkernel family:
The poor performance of first-generation microkernels, such as Mach, led a number of developers to re-examine the entire microkernel concept in the mid-1990s... Detailed analysis of the Mach bottleneck indicated that, among other things, its working set is too large: the IPC code expresses poor spatial locality; that is, it results in too many cache misses, of which most are in-kernel... Liedtke came to the conclusion that several other Mach concepts were also misplaced. By simplifying the microkernel concepts even further he developed the first L4 kernel which was primarily designed with high performance in mind. In order to wring out every bit of performance the entire kernel was written in assembly language, and its IPC was 20 times faster than Mach's.[4] Such dramatic performance increases are a rare event in operating systems, and Liedtke's work triggered new L4 implementations and work on L4-based systems at a number of universities and research institutes,
My understanding is that Open BSD is the most secure of the OS's and uses the BSD license which is 'looser' as in, it lets you get away with more.
My speculation is laziness, so many hands have developed so much software around Linux, OpenWRT being a good example, that the programmers hired by these companies can just drop the stuff in.
But maybe there's more to it than that, which is why I'm posting the question.
In my strongly held opinion the greatest comic book creator of all time was Carl Barks (aka "The Good Artist") creator of Uncle Scrooge. He both wrote and drew his stories.
Steven Speilberg was a fan and some of the Indiana Jones stuff was inspired by things in Barks stories. A patent was applied for for raising sunken ships and rejected because there was prior art in one of Carl Barks's stories. Other comics artists have continued to write comics using variations of his characters in various countries; here in the USA the most notable was Don Rosa. Do an internet search for Barks and/or Uncle Scrooge or read about them in the wikipedia.
Einstein apparently consulted some 'pure' mathematicians for help with some of this. From the wikipedia article on David Hilbert:
By early summer 1915, Hilbert's interest in physics had focused on general relativity, and he invited Einstein to GÃttingen to deliver a week of lectures on the subject.... Einstein learned that Hilbert was also working on the field equations and redoubled his own efforts. During November 1915 Einstein published several papers culminating in "The Field Equations of Gravitation"...Nearly simultaneously David Hilbert published "The Foundations of Physics", an axiomatic derivation of the field equations... Hilbert fully credited Einstein as the originator of the theory, and no public priority dispute concerning the field equations ever arose between the two men during their lives....
Additionally, Hilbert's work anticipated and assisted several advances in the mathematical formulation of quantum mechanics....
Throughout this immersion in physics, Hilbert worked on putting rigor into the mathematics of physics. While highly dependent on higher mathematics, physicists tended to be "sloppy" with it. To a "pure" mathematician like Hilbert, this was both "ugly" and difficult to understand. As he began to understand physics and how physicists were using mathematics, he developed a coherent mathematical theory for what he found,...
Hilbert said "Physics is too hard for physicists", implying that the necessary mathematics was generally beyond them; the Courant-Hilbert book made it easier for them.
There's a whole slew of videos explaining this stuff on youtube now, like these two (also look at Don Kennedy and Nick Lucid). I particularly like the photon box as an explanation of inertial mass.
Back in the 80s, I was exposed to emacs on Vaxen (Vaxes?) which were supposed to be pretty powerful mini-computers, and emacs would noticeably slow them down, whereas vi didn't. However, when I bought an Atari 520 ST, there was no good text editor I could find, until I came across microEmacs https://en.wikipedia.org/wiki/MicroEMACS which I downloaded from Usenet (Ah Usenet in the 80s!) This thing was a very stripped down version of emacs that worked like a charm. Eventually, when computers got fast enough to run emacs I went back to using it now and then, partly because I already had the most commonly used keystrokes in my fingers' muscle memory. MicroEMACS was, and maybe still is, one nice bit of software.
...with open source BIOS and an Open Source OS (Linux being the best known, but there are others, like Net/Free/OpenBSD.) That would be what I would call an 'open source system'.
Back in the day, I'd be given a programming task, and my boss would, naturally, want me to estimate how long it would take. Sometimes it looked like something I could do in maybe a day or two, but I always worried about that elusive bug that might pop up, where I'd get 95% of the coding done in that day or two, but then spend a week tracking down that one knotty problem.
How about this. You make a contribution to an open source project, something very useful, so other people build on it etc. It isn't necessarily 'brilliant''; if you hadn't contributed it, someone else would have contributed something that did the same thing, maybe worse, maybe better, but good enough, but they didn't because why reinvent the wheel. So, after people have incorporated your stuff in good faith into their projects, you decide to yank it. It causes a great disruption. Is that right?
I'm an old timer who cut his teeth on assembler etc. I remember when I was studying Computer Science in the 1970s that there was a class in which we were exposed to various computer languages of the time. All we ever did was write toy programs in them to get an idea of what they were like, but it was still very educational, and left me, for a short time, trying to imagine a perfect language of my own. As I recall, the languages were Algol, SNOBOL APL and XL6 (not sure about the last name, it was a 'list processing language' that didn't get very far, the X being for experimental.)
What I think has happened though, is that a lot of more academic types (the ones who end up teaching at prestigious universities and influence new generations), are fascinated by abstractions, and want to concoct ways to represent more and more abstraction in programming languages and practice. Now, abstraction certainly has its place, and I won't say that I'm immune to it's charms, even when writing assembly and C, but, there's always a down side isn't there, especially as you push further and further along. One of the downsides of abstractions is communicating exactly what the abstraction is for other programmers who have to maintain the code, or even to yourself after you've been away from it for awhile. So some particular set of abstractions, embodied in a language and library, becomes fixed, and then people have to work on top of that when they want newer abstractions.
Perhaps someday a new generation of programmers will discover 'primitive' programming, the way, say, artists rediscover 'primitive' art, or stereophiles rediscover vinyl and turntables That would be fun I think.
PS Don't take my analogies to primitive are or vinyl too seriously, because I don't.
I did not RTFA, but I was intrigued by the phrase about blockchains in the summary: about a database "where entries cannot be altered once written"
As I understand from reading dumbed down for the laymen explanations, blockchains are computationally expensive because they enlist a large number of players to maintain them, this being so no one player can outcompute everybody else and thus game the system. I gather this computation is mainly to do with encrypting or creating a sort of signature for transactions similar to the way one creates a digital signature with Pretty Good Privacy.
I just wonder if there couldn't possibly be some other less expensive way of recording a transaction that is unalterable? According to some of the dumbed down for the laymen descrptions of quantum mechanics, information can't be lost. Maybe there's something in physics that could be used. Two parties have to participate in the transaction, in somehow 'signing' the instrument (the contract or receipt or whatever), but then it's permanent. Would that do the work of the blockchain?
I was going to post a complaint about calling C an assembly language. As someone who did a lot of assembly language programming back in the day, I really dislike that kind of remark because it is so misleading.
Calling C a 'machine language' on the other hand. Hmmm. Programming in machine language for me was when you actually toggled code in from switches on the front panel (Yeah I go back that far.) But I don't think anyone will confuse C with that kind of machine language. So yeah, in the sense of being a language to communicate with the machine at the machine's level, maybe it is.
I'm not a big TV guy, but I kept reading/hearing about the series, and finally started watching. I didn't particularly like the early episodes, where the characters were extreme and one dimensional (Raj couldn't talk around women, Howard was such a complete jerk), but, later on, as they matured, I found it more palatable. They did try to get the science right, and some serious scientists (not just Steve Hawking) made cameo appearances. They addressed some social issues too, like Bernadette's initial resistance to having children, which, from what I understand, rings true for a lot of women even though they are reluctant to admit it.
I didn't fall in love with the show, but I didn't hate it either. Maybe I'm part of the mostly silent majority who thought of it as an interesting, somewhat different, pretty good TV show, and nothing more.
Somewhere I read that Mars lost its atmosphere because it didn't have a magnetic field to keep the solar wind from blasting its atmosphere away, and, if we tried to build up an atmosphere again, the same thing would happen.
This seems like excellent advice, and I see that a lot of the followups agree and provide some technical details. Still, I reckon a lot of owners of this old equipment may not have the technical know-how to do it right.
It seems to me somebody with appropriate energy and enterprise (which lets me out), could start a company providing just this kind of service.
Alas, slashdot does not allow one to go back and edit posts. Otherwise I would change my previous post to read "doesn't work in a vacuum (metaphorically speaking)" so as not to confuse readers such as yourself. And you yourself would probably go back and edit your own post to read "glad to hear it" vice "glad to here it".
Those are the breaks.
Linus Torvalds didn't work in a vacuum and never claimed to. He got started using a book written by Andy Tanenbaum. He was in the right place at the right time (When the Intel 80386 came out which finally had the hardware support needed for a multi-tasking, demand paging Operating System. And yes, I know it wasn't the first chip to have that, but by then the Intel architecture dominated the market thanks to IBM choosing the Intel 8086 for it's PC, which is a different story, pardon the digression.)
BSD Unix was available for the 80386 and Mr Torvalds said if he'd known about it, he probably wouldn't have written Linux. It boiled down finally to personality. Linus Torvalds welcomed participation by others to improve Linux and was a genial enough leader that he could herd all those cats into working together. Smart people were working on BSD Unix too. But they tended to be elitist and fought among themselves so you ended up having different flavors, FreeBSD, NetBSD and OpenBSD. If you go back through the internet archives, you can even find posts to some of the comp.os newsgroups where they are squabbling and airing their dirty linen in public.
Why did this at least partially hobbyist OS get so popular? I think a lot of it has to do with trust. People are willing to buy supercomputers running linux because they trust linux. They can see the source code; they can see the history, the evolution of it. Part of that trust is due to Linus Torvalds style and personality. That is his contribution. Richard Stallman also made a great contribution with the GNU public license, which Linus Torvalds adopted. Many of those contribution cats would not have joined the herd without the GNU public license which protected other people from appropriating their work. Torvalds and Stallman have their differences, but I don't think Linus Torvalds ever tried to steal Stallman's thunder. Linux distributions depend not only on the kernel which Linus Torvalds wrote the original version of, but also on a lot of software from Stallman's GNU foundation. They also depend on a lot of software from other sources, like the X-Window system. It gets complicated, and maybe people should just admit that it's complicated instead of trying to reduce it all to sound bites.
Imagine the first amphibian to walk on land. It probably wasn't very good at walking. Imagine the first bird to fly. It probably wasn't a very good flyer.
Homo Sap is the first animal to achieve what I will very loosely call 'civilization'. How good do you suppose Homo Sap is at it?
The descendants of those first amphibians got better at walking, and the descendants of those first flying birds got better at flying. (Most of them anyway, not the ostriches and emus.) With homo sap things may be a bit more complicated.
Personally I think part of the ability to be civilized is being able to follow leaders. Presumably you should pick good leaders to follow. That's at least one of the places that could stand a lot of improvement as far as human nature is concerned.
The article mentions 'algorithmic'. Marketeers label that as 'smart', and yes, the word can be a convenient short hand for something that automates certain kinds of work. But, like so many terms, it gets bandied around and misinterpreted, causing confusion.
I was first exposed to emacs at my job back in the 1980s, running on some kind of Vax, and it slowed the damn machine down, so I used vi instead, like everybody else. Then I got an Atari 520 ST. It had a minimal word processor, but no good text editor. So I downloaded micro-emacs off usenet from one of the alt-binary newsgroups. It was encoded into an ascii format using uuencode and you got the binary back using uudecode. (That's how things were done in the 80s). Anyway, it worked great! I use emacs now for a few things (I like being able to select a rectangle of text for instance). But my fingers would have never learned the basic text editing commands that are 95% of the keystrokes you use, if I hadn't learned them on micro-emacs.
So yeah, I always have emacs around, for those occasional times when it seems like the right tool, and that's partly because it's a tool I've already learned how to use, at least for certain things. At one time I did explore all the commands in emacs, and there were a few that I actually found handy and still use, like select rectangle, the rest I've forgotten, and I can't see myself ever learning any of the new stuff. But, if I was young, things might be different.
Flightless birds never evolved a way to really repurpose their front limbs. Ostriches, emus, kiwis all have vestigal wings with limited use if any. Other land vertebrates, whose front limbs hadn't become so highly specialized yet, could gradually evolve them along different paths to become good tree climbers (everything from chameleons to monkeys), or learn to dig burrows (moles), to be good swimmers (OK, penguins also managed to make good use of their front limbs in that regard, but I'm not sure if the ancestors of penguins were flightless.) have claws for helping to hold onto prey while killing it, and so on.
Looking at the Merriam Webster definition of sophisticated, it mentions deprived of native simpliticy (emphasis mine). Highly complicated or developed, having refined knowledge. So my take on sophisticated with respect to software is that it's been worked over and improved a lot, and where possible, simplified (not the 'native' simplicity of Merriam-Webster's def). It also requires a lot of knowledge, including the kind of knowledge that only comes with experience, being savvy. Stuxnet was probably a team effort by some heavyweights with lots of experience focussed on a tough job, so yes, it would be very sophisticated.
Things like operating systems, compilers (C++ or PL/1 compilers), are very complex, and, with all the experience of writing new versions, they do get sophisticated, but I have the feeling that always, some of the work gets farmed out to newer, inexperienced hands, who only have to do work that is 'good enough'.
Casting around in my mind for something that might compare to stuxnet in sophistication, I thought of postgres. It's open source, so experts can study the code freely, and, as I understand it, it is competitive in a very hot market, so it has to be kept tight. Many hands work on it, but if somebody is sloppy, somebody else will notice. I'm not qualified to judge it myself, but is there anybody out there who is and who would like to weigh in with an opinion?
I saw a documentary series on PBS years and years ago called "The Body In Question" (which was primarily made by the BBC), hosted by a medical doctor who had gone in to show business, Jonathan Miller. In one episode, Miller wore an apparatus of some kind that removed the carbon dioxide from his breath as he breathed it out, but did not let him get any new oxygen. While wearing this, he was writing things down on a pad and talking about what he was feeling. The writing got worse, and I think he mentioned losing his color vision, and finally, when he was about to pass out, people stepped in to remove the mask and take care of him.
Whenever I read about painful executions, I would think about that episode and wonder, if they're going to do it, why not do it that way?
I also did something like that for awhile. Back in the 90s in Silicon Valley I had pretty good programmer skills and I turned to contracting. I was inspired by a fictional character, Travis McGee (https://en.wikipedia.org/wiki/Travis_McGee. Trav decided to take his retirement in installments, so he'd work a job (he was a 'salvage consultant'), get some money, then take it easy until the money ran low, then look for more work. I thought of myself as taking some of my retirement between contracts, and I kinda liked that. But I was well aware of the fact that I could only do it because I happened to have the right skills in the right place at the right time.
To some extent I agree with Anonymous Coward here in that accountants, lawyers and others can be doing something important and 'good ones are worth their weight in gold'. But I suspect that to some extent they are needed because of other inefficiencies. We've grown so productive thanks to technology that we can bear the strain put on us by non productive things that would have been impossible to support 100 years ago. One particularly dismal example is how many people are in prison now. Economically, we could not have supported that a century ago.
Famous economist John Maynard Keynes wrote an essay in 1930 predicting a 15 hour work week by projecting how workers were steadily becoming more productive. But it hasn't happened.
Historian C. Northcote Parkinson came up with "Parkinson's Law" that work expands to fulfil the time available. So I suspect that is partly also what has derailed the 15 hour work week.
I think there's something in human nature that causes us to never be satisfied. If there's a society where things are all hunky dory, pretty soon neighbors will feud over what used to be trifles, fashions and manners will become very elaborate, new religious cults will arise, until the general level of stress is barely tolerable again. I suppose this is so because back in the days when we were all hunter gatherers, the tribes that were laid back got pushed out by the ones who never had enough.
The early microkernels had problems, but a 2nd generation of 'L4' kernels, pioneered by Jochen Liedtke (who died an untimely death at age 48) seems to have gotten around that. From the wikipedia article on L4 microkernel family:
My understanding is that Open BSD is the most secure of the OS's and uses the BSD license which is 'looser' as in, it lets you get away with more.
My speculation is laziness, so many hands have developed so much software around Linux, OpenWRT being a good example, that the programmers hired by these companies can just drop the stuff in.
But maybe there's more to it than that, which is why I'm posting the question.
In my strongly held opinion the greatest comic book creator of all time was Carl Barks (aka "The Good Artist") creator of Uncle Scrooge. He both wrote and drew his stories.
Steven Speilberg was a fan and some of the Indiana Jones stuff was inspired by things in Barks stories. A patent was applied for for raising sunken ships and rejected because there was prior art in one of Carl Barks's stories. Other comics artists have continued to write comics using variations of his characters in various countries; here in the USA the most notable was Don Rosa. Do an internet search for Barks and/or Uncle Scrooge or read about them in the wikipedia.
Einstein apparently consulted some 'pure' mathematicians for help with some of this. From the wikipedia article on David Hilbert:
There's a whole slew of videos explaining this stuff on youtube now, like these two (also look at Don Kennedy and Nick Lucid). I particularly like the photon box as an explanation of inertial mass.
https://www.youtube.com/watch?v=gSKzgpt4HBU
and
https://www.youtube.com/watch?v=fHRqibyNMpw
Back in the 80s, I was exposed to emacs on Vaxen (Vaxes?) which were supposed to be pretty powerful mini-computers, and emacs would noticeably slow them down, whereas vi didn't. However, when I bought an Atari 520 ST, there was no good text editor I could find, until I came across microEmacs https://en.wikipedia.org/wiki/MicroEMACS which I downloaded from Usenet (Ah Usenet in the 80s!) This thing was a very stripped down version of emacs that worked like a charm. Eventually, when computers got fast enough to run emacs I went back to using it now and then, partly because I already had the most commonly used keystrokes in my fingers' muscle memory. MicroEMACS was, and maybe still is, one nice bit of software.