I've seen behaviour like this caused by a dodgy USB device. A random process would spike and if you killed that, another one would spike in it's place. This was under windows XP. I tracked down the offending device by systematically removing things till the problem went away. Once it was removed there were no further problems. I'm guessing it was windows I/O system not coping well with the hardware problem.
Similarly, try going through any other things that might have changed around the time you started seeing the problem. The device in question also caused problems under Linux.
I've also seen exactly the opposite happen at one of my previous employers. Contractors did not count towards "headcount" but were "project expenses" and were largely immune to the layoffs that happened there.
Leave it on for any length of time and it'll leave it's adhesive behind. You only have to look at the marks of the floor of many studios and stages where it's been used to hold cables down to know just likely it is leave marks.
Most of what people use multiple inheritance for can be achieved by using multiple interfaces.
... and large amounts of tedious, error-prone and unnecessary work (re)implementing the same interface over and over again:-(
(or at least disguising another class as that interface).
Long long ago, in a different job, I used FrameMaker. It marked "InterLeaf" and "PageMaker" (competing DP software) as spelling mistakes and offered "FrameMaker" as the "correct" alternative. I believe that at least one of the other two also did this.
This wired story has a bit of history of the Xanadu project. Very good read. Xanadu must be one of the largest software disasters known to mandkind. Kind of quite sad really.
Being in the electronic publishing industry does however make some of the ideas behind xanadu quite interesting for me. Most the ideas were good. But good ideas are just the beginning.
RE: 2 I meant "cool" as in fashionable. This was bad word to use as it is ambigous.
RE: 3 I don't want to spend my time fighting the morons. Many of them will not listen and there is nothing that can be done about them. Also this is like holding back the tide. Reform one idiot and another fills their place. I want to get stuff done without seeing the people who are building on linux getting dragged down. Reforming people is not what I wanted to be doing.
The problem with this arguement is that there are serious technical problems with Linux.
I use linux becuase it is much easier for me to get work done in it than windows and MacOS (Scripting, not worry about crashes, generally much nicer to program under). For a long time I also used windows for certain tasks since it was there that I could get certain types of work done aswell (Word processing etc). Many of these things can now be done under linux and I use windows very little now.
Linux is technically better (but not in all areas). But that does not mean it is anywhere near ideal. It has a lot of baggage. It has faithfully cloned a heap of Unix's mistakes. A lot of things are hard or confusing. There are a lot of things that waste even a expert user's time. There are areas of serious bloat.
If something technically better comes along the technical people will start migrating.
Linux used to be a texhnical users operating system. People used it because the wanted to get work done. I started seriously using linux in 1994 and I have seen some major changes the user community. THere have been more and more people who use Linux because they think it's cool. A significant portion of these people are annoying pratts. We now have some really destructive OS advocates. People who flame. People who drown out technical stuff with dross. People who spend lots of time continually updating their systems and configuring their window managers and tool kits etc, but never actually do anything with the result.
These people will have a big part in driving away technical users.
The sheer volume also make community harder. The linux community used to be filled with intersting and like minded people. This is becmming less and less the case. When lots of ordinary users flood the OS the community will cease. Maybe in local areas with User's groups and certain projects.
It's not to happen in a big way for a while yet, but it's already happening in a small way. None seems to have thought about these implications of going commericial and going to normal users.
I was rather annoyed some time ago when installing some US made software on my home PC when the liscence basically prohibited people from a list of nationalities from using the software. At the time my flatmate was an Iranian and legally could not use this software. It was just a simple productivity tool, not something that could have terrorist application. My flatmate did not approve of the ruling theocracy etc (to the point of having left Iran to avoid it), was not living in Iran and was not in any way hostile to the USA. The computer was in a third country.
These things only exist to let a crooked politian in one (rather nationalistic and beligerant) country claim to be doing something about a problem (that the country partly caused). Depriving the Iranians of word processors and spread sheets isn't going to do a lot.
I have an former Iranian as a flatmate and from all accounts personal freedoms are much stronger than in Pro-American countries such as Saudi Arabia an Kuwait. Religious law is imposed much less streictly than either of the above countries to boot. Even so it was not enough for her and she left.
One of my lecturers at uni had a check from knuth framed on his wall. THey are apparently something of a status symbol amoungst TeX people and not many of them ever get cashed.
People tend to market "miracle cures" in this area. You can't really read fast and comprehend more. If someone trys to tell you that they can teach you to do this, beat them up and chase them away. They're a crook.
A lot of people promote speed reading couses to uni students and busy bussiness people. Usually they just teach you to skim read and a few little tricks. Sometime these are useful, sometimes they are a massive rip-off. Some people feel compelled to read everything thoroughly, in which case a course can help them break the habit.
The secret to speed reading the skim read. Pay attention to the headings. Read the first paragraph of each section and if it looks like it's not relevant, skim forward. Read the first sentance of each paragraph and watch for keywords that are relevant to you (but not too hard). You will not comprehend anywhere near as much. But that's not really the point.
The real trick is to pick the style of reading that is appropriate for the situation. Skim reading a technical book will give you an overview of that book and make it easier to come back to bits you need later (especially if you use labeled bookmarks;-) or find the bits you need now. When you need to actually understand something in detail you will want to read it more slowly and carefully. If it's difficult it may need repeated, slow, careful readings and taking notes (trust me it can really help) etc.
Of course, you don't want to "speed read" stuff like novels where the the point is to spend time doing something fulfilling.
This takes an analogy that is somewhat forced and then tries to draw conclusions based on it. This is a fatal flaw in the articles's arguement.
The open source as a mosaic does not make sense from an art point of view. Great works of art usually have one point of conception, one vision and one direction even when other people help the artist. This is anything but true of open source software. Many disparate groups of programmers with different objectives and different levels of experience. Open source systems grow and evolve. (Evolution would have been a much better analogy BTW). Really beautiful apps are usually the creation on one or a very small group of skilled and experienced programmers.
At the end of the day, the art analogy is a feel-good thing. We can get the same feeling from creative programming as we can get from art. (trust me - I do both). But taking the analogy further is inappropriate. People are more productive when they are enjoying themselves. But they are not necessarily being more artistic (several times I have got the source for something, looked at it with an eye to adding to it and given up becuase it was so ugly. Much "hacker" code is incredibly ugly and difficult to work with - even though the hacker probably enjoyed himself writing it.) Only the big projects get fixed by other people.
Commercial and free code
Commercial code can be very elegant and free soft ware can be very user friendly. These are massive and inaccurate generalisations based on the flawed logic of taking an analogy too far. Elegant design has major commercial advantages (massive reduction in costs) and the beauty of a user friendly design (not to mention scratching the itch) can be a huge motivation for a developer. I suspect the author may have also made the classic mistake of equating ease of use with how quickly an idiot can pick things up. Ease of use is more fundamental and affects all skill levels of users. May OSS projects have a lot of power user easy-of-use features. They do tend to lack novice user support features. But many of them are written for a particular type of user and use. There is nothing wrong with that.
C++ and C
The C++ v C problem is a real weakness in open source. An artist must learn the abilities of all their tools and build their skills, learn various techniques and study the various schools of style. The decision to limit a project to C (and thereby horribly limit your design and ability to do things) is akin to Leonardo DaVinci drawing the Mona Lisa in crayon because the apprentice who was helping him thought oil paint was too tricky. This attitude is insulting to real programmers (and disenfrancises them) and is about as anti-art as you can get. C++ is a far, far more artistic language that C. It give you so much more room to work and the ability to work quicker. Good toolkits are important as well. (Another analogy is that it is harder create a great masterpieces when you have to spend most of your time making the canvas, the brushes and the paint.)
(Someone is bound to come up with "but you can program in an object oriented way with C" or "You can write a C++ wrapper object for a C library". These are just excuses. You still lose a lot. You still have to do extra boring work.)
Having said all that I'm not a huge fan of C++. But I would use it anyday over C (for a major project). Becuase I'm want to create something rather than program in C. Python, now that is an artistic language;-) (and easy to understand for the lamers too). Sometimes C++ is the right tool for the job and I'm not going to use C for the benefit of some lamer.
Final Quibble
At the start the author states that he has not done any research. I don't think it was appropriate to have posted his article to a public forum until he had at least read ESR's stuff.
The whole thing is written in microsoft word and then "save as html"ed. THe author is clueless enough to belive microsofts claim that word supports HTML. It doesn't. You will notice that his numbered lists, have all the points as "1." and his tables don't work either.
Where do you get Tux toys?
on
Tux Adventures
·
· Score: 1
Since this is a.au site are they available down under? Or were they got in from overseas? If they are available in.au, how much do they cost?
Patententing obvious ideas should 1/ be stopped at patent agencies. THese mistakes should be instant firing offences for the guilty officers (and be investigated for corruption). 2/ Registering a patent that is obvious or has obvious prior art ahould be treated as the fruad it is and land people in gaol.
A good place to start here is to refer you to The Unix Haters Handbook which was compilled by Simson Garfinkel, Daniel Weise and Steven Strassman. Published by Programmer's Press/IDG Books in 1994. ISBN 1-56884-203-1. While some of it's complaints are about old version of unix and some are just nitpicking, there are a lot of valid points in there. Every serious unix user should read it. Here is a web page with some little excepts. It also has a link to some stuff with the blinking cursor thing.
I did have some good bookmarks here that would been good to include here, however I can't seem to find them. If you look arround the net you might find some of them. The sites are still probably out there. One site that occassionly has interesting unix problems is the Risks Digest. Occasionally security sites have stuff like this too.
Some quick points. There a lot more than I've got here and some things may be open to taste and religion. Other people have done a much better job than I'm doing here. Much of unix was written as series of quick and dirty hacks that worked for the simple case but does does not scale to the general case. Any way - some points
A lot of the programs that come with it are inconsistent, they take different flags, take their input and output through different means, etc. This can be a real killer on occasion when you accidentally use the wrong flag and trash something. It also make using them more work, since you have to learn all the different flags and behaviours. Some programs even interperet them differently ie "foo -bar" may be the same as "foo -b -a -r" or it may be different. The pieces just don't always fit together.
The unix shells intercept and expand all sorts of things like "*" and "~" rather than just passing them through to programs and letting them deal with it. (Really simple example: "rm *.o" -- "do you really want to remove all files?". You can't do this. This may seem like it's not all that important but there can be times when you really want to do it. Also if you want pass stuff like this down to say a lower shell script using say $1, then it's too late. Unless you make the user put quotes arround it. But then quotes get removed and it gets expanded at the next step if you not careful. and so on. All this is assuming that there are not so many files in a directory that your shell can't cope with the size of the strings produced when * is evaluated)
Shells are a bastard crossbreed of command interperter and scripting language. And don't do a great job of either. Fortunately Larry Wall and Guido van Rossum wrote Perl and Python;-)
Relics like man (1) persist even though they suck for what they are supposed to do.
BSD v System V incompatabilities.
Really, really, inflexible file access control system. (ie rwxr-x--- type stuff). Sure it's easy to implement but there is just so much stuff you can't do. For example: people in group "coders" and group "testers" have access to this directory without having to make a new group "codersandtesters". Even windows NT has ACL's.
Core files. Yeah, I really wanted a 20MB core file from an application that I an not devolping and don't even have the source code for. Unix treats everyone as if they are a developer.
X windows, where widget chaos reigns. Different programs behave differently and "mode confusion" is a matter of course. And soooo much of it is ugly and tricky to use. GNOME and KDE may help, but there will always be apps that are exceptions.
It's mostly built on C which is another area of serious brain damage (and is also talked about in the haters book). A lot of the standard libraries have serious safety problems.
Curses and termcap/terminfo. Basically this involves moving the terminal driver into the application rather than having the operating system do it for you. Ditto for graphics. There should not be a program that is directly accessing the hardware (and thus can screw your whole machine if is crashes). GGI/KGI are fixing that.
Unix style file systems including ext2 can be incredibly fragile. I had a flaky hard disk controller. Under windows individual files got corrupted. Under linux huge chunks of the file system failed. Sometimes fsck was like pouring petrol on a fire. (It did teach me to back up regularly;-)
So many people don't even think about these things. Often they don't know anything else. There are some really cool things done under things like the Amiga etc, that are next to impossible under linux. But people who haven't used (or read about) these features don't miss them. I used the Mac a lot and while they were not power-user friendly they did have some features that I really miss. But by the same token there are a lot of cool things you can do under linux that you can't do under other operating systems. And for me the cool things you can do under linux outweigh the other systems and better enable me to do the things that I want to do. I would just like a new OS that had all the good stuff and I don't have time and patience to write it.
I have been using linux since early 1994. I have already seen major changes. There seems to have been a major shift in the focus. When I started using linux I used it for a reason (I used Unix at Uni and need to be able to work at stuff at home). Linux with all it's crap provided a much better working environment than windows 3.11. I also bought Windows 95 and MS Office 95. This was the right decision. I have no problem saying that. I was using LaTeX to write my reports etc and even as an experienced user with my own customised macros it still cost me a lot of time. Time that I could not afford. Using windows and a word processor saved me as much as 50% in terms of time. And since time is money it paid off quickly. I did it all because I wanted to get stuff done. I didn't do it because it was fashionable or becuase I wanted to be cool. Most people who used linux in those days were the same. Linux was a get-things-done OS. News Groups were filled with other people doing things for reasons. (This is not to say that many -- including myself -- didn't enjoy the challenge of learning and using Linux.) That Linux seems to have been pushed aside.
The new order
These days linux has a different personality. There are hordes of people who run linux becuase it is cool. People are more driven by gimmicks and fashion. People spend all their times downloading, compiling and tweaking and no time actually doing anything. Their computer and their linux install is mearly a toy. These people flock to the latest gimmick and skew the development of stuff. There are now heaps of window managers that can be configured to look incredible but lack some basic usability functions. Newsgroups and other forums have gone to crap. They are filled with wankers who want to be more-geek-than-thou. You get more idiot politicians who carry on with everything-must-be-free without doing something about it. Developers/Web sites who try to give something back get flamed by these idiots. The respect and caring etc is being drowned out. Ditributions come out maith major and glaringly obvious bugs (like Red Hat 5.0 did) but with basic functional tool are not included. I found going from my trusted old slackware install to a new shiny glamourous Red Hat that there where heaps of glamour gimmicks but valuable tools had gone and I had to download and compile them separately. Gimmicks not functional tools sell CDs.
The upside is that this first flood has also brought more useful people, new and useful software and more knowledge. But it's not the same friendly, useful linux it always was.
The coming flood
The mainstreaming of linux is going to bring another flood. If you look at windows news groups you can see the people who will be joining us. The windows community that once existed is as good as dead. Even crappy shareware propgrams cost money. Newsgroups are filled with selfish idiots. There are hordes of slimy parasites who think they can get rich. People demand answers to questions that they could have answered with a minute's thought. Reading the manual is for losers. People talk as if they know stuff when they don't.
These people are coming. I don't know how we will cope. The differences in direction that exist now will be amplified. Therre may need to different distributions for different groups. Debian for people who develop, Red Hat for the common public, Caldera for business and MS Visual Linux for losers. I can see some of the hard core geeks jumping ship to quieter OS's (like the BSD's, Hurd and commercial alternatives). I don't know. The code is open. Linux can go it's different ways. There are advantages and disadvantages. If unity means hanging round with dickheads and using a crippled (but pretty) system count me out.
Linux Sucks
50 idiots will say it doesn't. If you doesn't think it does you don't know it well enough. (+ I wanted an attention grabbing heading;-) Many of it's users use it because it sucks less (including me). (Analogy time: Linux is like stepping in a dog turd. Windows is like tripping over and falling face down in a dog turd. It could be that somewhere exists with clean footpaths.) Linux's Unix heritage has tied it to a lot of brain damage. This compatibilty helps at times, but really sucks at other times. There are a lot of traps that get even experience users, lots of things that are inconsitent, lots of things that waste my valuable time. A major drawback with free software is a lot of it includes faithful replication of other people's mistakes. It would be nice to make a clean start and do things differently. I'm keeping my eye on a couple of alternatives, but don't really have the time to help.
After all, at the end of the day what matters to me is getting useful work done (even if "work" is ray tracing and Alife experiments). I should help out more though.
This is not really a cause for celebration. 7-9% failure rates for an incredibly primative test is far too high. That commercial vendors are even worse does not make it any better. This kind of stuff damages the reputation of *nix as a whole. If anything it should be a call to arms. It would be interesting to get the source code and see how it performs on an up-to-date linux system. I wish I had more time to do a bit of this sort of testing/fixing.
I've seen behaviour like this caused by a dodgy USB device. A random process would spike and if you killed that, another one would spike in it's place. This was under windows XP. I tracked down the offending device by systematically removing things till the problem went away. Once it was removed there were no further problems. I'm guessing it was windows I/O system not coping well with the hardware problem.
Similarly, try going through any other things that might have changed around the time you started seeing the problem. The device in question also caused problems under Linux.
I've also seen exactly the opposite happen at one of my previous employers. Contractors did not count towards "headcount" but were "project expenses" and were largely immune to the layoffs that happened there.
"leave no residue when peeled away"
Ha! I wish!
Leave it on for any length of time and it'll leave it's adhesive behind. You only have to look at the marks of the floor of many studios and stages where it's been used to hold cables down to know just likely it is leave marks.
Still incredibly useful stuff though...
Long long ago, in a different job, I used FrameMaker. It marked "InterLeaf" and "PageMaker" (competing DP software) as spelling mistakes and offered "FrameMaker" as the "correct" alternative. I believe that at least one of the other two also did this.
This wired story has a bit of history of the Xanadu project. Very good read. Xanadu must be one of the largest software disasters known to mandkind. Kind of quite sad really.
The Curse of Xanadu
Being in the electronic publishing industry does however make some of the ideas behind xanadu quite interesting for me. Most the ideas were good. But good ideas are just the beginning.
RE: 2
I meant "cool" as in fashionable. This was bad word to use as it is ambigous.
RE: 3
I don't want to spend my time fighting the morons. Many of them will not listen and there is nothing that can be done about them. Also this is like holding back the tide. Reform one idiot and another fills their place. I want to get stuff done without seeing the people who are building on linux getting dragged down. Reforming people is not what I wanted to be doing.
Mybe there is some scope for a project there.
RE: 2
I use linux becuase it is much easier for me to get work done in it than windows and MacOS (Scripting, not worry about crashes, generally much nicer to program under). For a long time I also used windows for certain tasks since it was there that I could get certain types of work done aswell (Word processing etc). Many of these things can now be done under linux and I use windows very little now.
Linux is technically better (but not in all areas). But that does not mean it is anywhere near ideal. It has a lot of baggage. It has faithfully cloned a heap of Unix's mistakes. A lot of things are hard or confusing. There are a lot of things that waste even a expert user's time. There are areas of serious bloat.
If something technically better comes along the technical people will start migrating.
These people will have a big part in driving away technical users.
It's not to happen in a big way for a while yet, but it's already happening in a small way. None seems to have thought about these implications of going commericial and going to normal users.
Given that the name in your signature is very much a male name it is slightly worrying that you *want* a skimpy black dress ;-)
I was rather annoyed some time ago when installing some US made software on my home PC when the liscence basically prohibited people from a list of nationalities from using the software. At the time my flatmate was an Iranian and legally could not use this software. It was just a simple productivity tool, not something that could have terrorist application. My flatmate did not approve of the ruling theocracy etc (to the point of having left Iran to avoid it), was not living in Iran and was not in any way hostile to the USA. The computer was in a third country.
These things only exist to let a crooked politian in one (rather nationalistic and beligerant) country claim to be doing something about a problem (that the country partly caused). Depriving the Iranians of word processors and spread sheets isn't going to do a lot.
Ugh
I have an former Iranian as a flatmate and from all accounts personal freedoms are much stronger than in Pro-American countries such as Saudi Arabia an Kuwait. Religious law is imposed much less streictly than either of the above countries to boot. Even so it was not enough for her and she left.
One of my lecturers at uni had a check from knuth framed on his wall. THey are apparently something of a status symbol amoungst TeX people and not many of them ever get cashed.
People tend to market "miracle cures" in this area. You can't really read fast and comprehend more. If someone trys to tell you that they can teach you to do this, beat them up and chase them away. They're a crook.
;-) or find the bits you need now. When you need to actually understand something in detail you will want to read it more slowly and carefully. If it's difficult it may need repeated, slow, careful readings and taking notes (trust me it can really help) etc.
A lot of people promote speed reading couses to uni students and busy bussiness people. Usually they just teach you to skim read and a few little tricks. Sometime these are useful, sometimes they are a massive rip-off. Some people feel compelled to read everything thoroughly, in which case a course can help them break the habit.
The secret to speed reading the skim read. Pay attention to the headings. Read the first paragraph of each section and if it looks like it's not relevant, skim forward. Read the first sentance of each paragraph and watch for keywords that are relevant to you (but not too hard). You will not comprehend anywhere near as much. But that's not really the point.
The real trick is to pick the style of reading that is appropriate for the situation. Skim reading a technical book will give you an overview of that book and make it easier to come back to bits you need later (especially if you use labeled bookmarks
Of course, you don't want to "speed read" stuff like novels where the the point is to spend time doing something fulfilling.
This takes an analogy that is somewhat forced and then tries to draw conclusions based on it. This is a fatal flaw in the articles's arguement.
The open source as a mosaic does not make sense from an art point of view. Great works of art usually have one point of conception, one vision and one direction even when other people help the artist. This is anything but true of open source software. Many disparate groups of programmers with different objectives and different levels of experience. Open source systems grow and evolve. (Evolution would have been a much better analogy BTW). Really beautiful apps are usually the creation on one or a very small group of skilled and experienced programmers.
At the end of the day, the art analogy is a feel-good thing. We can get the same feeling from creative programming as we can get from art. (trust me - I do both). But taking the analogy further is inappropriate. People are more productive when they are enjoying themselves. But they are not necessarily being more artistic (several times I have got the source for something, looked at it with an eye to adding to it and given up becuase it was so ugly. Much "hacker" code is incredibly ugly and difficult to work with - even though the hacker probably enjoyed himself writing it.) Only the big projects get fixed by other people.
Commercial and free code
Commercial code can be very elegant and free soft ware can be very user friendly. These are massive and inaccurate generalisations based on the flawed logic of taking an analogy too far. Elegant design has major commercial advantages (massive reduction in costs) and the beauty of a user friendly design (not to mention scratching the itch) can be a huge motivation for a developer. I suspect the author may have also made the classic mistake of equating ease of use with how quickly an idiot can pick things up. Ease of use is more fundamental and affects all skill levels of users. May OSS projects have a lot of power user easy-of-use features. They do tend to lack novice user support features. But many of them are written for a particular type of user and use. There is nothing wrong with that.
C++ and C
The C++ v C problem is a real weakness in open source. An artist must learn the abilities of all their tools and build their skills, learn various techniques and study the various schools of style. The decision to limit a project to C (and thereby horribly limit your design and ability to do things) is akin to Leonardo DaVinci drawing the Mona Lisa in crayon because the apprentice who was helping him thought oil paint was too tricky. This attitude is insulting to real programmers (and disenfrancises them) and is about as anti-art as you can get. C++ is a far, far more artistic language that C. It give you so much more room to work and the ability to work quicker. Good toolkits are important as well. (Another analogy is that it is harder create a great masterpieces when you have to spend most of your time making the canvas, the brushes and the paint.)
(Someone is bound to come up with "but you can program in an object oriented way with C" or "You can write a C++ wrapper object for a C library". These are just excuses. You still lose a lot. You still have to do extra boring work.)
Having said all that I'm not a huge fan of C++. But I would use it anyday over C (for a major project). Becuase I'm want to create something rather than program in C. Python, now that is an artistic language ;-) (and easy to understand for the lamers too). Sometimes C++ is the right tool for the job and I'm not going to use C for the benefit of some lamer.
Final Quibble
At the start the author states that he has not done any research. I don't think it was appropriate to have posted his article to a public forum until he had at least read ESR's stuff.
The whole thing is written in microsoft word and then "save as html"ed. THe author is clueless enough to belive microsofts claim that word supports HTML. It doesn't. You will notice that his numbered lists, have all the points as "1." and his tables don't work either.
Since this is a .au site are they available down under? Or were they got in from overseas? If they are available in .au, how much do they cost?
Patententing obvious ideas should
1/ be stopped at patent agencies. THese mistakes should be instant firing offences for the guilty officers (and be investigated for corruption).
2/ Registering a patent that is obvious or has obvious prior art ahould be treated as the fruad it is and land people in gaol.
Scary for a home user bu nothing in the corporate scheme of things. ;-)
A good place to start here is to refer you to The Unix Haters Handbook which was compilled by Simson Garfinkel, Daniel Weise and Steven Strassman. Published by Programmer's Press/IDG Books in 1994. ISBN 1-56884-203-1. While some of it's complaints are about old version of unix and some are just nitpicking, there are a lot of valid points in there. Every serious unix user should read it. Here is a web page with some little excepts. It also has a link to some stuff with the blinking cursor thing.
I did have some good bookmarks here that would been good to include here, however I can't seem to find them. If you look arround the net you might find some of them. The sites are still probably out there. One site that occassionly has interesting unix problems is the Risks Digest. Occasionally security sites have stuff like this too.
Some quick points. There a lot more than I've got here and some things may be open to taste and religion. Other people have done a much better job than I'm doing here. Much of unix was written as series of quick and dirty hacks that worked for the simple case but does does not scale to the general case. Any way - some points
- A lot of the programs that come with it are inconsistent, they take different flags, take their input and output through different means, etc. This can be a real killer on occasion when you accidentally use the wrong flag and trash something. It also make using them more work, since you have to learn all the different flags and behaviours. Some programs even interperet them differently ie "foo -bar" may be the same as "foo -b -a -r" or it may be different. The pieces just don't always fit together.
- The unix shells intercept and expand all sorts of things like "*" and "~" rather than just passing them through to programs and letting them deal with it. (Really simple example: "rm *
.o" -- "do you really want to remove all files?". You can't do this. This may seem like it's not all that important but there can be times when you really want to do it. Also if you want pass stuff like this down to say a lower shell script using say $1, then it's too late. Unless you make the user put quotes arround it. But then quotes get removed and it gets expanded at the next step if you not careful. and so on. All this is assuming that there are not so many files in a directory that your shell can't cope with the size of the strings produced when * is evaluated) - Shells are a bastard crossbreed of command interperter and scripting language. And don't do a great job of either. Fortunately Larry Wall and Guido van Rossum wrote Perl and Python
;-) - Relics like man (1) persist even though they suck for what they are supposed to do.
- BSD v System V incompatabilities.
- Really, really, inflexible file access control system. (ie rwxr-x--- type stuff). Sure it's easy to implement but there is just so much stuff you can't do. For example: people in group "coders" and group "testers" have access to this directory without having to make a new group "codersandtesters". Even windows NT has ACL's.
- Core files. Yeah, I really wanted a 20MB core file from an application that I an not devolping and don't even have the source code for. Unix treats everyone as if they are a developer.
- X windows, where widget chaos reigns. Different programs behave differently and "mode confusion" is a matter of course. And soooo much of it is ugly and tricky to use. GNOME and KDE may help, but there will always be apps that are exceptions.
- It's mostly built on C which is another area of serious brain damage (and is also talked about in the haters book). A lot of the standard libraries have serious safety problems.
- Curses and termcap/terminfo. Basically this involves moving the terminal driver into the application rather than having the operating system do it for you. Ditto for graphics. There should not be a program that is directly accessing the hardware (and thus can screw your whole machine if is crashes). GGI/KGI are fixing that.
- Unix style file systems including ext2 can be incredibly fragile. I had a flaky hard disk controller. Under windows individual files got corrupted. Under linux huge chunks of the file system failed. Sometimes fsck was like pouring petrol on a fire. (It did teach me to back up regularly
;-)
So many people don't even think about these things. Often they don't know anything else. There are some really cool things done under things like the Amiga etc, that are next to impossible under linux. But people who haven't used (or read about) these features don't miss them. I used the Mac a lot and while they were not power-user friendly they did have some features that I really miss. But by the same token there are a lot of cool things you can do under linux that you can't do under other operating systems. And for me the cool things you can do under linux outweigh the other systems and better enable me to do the things that I want to do. I would just like a new OS that had all the good stuff and I don't have time and patience to write it.An old-timer's perspective
I have been using linux since early 1994. I have already seen major changes. There seems to have been a major shift in the focus. When I started using linux I used it for a reason (I used Unix at Uni and need to be able to work at stuff at home). Linux with all it's crap provided a much better working environment than windows 3.11. I also bought Windows 95 and MS Office 95. This was the right decision. I have no problem saying that. I was using LaTeX to write my reports etc and even as an experienced user with my own customised macros it still cost me a lot of time. Time that I could not afford. Using windows and a word processor saved me as much as 50% in terms of time. And since time is money it paid off quickly. I did it all because I wanted to get stuff done. I didn't do it because it was fashionable or becuase I wanted to be cool. Most people who used linux in those days were the same. Linux was a get-things-done OS. News Groups were filled with other people doing things for reasons. (This is not to say that many -- including myself -- didn't enjoy the challenge of learning and using Linux.) That Linux seems to have been pushed aside.
The new order
These days linux has a different personality. There are hordes of people who run linux becuase it is cool. People are more driven by gimmicks and fashion. People spend all their times downloading, compiling and tweaking and no time actually doing anything. Their computer and their linux install is mearly a toy. These people flock to the latest gimmick and skew the development of stuff. There are now heaps of window managers that can be configured to look incredible but lack some basic usability functions. Newsgroups and other forums have gone to crap. They are filled with wankers who want to be more-geek-than-thou. You get more idiot politicians who carry on with everything-must-be-free without doing something about it. Developers/Web sites who try to give something back get flamed by these idiots. The respect and caring etc is being drowned out. Ditributions come out maith major and glaringly obvious bugs (like Red Hat 5.0 did) but with basic functional tool are not included. I found going from my trusted old slackware install to a new shiny glamourous Red Hat that there where heaps of glamour gimmicks but valuable tools had gone and I had to download and compile them separately. Gimmicks not functional tools sell CDs.
The upside is that this first flood has also brought more useful people, new and useful software and more knowledge. But it's not the same friendly, useful linux it always was.
The coming flood
The mainstreaming of linux is going to bring another flood. If you look at windows news groups you can see the people who will be joining us. The windows community that once existed is as good as dead. Even crappy shareware propgrams cost money. Newsgroups are filled with selfish idiots. There are hordes of slimy parasites who think they can get rich. People demand answers to questions that they could have answered with a minute's thought. Reading the manual is for losers. People talk as if they know stuff when they don't.
These people are coming. I don't know how we will cope. The differences in direction that exist now will be amplified. Therre may need to different distributions for different groups. Debian for people who develop, Red Hat for the common public, Caldera for business and MS Visual Linux for losers. I can see some of the hard core geeks jumping ship to quieter OS's (like the BSD's, Hurd and commercial alternatives). I don't know. The code is open. Linux can go it's different ways. There are advantages and disadvantages. If unity means hanging round with dickheads and using a crippled (but pretty) system count me out.
Linux Sucks
50 idiots will say it doesn't. If you doesn't think it does you don't know it well enough. (+ I wanted an attention grabbing heading ;-) Many of it's users use it because it sucks less (including me). (Analogy time: Linux is like stepping in a dog turd. Windows is like tripping over and falling face down in a dog turd. It could be that somewhere exists with clean footpaths.) Linux's Unix heritage has tied it to a lot of brain damage. This compatibilty helps at times, but really sucks at other times. There are a lot of traps that get even experience users, lots of things that are inconsitent, lots of things that waste my valuable time. A major drawback with free software is a lot of it includes faithful replication of other people's mistakes. It would be nice to make a clean start and do things differently. I'm keeping my eye on a couple of alternatives, but don't really have the time to help.
After all, at the end of the day what matters to me is getting useful work done (even if "work" is ray tracing and Alife experiments). I should help out more though.
I feel better now.
This is not really a cause for celebration. 7-9% failure rates for an incredibly primative test is far too high. That commercial vendors are even worse does not make it any better. This kind of stuff damages the reputation of *nix as a whole. If anything it should be a call to arms. It would be interesting to get the source code and see how
it performs on an up-to-date linux system. I wish I had more time to do a bit of this sort of testing/fixing.