For Fast Cross Platform Development, Java Wins
on
The Future of Java?
·
· Score: 3, Insightful
Your point about speed of development is a very good one.
I am currently developing a custom database and data collection package that MUST run both on Linux and Windows 2000. As well as the intrinsic functionality, it has a significant GUI component as well. Equally important, I don't have a lot of time to get it done. I considered many options, including C/C++ with QT, vxWindows, GTK and other "cross platform" toolkits, perl, and others. In the end, Java won the day for several reasons:
1. Java plus Swing is the closest to truly cross platform of all of the options. I have written around 6000 lines of code so far and less than a dozen have to be changed to account for differences between Windows and Linux, even though the program does some relatively low-level things like directly accessing modems through serial ports. In addition, the Swing GUI looks EXACTLY the same on all platforms. GUI toolkits which try to give you "native" L&Fs often need tweaking between platforms to look good. Once you get a Swing GUI looking good on one platform, you're done.
2. Java has an extremely complete and easy to use interface to SQL DBMSs (JDBC) which works the same on all platforms.
3. Sun's online documentation is very complete and easy to use (this can be a big plus with speed is important).
3. The higher level nature of Java compared to C/C++ (e.g., automatic memory management, better runtime checking) make for extremely quick debugging. I am achieving operational code with many fewer iterations than I ever did with C/C++. Java may be slightly slower than C++ because of these features, but this particular program is not pushing the performance envelope, so the faster development time is much more valuable.
This is the first sizable project I have programmed in Java, and overall I'm very happy with the results so far. A year ago, that's something I'd never have guessed I'd be saying.
I don't work for Nvidia, but if they're like most high end competitive products, there are probably trade secrets involved in their designs. Trade secrets are generally things that might not be patentable, but nonetheless are critical to the technical lead your product might have. The fact that they may not be patentable is why companies try to keep them secret for as long as possible.
In the case of NVidia, it's entirely possible that their driver code would necessarily reveal some of their hardware's trade secrets.
The irony here is that most Slashdotters probably don't have anything big against the need for hardware companies to keep trade secrets in general, but when this necessitates closed-sourcing some of their driver code, everybody screams foul.
I'm all in favor of OSS, and I use OSS for everything I do unless there's no option, but put yourself in their shoes for a moment - if you happened to make the world's fastest consumer video card at some point in time, would you be in a hurry to release details that would likely help your competitors to catch up faster?
You might ask "then how come company X can release open source drivers or specs and NVidia can't?", and this would be a valid question. I don't know the answer, but there are several possibilites. One is that the specs they release to the OSS community don't really have *all* of the details (which would mean their proprietary drivers would always be a little bit faster). Another possibility is that their design is such that the driver code or programming specs don't reveal as many trade secrets.
The power is largely dissipated as heat. [emphasis added]
Duh! Funny, I have never seen any (properly connected) microprocessor chip generating much in the way of light , sound, or X-rays. I suppose a teensy weensy amount might go off as RF emissions, but not from the DC leakage current.
Yeah right. Just ask the two people I know who actually LOST THEIR JOBS because of game addictions. These statements are nothing but self-serving masturbation to give game addicts a false sense of security that they don't have a real problem.
Sure, game addiction isn't as bad as crack or alchohol, but I've seen it cause serious havoc in people's lives, including getting fired from their jobs, just like alchoholics and drug addicts.
Casual gaming is great, and maybe even constructive, just like social drinking. But when it becomes an addiction it can be as disruptive to your life as any other kind of addiction, and ignoring it or saying it is OK because it's not physically harmful like alchohol is doing a disservice to people with serious cases who may need help before they end up in the unemployment line.
Many if not most of the pirated copies of Photoshop that I've seen are *not* in the hands of 14-year-olds. They were in the hands of full-grown adults who simply didn't want to pay the $600 (or whatever) for the program.
is because they had control of the whole thing. Applications and operating systems both suffer from usability problems, but they are different - operating systems face even more problems.
One of the problem with an OSS operating system like Linux, is that all of the components come from different projects and different places. These different projects all have different goals, different levels of maturity, and different degrees of momentum and ability/inability to change.
Sure, there is some cooperation among groups, and the level of usability and integration does improve slowly, though often not until nudged along by a big player like Red Hat. For example, take fonts. To get a font to work in most versions of linux, the font has to be separately installed into all of the various components that may need the font, for example X and Ghostscript, and because of the lack of a consistent API, many apps, such as StarOffice, require yet their own installation of fonts. Efforts are finally being made to integrate this mess, but progress is slow and usually involves creating yet another piece of "glue" software to tie the pieces together instead of making the projects all change to use a common system.
In the end, with OSS, there is no authority that can say to all the components "get this shit integrated, and do it in a consistent way".
Now, before you flame me, yes, this has good aspects as well - there will be more innovation because more ways to do something will be tried, and one project doesn't necessarily have to be hampered by some bad decision made by another project. But it does unfortunately have the downside that usability and integration suffer.
Apple, on the other hand, would have been blithering idiots to allow three or four different parts of their OS to use some wildly different font system. If they did, they would have been laughed out of existance by the same people who praise this kind of behaviour in OSS projects.
Actually Swing is quite adequate for desktop applications, and some very complex desktop applications have been written using Swing (such as Netbeans). The main problem with Swing is that if anything, it's *too* complex and tends to run visibly slow on anything less than a 1GHz machine.
I think Swing's sluggishness has been a detriment to Java. Recent model JVM's with JIT compilation are quite fast at executing Java code, but people who use a Swing app on a slow machine will say Java is slow when what they really mean is Swing is slow.
GTK has been ported to windows, and of course native Java compilers exist on windows (perhaps even gcj, don't know). The Java-GTK bindings haven't yet been ported to win32, but that's the only piece that would have to be done in order to write cross-platform native Java/GTK apps. Mac OS/X probably wouldn't be too hard to add either.
I currently use Swing for GUI Java apps because it's cross platform with minimal headaches, but Swing is a slow pig on anything less than a 1GHz machine. Unfortunately I don't think there is anyone working on it right now, but It'd be great to dump Swing for GTK once these bindings get ported.
I used to have different passwords for different services and had my browswer remember them. The problem was that if I needed to access something from somewhere else, it was a royal pain because I didn't remember all the passwords and my home computer is not accessable over the internet. There were times when I had to have a service email me my password, which opens up its own security problems.
Also, if you have your browser store passwords at work, then you're extremely insecure as well.
I used to think different passwords for different services was more secure, but I now use the same password for all sites and then change this password everywhere periodically. It's a minor hassle to change them but it's probably more secure than either Passport or browser storage, and I can access everything no matter where I am.
At least a bit of one anyway. I use Linux almost exclusively at home (and luckily at work too). I only use Windows a few times a year, primarily for doing my tax return as there is still no Linux based package that even comes close to the functionality of TurboTax.
I have been using "alternative" operating systems for around eight or nine years now, starting with OS/2, and then moving to Linux 5 years ago when OS/2 seemed to be dying.
After all that time, I have to admit, it is much easier to complain about Microsoft than to actually use the alternatives on a day-to-day basis. I have managed to do it, but it takes a little bit of a pioneering spirit. It is much easier now, but five years ago, StarOffice (version 4 I believe) was a piece of crap, and programs like AbiWord, Gnumeric, KOffice, GIMP, Mozilla, Blender, KDE, GNOME (and many others too numerous to mention) were either non-existant or just in their infancy. There was a long period of time where I used LyX and LaTeX for word processing and all everyone else could say was: "Why?". The bottom line is that even today, it is still easier and more turnkey to use Windows.
There are also still many times when it takes more work to get some piece of hardware working in Linux than in Windows. You still can't go to the computer store to buy new hardware without a binder full of Linux hardware compatability lists.
I have tried to get some of my other family members to use Linux, and I have been having more success recently, but only after a lot of the more recent software has become available. My 13 year old son is now a Linux advocate but he still has to use Windows for 90% of his games, and most of his friends (even the technically oriented ones) still use windows.
The good news is that things are changing slowly. I can now do nearly everything I need to in Linux and I only feel like a "pioneer" 50% of the time. With flagship Linux companies like Red Hat now concentrating on the desktop, hopefully things will accelerate further.
There is a reason that the warranty periods have been reduced. Warranty periods are not being reduced simply to screw us, they're being reduced because the "us" has changed. The target market for IDE drives is now heavily consumer, where 10 years ago it was heavily business.
I have been away from the industry for around five years now, but having worked directly with drive designers, I know that at least at the design engineering level, they used to be genuinely concerned about reliability and MTBF. Now that disk drives have been pushed into the commodity consumer market space, manufacturers have to cut more corners than they used to to meet the low ASPs
What's happened, however, is that over the last 10 years or so, disk drives (and computers in general) have largely gone from being considered primarily business tools, to being considered primarily commodity consumer items. These two categories come with very different ASPs and expectations of reliablity.
One thing that you can't escape from is that if you target the same functionally identical product for $300, you can design and build in more reliability than if you target it for $150. You can do this by using higher quality components and sub-assemblies, by spending more engineering time evaluating, testing, and beating up the design, and by more thorough production testing.
Now, its not uncommon for manufacturers to offer multiple tiers of product quality for different markets. Unfortunately right now in disk drives, the two main choices are IDE (low end) and SCSI (high end); there isn't much middle ground. I agree that the SCSI premium is too high for most consumers to consider.
Perhaps if the true reliability data is known, as you suggest, then this might help create pressure on the manufacturers for a "middle-ground" tier of drives - perhaps a line of IDE drives that would be a little more expensive than current IDE prices, but less than SCSI prices with corresponding "middle-tier" reliability.
The downward price pressure on hard drives has been extreme in the last few years, and now wer're paying the other price - in reliability.
I worked for several years for a company which designed and manufactured ICs for hard drives (I worked on read channels, but the company made other chips as well, such as preamps and servo controllers). There has always been competition and downward price pressure in this market, but early on, both the ASPs and the product lifetimes were somewhat reasonable.
Over the last 5-10 years, things have changed a lot. The lifetime of a drive product is very short (sometimes as short as 6 months), and each new generation is so much faster and denser than the last that many of the critical components require a from-the-ground-up redesign with very little being borrowed from the previous generation. This, combined with lower ASPs than ever, have made it more and more difficult to be highly profitable as maker of chips for hard drives. Companies that are successful have engineers working very long hours to do it. Several companies have left the market entirely, or have taken on other product lines as well
And this is just the ICs. I'm sure manufacturers of other drive components (platters, heads, etc.) have seen similar erosion of product lifetimes and ASPs.
The end result of all of this it that there will be an inevitable hit in quality and reliability. There's really no other choice. When customers are once again willing to pay $200-$300 for a current technology drive, you will see the quality go backup. Even today, SCSI drives, which are generally more expensive then IDE drives are also more reliable, as many posters have pointed out.
Simply include a program that pops up the first time you are connected to the internet after installation and offer to automatically download and install the RPM from the XMMS web site (after asking permission for xmms.org first, of course)? I'm sure xmms.org would cooperate here.
This way, they don't violate the patents (instead redirecting the download to xmms.org, which doesn't seem to mind distributing it), while still making it relatively simple and automatic for new users and others who then wouldn't have to figure out what's going on.
My DSL connection is arount 100KBytes/s. At this rate, TightVNC is obviously noticably slower than a local connection, but it's fast enough that you can use it without feeling like throwing a rock at the monitor.
16KB/s or 32Kb/s would be noticably slower, but there are some things you can to that can help, even with TightVNC's tight encoding:
1. Don't use a complicated desktop background. All versions of VNC (including Tight) send low-level bitmap information, not high-level window information. The more complicated your background, the less it compresses, and the slower the repaints.
2. Have as few windows open as possible so your desktop is uncluttered - same reason as 1.
3. Use the lowest color depth you can stand for your particular application. If you're doing word processing, you can probably get away with 8bpp and it will be faster than 16 or 24.
4. When scrolling in a document, use the page-up and page-down keys (or page-up and page-down areas of the scroll bar) instead of the scroll slider. This results in fewer repaints, and any sluggishness is less annoying.
Actually, the original VNC allowed this too, but it wasn't enabled by default. If you used the -shared option to vncviewer, then it would allow additional connections to the same server.
TightVNC turns this on by default, so users don't have to know about the option.
For comparison, also check out TightVNC. TightVNC makes a remote graphical desktop quite usable over DSL speeds.
It sounds like the main VNC branch has now added a tight-like encoding (ZRLE) which may obviate the need for TightVNC, but TightVNC has some additional niceties like automatic tunneling over SSH.
DeCSS is just one program that cracks CSS and hence violates the DMCA. But what if 100 different programmers were to take the basic keys and write a hundred different programs which all do the same thing (decrypt DVDs "illegally"), but are each distinct, separate programs, all starting from scratch. If it's coordinated well, these programs can all be released on the same day as a civil disobediance action.
Maybe I'm wrong, but I imagine these programs would all qualify as separate contraband devices under the DMCA, and each would have to be prosecuted separately. Imagine 100 or even 1000 Skylarov cases clogging the justice system! Would the Justice department even have the bandwidth for so many cases? Even if they did, it would take years to get to them all. Now that might get some attention.
...The more you do it, the more you forget it's not real:).
Seems I've forgotten where I heard that.
Seriously, though, I don't think engineering is going away antime soon. For the last 20 years, I've been hearing that software is going to replace engineers, and yet I still have a job. What's really happened is that the software has let fewer engineers tackle much larger and tougher tasks, but in the end, you still need the judgement of the engineers to make sure the software has done what you wanted.
This is true especially in the area of analog design, where software to automate design has moved ahead much more slowly than in the digital realm. There are some very expensive programs out there that will attempt to optimize simple and medium complexity analog circuits, but they are still nowhere near replacing analog engineers. You still have to give them a circuit topology, they only optimize the device sizes.
Even in the digital arena, while the tools for synthesizing actual transistor level circuits are fairly mature, and digital designers by and large don't have to deal with transistors or gates anymore, they still have to design the algorithms and check the results of the software synthesis. Basically, the digital designer's job still exists (and will for some time to come), but it has just moved up a level or two in abstraction, from transistors, to gates, and now to algorithms.
There is a subtle difference between competition and pure redundancy. Competition is good because it "raises the bar" of some quantity such as quality, price, value, features, etc. But for two things to be competing, they must be different in some fundamental way.
Two pieces of software that are virtually identical except for their GUI toolkit are not competitive, they are redundant.
Now, we don't know exactly how this Kroupware will come out, so we really don't know yet whether it will be competitive or redundant. If it's basically just Evolution written to the QT toolkit and KDE libs, then it will be redundant; if it (hopefully) offers something distinctive and raises the bar for Linux groupware, then it will be competitive.
I sure wish the KDE team would krow out of this keverything-kmust-kstart-kwith-a-K naming convention and realize that their creative horizons can really be much broader.
This poster is correct. The problem is that the cost model of the corner video store is very efficient and hard to beat.
Let's say that I can "rent" a movie over the internet for the same price as in the video store, say around $3.00 (remember, Harry Potter over the internet was more than that and it was only for 24 hours). Let's also say I rent a dozen movies a month. At the corner video store, my total monthly cost for this is $36 (plus maybe a buck or two for gas).
Now, I have other reasons for wanting broadband (like downloading Linux ISOs - virtually impossible with 56K) but let's assume that the only reason most home users would want broadband is for multimedia content. On the internet, my total monthly cost for the 12 movies would be $36 plus the monthly extra for broadband, around $40 in many areas. This totals to $76, more than twice the cost. Not only that, but a typical download movie the size of Harry Potter would still take 2-3 hours to download even at 1Mb/s (my local DSL rate) during which time I could have driven to the corner video store and back 7 or 8 times! The final insult is that the DVD from the video store will have higher quality than the downloaded file.
One of two things has to happen for this to catch on - either online content has to become much cheaper than video store or the surcharge for broadband has to become much smaller, or both. Until then, the corner video store model will be hard to beat.
You're right. The DMCA and copyright violation in general tend to have their distinction blurred but they are really different things. While I approve of them going after mass copyright violators, I disapprove of them going after Skylarov. Good point. Unfortunately, the article drifted into talking primarily about catching copyright violaters, and that's what I had in mind when I was making my point.
I still think that if the amount of widely distributed copyright violation on the net can be reduced, that it will take some of the wind out of the sails of the DMCA.
Perhaps if Mr. Ishikawa really does disaprove of the DMCA as he says, then he could concentrate mainly on the general copyright violation portion of his business rather than catching specifically DMCA violators.
In the past, whenever a story about the DMCA came up, by far one of the most common responses was:
"Why not go after the violators instead of taking away everyone's fair use rights?"
This is a reasonable response. Clearly the DMCA is bad because it takes away both fair use and certain forms of free speech that have never previously been banned. On the other hand, widely distributing copies of copyrighted material without the owner's permission is also not right in most people's minds (I realize that there are those who disagree with this).
So, we have an entity who is trying to go after the offenders (and primarily just the big ones), and many people here are criticizing it as some kind of evil activity. This seems pretty hypocritical.
In the past, the coexistence of copyright and fair use has worked because of the balance that existed between the allowing of petty violations (things like making a tape of a record for a friend) and the enforcement of big time content pirates.
The popularizing of the internet has allowed the many petty violations to become far-ranging, and hence the balance has been upset to some degree. As a result, the content providers' response has been to enact the DMCA, which has been bad all around because it attempts to eliminate fair use and petty violations but does little to stop big time piracy.
This company (BayTSP) is attempting to restore the balance by helping to ferret out larger pirates on the internet. If this works, it could actually provide justification for softening the overreaching DMCA by restoring the balance of petty and big time copyright infringement that existed under traditional copyright law.
Your point about speed of development is a very good one.
I am currently developing a custom database and data collection package that MUST run both on Linux and Windows 2000. As well as the intrinsic functionality, it has a significant GUI component as well. Equally important, I don't have a lot of time to get it done. I considered many options, including C/C++ with QT, vxWindows, GTK and other "cross platform" toolkits, perl, and others. In the end, Java won the day for several reasons:
1. Java plus Swing is the closest to truly cross platform of all of the options. I have written around 6000 lines of code so far and less than a dozen have to be changed to account for differences between Windows and Linux, even though the program does some relatively low-level things like directly accessing modems through serial ports. In addition, the Swing GUI looks EXACTLY the same on all platforms. GUI toolkits which try to give you "native" L&Fs often need tweaking between platforms to look good. Once you get a Swing GUI looking good on one platform, you're done.
2. Java has an extremely complete and easy to use interface to SQL DBMSs (JDBC) which works the same on all platforms.
3. Sun's online documentation is very complete and easy to use (this can be a big plus with speed is important).
3. The higher level nature of Java compared to C/C++ (e.g., automatic memory management, better runtime checking) make for extremely quick debugging. I am achieving operational code with many fewer iterations than I ever did with C/C++. Java may be slightly slower than C++ because of these features, but this particular program is not pushing the performance envelope, so the faster development time is much more valuable.
This is the first sizable project I have programmed in Java, and overall I'm very happy with the results so far. A year ago, that's something I'd never have guessed I'd be saying.
I don't work for Nvidia, but if they're like most high end competitive products, there are probably trade secrets involved in their designs. Trade secrets are generally things that might not be patentable, but nonetheless are critical to the technical lead your product might have. The fact that they may not be patentable is why companies try to keep them secret for as long as possible.
In the case of NVidia, it's entirely possible that their driver code would necessarily reveal some of their hardware's trade secrets.
The irony here is that most Slashdotters probably don't have anything big against the need for hardware companies to keep trade secrets in general, but when this necessitates closed-sourcing some of their driver code, everybody screams foul.
I'm all in favor of OSS, and I use OSS for everything I do unless there's no option, but put yourself in their shoes for a moment - if you happened to make the world's fastest consumer video card at some point in time, would you be in a hurry to release details that would likely help your competitors to catch up faster?
You might ask "then how come company X can release open source drivers or specs and NVidia can't?", and this would be a valid question. I don't know the answer, but there are several possibilites. One is that the specs they release to the OSS community don't really have *all* of the details (which would mean their proprietary drivers would always be a little bit faster). Another possibility is that their design is such that the driver code or programming specs don't reveal as many trade secrets.
The power is largely dissipated as heat. [emphasis added]
Duh! Funny, I have never seen any (properly connected) microprocessor chip generating much in the way of light , sound, or X-rays. I suppose a teensy weensy amount might go off as RF emissions, but not from the DC leakage current.
Sounds like a pretty nice ending to me.
Yeah right. Just ask the two people I know who actually LOST THEIR JOBS because of game addictions. These statements are nothing but self-serving masturbation to give game addicts a false sense of security that they don't have a real problem.
Sure, game addiction isn't as bad as crack or alchohol, but I've seen it cause serious havoc in people's lives, including getting fired from their jobs, just like alchoholics and drug addicts.
Casual gaming is great, and maybe even constructive, just like social drinking. But when it becomes an addiction it can be as disruptive to your life as any other kind of addiction, and ignoring it or saying it is OK because it's not physically harmful like alchohol is doing a disservice to people with serious cases who may need help before they end up in the unemployment line.
Many if not most of the pirated copies of Photoshop that I've seen are *not* in the hands of 14-year-olds. They were in the hands of full-grown adults who simply didn't want to pay the $600 (or whatever) for the program.
is because they had control of the whole thing. Applications and operating systems both suffer from usability problems, but they are different - operating systems face even more problems.
One of the problem with an OSS operating system like Linux, is that all of the components come from different projects and different places. These different projects all have different goals, different levels of maturity, and different degrees of momentum and ability/inability to change.
Sure, there is some cooperation among groups, and the level of usability and integration does improve slowly, though often not until nudged along by a big player like Red Hat. For example, take fonts. To get a font to work in most versions of linux, the font has to be separately installed into all of the various components that may need the font, for example X and Ghostscript, and because of the lack of a consistent API, many apps, such as StarOffice, require yet their own installation of fonts. Efforts are finally being made to integrate this mess, but progress is slow and usually involves creating yet another piece of "glue" software to tie the pieces together instead of making the projects all change to use a common system.
In the end, with OSS, there is no authority that can say to all the components "get this shit integrated, and do it in a consistent way".
Now, before you flame me, yes, this has good aspects as well - there will be more innovation because more ways to do something will be tried, and one project doesn't necessarily have to be hampered by some bad decision made by another project. But it does unfortunately have the downside that usability and integration suffer.
Apple, on the other hand, would have been blithering idiots to allow three or four different parts of their OS to use some wildly different font system. If they did, they would have been laughed out of existance by the same people who praise this kind of behaviour in OSS projects.
Actually Swing is quite adequate for desktop applications, and some very complex desktop applications have been written using Swing (such as Netbeans). The main problem with Swing is that if anything, it's *too* complex and tends to run visibly slow on anything less than a 1GHz machine.
I think Swing's sluggishness has been a detriment to Java. Recent model JVM's with JIT compilation are quite fast at executing Java code, but people who use a Swing app on a slow machine will say Java is slow when what they really mean is Swing is slow.
GTK has been ported to windows, and of course native Java compilers exist on windows (perhaps even gcj, don't know). The Java-GTK bindings haven't yet been ported to win32, but that's the only piece that would have to be done in order to write cross-platform native Java/GTK apps. Mac OS/X probably wouldn't be too hard to add either.
I currently use Swing for GUI Java apps because it's cross platform with minimal headaches, but Swing is a slow pig on anything less than a 1GHz machine. Unfortunately I don't think there is anyone working on it right now, but It'd be great to dump Swing for GTK once these bindings get ported.
I used to have different passwords for different services and had my browswer remember them. The problem was that if I needed to access something from somewhere else, it was a royal pain because I didn't remember all the passwords and my home computer is not accessable over the internet. There were times when I had to have a service email me my password, which opens up its own security problems.
Also, if you have your browser store passwords at work, then you're extremely insecure as well.
I used to think different passwords for different services was more secure, but I now use the same password for all sites and then change this password everywhere periodically. It's a minor hassle to change them but it's probably more secure than either Passport or browser storage, and I can access everything no matter where I am.
At least a bit of one anyway. I use Linux almost exclusively at home (and luckily at work too). I only use Windows a few times a year, primarily for doing my tax return as there is still no Linux based package that even comes close to the functionality of TurboTax.
I have been using "alternative" operating systems for around eight or nine years now, starting with OS/2, and then moving to Linux 5 years ago when OS/2 seemed to be dying.
After all that time, I have to admit, it is much easier to complain about Microsoft than to actually use the alternatives on a day-to-day basis. I have managed to do it, but it takes a little bit of a pioneering spirit. It is much easier now, but five years ago, StarOffice (version 4 I believe) was a piece of crap, and programs like AbiWord, Gnumeric, KOffice, GIMP, Mozilla, Blender, KDE, GNOME (and many others too numerous to mention) were either non-existant or just in their infancy. There was a long period of time where I used LyX and LaTeX for word processing and all everyone else could say was: "Why?". The bottom line is that even today, it is still easier and more turnkey to use Windows.
There are also still many times when it takes more work to get some piece of hardware working in Linux than in Windows. You still can't go to the computer store to buy new hardware without a binder full of Linux hardware compatability lists.
I have tried to get some of my other family members to use Linux, and I have been having more success recently, but only after a lot of the more recent software has become available. My 13 year old son is now a Linux advocate but he still has to use Windows for 90% of his games, and most of his friends (even the technically oriented ones) still use windows.
The good news is that things are changing slowly. I can now do nearly everything I need to in Linux and I only feel like a "pioneer" 50% of the time. With flagship Linux companies like Red Hat now concentrating on the desktop, hopefully things will accelerate further.
There is a reason that the warranty periods have been reduced. Warranty periods are not being reduced simply to screw us, they're being reduced because the "us" has changed. The target market for IDE drives is now heavily consumer, where 10 years ago it was heavily business.
I have been away from the industry for around five years now, but having worked directly with drive designers, I know that at least at the design engineering level, they used to be genuinely concerned about reliability and MTBF. Now that disk drives have been pushed into the commodity consumer market space, manufacturers have to cut more corners than they used to to meet the low ASPs
What's happened, however, is that over the last 10 years or so, disk drives (and computers in general) have largely gone from being considered primarily business tools, to being considered primarily commodity consumer items. These two categories come with very different ASPs and expectations of reliablity.
One thing that you can't escape from is that if you target the same functionally identical product for $300, you can design and build in more reliability than if you target it for $150. You can do this by using higher quality components and sub-assemblies, by spending more engineering time evaluating, testing, and beating up the design, and by more thorough production testing.
Now, its not uncommon for manufacturers to offer multiple tiers of product quality for different markets. Unfortunately right now in disk drives, the two main choices are IDE (low end) and SCSI (high end); there isn't much middle ground. I agree that the SCSI premium is too high for most consumers to consider.
Perhaps if the true reliability data is known, as you suggest, then this might help create pressure on the manufacturers for a "middle-ground" tier of drives - perhaps a line of IDE drives that would be a little more expensive than current IDE prices, but less than SCSI prices with corresponding "middle-tier" reliability.
The downward price pressure on hard drives has been extreme in the last few years, and now wer're paying the other price - in reliability.
I worked for several years for a company which designed and manufactured ICs for hard drives (I worked on read channels, but the company made other chips as well, such as preamps and servo controllers). There has always been competition and downward price pressure in this market, but early on, both the ASPs and the product lifetimes were somewhat reasonable.
Over the last 5-10 years, things have changed a lot. The lifetime of a drive product is very short (sometimes as short as 6 months), and each new generation is so much faster and denser than the last that many of the critical components require a from-the-ground-up redesign with very little being borrowed from the previous generation. This, combined with lower ASPs than ever, have made it more and more difficult to be highly profitable as maker of chips for hard drives. Companies that are successful have engineers working very long hours to do it. Several companies have left the market entirely, or have taken on other product lines as well
And this is just the ICs. I'm sure manufacturers of other drive components (platters, heads, etc.) have seen similar erosion of product lifetimes and ASPs.
The end result of all of this it that there will be an inevitable hit in quality and reliability. There's really no other choice. When customers are once again willing to pay $200-$300 for a current technology drive, you will see the quality go backup. Even today, SCSI drives, which are generally more expensive then IDE drives are also more reliable, as many posters have pointed out.
I don't like the fact that the US is becoming more and more government controlled.
And the Government is becoming more corporate-controlled. The combination of these two is the source of the current mess.
Simply include a program that pops up the first time you are connected to the internet after installation and offer to automatically download and install the RPM from the XMMS web site (after asking permission for xmms.org first, of course)? I'm sure xmms.org would cooperate here.
This way, they don't violate the patents (instead redirecting the download to xmms.org, which doesn't seem to mind distributing it), while still making it relatively simple and automatic for new users and others who then wouldn't have to figure out what's going on.
My DSL connection is arount 100KBytes/s. At this rate, TightVNC is obviously noticably slower than a local connection, but it's fast enough that you can use it without feeling like throwing a rock at the monitor.
16KB/s or 32Kb/s would be noticably slower, but there are some things you can to that can help, even with TightVNC's tight encoding:
1. Don't use a complicated desktop background. All versions of VNC (including Tight) send low-level bitmap information, not high-level window information. The more complicated your background, the less it compresses, and the slower the repaints.
2. Have as few windows open as possible so your desktop is uncluttered - same reason as 1.
3. Use the lowest color depth you can stand for your particular application. If you're doing word processing, you can probably get away with 8bpp and it will be faster than 16 or 24.
4. When scrolling in a document, use the page-up and page-down keys (or page-up and page-down areas of the scroll bar) instead of the scroll slider. This results in fewer repaints, and any sluggishness is less annoying.
Actually, the original VNC allowed this too, but it wasn't enabled by default. If you used the -shared option to vncviewer, then it would allow additional connections to the same server.
TightVNC turns this on by default, so users don't have to know about the option.
For comparison, also check out TightVNC. TightVNC makes a remote graphical desktop quite usable over DSL speeds.
It sounds like the main VNC branch has now added a tight-like encoding (ZRLE) which may obviate the need for TightVNC, but TightVNC has some additional niceties like automatic tunneling over SSH.
DeCSS is just one program that cracks CSS and hence violates the DMCA. But what if 100 different programmers were to take the basic keys and write a hundred different programs which all do the same thing (decrypt DVDs "illegally"), but are each distinct, separate programs, all starting from scratch. If it's coordinated well, these programs can all be released on the same day as a civil disobediance action.
Maybe I'm wrong, but I imagine these programs would all qualify as separate contraband devices under the DMCA, and each would have to be prosecuted separately. Imagine 100 or even 1000 Skylarov cases clogging the justice system! Would the Justice department even have the bandwidth for so many cases? Even if they did, it would take years to get to them all. Now that might get some attention.
...The more you do it, the more you forget it's not real :).
Seems I've forgotten where I heard that.
Seriously, though, I don't think engineering is going away antime soon. For the last 20 years, I've been hearing that software is going to replace engineers, and yet I still have a job. What's really happened is that the software has let fewer engineers tackle much larger and tougher tasks, but in the end, you still need the judgement of the engineers to make sure the software has done what you wanted.
This is true especially in the area of analog design, where software to automate design has moved ahead much more slowly than in the digital realm. There are some very expensive programs out there that will attempt to optimize simple and medium complexity analog circuits, but they are still nowhere near replacing analog engineers. You still have to give them a circuit topology, they only optimize the device sizes.
Even in the digital arena, while the tools for synthesizing actual transistor level circuits are fairly mature, and digital designers by and large don't have to deal with transistors or gates anymore, they still have to design the algorithms and check the results of the software synthesis. Basically, the digital designer's job still exists (and will for some time to come), but it has just moved up a level or two in abstraction, from transistors, to gates, and now to algorithms.
There is a subtle difference between competition and pure redundancy. Competition is good because it "raises the bar" of some quantity such as quality, price, value, features, etc. But for two things to be competing, they must be different in some fundamental way.
Two pieces of software that are virtually identical except for their GUI toolkit are not competitive, they are redundant.
Now, we don't know exactly how this Kroupware will come out, so we really don't know yet whether it will be competitive or redundant. If it's basically just Evolution written to the QT toolkit and KDE libs, then it will be redundant; if it (hopefully) offers something distinctive and raises the bar for Linux groupware, then it will be competitive.
...at least in English.
I sure wish the KDE team would krow out of this keverything-kmust-kstart-kwith-a-K naming convention and realize that their creative horizons can really be much broader.
This poster is correct. The problem is that the cost model of the corner video store is very efficient and hard to beat.
Let's say that I can "rent" a movie over the internet for the same price as in the video store, say around $3.00 (remember, Harry Potter over the internet was more than that and it was only for 24 hours). Let's also say I rent a dozen movies a month. At the corner video store, my total monthly cost for this is $36 (plus maybe a buck or two for gas).
Now, I have other reasons for wanting broadband (like downloading Linux ISOs - virtually impossible with 56K) but let's assume that the only reason most home users would want broadband is for multimedia content. On the internet, my total monthly cost for the 12 movies would be $36 plus the monthly extra for broadband, around $40 in many areas. This totals to $76, more than twice the cost. Not only that, but a typical download movie the size of Harry Potter would still take 2-3 hours to download even at 1Mb/s (my local DSL rate) during which time I could have driven to the corner video store and back 7 or 8 times! The final insult is that the DVD from the video store will have higher quality than the downloaded file.
One of two things has to happen for this to catch on - either online content has to become much cheaper than video store or the surcharge for broadband has to become much smaller, or both. Until then, the corner video store model will be hard to beat.
Otherwise we wouldn't have Macrovision.
You're right. The DMCA and copyright violation in general tend to have their distinction blurred but they are really different things. While I approve of them going after mass copyright violators, I disapprove of them going after Skylarov. Good point. Unfortunately, the article drifted into talking primarily about catching copyright violaters, and that's what I had in mind when I was making my point.
I still think that if the amount of widely distributed copyright violation on the net can be reduced, that it will take some of the wind out of the sails of the DMCA.
Perhaps if Mr. Ishikawa really does disaprove of the DMCA as he says, then he could concentrate mainly on the general copyright violation portion of his business rather than catching specifically DMCA violators.
In the past, whenever a story about the DMCA came up, by far one of the most common responses was:
"Why not go after the violators instead of taking away everyone's fair use rights?"
This is a reasonable response. Clearly the DMCA is bad because it takes away both fair use and certain forms of free speech that have never previously been banned. On the other hand, widely distributing copies of copyrighted material without the owner's permission is also not right in most people's minds (I realize that there are those who disagree with this).
So, we have an entity who is trying to go after the offenders (and primarily just the big ones), and many people here are criticizing it as some kind of evil activity. This seems pretty hypocritical.
In the past, the coexistence of copyright and fair use has worked because of the balance that existed between the allowing of petty violations (things like making a tape of a record for a friend) and the enforcement of big time content pirates.
The popularizing of the internet has allowed the many petty violations to become far-ranging, and hence the balance has been upset to some degree. As a result, the content providers' response has been to enact the DMCA, which has been bad all around because it attempts to eliminate fair use and petty violations but does little to stop big time piracy.
This company (BayTSP) is attempting to restore the balance by helping to ferret out larger pirates on the internet. If this works, it could actually provide justification for softening the overreaching DMCA by restoring the balance of petty and big time copyright infringement that existed under traditional copyright law.