Instead of writing a message about why linux sucks, or why you suck, or why the hurd project sucks, or even why l4.sec sucks, I've decided to write a message about why I, myself suck.
I suck because I had such trouble in English 110 in college, and could barely manage a minimal course load that I might just barely get my BS/CS in time for my 32nd birthday(future tense). I suck because I didn't realize how vital it was to select a school that can, among many other things, process an application for graduation in less than six months. I suck because my social skills are so poor that I, somehow, inspired the moderator of #osdev on efnet, I think, to ban me for ten years. He was so spiteful towards me that he decided to kill my OS project by keeping me away from other OS developers where I might have gotten (and even shared!) useful information. Since I suck, he succeeded. =( I suck again because of my social skills because, at the time at least, the vast majority of the knowledge and skills you needed to write an OS were not written down anywhere. Instead it was part of an oral tradition that must be passed along in good (but not bad) colleges, and institutions where you can work only after you get a degree. I suck because I can't use the unix utility "find" at all without a textbook open in front of me. I suck because I can't use vi even with a textbook open in front of me (not that I'd want to). I suck because I spent hundreds of dollars at Kinkos thinking that if I printed out and read the manuals to things like GCC, LD and other utilities, I might actually know how to use them to produce (and use!) a new kernel. (I later learned that the best information is actually from the ELF specification itself and from a book that was published later called "linkers and loaders".) I suck because I spent hundreds of hours reading books about operating systems thinking I'd actually know how to develop one afterwards. In truth such books only cover a few of the trickier topics that might be important to more advanced systems. Essential details such as program loading and the interface between language and API calls was barely even mentioned. I suck because I was too lazy to read the source code and reverse engineer key details such as how libc interacted with the kernel API. I suck because I'm merely a human being and can't even read much less keep up with the (linux) kernel developer's mailing list where they seem to be in a race to keep the API as fluid as possible so that they can maintain an excuse not to document anything. I suck because I didn't work enough to get access to university libraries with books on how to allocate and manage heap memory. (search "memory management" at a local library and you get nothing but DOS howtos.) I suck because I'm a perfectionist who always codes to the best standards he knows how. Case in point, the book "the undocumented PC", That book is the best publicly available documentation (second only to the purple book, which I should have stolen from the closet at my high school), on how the legacy PC actually works. It is valid for all machines up to the 486DX33. However, the PCI architecture completely changed how computers were made and how drivers should be programmed. When I tried to obtain the spec, I was asked for $300. Similarly, the 8042 is a microcontroller. To properly understand how it works and should be programmed, you need the manual. I found one such manual -- for $200. You can get little crib sheets on-line but they only tell you what the code on it does, not how it actually works. I suck because I've been in a tight spot where there's the PC where everything's a mess and programmer's manuals are scarce, and the RISC world where everything costs ten times more than it should. I wanted a DEC Alpha ($11,000) I wanted a MIPS machine $5,000/motherboard. Or a Sparc? $5,000 -- All well out of a perpetual undergrad's income-bracket. I suck because I'm an AMD fanboi and Intel is the only vendor I know of which provides an actual manual with some of its motherborads. (Actually, my biggest fear is Intel becoming a total monopoly and slowing progress while charging monopoly rents...) I suck because I failed to find a solution to enough of my problems, at the same time, while I still had energy, to get *enough* done such that it might become a successful open source project. This is not to say that I didn't make pathetic attempts to start websites and mailing lists. But since I suck, none of these efforts passed muster without some real working software as a draw. I suck because I didn't realize soon enough that most of the "features" in an x86 CPU should be turned off in any given operating system design. I suck because when someone actually did explain something to me, say about C calling conventions. I should have taken notes because actual certified standards and reference data are unobtainable. Anyway, that's enough self-flagellation for today. =\ [don't forget to change the subject line if you decide to respond. ;)] -- New president: Here we go again... Chemistry.com: A total rip-off. Powers are not rights.
