The STL does one thing very well: it's very predictable performance-wise while being reasonably useable. When you use it, you know perfectly what the performance is going to be. It also offers some occasionally-useful features (std::weak_ptr for instance). c++11's move constructors and rvalue references are very good for squeezing out the last bit of performance where possible and for ensuring exception safety to certain operations; although it's mostly useful for very low-level, entrenched libraries such as the STL. Lambdas are syntactic sugar, but a well flavored one.
c++ is now a very different beast than it was in the 90s. If used properly, it can be very effective (performance-wise) in complex projects. But it can also give programmers tons of rope to hang themselves with.
This wouldn't really make sense for many users, such as Free/Open Source Software.
On the other hand, it would make sense to tie the value to the cost of LICENSING some intellectual work.
So those who have high-value intellectual works would have to overvalue it, in order to avoid being compelled to license it to unwanted parties, and thus pay. On the other hand, if someone wanted to license their work for free, they'd have to pay nothing and still be protected.
Is one that only allows copyrights to be owned by people, not corporations.
As far as I know the italian copyright system is just like this: authors' rights (the italian version of copyright, in a way) are non-transferrable. Does it make a difference? Of course not, the publisher can just have the author sign a perennial, irrevocable license to administer and receive all compensations for all its author's rights in exchange for an upfront amount of cash or a percentage of the profits, et voila`, authors' rights become nothing more than an empty shell.
Is one that has an unlimited exemption from copyright infringement for personal and private copying.
This is already the case in some jurisdictions (including Italy, where the consumer is allowed to back their legally-purchased copyrighted works, subject to certain restrictions). This is being eroded by removing (via technical and legal means - DMCA-lookalikes) the ability to technically create the backup.
It's pretty simple: either MS pays or it cannot do any business within the EU (and probably gets its assets confiscated and sold off like someone else suggested).
They'll kick and scream and drag their feet, but pay in the end.
Puh-leeze... every application that has been running for years HAS to have some code that's a leftover from its earlier days. This includes Linux and X11, of course. Unless said app underwent a complete rewrite, which means that at a certain point its authors had realized that the thing was totally hopeless and couldn't go forward anymore.
This is doubly true for a proprietary OS, which has to provide a compatiblity layer of some sort to its previous incarnations. It just doesn't make sense to rewrite that layer from scratch each time, it would make regression testing economically unmanageable.
About M$FT taking 6 years to build Vista, there are only this many good programmers (and managers) that you can hire. Add in the compatibility mess, and you end up tangling yourself more and more. Linus can afford to say "Screw incompatible device drivers update or use an older kernel version"; M$FT can't as third-party device drivers are crucial to get the OS out to the customers AND the kernel can't be unbundled from the libraries and core apps.
You're forgetting that Symantec recently bought Veritas, which makes filesystem, clustering solutions for Unix and Windows, and has a very healty backup business, and which in turn had not-so-long-ago acquired VMWare. Those are quite heavy-sellers in the enterprise market.
Well, a complete IPL (boot-up) for a mainframe can take up to 4 hours when you have lots of partitions etc. That is assuming that the disks are OK (and they usually are - mainframe filesystems are really unuseable to non-MFers but very solid)
Actually there is a previous EU-wide treaty on patents, which specifically excludes software patents, and that dates back to 1973.
Software patents are being issued against that treaty, but basically they are not enforceable and shouldn't be worth more than the paper they're written on.
Why should you be worried? Were Microsoft to develop the best CLI ever conceived, it wouldn't take bash, tcsh or zsh or whatever is your shell of choice (pick your flavour, I'm not going to start a war here) away from you (and me and everyone else).
So best luck to them, and may life be less painful for our fellow Windows sysadmins!
I've had a few dealings with IBM regarding Linux in the past few years, and they've historically been pretty agnostic distribution-wise, with some slant towards SuSE on the mainframe, and Red Hat on the x86 platform (but I've heard friends of mine say that IBM pushed SuSE very aggressively on the x86 platform too). Remember that the first industrial-strenght implementation of a Linux system on the mainframe has been a joint effor by SySE and IBM.
GNUS, the threaded internet newsreader for (x)emacs, has been doing this for years. Its usenet ancestry shows in its mail functionalities, and it makes for very convenient reading of mailing-lists.
As if a simple administrative burden could stop the "bad guys" of the day from getting what they want anyways...
Proof: how could Iraq, despite an UN-sanctioned world-wide ban on arms sales, get state-of-the-art weapons? How can anyone even THINK that "the bad guys" couldn't get all the software they want the same way that they could get weapons?
While I can agree with you on principle, of course the picture is even more complex. For instance, when you have 8k servers, I don't think you're colocated. So the cost for floor space is greatly reduced, if nothing else because physical security is much easier to manage. Transmeta processors are good, but they're especially advantageous when you don't need lots of horsepower, which is not the case with google where clustering is for high performance first and redundancy later. So I figure you'd need at least 4 blades just to replace your typical dual-p3 1U server, without taking the load balancing inefficiencies into account. Also, you have to take into account management costs, which are of course higher when you have multiple servers.
This is all to say, I believe that in the end the TCO of blades and 1u servers balances out, and if there's an advantage for one or the other, it's fairly marginal.
How did Google roll out 10,000 servers at such a low cost?
Certainly not by using blade servers. Contrary to popular belief, blade servers cost more tran their non-blade equivalents. Just like notebooks vs. laptops. Their selling points are (in some vendors' opinions) integrated management and supposed flexibility.
Go to an italian or, for that matter, european bank (I think). They are required by law to explicitly opt-in for any and all uses of the information they collect, even what is actually needed to perform any given service.
Milano's subway has had them for at least 6 months. They look like movies from the beginning of the century, just outside the subways' windows. Cute, and in the long run boring. On the plus side, there's no audio to accompany them (which instead happens in some stations). It easier to look somewhere else than not to listen.
I am a RHCE. And I assure that it is giving me quite some good points whenever I talk to somebody. Reason (IMO): the "Red Hat" brand is starting to get known even among non-techies, and there's not many of us (RHCE, I mean). Thus marketoids and recruiters go to the "it must be good" routine. Which it is, but that's beside the point. MSCE is being ridiculed by just about anybody in mid-to-big size business. It only has place in the market for small-time computer support people. Not that it's a small market, it's just THE market for MCSE people: storm in, reboot and if it fails reinstall the computer.
It has been tried, didn't work (*cough* Indrema *ahem*). The economics are not there yet, and it's possible that they'll never be. Remember that in the end what really drives a console is its hardware, and the OS is probably just a boot loader. There's no need for device drivers, all consoles are the same. Memory management is probably [1] handled by the games themselves, nor there is any use for multitasking (maybe cooperative multithreading in the game engine themselves). To sum it up, there is no need for OS-like functionalities in a console. Maybe some BIOS-like functions for DRM and similar, and a boot loader.
[1] I am no console developer, it just seems logical.
CIFS per se is an open standard. What makes it difficult to interoperate with Microsoft's implementation of it is that CIFS is used by Microsoft to tunnel RPC calls which do very important tasks (even basic stuff like looking up an user SID to perform an ACL match). Without those calls filesharing should still be possible, but with VERY limited functionality. The problem is that (in true Microsoft fashion) there's HUNDREDS of calls, and each of those can have LOTS of variants with widely different results. See any network-related MSDN-documented information function call. Often you'll find a parameter which is an "info level" or somesuch. Change that parameter, and you change the type of the returned values and obviously the returned data. See this call for an example. Microsoft's interface design method appears (from the outside) to be something like this:they think in advance, and then they define those interfaces which they MIGHT need five years in the future, and place stubs until then. This has the side-effect that their interfaces have everything AND the kitchen sink, thus the hundreds of calls.
Not really. SMB was created by DEC for their Pathworks software and by IBM (see http://samba.anu.edu.au/cifs/docs/what-is-smb.html ). Strike one more Microsoft innovation from the list.
the purpose of open source is to improve software, period
I think that what is the purpose of "open source" depends on whom you ask it to. Everybody has her motivations to do open source stuff. Somebody might do it, as you say, to improve technology, somebody else "to scratch an itch", somebody else for the ego trip or because it's dandy or because he wants to impress a geeky girlfriend (er...right). Somebody else because it gets stuff done, or because it's just fun.
We can try to explain what it is, but we should not try to constrain it into a particular vision of it. This is actually in my very humble opinion one of its strongest points against closed stuff: there's no "big plan", no corporate masterminds, nothing to fight against. Just plain doing stuff, as frustrating as it might be sometimes.
Here in Southern Europe (5 cities in Italy, plus some others in Europe - 10 to 15 cities total I believe) there's a company called e.Biscom (plus its subsidiaries Metroweb and Fastweb) which is engaged in a massive fiber roll-out. What do they sell? Phone (VoIP), pay-per-view TV, and 10 MBps flat-rate Internet Access (NATted), for 50 euros/month plus taxes (phone bills and TV shows not included of course). They've been doing it for at least 2 years, and they've always used one integrated device with fiber in and 10BaseT/phone/tv out. The models have varied in time, but this is definitely NOT news.
The STL does one thing very well: it's very predictable performance-wise while being reasonably useable.
When you use it, you know perfectly what the performance is going to be.
It also offers some occasionally-useful features (std::weak_ptr for instance). c++11's move constructors and rvalue references are very good for squeezing out the last bit of performance where possible and for ensuring exception safety to certain operations; although it's mostly useful for very low-level, entrenched libraries such as the STL. Lambdas are syntactic sugar, but a well flavored one.
c++ is now a very different beast than it was in the 90s. If used properly, it can be very effective (performance-wise) in complex projects. But it can also give programmers tons of rope to hang themselves with.
This wouldn't really make sense for many users, such as Free/Open Source Software.
On the other hand, it would make sense to tie the value to the cost of LICENSING some intellectual work.
So those who have high-value intellectual works would have to overvalue it, in order to avoid being compelled to license it to unwanted parties, and thus pay.
On the other hand, if someone wanted to license their work for free, they'd have to pay nothing and still be protected.
Under Linux, it's /proc/pid/mem:
/proc/6282/mem /proc/6282/mem
kinkie@loki:~$ll
-rw------- 1 kinkie kinkie 0 Apr 7 22:02
kinkie@loki:~$echo $$
6296
see? I can alter my own processes' memory, no problem.
Is one that only allows copyrights to be owned by people, not corporations.
As far as I know the italian copyright system is just like this: authors' rights (the italian version of copyright, in a way) are non-transferrable. Does it make a difference? Of course not, the publisher can just have the author sign a perennial, irrevocable license to administer and receive all compensations for all its author's rights in exchange for an upfront amount of cash or a percentage of the profits, et voila`, authors' rights become nothing more than an empty shell.
Is one that has an unlimited exemption from copyright infringement for personal and private copying.
This is already the case in some jurisdictions (including Italy, where the consumer is allowed to back their legally-purchased copyrighted works, subject to certain restrictions). This is being eroded by removing (via technical and legal means - DMCA-lookalikes) the ability to technically create the backup.
It's pretty simple: either MS pays or it cannot do any business within the EU (and probably gets its assets confiscated and sold off like someone else suggested).
They'll kick and scream and drag their feet, but pay in the end.
Puh-leeze... every application that has been running for years HAS to have some code that's a leftover from its earlier days. This includes Linux and X11, of course. Unless said app underwent a complete rewrite, which means that at a certain point its authors had realized that the thing was totally hopeless and couldn't go forward anymore.
This is doubly true for a proprietary OS, which has to provide a compatiblity layer of some sort to its previous incarnations. It just doesn't make sense to rewrite that layer from scratch each time, it would make regression testing economically unmanageable.
About M$FT taking 6 years to build Vista, there are only this many good programmers (and managers) that you can hire. Add in the compatibility mess, and you end up tangling yourself more and more. Linus can afford to say "Screw incompatible device drivers update or use an older kernel version"; M$FT can't as third-party device drivers are crucial to get the OS out to the customers AND the kernel can't be unbundled from the libraries and core apps.
You're forgetting that Symantec recently bought Veritas, which makes filesystem, clustering solutions for Unix and Windows, and has a very healty backup business, and which in turn had not-so-long-ago acquired VMWare. Those are quite heavy-sellers in the enterprise market.
Well, a complete IPL (boot-up) for a mainframe can take up to 4 hours when you have lots of partitions etc. That is assuming that the disks are OK (and they usually are - mainframe filesystems are really unuseable to non-MFers but very solid)
Actually there is a previous EU-wide treaty on patents, which specifically excludes software patents, and that dates back to 1973.
Software patents are being issued against that treaty, but basically they are not enforceable and shouldn't be worth more than the paper they're written on.
Why should you be worried? Were Microsoft to develop the best CLI ever conceived, it wouldn't take bash, tcsh or zsh or whatever is your shell of choice (pick your flavour, I'm not going to start a war here) away from you (and me and everyone else).
So best luck to them, and may life be less painful for our fellow Windows sysadmins!
I've had a few dealings with IBM regarding Linux in the past few years, and they've historically been pretty agnostic distribution-wise, with some slant towards SuSE on the mainframe, and Red Hat on the x86 platform (but I've heard friends of mine say that IBM pushed SuSE very aggressively on the x86 platform too).
Remember that the first industrial-strenght implementation of a Linux system on the mainframe has been a joint effor by SySE and IBM.
GNUS, the threaded internet newsreader for (x)emacs, has been doing this for years. Its usenet ancestry shows in its mail functionalities, and it makes for very convenient reading of mailing-lists.
Just for the same reason why my brand new Linux box has a "nobody" account. Which, admittedly, cannot log on.
Having an user with no privileges whatsoever (at least in theory) is a very handy convenience.
As if a simple administrative burden could stop the "bad guys" of the day from getting what they want anyways...
Proof: how could Iraq, despite an UN-sanctioned world-wide ban on arms sales, get state-of-the-art weapons?
How can anyone even THINK that "the bad guys" couldn't get all the software they want the same way that they could get weapons?
This is ridiculous...
While I can agree with you on principle, of course the picture is even more complex.
For instance, when you have 8k servers, I don't think you're colocated. So the cost for floor space is greatly reduced, if nothing else because physical security is much easier to manage.
Transmeta processors are good, but they're especially advantageous when you don't need lots of horsepower, which is not the case with google where clustering is for high performance first and redundancy later. So I figure you'd need at least 4 blades just to replace your typical dual-p3 1U server, without taking the load balancing inefficiencies into account. Also, you have to take into account management costs, which are of course higher when you have multiple servers.
This is all to say, I believe that in the end the TCO of blades and 1u servers balances out, and if there's an advantage for one or the other, it's fairly marginal.
How did Google roll out 10,000 servers at such a low cost?
Certainly not by using blade servers. Contrary to popular belief, blade servers cost more tran their non-blade equivalents. Just like notebooks vs. laptops. Their selling points are (in some vendors' opinions) integrated management and supposed flexibility.
Go to an italian or, for that matter, european bank (I think). They are required by law to explicitly opt-in for any and all uses of the information they collect, even what is actually needed to perform any given service.
Milano's subway has had them for at least 6 months.
They look like movies from the beginning of the century, just outside the subways' windows.
Cute, and in the long run boring.
On the plus side, there's no audio to accompany them (which instead happens in some stations). It easier to look somewhere else than not to listen.
It's not just the people who use their OS, but also the people who write their OS.
I am a RHCE. And I assure that it is giving me quite some good points whenever I talk to somebody.
Reason (IMO): the "Red Hat" brand is starting to get known even among non-techies, and there's not many of us (RHCE, I mean). Thus marketoids and recruiters go to the "it must be good" routine. Which it is, but that's beside the point.
MSCE is being ridiculed by just about anybody in mid-to-big size business. It only has place in the market for small-time computer support people. Not that it's a small market, it's just THE market for MCSE people: storm in, reboot and if it fails reinstall the computer.
It has been tried, didn't work (*cough* Indrema *ahem*).
The economics are not there yet, and it's possible that they'll never be.
Remember that in the end what really drives a console is its hardware, and the OS is probably just a boot loader. There's no need for device drivers, all consoles are the same. Memory management is probably [1] handled by the games themselves, nor there is any use for multitasking (maybe cooperative multithreading in the game engine themselves).
To sum it up, there is no need for OS-like functionalities in a console. Maybe some BIOS-like functions for DRM and similar, and a boot loader.
[1] I am no console developer, it just seems logical.
CIFS per se is an open standard. What makes it difficult to interoperate with Microsoft's implementation of it is that CIFS is used by Microsoft to tunnel RPC calls which do very important tasks (even basic stuff like looking up an user SID to perform an ACL match).
Without those calls filesharing should still be possible, but with VERY limited functionality.
The problem is that (in true Microsoft fashion) there's HUNDREDS of calls, and each of those can have LOTS of variants with widely different results. See any network-related MSDN-documented
information function call. Often you'll find a parameter which is an "info level" or somesuch. Change that parameter, and you change the type of the returned values and obviously the returned data. See this call for an example.
Microsoft's interface design method appears (from the outside) to be something like this:they think in advance, and then they define those interfaces which they MIGHT need five years in the future, and place stubs until then. This has the side-effect that their interfaces have everything AND the kitchen sink, thus the hundreds of calls.
Not really. SMB was created by DEC for their Pathworks software and by IBM (see http://samba.anu.edu.au/cifs/docs/what-is-smb.html ).
Strike one more Microsoft innovation from the list.
the purpose of open source is to improve software, period
I think that what is the purpose of "open source" depends on whom you ask it to. Everybody has her motivations to do open source stuff. Somebody might do it, as you say, to improve technology, somebody else "to scratch an itch", somebody else for the ego trip or because it's dandy or because he wants to impress a geeky girlfriend (er...right). Somebody else because it gets stuff done, or because it's just fun.
We can try to explain what it is, but we should not try to constrain it into a particular vision of it. This is actually in my very humble opinion one of its strongest points against closed stuff: there's no "big plan", no corporate masterminds, nothing to fight against. Just plain doing stuff, as frustrating as it might be sometimes.
Here in Southern Europe (5 cities in Italy, plus some others in Europe - 10 to 15 cities total I believe) there's a company called e.Biscom (plus its subsidiaries Metroweb and Fastweb) which is engaged in a massive fiber roll-out. What do they sell? Phone (VoIP), pay-per-view TV, and 10 MBps flat-rate Internet Access (NATted), for 50 euros/month plus taxes (phone bills and TV shows not included of course).
They've been doing it for at least 2 years, and they've always used one integrated device with fiber in and 10BaseT/phone/tv out. The models have varied in time, but this is definitely NOT news.