Whether it makes more sense for you to run Mac OS X or Linux probably depends on the kind of software you want to run. Currently, Linux has most of the software I want to run while Mac OS X doesn't. Your situation may be the reverse.
I have installed Mandrake 7.1, Mandrake 7.2, RedHat 6.2, and RedHat 7.0 (there is no 7.1) on many different kinds of machines. On most hardware, they install without a problem, without any complicated questions during the install process, without much user interaction at all actually, and result in fully functional KDE and Gnome desktop environments. IMO, Linux installations are now considerably simpler than Windows installations. Linux PPC, of course, may be a different matter.
I think it makes sense to take this kind of data and present it in audio form, just like it makes sense to present X-ray data and other invisible data to a 2D image. Neither will usually give you strong scientific results by themselves, but they may give you a better feel for the data you are dealing with, in particular if you understand the mapping and the physics behind it. If you don't, you can still just admire it for its intrinsic aesthetics.
The Palms make a great PDA: they are simple, the applications work, and the batteries last a long time.
But as a software platform, I think they are not all that good. They have megabytes of memory now, but they suffer from 64k limits somewhat analogous to what DOS used to impose on programs. And while PalmOS is conducive to letting experienced PalmOS programmers write tight, simple applications in C, for many custom applications, you want something like Java, Smalltalk, or even VisualBasic.
Palm has made steps to offer Java and to upgrade the processor and OS. Let's hope those will happen soon.
Re:the problem with UNIX is the languages
on
GTK+ without X!
·
· Score: 2
Would you rather them be not pragmatic?
MacDonald's and Microsoft are also pragmatic compromises--they manage to get the biggest market share quickly. That's roughly what Gtk/Gnome did. That compromise is only desirable if your goal is lots of market share quickly, not if your goal is to develop good technology.
The great thing about C is that it is interfaceable with a number of languages.
It's only "interfaceable" with a number of languages because it is the de-facto standard and everybody bothers generating the glue to interface with it. Otherwise, it's actually quite horrible for the purpose.
glib/gtk is about the best-designed piece of software I've ever seen.
It is capably written and one of the better designed pieces of C software. But try to take a look at other systems sometimes.
Whether it's a "PC" or a "game console" doesn't make a difference. It's still a cheap plastic box that has some cheap and mediocre hardware in it. It's a box that lets you play finger twitching games. Now, there is nothing wrong with that--lots of consumer devices like that are lots of fun. But terms like "it will rock" or "powerful" are misplaced, and don't let some glitzy PR campaign fool you about that.
Isn't it amazing how marketers can imbue images of cigarettes with meanings like "healthy", "young", "beautiful", when the stuff really poisons you? And isn't it amazing how marketers and designers can imbue a mediocre PC plastic box with associations of "power"? Yes, some computer games are very challenging in a certain way. But you don't need a box that screams "power" to play those, you merely need a box that's fast enough.
If you want the real thing, get the real thing. Go to the gym, climb mountains, ride a motorcycle, or fly an airplane. If you want a powerful computer, get a 256 node Beowulf cluster and find something real to do with it. Computer games are fun and entertaining, and even challenging in their own right, but don't let some marketer confuse you about whether they are the real-world thing or not.
this is great, but won't replace X11
on
GTK+ without X!
·
· Score: 2
I think this is great. It will be quite useful in a number of "specialty" applications, like boot loaders, some embedded systems, etc.
OTOH, I think it won't replace X11. I think the additional functionality it provides (remote display, integration of different toolkits, separate window management, asynchronous graphics) greatly outweigh any perceived or actual overhead or limitations of the X11 system.
the problem with UNIX is the languages
on
GTK+ without X!
·
· Score: 3
Component reuse in UNIX is hard because of the primary programming languages used in UNIX: C and C++. What is missing from those languages is:
Full support for reflection: something that lets you take an arbitrary object, inspect its fields, invoke methods on it, etc.
Fault isolation: if some library or dynamically loaded module contains a serious error, there is nothing the application program can do to recover or even detect the problem reliably. That means that every extra component you add to your program has the potential for disaster, and people are going to be as conservative as they can be for reuse.
Automatic memory management: automatic memory management is important for fault isolation, but it is also important in itself for reuse. Without automatic memory management, the APIs to many libraries become much more complicated, and programmers have to spend a lot more time debugging and testing.
Of course, you can simulate all that stuff in C or C++: systems like COM try to address some of those issues. The problem is that if it isn't built into the language and runtime, everybody does it differently, the compiler can't help you, and you still don't get fault isolation.
Miguel could have done a lot for "Making UNIX Not Suck" if he had chosen a better language and runtime. His choice represents merely another pragmatic compromise in a long string of pragmatic compromises made in the industry. Gnome is well done, it works well, it has lots of functionality, but fundamentally, it merely "sucks less" and doesn't avoid the problems that are at the root of the problems with most UNIX and Windows software.
Of course, if Miguel had chosen differently, Gnome would not have become nearly as successful, since it mostly depends on the willingness of others to volunteer. Some other C/C++-based environment would have caught on. Ultimately, the "sucky" state of UNIX and Windows software is the result of the choices we all make day-to-day. Maybe we can make it a millenial resolution to use other languages and runtimes more: Java, Oberon, OCAML, Modula-3, C#, Eiffel, Python, Scheme, etc. Given that Gtk does bind pretty well to most of those, we can even stick with the Gtk toolkit.
I don't see the innovation in the test. Testing whether a particular genetic sequence is present or absent is done with standard, off-the-shelf technology. And finding the particular genetic sequence in nature isn't an "invention" either, it's a scientific discovery.
By the same token, why not patent other applications of standard techniques for detecting symptoms? That way, not just the MRI would have been patented, but the use of MRI to detect tumors of the head, the use of MRI to detect tumors of the spinal cord, etc. Clearly, those had novel applications until the MRI actually existed, and there could have been hundreds if not thousands of patents like that.
Getting a couple of decades of a monopoly on a dignostic procedure is clearly lucrative, but that doesn't justify these patents.
Note that the holder of the patent on the gene also effectively can control research on the gene, as well as many kinds of cures or treatments.
The reason for that is twofold. First, patents on genes and their products actually directly allow the patent holder to control their use in research. Second, even if there were a research exemption (which there isn't) or even if the patent holder allows research to proceed, the patent takes away much of the financial incentive for others to develop treatments using the gene if they have to fear that they can be extorted for patent licensing fees once they have developed a cure.
I think the patenting of genes is ludicrous, as is the patenting of straightforward genetic testing based on such genes, which is applying standard techniques of molecular biology to known genetic sequences. Only if a test or a cure involves some genuinely novel ideas should it be even considered for a patent, in my opinion.
I think your posting exemplifies a difference in attitudes. Many Americans seem to view "freedom" as the right to bear arms, drive gas guzzling SUVs, and dismantle any attempts at urban planning by surrounding themselves with acres of land. That's not "freedom" to me, it's antisocial behavior. It's an expression of selfishness and fear of their fellow citizens.
For much of its history, the US had an open frontier: if you didn't like something, you just packed up and moved out further. That has changed--there is no "free" place to go anymore.
Of course, most other countries had to face that reality many years ago, and they adapted, even if the process was painful.
The US hasn't yet adapted. People still think of themselves as a frontier society and they are often unwilling to make the choices that are appropriate to a more crowded way of living.
For example, many people seem to think that they can be "tough on crime", but the criminals that are locked away for a decade or two will come back into the same communities; retribution may be satisfying, but rehabilitation is more rational. Or look at the debate about id cards: rather than doing what is obviously the right and sensible thing, Americans prefer the illusion that there is no national id system when in fact corporations and the government already are using an ad-hoc system that poses greater risks to privacy and identity theft than any reasonable national id system. Or look at the hideaways in Montana and Idaho, where people believe they can wall themselves in and defend themselves with guns against the government. Or look at local schoolboards that believe that they can get away teaching creationism and other unscientific drivel, ignoring that they will be placing their students at a huge disadvantage in this society.
Yes, I think people living in the US should be concerned. There is some loss of freedom that is inevitable as land and resources become scarce; there is nothing that can be done about that. But there is a lot of loss of freedom that comes from poor government, government that promises people that they still live in a society with unlimited resources and freedoms and as a result fails to make good, liveable compromises. Other countries are far from perfect in that regard, but they seem to be doing better than the US right now.
If you actually read the agreement, it says that the clause is "irrevocable" and survives termination of service. That is exactly what makes it so disturbing.
The Freetype project has inquired months (years?) ago with Apple what their position on the patents is and Freetype would probably comply with whatever Apple demands. It doesn't make any sense for Apple to file a lawsuit at this point.
Of course, I think it would also be dumb for Apple to push these patents. There are other ways of doing high quality typography (Freetype is exploring some of them), and Apple would only lose in the process.
For better or for worse, it's a free market. If you have a choice in providers, let them know that you will sign up with a provider that doesn't have such draconian terms of service. If they hear from a lot of people, they may change their TOS.
I'd love if providers started kicking port scanners off their system
I don't see any problem with port scanning in general. Port scanning doesn't mean someone is breaking into your computer. It may just mean I'm checking one of my own machines for security holes.
The prices
that people are paying is based upon average, amateur fair use and when someone sets up a 24/7 Napster
server alongside their FTP server, website, IRC server, etc., they begin unfairly consuming an inordinate
and completely financially unjustified amount of bandwidth
Many of the "legitimate" services eat up much more bandwidth. Sprint broadband uplink speed is 256k, while downlink is 1-5Mbps. Running servers even at full capacity is barely more than listening to high quality audio or video and it's less than running a VNC connection.
It isn't "their" equipment. You buy the equipment as part of the signup. If you terminate your contract, you can throw it into the trash if you like. If you terminate your contract and owe them money, they should go through the standard legal procedures in case of unpaid bills, not carry out vigilante justice themselves.
"Sprint can access your house at any time"?? No, Sprint,like almost every other provider of services
(inc phone, gas, electricity, etc) have the right to access your premisis DURINGNORMAL WORKING
HOURS in order to install, remove, upgrade or repair the equipoment
The way it is phrased (read it again), it supposedly gives them the right to enter your house even long after you have terminated service with them, and nowhere does it say that the equipment they install has to be related to your service. "Hey, Mr. Jones, you aren't a customer anymore, and you don't have any of our equipment anymore, but in accordance with your contract with us, we have come to install this little widget on your roof." They'd probably not get away with it, but that is what the letter of the contract says.
I REALLY wish people woudl read posts before flaming away - a good 50% of the posts so far are rendered
irrelevant if you read the original TOS!!!
The major problem with the contract is that it doesn't let you run servers of any kind: chat servers, game servers, FTP servers, whatever. And that is clearly spelled out. Read it yourself.
Open source really is at a terrible disadvantage compared to proprietary code when it comes to copyright and patents.
If companies take open source software and incorporate it into their products in violation of the license, that's quite difficult to detect. Even if it is detected, it takes a lot of legal muscle to actually prove (which involves getting the company to let someone look at their source code).
On the other hand, any claim of copyright or patent infringement can be easily supported by examining the source code of open source systems. In fact, since open source code is often indexed by search engines, just searching the web for a good combination of keywords can give companies quick hits on potentially infringing systems.
Of course, in theory, open source code should not be able to violate the copyright of proprietary source code: if it isn't published, it shouldn't be copyrightable, and if it's protected by trade secrets, it's the companny's problem to protect it. But I doubt that's going to work in practice. And it still leaves open source open to patent infringement claims.
Maybe it's time for the law to recognize and encourage free, open source software and create specific protections for it.
COM was a complete mess. Microsoft realized that. That's why they copied Java and created.NET. The common runtime that's part of.NET provides efficient, very fine-grained interoperability between objects written in different languages (gosh, I'm beginning to sound like a Microsoft commercial)..NET also provides for garbage collection, makes languages that compile to it to provide runtime type information, and it isolates different objects from one another.
Bonobo doesn't even come close. It doesn't provide a common runtime, fault isolation, or garbage collection. Compilers don't generate type information for it. In fact, as far as I can tell,
even if it were implemented fully and perfectly, Bonobo would basically just give you the same functionality COM/DCOM give you, with all the problems that that entails.
It's depressing to me to see how much projects like Mozilla, KDE, and Gnome have followed in the Microsoft footsteps and are repeating the same mistakes. To me, Microsoft is bad because they are using 20-30 year old technology for their GUIs and object systems. Cloning their implementations of outdated technology isn't going to propel Linux into the 21st century.
Well, while I fully agree that Microsoft's.NET strategy also includes what you state, that doesn't mean that everything they do is bogus.
The fact remains that Linux and Gnome are based on a language and runtime that is processor and architecture dependent, provides no support for runtime safety and fault isolation, and provides no dynamic type information. And those things matter if you want "delivering software as service on-demand".
So far, Microsoft has delivered stuff roughly the same as Linux: a lot of messy C/C++ code and a flaky scripting language called VisualBasic. If they follow through with.NET, they'll have something genuinely better.
Also, modularity really doesn't
suffer at the hands of a macrokernel.
In the current Linux kernel, there are few constraints on what part of the kernel a module can depend on or what data structures it can modify. And any fault in a kernel module can cause the whole kernel to crash.
Both of those issues make it really difficult for people to add new functionality to the kernel, and I think are significantly responsible for the long release cycles.
A microkernel isn't the only approach to achieving this kind of modularity--using a language with a little bit more error checking and support for interfaces would do the same thing without the overhead of a microkernel design. And adding runtime support for C++, natively-compiled Java, a JIT, Modula-2, Oberon, Modula-3, or any of a number of a number of other languages would be feasible. But my impression is that that would not stand a chance of making it into the distribution even as an optional module.
Whether it makes more sense for you to run Mac OS X or Linux probably depends on the kind of software you want to run. Currently, Linux has most of the software I want to run while Mac OS X doesn't. Your situation may be the reverse.
I have installed Mandrake 7.1, Mandrake 7.2, RedHat 6.2, and RedHat 7.0 (there is no 7.1) on many different kinds of machines. On most hardware, they install without a problem, without any complicated questions during the install process, without much user interaction at all actually, and result in fully functional KDE and Gnome desktop environments. IMO, Linux installations are now considerably simpler than Windows installations. Linux PPC, of course, may be a different matter.
I think it makes sense to take this kind of data and present it in audio form, just like it makes sense to present X-ray data and other invisible data to a 2D image. Neither will usually give you strong scientific results by themselves, but they may give you a better feel for the data you are dealing with, in particular if you understand the mapping and the physics behind it. If you don't, you can still just admire it for its intrinsic aesthetics.
But as a software platform, I think they are not all that good. They have megabytes of memory now, but they suffer from 64k limits somewhat analogous to what DOS used to impose on programs. And while PalmOS is conducive to letting experienced PalmOS programmers write tight, simple applications in C, for many custom applications, you want something like Java, Smalltalk, or even VisualBasic.
Palm has made steps to offer Java and to upgrade the processor and OS. Let's hope those will happen soon.
MacDonald's and Microsoft are also pragmatic compromises--they manage to get the biggest market share quickly. That's roughly what Gtk/Gnome did. That compromise is only desirable if your goal is lots of market share quickly, not if your goal is to develop good technology.
The great thing about C is that it is interfaceable with a number of languages.
It's only "interfaceable" with a number of languages because it is the de-facto standard and everybody bothers generating the glue to interface with it. Otherwise, it's actually quite horrible for the purpose.
glib/gtk is about the best-designed piece of software I've ever seen.
It is capably written and one of the better designed pieces of C software. But try to take a look at other systems sometimes.
Whether it's a "PC" or a "game console" doesn't make a difference. It's still a cheap plastic box that has some cheap and mediocre hardware in it. It's a box that lets you play finger twitching games. Now, there is nothing wrong with that--lots of consumer devices like that are lots of fun. But terms like "it will rock" or "powerful" are misplaced, and don't let some glitzy PR campaign fool you about that.
If you want the real thing, get the real thing. Go to the gym, climb mountains, ride a motorcycle, or fly an airplane. If you want a powerful computer, get a 256 node Beowulf cluster and find something real to do with it. Computer games are fun and entertaining, and even challenging in their own right, but don't let some marketer confuse you about whether they are the real-world thing or not.
OTOH, I think it won't replace X11. I think the additional functionality it provides (remote display, integration of different toolkits, separate window management, asynchronous graphics) greatly outweigh any perceived or actual overhead or limitations of the X11 system.
Of course, you can simulate all that stuff in C or C++: systems like COM try to address some of those issues. The problem is that if it isn't built into the language and runtime, everybody does it differently, the compiler can't help you, and you still don't get fault isolation.
Miguel could have done a lot for "Making UNIX Not Suck" if he had chosen a better language and runtime. His choice represents merely another pragmatic compromise in a long string of pragmatic compromises made in the industry. Gnome is well done, it works well, it has lots of functionality, but fundamentally, it merely "sucks less" and doesn't avoid the problems that are at the root of the problems with most UNIX and Windows software.
Of course, if Miguel had chosen differently, Gnome would not have become nearly as successful, since it mostly depends on the willingness of others to volunteer. Some other C/C++-based environment would have caught on. Ultimately, the "sucky" state of UNIX and Windows software is the result of the choices we all make day-to-day. Maybe we can make it a millenial resolution to use other languages and runtimes more: Java, Oberon, OCAML, Modula-3, C#, Eiffel, Python, Scheme, etc. Given that Gtk does bind pretty well to most of those, we can even stick with the Gtk toolkit.
By the same token, why not patent other applications of standard techniques for detecting symptoms? That way, not just the MRI would have been patented, but the use of MRI to detect tumors of the head, the use of MRI to detect tumors of the spinal cord, etc. Clearly, those had novel applications until the MRI actually existed, and there could have been hundreds if not thousands of patents like that.
Getting a couple of decades of a monopoly on a dignostic procedure is clearly lucrative, but that doesn't justify these patents.
The reason for that is twofold. First, patents on genes and their products actually directly allow the patent holder to control their use in research. Second, even if there were a research exemption (which there isn't) or even if the patent holder allows research to proceed, the patent takes away much of the financial incentive for others to develop treatments using the gene if they have to fear that they can be extorted for patent licensing fees once they have developed a cure.
I think the patenting of genes is ludicrous, as is the patenting of straightforward genetic testing based on such genes, which is applying standard techniques of molecular biology to known genetic sequences. Only if a test or a cure involves some genuinely novel ideas should it be even considered for a patent, in my opinion.
Will I have to use Microsoft Windows on my laptop in order to use this?
I think your posting exemplifies a difference in attitudes. Many Americans seem to view "freedom" as the right to bear arms, drive gas guzzling SUVs, and dismantle any attempts at urban planning by surrounding themselves with acres of land. That's not "freedom" to me, it's antisocial behavior. It's an expression of selfishness and fear of their fellow citizens.
The US hasn't yet adapted. People still think of themselves as a frontier society and they are often unwilling to make the choices that are appropriate to a more crowded way of living.
For example, many people seem to think that they can be "tough on crime", but the criminals that are locked away for a decade or two will come back into the same communities; retribution may be satisfying, but rehabilitation is more rational. Or look at the debate about id cards: rather than doing what is obviously the right and sensible thing, Americans prefer the illusion that there is no national id system when in fact corporations and the government already are using an ad-hoc system that poses greater risks to privacy and identity theft than any reasonable national id system. Or look at the hideaways in Montana and Idaho, where people believe they can wall themselves in and defend themselves with guns against the government. Or look at local schoolboards that believe that they can get away teaching creationism and other unscientific drivel, ignoring that they will be placing their students at a huge disadvantage in this society.
Yes, I think people living in the US should be concerned. There is some loss of freedom that is inevitable as land and resources become scarce; there is nothing that can be done about that. But there is a lot of loss of freedom that comes from poor government, government that promises people that they still live in a society with unlimited resources and freedoms and as a result fails to make good, liveable compromises. Other countries are far from perfect in that regard, but they seem to be doing better than the US right now.
Many people may do that with other services, but with Sprint Broadband, you buy the equipment.
If you actually read the agreement, it says that the clause is "irrevocable" and survives termination of service. That is exactly what makes it so disturbing.
Of course, I think it would also be dumb for Apple to push these patents. There are other ways of doing high quality typography (Freetype is exploring some of them), and Apple would only lose in the process.
For better or for worse, it's a free market. If you have a choice in providers, let them know that you will sign up with a provider that doesn't have such draconian terms of service. If they hear from a lot of people, they may change their TOS.
I don't see any problem with port scanning in general. Port scanning doesn't mean someone is breaking into your computer. It may just mean I'm checking one of my own machines for security holes.
Many of the "legitimate" services eat up much more bandwidth. Sprint broadband uplink speed is 256k, while downlink is 1-5Mbps. Running servers even at full capacity is barely more than listening to high quality audio or video and it's less than running a VNC connection.
It isn't "their" equipment. You buy the equipment as part of the signup. If you terminate your contract, you can throw it into the trash if you like. If you terminate your contract and owe them money, they should go through the standard legal procedures in case of unpaid bills, not carry out vigilante justice themselves.
The way it is phrased (read it again), it supposedly gives them the right to enter your house even long after you have terminated service with them, and nowhere does it say that the equipment they install has to be related to your service. "Hey, Mr. Jones, you aren't a customer anymore, and you don't have any of our equipment anymore, but in accordance with your contract with us, we have come to install this little widget on your roof." They'd probably not get away with it, but that is what the letter of the contract says.
The major problem with the contract is that it doesn't let you run servers of any kind: chat servers, game servers, FTP servers, whatever. And that is clearly spelled out. Read it yourself.
If companies take open source software and incorporate it into their products in violation of the license, that's quite difficult to detect. Even if it is detected, it takes a lot of legal muscle to actually prove (which involves getting the company to let someone look at their source code).
On the other hand, any claim of copyright or patent infringement can be easily supported by examining the source code of open source systems. In fact, since open source code is often indexed by search engines, just searching the web for a good combination of keywords can give companies quick hits on potentially infringing systems.
Of course, in theory, open source code should not be able to violate the copyright of proprietary source code: if it isn't published, it shouldn't be copyrightable, and if it's protected by trade secrets, it's the companny's problem to protect it. But I doubt that's going to work in practice. And it still leaves open source open to patent infringement claims.
Maybe it's time for the law to recognize and encourage free, open source software and create specific protections for it.
Bonobo doesn't even come close. It doesn't provide a common runtime, fault isolation, or garbage collection. Compilers don't generate type information for it. In fact, as far as I can tell, even if it were implemented fully and perfectly, Bonobo would basically just give you the same functionality COM/DCOM give you, with all the problems that that entails.
It's depressing to me to see how much projects like Mozilla, KDE, and Gnome have followed in the Microsoft footsteps and are repeating the same mistakes. To me, Microsoft is bad because they are using 20-30 year old technology for their GUIs and object systems. Cloning their implementations of outdated technology isn't going to propel Linux into the 21st century.
The fact remains that Linux and Gnome are based on a language and runtime that is processor and architecture dependent, provides no support for runtime safety and fault isolation, and provides no dynamic type information. And those things matter if you want "delivering software as service on-demand".
So far, Microsoft has delivered stuff roughly the same as Linux: a lot of messy C/C++ code and a flaky scripting language called VisualBasic. If they follow through with .NET, they'll have something genuinely better.
In the current Linux kernel, there are few constraints on what part of the kernel a module can depend on or what data structures it can modify. And any fault in a kernel module can cause the whole kernel to crash.
Both of those issues make it really difficult for people to add new functionality to the kernel, and I think are significantly responsible for the long release cycles.
A microkernel isn't the only approach to achieving this kind of modularity--using a language with a little bit more error checking and support for interfaces would do the same thing without the overhead of a microkernel design. And adding runtime support for C++, natively-compiled Java, a JIT, Modula-2, Oberon, Modula-3, or any of a number of a number of other languages would be feasible. But my impression is that that would not stand a chance of making it into the distribution even as an optional module.