Perhaps the strength of open source is that since it's free, the programmers surely can't be considered professionals...
Ah. There is a flaw in this logic. Many (perhaps most) people who contribute code to free software are also professionals of one sort or another. Many code for a living, or at least code in support of their day-to-day jobs. So, they *are* professionals.
I don't think that stops your argument, though. What stops your argument is the fact that the patent system is fucked up, and wouldn't recognize "obvious" if it tattooed "I am obvious" across its forehead, and came in with an FBI ten-most-wanted poster of itself.
Why would we ever want to run our word processor in a web browser?
Certain applications make sense on the web. Web search engines, for instance. Even maps, and seeking directions from place to place. Basically, anything that takes large amounts of information and makes it readily accessible. I can understand those being on the web.
But... word processing? Image manipulation? *Why* would I want to do that? What does it gain me?
Nothing.
What do I lose?
Control. If I choose to change applications, or try a new application, I am at the mercy of the host. If the host decides to upgrade, and I hate the new version, I am at the mercy of the host.
The whole idea smacks of, "Let's do it, because we can!"
Corporations like Microsoft and Google want us to go that route, because then *they* get to control even more of our lives. But why would *we* want that?
Collaboration can happen without application hosting. It'd be better if we focussed instead on creating a great P2P collaboration framework, and build that into many applications, such as OOo, or the Gimp, or any other system you might want to use for multi-authored documents.
Have you ever been reported for child abuse because your kids were heard fighting or they screamed "please no daddy" multiple times when you told them to turn off the TV and go take a bath/go to bed?
What? You don't pop 'em across the mouth for the back-talk? What kind of parent are you?
No wonder America is in trouble. Fer Christ's sake, man, beat your kids into submission! Otherwise, they'll always think they can question authority.
Good points. That is very true. I deal with data-critical applications (used to be medical/financial, now it's satellite data). So, I do have a specific viewpoint.
RDBMSs are good general tools, and often just storing the data is enough. Sometimes I forget that.
A song, a t-shirt, a commercial, blog title, html color coding scheme, a bad poem, street directions, website name, and many others...
I think the terrorists are using botnets to send out secret messages encoded as spam, either encoded in the images (steganography), or in the choice of stock codes and their values, or somewhere else.
That'd be perfect. Just deploy your message such that it gets shotgunned out into the public, and any cells who want to receive it just make themselves spam targets.
Stored procedures should be used to enforce data integrity and data access. The only "business logic" that should be there is the logic that applies to keeping your data whole, complete, and coherent.
Middle-tier application layers are great to help pull data together, present model-specific views of data (say, OO/R mapping, if that is what gives you a chubby), and provide update interfaces. They can even do a first pass at making sure the database will accept the data.
But.
The data logic should be stored firmly in the database logic itself, using stored procedures and triggers and rules. RDBMS engines are *designed* to keep your data in good shape. Use them in that fashion, and you will be plenty happy. Don't, and you risk losing data integrity, and you sacrifice security.
The point of stored procedures is not to make access easier, or anything like that. The point from the RDBMS perspective is to keep your data coherent. Data integrity is THE MOST IMPORTANT role of a database. That's why 3rd normal form is important. That's why stored procedures and triggers and rules are important.
As a database engineer, I would *definitely* fire anyone who didn't use these tools to maintain data integrity.
My kid isn't old enough to play games like Doom 3 or R:FOM until he stops crying when I kick his ass. "C'mon, Son. You wanted to play a grown-up game. Now quit crying, get back to your computer, and quit being a pussy."
I can't wait to teach him chess, but I figure I'll wait 'til he's four.
I agree with most of your statement. The public "owns" the university, and universities should be able to patent their discoveries just as corporations can. (As a side note: many corporations also receive tax money, and are able to receive patents on the results. There are entire projects in the DoD, for example, based entirely on funding "small" businesses for the purposes of business growth.)
However:
*Lots* of things are produced with no "intellectual property" protection. Cars, food, sneakers, bubble-gum, houses, aspirin, and bad comedians are just a few of things produced without protectionism. There are *lots* of things that require time, money, and effort to get to market, and yet they *do* get to market just the same. I think the world would see more "innovation"[1] without patents.
[1] A word so overused, it's ceased to mean anything, like saying "booger" over and over.
People are not going to stop inventing, trading and banking simply because they disagree with someone else about a purely abstract idea.
Many inventions, especially in medicine, rely on the *fact* of evolution. So, though inventions will continue if everyone believed the Lord God created the Universe 10k years ago, and evolution is a deception of de debil, many things will *not* get invented. Life-saving things.
The rejection of the proven, objective epistemology of the scientific method will lead to ignorance and superstition.
I do now say people have to give up their faith. But I suggest they might want to give up their belief.
If popular opinion is swinging for or against a company, it is because that company is either doing something right or wrong to warrant it. This is how a market works...
Yeah, because other companies never practice in grass-roots PR to either boost their own image when they don't deserve it, or smear another company when it looks like the other company might get the upper hand.
Companies are so well-behaved. I wish individuals would follow their example of honesty an honorable behavior.
Of course, it's the public's fault, too, for paying attention to companies in the first place. As a geek, I disdain the way my spouse follows the white-trash behavior of celebrities. I find myself amazed that other geeks do the exact same thing with corporations. But I guess that kinda indicates the problem with modern capitalism: most corps sell a brand, not a product. PR is more important than quality.
But there you have it.
Maybe we need a geek-equivalent of People magazine or something. I guess we have Wall Street Journal.
If you have a vendor that sets a price floor, in an open market for a commodity you will have other vendors who will pop up and make the same item, with "no" floor.
The key phrase is, "in an open market." Most markets are not "open." Usually, the existing big-boys of a market are able to lock out smaller competitors using a variety of means: exclusionary contracts with distribution channels, retailers, and suppliers of raw materials; undercutting the new, smaller competitor until that new competitor cannot survive, then raising the price back up again once the small company is out of business; buying out the smaller competitor; and a host of other activities designed to do nothing but maintain control over the market.
When you have only a few companies controlling a market, their affect (not "impact," which is a stupid word unless you are talking about an impulse exchange of energy) is much greater than governmental regulatory controls.
It's all fine and good to talk about capitalism in the abstract. But, like other economic theories, reality doesn't look much like the abstract theory.
It'll make you a more well-rounded person but it won't help your code run faster.
Yes. Very true.
Understanding asm helps in understanding the computer, and how the computer works. Understanding how the computer works helps in understanding how code works. Understanding how code works helps you write better code. Not necessarily faster: but, in general, better.
I think the same thing of LISP, though-- knowing LISP helps you understand a different way of thinking about code, which helps give insight into solving different problems.
Basically, the more different types of languages you know, the better off you are. I think a good helping of FORTRAN, LISP, asm (at least one), C, Smalltalk, FORTH, and maybe Java would be a good start. I've never found C++ to be very helpful in understanding other languages. Perl is interesting, but. like C++, it's such a mess it's almost worthless as a tool for understanding. (Don't get me wrong-- I love Perl, use it all the time.) I might add Haskell to the list, if I ever get around to learning it.
These aren't all languages I advocate for getting work done. They're tools for learning different ways of thinking about programming that I've found useful over the years. (These days I tend to stick with Perl, C, and Objective-C for regular work, though I occasionally have to use C#, which is Java dressed up for a casual night of prostitution.)
Most decent compilers would optimize that out. The ReactOS team would have to be *much* more clever to achieve the typical MS-Windows slowdown. If they programmed the whole thing in C#, it might just work.
First, there has to be a lot of low-level code just to be able to boot most modern computers. Any high-level, non-native language (Python, Perl, C#, etc) need to have an OS to run their VM. Anything low-level, such as disk access, memory management, process management, etc, requires more-or-less direct access to the hardware. This means assembly, in many cases.
Fully-native object oriented languages like Objective-C are no better than C for security. In fact, they bring their own set of baggage with them. Hybrid ("half-assed") object languages like C++ are worst of all, as they unite the simplicity of Brainfuck with the inherent security of C and the speed of Perl. (Drawbacks of C++ exaggerated for comic effect. If you are a C++ weenie, please don't take offense.)
When it comes down to it, for general-purpose operating systems, there's not been found a better way than the combination of ASM + C.
I think the issue is, where does the OS stop and the application space begin?
Does the whole TCP/IP stack *need* to be written in C? Probably not. Considering the amount of use it gets, it's probably a great place to optimize for performance, though, so writing it in C helps.
And I'm not convinced the problem is the language. The OpenBSD folks have written a good, solid OS in C, with very few exploits. I've seen exploits in Perl, Python, C#, the.Net framework, and most other popular languages. And it's easier to take advantage of a Perl or Python or.Net exploit when you find them, as you don't need intimate knowledge of the underlying architecture.
As usual, the debate is not as simple as, "C bad, everything else good."
Okay, I know I'm just a raving OpenMoko shill, but if you think the iPhone is open, you have another think coming.
Do *you* want control over your phone the same way you have control over your desktop (assuming you run Linux)? Check out OpenMoko, and the FIC Neo 1973. It's essentially a palm-top computer that also happens to be a GPS-enabled phone, all running Free software.
The iPhone will restrict software just as much as current offerings do.
Perhaps the strength of open source is that since it's free, the programmers surely can't be considered professionals...
Ah. There is a flaw in this logic. Many (perhaps most) people who contribute code to free software are also professionals of one sort or another. Many code for a living, or at least code in support of their day-to-day jobs. So, they *are* professionals.
I don't think that stops your argument, though. What stops your argument is the fact that the patent system is fucked up, and wouldn't recognize "obvious" if it tattooed "I am obvious" across its forehead, and came in with an FBI ten-most-wanted poster of itself.
Why would we ever want to run our word processor in a web browser?
Certain applications make sense on the web. Web search engines, for instance. Even maps, and seeking directions from place to place. Basically, anything that takes large amounts of information and makes it readily accessible. I can understand those being on the web.
But... word processing? Image manipulation? *Why* would I want to do that? What does it gain me?
Nothing.
What do I lose?
Control. If I choose to change applications, or try a new application, I am at the mercy of the host. If the host decides to upgrade, and I hate the new version, I am at the mercy of the host.
The whole idea smacks of, "Let's do it, because we can!"
Corporations like Microsoft and Google want us to go that route, because then *they* get to control even more of our lives. But why would *we* want that?
Collaboration can happen without application hosting. It'd be better if we focussed instead on creating a great P2P collaboration framework, and build that into many applications, such as OOo, or the Gimp, or any other system you might want to use for multi-authored documents.
But the web?
Seriously.
By the way -- why do you hate America?
I don't hate America.
I hate Americans.
But then, I hate everybody.
Have you ever been reported for child abuse because your kids were heard fighting or they screamed "please no daddy" multiple times when you told them to turn off the TV and go take a bath/go to bed?
What? You don't pop 'em across the mouth for the back-talk? What kind of parent are you?
No wonder America is in trouble. Fer Christ's sake, man, beat your kids into submission! Otherwise, they'll always think they can question authority.
One question though - who carries a rubber chicken in their pocket? :-P.
Why I do, about half the time. No, two-thirds. . . well, about half the time.
You never know when you might need to defend yourself.
They use C, a language from the same period, not C++.
Thank God for that. C++ is an abomination. It's not good at OO, it's not strictly procedural. Hell, it's not even clean.
They use an interface that literally emulates an ancient teletype.
Hey! Don't talk about GNOME like that!
But here on Earth, there'd be no life without the light it gives.
Sorry this is so late, but it's really just:
Good points. That is very true. I deal with data-critical applications (used to be medical/financial, now it's satellite data). So, I do have a specific viewpoint.
RDBMSs are good general tools, and often just storing the data is enough. Sometimes I forget that.
A song, a t-shirt, a commercial, blog title, html color coding scheme, a bad poem, street directions, website name, and many others...
I think the terrorists are using botnets to send out secret messages encoded as spam, either encoded in the images (steganography), or in the choice of stock codes and their values, or somewhere else.
That'd be perfect. Just deploy your message such that it gets shotgunned out into the public, and any cells who want to receive it just make themselves spam targets.
I bet that's how it's done.
Stored procedures should be used to enforce data integrity and data access. The only "business logic" that should be there is the logic that applies to keeping your data whole, complete, and coherent.
Middle-tier application layers are great to help pull data together, present model-specific views of data (say, OO/R mapping, if that is what gives you a chubby), and provide update interfaces. They can even do a first pass at making sure the database will accept the data.
But.
The data logic should be stored firmly in the database logic itself, using stored procedures and triggers and rules. RDBMS engines are *designed* to keep your data in good shape. Use them in that fashion, and you will be plenty happy. Don't, and you risk losing data integrity, and you sacrifice security.
The point of stored procedures is not to make access easier, or anything like that. The point from the RDBMS perspective is to keep your data coherent. Data integrity is THE MOST IMPORTANT role of a database. That's why 3rd normal form is important. That's why stored procedures and triggers and rules are important.
As a database engineer, I would *definitely* fire anyone who didn't use these tools to maintain data integrity.
Usually it's something like doing drugs or premarital sex.
Believe me, I've learned from my mistakes for both drugs and premarital sex.
I should've done a lot more of both.
Eh. You live and you learn.
My kid isn't old enough to play games like Doom 3 or R:FOM until he stops crying when I kick his ass. "C'mon, Son. You wanted to play a grown-up game. Now quit crying, get back to your computer, and quit being a pussy."
I can't wait to teach him chess, but I figure I'll wait 'til he's four.
I agree with most of your statement. The public "owns" the university, and universities should be able to patent their discoveries just as corporations can. (As a side note: many corporations also receive tax money, and are able to receive patents on the results. There are entire projects in the DoD, for example, based entirely on funding "small" businesses for the purposes of business growth.)
However:
*Lots* of things are produced with no "intellectual property" protection. Cars, food, sneakers, bubble-gum, houses, aspirin, and bad comedians are just a few of things produced without protectionism. There are *lots* of things that require time, money, and effort to get to market, and yet they *do* get to market just the same. I think the world would see more "innovation"[1] without patents.
[1] A word so overused, it's ceased to mean anything, like saying "booger" over and over.
People are not going to stop inventing, trading and banking simply because they disagree with someone else about a purely abstract idea.
Many inventions, especially in medicine, rely on the *fact* of evolution. So, though inventions will continue if everyone believed the Lord God created the Universe 10k years ago, and evolution is a deception of de debil, many things will *not* get invented. Life-saving things.
The rejection of the proven, objective epistemology of the scientific method will lead to ignorance and superstition.
I do now say people have to give up their faith. But I suggest they might want to give up their belief.
Many times changing out the hardware will void the warranty.
So it seems Linux users are in a screwed/screwed situation here.
If popular opinion is swinging for or against a company, it is because that company is either doing something right or wrong to warrant it. This is how a market works...
Yeah, because other companies never practice in grass-roots PR to either boost their own image when they don't deserve it, or smear another company when it looks like the other company might get the upper hand.
Companies are so well-behaved. I wish individuals would follow their example of honesty an honorable behavior.
Of course, it's the public's fault, too, for paying attention to companies in the first place. As a geek, I disdain the way my spouse follows the white-trash behavior of celebrities. I find myself amazed that other geeks do the exact same thing with corporations. But I guess that kinda indicates the problem with modern capitalism: most corps sell a brand, not a product. PR is more important than quality.
But there you have it.
Maybe we need a geek-equivalent of People magazine or something. I guess we have Wall Street Journal.
If you have a vendor that sets a price floor, in an open market for a commodity you will have other vendors who will pop up and make the same item, with "no" floor.
The key phrase is, "in an open market." Most markets are not "open." Usually, the existing big-boys of a market are able to lock out smaller competitors using a variety of means: exclusionary contracts with distribution channels, retailers, and suppliers of raw materials; undercutting the new, smaller competitor until that new competitor cannot survive, then raising the price back up again once the small company is out of business; buying out the smaller competitor; and a host of other activities designed to do nothing but maintain control over the market.
When you have only a few companies controlling a market, their affect (not "impact," which is a stupid word unless you are talking about an impulse exchange of energy) is much greater than governmental regulatory controls.
It's all fine and good to talk about capitalism in the abstract. But, like other economic theories, reality doesn't look much like the abstract theory.
. . . but when many many people disobey a bad law as a matter of course, it causes the law itself to be questioned, and perhaps overturned.
Yes. Like speeding laws. Or laws concerning the use of marijuana. Bad laws get overturned all the time.
Yes. Very true.
Understanding asm helps in understanding the computer, and how the computer works. Understanding how the computer works helps in understanding how code works. Understanding how code works helps you write better code. Not necessarily faster: but, in general, better.
I think the same thing of LISP, though-- knowing LISP helps you understand a different way of thinking about code, which helps give insight into solving different problems.
Basically, the more different types of languages you know, the better off you are. I think a good helping of FORTRAN, LISP, asm (at least one), C, Smalltalk, FORTH, and maybe Java would be a good start. I've never found C++ to be very helpful in understanding other languages. Perl is interesting, but. like C++, it's such a mess it's almost worthless as a tool for understanding. (Don't get me wrong-- I love Perl, use it all the time.) I might add Haskell to the list, if I ever get around to learning it.
These aren't all languages I advocate for getting work done. They're tools for learning different ways of thinking about programming that I've found useful over the years. (These days I tend to stick with Perl, C, and Objective-C for regular work, though I occasionally have to use C#, which is Java dressed up for a casual night of prostitution.)
Most decent compilers would optimize that out. The ReactOS team would have to be *much* more clever to achieve the typical MS-Windows slowdown. If they programmed the whole thing in C#, it might just work.
Actually, it's a public company, not a private one. If it were private, it would not be publicly traded.
Also, even private companies have to adhere to the constitution. The fact they are a company does not exempt them from they law.
First, there has to be a lot of low-level code just to be able to boot most modern computers. Any high-level, non-native language (Python, Perl, C#, etc) need to have an OS to run their VM. Anything low-level, such as disk access, memory management, process management, etc, requires more-or-less direct access to the hardware. This means assembly, in many cases.
.Net framework, and most other popular languages. And it's easier to take advantage of a Perl or Python or .Net exploit when you find them, as you don't need intimate knowledge of the underlying architecture.
Fully-native object oriented languages like Objective-C are no better than C for security. In fact, they bring their own set of baggage with them. Hybrid ("half-assed") object languages like C++ are worst of all, as they unite the simplicity of Brainfuck with the inherent security of C and the speed of Perl. (Drawbacks of C++ exaggerated for comic effect. If you are a C++ weenie, please don't take offense.)
When it comes down to it, for general-purpose operating systems, there's not been found a better way than the combination of ASM + C.
I think the issue is, where does the OS stop and the application space begin?
Does the whole TCP/IP stack *need* to be written in C? Probably not. Considering the amount of use it gets, it's probably a great place to optimize for performance, though, so writing it in C helps.
And I'm not convinced the problem is the language. The OpenBSD folks have written a good, solid OS in C, with very few exploits. I've seen exploits in Perl, Python, C#, the
As usual, the debate is not as simple as, "C bad, everything else good."
Anyway, that's my rant, and I'm sticking to it.
Okay, I know I'm just a raving OpenMoko shill, but if you think the iPhone is open, you have another think coming.
Do *you* want control over your phone the same way you have control over your desktop (assuming you run Linux)? Check out OpenMoko, and the FIC Neo 1973. It's essentially a palm-top computer that also happens to be a GPS-enabled phone, all running Free software.
The iPhone will restrict software just as much as current offerings do.
So, that's why the FIC Neo 1973 is so expensive, and doesn't allow installation of non-OpenMoko software.
Oh, that's right. It isn't expensive, and they *do* allow you to install whatever software you want.
No matter what their reasons for releasing the hardware early, it is hardly "capitalism" to restrict what you can do with the hardware you purchase.