Haboob (n) A violent and oppressive wind blowing in summer, esp. in Sudan, bringing sand from the desert
I imagine Haboob will be the Apache foundation's non-Java version of Hadoop. Seriously, if big data is the application, better to run it on metal, not on a virtual machine.
Computers will not solve the problem, no matter how much money you spend. If the Idaho public schools were anything like my schools, the students invariably knew more than the teachers about how to use them and the teachers were always infuriated and scared to death of this. I once got yelled-at because some little bitch tattled on me after I had used a paperclip to eject a CD that was stuck in the drive. The teacher went on about how it wasn't my property and I could have damaged an expensive tax payer funded machine. Had I been the type to talk back, I would have said to him, "what the FUCK do you think that little hole is there for!?"
Now my generation of kids are becoming school teachers. I assure you, my generation knows almost as much about computers as the teachers who taught me (nothing at all). So the teachers are going to be afraid of students and the computers, and the computers won't benefit anyone.
The PTA hates anything that will make learning fun, so the hands of the more creative and knowledgeable teachers will be tied behind their back. Students will never learn about programming or algorithms, as they should, and even if these courses were approved, the teachers would probably make learning about it more torturous than fun, and kids will grow up fearing and hating computers, as my generation did.
The whole system is rotten to the core. Adding technology is like pouring expensive wine down the drain hoping it will purify the sewage.
Also, Linux is one of the most mission-critical bits of software on the planet, used heavily in finance, internet backbones, and social networking. I'd rather they be overly cautious about bringing their sites back online, than do it hurriedly and let a backdoor exploit go undetected.
Don't worry. The money came from a government green energy research grant, paid for by the taxpayers.
So a politician says, "Numerous independent studies found that solar power is ineffective at charging even small devices that we use every day, like cell phones and tablet comptuers. What makes you liberals think we can run the power grid of our entire nation on solar power?!" (queue raucous applause from big oil companies and devout right-wingers).
If I were cynical, I would say that this were a plot by the oil companies to produce enough research papers to support their anti-environmentalist agenda, which includes convincing everyone of the idea that solar is ineffective.
I don't agree with libertarianism, although I do sympathize with their positions.
But these German guys just don't know what law is, it seems. Law exists because we need an way to peacefully share resources amongst conflicting parties who all want access to that resource, and does so in a way that maximizes the number of people who thinks the allocation is fair. Space is one such resource. Bandwidth is another. Without regulation, conflicting parties would have to resort to brute force to decide who gets the biggest allocation. And they think they can launch satellites without international cooperation, and let it work on the principle of a free-market anarchy?
These German libertarians think they can do without law, or make their own system not controlled by any government. It is so pathetically unrealistic. Like how do you eliminate spam? How do you prevent censorship by malicious users of the system? Will "the free market" solve these problems? Really?
The real problem is that democratic government has been taken over by wealthy elites. That's why we have so many unfair and nonsensical laws like SOPA, because the law is no longer determined by the people. Let the people make their own laws, but do so in a way that does not violate the rights of the minorities. Don't go trying to build an entire society from scratch, re-inventing every wheel in history as you go. The only way to make the internet work is with international cooperation. The only way to prevent censorship is to make sure the government we elect doesn't censor anything.
I wonder if they can do a volumetric cut of "offensive" images, so they can for example, cut off the image of a guy's dick so you don't see it when it is broadcast. Might be easier to cut it off in real life first though, especially if he is a political dissident.
Even better, broadcast a 3D image of the police coming to arrest you if you say anything treasonous to scare potential dissenters. They will never know if it is a 3D projection, or the real police, Like Arnold in Total Recall, "HA HA HA HA! You think this is the real Quade?....It is! [shoots everyone]."
Test runs in closed networks have helped the ministry to confirm the cyberweapon's functionality and compile data on cyber-attack patterns.
I'd like to see these test networks, I am willing to bet they are just some group of corporate big-shots trying to sell a few more government contracts to a broken government that is trying to assure their naive populace that they are doing everything they can against those nasty Chinese hackers.
What makes them think their test network is any representation of the real world? What makes them think they can actually discover viruses using viruses when anti-virus software can do no better? They can't do it. Once the virus is live, attackers will figure out a way to circumvent it, and this project will have accomplished nothing.
In a sense, longevity is an issue for any non-free software. With open source software, as long as someone is interested in using it, that software will be useful. With non-free software, once it is past its end-of-life date, it is only as good as long as it can run on your operating system. Web applications are only a more extreme form of non-free software, because they don't run on your computer, they run on the operator's computer.
You're right, and I am not saying Iran would start a conflict. I am fairly certain they won't ever, at least not anytime soon, unless their government is truly suicidal and are willing to launch a nuclear weapon at Israel regardless of the backlash that would surely ensue.
I'm just saying, even if they did start a conflict over this strait of Hormuz, the US wouldn't have to send any troops or anything. Simply supporting our allies, particularly Saudi Arabia, will keep the Iranian government in check.
They won't close the strait, they need the oil money, and couldn't stand doing a favor for their middle-eastern rivals by raising oil prices and driving western oil business to rival OPEC nations.
They won't get far showing off more powerful weapons, the Saudi's and the Pakistani's won't like it, and the Iranian's risk provoking military action from them, more than from the US.
The US media are a bunch of drama-thirsty morons who are looking to make a big deal out of this issue. Just ignore Iran, nothing will come of this. The Iranian government has nothing to gain from this, except the PR battle, saying "HA! we were strong enough to drive off the US!" even though we already know this is a total bluff.
If anything, they will start a conflict with neighboring nations, which in the most extreem of worst-case scenarios, could lead to a middle-eastern version of the Great War, and then the US can come in and support are already battle-fatigued allies against the Iranian aggressors with considerably less effort than what it took in Iraq these past 8 years.
Interestingly, Mitt Romney would have made a good Republican candidate, but he's a Mormon, so the more common Christian conservatives just don't like him.
I just LOVE the karma of it all. So the Republicans sell their soul and suck up to the immovable religious fundamentalists to get votes and win elections, only to find that the guy that could have led them to victory over their most hated president Obama is NOT electable because those same immovable fundamentalists don't like Romney because he is the wrong kind of Christian.
The Iranian economy is hurting way more than the US economy is right now. If they cut off oil supply at the strait, they will loose all of that revenue from not just the US, but the rest of the world. The US could handle a slight increase in oil prices, and we can just sit and wait for the toll to be taken on the Iranian economy. They will definitely flinch before we do.
Furthermore, it will be doing a favor to all the other OPEC nations, especially Iran's long-time rival, Saudi Arabia. If the religious-conservative Iranian government were stupid enough to cut-off their oil exports, this will only increase oil prices and increase demand for Saudi oil. I doubt the fundy-idiots in power in Iran could handle such a massive blow to their pride.
The best move for the US is so obvious: don't do a damn thing about it, just ignore them. This problem will solve itself.
The heat from a bulbs in the home and elsewhere is an accidental by-product. Heat produced may be handy in the winter, but not in the summer. Your home should be engineered to provide light where light is needed and heat where heat is needed. Your traffic lights should be designed to be visible in all weather. Bascially, relying on the heat by-product from a light bulb, especially if it is only lit intermittently, is just sloppy engineering.
If the law is a ban to enforce an efficiency standard and not on a ban on the manufacturing of the product, that is a rare example of a helpful law. Furthermore, if you can find a new practical use for the old-fashioned incandescent bulbs, like color rendering, that does not involve violating the home-lighting efficiency laws, then it will be legal to manufacture old-fashioned bulbs for that new purpose, and a new market for incandescent bulbs will manifest itself.
Of course ALL general purpose OSs do give a choice: you can do something other than the standard if you need to. But having one paradigm is far more useful than having several different and incompatible ones. And the better that paradigm is... um... the better.
What you said here is really the heart of the proprietary-vs-free software debate. You may think less choice is good because there is more consistency and interlopability, and a better user experience, for developers and end-users alike. This is a very good point.
But I simply don't agree. I prefer more choices, and openness, and the right to modify the code of the software I use. I think if more developers agreed with me, you would see a Linux OS with a superior user experience to that of even Apple's OS's.
The Linux console COULD be written to pass objects between standard OS programs, but it was not. Linux has the UNIX paradigm of piping arbitrary ASCII streams between programs. And the presence of Python and Perl (as on every OS) doesn't change that.
You don't need to write everything yourself. Proper objects simply doesn't need to be part of the OS. In Windows, they do everything for you, so object passing is (in a sense) part of the OS.
In Linux, you just have a kernel and you can install Windows-like object passing on top of it. If you don't want to use pipes and Python serialization then use some other shared libraries that provide that functionality. Install Gtk+ or Qt, which provide Windows-like object passing. You can even use Mono which an attempt at an open source version of.NET. Then just use shared memory to pass objects between programs, and use Python bindings to these libraries do shell scripting.
So sharing objects between applications is not integrated into the Linux OS, but that means you have a choice of how to do it. However, the trade-off is a less consistent universe of application software.
The result is, in Windows, you are stuck with the Windows graphical interface, but in Linux, you can change freely between KDE, Gnome, Xfce, or anything, without even restarting. That is a triumph of modularity, if not consistency.
Please get this already. Python and Perl ARE NOT shells.
Python and Perl HAVE INTERACTIVE SHELLS, a shell is a program where you issue commands line by line, and every command produces some change in the state of the system while returning some text output and error messages. That exactly what the interactive Python shell does. The Python shell comes standard in most installations. A Perl shell can be installed from CPAN. Look it up on Google.
Passing objects via shared memory is 1) more convenient 2) hell of a lot faster and better. And it works in every program the same way.
Sure, it works in every program the same way, as long as all programs are using the.NET framework. It is possible in Linux too, so long as both of your communicating applications are using the same object passing library, whether it is the Python native methods, or something else (Python binding to Qt, or Gtk, for example). The only difference between Linux and Windows regarding shell scripting capabilities is Windows has more software consistently using.NET, and Linux is more chaotic.
If you like the consistency provided by Windows, by all means use that. The advantages of Linux is not consistency, it is openness.
So you are saying that you have the same problem in Windows, but significantly less so? Because different Windows programs work good together. Especially those that have been made to use PowerShell and its object passing. There is also OLE (which goes back 90's), dll's and similar technologies. Windows has *always* thought more about interoperability than Linux. In Linux you only pass text strings and it is let to every program to parse them correctly. How convenient, not.
You are right, Linux is less convenient than Windows in interlopability, because there is no one corporation controlling the user-interface for Linux. It is a trade-off between strict control over developers and more consistency in object passing, or more freedom to developers but more chaos with all the different choices. I prefer more choice in my day-to-day tasks.
The point I was trying to make is that Linux doesn't just pass unstructured text, it passes ANYTHING: unstructured text or structured objects. What you pass depends on your design choice. In PowerShell, you must use.NET object serialization to pass objects, in Linux you have a choice of your serialization strategy, Python probably being the most popular choice. A great many applications provide support for Python object passing and scripting, so in that sense python is THE PowerShell of Linux, and as time goes on, more applications will support object passing via Python serialization.
By the way, OLE is similar to TkTcl in Linux, and DLL's are exactly the same concept as Linux ".so" files.
So how do you pass objects between Python and Perl? Or between either and Haskell? "It gives you a choice" doesn't help when developers of different components that you're trying to make work together make incompatible choices.
In Linux, you are right, things are more disorganized, so trying to make two programs work together who are using different components won't be easy, but you have the same problem in Windows only less so because Microsoft keeps developers on the same page. This is both an advantage and a disadvantage of Windows (or any proprietary solution): more strict, but more uniform.
But recently, more and more software is providing support for Python objects and scripting. If you want to pass objects between Python-compatible programs, use the built-in serialization or an XML library, and send the serialized (or XML) data through a pipe or socket. The receiving program must then un-serialize the data. You could also use DBus bindings to send arbitrary data between desktop applications.
Every general purpose OS has a "choice". With this the difference between the two is Linux (and other Unix like OSs) use unstructured text for communicating between console programs, and Windows Powershell uses objects.
No, you get unstructured text only if you use old-fashioned programs like Bash, Grep, Find, Awk, Sed, and so on. But you don't have to use these programs, you can use Perl or Python which allows you to serialize objects and pass them between programs.
I don't know how PowerShell passes objects under the hood, but it has to be in one of two ways: (1) serialization and passing through pipes, sockets, or temporary files, or (2) shared memory. In other words, exactly like how every other modern OS does it. The difference is the language used. So you use PowerShell, you get transparent object passing. If you want that in Linux, use Python or Perl which also provides transparent object passing mechanisms.
Just because you don't know how to do object-passing it in Linux doesn't mean it is impossible.
No, you are totally wrong. Python is a language, but it also has an official interactive shell, so yes it is a shell (it can be used as a shell language). Open a Terminal in Mac OS X, or in Linux, and type "python". Ta-da, you are using Python as a shell. If you want a more feature-rich python shell, just Google "python shell", you'll find more advanced shells with fancy graphical interfaces.
Besides, serializing your output does nothing as other commands and programs cannot parse those under Linux.
Also wrong. Other programs can parse serialized python objects, so long as those programs are also Python programs, or as long as those other programs link to the python runtime library to make use of native serialization methods. Software with support for python objects is becoming increasingly common in Linux.
So PowerShell is almost exactly like Python in many ways, just the language is syntactically completely different. And Python is quickly becoming a unifying force in Linux, and many large applications now support Python object serialization and scripting. Best of all, Python is not your only choice, other competing languages offer similar functionality. My favorite is Haskell, I just wish someone would re-write Blender in Haskell instead of Python.
So basically you don't know what you're commenting on? There is nothing that prevents PowerShell being used in text mode. It is. But it doesn't only output as text, it passes objects. This means that if you pipe commands the other programs down the line get them as object, not as text that they need to parse and which can easily change. It works much better together.
Linux only provides the mechanism, but not the protocol, to pass objects between programs. The mechanisms are file descriptors, and sockets. To pass actual objects through those pipes or sockets, just install the protocol of your choice. XML perhaps? Or some binary format? Whatever you want.
Python, for example, can be used as a shell and allows simple serialization of objects, so you can easily pass objects between programs using Python on Linux. Most other shell-like languages also let you do this on Linux, like Perl, and Haskell. Bash doesn't have built-in capabilities to pass objects, but in Linux you don't have to use Bash for anything if you don't want to. Or you can install "DBus" and use the dbus command line tools to do object passing in Bash.
PowerShell forces you to use Microsoft's built-in object-passing mechanism. That's all well and good, but the reason people like Linux is that it gives you a choice. In Linux, you choose the right tool for the right purpose, unlike Microsoft's "use a hammer for everthing" approach.
It's also why Linux will always fail - the whole principle of Linux is that there's no unified look and team that discusses, chooses and implements good UI and terms. In Linux world everyone just does whatever they want, often ignoring what or how others do it.
Yeah, like Android and their interface: totally not unified, not polished, impossible to use... wait a minute, what the fuck are you talking about?! Linux is a kernel, the rest is up to you. That's why geeks love it, it gives you choice for everything, and if you don't want choice, go with a professional distribution, like Android, or Ubuntu, or Mint.
Good example of this is the linux shell. It still acts like it's from the 90's because people don't work together to bring it together. It's still based on text output because everyone does things differently. Compare this to PowerShell which passes objects between programs. This allows different pieces of programs to work much better together, without need to define rules on how to parse some other programs output (which also usually fails in less used cases).
If you don't like the "Linux Shell" (it's called "Bash", learn what it is you are criticizing), then use some other shell that CAN pass objects between programs, like Python. Python allows you to easily serialize almost any object and pass it between programs using ordinary file descriptors. Any language that can serialize objects can pass objects between programs in Linux. The kernel itself simply provides the mechanism to do this, and you can then install the protocol of your choice to pass actual objects, unlike in Windows, which forces you to use their built-in mechanisms. Why would you want intentionally limit your options? Oh that's right, because you don't know how to use anything else.
Sorry, but apart from server world Linux just isn't going anywhere. No one really cares about the open part. They care about what they can do, and how easily they can do that. By far, Windows and OSX both offer those things and much better than Linux.
So obviously, you don't know hardly anything about Linux, which is why you hate it. And if you knew anything about computers, you would know why open source is important.
I was thinking, "of course not, cryptographic algorithms were classified as weapons, but were re-defined to be non-weapons." This was done, perhaps, to allow easier access to crypto for tech companies and to loosen laws allowing export of technology. But without that, we can no longer claim 2nd amendment rights to own cryptographic algorithms.
That didn't occur to anyone here? Jeez, you guys play games too much, real life is more important you know.
Haboob (n) A violent and oppressive wind blowing in summer, esp. in Sudan, bringing sand from the desert
I imagine Haboob will be the Apache foundation's non-Java version of Hadoop. Seriously, if big data is the application, better to run it on metal, not on a virtual machine.
Computers will not solve the problem, no matter how much money you spend. If the Idaho public schools were anything like my schools, the students invariably knew more than the teachers about how to use them and the teachers were always infuriated and scared to death of this. I once got yelled-at because some little bitch tattled on me after I had used a paperclip to eject a CD that was stuck in the drive. The teacher went on about how it wasn't my property and I could have damaged an expensive tax payer funded machine. Had I been the type to talk back, I would have said to him, "what the FUCK do you think that little hole is there for!?"
Now my generation of kids are becoming school teachers. I assure you, my generation knows almost as much about computers as the teachers who taught me (nothing at all). So the teachers are going to be afraid of students and the computers, and the computers won't benefit anyone.
The PTA hates anything that will make learning fun, so the hands of the more creative and knowledgeable teachers will be tied behind their back. Students will never learn about programming or algorithms, as they should, and even if these courses were approved, the teachers would probably make learning about it more torturous than fun, and kids will grow up fearing and hating computers, as my generation did.
The whole system is rotten to the core. Adding technology is like pouring expensive wine down the drain hoping it will purify the sewage.
These people already have jobs.
Also, Linux is one of the most mission-critical bits of software on the planet, used heavily in finance, internet backbones, and social networking. I'd rather they be overly cautious about bringing their sites back online, than do it hurriedly and let a backdoor exploit go undetected.
Don't worry. The money came from a government green energy research grant, paid for by the taxpayers.
So a politician says, "Numerous independent studies found that solar power is ineffective at charging even small devices that we use every day, like cell phones and tablet comptuers. What makes you liberals think we can run the power grid of our entire nation on solar power?!" (queue raucous applause from big oil companies and devout right-wingers).
If I were cynical, I would say that this were a plot by the oil companies to produce enough research papers to support their anti-environmentalist agenda, which includes convincing everyone of the idea that solar is ineffective.
I don't agree with libertarianism, although I do sympathize with their positions.
But these German guys just don't know what law is, it seems. Law exists because we need an way to peacefully share resources amongst conflicting parties who all want access to that resource, and does so in a way that maximizes the number of people who thinks the allocation is fair. Space is one such resource. Bandwidth is another. Without regulation, conflicting parties would have to resort to brute force to decide who gets the biggest allocation. And they think they can launch satellites without international cooperation, and let it work on the principle of a free-market anarchy?
These German libertarians think they can do without law, or make their own system not controlled by any government. It is so pathetically unrealistic. Like how do you eliminate spam? How do you prevent censorship by malicious users of the system? Will "the free market" solve these problems? Really?
The real problem is that democratic government has been taken over by wealthy elites. That's why we have so many unfair and nonsensical laws like SOPA, because the law is no longer determined by the people. Let the people make their own laws, but do so in a way that does not violate the rights of the minorities. Don't go trying to build an entire society from scratch, re-inventing every wheel in history as you go. The only way to make the internet work is with international cooperation. The only way to prevent censorship is to make sure the government we elect doesn't censor anything.
I wonder what pixelation looks like in 3D.
I wonder if they can do a volumetric cut of "offensive" images, so they can for example, cut off the image of a guy's dick so you don't see it when it is broadcast. Might be easier to cut it off in real life first though, especially if he is a political dissident.
Even better, broadcast a 3D image of the police coming to arrest you if you say anything treasonous to scare potential dissenters. They will never know if it is a 3D projection, or the real police, Like Arnold in Total Recall, "HA HA HA HA! You think this is the real Quade? ....It is! [shoots everyone]."
Test runs in closed networks have helped the ministry to confirm the cyberweapon's functionality and compile data on cyber-attack patterns.
I'd like to see these test networks, I am willing to bet they are just some group of corporate big-shots trying to sell a few more government contracts to a broken government that is trying to assure their naive populace that they are doing everything they can against those nasty Chinese hackers.
What makes them think their test network is any representation of the real world? What makes them think they can actually discover viruses using viruses when anti-virus software can do no better? They can't do it. Once the virus is live, attackers will figure out a way to circumvent it, and this project will have accomplished nothing.
In a sense, longevity is an issue for any non-free software. With open source software, as long as someone is interested in using it, that software will be useful. With non-free software, once it is past its end-of-life date, it is only as good as long as it can run on your operating system. Web applications are only a more extreme form of non-free software, because they don't run on your computer, they run on the operator's computer.
You're right, and I am not saying Iran would start a conflict. I am fairly certain they won't ever, at least not anytime soon, unless their government is truly suicidal and are willing to launch a nuclear weapon at Israel regardless of the backlash that would surely ensue.
I'm just saying, even if they did start a conflict over this strait of Hormuz, the US wouldn't have to send any troops or anything. Simply supporting our allies, particularly Saudi Arabia, will keep the Iranian government in check.
They won't close the strait, they need the oil money, and couldn't stand doing a favor for their middle-eastern rivals by raising oil prices and driving western oil business to rival OPEC nations.
They won't get far showing off more powerful weapons, the Saudi's and the Pakistani's won't like it, and the Iranian's risk provoking military action from them, more than from the US.
The US media are a bunch of drama-thirsty morons who are looking to make a big deal out of this issue. Just ignore Iran, nothing will come of this. The Iranian government has nothing to gain from this, except the PR battle, saying "HA! we were strong enough to drive off the US!" even though we already know this is a total bluff.
If anything, they will start a conflict with neighboring nations, which in the most extreem of worst-case scenarios, could lead to a middle-eastern version of the Great War, and then the US can come in and support are already battle-fatigued allies against the Iranian aggressors with considerably less effort than what it took in Iraq these past 8 years.
Interestingly, Mitt Romney would have made a good Republican candidate, but he's a Mormon, so the more common Christian conservatives just don't like him.
I just LOVE the karma of it all. So the Republicans sell their soul and suck up to the immovable religious fundamentalists to get votes and win elections, only to find that the guy that could have led them to victory over their most hated president Obama is NOT electable because those same immovable fundamentalists don't like Romney because he is the wrong kind of Christian.
That is truly poetic justice.
THIS IS THE BEST COMMENT HERE
The Iranian economy is hurting way more than the US economy is right now. If they cut off oil supply at the strait, they will loose all of that revenue from not just the US, but the rest of the world. The US could handle a slight increase in oil prices, and we can just sit and wait for the toll to be taken on the Iranian economy. They will definitely flinch before we do.
Furthermore, it will be doing a favor to all the other OPEC nations, especially Iran's long-time rival, Saudi Arabia. If the religious-conservative Iranian government were stupid enough to cut-off their oil exports, this will only increase oil prices and increase demand for Saudi oil. I doubt the fundy-idiots in power in Iran could handle such a massive blow to their pride.
The best move for the US is so obvious: don't do a damn thing about it, just ignore them. This problem will solve itself.
You make a good point, but I am not convinced.
The heat from a bulbs in the home and elsewhere is an accidental by-product. Heat produced may be handy in the winter, but not in the summer. Your home should be engineered to provide light where light is needed and heat where heat is needed. Your traffic lights should be designed to be visible in all weather. Bascially, relying on the heat by-product from a light bulb, especially if it is only lit intermittently, is just sloppy engineering.
If the law is a ban to enforce an efficiency standard and not on a ban on the manufacturing of the product, that is a rare example of a helpful law. Furthermore, if you can find a new practical use for the old-fashioned incandescent bulbs, like color rendering, that does not involve violating the home-lighting efficiency laws, then it will be legal to manufacture old-fashioned bulbs for that new purpose, and a new market for incandescent bulbs will manifest itself.
Of course ALL general purpose OSs do give a choice: you can do something other than the standard if you need to. But having one paradigm is far more useful than having several different and incompatible ones. And the better that paradigm is... um... the better.
What you said here is really the heart of the proprietary-vs-free software debate. You may think less choice is good because there is more consistency and interlopability, and a better user experience, for developers and end-users alike. This is a very good point.
But I simply don't agree. I prefer more choices, and openness, and the right to modify the code of the software I use. I think if more developers agreed with me, you would see a Linux OS with a superior user experience to that of even Apple's OS's.
The Linux console COULD be written to pass objects between standard OS programs, but it was not. Linux has the UNIX paradigm of piping arbitrary ASCII streams between programs. And the presence of Python and Perl (as on every OS) doesn't change that.
You don't need to write everything yourself. Proper objects simply doesn't need to be part of the OS. In Windows, they do everything for you, so object passing is (in a sense) part of the OS.
In Linux, you just have a kernel and you can install Windows-like object passing on top of it. If you don't want to use pipes and Python serialization then use some other shared libraries that provide that functionality. Install Gtk+ or Qt, which provide Windows-like object passing. You can even use Mono which an attempt at an open source version of .NET. Then just use shared memory to pass objects between programs, and use Python bindings to these libraries do shell scripting.
So sharing objects between applications is not integrated into the Linux OS, but that means you have a choice of how to do it. However, the trade-off is a less consistent universe of application software.
The result is, in Windows, you are stuck with the Windows graphical interface, but in Linux, you can change freely between KDE, Gnome, Xfce, or anything, without even restarting. That is a triumph of modularity, if not consistency.
Here is the Perl shell documentation
Here is the documentation for Python's interactive shell
And let's not argue that there is a difference between a "shell" and an "interactive command-line interpreter".
Please get this already. Python and Perl ARE NOT shells.
Python and Perl HAVE INTERACTIVE SHELLS, a shell is a program where you issue commands line by line, and every command produces some change in the state of the system while returning some text output and error messages. That exactly what the interactive Python shell does. The Python shell comes standard in most installations. A Perl shell can be installed from CPAN. Look it up on Google.
Passing objects via shared memory is 1) more convenient 2) hell of a lot faster and better. And it works in every program the same way.
Sure, it works in every program the same way, as long as all programs are using the .NET framework. It is possible in Linux too, so long as both of your communicating applications are using the same object passing library, whether it is the Python native methods, or something else (Python binding to Qt, or Gtk, for example). The only difference between Linux and Windows regarding shell scripting capabilities is Windows has more software consistently using .NET, and Linux is more chaotic.
If you like the consistency provided by Windows, by all means use that. The advantages of Linux is not consistency, it is openness.
So you are saying that you have the same problem in Windows, but significantly less so? Because different Windows programs work good together. Especially those that have been made to use PowerShell and its object passing. There is also OLE (which goes back 90's), dll's and similar technologies. Windows has *always* thought more about interoperability than Linux. In Linux you only pass text strings and it is let to every program to parse them correctly. How convenient, not.
You are right, Linux is less convenient than Windows in interlopability, because there is no one corporation controlling the user-interface for Linux. It is a trade-off between strict control over developers and more consistency in object passing, or more freedom to developers but more chaos with all the different choices. I prefer more choice in my day-to-day tasks.
The point I was trying to make is that Linux doesn't just pass unstructured text, it passes ANYTHING: unstructured text or structured objects. What you pass depends on your design choice. In PowerShell, you must use .NET object serialization to pass objects, in Linux you have a choice of your serialization strategy, Python probably being the most popular choice. A great many applications provide support for Python object passing and scripting, so in that sense python is THE PowerShell of Linux, and as time goes on, more applications will support object passing via Python serialization.
By the way, OLE is similar to TkTcl in Linux, and DLL's are exactly the same concept as Linux ".so" files.
So how do you pass objects between Python and Perl? Or between either and Haskell? "It gives you a choice" doesn't help when developers of different components that you're trying to make work together make incompatible choices.
In Linux, you are right, things are more disorganized, so trying to make two programs work together who are using different components won't be easy, but you have the same problem in Windows only less so because Microsoft keeps developers on the same page. This is both an advantage and a disadvantage of Windows (or any proprietary solution): more strict, but more uniform.
But recently, more and more software is providing support for Python objects and scripting. If you want to pass objects between Python-compatible programs, use the built-in serialization or an XML library, and send the serialized (or XML) data through a pipe or socket. The receiving program must then un-serialize the data. You could also use DBus bindings to send arbitrary data between desktop applications.
Every general purpose OS has a "choice". With this the difference between the two is Linux (and other Unix like OSs) use unstructured text for communicating between console programs, and Windows Powershell uses objects.
No, you get unstructured text only if you use old-fashioned programs like Bash, Grep, Find, Awk, Sed, and so on. But you don't have to use these programs, you can use Perl or Python which allows you to serialize objects and pass them between programs.
I don't know how PowerShell passes objects under the hood, but it has to be in one of two ways: (1) serialization and passing through pipes, sockets, or temporary files, or (2) shared memory. In other words, exactly like how every other modern OS does it. The difference is the language used. So you use PowerShell, you get transparent object passing. If you want that in Linux, use Python or Perl which also provides transparent object passing mechanisms.
Just because you don't know how to do object-passing it in Linux doesn't mean it is impossible.
Python is not a shell.
No, you are totally wrong. Python is a language, but it also has an official interactive shell, so yes it is a shell (it can be used as a shell language). Open a Terminal in Mac OS X, or in Linux, and type "python". Ta-da, you are using Python as a shell. If you want a more feature-rich python shell, just Google "python shell", you'll find more advanced shells with fancy graphical interfaces.
Besides, serializing your output does nothing as other commands and programs cannot parse those under Linux.
Also wrong. Other programs can parse serialized python objects, so long as those programs are also Python programs, or as long as those other programs link to the python runtime library to make use of native serialization methods. Software with support for python objects is becoming increasingly common in Linux.
So PowerShell is almost exactly like Python in many ways, just the language is syntactically completely different. And Python is quickly becoming a unifying force in Linux, and many large applications now support Python object serialization and scripting. Best of all, Python is not your only choice, other competing languages offer similar functionality. My favorite is Haskell, I just wish someone would re-write Blender in Haskell instead of Python.
taking him from plain old 'Mr' straight to 'Sir' in one fell swoop
Is that why they use a sword? So that can make you a knight in one fell swoop?
Whatever. The British peers system is totally worthless anymore. Sure, congratulations are in order, but... why?
So basically you don't know what you're commenting on? There is nothing that prevents PowerShell being used in text mode. It is. But it doesn't only output as text, it passes objects. This means that if you pipe commands the other programs down the line get them as object, not as text that they need to parse and which can easily change. It works much better together.
Linux only provides the mechanism, but not the protocol, to pass objects between programs. The mechanisms are file descriptors, and sockets. To pass actual objects through those pipes or sockets, just install the protocol of your choice. XML perhaps? Or some binary format? Whatever you want.
Python, for example, can be used as a shell and allows simple serialization of objects, so you can easily pass objects between programs using Python on Linux. Most other shell-like languages also let you do this on Linux, like Perl, and Haskell. Bash doesn't have built-in capabilities to pass objects, but in Linux you don't have to use Bash for anything if you don't want to. Or you can install "DBus" and use the dbus command line tools to do object passing in Bash.
PowerShell forces you to use Microsoft's built-in object-passing mechanism. That's all well and good, but the reason people like Linux is that it gives you a choice. In Linux, you choose the right tool for the right purpose, unlike Microsoft's "use a hammer for everthing" approach.
It's also why Linux will always fail - the whole principle of Linux is that there's no unified look and team that discusses, chooses and implements good UI and terms. In Linux world everyone just does whatever they want, often ignoring what or how others do it.
Yeah, like Android and their interface: totally not unified, not polished, impossible to use... wait a minute, what the fuck are you talking about?! Linux is a kernel, the rest is up to you. That's why geeks love it, it gives you choice for everything, and if you don't want choice, go with a professional distribution, like Android, or Ubuntu, or Mint.
Good example of this is the linux shell. It still acts like it's from the 90's because people don't work together to bring it together. It's still based on text output because everyone does things differently. Compare this to PowerShell which passes objects between programs. This allows different pieces of programs to work much better together, without need to define rules on how to parse some other programs output (which also usually fails in less used cases).
If you don't like the "Linux Shell" (it's called "Bash", learn what it is you are criticizing), then use some other shell that CAN pass objects between programs, like Python. Python allows you to easily serialize almost any object and pass it between programs using ordinary file descriptors. Any language that can serialize objects can pass objects between programs in Linux. The kernel itself simply provides the mechanism to do this, and you can then install the protocol of your choice to pass actual objects, unlike in Windows, which forces you to use their built-in mechanisms. Why would you want intentionally limit your options? Oh that's right, because you don't know how to use anything else.
Sorry, but apart from server world Linux just isn't going anywhere. No one really cares about the open part. They care about what they can do, and how easily they can do that. By far, Windows and OSX both offer those things and much better than Linux.
So obviously, you don't know hardly anything about Linux, which is why you hate it. And if you knew anything about computers, you would know why open source is important.
Obligatory XKCD comic.
I was thinking, "of course not, cryptographic algorithms were classified as weapons, but were re-defined to be non-weapons." This was done, perhaps, to allow easier access to crypto for tech companies and to loosen laws allowing export of technology. But without that, we can no longer claim 2nd amendment rights to own cryptographic algorithms.
That didn't occur to anyone here? Jeez, you guys play games too much, real life is more important you know.