I think the difficulty lies not in the quality of the code shaming Google into not wanting to release the source but that they are compelled to release the code by the GPLv3. There's a very simple way to avoid litigation associated with distributing binaries derived from GPLv3: include the source with the distribution. The argument "... This is not Google trying to free-ride and profit off of Linux..." doesn't hold water, as not enforcing the license for all instances of violation sets the precedent for others to follow.
Google may want to avoid releasing the source so no one tries to implement their own hooks on top of a poorly designed, rushed-out-the-door software stack, but they simply don't have that luxury. Release the source with all kinds of caveats and warnings and predictions of doom for "all ye who might dare to use such a steaming pile of excrement", but the code has to be released.
Unfortunately, GPLv3 doesn't give you that kind of leeway. You can't say, "Oh no's! We has bad code. No lookie!" If that were allowed to happen, EVERY vendor would use that same cry to mask their TiVO-ization. If you want to do damage control, admit the reason the code is in awful shape because you are meeting the artificial deadline of a manufacturer and be done with it. At least then the community has the opportunity to start hacking away at some horrendous code and they won't feel like they're getting BOHICA'd.
MLM people at the top earn more than people at the bottom.
I make more than the people who report to me. The president of the company makes more than I. Does that make it a pyramid? Not defending MLM, but you will always see people in higher positions making more money.
I also believe one of the differences between Ponzi and Pyramid is how informed the participants are of their role in the organization:
Ponzi: Participants are investors. They are promised "above market" returns and are then shown other peoples money as proof of returns. They are then convinced it would be unwise to invest their money in less-optimal vehicles. Few investors remove funds, and those who do are paid in monies from the next batch of suckers^H^H^H^H^H^H^H^Hinvestors.
Pyramid: Participants are collaborators. You know you have to "recruit" other investors in order to make money on you investment, usually in the form of some commission or recruiting bonus. No real work is involved and no products are produced.
Realize these are gross generalizations and con-artists are very good at blurring the lines between categories and dreaming up new twists to the tried-and-true.
Oh and nobody creates money, except in exceptional circumstances (the central bank can, but an ordinary bank can't..
Actually, they can and do. Haven't you ever wondered why the Fed borrows money when it has the capability of just creating more by fiat? http://video.google.com/videoplay?docid=-2550156453790090544&ei=KaDkSYTpG4uk-wG92IiZCQ&q=money+as+debt&emb=1 The name of the video is Money as Debt. I'll warn you, the video is a bit long (~45 minutes) but worth the information it contains. There are smaller, segmented video if you'd prefer to break it into smaller chunks.
The second meaning is "market research", and frankly, that's insane.
Actually, this statement, coupled with the GP post, is EXACTLY what Linux needs. I have heard time and again how "Linux will never get ahead if it's always playing catchup to Microsoft." Fine. It sounds like fprintf (the user) is just what we need; someone who can identify the marketplace and provide developers with the direction to go.
I believe the "scratching an itch" philosophy is great in that it provides a useful outlet for a person's creative ferver. But you only need so many IM clients or email programs. At some point, it becomes noise. By having a marketing-type identify a real issue in the marketplace, something under-served or missing altogether, we will no longer be competing with each other (15 IM clients), but providing a real alternative. THAT is when Microsoft will have to play catchup with Linux. fprintf is not (necessarily) a developer. As in any marketing effort, getting input from subject matter experts is paramount to designing an application which is usable and accurate. I, as a custom application developer, do not know the in's and out's of every business system I work in. I have to enlist the help of SME's.
I think the same would hold true for this type of project. Get those who have the most to gain involved in making the product a success.
...Theoretically, inflation really doesn't cause any harm to an economy. But it does tax those who sit on wealth and refuse to earn more or invest what they have...
Are you KIDDING?!? Inflation hurts people who rely on fixed incomes: retirees, pensioners, the disabled, those drawing from an annuity. It's a form of silent taxation. A person who works during an inflationary period will (generally) get some form of COLA raise. Fixed-income people get no such protection. Inflation makes them poorer, and many have no recourse than to go to Wal-Mart to make up the difference.
I'm no economist, but what I've been reading about inflation and Keynesian economics leads me to believe it's not the answer.
Am I the only one who doesn't think "drive-by" applies to this kind of attack?
I think drive-by is appropriate in this case because the user only has to visit a site containing the malicious image to initiate the attack. "During the course of web-surfing..." has been my working definition of a drive-by, as opposed to a user-initiated attack (having to open an email). The distinction becomes gray when you combine attack vectors, such as a link in an email requiring the user to navigate to the site containing the malicious image or using SQL injection to upload the image onto the website of a reputable company, so my opinion is no better than another's.
If a service is running on a machine connected to the Internet and that service is obviously not secured, then the only thing that can be assumed is that permission to use that service is implicitly granted..
This kind of law would actually err the OTHER way, in that any vulnerability in a system which exposes a service to the Internet could be construed as giving permission. With the number of drive-by-downloads, no one can say HOW that service got installed/started on the system, but once it's there, there is no deterrent to prevent anyone from being able to take advantage of the resources which have been "... implicitly granted..." on a "... service [which] is obviously not secured."
Both versions presented are draconian in their scope. Some formulation of intent needs to be incorporated into the law or it will be as effective as legislating that water is no longer wet.
Fortunately, the cosmic violence is a safe distance from our own neck of the cosmos.
That doesn't help the poor aliens living in that neck of the cosmos, you insensitive clod! The next thing you know, we'll have Sally Struthers asking us to help "for just pennies a day"
And harder still to feel loved by something you know does not think or feel.
For that reason, humans will continue to feel loved (or not loved) by other humans more easily than they can connect with inanimate objects. I think you may be missing the greater point though: What happens when you cannot distinguish the human from the robot?
We have the Turing Test for gauging the ability of a device to simulate human responses. A corollary to that would be some Levy Litmus of Love for determining a machines ability to mimic emotional responses. If you never knew the person you loved was a robot, does that make your love any less valid?
I especially liked the part where you (might) have a couple of not-too-clear screenshots of what this thing was supposed to do and then have to make the decision of whether to spend that kind of time poking those numbers in. There was one session where my brother and I stayed up 36+ hours entering the program and the damn thing didn't even run. Going back into the memory to see which number you fsck'ed up got to be very wearing...
On a complete tangent, I learned 68000 assembly on the C64 using guide books from Jim Butterfield(?). Actually helped me out in college.
Your post is a prime example of how the Linux community just doesn't understand normal users and what it is they want to do with their computers.
What I think you and the original poster are missing is that "New Dell" system he tried to install GNU/Linux on went through the same process of having someone try to figure out how to get that !#$!%^ onboard sound card to work correctly with that @$#&@&! PCI interrupt with that *(@!^%! driver! They did that at the factory, and when they figured it out, they made a ghost of the system and installed it on 10k just like it.
You, the consumer, got a system that "you just plug in and it works". But woe-betide the user whose system gets hacked by spyware, crapware, and malware. I can't tell you how many PC's I've had to reinstall because they "just wasted three days" trying to get it working themselves.
The average person knew more about their computer in the late 80's early 90's because the average person had to make that struggle to get it all working. Nowadays, you don't have to know about your hardware to use it. Using his car example from earlier, most users treat their computers like they treat their cars: "I put gas in and go, right? That's all there is to it?" No, you do have to do some maintenance to it, treat it with respect, that sort of thing. Hell, an oil change now and then is sorta necessary. How many people defrag the hard drive, for the love of Pete ?!?
...because it used to let you remove a floppy without doing something in the OS to unmount the volume...
IIRC, whenever a user tried to access the floppy, Windows behavior was:
Mount the volume
Perform action
Unmount volume
Repeat as necessary
The downside to this method is HUGE ACCESS TIMES . All those redundant mounts/unmounts cause excessive wait while volume information is read.
What this did to the Windows community is instill the behavior of "Wait til the drive light goes off, then eject". You eject when the light's on, and you can kiss that 2-year thesis goodbye!
It comes down to educating the user. If you use an operating system with explicit mount/unmount, you gain the benefit of decreased wait time while sacrificing "flexibility in ejecting/unplugging whenever you want" and having to follow SOP when removing your media. I think Apple actually had it right when they didn't provide a hardware eject button for their floppies. You had to ask permission to get your floppy back ("Hey, you done with that yet?" "Of course not! I'm still saving that huge @#$%$^ thesis you wrote, you insensitive clod. Give me a second. Geez!").
When I was doing IT support in college, I had several occassions where an individual screwed up their floppy ejecting it during a write. When asked if I could get their data back, I would always give them one of those I-told-you-about-backups-a-million-times looks and say, "Sometimes, you just can't recover from idiocy."
As for NULLs, the example of an empty street address is best represented by ''
This is a valid example of using the empty string, but what about the NULL boolean value? If a survey question asked, "Are you heterosexual? (T/F)", I'm sure there would be a number of people who feel it's none of their @%&$%($^#$! business! Entering a default value of false would skew the results horribly. (Note: This is an extreme example. You would phrase the question differently, of course.)
In most cases, I simply ignore NULLs, and force propper (sic) default values...
Sometimes, NOT getting an answer to a question is every bit as meaningful as when you do. If I'm maintaining a survey system, and statistical analysis of my survey says 61% of the surveys have an unanswered Question 1, I might want to rework that question to get more meaningful data.
... will include all the flashy cool new stuff people have been talking about for years, like translucent goodness a la mac os x...
As nifty as this is, I would like to be able to add input devices to the system on the fly. If I'm on the road with my laptop, I don't need a chorded mouse, I just use the glide point. When I get to the office/destination, a chorded mouse is easier to use. As it stands, I have to shutdown X, plug in the mouse, and start X again. (And yes, I have a USB definition for the second mouse using CoreEvents). It's a shame I have to end any running app before using the secondary pointing device because it wasn't initialized at startup.
...just didn't have the heart of Ultima or Bard's Tale...
Off topic, but that sure brings back memories. Bard's Tale on the C64. Stone knife which instantly stoned an enemy on a succesful hit, big or small. Ah, those were the days.
One thing I would add to this scenario to incorporate flacky network cards or configuration is some type of lock file, like/etc/nologin, and a cron job entry which looks for this file. You would run the shutdown command line above, machine comes up (maybe) with the file set (/etc/try-image exists), and cron job wakes up an hour later to see if it's still there.
If the file still exists, it forces a normal reboot to clear the one time boot. If it isn't there, the administrator must have logged on to remove the file.
I think this burns me up the worst. I have an ATI Radeon Mobility U1 in my Compaq laptop and I can't even get Windows2000 drivers for it. When I use VMWare and go into Fullscreen mode, the screen goes wonky.
I've vowed the next laptop I get will have an nVidia card, but everything I've seen lately is ATI. I wouldn't touch it with a ten-meter cattle prod.
Why would someone with C# experience write malware... to threaten random people? That seems... pointless.
Actually, it sounds redundant, not pointless.
I think the difficulty lies not in the quality of the code shaming Google into not wanting to release the source but that they are compelled to release the code by the GPLv3. There's a very simple way to avoid litigation associated with distributing binaries derived from GPLv3: include the source with the distribution. The argument "... This is not Google trying to free-ride and profit off of Linux..." doesn't hold water, as not enforcing the license for all instances of violation sets the precedent for others to follow.
Google may want to avoid releasing the source so no one tries to implement their own hooks on top of a poorly designed, rushed-out-the-door software stack, but they simply don't have that luxury. Release the source with all kinds of caveats and warnings and predictions of doom for "all ye who might dare to use such a steaming pile of excrement", but the code has to be released.
Unfortunately, GPLv3 doesn't give you that kind of leeway. You can't say, "Oh no's! We has bad code. No lookie!" If that were allowed to happen, EVERY vendor would use that same cry to mask their TiVO-ization. If you want to do damage control, admit the reason the code is in awful shape because you are meeting the artificial deadline of a manufacturer and be done with it. At least then the community has the opportunity to start hacking away at some horrendous code and they won't feel like they're getting BOHICA'd.
Actually, citing the source you provided, the second definition is more appropriate: of little or no practical value or meaning; purely academic.
I make more than the people who report to me. The president of the company makes more than I. Does that make it a pyramid? Not defending MLM, but you will always see people in higher positions making more money.
Ponzi: Participants are investors. They are promised "above market" returns and are then shown other peoples money as proof of returns. They are then convinced it would be unwise to invest their money in less-optimal vehicles. Few investors remove funds, and those who do are paid in monies from the next batch of suckers^H^H^H^H^H^H^H^Hinvestors.
Pyramid: Participants are collaborators. You know you have to "recruit" other investors in order to make money on you investment, usually in the form of some commission or recruiting bonus. No real work is involved and no products are produced.
Realize these are gross generalizations and con-artists are very good at blurring the lines between categories and dreaming up new twists to the tried-and-true.
Actually, they can and do. Haven't you ever wondered why the Fed borrows money when it has the capability of just creating more by fiat?
http://video.google.com/videoplay?docid=-2550156453790090544&ei=KaDkSYTpG4uk-wG92IiZCQ&q=money+as+debt&emb=1
The name of the video is Money as Debt. I'll warn you, the video is a bit long (~45 minutes) but worth the information it contains. There are smaller, segmented video if you'd prefer to break it into smaller chunks.
Actually, this statement, coupled with the GP post, is EXACTLY what Linux needs. I have heard time and again how "Linux will never get ahead if it's always playing catchup to Microsoft." Fine. It sounds like fprintf (the user) is just what we need; someone who can identify the marketplace and provide developers with the direction to go.
I believe the "scratching an itch" philosophy is great in that it provides a useful outlet for a person's creative ferver. But you only need so many IM clients or email programs. At some point, it becomes noise. By having a marketing-type identify a real issue in the marketplace, something under-served or missing altogether, we will no longer be competing with each other (15 IM clients), but providing a real alternative. THAT is when Microsoft will have to play catchup with Linux. fprintf is not (necessarily) a developer. As in any marketing effort, getting input from subject matter experts is paramount to designing an application which is usable and accurate. I, as a custom application developer, do not know the in's and out's of every business system I work in. I have to enlist the help of SME's.
I think the same would hold true for this type of project. Get those who have the most to gain involved in making the product a success.
...Theoretically, inflation really doesn't cause any harm to an economy. But it does tax those who sit on wealth and refuse to earn more or invest what they have...
Are you KIDDING?!? Inflation hurts people who rely on fixed incomes: retirees, pensioners, the disabled, those drawing from an annuity. It's a form of silent taxation. A person who works during an inflationary period will (generally) get some form of COLA raise. Fixed-income people get no such protection. Inflation makes them poorer, and many have no recourse than to go to Wal-Mart to make up the difference.
I'm no economist, but what I've been reading about inflation and Keynesian economics leads me to believe it's not the answer.
"Experience is the best teacher."
Experience is a HORRIBLE teacher. It gives the test before the lesson.
"If it isn't Mr. Dance Fever."
"Yeah, and you're a goddamn hero when it's five-to-one!"
Footloose
I think drive-by is appropriate in this case because the user only has to visit a site containing the malicious image to initiate the attack. "During the course of web-surfing..." has been my working definition of a drive-by, as opposed to a user-initiated attack (having to open an email). The distinction becomes gray when you combine attack vectors, such as a link in an email requiring the user to navigate to the site containing the malicious image or using SQL injection to upload the image onto the website of a reputable company, so my opinion is no better than another's.
This kind of law would actually err the OTHER way, in that any vulnerability in a system which exposes a service to the Internet could be construed as giving permission. With the number of drive-by-downloads, no one can say HOW that service got installed/started on the system, but once it's there, there is no deterrent to prevent anyone from being able to take advantage of the resources which have been "... implicitly granted ..." on a "... service [which] is obviously not secured."
Both versions presented are draconian in their scope. Some formulation of intent needs to be incorporated into the law or it will be as effective as legislating that water is no longer wet.
We have the Turing Test for gauging the ability of a device to simulate human responses. A corollary to that would be some Levy Litmus of Love for determining a machines ability to mimic emotional responses. If you never knew the person you loved was a robot, does that make your love any less valid?
I especially liked the part where you (might) have a couple of not-too-clear screenshots of what this thing was supposed to do and then have to make the decision of whether to spend that kind of time poking those numbers in. There was one session where my brother and I stayed up 36+ hours entering the program and the damn thing didn't even run. Going back into the memory to see which number you fsck'ed up got to be very wearing...
On a complete tangent, I learned 68000 assembly on the C64 using guide books from Jim Butterfield(?). Actually helped me out in college.
What I think you and the original poster are missing is that "New Dell" system he tried to install GNU/Linux on went through the same process of having someone try to figure out how to get that !#$!%^ onboard sound card to work correctly with that @$#&@&! PCI interrupt with that *(@!^%! driver! They did that at the factory, and when they figured it out, they made a ghost of the system and installed it on 10k just like it.
You, the consumer, got a system that "you just plug in and it works". But woe-betide the user whose system gets hacked by spyware, crapware, and malware. I can't tell you how many PC's I've had to reinstall because they "just wasted three days" trying to get it working themselves.
The average person knew more about their computer in the late 80's early 90's because the average person had to make that struggle to get it all working. Nowadays, you don't have to know about your hardware to use it. Using his car example from earlier, most users treat their computers like they treat their cars: "I put gas in and go, right? That's all there is to it?" No, you do have to do some maintenance to it, treat it with respect, that sort of thing. Hell, an oil change now and then is sorta necessary. How many people defrag the hard drive, for the love of Pete ?!?
IIRC, whenever a user tried to access the floppy, Windows behavior was:
- Mount the volume
- Perform action
- Unmount volume
- Repeat as necessary
The downside to this method is HUGE ACCESS TIMES . All those redundant mounts/unmounts cause excessive wait while volume information is read. What this did to the Windows community is instill the behavior of "Wait til the drive light goes off, then eject". You eject when the light's on, and you can kiss that 2-year thesis goodbye!It comes down to educating the user. If you use an operating system with explicit mount/unmount, you gain the benefit of decreased wait time while sacrificing "flexibility in ejecting/unplugging whenever you want" and having to follow SOP when removing your media. I think Apple actually had it right when they didn't provide a hardware eject button for their floppies. You had to ask permission to get your floppy back ("Hey, you done with that yet?" "Of course not! I'm still saving that huge @#$%$^ thesis you wrote, you insensitive clod. Give me a second. Geez!").
When I was doing IT support in college, I had several occassions where an individual screwed up their floppy ejecting it during a write. When asked if I could get their data back, I would always give them one of those I-told-you-about-backups-a-million-times looks and say, "Sometimes, you just can't recover from idiocy."
This is a valid example of using the empty string, but what about the NULL boolean value? If a survey question asked, "Are you heterosexual? (T/F)", I'm sure there would be a number of people who feel it's none of their @%&$%($^#$! business! Entering a default value of false would skew the results horribly. (Note: This is an extreme example. You would phrase the question differently, of course.)
In most cases, I simply ignore NULLs, and force propper (sic) default values...
Sometimes, NOT getting an answer to a question is every bit as meaningful as when you do. If I'm maintaining a survey system, and statistical analysis of my survey says 61% of the surveys have an unanswered Question 1, I might want to rework that question to get more meaningful data.
And a nice one at that. +1 Happiness in every city, IIRC! :)
As nifty as this is, I would like to be able to add input devices to the system on the fly. If I'm on the road with my laptop, I don't need a chorded mouse, I just use the glide point. When I get to the office/destination, a chorded mouse is easier to use. As it stands, I have to shutdown X, plug in the mouse, and start X again. (And yes, I have a USB definition for the second mouse using CoreEvents). It's a shame I have to end any running app before using the secondary pointing device because it wasn't initialized at startup.
Off topic, but that sure brings back memories. Bard's Tale on the C64. Stone knife which instantly stoned an enemy on a succesful hit, big or small. Ah, those were the days.
One thing I would add to this scenario to incorporate flacky network cards or configuration is some type of lock file, like /etc/nologin, and a cron job entry which looks for this file. You would run the shutdown command line above, machine comes up (maybe) with the file set (/etc/try-image exists), and cron job wakes up an hour later to see if it's still there.
If the file still exists, it forces a normal reboot to clear the one time boot. If it isn't there, the administrator must have logged on to remove the file.
I think this burns me up the worst. I have an ATI Radeon Mobility U1 in my Compaq laptop and I can't even get Windows2000 drivers for it. When I use VMWare and go into Fullscreen mode, the screen goes wonky.
I've vowed the next laptop I get will have an nVidia card, but everything I've seen lately is ATI. I wouldn't touch it with a ten-meter cattle prod.