The one-click patent, the patent on pie charts, the XOR patent, the Y2K windowing patent, the patent on style sheets, the horde of business model patents... some companies are even trying to patent their data structures.
The vast majority of patents may make sense, but that's because they're for industrial products or processes, the intended use of the patent system. For software, copyright makes sense but patents do not.
Not all countries have patent systems as screwed up as the US's. People in those countries will be able to use the code legally even if it violates American patents. So yes, there is a good reason to grab it while you can.
Morally, it's a fallacy to say that illegal == wrong. If you believe that patents on computer programs are counterproductive and don't make any sense, then there's no reason to feel bound to obey them - other than the threat of prosecution.
But on a server, things like good disk and network are more important than raw CPU speed. Well, I suppose it depends what you run, a heavily CGI-laden site like Slashdot needs lots of raw CPU as well.
I believe that phrases like 'Eat my shorts' and 'Don't have a cow' are slang from many years ago, the 1950s perhaps, which were deliberately revived by some old person who was writing for the Simpsons. Sorry I can't find a reference...
I think you can't patent artistic works (fortunately). Even the USPTO agrees on that one.
You can possibly patent the method you use - there was a case in the UK over patents on use of airbrushes, I think. The patent holder won despite evidence from several artists that they had been using the technique long before the patent was filed. Anyone have more coherent details?
The earliest Acorn GUI was the 'Welcome' or 'Desktop' program that came with the Master Compact (which was a cut-down Master 128, which was a beefed-up BBC Micro). This was a simple toy desktop environment, with a calculator, calendar, that sort of thing. IIRC it had a bar at the bottom with icons for the different 'applications', although you couldn't add new apps. This was in 1986.
The Desktop in Arthur (the OS for the Archimedes when launched in 1987) was rather like this; it was implemented as a BASIC program which called the OS's windowing routines (making it very fast as the windowing routines were written in assembler). It featured icons on the left for drives and networks, and icons on the right for calculator, 'palette' and other junk.
RISC OS 2.0 (the first version, replacing Arthur 1.2) was released in 1988. Its desktop was part of the OS proper, and featured nonpreemptive multitasking. For the first time (I think) you could write your own apps which used the GUI, making it a useful environment rather than a toy. It also included drag-and-drop and all the nice things which have been discussed previously on Slashdot.
I have no idea how much of this was copied from NeXT; what year did the NeXT Cube come out? I thought it was 1987.
I think there's a good chance that the OS division would start branching out into other areas (like web browsers and servers - oh, they do that already) and start to use its OS monopoly to push competitors out of the market.
I think that's what he meant, using 'browser' to mean 'web browser'. So a 'text browser' is not something like less(1), it's a browser that runs on a text terminal.
IIRC, when the original JPEG standard came out it specified how to compress images, but not a file format to store the compressed data. So there were some JPEG programs that wouldn't read or write files produced by other JPEG programs, because the file format was different.
Eventually people created the JPEG File Interchange Format (JFIF) and this is what modern 'JPEG' files are stored as. I hope the standards body has given some thought to file formats this time round.
I don't think you can accuse Rob of hypocrisy - he's never said that all software should be publicly released the moment it is written. Still less so when it isn't finished yet. There are plenty of free software projects (XFree86 for one, and of course all the FSF stuff) that make individual releases some time apart.
As for betrayal of trust, did Rob promise that he would release 0.4 by a certain date?
D'oh! Flipping Slashdot text posting system. That last line of code should have FILEHANDLE inside angle brackets. Maybe I should use Tom's script to quote things before posting.
IMHO having builtin operators makes sense for things like addition, subtraction and so on. In Perl, things like hash lookups would also be a useful thing to put into an operator.
But - again IMHO - reading lines from a file isn't really suitable for its own operator. Having
$filehandle = open('filename') or die; $line = readline($filehandle);
is probably more understandable than
open(FILEHANDLE, 'filename') or die; $line = ;
OTOH, doing the same with the + operator would make code less readable.
Firstly, solving the software patent problem has to be done through legislation, or possibly a legal challenge. Even if the USPTO stopped granting software patents tomorrow, we'd still be stuck with all the ones already issued. Note that there was never any legislation to bring in software patents - they're mostly due to the USPTO with a few prods from court decisions.
Secondly, having a special kind of time-limited patent is often proposed, but I don't think it is the answer. Even with a one-year patent, you still have the problem that it's impossible to do a patent search on a large program, and you would still have the situation of companies amassing large chunks of patents and then demanding protection money from software developers. And most importantly, I don't think patents of any kind are actually needed - we have copyright which provides sufficient incentive. Most innovation and progress (IMHO) is due to strong competition, not due to restrictions and lawyers.
I think the idea is that instead of defining a new operator in the language, you should be able to write a subroutine to encapsulate reading lines from files given on the command line.
Then you wouldn't need to use idioms that look completely baffling to the novice. (Although to be fair the diamond operator is one of the first things you learn.) And it's easy for users to see what's going on by looking at the source, and easy to define your own version. You also keep the diamond operator in reserve so you could use it for something else.
At the risk of repeating what others have said, here are the three main features of the RISC OS GUI that I think would be worth duplicating:
1. The Filer - a fairly run of the mill file manager that displayed each directory in its own window. As with most RISC OS things, clicking with the right mouse button did almost the same thing as the left, but with a small difference. In this case, right-double-click opened the new directory in the same window. Another cool feature is that selecting items with the right mouse button adds to the existing selection rather than replacing it (like holding down Ctrl in Windows).
The important part is that the Filer wasn't just a file manager but was 'pervasive' (ugh) throughout the UI. There was no separate application launcher - you just open the directory where your application is stored and double-click on it. Like NextStep, each app was its own self-contained directory, containing icons and a file to run when you double-click it. And saving files meant dragging them to a Filer window - no need for a separate File Save dialogue box.
2. The menus. No menu bar, but clicking the middle mouse button almost anywhere brings up a context-sensitive menu. There were some flamewars on Usenet with Mac fans over whether this is quicker and easier than having an explicit 'menu bar' on screen - IMHO it is much quicker. It makes using the mouse a pleasure rather than a chore.
3. Proper use of drag and drop. Mainly this is involved with the Filer again - drag a file to an app to load it (you could also double-click on the file, of course), drag it back to save (subsequently just press Return to save using the same filename), drag onto the printer icon to print. Oddly, there was no Trash - just a delete option.
It would be nice if there were some way to integrate this with David Alan Gilbert's arcem Archimedes emulator. But I don't think there is, unless you want to do some serious patching of RISC OS to let its windows play nicely in your X desktop. (Actually, although RISC OS is a binary-only OS, it was mostly written in assembler anyway, so it's relatively easy to disassemble and patch. The ARM has a clean but powerful instruction set.)
Oh, and while we're on the subject of Acorn User magazine, I have a large number of issues, in fairly good condition, to get rid of. Almost complete from 1986 to 1991, and again from 1993 to 1995. I also have monthly disks or coverdisks for the issues from 1990 onwards.
(The 8-bit cover disks have been released into the public domain, it would be good to put them on a website somewhere. I intend to do this eventually, but I can't find a decent DFS reader.)
I'm in London SW2, mail me if you would like them. (Some hopes...)
I wonder how many sites are using Slash or a Slash-type system?
It would be cool to have a meta-Slashdot, which gathers together all the stories from lots of different sites on a single page. Clicking the 'read more' link would take you to the individual sites.
Maybe it would be worthwhile (in theory) to define a common interface for Slash, Squishdot etc so that headline tickers, the above meta-Slashdot, notifiers like Rob mentioned and so on could work for all the different forum-based sites.
What I'd like is for every comment to have three radio buttons:
( ) Good ( ) Okay ( ) Bad
and to start with, none of them would be selected (ie the choice is 'undefined'). Then you can click on them as you are reading Slashdot normally.
The choices you make wouldn't be used for moderation in the usual way, but rather to help Slashdot decide which comments you want to see in future. For example, you may like comments by a particular author, or dislike comments containing the words 'Beowulf'. Obviously some heuristics are needed here to try and work out general patterns - but see below.
Then the default scoring of comments would be based on the average preferences of Slashdot as a whole. Scores for an individual user would be determined from that user's own preferences, but also from what other users have selected as 'good' or 'bad'. If Slashdot finds that my opinion is consistently disagreeing with the opinion of some other reader, then it could stop taking that reader's views into account when scoring articles for me. Likewise, there could be other readers whose idea of a good comment I usually share. So there is no need for meta-moderation - each user has their own idea of who is a good moderator.
This could get hairy on the inside - trying to evolve a good system for working out what people like - but it couldn't be any worse than just taking the average opinion of Slashdot as a whole, as the current system does. And I think the interface to the reader is ideal - or at least much better than three separate pages for reading, moderation and meta-moderation.
If I recall correctly from an article in Acorn User magazine (mmm, that was a good magazine - still going but not as good any more), they only used games writers by accident.
The new Archimedes was meant to use an OS called ARX, designed as an 'office automation system', whatever that means. It kept slipping, so eventually they scavenged together some spare coders and hacked up a single-tasking OS called Arthur, which in some ways resembled the BBC OS of six years earlier (ie 1981). The window system was written by a games programmer - which turned out to be an inspired choice, at least for performance. Arthur later became RISC OS. ARX was never finished. Another example of 'worse is better' at work.
Yes, you can certainly use older versions of Office with newer Windows versions. In fact I'd recommend it.
I'm running the 32-bit (Windows NT) version of Word 6.0 on a Win98 machine. IMHO 6.0 was, (like Version 7 UNIX is claimed to be) 'a great improvement over all preceding and subsequent releases'.
The best part is that it opens up almost instantly - in a second or so - and is amazingly fast compared to the bloated hogs Word 97 and 2000.
The one-click patent, the patent on pie charts, the XOR patent, the Y2K windowing patent, the patent on style sheets, the horde of business model patents... some companies are even trying to patent their data structures.
The vast majority of patents may make sense, but that's because they're for industrial products or processes, the intended use of the patent system. For software, copyright makes sense but patents do not.
Not all countries have patent systems as screwed up as the US's. People in those countries will be able to use the code legally even if it violates American patents. So yes, there is a good reason to grab it while you can.
Morally, it's a fallacy to say that illegal == wrong. If you believe that patents on computer programs are counterproductive and don't make any sense, then there's no reason to feel bound to obey them - other than the threat of prosecution.
But on a server, things like good disk and network are more important than raw CPU speed. Well, I suppose it depends what you run, a heavily CGI-laden site like Slashdot needs lots of raw CPU as well.
I believe that phrases like 'Eat my shorts' and 'Don't have a cow' are slang from many years ago, the 1950s perhaps, which were deliberately revived by some old person who was writing for the Simpsons. Sorry I can't find a reference...
So the CEO is 'more declarative' than the President :-)
He is leaving AOL/Netscape/Time/Warner.
I think you can't patent artistic works (fortunately). Even the USPTO agrees on that one.
You can possibly patent the method you use - there was a case in the UK over patents on use of airbrushes, I think. The patent holder won despite evidence from several artists that they had been using the technique long before the patent was filed. Anyone have more coherent details?
The earliest Acorn GUI was the 'Welcome' or 'Desktop' program that came with the Master Compact (which was a cut-down Master 128, which was a beefed-up BBC Micro). This was a simple toy desktop environment, with a calculator, calendar, that sort of thing. IIRC it had a bar at the bottom with icons for the different 'applications', although you couldn't add new apps. This was in 1986.
The Desktop in Arthur (the OS for the Archimedes when launched in 1987) was rather like this; it was implemented as a BASIC program which called the OS's windowing routines (making it very fast as the windowing routines were written in assembler). It featured icons on the left for drives and networks, and icons on the right for calculator, 'palette' and other junk.
RISC OS 2.0 (the first version, replacing Arthur 1.2) was released in 1988. Its desktop was part of the OS proper, and featured nonpreemptive multitasking. For the first time (I think) you could write your own apps which used the GUI, making it a useful environment rather than a toy. It also included drag-and-drop and all the nice things which have been discussed previously on Slashdot.
I have no idea how much of this was copied from NeXT; what year did the NeXT Cube come out? I thought it was 1987.
I think there's a good chance that the OS division would start branching out into other areas (like web browsers and servers - oh, they do that already) and start to use its OS monopoly to push competitors out of the market.
You have no privacy on the streets anyway. It's a public place.
I think that's what he meant, using 'browser' to mean 'web browser'. So a 'text browser' is not something like less(1), it's a browser that runs on a text terminal.
Look at w3m, which converts frames into tables to display them.
IIRC, when the original JPEG standard came out it specified how to compress images, but not a file format to store the compressed data. So there were some JPEG programs that wouldn't read or write files produced by other JPEG programs, because the file format was different.
Eventually people created the JPEG File Interchange Format (JFIF) and this is what modern 'JPEG' files are stored as. I hope the standards body has given some thought to file formats this time round.
I don't think you can accuse Rob of hypocrisy - he's never said that all software should be publicly released the moment it is written. Still less so when it isn't finished yet. There are plenty of free software projects (XFree86 for one, and of course all the FSF stuff) that make individual releases some time apart.
As for betrayal of trust, did Rob promise that he would release 0.4 by a certain date?
D'oh! Flipping Slashdot text posting system. That last line of code should have FILEHANDLE inside angle brackets. Maybe I should use Tom's script to quote things before posting.
IMHO having builtin operators makes sense for things like addition, subtraction and so on. In Perl, things like hash lookups would also be a useful thing to put into an operator.
But - again IMHO - reading lines from a file isn't really suitable for its own operator. Having
$filehandle = open('filename') or die;
$line = readline($filehandle);
is probably more understandable than
open(FILEHANDLE, 'filename') or die;
$line = ;
OTOH, doing the same with the + operator would make code less readable.
Firstly, solving the software patent problem has to be done through legislation, or possibly a legal challenge. Even if the USPTO stopped granting software patents tomorrow, we'd still be stuck with all the ones already issued. Note that there was never any legislation to bring in software patents - they're mostly due to the USPTO with a few prods from court decisions.
Secondly, having a special kind of time-limited patent is often proposed, but I don't think it is the answer. Even with a one-year patent, you still have the problem that it's impossible to do a patent search on a large program, and you would still have the situation of companies amassing large chunks of patents and then demanding protection money from software developers. And most importantly, I don't think patents of any kind are actually needed - we have copyright which provides sufficient incentive. Most innovation and progress (IMHO) is due to strong competition, not due to restrictions and lawyers.
I think the idea is that instead of defining a new operator in the language, you should be able to write a subroutine to encapsulate reading lines from files given on the command line.
Then you wouldn't need to use idioms that look completely baffling to the novice. (Although to be fair the diamond operator is one of the first things you learn.) And it's easy for users to see what's going on by looking at the source, and easy to define your own version. You also keep the diamond operator in reserve so you could use it for something else.
At the risk of repeating what others have said, here are the three main features of the RISC OS GUI that I think would be worth duplicating:
1. The Filer - a fairly run of the mill file manager that displayed each directory in its own window. As with most RISC OS things, clicking with the right mouse button did almost the same thing as the left, but with a small difference. In this case, right-double-click opened the new directory in the same window. Another cool feature is that selecting items with the right mouse button adds to the existing selection rather than replacing it (like holding down Ctrl in Windows).
The important part is that the Filer wasn't just a file manager but was 'pervasive' (ugh) throughout the UI. There was no separate application launcher - you just open the directory where your application is stored and double-click on it. Like NextStep, each app was its own self-contained directory, containing icons and a file to run when you double-click it. And saving files meant dragging them to a Filer window - no need for a separate File Save dialogue box.
2. The menus. No menu bar, but clicking the middle mouse button almost anywhere brings up a context-sensitive menu. There were some flamewars on Usenet with Mac fans over whether this is quicker and easier than having an explicit 'menu bar' on screen - IMHO it is much quicker. It makes using the mouse a pleasure rather than a chore.
3. Proper use of drag and drop. Mainly this is involved with the Filer again - drag a file to an app to load it (you could also double-click on the file, of course), drag it back to save (subsequently just press Return to save using the same filename), drag onto the printer icon to print. Oddly, there was no Trash - just a delete option.
It would be nice if there were some way to integrate this with David Alan Gilbert's arcem Archimedes emulator. But I don't think there is, unless you want to do some serious patching of RISC OS to let its windows play nicely in your X desktop. (Actually, although RISC OS is a binary-only OS, it was mostly written in assembler anyway, so it's relatively easy to disassemble and patch. The ARM has a clean but powerful instruction set.)
Oh, and while we're on the subject of Acorn User magazine, I have a large number of issues, in fairly good condition, to get rid of. Almost complete from 1986 to 1991, and again from 1993 to 1995. I also have monthly disks or coverdisks for the issues from 1990 onwards.
(The 8-bit cover disks have been released into the public domain, it would be good to put them on a website somewhere. I intend to do this eventually, but I can't find a decent DFS reader.)
I'm in London SW2, mail me if you would like them. (Some hopes...)
I wonder how many sites are using Slash or a Slash-type system?
It would be cool to have a meta-Slashdot, which gathers together all the stories from lots of different sites on a single page. Clicking the 'read more' link would take you to the individual sites.
Maybe it would be worthwhile (in theory) to define a common interface for Slash, Squishdot etc so that headline tickers, the above meta-Slashdot, notifiers like Rob mentioned and so on could work for all the different forum-based sites.
I think you should ask for your money back.
What I'd like is for every comment to have three radio buttons:
( ) Good
( ) Okay
( ) Bad
and to start with, none of them would be selected (ie the choice is 'undefined'). Then you can click on them as you are reading Slashdot normally.
The choices you make wouldn't be used for moderation in the usual way, but rather to help Slashdot decide which comments you want to see in future. For example, you may like comments by a particular author, or dislike comments containing the words 'Beowulf'. Obviously some heuristics are needed here to try and work out general patterns - but see below.
Then the default scoring of comments would be based on the average preferences of Slashdot as a whole. Scores for an individual user would be determined from that user's own preferences, but also from what other users have selected as 'good' or 'bad'. If Slashdot finds that my opinion is consistently disagreeing with the opinion of some other reader, then it could stop taking that reader's views into account when scoring articles for me. Likewise, there could be other readers whose idea of a good comment I usually share. So there is no need for meta-moderation - each user has their own idea of who is a good moderator.
This could get hairy on the inside - trying to evolve a good system for working out what people like - but it couldn't be any worse than just taking the average opinion of Slashdot as a whole, as the current system does. And I think the interface to the reader is ideal - or at least much better than three separate pages for reading, moderation and meta-moderation.
If I recall correctly from an article in Acorn User magazine (mmm, that was a good magazine - still going but not as good any more), they only used games writers by accident.
The new Archimedes was meant to use an OS called ARX, designed as an 'office automation system', whatever that means. It kept slipping, so eventually they scavenged together some spare coders and hacked up a single-tasking OS called Arthur, which in some ways resembled the BBC OS of six years earlier (ie 1981). The window system was written by a games programmer - which turned out to be an inspired choice, at least for performance. Arthur later became RISC OS. ARX was never finished. Another example of 'worse is better' at work.
Yes, you can certainly use older versions of Office with newer Windows versions. In fact I'd recommend it.
I'm running the 32-bit (Windows NT) version of Word 6.0 on a Win98 machine. IMHO 6.0 was, (like Version 7 UNIX is claimed to be) 'a great improvement over all preceding and subsequent releases'.
The best part is that it opens up almost instantly - in a second or so - and is amazingly fast compared to the bloated hogs Word 97 and 2000.