Some estimates indicate that 15K US households (probably about 75K people, or.001%) own 5% of the Earth's property.
What do you mean by property? Do they own tangible things like land and water, thus depriving the rest of us? Or do they own intangibles like IP, shares, virtual dollars and so forth. If the latter, why do you care? I have enough land, water, food and it seems clear there is enough to go around (in North America at least). Therefore I really couldn't give a rats ass about the fact that Bill Gates is much, much, richer than me. The vast majority of his wealth is virtual and the very act of making it concrete (by buying something) transfers it to someone with less money.
None of this is suppy-side economics. I'm not saying that giving money to rich people makes poor people richer. I'm saying that giving more money to rich people _does not make poor people poorer_. The obvious exception is when this money is transferred through a shift in the tax burden which is what Bush and Reagan did. In that case you are literally taking money out of the pockets of poor people (in government services) and giving it to rich people. But this process is outside of the system of capitalism.
Income disparity is not as important as the left argues it is and ordinary people can see that fact plainly. Our first task is to make everyone richer. A much, much smaller secondary concern is trying to make income distribution fairer. If you have a program like outsourcing that makes the poor richer but also increases income disparity you still have a good thing. Reducing poverty is good even if it makes billionaires into trillionaires as a side effect.
$22 million in jobs or in dividends to stock holders.
Do you think that shareholders stick their money in socks when they get it? I don't. I either invest it again (which creates jobs) or I spend it (ditto).
The argument that India will need to import American goods for the growing tech sector and that this will result in even more jobs seems a little specious.
Why? There are things we make that they do not and vice versa?
Is the global economy being turned on it's ear? Will the U.S. now be making cheap consumables to send to the IP producing countries in Asia?
Manufacturing does not imply "cheap consumables." You can also make high end sewing machines. Robotics. Advanced materials.
And why would India not simply start manufacturing the products it needs itself?
Sigh. Have you never heard of comparative advantage? The total output of the Indian economy is limited by all sorts of infrastructural issues which make it impossible for them to manufacture everything themselves cheaply.
Even though I am a fan of free trade and offshoring, I found this economist's choice of words disturbing: "People in the US are looking at it as a job issue. They are not economists and therefore, they don't necessarily see the whole picture." Funny, I thought that every human being (even economists) had only a part of the picture. People working in the dismal science should be more humble about what they know versus what they think they know.
BASIC??? BASIC is a terrible learning language. If you find a BASIC with good libraries (so students can do fun stuff) it is almost certainly going to be a convoluted bastard BASIC like Microsoft's. On the other hand if you can find a pure BASIC, it will hav a library that basically consists of "print" and "input". Classic BASIC teaches a variety of terrible habits. Remember that "goto" is a central flow-control structure and global variables are the default.
For the 21st century, there are many better choices. My favourite is Python but it is not the only one.
C is portable only to some extent. Granted, it compiles everywhere, but it doesn't make your program run everywhere, because, unlike in Java there is no standard way of doing things like GUI, DB access, printing and such in C, so your Foo OS C program probably uses libraries that don't exist on the Bar OS.
What you mean to say is that the C language is not tightly bound to portable APIs for GUI, DB access, printing and so forth. Nevertheless, you can get portable APis for GUI and for DB access. Perhaps for printing also. The downside is that you have to assemble the portable library yourself. On the other hand, many Java programmers do so also by rejecting Swing in favour of SWT. But the more common thing is to reject Java the language because you do not like its GUI toolkit. That's too bad but is a natural outcome of the fact that Sun bundles everything (language, VM, GUI toolkit, server APIs and now Desktop operating system!) under the Java buzzword.
"many workers own shares" its strange that they own shares but dont feel they can not aford health insurance.
"An estimated 15.2 percent of the pop-ulation or 43.6 million people were without health insurance coverage during the entire year in 2002"
Obviously this 15.2% is not likely to be among the many who own shares. But 100-15.2 leaves plenty of room for "many".
CIA Factbook 2002 (US):"Since 1975, practically all the gains in household income have gone to the top 20% of households
So what? The fact that other people are richer does not make me poorer. It makes me relatively poorer but it doesn't take food out of my mount or the shelter from above my head or prevent me from buying a large-screen TV to watch the SuperBowl. Here's a hint: if you have to quote statistics to convince people that they are poorer then the used to be then they are not so impoverished that it hurts. In other words, you are wasting your breath.
Health insurance is a real problem. One that people feel. Not statistical: practical. That's why many capitalist countries around the world have instituted universal healthcare. You don't have to be a communist to believe in it (though it may help!). If you give up the Marxist rhetoric and talk to people about the problems they have and feel then they'll be interested. If you talk to them about the things that SHOULD bother them according to your thinking (e.g. wealth disparity) you won't make progress.
All of that communist-era rhetoric sure sounds out of place in the 21st century.
First, the distinction between the "working class" and the "idle class" is bogus. Today, many workers own shares and many owners and owner/executives work extremely long, hard hours. Most CEOs are workaholics and entrepreneur-owners are worse.
Go to Best Buy and see what is happening with your "worker class". We are consuming goods and services that were simply unavailable and/or unaffordable in the 1960s. We are objectively richer in that we can afford to do and buy everything our predecessors could and more.
Communist rhetoric will fail as long as it is totally out of step with the lives people live every day. For instance, I would listen much more attentatively if you would stop talking about the working class (who are doing pretty damn well historically speaking) and start talking about the chronically undermployed class. But Marx wasn't interested in them so today's communists aren't interested either.
Your presentation ignores the fact that once you finish the Linux phone you have a perpetual royalty-free license and the source to make that meaningful. With the Symbian phone you must make the build or buy decision again and again every time you are presented with your yearly license fee.
A person who cannot read for himself should not be president because by definition he will have all of his news filtered by his "handlers." They will be the ones really in control of what he thinks and does. Cheney and Rumsfeld had decided Bush's Iraq policy before he knew the difference between Ohio and Idaho to say nothing of Iraq and Iran. It isn't nice to make fun of handicapped people but it is fair to make fun of people who refuse to accept their limitations.
The Globes are a joke that Hollywood and the TV networks play on the rest of us. The people who vote are neither industry experts (fewer than 40% work full-time in journalism or the film industry) nor representative Joe Averages. Rather they are fanboys (car dealers, accountants, appliance salesmen) who work the system to get an opportunity to hang out with stars. The Hollywood system uses these fanboys for more publicity and because they are more malleable than the Oscar jury (which is much larger and thus harder to
buy off).
Hollywood is full of fake shit. But let's force them to be explicit about what is fiction and what is real. The Golden Globes are awarded by an in-bred group of random no-nothing foreigners based in large part on who has given them the best perks that year. I think that the world's movie fans deserve better.
Why should we geeks care what 90 people, self-selected for a lack of integrity, think of the Lord of the Rings or anything else?
constant tweaking and installation of new hardware and software is not using a computer productively. using a computer productively means that the computer is operational, in the sense that it doesn't actually -need- anything further to be done to it in order to function as intended. it just works.
It is classic Linux-advocate style to redefine the user's problem to fit Linux's needs rather than the other way around. Some people like to get a new digital camera once a year. Some people like to install a new game once a month. Some people like to buy the latest and greatest MP3 players, video cards, wi-fi devices, photo printers, hand-held devices and all of it comes with software.
People want the capabilities of their computer to expand as the industry expands and new things are invented. It's a very closed mindset that says the "computer has a use and once it is set up it is static." My uses for the computer change every day (especially as a I am a progrmmer). Why should my less technical sister be restricted from a similarly expansive view of computing? If I call her up and tell her BitTorrent or iPod is the shit, it should be easy for her to install BitTorrent or an Ipod.
I'm not saying that Linux is intrinsically worse that windows at supporting dynamically changing systems: but for the average user today it is worse because of the driver and software support. That isn't Linux's "fault" but it is Linux's "problem". Not the user's problem. If you make it the user's problem they will stick with Windows and (frighteningly!) think of it as a more free and open system than the vision of Linux you are pushing.
I asked: Why would you use the Python C API when there is Pyrex?
You answered: Because it is not part of Python? I needed to access some functions from our own libraries and Python's C API seemed sufficient if imperfect. I did it, but was left with bad taste in my mouth.
So you didn't use the best tool for the job! If I complained that Tcl has no OO wouldn't you say that I should download incr TCL? Speaking of OO, if you want to bridge to C++ instead of C, what does Tcl have anything like Boost.Python?
Oh, surely? Not sure... Let's see, downloading and installing a third-party package (with unclear licensing).
curl -O http://....pyrex.tar.gz
tar -zxvf pyrex.tar.tar.gz
python setup.py install
That's it. The same way you install any Python package.
Learning to use it. No, thanks. May be next time.
So you didn't have to learn the TCL API at some point? You were born knowing it?
But you seem to agree with my main point -- Python's C API is wanting.
The Python C APIs are more complicated because they do more. They allow you to create fully namespaced, object-oriented, operator-overloaded modules with classes, factories and methods. There is a fair bit of boilerplate involved which you use Pyrex to avoid.
On contrast, Python's C API generates warnings at compile time due to type misdeclarations (especially in function pointers). Another thing is the sheer size of the PyObj structure, which is ever growing from version to version. To initialize the field 15 in it, for example, you have to carefully assign 0s to 14 fields before that. So your C code is not as good...
Use the right tool for the job. Pyrex is more powerful than TCL's API and easier to use.
The article doesn't even discuss archiving email. That's the slashdot editors misrepresentation. Obviously he has the email "archived" (stored) already or else what would he be indexing?
The word archive does not even appear in the article. The word _index_ appears in the article. Whatever he writes is very likely to be the minimum required to do the job he needs to do. Strange that he can't find a lacky to do that work for him.
But it has for example forced me to - they've subpoenaed me for a lot of emails, and I spent literally a week writing a tool to index all my emails, so that when they give a better criteria for me, what they really want, I can actually produce it.
Of course it would take a kernel hacker a week to write a tool to index emails. He probably wrote it from scratch in ANSI C with dependencies only on stdio.h and string.h. I can just see him spending the first day writing a module to do fast pattern matching across character buffers. Don't get excited Linus worshippers: I'm half kidding. Half.
This is all fine and wonderful for applications where the end-nodes make connections to persistently servers with Real IP Addresses. But what if I have six machines in my house and I want to make peer-to-peer connections one-to-one two six machines at someone else's house. All 12 are addressable by only 2 IP addresses so you need to introduce some other, more complicated addressing scheme like ports or application-level names. And then the 2 machines with IP addresses need to know how to proxy the second addressing scheme.
Actually, Python has a large (relative to the popularity of Python in other domains) and happy number-cruncher community. Numeric users include Lawrence Livermore Labs and NASA.
Which means you don't have predictable destruction. Which means you don't have destructors. Which means you can't use idioms like resource-allocation-is-initialization.
In standard Python you have both garbage collection and predictable destruction.
In other words, take C++ and add the concept of components/packages. Take Python and add the features (such as generics) that are missing from C++. And then define an interface between components written in both langauges.
If you are using Python for your application logic it seems overkill to me to also have the full power of C++ for your inner loops. C is fine and PyRex defines a very nice binding mechanism.
If the KDE folks shipped Python with the KDE desktop (small in comparison) then every KDE app would have access to a much more powerful embedding language, which already has KDE, QT and DCOP bindings, a powerful library and all of the other good stuff that makes Python more popular for scripting than Javascript (off-Web).
Some estimates indicate that 15K US households (probably about 75K people, or .001%) own 5% of the Earth's property.
What do you mean by property? Do they own tangible things like land and water, thus depriving the rest of us? Or do they own intangibles like IP, shares, virtual dollars and so forth. If the latter, why do you care? I have enough land, water, food and it seems clear there is enough to go around (in North America at least). Therefore I really couldn't give a rats ass about the fact that Bill Gates is much, much, richer than me. The vast majority of his wealth is virtual and the very act of making it concrete (by buying something) transfers it to someone with less money.
None of this is suppy-side economics. I'm not saying that giving money to rich people makes poor people richer. I'm saying that giving more money to rich people _does not make poor people poorer_. The obvious exception is when this money is transferred through a shift in the tax burden which is what Bush and Reagan did. In that case you are literally taking money out of the pockets of poor people (in government services) and giving it to rich people. But this process is outside of the system of capitalism.
Income disparity is not as important as the left argues it is and ordinary people can see that fact plainly. Our first task is to make everyone richer. A much, much smaller secondary concern is trying to make income distribution fairer. If you have a program like outsourcing that makes the poor richer but also increases income disparity you still have a good thing. Reducing poverty is good even if it makes billionaires into trillionaires as a side effect.
$22 million in jobs or in dividends to stock holders.
Do you think that shareholders stick their money in socks when they get it? I don't. I either invest it again (which creates jobs) or I spend it (ditto).
The argument that India will need to import American goods for the growing tech sector and that this will result in even more jobs seems a little specious.
Why? There are things we make that they do not and vice versa?
Is the global economy being turned on it's ear? Will the U.S. now be making cheap consumables to send to the IP producing countries in Asia?
Manufacturing does not imply "cheap consumables." You can also make high end sewing machines. Robotics. Advanced materials.
And why would India not simply start manufacturing the products it needs itself?
Sigh. Have you never heard of comparative advantage? The total output of the Indian economy is limited by all sorts of infrastructural issues which make it impossible for them to manufacture everything themselves cheaply.
Even though I am a fan of free trade and offshoring, I found this economist's choice of words disturbing: "People in the US are looking at it as a job issue. They are not economists and therefore, they don't necessarily see the whole picture." Funny, I thought that every human being (even economists) had only a part of the picture. People working in the dismal science should be more humble about what they know versus what they think they know.
BASIC??? BASIC is a terrible learning language. If you find a BASIC with good libraries (so students can do fun stuff) it is almost certainly going to be a convoluted bastard BASIC like Microsoft's. On the other hand if you can find a pure BASIC, it will hav a library that basically consists of "print" and "input". Classic BASIC teaches a variety of terrible habits. Remember that "goto" is a central flow-control structure and global variables are the default.
For the 21st century, there are many better choices. My favourite is Python but it is not the only one.
Those benchmarks were debunked right here on Slashdot.
C is portable only to some extent. Granted, it compiles everywhere, but it doesn't make your program run everywhere, because, unlike in Java there is no standard way of doing things like GUI, DB access, printing and such in C, so your Foo OS C program probably uses libraries that don't exist on the Bar OS.
What you mean to say is that the C language is not tightly bound to portable APIs for GUI, DB access, printing and so forth. Nevertheless, you can get portable APis for GUI and for DB access. Perhaps for printing also. The downside is that you have to assemble the portable library yourself. On the other hand, many Java programmers do so also by rejecting Swing in favour of SWT. But the more common thing is to reject Java the language because you do not like its GUI toolkit. That's too bad but is a natural outcome of the fact that Sun bundles everything (language, VM, GUI toolkit, server APIs and now Desktop operating system!) under the Java buzzword.
Name a company that Microsoft has sued for patent enfringement.
"many workers own shares" its strange that they own shares but dont feel they can not aford health insurance. "An estimated 15.2 percent of the pop-ulation or 43.6 million people were without health insurance coverage during the entire year in 2002"
Obviously this 15.2% is not likely to be among the many who own shares. But 100-15.2 leaves plenty of room for "many".
CIA Factbook 2002 (US):"Since 1975, practically all the gains in household income have gone to the top 20% of households
So what? The fact that other people are richer does not make me poorer. It makes me relatively poorer but it doesn't take food out of my mount or the shelter from above my head or prevent me from buying a large-screen TV to watch the SuperBowl. Here's a hint: if you have to quote statistics to convince people that they are poorer then the used to be then they are not so impoverished that it hurts. In other words, you are wasting your breath.
Health insurance is a real problem. One that people feel. Not statistical: practical. That's why many capitalist countries around the world have instituted universal healthcare. You don't have to be a communist to believe in it (though it may help!). If you give up the Marxist rhetoric and talk to people about the problems they have and feel then they'll be interested. If you talk to them about the things that SHOULD bother them according to your thinking (e.g. wealth disparity) you won't make progress.
All of that communist-era rhetoric sure sounds out of place in the 21st century.
First, the distinction between the "working class" and the "idle class" is bogus. Today, many workers own shares and many owners and owner/executives work extremely long, hard hours. Most CEOs are workaholics and entrepreneur-owners are worse.
Go to Best Buy and see what is happening with your "worker class". We are consuming goods and services that were simply unavailable and/or unaffordable in the 1960s. We are objectively richer in that we can afford to do and buy everything our predecessors could and more.
Communist rhetoric will fail as long as it is totally out of step with the lives people live every day. For instance, I would listen much more attentatively if you would stop talking about the working class (who are doing pretty damn well historically speaking) and start talking about the chronically undermployed class. But Marx wasn't interested in them so today's communists aren't interested either.
Your presentation ignores the fact that once you finish the Linux phone you have a perpetual royalty-free license and the source to make that meaningful. With the Symbian phone you must make the build or buy decision again and again every time you are presented with your yearly license fee.
A person who cannot read for himself should not be president because by definition he will have all of his news filtered by his "handlers." They will be the ones really in control of what he thinks and does. Cheney and Rumsfeld had decided Bush's Iraq policy before he knew the difference between Ohio and Idaho to say nothing of Iraq and Iran. It isn't nice to make fun of handicapped people but it is fair to make fun of people who refuse to accept their limitations.
Hollywood is full of fake shit. But let's force them to be explicit about what is fiction and what is real. The Golden Globes are awarded by an in-bred group of random no-nothing foreigners based in large part on who has given them the best perks that year. I think that the world's movie fans deserve better.
Why should we geeks care what 90 people, self-selected for a lack of integrity, think of the Lord of the Rings or anything else?
constant tweaking and installation of new hardware and software is not using a computer productively. using a computer productively means that the computer is operational, in the sense that it doesn't actually -need- anything further to be done to it in order to function as intended. it just works.
It is classic Linux-advocate style to redefine the user's problem to fit Linux's needs rather than the other way around. Some people like to get a new digital camera once a year. Some people like to install a new game once a month. Some people like to buy the latest and greatest MP3 players, video cards, wi-fi devices, photo printers, hand-held devices and all of it comes with software.
People want the capabilities of their computer to expand as the industry expands and new things are invented. It's a very closed mindset that says the "computer has a use and once it is set up it is static." My uses for the computer change every day (especially as a I am a progrmmer). Why should my less technical sister be restricted from a similarly expansive view of computing? If I call her up and tell her BitTorrent or iPod is the shit, it should be easy for her to install BitTorrent or an Ipod.
I'm not saying that Linux is intrinsically worse that windows at supporting dynamically changing systems: but for the average user today it is worse because of the driver and software support. That isn't Linux's "fault" but it is Linux's "problem". Not the user's problem. If you make it the user's problem they will stick with Windows and (frighteningly!) think of it as a more free and open system than the vision of Linux you are pushing.
I asked: Why would you use the Python C API when there is Pyrex?
You answered: Because it is not part of Python? I needed to access some functions from our own libraries and Python's C API seemed sufficient if imperfect. I did it, but was left with bad taste in my mouth.
So you didn't use the best tool for the job! If I complained that Tcl has no OO wouldn't you say that I should download incr TCL? Speaking of OO, if you want to bridge to C++ instead of C, what does Tcl have anything like Boost.Python?
Oh, surely? Not sure... Let's see, downloading and installing a third-party package (with unclear licensing).
curl -O http://....pyrex.tar.gz tar -zxvf pyrex.tar.tar.gz python setup.py installThat's it. The same way you install any Python package.
Learning to use it. No, thanks. May be next time.
So you didn't have to learn the TCL API at some point? You were born knowing it?
But you seem to agree with my main point -- Python's C API is wanting.
The Python C APIs are more complicated because they do more. They allow you to create fully namespaced, object-oriented, operator-overloaded modules with classes, factories and methods. There is a fair bit of boilerplate involved which you use Pyrex to avoid.
On contrast, Python's C API generates warnings at compile time due to type misdeclarations (especially in function pointers). Another thing is the sheer size of the PyObj structure, which is ever growing from version to version. To initialize the field 15 in it, for example, you have to carefully assign 0s to 14 fields before that. So your C code is not as good...
Use the right tool for the job. Pyrex is more powerful than TCL's API and easier to use.
Why would you use the Python C API when there is Pyrex? Surely that's easier to do than the TCL API with its stubs weirdness.
Does your crypto application need a faster random generator? Replace parts of that module with C.
Even better: use pysco to optimize your existing Python code or Pyrex to GENERATE C code from your Python code.
The article doesn't even discuss archiving email. That's the slashdot editors misrepresentation. Obviously he has the email "archived" (stored) already or else what would he be indexing?
The article doesn't use the word archive. It uses the word index.
The word archive does not even appear in the article. The word _index_ appears in the article. Whatever he writes is very likely to be the minimum required to do the job he needs to do. Strange that he can't find a lacky to do that work for him.
But it has for example forced me to - they've subpoenaed me for a lot of emails, and I spent literally a week writing a tool to index all my emails, so that when they give a better criteria for me, what they really want, I can actually produce it.
Of course it would take a kernel hacker a week to write a tool to index emails. He probably wrote it from scratch in ANSI C with dependencies only on stdio.h and string.h. I can just see him spending the first day writing a module to do fast pattern matching across character buffers. Don't get excited Linus worshippers: I'm half kidding. Half.
Linus says: I do work from home so I could work anywhere. I definitely won't be moving back to Finland though.
The last half of that sentence was a total non-sequiter. Maybe he is trying to get his mother off his back.
This is all fine and wonderful for applications where the end-nodes make connections to persistently servers with Real IP Addresses. But what if I have six machines in my house and I want to make peer-to-peer connections one-to-one two six machines at someone else's house. All 12 are addressable by only 2 IP addresses so you need to introduce some other, more complicated addressing scheme like ports or application-level names. And then the 2 machines with IP addresses need to know how to proxy the second addressing scheme.
Actually, Python has a large (relative to the popularity of Python in other domains) and happy number-cruncher community. Numeric users include Lawrence Livermore Labs and NASA.
Which means you don't have predictable destruction. Which means you don't have destructors. Which means you can't use idioms like resource-allocation-is-initialization.
In standard Python you have both garbage collection and predictable destruction.
In other words, take C++ and add the concept of components/packages. Take Python and add the features (such as generics) that are missing from C++. And then define an interface between components written in both langauges.
If you are using Python for your application logic it seems overkill to me to also have the full power of C++ for your inner loops. C is fine and PyRex defines a very nice binding mechanism.
If the KDE folks shipped Python with the KDE desktop (small in comparison) then every KDE app would have access to a much more powerful embedding language, which already has KDE, QT and DCOP bindings, a powerful library and all of the other good stuff that makes Python more popular for scripting than Javascript (off-Web).