No it isn't. It is trying to patent loading an operating system from a portable external drive, of any sort. They don't have some special "gizmo" that has some new way of loading an operating system. They are trying to patent loading any operating system from any portable external drive.
From the patent:
[0007] The prior art has attempted to solve these problems by booting the DOS operating system from an external storage device. This is not difficult, since the ROM BIOS of a computer typically already has the drivers stored that DOS needs for communicating with an external storage device. However, this approach is of limited use since DOS is no longer the most desirable operating system. Larger, more powerful operating systems, providing more convenient user interfaces, have been developed such as Windows 2000, Linux, Mac OS, Virtual Memory System (VMS), OS/400 and AIX. These operating systems have made DOS largely obsolete. However, the prior-art has no way of implementing these more powerful operating systems on an external storage device.
They aren't even telling the truth in the application! They're claiming that no one walks around with a Windows, MacOS or Linux bootable system on a USB memory drive, that such technology was only possible with DOS or some such nonsense until they came along and invented it. They aren't solving any problems in implementing a way to bootstrap an external drive, they are attempting to patent using already existing technologies in ways that are already being used.
Note that the filing date is April 2004! I "invented" parts of this around the time I bought an external hard drive for my Mac and loaded a "full" version of the OS onto it (one not customized for a specific model). You could boot any Mac with a SCSI interface (by the way: claim 20) with that hard drive. I "invented" some of the other claims the first time I heard about a USB flash drive and thought "I bet that sucker would boot Mac OS or Linux a lot faster than a Zip drive".
I thought maybe they might address a different issue: having a standard operating system, with a "personality" on a portable drive. I "invented" that right after I got my first Mac (actually, a Lisa running MacWorks); with all the customization options available, it seemed like it would be a nice feature to be able to load all your customizations onto a diskette, and whenever you sat down at a computer, stick in your diskette to temporarily load all your settings (while retaining location-specific settings). Sort of like a roaming profile, only on diskette you take with you.
They aren't even addressing issues such as having a flash drive that has multiple operating systems and/or multiple architecture support, allowing booting to the correct version (by having, e.g. a boot sector recognized by PC BIOS along with a boot partition recognized by Mac Open Firmware, and on the Mac give you a choice of booting Linux or Mac OS; with all three versions (PC Linux, Mac Linux, Mac OSX) and mounting the same home directory for the user.
Any live CD would infringe on all the primary claims of this patent.
Yup, even trying all the odd ways (opening in tab or opening in new window, going back and clicking on the Secunia non-pop-up-blocking link after opening the Citibank pop-up, etc.
Interestingly, after closing the Citibank pop-up and main window, if I turn off Pop-Up Blocking, I immediately get a new window with the Secunia spoof-content.
Head crashes on those disk packs made for lots of fun. Take the aluminum platters (the magnetic material is coated on it), and play dodge-the-leg-cleaving-disks down a long dimly-lit hallway. You send the disks skittering down the hall (vertically) with a back-flip. If it goes off course, it can bury itself in a wooden door frame an inch or so. The spinning keeps it mostly stable, but after it gets a bit bent up and battered it can take on "interesting" (i.e. "dangerous") characteristics.
The steel fire-doors were fairly resilient, but one platter managed to go right through the crack between the two doors, and left a pretty good dent in the radiator on the other side.
No, "potentially violates" means that a case could be made for infringement, but that it has never been tested in court, so it could very well NOT be an infringement as well. In addition, an untested patent has a fairly good chance of being overturned or limited. Patents that have been upheld in a court are much more dangerous.
Where Open Source has an advantage over Closed Source is that a patent holder who hasn't sued in a timely manner has much less of an excuse - with Closed Source, they aren't able to see how a program is implemented, so don't know that it violates their patent, and that's why they didn't sue earlier. Thus, a lack of patent holders suing over an Open Source product is a better indication of future safety than it would be in Closed Source.
The reason they don't charge a fee is that their agreements with the credit card companies prohibit it. The point is that it is OK to charge LESS than what you advertise for your price, but not to charge more for it. Those agreements also generally prohibit various other things, such as requiring a driver's license (or at least they did some time ago). Makes me want to challenge stores that require additional ID for using a CC.
You do see "convenience fees" charged for government collection of taxes and such - which I guess means that they negotiated with the credit card companies to be allowed to do that.
Wouldn't aggressively enforcing speed-limit laws (including officials, police who aren't flashing lights, etc) fairly quickly lead to a demand that speed-limit laws be changed to be reasonable?
That may limit the patent, but not knock it out. After all, the patent is on the implementation of IsNot in BASIC. This is obviously intended to prevent work-alike BASIC languages from being compatible. They really don't care if you create a macro in C to #define IsNot to !=.
Java by itself is prior art for almost all of the claims, except for naming an operator "IsNot", being BASIC, and having an operator that gives an error unless both operands are pointers. An object method probably doesn't qualify as an "operator", and I can't think offhand of a language where there's a pointer-specific not-equal operator, different from any other not-equal operator. So a few of the claims might not have clear prior art. They should still fail on obviousness. For example, there's an obvious parallel to "isa" and "isnota". Smalltalk has == and ~~ (vs. = and ~=) (Smalltalk might have difficulties with the "generate an error" claims, since everything in Smalltalk is a pointer reference).
Looking for the discussion of "isnot" in D, it looks like that was discussed earlier this year. It needs to be about two years earlier to be clear prior art for this one (filed May 2003).
I note that this is a standard Microsoft patent, wherein they patent the software method, then patent putting software that implements the method on a "computer readable medium".
TIPS stands for "Thousand Instructions Per Second". The Cyber CPU executed approximately One Million Instructions Per Second (MIPS), so the 10 TIPS limit was about 1% of a CPU. Of course, most empire players used background processing - no fixed limit on CPU time, but lower priority. I eventually made that the only mode allowed in empire after Dave Capron took to "cooling TIPS" all day to try to get an advantage (TIPS were averaged values, so if you spend several hours doing nothing, you could then spend an hour running at 3-4 times the normal limit, and you had higher than normal priority as well).
The term "autobreak" was what people used when they got no processing time because they were exceeding the limit. The term comes from the -break- command, which at one point was mandatory to execute before your timeslice got too long. Eventually, a mechanism was added to just do that automatically whenever your timeslice was over, and that was called auto-break.
Except the businesses are there by the grace of the community. Why shouldn't the community have the right to determine which businesses have the right to the limited amount of space available? After all, if the business doesn't like it, they can just go somewhere else, right?
Why on earth would anyone go along with this? Because you save money. It's the same hook that GPL software uses right now - you give up some ability to lock competitors out in exchange for much lower development costs. A business model based on hurting your competitors is not as good as a business model based on improving your product and helping your customers.
There were several incarnations of moria. One was an infinite maze based on a hash of the current location, others were more limited (I think all were based on hashes, though - no data storage of the maze). The date was mid-late-70's The first one was an overhead view D&D game, at some point it became a 1st person (limited) view. There was another notable game written in the mid-70's called empire, which was the inspiration for nettrek.
The two primary 1st person 3-D dungeon games on PLATO were oubliette and avatar. Oubliette was the inspiration for Robert Woodhead's Wizardry. The author of oubliette, Jim Schwaiger, also wrote a PC version called Micro-Oubliette, but Wizardry was much more well known. Avatar was the inspiration for Mike Kulas, founder of Volition, to do game programming.
Empire and avatar are going strong on the PLATO revival system (last I checked, the Federation was kicking butt in empire), and you can also check out the original airfight, and possibly airsim might be restored by now (Brand, you out there? Contact me!). Airfight was the inspiration for Bruce Artwick to produce the original Apple II and IBM PC flight simulators (subLogic and BAO, now Microsoft).
Oh, come now. I've done a lot of programming in assembly with PDP-11, 8080, Cyber, 68K and Alpha - I saw the transition from 8080 to 8086 and beyond, and it wasn't until the 386 that they started to get anything right, and it still has a lot of garbage in it. 8080 was fun for an 8-bit inexpensive chip, but the IBM PC going the Intel route was a mistake, probably based on trying to stay close to the "standard" system, which was CP/M running on an 8080 or Z80. The 68K was so much better at the time, much reduced programmer hassle even in higher-level languages (remember FAR and NEAR and HUGE pointers? "Expanded" vs. "extended" memory?), and already a 32-bit architecture from the ISA side. The 68020 with an MMU and FPU was really a complete processor.
I haven't done anything significant in PPC, and I prefer the Alpha architecture to it, but it is still much cleaner than IA-32. I haven't looked at AMD-64, but from all I hear, it is a significant improvement, and I have to agree that the Opteron processors are damned fast.
Having worked a lot with both big- and little-endian processors (and processors with different character sizes than 8 bits, processors with different word sizes than power-of-two, processors without byte-addressable pointers), big-endian generally is less hassle. It simply matches better with (western, at least - reading characters and numbers left to right) expectations. The one advantage it might have is that if you have a small value in a long, but reference the pointer as a shorter type, you get the same value. That can also be considered a drawback - bugs are more quickly found if you get totally wrong values always instead of only when the value gets too large. It could also be done while retaining big-endian order by having a pointer always point to the LSB.
Of course, the PC architecture itself has always been a total mess, which is one reason I'd never switch to a PC running a Mac OS. If I needed a cheap machine, I suppose I'd get a PC and run Linux or *BSD on it. Not to say Apple hardware is always great - kludges abound, although from my experience, the clone makers (during their short run) managed to screw things up on their machines a lot more than Apple did.
Mac OSX on a $2000 G5 (plus about $500 to add an Airport card, 1GB RAM and 250GB disk) suits me fine right now, though. At least for the code that's important to me, it runs faster than anything I've tried other than an Opteron (code is 64-bit intensive). The Opteron smokes it, though - due in part, I'm pretty sure, to better optimization in gcc, but still...but how much does an equivalent Opteron machine cost (honest question - going name-brand, they appear to be more expensive, and I can't tell quality of the off-brand or parts route)?
Apple hasn't had "custom ROMs" since the iMac in 1998. Open Firmware is used to boot, but that has a well-documented interface, and open-source versions of it are being developed. I've always thought that an excellent boot-loader would be to first load OF, then use that to load anything else. Build in ext2 support into OF, make Linux use OF directly to boot, and things could be a lot more flexible. Then, turn it around - get PC makers to use OF as the boot ROM, and load a legacy OF boot loader for backwards operating systems like Windows (unless and until they finally come around and support it directly themselves).
A debian binary package file (.deb) is merely an ar archive, with three files in it: control.tar.gz, contains several files (all text), including dependencies, descriptions, md5sums, install/remove scripts; data.tar.gz contains the actual files in the distibution; and a text file with a version number in it (I believe it is the version of the format).
So here's a shell script for unpacking a binary.deb file, so you can manually install it:
#!/bin/sh set -e package=`basename $1.deb` dir=`dirname $1 | sed -e ":^\\./:$PWD/:"` mkdir $package; cd $package mkdir debian; cd debian ar -x $dir/$package.deb cd.. mkdir control; cd control tar -xzf../debian/control.tar.gz cd.. mkdir root; cd root tar -xzf../debian/data.tar.gz
and that's all you need to extract everything in a.deb binary package. Now you can go in, see what's what, look at the dependencies and installation scripts, manually move files to the right place.
A source package is just about the same, except you download the individual files (a text.dsc file (control information, md5 check, signed with PGP), a tar.gz file and a diff.gz file (if any)).
See, they listened to you and gave you exactly what you just asked for. Any other questions?
The only problem with MacOS is that Apple didn't move away from the globally-shared memory model as soon as virtual memory became available (with the Mac II, with an add-on MMU, or any later machines). Multifinder was a hack (a combination of Switcher and Finder Keeper, which were themselves hacks). It was, however, a hack that was technically superior to anything that Microsoft came out with for years.
I've never understood people who thought the Mac was "so hard to program" and "not possible to hack". It was eminently hackable - it was easy to get a copy of Macsbug and ResEdit to play around with anything you wanted to. It was "hard to program" because there were three volumes describing the programming model and interfaces (back when they were "library calling conventions", not APIs). Three whole volumes! About 6-8 inches of manuals! So much more difficult than programming for DOS (where every program had to support every printer; where each new graphics card standard had to support all the previous standards, because every program had its own graphics library; where you could use the built in almost-unusable serial chip to talk to your modem, or install a new one and hope your program knew how to use it).
My first Mac program, a graphical terminal program written on a Lisa using the Pascal Programmers Workshop and running on MacWorks, still works today. It doesn't handle system events quite right (can't launch a Desk Accessory from the Apple menu properly), and doesn't close the serial port quite right, but overall works pretty damned well for a program from 1983.
The memory model was quite elegant, overall, compared to the horror that was memory on a DOS/Windows machine. The major shortcoming was the fixed partition size an application allocated when it started. Another shortcoming was that Apple foolishly only used 24 out of 32 bits for pointers initially, which caused some headaches when memory sizes grew larger than 24 bits. Other than that, however, it was a 32-bit OS from the start, running on a 32-bit architecture (although only 16-bit in implementation). DOS, meanwhile, was using FAR, NEAR, GIGANTIC, HUMONGOUS, etc. pointers causing untold amounts of programmer woe, along with a whole bunch of design limitations that, to an extent, continue to cripple Wintel processors and operating systems to this day.
Yes, Apple was late to change over to a better OS, but MacOS didn't suck any more than Windows did (up until Windows NT and related versions). It just sucked differently.
The easiest way to get MacTCP before it was shipped with the OS was to get a copy of Eudora - the license from Apple allowed redistributing it with your application - no mention of whether the application was free for downloading. Technically, you weren't supposed to use that copy of MacTCP with anything but Eudora, but how you were supposed to enforce that, much less how the end user would practically do that, I don't know.
Before that, you used NCSA Telnet, which had a SLIP client built in, or a couple other alternatives. Or just used dial-up to a terminal server and used a multiplexing terminal program (MacLayers). Kermit for file up/downloading.
Of course no on on the jury would know anything about it. That would be disqualifying. You're not supposed to bring to a jury any previous knowledge, only use what you learn while on the jury. So naturally, there's no way they could make an informed decision. There's just no way they could learn enough about common practice in software to understand which expert witnesses are blowing smoke.
How much do you know about how the patent system works? Have you actually participated in any way in an actual patent challenge or lawsuit? I've helped provide prior-art evidence in two cases, and it doesn't matter how trivial or stupid the patent is, it can be a real problem trying to get judges or juries to understand why something should never have been patented in the first place. Sun just lost a patent case, which may cost it a billion dollars, and that patent is also one that shouldn't have been granted, or at least not applied to Java.
One patent, 4,449,182, filed for in 1981, issued in 1984, was used by DEC to lock anyone out of providing compatible peripherals to their systems (since the operating system used the patented "invention" to talk to all peripherals). Although we were able to provide matching prior art from 1979 to the company being sued, which caused DEC to drop the case (thus preserving their "we've never lost a patent case" claim), as far as I know the patent continued in effect until it expired normally. It still cost that company a lot of money, and probably kept other companies out of that market.
The other one was 4,624,462, which involved a bingo game (there are an amazing number of patents on bingo games). Although the original invention on the face of it isn't too bad, this patent was being interpreted as a software patent: the infringing device they were suing over was completely implemented in software, on normal PCs, using normal networked connections. This patent drove a company into bankruptcy, before finally being overturned. Clear prior art was ruled by a judge to not read on the patent because the prior art was implemented on a timesharing system (even though the program was implemented as multiple independent processes running on that timesharing system, communicating among each other using shared memory), and the patent was referring to multiple computers communicating in essentially the exact same way, only over a communications network.
5,206,951, 5,226,161, and 5,421,012, filed in 1991, 1992 and 1993 respectively. The second one they've "disclaimed" the portion of the term after April 27, 2010.
I don't see how Smalltalk isn't direct prior art for this, at least as it would apply to Java. These are, I believe, a good example of bad software patents that are becoming more and more common. You can't really figure out what exactly they're claiming, you have no idea what might infringe on it, it's so vague that you can't figure out what prior art might invalidate it, and once you do figure it out, you say "you can patent that?". It's like patenting "Ok, take an automobile, turn right and go around the block THREE times, not just TWO times like everyone has done in the past, THEN turn right on red without waiting for pedestrians." And then claiming that airplanes landing between 2AM and 3AM at airports without lights infringes on it, since they never wait for pedestrians, and they have a red light on the wing.
What hangs on a wall, is green, and whistles?
I give up. What hangs on a wall, is green, and whistles?
A HERRING!
A herring? It doesn't hang on a wall!
Well, you can put in a nail and hang it.
Ok, but it isn't green!
You can paint it green.
Ok, but whistles?
Oh, I just put that in to make it hard!
No, it isn't what drug is being sold that's important, it's how it is legal. How is it that certain patent-protected large-drug-company-controlled mood-altering drugs have been made legal, and non-patentable non-profitable mood-altering drugs are illegal? That one is legal and the other is not is a given. Why it should be that way is the question that emphasizes that corporations can get away with things that individuals can't, which was the point that was being made.
What's fun is that running those old assembly language programs on an emulator on a modern computer can be very very fast. We've recently brought up a PLATO system, running on an emulated Cyber (60-bit one's complement machine). On a 1.8GHz Opteron, on a not-very-optimized-for-speed emulator, the thing is about 8 times faster than the original system was in the mid-70's, and we were running about 500 people on a dual-mainframe system back then. PLATO is a time-sharing system that runs under NOS, and implements its own language (internally, a combination of pcode-like execution intermixed with natively-compiled expression evaluation). So, an emulated system running an interpreted language, and you should be able to run 800-1000 people on it on a $2,000 computer (RAM and disk space, of course, is totally beyond what was available back then). Highly optimized emulation of the Cyber architecture can run 2-8 times faster (at least) than that (e.g. 15-50 times faster than the original machines) on the faster Alpha machines, and (due to total neglect of the Alpha line) the Opteron processors appear even faster (except my static translator from Cyber to Alpha assembly code would need to be modified to target AMD64 instructions, instead).
Also, relevant to this story, is that PLATO was also "one of the first time sharing systems" with "one of the first electronic mail" facilities.
See the Cyber1 web site for more information about bringing up a PLATO system.
Patents cover making as well as using. However, I'm not quite sure how the GPL would handle the case of a patent holder giving a royalty free license to everyone to distribute, but not use, their "invention". The GPL doesn't say that you can't distribute unless the end user has the right to use the software - it only says that YOU may not further restrict their rights. If it's someone else restricting their rights to use it, but not restricting anyone's rights to distribute, I don't think the GPL prevents that.
Firewire is currently available as 800 Mbits/sec. It's defined up to 3200 Mbits/sec (400 MBytes/sec).
Firewire was standardized in 1995, and was much faster than ATA, USB, and SCSI. Although SCSI now is much faster, it has been relegated by marketing to the server market. SATA is not competitive with SCSI, it doesn't yet support the cabling requirements of servers, nor the speed of the fastest SCSI.
As Firewire is a competitor to ATA, SATA is clearly a competitor to Firewire. Firewire has all the cabling advantages of SATA (PLUS supports chaining and external connections with longer cables). Speed advantage currently goes to SATA, but as you point out, Firewire is fast enough for any consumer drive, and seems likely to keep up with hard drive speeds.
So, again, the primary advantage of SATA is that it is compatible with ATA, so no software changes are necessary. So again my question, why all these compatibility issues with supporting SATA? Otherwise, why SATA instead of Firewire? Why USB 2.0 instead of Firewire (USB 1.x is clearly more appropriate for low-speed devices)?
No it isn't. It is trying to patent loading an operating system from a portable external drive, of any sort. They don't have some special "gizmo" that has some new way of loading an operating system. They are trying to patent loading any operating system from any portable external drive.
From the patent:
They aren't even telling the truth in the application! They're claiming that no one walks around with a Windows, MacOS or Linux bootable system on a USB memory drive, that such technology was only possible with DOS or some such nonsense until they came along and invented it. They aren't solving any problems in implementing a way to bootstrap an external drive, they are attempting to patent using already existing technologies in ways that are already being used.Note that the filing date is April 2004! I "invented" parts of this around the time I bought an external hard drive for my Mac and loaded a "full" version of the OS onto it (one not customized for a specific model). You could boot any Mac with a SCSI interface (by the way: claim 20) with that hard drive. I "invented" some of the other claims the first time I heard about a USB flash drive and thought "I bet that sucker would boot Mac OS or Linux a lot faster than a Zip drive".
I thought maybe they might address a different issue: having a standard operating system, with a "personality" on a portable drive. I "invented" that right after I got my first Mac (actually, a Lisa running MacWorks); with all the customization options available, it seemed like it would be a nice feature to be able to load all your customizations onto a diskette, and whenever you sat down at a computer, stick in your diskette to temporarily load all your settings (while retaining location-specific settings). Sort of like a roaming profile, only on diskette you take with you.
They aren't even addressing issues such as having a flash drive that has multiple operating systems and/or multiple architecture support, allowing booting to the correct version (by having, e.g. a boot sector recognized by PC BIOS along with a boot partition recognized by Mac Open Firmware, and on the Mac give you a choice of booting Linux or Mac OS; with all three versions (PC Linux, Mac Linux, Mac OSX) and mounting the same home directory for the user.
Any live CD would infringe on all the primary claims of this patent.
Yup, even trying all the odd ways (opening in tab or opening in new window, going back and clicking on the Secunia non-pop-up-blocking link after opening the Citibank pop-up, etc.
Interestingly, after closing the Citibank pop-up and main window, if I turn off Pop-Up Blocking, I immediately get a new window with the Secunia spoof-content.
Head crashes on those disk packs made for lots of fun. Take the aluminum platters (the magnetic material is coated on it), and play dodge-the-leg-cleaving-disks down a long dimly-lit hallway. You send the disks skittering down the hall (vertically) with a back-flip. If it goes off course, it can bury itself in a wooden door frame an inch or so. The spinning keeps it mostly stable, but after it gets a bit bent up and battered it can take on "interesting" (i.e. "dangerous") characteristics.
The steel fire-doors were fairly resilient, but one platter managed to go right through the crack between the two doors, and left a pretty good dent in the radiator on the other side.
No, "potentially violates" means that a case could be made for infringement, but that it has never been tested in court, so it could very well NOT be an infringement as well. In addition, an untested patent has a fairly good chance of being overturned or limited. Patents that have been upheld in a court are much more dangerous.
Where Open Source has an advantage over Closed Source is that a patent holder who hasn't sued in a timely manner has much less of an excuse - with Closed Source, they aren't able to see how a program is implemented, so don't know that it violates their patent, and that's why they didn't sue earlier. Thus, a lack of patent holders suing over an Open Source product is a better indication of future safety than it would be in Closed Source.
The reason they don't charge a fee is that their agreements with the credit card companies prohibit it. The point is that it is OK to charge LESS than what you advertise for your price, but not to charge more for it. Those agreements also generally prohibit various other things, such as requiring a driver's license (or at least they did some time ago). Makes me want to challenge stores that require additional ID for using a CC.
You do see "convenience fees" charged for government collection of taxes and such - which I guess means that they negotiated with the credit card companies to be allowed to do that.
Wouldn't aggressively enforcing speed-limit laws (including officials, police who aren't flashing lights, etc) fairly quickly lead to a demand that speed-limit laws be changed to be reasonable?
That may limit the patent, but not knock it out. After all, the patent is on the implementation of IsNot in BASIC. This is obviously intended to prevent work-alike BASIC languages from being compatible. They really don't care if you create a macro in C to #define IsNot to !=.
Java by itself is prior art for almost all of the claims, except for naming an operator "IsNot", being BASIC, and having an operator that gives an error unless both operands are pointers. An object method probably doesn't qualify as an "operator", and I can't think offhand of a language where there's a pointer-specific not-equal operator, different from any other not-equal operator. So a few of the claims might not have clear prior art. They should still fail on obviousness. For example, there's an obvious parallel to "isa" and "isnota". Smalltalk has == and ~~ (vs. = and ~=) (Smalltalk might have difficulties with the "generate an error" claims, since everything in Smalltalk is a pointer reference).
Looking for the discussion of "isnot" in D, it looks like that was discussed earlier this year. It needs to be about two years earlier to be clear prior art for this one (filed May 2003).
I note that this is a standard Microsoft patent, wherein they patent the software method, then patent putting software that implements the method on a "computer readable medium".
TIPS stands for "Thousand Instructions Per Second". The Cyber CPU executed approximately One Million Instructions Per Second (MIPS), so the 10 TIPS limit was about 1% of a CPU. Of course, most empire players used background processing - no fixed limit on CPU time, but lower priority. I eventually made that the only mode allowed in empire after Dave Capron took to "cooling TIPS" all day to try to get an advantage (TIPS were averaged values, so if you spend several hours doing nothing, you could then spend an hour running at 3-4 times the normal limit, and you had higher than normal priority as well).
The term "autobreak" was what people used when they got no processing time because they were exceeding the limit. The term comes from the -break- command, which at one point was mandatory to execute before your timeslice got too long. Eventually, a mechanism was added to just do that automatically whenever your timeslice was over, and that was called auto-break.
Except the businesses are there by the grace of the community. Why shouldn't the community have the right to determine which businesses have the right to the limited amount of space available? After all, if the business doesn't like it, they can just go somewhere else, right?
Why on earth would anyone go along with this? Because you save money. It's the same hook that GPL software uses right now - you give up some ability to lock competitors out in exchange for much lower development costs. A business model based on hurting your competitors is not as good as a business model based on improving your product and helping your customers.
There were several incarnations of moria. One was an infinite maze based on a hash of the current location, others were more limited (I think all were based on hashes, though - no data storage of the maze). The date was mid-late-70's The first one was an overhead view D&D game, at some point it became a 1st person (limited) view. There was another notable game written in the mid-70's called empire, which was the inspiration for nettrek.
The two primary 1st person 3-D dungeon games on PLATO were oubliette and avatar. Oubliette was the inspiration for Robert Woodhead's Wizardry. The author of oubliette, Jim Schwaiger, also wrote a PC version called Micro-Oubliette, but Wizardry was much more well known. Avatar was the inspiration for Mike Kulas, founder of Volition, to do game programming.
Jim Bowery wrote what he believes is the 1st multi-player First Person Shooter game in early 1974, called spasim ("space sim" or "spasm").
Empire and avatar are going strong on the PLATO revival system (last I checked, the Federation was kicking butt in empire), and you can also check out the original airfight, and possibly airsim might be restored by now (Brand, you out there? Contact me!). Airfight was the inspiration for Bruce Artwick to produce the original Apple II and IBM PC flight simulators (subLogic and BAO, now Microsoft).
Don't forget that Hollywood got its start by being as far away as possible from Edison so he couldn't enforce his movie patents.
Or PLATO, at the University of Illinois and Control Data Corporation?
Oh, come now. I've done a lot of programming in assembly with PDP-11, 8080, Cyber, 68K and Alpha - I saw the transition from 8080 to 8086 and beyond, and it wasn't until the 386 that they started to get anything right, and it still has a lot of garbage in it. 8080 was fun for an 8-bit inexpensive chip, but the IBM PC going the Intel route was a mistake, probably based on trying to stay close to the "standard" system, which was CP/M running on an 8080 or Z80. The 68K was so much better at the time, much reduced programmer hassle even in higher-level languages (remember FAR and NEAR and HUGE pointers? "Expanded" vs. "extended" memory?), and already a 32-bit architecture from the ISA side. The 68020 with an MMU and FPU was really a complete processor.
I haven't done anything significant in PPC, and I prefer the Alpha architecture to it, but it is still much cleaner than IA-32. I haven't looked at AMD-64, but from all I hear, it is a significant improvement, and I have to agree that the Opteron processors are damned fast.
Having worked a lot with both big- and little-endian processors (and processors with different character sizes than 8 bits, processors with different word sizes than power-of-two, processors without byte-addressable pointers), big-endian generally is less hassle. It simply matches better with (western, at least - reading characters and numbers left to right) expectations. The one advantage it might have is that if you have a small value in a long, but reference the pointer as a shorter type, you get the same value. That can also be considered a drawback - bugs are more quickly found if you get totally wrong values always instead of only when the value gets too large. It could also be done while retaining big-endian order by having a pointer always point to the LSB.
Of course, the PC architecture itself has always been a total mess, which is one reason I'd never switch to a PC running a Mac OS. If I needed a cheap machine, I suppose I'd get a PC and run Linux or *BSD on it. Not to say Apple hardware is always great - kludges abound, although from my experience, the clone makers (during their short run) managed to screw things up on their machines a lot more than Apple did.
Mac OSX on a $2000 G5 (plus about $500 to add an Airport card, 1GB RAM and 250GB disk) suits me fine right now, though. At least for the code that's important to me, it runs faster than anything I've tried other than an Opteron (code is 64-bit intensive). The Opteron smokes it, though - due in part, I'm pretty sure, to better optimization in gcc, but still...but how much does an equivalent Opteron machine cost (honest question - going name-brand, they appear to be more expensive, and I can't tell quality of the off-brand or parts route)?
Apple hasn't had "custom ROMs" since the iMac in 1998. Open Firmware is used to boot, but that has a well-documented interface, and open-source versions of it are being developed. I've always thought that an excellent boot-loader would be to first load OF, then use that to load anything else. Build in ext2 support into OF, make Linux use OF directly to boot, and things could be a lot more flexible. Then, turn it around - get PC makers to use OF as the boot ROM, and load a legacy OF boot loader for backwards operating systems like Windows (unless and until they finally come around and support it directly themselves).
A debian binary package file (.deb) is merely an ar archive, with three files in it: control.tar.gz, contains several files (all text), including dependencies, descriptions, md5sums, install/remove scripts; data.tar.gz contains the actual files in the distibution; and a text file with a version number in it (I believe it is the version of the format).
So here's a shell script for unpacking a binary .deb file, so you can manually install it:
and that's all you need to extract everything in aA source package is just about the same, except you download the individual files (a text .dsc file (control information, md5 check, signed with PGP), a tar.gz file and a diff.gz file (if any)).
See, they listened to you and gave you exactly what you just asked for. Any other questions?
The only problem with MacOS is that Apple didn't move away from the globally-shared memory model as soon as virtual memory became available (with the Mac II, with an add-on MMU, or any later machines). Multifinder was a hack (a combination of Switcher and Finder Keeper, which were themselves hacks). It was, however, a hack that was technically superior to anything that Microsoft came out with for years.
I've never understood people who thought the Mac was "so hard to program" and "not possible to hack". It was eminently hackable - it was easy to get a copy of Macsbug and ResEdit to play around with anything you wanted to. It was "hard to program" because there were three volumes describing the programming model and interfaces (back when they were "library calling conventions", not APIs). Three whole volumes! About 6-8 inches of manuals! So much more difficult than programming for DOS (where every program had to support every printer; where each new graphics card standard had to support all the previous standards, because every program had its own graphics library; where you could use the built in almost-unusable serial chip to talk to your modem, or install a new one and hope your program knew how to use it).
My first Mac program, a graphical terminal program written on a Lisa using the Pascal Programmers Workshop and running on MacWorks, still works today. It doesn't handle system events quite right (can't launch a Desk Accessory from the Apple menu properly), and doesn't close the serial port quite right, but overall works pretty damned well for a program from 1983.
The memory model was quite elegant, overall, compared to the horror that was memory on a DOS/Windows machine. The major shortcoming was the fixed partition size an application allocated when it started. Another shortcoming was that Apple foolishly only used 24 out of 32 bits for pointers initially, which caused some headaches when memory sizes grew larger than 24 bits. Other than that, however, it was a 32-bit OS from the start, running on a 32-bit architecture (although only 16-bit in implementation). DOS, meanwhile, was using FAR, NEAR, GIGANTIC, HUMONGOUS, etc. pointers causing untold amounts of programmer woe, along with a whole bunch of design limitations that, to an extent, continue to cripple Wintel processors and operating systems to this day.
Yes, Apple was late to change over to a better OS, but MacOS didn't suck any more than Windows did (up until Windows NT and related versions). It just sucked differently.
The easiest way to get MacTCP before it was shipped with the OS was to get a copy of Eudora - the license from Apple allowed redistributing it with your application - no mention of whether the application was free for downloading. Technically, you weren't supposed to use that copy of MacTCP with anything but Eudora, but how you were supposed to enforce that, much less how the end user would practically do that, I don't know.
Before that, you used NCSA Telnet, which had a SLIP client built in, or a couple other alternatives. Or just used dial-up to a terminal server and used a multiplexing terminal program (MacLayers). Kermit for file up/downloading.
Of course no on on the jury would know anything about it. That would be disqualifying. You're not supposed to bring to a jury any previous knowledge, only use what you learn while on the jury. So naturally, there's no way they could make an informed decision. There's just no way they could learn enough about common practice in software to understand which expert witnesses are blowing smoke.
How much do you know about how the patent system works? Have you actually participated in any way in an actual patent challenge or lawsuit? I've helped provide prior-art evidence in two cases, and it doesn't matter how trivial or stupid the patent is, it can be a real problem trying to get judges or juries to understand why something should never have been patented in the first place. Sun just lost a patent case, which may cost it a billion dollars, and that patent is also one that shouldn't have been granted, or at least not applied to Java.
One patent, 4,449,182, filed for in 1981, issued in 1984, was used by DEC to lock anyone out of providing compatible peripherals to their systems (since the operating system used the patented "invention" to talk to all peripherals). Although we were able to provide matching prior art from 1979 to the company being sued, which caused DEC to drop the case (thus preserving their "we've never lost a patent case" claim), as far as I know the patent continued in effect until it expired normally. It still cost that company a lot of money, and probably kept other companies out of that market.
The other one was 4,624,462, which involved a bingo game (there are an amazing number of patents on bingo games). Although the original invention on the face of it isn't too bad, this patent was being interpreted as a software patent: the infringing device they were suing over was completely implemented in software, on normal PCs, using normal networked connections. This patent drove a company into bankruptcy, before finally being overturned. Clear prior art was ruled by a judge to not read on the patent because the prior art was implemented on a timesharing system (even though the program was implemented as multiple independent processes running on that timesharing system, communicating among each other using shared memory), and the patent was referring to multiple computers communicating in essentially the exact same way, only over a communications network.
I don't see how Smalltalk isn't direct prior art for this, at least as it would apply to Java. These are, I believe, a good example of bad software patents that are becoming more and more common. You can't really figure out what exactly they're claiming, you have no idea what might infringe on it, it's so vague that you can't figure out what prior art might invalidate it, and once you do figure it out, you say "you can patent that?". It's like patenting "Ok, take an automobile, turn right and go around the block THREE times, not just TWO times like everyone has done in the past, THEN turn right on red without waiting for pedestrians." And then claiming that airplanes landing between 2AM and 3AM at airports without lights infringes on it, since they never wait for pedestrians, and they have a red light on the wing.
What hangs on a wall, is green, and whistles?
I give up. What hangs on a wall, is green, and whistles?
A HERRING!
A herring? It doesn't hang on a wall!
Well, you can put in a nail and hang it.
Ok, but it isn't green!
You can paint it green.
Ok, but whistles?
Oh, I just put that in to make it hard!
No, it isn't what drug is being sold that's important, it's how it is legal. How is it that certain patent-protected large-drug-company-controlled mood-altering drugs have been made legal, and non-patentable non-profitable mood-altering drugs are illegal? That one is legal and the other is not is a given. Why it should be that way is the question that emphasizes that corporations can get away with things that individuals can't, which was the point that was being made.
What's fun is that running those old assembly language programs on an emulator on a modern computer can be very very fast. We've recently brought up a PLATO system, running on an emulated Cyber (60-bit one's complement machine). On a 1.8GHz Opteron, on a not-very-optimized-for-speed emulator, the thing is about 8 times faster than the original system was in the mid-70's, and we were running about 500 people on a dual-mainframe system back then. PLATO is a time-sharing system that runs under NOS, and implements its own language (internally, a combination of pcode-like execution intermixed with natively-compiled expression evaluation). So, an emulated system running an interpreted language, and you should be able to run 800-1000 people on it on a $2,000 computer (RAM and disk space, of course, is totally beyond what was available back then). Highly optimized emulation of the Cyber architecture can run 2-8 times faster (at least) than that (e.g. 15-50 times faster than the original machines) on the faster Alpha machines, and (due to total neglect of the Alpha line) the Opteron processors appear even faster (except my static translator from Cyber to Alpha assembly code would need to be modified to target AMD64 instructions, instead).
Also, relevant to this story, is that PLATO was also "one of the first time sharing systems" with "one of the first electronic mail" facilities.
See the Cyber1 web site for more information about bringing up a PLATO system.
No, there's no exclusion for personal use.
Patents cover making as well as using. However, I'm not quite sure how the GPL would handle the case of a patent holder giving a royalty free license to everyone to distribute, but not use, their "invention". The GPL doesn't say that you can't distribute unless the end user has the right to use the software - it only says that YOU may not further restrict their rights. If it's someone else restricting their rights to use it, but not restricting anyone's rights to distribute, I don't think the GPL prevents that.
Firewire is currently available as 800 Mbits/sec. It's defined up to 3200 Mbits/sec (400 MBytes/sec).
Firewire was standardized in 1995, and was much faster than ATA, USB, and SCSI. Although SCSI now is much faster, it has been relegated by marketing to the server market. SATA is not competitive with SCSI, it doesn't yet support the cabling requirements of servers, nor the speed of the fastest SCSI.
As Firewire is a competitor to ATA, SATA is clearly a competitor to Firewire. Firewire has all the cabling advantages of SATA (PLUS supports chaining and external connections with longer cables). Speed advantage currently goes to SATA, but as you point out, Firewire is fast enough for any consumer drive, and seems likely to keep up with hard drive speeds.
So, again, the primary advantage of SATA is that it is compatible with ATA, so no software changes are necessary. So again my question, why all these compatibility issues with supporting SATA? Otherwise, why SATA instead of Firewire? Why USB 2.0 instead of Firewire (USB 1.x is clearly more appropriate for low-speed devices)?