By your logic, shouldn't we then give longer sentences to minors driving cars illegaly and getting into accidents compared to regular drivers getting into the same kind of accidents while posessing a legal driving license? Same thing, if you ask me. Point is justice does not punish the dangerous more, it punishes by trying to be JUST, in most respects. Like cutting some slack to someone less able to restrain him/herself from commiting a murder if it's in his/her genes, because he would have to put less energy to do so, contra a person who is not predisposed like that and will put more energy to commit the same act. Justice is supposed to both prevent other potential criminals from contemplating the same action, and at the same time instill them with hope in the "right thing" by showing them that they are tried with the best of judgement, and not merely lynched by a bunch of radicals. That is why it is called justice, and usually depicted as a blindfolded lady holding weights in each hand. That is why it is so hard to get right I think - it sounds like quite an ideology and a bit of an utopia.
I have been running 9.10 release since hours before it was released to public (downloaded by BitTorrent).
It seems really snappy, noticeably snappier than 9.04, especially with X graphics and hence Firefox page rendering and scrolling.
However, for some strange reason, there are regressions:
1. The average temperature is 3 degrees higher for most of the hardware sensors including the CPU. Hence the fan ups the speed a pulse-width-modulation notch, which makes for a more audible system, even for a quiet Thinkpad laptop like mine. 2. PulseAudio volume control does not remember per-application (technically, per-process-name) volume, resetting it to maximum if you relaunch the process, and even if the SAME process restarts an audio stream. This completely negates the whole idea of per-app volume control. Imagine you listen to a bunch of files with "mplayer *", as you adjust mplayer volume with pavucontrol, the next song mplayer plays is again played at 100% per-app volume, and so it resets it for each new song, even though the same mplayer process has been playing song after song all along. I don't know how they could have missed THAT, can only hope it is a bug, not a "feature". 3. GUI seems better, but a bit unpolished - specifically some icons have the "grey" style, while some others remain "carneval" style. This is not a regression really, grey icons are better than the previous ones, just pity not all icons are grey for the theme. 4. The whole GDM is just bollocks. The boot process is faster than 9.04, kernel including (probably just tuned on a feature/need base), however once GDM starts it complements for the time gained with its slow setup. The image is also somewhat out of place, seems like a kid designed it in Photoshop in 5 minutes. Also, I cannot find a way to remove it with GUI (did not yet bother using the command line for that) - the default GDM screen is not really what I would consider for a productive developer. In fact I would instead prefer to login to my X desktop from terminal instead. Can't see how extra 10 seconds of GUI balooney are good for me. 5. Can't yet decide on this, but it SEEMS that the ondemand governor is either more aggressive, or the system hides the true CPU usage (which affects the governor). From the settings I can see that it is supposed to max the speed once usage exceeds 95%, but in reality I can check that it jumps to max speed once the usage reaches 25%. That does not look correct to me, and I have read the PDF on how it works:-) May be I am missing something... 6. Again, Canonical seems to forget laptop users. There are more processes, daemons mostly, that each contributes to more wattage being drawn. In their search for more software abstraction, the real resources are neglected, and so I can see about 25 CPU wakeups per second compared to 2 with 9.04. 7. No longer possible to disable polling of removable media (something not good for laptops since it keeps the CPU awake to poll whether media has been inserted). "hal-disable-polling --device=/dev/cdrom" no longer seems to have the effect it did.
The rest is so far been really pleasant experience. The Disk Utility is nice, it monitors the hard drive health with pretty extensive information presented.
What an idiotic quote from the article. First of all it is not "inventing" the gun wobbling, sooner or later any sensible developer and/or artist who wants a reality like feel to him game would have done that. Granted, id software were much more visionary than what was normal back in Dooms days.
Also, it is equally stupid to slash id for not providing a story. To me that was what was great about Doom, it just threw you into that world, without explaining it all that much. That is another side of the "reality simulation" bandwagon which id created - they wanted to get away from all the explaining and mimicking and come closer to the real thing. Of course, in retrospekt, we can see that Doom is not much of a "real thing", but when I was 14 and saw it running on a 15" screen of a 486DX machine, it looked as real as Crysis trailer did two years ago. The article author has probably gone soft from all the manuals and storybooks he has read, now he cannot even understand the point of not supplying one.
PulseAudio has been working like a dream on my Thinkpad T43/Ubuntu 9.04, and I really appreciate its more modern level of audio control than the outdated inflexible "volume up/down" interface with which most of us have been living for 10 years already. In my opinion the features PulseAudio provides as a sound server outweigh most of its problems. Bashing it because it is unstable is not fair IMO. It is not like they slack off, they actually are working on it. Ok, so maybe PulseAudio IMPLEMENTATION is maligned, but the features are certainly welcome. After getting used to per-application volume controls and on-the-fly stream redirection, I dont really welcome going back to the stone ages of audio interfaces.
Funny how he calls lack of anonymity the "biggest security vulnerability of Internet" Who's security? It is that very anonymity that protects thousands of Internet users from being identified and dealt with by whoever has most interest in them - a much graver danger than simply getting a computer virus. People blogging anonymously from conflict areas under threat of government prosecution, hired media journalists exposing stuff that should be exposed for benefit of all - that kind of anonymity can mean the difference between living and dying.
True. I mean in the sense that it will evolve and its descendants will be used instead, which may or may not replicate exact email strategies as we know them know. But the fundamentals will stay, I do not debate that. Of course, time changes EVERYTHING. And I mean EVERYTHING. There is not a single thing that does not change.
Email will be with us a long long time from now. Not to say it will not expire, it eventually will, just not in near future. Society is structured as a pyramid of services, where services covering more use are layered on the bottom, supporting and being used by higher levels of services. Humans rely on several such base services - acquiring food, necessary common wealth, relationships & communicating, which are provided/made convenient by higher level services - snail mail (post offices), useful clothing etc. Email is another level on top of the level of computing - a basic human need to offload energy use to machines - a very basic abstraction of communication system, also meaning that it is many levels below such services as Facebook and whatever else similiar. You do not remove base service if you have your sanity in behold, and before you can definitely replace it with something equally powerful. Email is so simple and so basic it covers a lot of ground. This is the bottomline. Those who claim it will be replaced better have something equally simple and powerful or they simply have no idea how the world works, which is a whole different problem in itself - the kind of problem that makes you read more books, eat healthier and sometimes subscribe to therapy sessions.
If booted from a relatively modern (and hence a bit faster and bigger) USB stick, to a OpenBox-like lean&mean window manager, no bells and whistles, right down to an open browser session window, that would do it. It will probably boot orders of magnitude faster than their crapware-ridden Windows box anyway. In fact I think that will turn heads faster than Steve Ballmer throwing chairs.
I live in Norway, and can honestly say far from everybody here is fond of this.
Many criticize the committee for awarding a prize to a man that has not earned it (yet), merely planning. That is not really what prizes are given for. It is a political game though. They expect U.S. president to follow up on expectations after this prize and deliver - including saving the environment, limping economies dependent on U.S. far too much etc.
Can't say this justifies the committees decision. It seems people with power decided to use Nobels Peace Prize to advance their own schemes.
+1 on the proprietary comment. In my experience, you never know what kind of hardware you find in those, and chances are it would be something refusing to even be recognised by Linux kernel - a real pain in the butt. Ironically, since we are developers we should applaud possibilities to develop drivers for unrecognised hardware, but first not every dev is a kernel hacker, and second there are just too many variations of these hardware setups. Worst are cheap laptops which patch some known variations into variations that no longer are recognised.
I have once found a laptop which used the USB bus to control and connect its system fan. I remember thinking - "Way to save on expenses here!"
You do know your laptop has a second video card inside, right? An Intel GMA X4500, which is not that bad with 3D, and very suited for developing stuff anyway.
What planet do you live on? There is no such laptop in existence. For those of us living on this planet, re-plugging cables is a worthless job one has to do when moving with a laptop from desk to desk. There is no "automatically hooking" anything, in fact I have no idea what you COULD mean by that. The few wireless connections have so far been only working for WiFi and keyboard/mouse, certainly not for driving hi-definition displays et cetera.
The best developers laptop is a Thinkpad. End of discussion. There is a Thinkpad model for everyone, and they have the most open-source friendly hardware. There is not a single other manufacturer which provides similiar features in a package as appealing as a Thinkpad. As far as I am concerned, and I have tried to use everything from plastic-fantastic to Dells to expensive Vaios, there is only one option for a serious developer. A used Thinkpad T42, which is in my opinion made for developing software, is to be had for something like $200-$250. A new Thinkpad T400 costs $1000, and a T400s, its slimmer brother and IBM/Lenovos most expensive offering these days, is about $1300.
Actually they are just trash talking MS in the true spirit of corporate competition. It is like brushing teeth in the morning for them. You are not taken seriously as a competitor if you don't issue some form of short press conference where you can say how bad everything but your own products is.
The truth is, through my "fixing" of countless laptops ridden with Symantec products, I can honestly say, disregarding their security track record, I despise and resent their products as much as I ever could. Large, monolithic but with 10 services to get rid of, poorly uninstalling or not uninstalling at all, horrible user interfaces - at least Microsoft products are benign compared to Symantec, use FAR FEWER resources to the point where you don't notice them (but they still do the job), have usually quite well designed GUIs and remove themselves without question. Thing is, Microsoft has different divisions, and clearly divisions that work on Windows Defender, Windows OneCare Live, and now Windows Security Essentials are, by evidence, not the same division that work on builtin Windows security, although situation seems to be improving on the latter.
Symantec and those corporate benemoths have been preying on customer fear for malware, and feeding us crap for more than ten years now. There was once Peter Norton and his Norton Commander, ever since that it went downhill with all things related to him and his company. Symantec has a lot of fat around the waist now. And they are afraid Microsoft is onto them.
For fiftyeight grand the taxpayers could bought him services of an enjoyable prostitute for that same year. Or he could have bought his wife something really nice.
Pardon the slight scent of male chauvinism. Ordinarily, I would refrain from such comments, but the fact is it is true!
Fair enough. I don't actually have much against the pretty duct tape programmer boys, I just through my years of development experience have come to appreciate the theories of computer science, and how they MAY help us. Meta programming is a wonderful thing when it works, and so are threads and what not. I just resent the stubborness of many developers who for some higher reason refuse to f.e. switch to C++, even disregarding the fact that C++ is actually a subset of C, and since gcc can compile both, why not use it where it is due? Same goes for many theories many simply close their senses on and mumble their "lalalalala". I think we owe more to these theories - often their purpose is to liberate us from the dirty work. We just have to learn how to properly use them. I find nothing amazing in a guy who can write Netscape in C. Joel does, because Joel likes his company make money using cheapest possible labour, which excuses his motivation entirely and is understandable. We will not get very far though with the kind of attitude. Remember that while Joel and many corporate duct tapers type away their simplified code, this code they write is in turn supported by tools that had come by after years of extensive and refined research into things much deeper than "real artists ship" mantra suggests:-) We owe those researchers a lot. Of course there is space for both disciplines, but they complement each other, while Joel seems to be entirely focused on his Holy Grail of Commercial Software Development. I have been following his blog for a while now, and I have come to know his ways - he is a very practical man with a team to manage. I respect his ways, but am of a different camp myself.
Joel also mentioned duct tape programmers XOR'ing DWORD fields to fit in "next" and "prev" pointers of a linked list element. That kind of stuff really should not go into mission critical software, because it becomes just another component viable for debugging when things do not work as they are supposed to. Add to that the general attitude of duct tape programmers - "it has to appear to work" - mission critical stuff is REALLY not their field of expertise. The concepts of OOP and meta programming were INVENTED for the sake of proving theories before applying them in mission critical software. Duct tape programmers deal on a whole another level of reality - the "software has to ship" reality. Which is what Joel always stresses, being he is an IT boss himself. Simplicity is also orthogonal to complexity - NASA uses C indeed, because it is very easy to understand, but they are known to jump ship occasionally into C++ and other langugages, because they too get tired of constantly having to think like computers, which is what lower level languages like C force you to do, more so than C++ abstractions. A C++ program can be simple too, while it has more complex overall structure because of layers of abstractions it has. "Meta meta programming" is just wrong application of a perfectly valid and good concept. Just because most programmers struggle with it, does not make it less good. We need to learn more, that is all. Joel however does not have time for that. However, Joel does not (and perhaps should not?) design orbital guidance software.
As much as I would agree with you on the typical Google toolbar installation patterns, it is not Googles fault users have no patience to read anything that they are supposed to when dialog boxes are shown to them. I have personally witnessed how users install software, and they have no clue what they are doing, so saying that "most of them don't know how they got it" is saying nothing at all. We have not had good computer learning in schools, and this is the harvest. I am not saying reading EULAs is a good thing, I am for moderate user interfaces, but then we either forbid third party product installations by law - so that users can click "Install, no questions asked" button without worrying about anything, or we teach them how important it is to actually read dialog boxes. Trouble is, we developers have abused dialog boxes for so long, it is no wonder users have no confidence nor patience to read them anymore. It is like asking them to read commercials, they would honestly ask you "And why would I do that?!"
Makes sense in the sense that duct tape programmers may certainly be people to hire for developing GUIs. Ironically though, nothing gives software such a bad reputation as because of its GUI, and we have had bad GUIs for years. But I guess people working in health sector had years to complain and by now are used to it.
I have on several occasions peeked over the shoulder of various doctors and nurses as they used their software, and have on all occasions noticed how ugly the GUI looked and behaved.
I would have to also argue that sometimes a GUI glitch can be fatal to a patient. A button performing a different function that it is expected to perform. After all, a GUI is just an interface, what if somebody swapped the labels for the buttons on a life support machine?;-) You cannot rush out medical software, IMO. It should be done when it is done. Before it's done, its predecessor should be used.
The next big thing will be when they will finally make computers work more for people than the other way around.
He was being sarcastic
By your logic, shouldn't we then give longer sentences to minors driving cars illegaly and getting into accidents compared to regular drivers getting into the same kind of accidents while posessing a legal driving license? Same thing, if you ask me. Point is justice does not punish the dangerous more, it punishes by trying to be JUST, in most respects. Like cutting some slack to someone less able to restrain him/herself from commiting a murder if it's in his/her genes, because he would have to put less energy to do so, contra a person who is not predisposed like that and will put more energy to commit the same act. Justice is supposed to both prevent other potential criminals from contemplating the same action, and at the same time instill them with hope in the "right thing" by showing them that they are tried with the best of judgement, and not merely lynched by a bunch of radicals. That is why it is called justice, and usually depicted as a blindfolded lady holding weights in each hand. That is why it is so hard to get right I think - it sounds like quite an ideology and a bit of an utopia.
I have been running 9.10 release since hours before it was released to public (downloaded by BitTorrent).
It seems really snappy, noticeably snappier than 9.04, especially with X graphics and hence Firefox page rendering and scrolling.
However, for some strange reason, there are regressions:
1. The average temperature is 3 degrees higher for most of the hardware sensors including the CPU. Hence the fan ups the speed a pulse-width-modulation notch, which makes for a more audible system, even for a quiet Thinkpad laptop like mine. :-) May be I am missing something...
2. PulseAudio volume control does not remember per-application (technically, per-process-name) volume, resetting it to maximum if you relaunch the process, and even if the SAME process restarts an audio stream. This completely negates the whole idea of per-app volume control. Imagine you listen to a bunch of files with "mplayer *", as you adjust mplayer volume with pavucontrol, the next song mplayer plays is again played at 100% per-app volume, and so it resets it for each new song, even though the same mplayer process has been playing song after song all along. I don't know how they could have missed THAT, can only hope it is a bug, not a "feature".
3. GUI seems better, but a bit unpolished - specifically some icons have the "grey" style, while some others remain "carneval" style. This is not a regression really, grey icons are better than the previous ones, just pity not all icons are grey for the theme.
4. The whole GDM is just bollocks. The boot process is faster than 9.04, kernel including (probably just tuned on a feature/need base), however once GDM starts it complements for the time gained with its slow setup. The image is also somewhat out of place, seems like a kid designed it in Photoshop in 5 minutes. Also, I cannot find a way to remove it with GUI (did not yet bother using the command line for that) - the default GDM screen is not really what I would consider for a productive developer. In fact I would instead prefer to login to my X desktop from terminal instead. Can't see how extra 10 seconds of GUI balooney are good for me.
5. Can't yet decide on this, but it SEEMS that the ondemand governor is either more aggressive, or the system hides the true CPU usage (which affects the governor). From the settings I can see that it is supposed to max the speed once usage exceeds 95%, but in reality I can check that it jumps to max speed once the usage reaches 25%. That does not look correct to me, and I have read the PDF on how it works
6. Again, Canonical seems to forget laptop users. There are more processes, daemons mostly, that each contributes to more wattage being drawn. In their search for more software abstraction, the real resources are neglected, and so I can see about 25 CPU wakeups per second compared to 2 with 9.04.
7. No longer possible to disable polling of removable media (something not good for laptops since it keeps the CPU awake to poll whether media has been inserted). "hal-disable-polling --device=/dev/cdrom" no longer seems to have the effect it did.
The rest is so far been really pleasant experience. The Disk Utility is nice, it monitors the hard drive health with pretty extensive information presented.
If it is not compulsory for phone manufacturers to include it, what is the point of approving it?
I heard that VASIMR plasma engine cuts the trip time to 40 days. Those poor volunteers :-)
What an idiotic quote from the article. First of all it is not "inventing" the gun wobbling, sooner or later any sensible developer and/or artist who wants a reality like feel to him game would have done that. Granted, id software were much more visionary than what was normal back in Dooms days.
Also, it is equally stupid to slash id for not providing a story. To me that was what was great about Doom, it just threw you into that world, without explaining it all that much. That is another side of the "reality simulation" bandwagon which id created - they wanted to get away from all the explaining and mimicking and come closer to the real thing. Of course, in retrospekt, we can see that Doom is not much of a "real thing", but when I was 14 and saw it running on a 15" screen of a 486DX machine, it looked as real as Crysis trailer did two years ago. The article author has probably gone soft from all the manuals and storybooks he has read, now he cannot even understand the point of not supplying one.
PulseAudio has been working like a dream on my Thinkpad T43/Ubuntu 9.04, and I really appreciate its more modern level of audio control than the outdated inflexible "volume up/down" interface with which most of us have been living for 10 years already. In my opinion the features PulseAudio provides as a sound server outweigh most of its problems. Bashing it because it is unstable is not fair IMO. It is not like they slack off, they actually are working on it. Ok, so maybe PulseAudio IMPLEMENTATION is maligned, but the features are certainly welcome. After getting used to per-application volume controls and on-the-fly stream redirection, I dont really welcome going back to the stone ages of audio interfaces.
Funny how he calls lack of anonymity the "biggest security vulnerability of Internet" Who's security? It is that very anonymity that protects thousands of Internet users from being identified and dealt with by whoever has most interest in them - a much graver danger than simply getting a computer virus. People blogging anonymously from conflict areas under threat of government prosecution, hired media journalists exposing stuff that should be exposed for benefit of all - that kind of anonymity can mean the difference between living and dying.
machina ex Deus :-)
Governments usually have the power to enforce such switch, convenient at first or not.
True. I mean in the sense that it will evolve and its descendants will be used instead, which may or may not replicate exact email strategies as we know them know. But the fundamentals will stay, I do not debate that. Of course, time changes EVERYTHING. And I mean EVERYTHING. There is not a single thing that does not change.
Email will be with us a long long time from now. Not to say it will not expire, it eventually will, just not in near future. Society is structured as a pyramid of services, where services covering more use are layered on the bottom, supporting and being used by higher levels of services. Humans rely on several such base services - acquiring food, necessary common wealth, relationships & communicating, which are provided/made convenient by higher level services - snail mail (post offices), useful clothing etc. Email is another level on top of the level of computing - a basic human need to offload energy use to machines - a very basic abstraction of communication system, also meaning that it is many levels below such services as Facebook and whatever else similiar. You do not remove base service if you have your sanity in behold, and before you can definitely replace it with something equally powerful. Email is so simple and so basic it covers a lot of ground. This is the bottomline. Those who claim it will be replaced better have something equally simple and powerful or they simply have no idea how the world works, which is a whole different problem in itself - the kind of problem that makes you read more books, eat healthier and sometimes subscribe to therapy sessions.
If booted from a relatively modern (and hence a bit faster and bigger) USB stick, to a OpenBox-like lean&mean window manager, no bells and whistles, right down to an open browser session window, that would do it. It will probably boot orders of magnitude faster than their crapware-ridden Windows box anyway. In fact I think that will turn heads faster than Steve Ballmer throwing chairs.
I live in Norway, and can honestly say far from everybody here is fond of this.
Many criticize the committee for awarding a prize to a man that has not earned it (yet), merely planning. That is not really what prizes are given for. It is a political game though. They expect U.S. president to follow up on expectations after this prize and deliver - including saving the environment, limping economies dependent on U.S. far too much etc.
Can't say this justifies the committees decision. It seems people with power decided to use Nobels Peace Prize to advance their own schemes.
+1 on the proprietary comment. In my experience, you never know what kind of hardware you find in those, and chances are it would be something refusing to even be recognised by Linux kernel - a real pain in the butt. Ironically, since we are developers we should applaud possibilities to develop drivers for unrecognised hardware, but first not every dev is a kernel hacker, and second there are just too many variations of these hardware setups. Worst are cheap laptops which patch some known variations into variations that no longer are recognised.
I have once found a laptop which used the USB bus to control and connect its system fan. I remember thinking - "Way to save on expenses here!"
You do know your laptop has a second video card inside, right? An Intel GMA X4500, which is not that bad with 3D, and very suited for developing stuff anyway.
What planet do you live on? There is no such laptop in existence. For those of us living on this planet, re-plugging cables is a worthless job one has to do when moving with a laptop from desk to desk. There is no "automatically hooking" anything, in fact I have no idea what you COULD mean by that. The few wireless connections have so far been only working for WiFi and keyboard/mouse, certainly not for driving hi-definition displays et cetera.
The best developers laptop is a Thinkpad. End of discussion. There is a Thinkpad model for everyone, and they have the most open-source friendly hardware. There is not a single other manufacturer which provides similiar features in a package as appealing as a Thinkpad. As far as I am concerned, and I have tried to use everything from plastic-fantastic to Dells to expensive Vaios, there is only one option for a serious developer. A used Thinkpad T42, which is in my opinion made for developing software, is to be had for something like $200-$250. A new Thinkpad T400 costs $1000, and a T400s, its slimmer brother and IBM/Lenovos most expensive offering these days, is about $1300.
Actually they are just trash talking MS in the true spirit of corporate competition. It is like brushing teeth in the morning for them. You are not taken seriously as a competitor if you don't issue some form of short press conference where you can say how bad everything but your own products is.
The truth is, through my "fixing" of countless laptops ridden with Symantec products, I can honestly say, disregarding their security track record, I despise and resent their products as much as I ever could. Large, monolithic but with 10 services to get rid of, poorly uninstalling or not uninstalling at all, horrible user interfaces - at least Microsoft products are benign compared to Symantec, use FAR FEWER resources to the point where you don't notice them (but they still do the job), have usually quite well designed GUIs and remove themselves without question. Thing is, Microsoft has different divisions, and clearly divisions that work on Windows Defender, Windows OneCare Live, and now Windows Security Essentials are, by evidence, not the same division that work on builtin Windows security, although situation seems to be improving on the latter.
Symantec and those corporate benemoths have been preying on customer fear for malware, and feeding us crap for more than ten years now. There was once Peter Norton and his Norton Commander, ever since that it went downhill with all things related to him and his company. Symantec has a lot of fat around the waist now. And they are afraid Microsoft is onto them.
For fiftyeight grand the taxpayers could bought him services of an enjoyable prostitute for that same year. Or he could have bought his wife something really nice.
Pardon the slight scent of male chauvinism. Ordinarily, I would refrain from such comments, but the fact is it is true!
Fair enough. I don't actually have much against the pretty duct tape programmer boys, I just through my years of development experience have come to appreciate the theories of computer science, and how they MAY help us. Meta programming is a wonderful thing when it works, and so are threads and what not. I just resent the stubborness of many developers who for some higher reason refuse to f.e. switch to C++, even disregarding the fact that C++ is actually a subset of C, and since gcc can compile both, why not use it where it is due? Same goes for many theories many simply close their senses on and mumble their "lalalalala". I think we owe more to these theories - often their purpose is to liberate us from the dirty work. We just have to learn how to properly use them. I find nothing amazing in a guy who can write Netscape in C. Joel does, because Joel likes his company make money using cheapest possible labour, which excuses his motivation entirely and is understandable. We will not get very far though with the kind of attitude. Remember that while Joel and many corporate duct tapers type away their simplified code, this code they write is in turn supported by tools that had come by after years of extensive and refined research into things much deeper than "real artists ship" mantra suggests :-) We owe those researchers a lot. Of course there is space for both disciplines, but they complement each other, while Joel seems to be entirely focused on his Holy Grail of Commercial Software Development. I have been following his blog for a while now, and I have come to know his ways - he is a very practical man with a team to manage. I respect his ways, but am of a different camp myself.
Joel also mentioned duct tape programmers XOR'ing DWORD fields to fit in "next" and "prev" pointers of a linked list element. That kind of stuff really should not go into mission critical software, because it becomes just another component viable for debugging when things do not work as they are supposed to. Add to that the general attitude of duct tape programmers - "it has to appear to work" - mission critical stuff is REALLY not their field of expertise. The concepts of OOP and meta programming were INVENTED for the sake of proving theories before applying them in mission critical software. Duct tape programmers deal on a whole another level of reality - the "software has to ship" reality. Which is what Joel always stresses, being he is an IT boss himself. Simplicity is also orthogonal to complexity - NASA uses C indeed, because it is very easy to understand, but they are known to jump ship occasionally into C++ and other langugages, because they too get tired of constantly having to think like computers, which is what lower level languages like C force you to do, more so than C++ abstractions. A C++ program can be simple too, while it has more complex overall structure because of layers of abstractions it has. "Meta meta programming" is just wrong application of a perfectly valid and good concept. Just because most programmers struggle with it, does not make it less good. We need to learn more, that is all. Joel however does not have time for that. However, Joel does not (and perhaps should not?) design orbital guidance software.
As much as I would agree with you on the typical Google toolbar installation patterns, it is not Googles fault users have no patience to read anything that they are supposed to when dialog boxes are shown to them. I have personally witnessed how users install software, and they have no clue what they are doing, so saying that "most of them don't know how they got it" is saying nothing at all. We have not had good computer learning in schools, and this is the harvest. I am not saying reading EULAs is a good thing, I am for moderate user interfaces, but then we either forbid third party product installations by law - so that users can click "Install, no questions asked" button without worrying about anything, or we teach them how important it is to actually read dialog boxes. Trouble is, we developers have abused dialog boxes for so long, it is no wonder users have no confidence nor patience to read them anymore. It is like asking them to read commercials, they would honestly ask you "And why would I do that?!"
Makes sense in the sense that duct tape programmers may certainly be people to hire for developing GUIs. Ironically though, nothing gives software such a bad reputation as because of its GUI, and we have had bad GUIs for years. But I guess people working in health sector had years to complain and by now are used to it.
I have on several occasions peeked over the shoulder of various doctors and nurses as they used their software, and have on all occasions noticed how ugly the GUI looked and behaved.
I would have to also argue that sometimes a GUI glitch can be fatal to a patient. A button performing a different function that it is expected to perform. After all, a GUI is just an interface, what if somebody swapped the labels for the buttons on a life support machine? ;-) You cannot rush out medical software, IMO. It should be done when it is done. Before it's done, its predecessor should be used.