I was wondering about that too. The ink might not actually be a problem; it does use a jet of ink, after all, and the rollers inside should still keep the paper in place while it's printing.
But certainly, the printer pictured in the Nominal LAN Topology (see link in the/. story) would have trouble keeping its paper in the tray (open, gravity-dependent tray like on the cheaper inkjet models). Either NASA did another $million modification job on that, or they used a higher-end printer with an enclosed, internal tray (perhaps further modified, if necessary, to keep the paper from floating around inside the tray).
He said "as if he were a 6 year old", and most 6 year olds I know don't understand C.
So, 6 year old's version:
What printf is
In the C programming language, one of the most common ways for displaying text is the printf function. When printf is used, it is given a string (a list of characters -- a bit of text, essentially) and optionally, some other variables that may contain various types of data. Printf then prints the string, modified by replacing certain special codes with formatted versions of the other variables. (Because the codes control how the other data is formatted, that first string is sometimes called the format string.)
These format codes always start with the % character; %% is replaced by a single % character in the output, while % followed by various other characters is replaced by one of the other variables, formatted as defined by one or more of the characters after the %. The simplest of these formatting codes is %s which means "the variable is another string; print it here just as-is".
There are also some variants of printf such as sprintf which do very similar things, and suffer from the same problems. Also, some programs written in other languages than C may be able to call C's printf function, so it's not necessarily limited to programs written in C.
The problem
If printf is called with more format codes in the format string that there are additional variables supplied to the function, then printf will grab some other data in memory to use as the additional variable, perhaps the next instruction that was supposed to be executed after printf. The result is that some garbage data is printed, and an instruction in the program is skipped. The result may pass unnoticed except for the weird output, but more likely, the program will do something other than it was supposed to do, and after a while, probably crash.
If a user can control what data is in the format string, he can stick in format codes the program does not expect, and thus make programs crash that run fine as long as no % characters appear in their input. A skilled hacker with detailed knowledge of the workings of a program may be able to give it input that causes it to execute, as the next instruction, some piece of data which he has fed into the program elsewhere, and thereby make the program do some specific thing he wants it to do, and which the program was not designed to do.
Setuid programs are UNIX programs that run with special privileges. These programs may be able to read or modify files that the user running them would ordinarily not be allowed to access. If a setuid program suffers from this problem, a skilled hacker may be able to use it to execute any code he wants with the program's privileges.
The Solution
You've seen this already as C code, since about a fourth of all the messages for this story consist of nothing but the answer. The problem occurs when the format string to printf is user-provided data; this most often happens when printf is used to simply print a string without doing any formatting, or in some situations involving the locale form of internationalization (see below). The cure to these problems is to never use a string containing user data as the format string for printf. Instead, use "%s" as the format string, and give the string of user data as the next variable. Thus, printf("%s",user_data) rather than printf(user_data).
However, there are many places this bug can occur, and another possible way of reducing preventing this problem with respect to locale data is to have the locale library check whether it is running with special privileges, and when it is, to ignore user-supplied locale databases. (See below.)
Locale
Locale is a system used widely on UNIX systems for making programs friendly to people who speak different languages. The way this works is that the user sets a setting which specifies his locale. This is close to simply specifying his language, but a locale can be more specific than this. A user might specify a UK locale to have his programs use "colour" instead of "color" and "full stop" instead of "period".
The way this works is that programs that support locales pass all their error/status messages through a function which searches the user's chosen locale database for that string. If it finds it, it returns the corresponding string localized for that user; otherwise, it just returns the original string.
Users can also create custom locale databases, and use some additional settings to allow programs to find them. For instance, a user who prefers to think of his directories as "folders" could specify a "folder" locale which only changed "directory" to "folder" and left all other program output unchanged. The problem is that users can create locales which contain extra formatting codes in the "localized" strings. If programs use local strings as format strings to printf, the problems described above can occur.
The problem with any potential patents here is that in order to establish a patent, the new technology invented must be, among other things, non-obvious to someone skilled in the business. Given that several different Slashdot readers working independently decoded the data coming out of the CueCat in full, in days or maybe even hours after receiving the device, any patent on the data encoding method itself is sure to fail this non-obviousness test. There may be other parts of the process, or "business model," which are patented, but these programs do not infringe on those other parts -- all they do is decode the data.
The sad part about it is that there was such disparity in the abilities of the teams that most of the matches were shutouts, and some entire brackets consisted of nothing but shutouts. In the "simulation league" only a few matches had goals scored by both sides, with "normal" scores like 1-1 or 4-2, while dozens of other matches were shutouts, often with large scores of 15-0 or worse. In the "small size" league, played on a small field with a smaller ball, for 20 minutes, one of the matches ended with a score of 66-0. They must have been spending most of the time pulling the ball out of the goal.
The "World League" of American Football, an attempt ca. 1990 by the NFL to spread the game to other countries, has become known as the NFL Europe. Yes, this is a bit of an oxymoron, as NFL stands for National Football League, but since all the remaining teams (and most of the original teams) are located in Europe, it is a bit more correct. Here is a web site where you can read about NFL Europe, and here is the official site.
If this is real, I see a few problems with the concept:
If you just take a fingerprint of a small snippet of music, a few seconds in length, the fingerprint is going to be different for different parts of some songs. There are songs that have parts that sound very different than other parts.
Sampling: some songs are known to contain snippets from other songs. Won't this confuse the algorithm? This is both the same as and the opposite of my first point -- some songs can have drastically different sound in places, and some parts of some songs may sound the same as some parts of other songs.
It seems to me you'd really need to process the whole song into little fingerprints that you jam together to get the fingerprint for the song, and then the whole suggested ability of using fingerprints to identify the beginnings and endings of songs in a stream goes out the window. As far as my point 1 above, there are songs that confuse my ear enough to make me think the song has ended and a new one has begun, or have parts that don't even sound like part of the same song, so I think any system that attempts to use these methods to distinguish songs in a stream is going to be prone to failure.
However, as far as fingerprinting entire songs, this sounds like a very promising idea. As other slashdotters put it, it's really melody that you're cataloging with this system, or basically making a software equivalent of an "ear for music".
The guy who wanted library software on Linux to track his own personal library can use this as an entry device for his library system whenever he gets it going.
Most books published in the last, oh, about 20 years, have one of two types of barcodes:
an expanded UPC code which has part of the ISBN attached -- the beginning part of the ISBN is assigned to specific publishers and can be matched in a lookup table with the UPC
an ISBN code with the full ISBN listed, after "78", and, optionally, the MSRP.
Not long ago, it cost $50/year (and then $70/2years after that) to get a.com/net/org domain name, before we had all these other competing registrars. At that time, you could get a domain name for considerably less money if it was in the.cx top-level domain, so it made some sort of sense. Now it no longer makes so much sense, which is why you see some people in this thread saying they're dumping their.cx domains.
The most useful part of this story is the statistics on what a slashdotting really amounts to:
The peak was on Monday, June 24th. Over 100.000 visitors in 24 hours!
They're in Germany, so it was early Monday morning their time when the original Slashdot story was posted, so this more or less amounts to the hits from a story being posted on Slashdot. (Minus whatever else they would have gotten that day, but hopefully we can ignore that.) One hundred thousand hits.
I've configured apache on my Linux box to use it as a filtering proxy. It's not nearly as snazzy as that Proxomitron thing, but does a fair job. It does URL-based filtering to replace most of the ads from ad sites with a plain boring local picture with my name on it.
And as for those popup boxes? The annoying sites like Geocities and Tripod, etc. seem to have the javascript code to open that popup written into the source for the page, rather than called as an external.js file. I've killed those by redirecting the page that is loaded into the popup to a little local file that contains a javascript window.close() command. Saves me the effort of closing the window.
This Proxomitron sounds good; I assume they advertise it on a tripod page with one of those popups to provide an example of the kind of thing it can stop.;-)
The law cited here applies to "famous marks", not to trademarks in general. DuPont, Buick, and Kodak certainly qualify. I don't see PETA possibly qualifying here; if this was really the basis for the case, PETA had some really amazing lawyers.
If you got a book, then there was at least a half an excuse for the box. This story was about a software box which contained nothing but a CD-ROM in a jewel case, and a pamphlet which could easily have fit inside the jewel case.
Re:Anybody seen the Phantom Menace Pinball game?
on
Is Pinball Dying?
·
· Score: 1
Yes, for you Natalie Portman fanatics out there, the Star Wars: Episode 1 pinball game does have Natalie Portman. There are even some Queen Amidala modes where she's featured.
Yes, with the right combination -- a good pinball game, a good player, and the right atmosphere, and a good session of pinball can turn into a 2-hour workout that leaves you drenched in sweat! I've done this, though I don't do it often. When it happens for me, it's when I really get in the groove, I'm doing well, probably getting quite a few replays, and I just want to keep going until I get that high score.
Unfortunately, the machine that I can say this best about is Black Knight 2000 -- a pinball that was made in 1989. There have been a few high points since then, but nothing has matched BK2K.
It was not long after BK2K that the pinball manufacturers introduced dot matrix displays on pinball machines, and ever since then the games have been becoming more and more video-game-like. Williams put the nail in the coffin last year with "Pinball 2000", a new pinball design which incorporates a full-color video display projected over part of the upper part of the playfield. The problem with these games is that they've essentially become video games, but a variety of video games that don't work these days. People don't really want this. People who want to play pinball by and large want something like the pinball of 10 years ago. Also, those old games were only a quarter and usually still are, while pretty much nobody sets a Pinball 2000 game below the default price of 50 cents a game.
I played some pinball today. High Speed (the original), Funhouse, No Good Gofers, Attack from Mars, the Addams Family, and Cirqus Voltaire. This was at Salem Willows (Salem, MA); any pinball fan in the greater Boston area should go visit sometime. They have many more games than those but that's what I played today. They have both Pinball 2000 games there too, if you're interested, but I generally don't bother.
Sun had the optical mouse in use a long time ago (granted, you had to have the reflective pad..but that was HOW many YEARS ago?).
Maybe this was a rhetorical question, and maybe not, but they weren't new when I first used one, in 1989. They were present on all the Sun 3s apparently since 1986, and shortly afterward on the early Sparcs.
The Fish PC is clearly modeled on the EasyNow design, but with the iMac color scheme. And that's really the only similarity, and it's been hashed out already in past stories that, design patent or not, nobody can patent a color. You can patent a design that uses particular colors, but not the color itself on any particular type of item.
Those parameters get passed to doubleclick when the page loads, because they are encoded in the URL for the ad image. Your browser gets this URL, and not knowing any better, sends it on to doubleclick in order to retrieve the image, because that is what is done with image URLs on a web page. Ad URLs don't have to be done this way -- but targeted ad vendors pay more money to web sites that provide targeting info, and the simplest way of doing this is appending the entire URL of the page you're loading to the URL that is sent to doubleclick. However, some sites (as described in the story) include possibly sensitive information in some URLs, and blindly include this in the URLS that get sent on to doubleclick.
ffatTony wrote: Adobe, You make so many great software packages, but Acrobat sucks. [...] 1. It is not terribly stable here at work or at home [...] 2. Reminds me of windows (Again, if you disagree, piss off) and 3. it is ugly, especially when compared to ghostview.
I'm not going to argue with any of this, but I have some comments to add.
1. I have had very little in the way of stability problems in Windows, but I have seen some stability problems with the Linux reader; in particular, if I ran it from the command line with the name of an encrypted PDF file, it crashed every time, while if I started it without naming a file, then loaded the encrypted PDF, it worked fine. (Incidentally, this was the only reason I loaded the Acrobat Reader on my Linux box; at the time, 9 months or so ago, I had no other way to read the PDF under Linux.
2. It does remind me of Windows, or at least, the Windows version of Acrobat.
3. I've made this comment about Acrobat looking ugly on screen as well, in particular, in comparison with Microsoft Word. Acrobat uses anti-aliasing on the display of text, which is why all the text looks fuzzy in Acrobat. Time has shown that anti-aliasing on text, at normal text sizes (like you might use in the body of some sort of document), simply doesn't look good; it makes the text too hard to read. On the other hand, Acrobat doesn't use anti-aliasing on bitmaps that are displayed at anything other than their natural size (which is almost unavoidable, if you're using Acrobat in the most common way, to produce electronically-deliverable documents whose main target is print). As a result, such bitmaps tend to have missing or duplicated rows/columns of pixels that make them look quite irregular. MS Word, for all its shortcomings, gets this correct - it uses anti-aliasing for scaled graphics, but not for text.
Maybe with this deal we'll get Linux versions of the Real products at the same time as the Windows versions. I've never liked Real much because it seems they come out with a new version every few months, and the rare times when I want to listen to/view something in Real formats, I have to download a new player just to hear it. What's worse, the last couple versions, the Linux versions have gotten behind, to the point that by the time the Linux player is out, nobody's producing content playable by that version any more. RealPlayer G2 (a.k.a. RealPlayer 6) only ever came out for Linux in an unsupported alpha release, and it doesn't play all the stuff that ended up in the final RealPlayer G2. I don't know how long RealPlayer 7 has been out, but it's been a while, and there's no Linux version yet. This story says it's coming, but what we need is not just RealPlayer 7 for Linux, but also RealPlayer 8 for Linux when RealPlayer 8 for Windows comes out.
But certainly, the printer pictured in the Nominal LAN Topology (see link in the /. story) would have trouble keeping its paper in the tray (open, gravity-dependent tray like on the cheaper inkjet models). Either NASA did another $million modification job on that, or they used a higher-end printer with an enclosed, internal tray (perhaps further modified, if necessary, to keep the paper from floating around inside the tray).
Written on a bridge: I don't want the world, I just want your half.
So, 6 year old's version:
What printf is
In the C programming language, one of the most common ways for displaying text is the printf function. When printf is used, it is given a string (a list of characters -- a bit of text, essentially) and optionally, some other variables that may contain various types of data. Printf then prints the string, modified by replacing certain special codes with formatted versions of the other variables. (Because the codes control how the other data is formatted, that first string is sometimes called the format string.)
These format codes always start with the % character; %% is replaced by a single % character in the output, while % followed by various other characters is replaced by one of the other variables, formatted as defined by one or more of the characters after the %. The simplest of these formatting codes is %s which means "the variable is another string; print it here just as-is".
There are also some variants of printf such as sprintf which do very similar things, and suffer from the same problems. Also, some programs written in other languages than C may be able to call C's printf function, so it's not necessarily limited to programs written in C.
The problem
If printf is called with more format codes in the format string that there are additional variables supplied to the function, then printf will grab some other data in memory to use as the additional variable, perhaps the next instruction that was supposed to be executed after printf. The result is that some garbage data is printed, and an instruction in the program is skipped. The result may pass unnoticed except for the weird output, but more likely, the program will do something other than it was supposed to do, and after a while, probably crash.
If a user can control what data is in the format string, he can stick in format codes the program does not expect, and thus make programs crash that run fine as long as no % characters appear in their input. A skilled hacker with detailed knowledge of the workings of a program may be able to give it input that causes it to execute, as the next instruction, some piece of data which he has fed into the program elsewhere, and thereby make the program do some specific thing he wants it to do, and which the program was not designed to do.
Setuid programs are UNIX programs that run with special privileges. These programs may be able to read or modify files that the user running them would ordinarily not be allowed to access. If a setuid program suffers from this problem, a skilled hacker may be able to use it to execute any code he wants with the program's privileges.
The Solution
You've seen this already as C code, since about a fourth of all the messages for this story consist of nothing but the answer. The problem occurs when the format string to printf is user-provided data; this most often happens when printf is used to simply print a string without doing any formatting, or in some situations involving the locale form of internationalization (see below). The cure to these problems is to never use a string containing user data as the format string for printf. Instead, use "%s" as the format string, and give the string of user data as the next variable. Thus, printf("%s",user_data) rather than printf(user_data).
However, there are many places this bug can occur, and another possible way of reducing preventing this problem with respect to locale data is to have the locale library check whether it is running with special privileges, and when it is, to ignore user-supplied locale databases. (See below.)
Locale
Locale is a system used widely on UNIX systems for making programs friendly to people who speak different languages. The way this works is that the user sets a setting which specifies his locale. This is close to simply specifying his language, but a locale can be more specific than this. A user might specify a UK locale to have his programs use "colour" instead of "color" and "full stop" instead of "period".
The way this works is that programs that support locales pass all their error/status messages through a function which searches the user's chosen locale database for that string. If it finds it, it returns the corresponding string localized for that user; otherwise, it just returns the original string.
Users can also create custom locale databases, and use some additional settings to allow programs to find them. For instance, a user who prefers to think of his directories as "folders" could specify a "folder" locale which only changed "directory" to "folder" and left all other program output unchanged. The problem is that users can create locales which contain extra formatting codes in the "localized" strings. If programs use local strings as format strings to printf, the problems described above can occur.
The problem with any potential patents here is that in order to establish a patent, the new technology invented must be, among other things, non-obvious to someone skilled in the business. Given that several different Slashdot readers working independently decoded the data coming out of the CueCat in full, in days or maybe even hours after receiving the device, any patent on the data encoding method itself is sure to fail this non-obviousness test. There may be other parts of the process, or "business model," which are patented, but these programs do not infringe on those other parts -- all they do is decode the data.
The sad part about it is that there was such disparity in the abilities of the teams that most of the matches were shutouts, and some entire brackets consisted of nothing but shutouts. In the "simulation league" only a few matches had goals scored by both sides, with "normal" scores like 1-1 or 4-2, while dozens of other matches were shutouts, often with large scores of 15-0 or worse. In the "small size" league, played on a small field with a smaller ball, for 20 minutes, one of the matches ended with a score of 66-0. They must have been spending most of the time pulling the ball out of the goal.
The "World League" of American Football, an attempt ca. 1990 by the NFL to spread the game to other countries, has become known as the NFL Europe. Yes, this is a bit of an oxymoron, as NFL stands for National Football League, but since all the remaining teams (and most of the original teams) are located in Europe, it is a bit more correct. Here is a web site where you can read about NFL Europe, and here is the official site.
- If you just take a fingerprint of a small snippet of music, a few seconds in length, the fingerprint is going to be different for different parts of some songs. There are songs that have parts that sound very different than other parts.
- Sampling: some songs are known to contain snippets from other songs. Won't this confuse the algorithm? This is both the same as and the opposite of my first point -- some songs can have drastically different sound in places, and some parts of some songs may sound the same as some parts of other songs.
It seems to me you'd really need to process the whole song into little fingerprints that you jam together to get the fingerprint for the song, and then the whole suggested ability of using fingerprints to identify the beginnings and endings of songs in a stream goes out the window. As far as my point 1 above, there are songs that confuse my ear enough to make me think the song has ended and a new one has begun, or have parts that don't even sound like part of the same song, so I think any system that attempts to use these methods to distinguish songs in a stream is going to be prone to failure.However, as far as fingerprinting entire songs, this sounds like a very promising idea. As other slashdotters put it, it's really melody that you're cataloging with this system, or basically making a software equivalent of an "ear for music".
Most books published in the last, oh, about 20 years, have one of two types of barcodes:
Even on a Sunday morning, when there are only 7 comments in the story, the link in the story is already slashdotted. :-o
Not long ago, it cost $50/year (and then $70/2years after that) to get a .com/net/org domain name, before we had all these other competing registrars. At that time, you could get a domain name for considerably less money if it was in the .cx top-level domain, so it made some sort of sense. Now it no longer makes so much sense, which is why you see some people in this thread saying they're dumping their .cx domains.
And as for those popup boxes? The annoying sites like Geocities and Tripod, etc. seem to have the javascript code to open that popup written into the source for the page, rather than called as an external .js file. I've killed those by redirecting the page that is loaded into the popup to a little local file that contains a javascript window.close() command. Saves me the effort of closing the window.
This Proxomitron sounds good; I assume they advertise it on a tripod page with one of those popups to provide an example of the kind of thing it can stop. ;-)
The law cited here applies to "famous marks", not to trademarks in general. DuPont, Buick, and Kodak certainly qualify. I don't see PETA possibly qualifying here; if this was really the basis for the case, PETA had some really amazing lawyers.
If you got a book, then there was at least a half an excuse for the box. This story was about a software box which contained nothing but a CD-ROM in a jewel case, and a pamphlet which could easily have fit inside the jewel case.
Yes, for you Natalie Portman fanatics out there, the Star Wars: Episode 1 pinball game does have Natalie Portman. There are even some Queen Amidala modes where she's featured.
Pinball is non-sedentary?
Yes, with the right combination -- a good pinball game, a good player, and the right atmosphere, and a good session of pinball can turn into a 2-hour workout that leaves you drenched in sweat! I've done this, though I don't do it often. When it happens for me, it's when I really get in the groove, I'm doing well, probably getting quite a few replays, and I just want to keep going until I get that high score.
Unfortunately, the machine that I can say this best about is Black Knight 2000 -- a pinball that was made in 1989. There have been a few high points since then, but nothing has matched BK2K.
It was not long after BK2K that the pinball manufacturers introduced dot matrix displays on pinball machines, and ever since then the games have been becoming more and more video-game-like. Williams put the nail in the coffin last year with "Pinball 2000", a new pinball design which incorporates a full-color video display projected over part of the upper part of the playfield. The problem with these games is that they've essentially become video games, but a variety of video games that don't work these days. People don't really want this. People who want to play pinball by and large want something like the pinball of 10 years ago. Also, those old games were only a quarter and usually still are, while pretty much nobody sets a Pinball 2000 game below the default price of 50 cents a game.
I played some pinball today. High Speed (the original), Funhouse, No Good Gofers, Attack from Mars, the Addams Family, and Cirqus Voltaire. This was at Salem Willows (Salem, MA); any pinball fan in the greater Boston area should go visit sometime. They have many more games than those but that's what I played today. They have both Pinball 2000 games there too, if you're interested, but I generally don't bother.
Maybe this was a rhetorical question, and maybe not, but they weren't new when I first used one, in 1989. They were present on all the Sun 3s apparently since 1986, and shortly afterward on the early Sparcs.
There is a simple reason why. The AMD EasyNow (which the FishPC is modeled on) looks nothing like the iMac. Go see for yourself: AMD EasyNow Fish PC E-machines e-One and Apple iMac
The Fish PC is clearly modeled on the EasyNow design, but with the iMac color scheme. And that's really the only similarity, and it's been hashed out already in past stories that, design patent or not, nobody can patent a color. You can patent a design that uses particular colors, but not the color itself on any particular type of item.
Go read the story yourself before jumping to conclusions. The defendants settled out of court.
Besides that, it's also UNM's mascot.
Those parameters get passed to doubleclick when the page loads, because they are encoded in the URL for the ad image. Your browser gets this URL, and not knowing any better, sends it on to doubleclick in order to retrieve the image, because that is what is done with image URLs on a web page. Ad URLs don't have to be done this way -- but targeted ad vendors pay more money to web sites that provide targeting info, and the simplest way of doing this is appending the entire URL of the page you're loading to the URL that is sent to doubleclick. However, some sites (as described in the story) include possibly sensitive information in some URLs, and blindly include this in the URLS that get sent on to doubleclick.
I'm not going to argue with any of this, but I have some comments to add.
1. I have had very little in the way of stability problems in Windows, but I have seen some stability problems with the Linux reader; in particular, if I ran it from the command line with the name of an encrypted PDF file, it crashed every time, while if I started it without naming a file, then loaded the encrypted PDF, it worked fine. (Incidentally, this was the only reason I loaded the Acrobat Reader on my Linux box; at the time, 9 months or so ago, I had no other way to read the PDF under Linux.
2. It does remind me of Windows, or at least, the Windows version of Acrobat.
3. I've made this comment about Acrobat looking ugly on screen as well, in particular, in comparison with Microsoft Word. Acrobat uses anti-aliasing on the display of text, which is why all the text looks fuzzy in Acrobat. Time has shown that anti-aliasing on text, at normal text sizes (like you might use in the body of some sort of document), simply doesn't look good; it makes the text too hard to read. On the other hand, Acrobat doesn't use anti-aliasing on bitmaps that are displayed at anything other than their natural size (which is almost unavoidable, if you're using Acrobat in the most common way, to produce electronically-deliverable documents whose main target is print). As a result, such bitmaps tend to have missing or duplicated rows/columns of pixels that make them look quite irregular. MS Word, for all its shortcomings, gets this correct - it uses anti-aliasing for scaled graphics, but not for text.
And the one who got it wrong was one of those Japanese car makers (forget which), with their car, the Millenia. Guess what it's got thousands of... :-)
Maybe with this deal we'll get Linux versions of the Real products at the same time as the Windows versions. I've never liked Real much because it seems they come out with a new version every few months, and the rare times when I want to listen to/view something in Real formats, I have to download a new player just to hear it. What's worse, the last couple versions, the Linux versions have gotten behind, to the point that by the time the Linux player is out, nobody's producing content playable by that version any more. RealPlayer G2 (a.k.a. RealPlayer 6) only ever came out for Linux in an unsupported alpha release, and it doesn't play all the stuff that ended up in the final RealPlayer G2. I don't know how long RealPlayer 7 has been out, but it's been a while, and there's no Linux version yet. This story says it's coming, but what we need is not just RealPlayer 7 for Linux, but also RealPlayer 8 for Linux when RealPlayer 8 for Windows comes out.