Hmmm.... The Best books about Linux I have read so far are unfortunately German ones, but if someone knows English Versions of theese Books, feel free to add
For the start, and to reread the Basics:
Michael Koffler - Linux, Instalation, Konfiguration, Anwendung (roughly in English: Linux - installation, configuration, using)
For deeper understanding of the system (all by Helmut Herold)
Linux/Unix Grundlagen ( in English: Linux/Unix Basics)
Linux/Unix Shells (in English the same;))
awk & sed
lec & yacc
make
Linux/Unix Systemprogrammierung ( in English: Linux/Unix Systemprogramming)
With 10% I was referring to a possible Factor. To Increase the speed from, lets say exponential to polynomial you would usually have to reconstruct the whole algorithm. If you optimize it without rewriting it you can usually only improve the Factor, e.g. from 2*e^x to e^x.
Byte-Code itself is a nice idea, because it leads programming languages back to the idea, write once, let it run everywhere, what was exactly the purpose why high level languages were developed. But if you lock them in again on one group of OS's or CPU-families, it defeats the whole purpose again. To repeat it, the big advantage of Bytecode is Platform independency, the disadvantages are slower programs, no direct access to system components, and sometimes complete virtual machines, that slow down the computer in a whole.
To give you some examples, why it is important to think about algorithms, even in the enterprise sector: I work for a software company for about one month now. The speed never matters to them, an now one of their products has become so slow, that suddenly the priority increased. In fact it now has top priority. If they would have planned the software with a little bit speed in mind, they would not have to optimize about 16 Megabyte code now, but the problem would have never appeared. It is NOT about hacking through assembly code, but about making up a good idea, and work it out BEFORE any line of code is written. For the statistics, opening a file takes about 5*10^Kilobyte on an Pentium IV with 1600 Megahertz. The reasons are unappropriate variable types, bad sorting algorithms and buggy threads. All of this cold have been improved, if there were a single thought about speed, before.
Concerning.NET I have a different opinion (To be more polite than 99% of the slashdotters concerning.NET;-) ). A Virtual Machine,like.NET only makes sense, if it is REALLY Platform independent. Any other way the advantages cannot make the disadvantages be forgotten. 70% sounds good, but it is still too slow, if you think about how much speed you can gain by code optimization. Just an example: I take one algorithm (NO SOURCE CODE IN LANGUAGE X, ONLY THE ALGORITHM!!!!) and optimize it, so that it runs, let say 10% faster. The I port the same algorithm to C# and have only 80% speed compared to the unmodified, unoptimized algorithm. Stating, that "we have the power in our computers" is no excuse. So if Enterprise grade software relies on techniques, that slow down my computer about 30%, I see no reason to use it!
Write better software, take your time to optimize it and write in an elegant and fast language, and I will use it.
Hmmm...
After all I am not so sure anymore, that it is about M$'s patents, but about the ones held by Novell. Maybe M$ is trying to bypass the GPL. Sounds strange, right?
See it this way: Novell agreed not to sue Microsoft for Patent violation (this is about Ideas, not source code), so if Microsoft wants to include patents held by Linux corporations, now they can use the ones held by Novell, and they have a reference implementation inside GPL'ed Software. They may not simply cut'n'paste it, but they can reimplement them, without any Danger.
sounds even more disturbing the beeing sued because of violating IP, isn't it?
The problems Theo de Raadt and Richard Stallman have, are problems you only have (or can see) if you are living in a highly over-civilized enviroment. You see, the most important thing in the whole OLPC project seems to me, that second and third world countries can effictively fight poverty. If you are living in e.g. the dominican republic (been there last spring) and you are born in a poor family, you have to work to help feed your family. Therefor you are unable to get the education you would need, to get a job later on. And if you are adult yourself, you are in the same position, your parents were before. This is the vicious circle, the OLPC project tries to break. And THOSE CHILDREN DO NOT HAVE ONE OR TWO YEARS!
The other thing I wich to say is that you probably won't find any quality wireless chip without properitary parts. This is due to marketing. If you take a look, which kind of devices are well documentated you'll find, that many of them are originaly developed for market segments where FOSS is at least strongly deployed, for example Ethernetcards from the Server segment. Hardware from segments, where properitary software is mostly used, is on an average worse or not at all documentated, e.g. High End Graphicboards build in gamer PC's or (sic!) wireless cards. You need to have a strong FOSS community in a segment to have Hardware well documentated, and you need good hardware support to build up a strong FOSS community. If NDA's could help, they are a problematic, but passable way to get into a situation, wher H/W Vendors could be forced to open up their specifications (as seen in the past). This is our own vicious circle, but at least we have the education to decide ourselfs...Okay, most of us....
Easy...
we measured till the grub boot prompt, because we wanted to know, how fast our linux is, not the speed of our bios. second compile your Kernel as minimalistic as possible, but with all drivers possible compiled in. the use initng in stead of the standard init scripts, and voila, speeeeeeeeeeeeeeed!
First of all, I'm using Gentoo on my Desktop, but nonetheless I have some words to the so-called "newbie-Distros" (SuSE, fedora, Mandriva, (K-,X- )Ubuntu, etc.)
The administrative tools are MUCH to slow (To update my System the users interaction with the System is emerge --sync && emerge --update world on a root console. This tooks about 2-5 seconds. To fire up Yast, urpmi or synaptic, choosing System update etc., it takes several minutes...)
You don't have access to real cutting edge packages. You have to stay behind with Kernel 2.6.xx while I can go on to Kernel 2.6.xx+x, just as an example
You have to do it the way, the maintainers want it. If you ever tried to go through the packages SuSE offers you while it's installing in a quick and efficient way, you know what I mean. So you could as well stuck to M$.
The system itself is hidden from the users, so many people could misread KDE (or Gnome,...) for Linux.
Most newbie distros are too bloated, and therefor damn slow. Another example: My 700Mhz Laptop with Gentoo needs about 20 seconds to start up, load KDE(!) and be ready to work. The AMD Athlon 2800 PC from my
So far the bad sides, now the good sides
The System is easy to understand, no matter what you use
The system still have better benchmarking results the M$ Windohs
The releasecycles are short enough, to be more or less up-to-date
So, what do I want to say with this?
first: Using Linux is still better than using M$
second You have to be sensible with comparisons (here Gentoo newbie Distros, or earlier in the discussion SuSE Fedora Ubuntu Mandriva).
All in all one newbiedistro is as good as the other. Which one you want to use is up to your oppinion. But, from my point of view, Ubuntu is the most modern and cleanest one from all. Quite easy to install, good to maintain and so on. SuSE has the best graphical(!) administration tool. Fedora is closest to cutting edge. Mandriva is a good compromise between some of them.
another question asked was, if linux is ready for the Desktop. Decide yourself, but if not, then this is only partial the fault of the Kernel developers. It is also the fault of distromaintainers, that are unable to design tere distros in a reasonable way.
Now the most important question: what OS/distro you should use: DECIDE YOURSELF. Linux grants you this right, and its fans should do so, too.
Did you ever read Karl Marx? No, I don't mean "the communistic Manifesto" (Das Kommunistische Manifest) but "the Capital" (Das Kapital).
Do you know what he states there? He says that the worker, who produces something, should own the resources, so that the worker can build up a relationship to the product.
This should seem common to you. Think of source code, which owns everyone, who owns the product. If you believe it or not, open source has a lot to do with Karl Marx. You can see this like a socialist (NO!!! NOT LIKE STALIN! THAT GUY WAS FASCIST!!!), or like a liberal, but a lot of suggestions of Marx are found in modern open source. AND IT WORKS!
Maybe more corps should take economic advisory from Karl Marx:)
I know, this is offtopic, but I've read that much nonesense about Marx, socialism/communism and the relationship between them and OSS on slashdot, that I wanted to say this once!
since the beginning of Linux ignoring it didn't work, FUD didn't work (also stated in the Helloween Documents), shared source is looked at with a lot of critic, and now... cooperation. Strange, huuh?
Face the facts: slowly but surely Microsoft is loosing its monopoly, and they have to play fair. (Okay, maybe they won't ever play fair, but they get closer to it.) They have their fingers in nearly everything related to the x86 market, and everything, the "mainstream user" needs, to be happy, e.g. mobile phones, PDAs and so on. Everyone is using M$ the one or other way, it's nearly unavoidable, BUT with this comes, that nearly noone LIKES M$. In Germany nowadays even the VERY M$ friendly Magazines critizise Vista for DRM, unstability and not beeing innovative.
The dicussion about linux vs windows security is quite old now...
See it this way:
Windows appears to be so much more insecure because so many peolple are using it, and so it becomes an interresting target for small, little hobby hackers. But now suddenly (as read on/.) linux gets more known among "normal" computer users; nearly as well known (or even more) then MacOS. So we, the linux community, get into the situation, that more peole are trying to hack linux PCs. Therefor more exploits are showing up. (More people are looking after them with the aim to use them). I remember the euphoric comments on the "linux beats MacOS" thread, a time ago. (find it by yourself, I don't have the time in the moment) What we are expierience here, is the othe side of this phenomenon, and so, when we want to get linux more used by "normal" users, we have to pay the price, that hackers are more frequently try to break in our systems.
So what...
Try the Univerity in Bonn, Germany. I've seen only a few Macs, but there are a lot of CIP-Pools (the rooms with the computers for the students) where Fedora or Knoppix is running
There is more innovation left to do than you can obviously imagine.
Take a look at this: The Computer scince is still on its way to just sort the gained experience, they don't even now, what is REALLY important, what a little bit less and what is just redundant. Yes, a lot of algorithms are capable to calculate solutions in a logarithmical time, but many others can do this only in a linear, or worse, in an exponential time. There are algorithms to be found, like the (in CS) famous chess-algorithm, that could be capable of calculating EVERY possible game of chess in a reasonible time. (The algorithms today would need decades of time on some petabytes of memory only for a database to store the games in!)
While this example seems not to affect OS's, believe me, it does. For example, if you could calculate every single game of chess, you could also use the result of that research for powerful caching algorithms (just for example).
You change Innovation for change of a paradigm. Changes of Paradigms were for example the invention of the first relay-computer, or the changing of relays to transistors and later to mosfets. Innovations are smaller; they do not have that kind of impact, but they slowly drive the science forward.
Another thing: would you say, that in physics there is no room left for innovation? The people at the end of the 19th century believed that. Then came Einstein and Schroedinger. And Physics is over 2000 years old. The old greek did mess with it, and although they could meassure the radius of the earth (+/- 10%!!) they could not even dream of the theory of relativity. How can we even dare to believe that there is no room for innovation?! Things like Holodecks are science fiction to us, but a time, when every household contains of a computer (or two, or three) was science fiction only 10 years ago.
The problem with innovation I see, is that you need visionary minds to reach it. Companys like M$ or (sadly) nowadays Lenovo are ignorant towards visions because they see no immediate profit in it, and they are not interrested in long-term profit.
It's an interresting article, but IMHO it doesn't reflect, why big Companys like IBM or Oracle should invest (or buy) OSS.
The Problem for Corporations is that the GPL, as well as many other licensing models, is mandatory. You cannot gain control of it, unless ALL developers give their permittance. Just imagine how IBM tries to track down AND convince EVERY SIGLE ONE of the thousands (if not millions, I don't know) of Linux developers. Funny picture, isn't it? the code will never be worth (of course not the idealistic, but the commercial one) the effort. Here, pure marxism, as it was meant, collides with a capitalistic system.
But nonetheless there are some huge advantages, commercial as well as idealistic ones, for the companies investing in OSS.
First, as the article mentioned, you don't have to care about support from other companies, you can do it by yourself, and paying a developer to maintain the software is much cheaper than to migrate to a new Version of the propieretary Software or even change the Software, because the development has stopped, every two (or so) years. So using it would provide you with a guaranteed low TOC.
Second, a company that invests in OSS has the possibility to act as sort of "white knight". Like it or not, but many OSS developers are VERY good coders, some of them probably the best in this world; and they are strong idealist. If you want to have some thousands of the most important computer experts as customers, you have to invest in public relations, and supporting OSS is a very effective (and not too expensive) way to do so.
Third is something more commercial. For that we could take a view, how apple manages its investments into OSS. They give their OS away freely and open sourced under the name Darwin. But most MAC OS apps does not run on Darwin, because it misses the libraries to run them (for example the COCOA Framework). So they can outsource the biggest ammount of R&D to very good coders, who are NOT EVEN PAYED! The wet dream of any CEO, isn't it? Get the best possible work for free. Not even outsourcing to some programmers in Taiwan is that cheap. (Sorry to all coders from Taiwan, but you know, what I mean.)
So you see, marxism and capitalism CAN work together, and the products are worth every minute of work and every cent paid. That are of course just some of the reasons why commercial organisations can suceed through investing in something, which cannot be controlled, and sometimes not even selled, but I think some of the more important ones.
Hmmm.... The Best books about Linux I have read so far are unfortunately German ones, but if someone knows English Versions of theese Books, feel free to add For the start, and to reread the Basics: Michael Koffler - Linux, Instalation, Konfiguration, Anwendung (roughly in English: Linux - installation, configuration, using) For deeper understanding of the system (all by Helmut Herold) Linux/Unix Grundlagen ( in English: Linux/Unix Basics) Linux/Unix Shells (in English the same ;))
awk & sed
lec & yacc
make
Linux/Unix Systemprogrammierung ( in English: Linux/Unix Systemprogramming)
With 10% I was referring to a possible Factor. To Increase the speed from, lets say exponential to polynomial you would usually have to reconstruct the whole algorithm. If you optimize it without rewriting it you can usually only improve the Factor, e.g. from 2*e^x to e^x.
Byte-Code itself is a nice idea, because it leads programming languages back to the idea, write once, let it run everywhere, what was exactly the purpose why high level languages were developed. But if you lock them in again on one group of OS's or CPU-families, it defeats the whole purpose again. To repeat it, the big advantage of Bytecode is Platform independency, the disadvantages are slower programs, no direct access to system components, and sometimes complete virtual machines, that slow down the computer in a whole.
To give you some examples, why it is important to think about algorithms, even in the enterprise sector: I work for a software company for about one month now. The speed never matters to them, an now one of their products has become so slow, that suddenly the priority increased. In fact it now has top priority. If they would have planned the software with a little bit speed in mind, they would not have to optimize about 16 Megabyte code now, but the problem would have never appeared. It is NOT about hacking through assembly code, but about making up a good idea, and work it out BEFORE any line of code is written. For the statistics, opening a file takes about 5*10^Kilobyte on an Pentium IV with 1600 Megahertz. The reasons are unappropriate variable types, bad sorting algorithms and buggy threads. All of this cold have been improved, if there were a single thought about speed, before.
Concerning .NET I have a different opinion (To be more polite than 99% of the slashdotters concerning .NET ;-) ). A Virtual Machine ,like .NET only makes sense, if it is REALLY Platform independent. Any other way the advantages cannot make the disadvantages be forgotten. 70% sounds good, but it is still too slow, if you think about how much speed you can gain by code optimization. Just an example: I take one algorithm (NO SOURCE CODE IN LANGUAGE X, ONLY THE ALGORITHM!!!!) and optimize it, so that it runs, let say 10% faster. The I port the same algorithm to C# and have only 80% speed compared to the unmodified, unoptimized algorithm. Stating, that "we have the power in our computers" is no excuse. So if Enterprise grade software relies on techniques, that slow down my computer about 30%, I see no reason to use it!
Write better software, take your time to optimize it and write in an elegant and fast language, and I will use it.
Hmmm... After all I am not so sure anymore, that it is about M$'s patents, but about the ones held by Novell. Maybe M$ is trying to bypass the GPL. Sounds strange, right? See it this way: Novell agreed not to sue Microsoft for Patent violation (this is about Ideas, not source code), so if Microsoft wants to include patents held by Linux corporations, now they can use the ones held by Novell, and they have a reference implementation inside GPL'ed Software. They may not simply cut'n'paste it, but they can reimplement them, without any Danger. sounds even more disturbing the beeing sued because of violating IP, isn't it?
The problems Theo de Raadt and Richard Stallman have, are problems you only have (or can see) if you are living in a highly over-civilized enviroment. You see, the most important thing in the whole OLPC project seems to me, that second and third world countries can effictively fight poverty. If you are living in e.g. the dominican republic (been there last spring) and you are born in a poor family, you have to work to help feed your family. Therefor you are unable to get the education you would need, to get a job later on. And if you are adult yourself, you are in the same position, your parents were before. This is the vicious circle, the OLPC project tries to break. And THOSE CHILDREN DO NOT HAVE ONE OR TWO YEARS!
The other thing I wich to say is that you probably won't find any quality wireless chip without properitary parts. This is due to marketing. If you take a look, which kind of devices are well documentated you'll find, that many of them are originaly developed for market segments where FOSS is at least strongly deployed, for example Ethernetcards from the Server segment. Hardware from segments, where properitary software is mostly used, is on an average worse or not at all documentated, e.g. High End Graphicboards build in gamer PC's or (sic!) wireless cards. You need to have a strong FOSS community in a segment to have Hardware well documentated, and you need good hardware support to build up a strong FOSS community. If NDA's could help, they are a problematic, but passable way to get into a situation, wher H/W Vendors could be forced to open up their specifications (as seen in the past).
This is our own vicious circle, but at least we have the education to decide ourselfs...Okay, most of us....
Greets
Neolith
Easy...
we measured till the grub boot prompt, because we wanted to know, how fast our linux is, not the speed of our bios. second compile your Kernel as minimalistic as possible, but with all drivers possible compiled in. the use initng in stead of the standard init scripts, and voila, speeeeeeeeeeeeeeed!
So far the bad sides, now the good sides
So, what do I want to say with this?
first: Using Linux is still better than using M$
second You have to be sensible with comparisons (here Gentoo newbie Distros, or earlier in the discussion SuSE Fedora Ubuntu Mandriva).
All in all one newbiedistro is as good as the other. Which one you want to use is up to your oppinion. But, from my point of view, Ubuntu is the most modern and cleanest one from all. Quite easy to install, good to maintain and so on. SuSE has the best graphical(!) administration tool. Fedora is closest to cutting edge. Mandriva is a good compromise between some of them.
another question asked was, if linux is ready for the Desktop. Decide yourself, but if not, then this is only partial the fault of the Kernel developers. It is also the fault of distromaintainers, that are unable to design tere distros in a reasonable way.
Now the most important question: what OS/distro you should use: DECIDE YOURSELF. Linux grants you this right, and its fans should do so, too.
Did you ever read Karl Marx? No, I don't mean "the communistic Manifesto" (Das Kommunistische Manifest) but "the Capital" (Das Kapital).
:)
Do you know what he states there? He says that the worker, who produces something, should own the resources, so that the worker can build up a relationship to the product.
This should seem common to you. Think of source code, which owns everyone, who owns the product. If you believe it or not, open source has a lot to do with Karl Marx. You can see this like a socialist (NO!!! NOT LIKE STALIN! THAT GUY WAS FASCIST!!!), or like a liberal, but a lot of suggestions of Marx are found in modern open source. AND IT WORKS!
Maybe more corps should take economic advisory from Karl Marx
I know, this is offtopic, but I've read that much nonesense about Marx, socialism/communism and the relationship between them and OSS on slashdot, that I wanted to say this once!
greets Patrick
Let's start with a look at the past:
since the beginning of Linux ignoring it didn't work, FUD didn't work (also stated in the Helloween Documents), shared source is looked at with a lot of critic, and now... cooperation. Strange, huuh?
Face the facts: slowly but surely Microsoft is loosing its monopoly, and they have to play fair. (Okay, maybe they won't ever play fair, but they get closer to it.) They have their fingers in nearly everything related to the x86 market, and everything, the "mainstream user" needs, to be happy, e.g. mobile phones, PDAs and so on. Everyone is using M$ the one or other way, it's nearly unavoidable, BUT with this comes, that nearly noone LIKES M$. In Germany nowadays even the VERY M$ friendly Magazines critizise Vista for DRM, unstability and not beeing innovative.
The dicussion about linux vs windows security is quite old now... /.) linux gets more known among "normal" computer users; nearly as well known (or even more) then MacOS. So we, the linux community, get into the situation, that more peole are trying to hack linux PCs. Therefor more exploits are showing up. (More people are looking after them with the aim to use them). I remember the euphoric comments on the "linux beats MacOS" thread, a time ago. (find it by yourself, I don't have the time in the moment) What we are expierience here, is the othe side of this phenomenon, and so, when we want to get linux more used by "normal" users, we have to pay the price, that hackers are more frequently try to break in our systems.
See it this way:
Windows appears to be so much more insecure because so many peolple are using it, and so it becomes an interresting target for small, little hobby hackers. But now suddenly (as read on
So what...
Try the Univerity in Bonn, Germany. I've seen only a few Macs, but there are a lot of CIP-Pools (the rooms with the computers for the students) where Fedora or Knoppix is running
There is more innovation left to do than you can obviously imagine.
:(
Take a look at this: The Computer scince is still on its way to just sort the gained experience, they don't even now, what is REALLY important, what a little bit less and what is just redundant. Yes, a lot of algorithms are capable to calculate solutions in a logarithmical time, but many others can do this only in a linear, or worse, in an exponential time. There are algorithms to be found, like the (in CS) famous chess-algorithm, that could be capable of calculating EVERY possible game of chess in a reasonible time. (The algorithms today would need decades of time on some petabytes of memory only for a database to store the games in!)
While this example seems not to affect OS's, believe me, it does. For example, if you could calculate every single game of chess, you could also use the result of that research for powerful caching algorithms (just for example).
You change Innovation for change of a paradigm. Changes of Paradigms were for example the invention of the first relay-computer, or the changing of relays to transistors and later to mosfets. Innovations are smaller; they do not have that kind of impact, but they slowly drive the science forward.
Another thing: would you say, that in physics there is no room left for innovation? The people at the end of the 19th century believed that. Then came Einstein and Schroedinger. And Physics is over 2000 years old. The old greek did mess with it, and although they could meassure the radius of the earth (+/- 10%!!) they could not even dream of the theory of relativity. How can we even dare to believe that there is no room for innovation?! Things like Holodecks are science fiction to us, but a time, when every household contains of a computer (or two, or three) was science fiction only 10 years ago.
The problem with innovation I see, is that you need visionary minds to reach it. Companys like M$ or (sadly) nowadays Lenovo are ignorant towards visions because they see no immediate profit in it, and they are not interrested in long-term profit.
Somehow sad, isn't it?
It's an interresting article, but IMHO it doesn't reflect, why big Companys like IBM or Oracle should invest (or buy) OSS.
The Problem for Corporations is that the GPL, as well as many other licensing models, is mandatory. You cannot gain control of it, unless ALL developers give their permittance. Just imagine how IBM tries to track down AND convince EVERY SIGLE ONE of the thousands (if not millions, I don't know) of Linux developers. Funny picture, isn't it? the code will never be worth (of course not the idealistic, but the commercial one) the effort. Here, pure marxism, as it was meant, collides with a capitalistic system.
But nonetheless there are some huge advantages, commercial as well as idealistic ones, for the companies investing in OSS.
First, as the article mentioned, you don't have to care about support from other companies, you can do it by yourself, and paying a developer to maintain the software is much cheaper than to migrate to a new Version of the propieretary Software or even change the Software, because the development has stopped, every two (or so) years. So using it would provide you with a guaranteed low TOC.
Second, a company that invests in OSS has the possibility to act as sort of "white knight". Like it or not, but many OSS developers are VERY good coders, some of them probably the best in this world; and they are strong idealist. If you want to have some thousands of the most important computer experts as customers, you have to invest in public relations, and supporting OSS is a very effective (and not too expensive) way to do so.
Third is something more commercial. For that we could take a view, how apple manages its investments into OSS. They give their OS away freely and open sourced under the name Darwin. But most MAC OS apps does not run on Darwin, because it misses the libraries to run them (for example the COCOA Framework). So they can outsource the biggest ammount of R&D to very good coders, who are NOT EVEN PAYED! The wet dream of any CEO, isn't it? Get the best possible work for free. Not even outsourcing to some programmers in Taiwan is that cheap. (Sorry to all coders from Taiwan, but you know, what I mean.)
So you see, marxism and capitalism CAN work together, and the products are worth every minute of work and every cent paid. That are of course just some of the reasons why commercial organisations can suceed through investing in something, which cannot be controlled, and sometimes not even selled, but I think some of the more important ones.