"if you avoid using programs from another desktop"
Which is just not possible. Where is the CD burning program in GNOME that beats K3B? Where is the music player that beats Amarok? In the other direction, where is the office suite that beats OpenOffice.org? You cannot avoid mixing GTK and Qt apps on a desktop without hurting yourself.
"Honestly, I have no trouble using mixed apps on the same desktop."
Just three days ago at FUDCon, I saw someone try to use KGPG on their GNOME desktop. He had localized GNOME in Dutch, and when KGPG pops up...everything was in English. The localization settings are stored in different places, which is a problem that goes beyond "installing themes to make it look the same." There is also the failure to have OLE across Qt and GTK, which has so far only been solved by disparate hacks in specific applications, and only works for certain cases. The copy and paste problems being solved was a good thing, but that is only one of many issues that arise from mixing GTK and Qt apps on a single system.
Re:time to port gnome!
on
Qt Becomes LGPL
·
· Score: 5, Informative
Qt has a better set of widgets, at least for some applications. I have a friend who works for a major financial services company, which standardized on GTK only to discover that certain table related widgets were just not available, but were available in Qt.
I am told, though I have not tried it, that it is harder to develop multithreaded programs in GTK than in Qt. This matters a lot more than people like to think; how many times have you seen a UI not getting updated because of some background operation, and then had some uninformed user think that the program was freezing or crashing?
Finally, while both are object oriented, GTK is written entirely in C. Object oriented programming in C is pretty harsh, and the only other option you really have is to use the Python binding, which introduces a whole new set of issues. Qt is a C++ toolkit, which makes for much cleaner code when it comes to object orientedness. They did extend C++ somewhat with MOC, but that just introduces some new keywords that fit in very well with the general structure of C++.
Open source desktops fail really hard from a strategic point of view because of the split between GTK and Qt. They store l10n and i18n settings in separate places, they look different, the dialogs have different configurations, etc. It creates a desktop that feels less unified, more like a bunch of random applications than a single system.
Of course, porting GNOME would take so long that people would forget that GNOME even exists. The unfortunate reality is that this split will only be resolved when either GNOME and all of the associated GTK applications die, or KDE and its associated applications die (unfortunately, that would mean a loss of K3B, one of the applications that made open source desktops usable for non-technical users).
Unfortunately for him, the RMS way fails hard on Facebook or other AJAX websites. What he needs to do is a bait-and-switch: tell them they can access websites, but that sex is required first. Then let them in on the reality of web-to-email gateways.
I would argue that it is really just that they are not aware of Linux. Perhaps my view is skewed by my experience with university professors and researchers, but I have found that most people really just are not aware of free software or what they can do with it. People are unaware that they really have choices in these things. I have met researchers who were shocked to discover that the basic software in any Linux distro -- a shell, the POSIX userland, and Perl/Python -- can serve as a replacement for dozens of proprietary packages they were using for converting and formatting their data, and even more shocked to discover that those basic utilities were more efficient because large numbers of tasks were easily automated. These are not people who were clueless about computing, either: they were very skilled at programming Matlab, and picked up bash and Perl very quickly.
The lack of awareness about computing is more of a general problem, though it is particularly noticeable with schools. I have drawn the conclusion recently that anyone majoring in any subject that is likely to involve computing -- basically, any science, engineering, or business major -- should be required to take a CS course where they use a Unix or Unix-like system and program in a language like Python or Perl. Just being raised to a basic level of awareness of how a computer can be used would be invaluable for many people, and would go much further in terms of saving money and increasing productivity than simply install some Linux on everyone's computers.
Does your wife deal with life-critical systems? Does she run the risk of killing somebody if her records systems goes down for an hour for maintenance? If her records system is down, would it take too long to connect to another system to fetch the records?
Personally, if my life were in danger, I would want to be rushed to a facility that can afford backup electrical systems and highly reliable computer systems, regardless of how the records are stored. If I need to have a basic checkup, or an MRI, or something where waiting an hour or two because of an equipment failure is nothing more than an annoyance, then a private practice that cannot afford such redundancy is OK, again, regardless of how the records are stored.
"Even if there are no problems with backups (unlikely), there will be network problems that prevent accessing the data, unless there is a pair of high-reliability high-availability systems available at each hospital. (Pair because every machine needs to come down sometime - even if only for maintenance of its connection to the power grid - so you always have a second system to fail over to.)"
Ideally, each hospital would have a high reliability system on site; in fact, this should ALREADY be the case, as hospitals rely very heavily on computers as is. As for maintenance, modern mainframes can have any part hot swapped, even power supplies, of which the mainframe has several. Admittedly, a mainframe is pricey, last I checked IBM charged $100k/year for their smallest mainframes, but we are talking about a life-critical system that needs to handle a presumably large number of transactions per day. Couple it with an on site diesel generator, which all hospitals have anyway, and the likelihood of a failure becomes very small.
At smaller facilities, localized doctor's offices and private practices, such a setup would make no sense; but small offices usually do not have life-or-death situations to deal with, and so a short period of downtime due to a disk restore or a power failure would not be as bad. At medium sized facilities, it would probably make sense to have a blade server or some other clustering system, with redundant network connections and an available IT staff to handle hardware failures. Again, this is nothing unheard of, and again, if the facility deals with life-or-death situations, there should already be a backup power source available.
"See the comment below about 11TB of radiology images for a city of 100K. Can you imagine what the requirements will be for that type of system scaled up to 300 million people?"
This is not a problem unique to healthcare records. The availability of disk storage is a problem that is discussed over and over again, every time people notice that large amounts of data are being dealt with. I am an assistant to an HPC research team, and just processing large amounts of data is a cutting edge research challenge (you think 11TB is a lot to store? Imagine the CPU requirements for processing or even just rendering those images). The latest term people use is "petascale."
"I admit that I haven't looked at that. But it's not bypassing the security I'm worried about. If it's possible for the police to get a warrant for certain records, how long do you think it's going to take before some fast-talking cop flashes his badge to someone who does have proper access and ends with a copy of his wife/girlfriend/mistress's medical records?"
Regarding the NIST specs, if you ever get a chance, you should look at them; they are long, but they cover a lot of details that people sometimes neglect to consider. One example that comes to mind is the requirement that when a user's access is revoked, all active sessions and all processes started by that user should be immediately terminated; this is an interesting requirement because it presupposes that an "inside job" was detected, and it lays out a requirement for dealing with such non-software breaches.
As for a police officer abusing their access to medical records...what stops this from happening with paper? Arguably, paper is even worse, because an officer can make a photocopy and leave little evidence that he ever inappropriately accessed the records, whereas a computer system should at least have an audit log of some sort. Abuses of the system will happen regardless of the technology that is in place, the key is to ensure that introducing new technology does not allow abuses to become more widespread. At some point, a level of trust in the legal system is needed -- in this case, I would hope that it is written into the law that a warrant must be obtained in a public court, and be on the record, before any medical records are released to the government, and that a technical measure would be implemented to reflect this (privilege separation of some sort, auditing, etc., so that violations of the law would be recorded).
I believe the OP's point was that people were accusing McCain of moving us closer to a big brother surveillance society, while Obama's proposal for the exact same thing is treated like a step in the right direction.
"The public outcry that you'll have the first time a hospital administers medication that a patient is allergic to because the IT staff is still in the middle of restoring backups will (or at least should) be epic."
There has been a lot of research into high reliability systems, and mainframe systems can remain operational with no interruptions in service for decades on end. It is even possible to hot swap motherboards on a mainframe. This is one of the reasons mainframes will not die just yet: high reliability systems will always be needed, even in large scale setups like banks or hospitals.
"Secondly, quite a bit of "medical records" is high-resolution images (X-rays, ultrasounds, MRI, CAT scans, and probably a lot of stuff I haven't thought of). A typical patient may only have one or two images in their files, but we are talking hundreds (or thousands) of patients per doctor. The storage space required will be astronomical."
Sounds like a typical engineering challenge.
"Third, all systems that can be abused will be; and any "safeguards" put in place to prevent abuse will only make it more difficult to uncover the abuse. I don't know what form this abuse will take, but it will happen."
Take a look at the NIST security criteria for certified systems some time. A lot of thought was put into this very issue, and I would hope that a transition to electronic records would involve those publications or the use of certified systems based on those publications.
I think there is a bit more depth to it: by breaking up a transition to universal healthcare, it is a lot easier to form a compromise with opponents to the idea. One big step could be help up by the senate for years on end, but even if half of the smaller steps are held up, that still means that we managed to get halfway to implementing universal healthcare. Opponents to universal healthcare generally only oppose one or two facets of it, and so while those facets are likely to remain caught up in debate, we can move forward with less controversial aspects.
Probably because most of the healthcare industry is buying software from third parties, and those third parties do not stand to save a lot of money by doing this.
"That said, OO doesn't meet our needs as well, and has some memory issues (20000 PDF conversions later, it crashes)."
That is a HUGE number of conversions to be doing with a GUI based program. I do not know what your workflow is, but it sounds like you really need to be invoking ghostscript through some sort of shell script, or maybe in a Perl or AWK program. It is possible that you will actually see efficiency improvements, as this approach may allow for greater automation. As I said, I do not know your workflow, but this really sounds like a case where a little bit of shell scripting can go a long way.
Ubuntu? Thanks, but I'll take a certified system like RHEL, SLES, or Solaris for government work. The certifications do actually represent something, even though I am sure a dozen or so slashdotters will have stories about some certified system being compromised (responses to compromise are part of the certification) or some non-certified system never being compromised (possible, nobody even denied this could happen).
FREE does not mean "zero dollars." A switch to Ubuntu would be pricey, and while it is likely to save money in the long run, the up front cost is a factor and is likely higher than the yearly cost of running the various other systems the US government uses. My state is facing a budget crisis, I really don't think we need a mandate to switch to Ubuntu on the table when we are already looking at cutting funding for schools in the best case scenario.
Judging by the quality of code I see out of my own classmates, at one of the top 50 universities in the US, I do not think I am very comfortable with the idea of government systems being run by college students. Canonical has not really demonstrated that they employ top notch programmers either, and beyond that, Canonical is not an American company (they are registered on the Isle of Man), so they are not in a position to deal with sensitive government systems. We have enough problems with government systems, let's not compound it.
What Obama should do is mandate the use of open standards on certified systems. Let state and local governments figure out the cheapest way to implement such a standard. Really, it is irrelevant whether or not the government uses a free software operating system, as long as government documents are not in a proprietary format and as long as the government is not wasting money paying for its software (proprietary or free). What is needed is easier communication between different government departments and between the government and the people; the operating system that is used is not as important, as long as an open standard is in use.
Not sure where you are, but a worker in the USPTO has informed me that the government can ignore or even invalidate a patent that has significant national security applications. What is tricky about it is that the government tries not to do so, and prefers to grant exclusive contracts to companies that hold the patents, to maintain faith in the patent system. For example, you can be granted a patent on missile guidance systems, and the government will contract with you for missile control, but if you refuse to market the invention, the government might simply ignore the patent and build the system anyway. With software it is very tricky, because the security of the US depends on the security of both government and non-government software, which puts the government in a difficult position in terms of security related patents.
Of course, the point is moot here, because of the immense amount of prior art.
Precisely. Very few people currently use or need to use 64 bit computing. Outside of servers, I cannot even think of any systems I have come across with more than 4GB of physical memory.
Not necessarily. It really depends on whether or not Windows 7 is going to run legacy applications that, at this point, have been in use for a decade or more. There are still places that are running DOS because of legacy apps that need to take control of hardware in a way that Windows will not allow...
Many Linux kernel developers are paid -- they work for companies like Red Hat or IBM, which have a vested interest in a minor releases and bug fixes. Linux has come a long way since the days of arguments among volunteers on Usenet...
This is a GOOD thing. A major issue facing Linux concerns the availability of drivers, especially for obscure hardware, and one of the reasons that smaller hardware vendors shied away from driver development early on was that the kernel changed too many times, and those changes required constant work on their drivers. The Windows driver API was static for so long that small hardware vendors became comfortable just releasing a driver for Windows and not touching it much for years on end. If we finally have a stable Linux kernel that just gets maintenance fixes, that will go a long way toward increasing hardware support and Linux use.
Except that it did actually happen, and terrorists do actually use steganography to communicate. I am not saying that Flickr needs to be shut down, I am just saying that this kind of activity does occur.
"One BIG carrot for Universities and Labs that use google (gmail, docs, etc)"
Those universities should lose their access to the Internet if they are using Google apps. In the past year, I have seen several leaks of student information (SSN, financial, etc.) caused JUST by the use of Google docs. Maybe if their students are using Google, they will reap some benefit, but even that is a bad idea -- a recent leak at Columbia was caused by a student using Google docs for a research project involving Columbia undergraduates, and thousands of SSNs and financial records were exposed to the world.
The fuss is that terrorists on these social networks communicate using steganography, so it is difficult to tell that they are not normal users, and difficult to track their communications. This has been of concern for a while, and a lot of research has gone into detecting steganography without knowledge of the original media.
"if you avoid using programs from another desktop"
Which is just not possible. Where is the CD burning program in GNOME that beats K3B? Where is the music player that beats Amarok? In the other direction, where is the office suite that beats OpenOffice.org? You cannot avoid mixing GTK and Qt apps on a desktop without hurting yourself.
"Honestly, I have no trouble using mixed apps on the same desktop."
Just three days ago at FUDCon, I saw someone try to use KGPG on their GNOME desktop. He had localized GNOME in Dutch, and when KGPG pops up...everything was in English. The localization settings are stored in different places, which is a problem that goes beyond "installing themes to make it look the same." There is also the failure to have OLE across Qt and GTK, which has so far only been solved by disparate hacks in specific applications, and only works for certain cases. The copy and paste problems being solved was a good thing, but that is only one of many issues that arise from mixing GTK and Qt apps on a single system.
Qt has a better set of widgets, at least for some applications. I have a friend who works for a major financial services company, which standardized on GTK only to discover that certain table related widgets were just not available, but were available in Qt.
I am told, though I have not tried it, that it is harder to develop multithreaded programs in GTK than in Qt. This matters a lot more than people like to think; how many times have you seen a UI not getting updated because of some background operation, and then had some uninformed user think that the program was freezing or crashing?
Finally, while both are object oriented, GTK is written entirely in C. Object oriented programming in C is pretty harsh, and the only other option you really have is to use the Python binding, which introduces a whole new set of issues. Qt is a C++ toolkit, which makes for much cleaner code when it comes to object orientedness. They did extend C++ somewhat with MOC, but that just introduces some new keywords that fit in very well with the general structure of C++.
Open source desktops fail really hard from a strategic point of view because of the split between GTK and Qt. They store l10n and i18n settings in separate places, they look different, the dialogs have different configurations, etc. It creates a desktop that feels less unified, more like a bunch of random applications than a single system.
Of course, porting GNOME would take so long that people would forget that GNOME even exists. The unfortunate reality is that this split will only be resolved when either GNOME and all of the associated GTK applications die, or KDE and its associated applications die (unfortunately, that would mean a loss of K3B, one of the applications that made open source desktops usable for non-technical users).
/me drops a crate of Unix manuals on KlomDark.
There, you've been bullied on the Internet. I bet all those manuals hurt.
The USA, why? Do you think this is just another "stupid Americans!" moment?
Unfortunately for him, the RMS way fails hard on Facebook or other AJAX websites. What he needs to do is a bait-and-switch: tell them they can access websites, but that sex is required first. Then let them in on the reality of web-to-email gateways.
I would argue that it is really just that they are not aware of Linux. Perhaps my view is skewed by my experience with university professors and researchers, but I have found that most people really just are not aware of free software or what they can do with it. People are unaware that they really have choices in these things. I have met researchers who were shocked to discover that the basic software in any Linux distro -- a shell, the POSIX userland, and Perl/Python -- can serve as a replacement for dozens of proprietary packages they were using for converting and formatting their data, and even more shocked to discover that those basic utilities were more efficient because large numbers of tasks were easily automated. These are not people who were clueless about computing, either: they were very skilled at programming Matlab, and picked up bash and Perl very quickly.
The lack of awareness about computing is more of a general problem, though it is particularly noticeable with schools. I have drawn the conclusion recently that anyone majoring in any subject that is likely to involve computing -- basically, any science, engineering, or business major -- should be required to take a CS course where they use a Unix or Unix-like system and program in a language like Python or Perl. Just being raised to a basic level of awareness of how a computer can be used would be invaluable for many people, and would go much further in terms of saving money and increasing productivity than simply install some Linux on everyone's computers.
Does your wife deal with life-critical systems? Does she run the risk of killing somebody if her records systems goes down for an hour for maintenance? If her records system is down, would it take too long to connect to another system to fetch the records?
Personally, if my life were in danger, I would want to be rushed to a facility that can afford backup electrical systems and highly reliable computer systems, regardless of how the records are stored. If I need to have a basic checkup, or an MRI, or something where waiting an hour or two because of an equipment failure is nothing more than an annoyance, then a private practice that cannot afford such redundancy is OK, again, regardless of how the records are stored.
"Even if there are no problems with backups (unlikely), there will be network problems that prevent accessing the data, unless there is a pair of high-reliability high-availability systems available at each hospital. (Pair because every machine needs to come down sometime - even if only for maintenance of its connection to the power grid - so you always have a second system to fail over to.)"
Ideally, each hospital would have a high reliability system on site; in fact, this should ALREADY be the case, as hospitals rely very heavily on computers as is. As for maintenance, modern mainframes can have any part hot swapped, even power supplies, of which the mainframe has several. Admittedly, a mainframe is pricey, last I checked IBM charged $100k/year for their smallest mainframes, but we are talking about a life-critical system that needs to handle a presumably large number of transactions per day. Couple it with an on site diesel generator, which all hospitals have anyway, and the likelihood of a failure becomes very small.
At smaller facilities, localized doctor's offices and private practices, such a setup would make no sense; but small offices usually do not have life-or-death situations to deal with, and so a short period of downtime due to a disk restore or a power failure would not be as bad. At medium sized facilities, it would probably make sense to have a blade server or some other clustering system, with redundant network connections and an available IT staff to handle hardware failures. Again, this is nothing unheard of, and again, if the facility deals with life-or-death situations, there should already be a backup power source available.
"See the comment below about 11TB of radiology images for a city of 100K. Can you imagine what the requirements will be for that type of system scaled up to 300 million people?"
This is not a problem unique to healthcare records. The availability of disk storage is a problem that is discussed over and over again, every time people notice that large amounts of data are being dealt with. I am an assistant to an HPC research team, and just processing large amounts of data is a cutting edge research challenge (you think 11TB is a lot to store? Imagine the CPU requirements for processing or even just rendering those images). The latest term people use is "petascale."
"I admit that I haven't looked at that. But it's not bypassing the security I'm worried about. If it's possible for the police to get a warrant for certain records, how long do you think it's going to take before some fast-talking cop flashes his badge to someone who does have proper access and ends with a copy of his wife/girlfriend/mistress's medical records?"
Regarding the NIST specs, if you ever get a chance, you should look at them; they are long, but they cover a lot of details that people sometimes neglect to consider. One example that comes to mind is the requirement that when a user's access is revoked, all active sessions and all processes started by that user should be immediately terminated; this is an interesting requirement because it presupposes that an "inside job" was detected, and it lays out a requirement for dealing with such non-software breaches.
As for a police officer abusing their access to medical records...what stops this from happening with paper? Arguably, paper is even worse, because an officer can make a photocopy and leave little evidence that he ever inappropriately accessed the records, whereas a computer system should at least have an audit log of some sort. Abuses of the system will happen regardless of the technology that is in place, the key is to ensure that introducing new technology does not allow abuses to become more widespread. At some point, a level of trust in the legal system is needed -- in this case, I would hope that it is written into the law that a warrant must be obtained in a public court, and be on the record, before any medical records are released to the government, and that a technical measure would be implemented to reflect this (privilege separation of some sort, auditing, etc., so that violations of the law would be recorded).
I believe the OP's point was that people were accusing McCain of moving us closer to a big brother surveillance society, while Obama's proposal for the exact same thing is treated like a step in the right direction.
"The public outcry that you'll have the first time a hospital administers medication that a patient is allergic to because the IT staff is still in the middle of restoring backups will (or at least should) be epic."
There has been a lot of research into high reliability systems, and mainframe systems can remain operational with no interruptions in service for decades on end. It is even possible to hot swap motherboards on a mainframe. This is one of the reasons mainframes will not die just yet: high reliability systems will always be needed, even in large scale setups like banks or hospitals.
"Secondly, quite a bit of "medical records" is high-resolution images (X-rays, ultrasounds, MRI, CAT scans, and probably a lot of stuff I haven't thought of). A typical patient may only have one or two images in their files, but we are talking hundreds (or thousands) of patients per doctor. The storage space required will be astronomical."
Sounds like a typical engineering challenge.
"Third, all systems that can be abused will be; and any "safeguards" put in place to prevent abuse will only make it more difficult to uncover the abuse. I don't know what form this abuse will take, but it will happen."
Take a look at the NIST security criteria for certified systems some time. A lot of thought was put into this very issue, and I would hope that a transition to electronic records would involve those publications or the use of certified systems based on those publications.
I think there is a bit more depth to it: by breaking up a transition to universal healthcare, it is a lot easier to form a compromise with opponents to the idea. One big step could be help up by the senate for years on end, but even if half of the smaller steps are held up, that still means that we managed to get halfway to implementing universal healthcare. Opponents to universal healthcare generally only oppose one or two facets of it, and so while those facets are likely to remain caught up in debate, we can move forward with less controversial aspects.
Probably because most of the healthcare industry is buying software from third parties, and those third parties do not stand to save a lot of money by doing this.
"That said, OO doesn't meet our needs as well, and has some memory issues (20000 PDF conversions later, it crashes)."
That is a HUGE number of conversions to be doing with a GUI based program. I do not know what your workflow is, but it sounds like you really need to be invoking ghostscript through some sort of shell script, or maybe in a Perl or AWK program. It is possible that you will actually see efficiency improvements, as this approach may allow for greater automation. As I said, I do not know your workflow, but this really sounds like a case where a little bit of shell scripting can go a long way.
What Obama should do is mandate the use of open standards on certified systems. Let state and local governments figure out the cheapest way to implement such a standard. Really, it is irrelevant whether or not the government uses a free software operating system, as long as government documents are not in a proprietary format and as long as the government is not wasting money paying for its software (proprietary or free). What is needed is easier communication between different government departments and between the government and the people; the operating system that is used is not as important, as long as an open standard is in use.
Not sure where you are, but a worker in the USPTO has informed me that the government can ignore or even invalidate a patent that has significant national security applications. What is tricky about it is that the government tries not to do so, and prefers to grant exclusive contracts to companies that hold the patents, to maintain faith in the patent system. For example, you can be granted a patent on missile guidance systems, and the government will contract with you for missile control, but if you refuse to market the invention, the government might simply ignore the patent and build the system anyway. With software it is very tricky, because the security of the US depends on the security of both government and non-government software, which puts the government in a difficult position in terms of security related patents.
Of course, the point is moot here, because of the immense amount of prior art.
Precisely. Very few people currently use or need to use 64 bit computing. Outside of servers, I cannot even think of any systems I have come across with more than 4GB of physical memory.
Not necessarily. It really depends on whether or not Windows 7 is going to run legacy applications that, at this point, have been in use for a decade or more. There are still places that are running DOS because of legacy apps that need to take control of hardware in a way that Windows will not allow...
Many Linux kernel developers are paid -- they work for companies like Red Hat or IBM, which have a vested interest in a minor releases and bug fixes. Linux has come a long way since the days of arguments among volunteers on Usenet...
This is a GOOD thing. A major issue facing Linux concerns the availability of drivers, especially for obscure hardware, and one of the reasons that smaller hardware vendors shied away from driver development early on was that the kernel changed too many times, and those changes required constant work on their drivers. The Windows driver API was static for so long that small hardware vendors became comfortable just releasing a driver for Windows and not touching it much for years on end. If we finally have a stable Linux kernel that just gets maintenance fixes, that will go a long way toward increasing hardware support and Linux use.
Actually, they are based on electricity, and powered by Linux.
Just a funny way to phrase it: As always, 2008 proved to be interesting... It sounds like 2008 happens all the time, and it is usually interesting...
Except that it did actually happen, and terrorists do actually use steganography to communicate. I am not saying that Flickr needs to be shut down, I am just saying that this kind of activity does occur.
"One BIG carrot for Universities and Labs that use google (gmail, docs, etc)"
Those universities should lose their access to the Internet if they are using Google apps. In the past year, I have seen several leaks of student information (SSN, financial, etc.) caused JUST by the use of Google docs. Maybe if their students are using Google, they will reap some benefit, but even that is a bad idea -- a recent leak at Columbia was caused by a student using Google docs for a research project involving Columbia undergraduates, and thousands of SSNs and financial records were exposed to the world.
The fuss is that terrorists on these social networks communicate using steganography, so it is difficult to tell that they are not normal users, and difficult to track their communications. This has been of concern for a while, and a lot of research has gone into detecting steganography without knowledge of the original media.