Everybody here please learn that this has nothing to do with "transparent windows". You could write a "transparent window" window system with NO graphics (the client program must supply the contents of a window as a 4-byte/pixel image with alpha transparency). Conversely you can draw elaborate high-level graphics with no transparency, just like a PostScript printer cannot make the paper transparent but is still useful despite this handicap.
Although both goals are useful, please realize that they have nothing to do with each other, except that the transparency of a window will probably be determined by accumulating the transparent paint that the rendering system will use (but such transparent paint is useful even if there are no transparent windows).
This addresses the high-level rendering end and has nothing to do with "transparent windows".
My impression is that the antialiased fonts work fine (you do have to convince your software to use them but I expect the next versions of KDE and Gnome will be this way by default).
However I have had no luck using it to draw anything other than fonts. It is supposed to draw antialiased filled trapazoids (which can then be used to draw any shape antialiased) but I have had no luck in getting them to work. I suspect there are a lot of bugs in the current implementations. This unfortunately means nobody uses them and thus nobody fixes the bugs...
NeXT did not have any kind of co-processor that did anything very complicated (it may have had something doing bitblt but certainly nothing that could be considered "rendering postscript").
In my opinion Display Postscript is seriously flawed by an absurdly difficult interface for drawing the postscript. It is designed ONLY to "preview" a document and nobody ever writes a program that uses it to draw the interactive display. NeXT was better in that, although it used the DPS interface, it used ONLY that interface, you used PostScript to create and manipulate windows and thus you did not have to learn how to interface both DPS and X (or whatever). NeXT then messed this up by insisting that people use NeXTStep, but that is another story. NeWS shows how it should be done: the interface was an absurdly simple stream interface, with simple token substitution so that common PostScript commands could be 1 byte and numbers could be sent as raw data. A NeWS program was the only one that could dump it's entire user interface to the server with a simple block copy.
I have no idea why you are saying GDI32 is good, unless you are trying to troll here. It is exactly like X interface, in fact many parts of it are copied (there is no other explanation for the exact correspondence of the dashed line interface or the inane use of "points" to measure fonts when everything else is measured in pixels, these things were copied from X). Fonts are enormously better on GDI32 as you say. But unless you are living under a rock you would know that X uses hardware acceleration as well. And neither system does anything about color management, and neither of them should, this requires too detailed knowledge of the data being presented and is best left to the application. In fact X has a (fortunately abandoned) mess of CMS calls and I thought the LACK of these is one of GDI32's advantages, because you can assumme they do nothing.
Because of the horrid DPS interface I don't think there is any interest in emulating it. I would like to see a stateful interface like NeWS where there is no "context" argument to the calls (you can use the same tricks as OpenGL so multithreading is supported). I have not looked at what they are considering yet so I can't comment on it, but some of the XRender extension is pretty good, though I don't like the enforced creation of per-window objects.
I suspect both KDE and IE have been fixed already. The race is to see who gets the fix to the users first. I suspect that technically KDE will win easily, but only people who do some annoying thing of updating will get it. In about 6 months there will be a Windows Update that will fix IE and at that time I would expect the percentages of broken versions of each program to reverse so that a copy of IE on a random machine is more likely to be fixed.
I don't think MicroSoft is directly preventing the sales of Linux-only boxes by any of the companies. I'm sure a lot of other people here will point that out.
But what they are doing is preventing anybody from selling dual boot machines. In the current environement and with enough FUD from MicroSoft this is pretty effectively the same as preventing them from selling Linux, since nobody is willing to try it without the ability to retreat back to MicroSoft.
Does anybody know what happens to RSA if in fact one of the "prime" numbers is not prime? My guess is that this does not make it suddenly easy to break, or make it fail to encode (because either of those would imply a fast way to determine if a number is prime by seeing if it works in RSA). I would guess that a tiny fraction of messages would decode to garbage rather than to the desired text, but does anybody know for sure?
You are right IE is one of the programs that does not exit when you close all the windows. Perhaps the majority of MS apps do not exit, I thought I saw Word exit (but I don't have it myself so I can't test now) so I figured this was the common behavior.
Actually more interesting is that it looks like a lot of Apple applications exit when you close the last window, such as Itunes and Iphoto. But some don't, like Preview.
I would like to see this moved into libc (or into the kernel or whereever it has to be). I find it very annoying that I can type smb:foo into Konq but cannot type "cat smb:foo" to the shell. Is any real attempt being done at this? Everything I hear about requires you to link with a new library and change all the fopen/close calls, I would like a solution that gives every program this ability instantly.
It would also help a ton if there was a "start" command line program so that any program that wants can "open" a file or other URL without having to think about it.
Re:Let's not worry about who copied who.
on
GUIs for Everyone
·
· Score: 3, Interesting
Windows DID invent something important:
The "taskbar" introduced the idea that there would be a thing on the desktop representing a window that stayed there whether or not the window was open. Almost all modern interfaces copy this (OS/X and the new Linux ones) and as far as I can tell MicroSoft invented it. Before that everybody, including MicroSoft, thought of "iconization" where a window was replaced by a small representation, and the small representation disappeared when the window was opened.
If anybody can point to prior art where there was something created when the window is created that did not disappear when the window was opened I would like to know, but as far as I can tell this is a real invention by MicroSoft.
I also want to commend them on figuring out that text is much more important than icons, and getting rid of the large icons, especially in the taskbar, and supporting large amounts of text. This was a dramatic reversal from contemporary designs then and they should be commended for it, though I guess it isn't really an innovation.
I believe having Alt+Tab navigate to closed windows (not just opened ones like it did in CDE) is an innovation as well.
I think MicroSoft should be criticized for some stuff that now pollutes Unix and Windows and often is considered "user friendly" so it is impossible to fight them: click to type replacing point to type was very bad. Clicks raising windows completely defeats the whole purpose of overlapping windows. MDI and tiled windows are a horrible abonimation that was created because of the clicks raising windows. Tying all the app windows together so you can't insert non-app ones inbetween also defeats the purpose of overlapping windows. And icons on the desktop (why not in a window that can be raised?)
My experience is that none (or virtually none) of the apps do this, including the MicroSoft ones, if you assumme IE is a MicroSoft application.
Programs are allowed to act like Unix/Windows ones and exit when the last window is closed. Some Apple apps do this, like the preferences panel, and I'm sure a lot of stuff ported from Unix or Windows will act this way. As far as I can tell this is harmless to the user experience as long as the program starts quickly (this can be accomplished by not using NeXTStep:-)
"Official watermarks" would not work, since it would be equivalent to removing the watermark to let it play (because you could easily add the official one afterwards). It should be obvious from this bill that they intend future players to not play data without a watermark.
As I have said several times here, it is their intention to make garage bands and all other forms of independent entertainment illegal. They are using "piracy" as an excuse, they know better than any SlashDot poster that "piracy" is costing them nothing, but it works to get their goals passed through congress.
About time people, even here, started to realize that the RIAA and MPAA's goal is to make recording devices illegal. This will be done by introducing a new format that no home user can record. The best method would be to device a mechanical system so that it is totally impractical to manufacture disks in quantities less than the tens of thousands. More likely there would be an unbreakable 1-way hash (probably computer-generated and embedded in a tamper-proof chip in the RIAA's basement so nobody knows the key) that you have to pass your data through in order for it to be playable, and just the manufacture of unlicensed recording devices would be illegal. All players would only decode this hash, players that played data that had not been passed through the hash would be illegal.
Of course this will do nothing to stop "piracy" (or at least the real piracy that is for money) since those people will easily be able to steal or manufacture a recording device and produce 10,000 disks. The hash also does not stop them because they are only interested in duplicating disks that have the already-hashed data.
What it will do is make it impossible for anybody to produce any kind of entertainment without buying a license from the MPAA/RIAA and submitting their data to be encoded. Thus all competition is eliminated.
By the time everybody realizes this they will be able to say "well, that's too bad, but it's just the price we have to pay to stop those horrible pirates".
I'm not sure if this is the same as VirtualQuery() but I think it would be nice if a lot of the structured files were divided down into many more and much smaller files. So for instance that filename you want is actually the contents of a single file. I would expect this is easy with proc(). It should also be done with all the machine configuration but I expect reiserfs would be needed for that to be efficient. This would give the few advantages of the Windows calls (ie the registry calls do get you a single field without any more parsing needed) but also allow normal filesystem tools to be used.
Of course I'm not sure if there is any chance of this happening because it will break all the tools everybody is using now...
Re:Now begins the hardest part...
on
Ogg Vorbis 1.0
·
· Score: 2
I guess you are the geek. I have no idea what "fantasy character" OGG is named after (I believe you, it is just that you would have to be a geek to realize that it is a fantasy character). When I see OGG I think of "egg" which I seem to remember was a major record label at one time, so a lot of people will at least subconciously think of this as something music-related.
Re:Why is this an unusual occurrence?
on
Forbes on Linux
·
· Score: 3, Interesting
As several other responders here have stated, it's the companies that use the software that are making profits.
This straw-man argument keeps getting posted here. I think it is obvious to even the biggest OSS supporter that a company saying "here is some source code to a program that many people (not just you) want, give me $1000, and incidentally the license allows you to give the code to anybody else" is not going to make any money beyond 1 sale.
It is totally bogus to claim that OSS supporters say that you can make that money that way, and then try to ridicule them because of this false claim.
There *are* other ways for software to appear:
1. Ignore making money and make the software because you want to, as a hobby, or because of a philantropic desire to help the world. Admittedly this is the main source of Linux software today.
2. Sell OSS software that only ONE person wants, ie highly customized solutions. Actually it has been normal to give the source code with such customized solutions throughout computer industry history.
3. Sell OSS software with a modified license that does not allow the person to give it away.
4. Or (unbelievable but true) sell software EXACTLY LIKE YOU DO FOR WINDOWS. Anybody claiming this is impossible should check out the special effects industry where I work, where virtually every major piece of commercial software is available for Linux, and (GASP!) people PAY MONEY FOR IT (so none of this crap about people not paying for software on Linux, if it was available people are going to pay!)
I would think a problem with the proprietary solution is that people will hack the hardware and support software enough that they can get it to work on commodity hardware, I think.
The support cost is ZERO if you sell the Linux box and say quite clearly "No support is provided". In fact you could even rely on somebody blowing money on the machine before they find out if the hardware is all supported by the installed Linux and refuse the refund (bad word of mouth would quickly fix this before many broken machines were sold).
An even cheaper option is to sell a machine with *no* operating system. You can't answer questions about Linux because that isn't even a product being sold!
In either case I would expect the machines to be about $30 or $40 cheaper because they do not pay for a MicroSoft license for these machines.
The fact that Dell does not do this is pretty clear indication of strong-arm tactics by MicroSoft.
I believe Linux is popular because it matches the Unix standards that most computer users were accustomed to. Many older-school programmers are pissed off at MicroSoft in effect reverting interfaces to stuff designed before 1970 and changing the names of many concepts for no good reason. Linux was initially seen as a way to bring some sense to the computer, not as a great social revolution of open source.
MicroSoft blew it. They should not have hired Dave Cutler with his rabid hatred of Unix (he hates it because it killed his beloved child, VMS). If "Windows NT" had been a Unix clone when it started appearing in 1989, I don't think there would be any Linux or FreeBSD today, and MicroSoft software would run every single computing device on earth. PS: I don't mean that it ran X, I mean that the system should have provided symbolic links, binary-only files, no limits on characters in file names, and Unix process controls. MicroSoft could easily have added their own proprietary window system and if it fit the Unix process model it would have succeeded easily.
People ignore it now and concentrate on the "evil" of MicroSoft, but they have to realize that the reason there was such a push for Unix clones on PCs (which would have NO graphics, NO applications, NO drivers, and just a terminal interface) was the shock and horror at the absolute crap that MicroSoft was foisting on the public, such crap that they were willing to put up with tremendous limitations and huge amounts of work just to get an interface that was pleasant to program with.
MicroSoft has also got to realize that they screwed their image with these horrible designs, so much so that every new thing, even if it is maybe a well-designed thing (like perhaps.NET is?) is tainted with the "designed by MicroSoft" brush.
Mountable file system is a bad idea for normal Open Source development. You want to allow somebody to mess with the code without being connected to the internet, and you want to allow somebody you don't really trust to look at the code and try their own experiments without any possible risk to the central system. Also there are lots of people who will check stuff out with the intention of doing some great and wonderful addition, but then do nothing, and it would be preferrable if such a person cost zero resources after they got the code.
For these and many other reasons the private check-out style of CVS is much better. All the smarts needs to be done at the moment a user decides their changes should be merged back into the central database.
I'm pretty certain all of the listed replacements, and every other one everybody has thought of, addresses this problem. It is the most obvious defect in CVS, and in my limited use, the only one that has really hurt the projects I work on (simple things like deciding to change all the.C files to.cxx so stupid Windows can compile them as C++ required the entire revision history to be deleted and forced everybody to update every file, and now we discover that.cxx is not the most popular Windows extension and we should be using.cpp! I also would like to fix the capitalization and standardize the prefixes on source files and there is a strong disincentive to do this).
This should be possible. I don't know how it would really be done, but imagine if you made a file that was all the code concatenated together with marker lines added between each file saying what the file name is. Then splitting some source code would simply be the insertion of a single line, renaming a file would be the changing of one line, deleting a file would delete a block of lines, and new files would be added on the end. It seems to me that you could use CVS to manage this file and re-joining split files would be easy. It would not allow you to neatly join two files that are not adjacent, but a more advanced diff system that could detect a moved block (which would be very useful inside source files) would be able to do this. Such a system could also detect code moved from one file to another.
Any real system would hide this big file from the user, but it does seem like a good approach is to internally get rid of the files/directories as soon as possible and imagine the entire project as a single stream of bytes and then do advanced analysis of the differences and merges on this stream.
FLTK is portable between Linux (and other Unix/X systems) and Windows 95/NT/XP, and is also being used on handheld Linux systems, and there is a Mac port. The license is LGPL with an exception added so you can statically link a program with it and not release the source, and the license is the same on all platforms. It's my project, too, so I'm advertising it, I guess.
I don't think you can count that, really. Otherwise you would have to agree to the old claim that the Windows machine contains "Thousands of dollars of software free" when they count all the bad games and encyclopaedias and programs that force you to sign up for AOL. To the person who does not plan to paint images, the added value of Gimp is zero, and since you cannot save money by not getting Gimp, you cannot make any such claim.
I found it a bit confusing on their page comparing prices as they managed to make the Linux/Lindows/Windows machines all different hardware so you cannot find an exact match to see what the prices are. Also how much RAM is in these machines?
Although both goals are useful, please realize that they have nothing to do with each other, except that the transparency of a window will probably be determined by accumulating the transparent paint that the rendering system will use (but such transparent paint is useful even if there are no transparent windows).
This addresses the high-level rendering end and has nothing to do with "transparent windows".
However I have had no luck using it to draw anything other than fonts. It is supposed to draw antialiased filled trapazoids (which can then be used to draw any shape antialiased) but I have had no luck in getting them to work. I suspect there are a lot of bugs in the current implementations. This unfortunately means nobody uses them and thus nobody fixes the bugs...
In my opinion Display Postscript is seriously flawed by an absurdly difficult interface for drawing the postscript. It is designed ONLY to "preview" a document and nobody ever writes a program that uses it to draw the interactive display. NeXT was better in that, although it used the DPS interface, it used ONLY that interface, you used PostScript to create and manipulate windows and thus you did not have to learn how to interface both DPS and X (or whatever). NeXT then messed this up by insisting that people use NeXTStep, but that is another story. NeWS shows how it should be done: the interface was an absurdly simple stream interface, with simple token substitution so that common PostScript commands could be 1 byte and numbers could be sent as raw data. A NeWS program was the only one that could dump it's entire user interface to the server with a simple block copy.
I have no idea why you are saying GDI32 is good, unless you are trying to troll here. It is exactly like X interface, in fact many parts of it are copied (there is no other explanation for the exact correspondence of the dashed line interface or the inane use of "points" to measure fonts when everything else is measured in pixels, these things were copied from X). Fonts are enormously better on GDI32 as you say. But unless you are living under a rock you would know that X uses hardware acceleration as well. And neither system does anything about color management, and neither of them should, this requires too detailed knowledge of the data being presented and is best left to the application. In fact X has a (fortunately abandoned) mess of CMS calls and I thought the LACK of these is one of GDI32's advantages, because you can assumme they do nothing.
Because of the horrid DPS interface I don't think there is any interest in emulating it. I would like to see a stateful interface like NeWS where there is no "context" argument to the calls (you can use the same tricks as OpenGL so multithreading is supported). I have not looked at what they are considering yet so I can't comment on it, but some of the XRender extension is pretty good, though I don't like the enforced creation of per-window objects.
I suspect both KDE and IE have been fixed already. The race is to see who gets the fix to the users first. I suspect that technically KDE will win easily, but only people who do some annoying thing of updating will get it. In about 6 months there will be a Windows Update that will fix IE and at that time I would expect the percentages of broken versions of each program to reverse so that a copy of IE on a random machine is more likely to be fixed.
But what they are doing is preventing anybody from selling dual boot machines. In the current environement and with enough FUD from MicroSoft this is pretty effectively the same as preventing them from selling Linux, since nobody is willing to try it without the ability to retreat back to MicroSoft.
Does anybody know what happens to RSA if in fact one of the "prime" numbers is not prime? My guess is that this does not make it suddenly easy to break, or make it fail to encode (because either of those would imply a fast way to determine if a number is prime by seeing if it works in RSA). I would guess that a tiny fraction of messages would decode to garbage rather than to the desired text, but does anybody know for sure?
Actually more interesting is that it looks like a lot of Apple applications exit when you close the last window, such as Itunes and Iphoto. But some don't, like Preview.
It would also help a ton if there was a "start" command line program so that any program that wants can "open" a file or other URL without having to think about it.
The "taskbar" introduced the idea that there would be a thing on the desktop representing a window that stayed there whether or not the window was open. Almost all modern interfaces copy this (OS/X and the new Linux ones) and as far as I can tell MicroSoft invented it. Before that everybody, including MicroSoft, thought of "iconization" where a window was replaced by a small representation, and the small representation disappeared when the window was opened.
If anybody can point to prior art where there was something created when the window is created that did not disappear when the window was opened I would like to know, but as far as I can tell this is a real invention by MicroSoft.
I also want to commend them on figuring out that text is much more important than icons, and getting rid of the large icons, especially in the taskbar, and supporting large amounts of text. This was a dramatic reversal from contemporary designs then and they should be commended for it, though I guess it isn't really an innovation.
I believe having Alt+Tab navigate to closed windows (not just opened ones like it did in CDE) is an innovation as well.
I think MicroSoft should be criticized for some stuff that now pollutes Unix and Windows and often is considered "user friendly" so it is impossible to fight them: click to type replacing point to type was very bad. Clicks raising windows completely defeats the whole purpose of overlapping windows. MDI and tiled windows are a horrible abonimation that was created because of the clicks raising windows. Tying all the app windows together so you can't insert non-app ones inbetween also defeats the purpose of overlapping windows. And icons on the desktop (why not in a window that can be raised?)
Programs are allowed to act like Unix/Windows ones and exit when the last window is closed. Some Apple apps do this, like the preferences panel, and I'm sure a lot of stuff ported from Unix or Windows will act this way. As far as I can tell this is harmless to the user experience as long as the program starts quickly (this can be accomplished by not using NeXTStep :-)
As I have said several times here, it is their intention to make garage bands and all other forms of independent entertainment illegal. They are using "piracy" as an excuse, they know better than any SlashDot poster that "piracy" is costing them nothing, but it works to get their goals passed through congress.
Mom & Pop will be satisfied with this. They may forget that there was once an ability to move data from one device to another.
Of course this will do nothing to stop "piracy" (or at least the real piracy that is for money) since those people will easily be able to steal or manufacture a recording device and produce 10,000 disks. The hash also does not stop them because they are only interested in duplicating disks that have the already-hashed data.
What it will do is make it impossible for anybody to produce any kind of entertainment without buying a license from the MPAA/RIAA and submitting their data to be encoded. Thus all competition is eliminated.
By the time everybody realizes this they will be able to say "well, that's too bad, but it's just the price we have to pay to stop those horrible pirates".
Of course I'm not sure if there is any chance of this happening because it will break all the tools everybody is using now...
It's called "part time". Look into it.
I guess you are the geek. I have no idea what "fantasy character" OGG is named after (I believe you, it is just that you would have to be a geek to realize that it is a fantasy character). When I see OGG I think of "egg" which I seem to remember was a major record label at one time, so a lot of people will at least subconciously think of this as something music-related.
This straw-man argument keeps getting posted here. I think it is obvious to even the biggest OSS supporter that a company saying "here is some source code to a program that many people (not just you) want, give me $1000, and incidentally the license allows you to give the code to anybody else" is not going to make any money beyond 1 sale.
It is totally bogus to claim that OSS supporters say that you can make that money that way, and then try to ridicule them because of this false claim.
There *are* other ways for software to appear:
1. Ignore making money and make the software because you want to, as a hobby, or because of a philantropic desire to help the world. Admittedly this is the main source of Linux software today.
2. Sell OSS software that only ONE person wants, ie highly customized solutions. Actually it has been normal to give the source code with such customized solutions throughout computer industry history.
3. Sell OSS software with a modified license that does not allow the person to give it away.
4. Or (unbelievable but true) sell software EXACTLY LIKE YOU DO FOR WINDOWS. Anybody claiming this is impossible should check out the special effects industry where I work, where virtually every major piece of commercial software is available for Linux, and (GASP!) people PAY MONEY FOR IT (so none of this crap about people not paying for software on Linux, if it was available people are going to pay!)
I would think a problem with the proprietary solution is that people will hack the hardware and support software enough that they can get it to work on commodity hardware, I think.
An even cheaper option is to sell a machine with *no* operating system. You can't answer questions about Linux because that isn't even a product being sold!
In either case I would expect the machines to be about $30 or $40 cheaper because they do not pay for a MicroSoft license for these machines.
The fact that Dell does not do this is pretty clear indication of strong-arm tactics by MicroSoft.
MicroSoft blew it. They should not have hired Dave Cutler with his rabid hatred of Unix (he hates it because it killed his beloved child, VMS). If "Windows NT" had been a Unix clone when it started appearing in 1989, I don't think there would be any Linux or FreeBSD today, and MicroSoft software would run every single computing device on earth. PS: I don't mean that it ran X, I mean that the system should have provided symbolic links, binary-only files, no limits on characters in file names, and Unix process controls. MicroSoft could easily have added their own proprietary window system and if it fit the Unix process model it would have succeeded easily.
People ignore it now and concentrate on the "evil" of MicroSoft, but they have to realize that the reason there was such a push for Unix clones on PCs (which would have NO graphics, NO applications, NO drivers, and just a terminal interface) was the shock and horror at the absolute crap that MicroSoft was foisting on the public, such crap that they were willing to put up with tremendous limitations and huge amounts of work just to get an interface that was pleasant to program with.
MicroSoft has also got to realize that they screwed their image with these horrible designs, so much so that every new thing, even if it is maybe a well-designed thing (like perhaps .NET is?) is tainted with the "designed by MicroSoft" brush.
For these and many other reasons the private check-out style of CVS is much better. All the smarts needs to be done at the moment a user decides their changes should be merged back into the central database.
I'm pretty certain all of the listed replacements, and every other one everybody has thought of, addresses this problem. It is the most obvious defect in CVS, and in my limited use, the only one that has really hurt the projects I work on (simple things like deciding to change all the .C files to .cxx so stupid Windows can compile them as C++ required the entire revision history to be deleted and forced everybody to update every file, and now we discover that .cxx is not the most popular Windows extension and we should be using .cpp! I also would like to fix the capitalization and standardize the prefixes on source files and there is a strong disincentive to do this).
Any real system would hide this big file from the user, but it does seem like a good approach is to internally get rid of the files/directories as soon as possible and imagine the entire project as a single stream of bytes and then do advanced analysis of the differences and merges on this stream.
FLTK is portable between Linux (and other Unix/X systems) and Windows 95/NT/XP, and is also being used on handheld Linux systems, and there is a Mac port. The license is LGPL with an exception added so you can statically link a program with it and not release the source, and the license is the same on all platforms. It's my project, too, so I'm advertising it, I guess.
I found it a bit confusing on their page comparing prices as they managed to make the Linux/Lindows/Windows machines all different hardware so you cannot find an exact match to see what the prices are. Also how much RAM is in these machines?