Microsoft Acknowledges Theft of Code From Plurk
You got paid to write somebody else's code. They made the monetary investment in the code, and you produced it.
To relate this to the topic at hand, how do you think the company would feel if the code they invested in was taken by a competitor and used to gain an advantage? The competitor made no investment, they just took it. You aren't hurt because you got paid, but that's completely beside the point.
Sure writing software is a service. You are providing a service to whomever you're writing the software for, even if it's for yourself. Services cost money. The problem is when a 3rd party benefits from a service without investing in the service. They gain an immediate advantage because, simply, they didn't pay for the service.
Mozilla Exec Urges Switch From Google To Bing
Donating $40 billion dollars to a non-profit is a pretty shitty tax evasion scheme....even if it's your own non-profit. I'm curious how you envision it paying off?
Woman Claims Ubuntu Kept Her From Online Classes
I would love to agree with you, but in this case the woman is really at fault.
It's not her fault for not understanding Ubuntu or not knowing that "Write" = "Word" or not knowing that she doesn't need a CD to connect to the Internet (which she actually might, depending on the service provider, and perhaps she had a USB modem instead of a router?).
However, there is no way that this scenario should have caused her to drop out of school for TWO semesters. At worst, this is a week or two worth of problems.
Day One: computer doesn't "work right", call Dell. Dell talks her out of switching to Windows.
Day Two: computer still doesn't "work right". At this point, call Dell and arrange an RMA.
Days Later: new computer arrives. Go to fake school.
Even if there was a time crunch and she needed the computer to work right away it's still primarily her fault. What if the machine did have Windows but arrived with a defect? What if it had Windows but she didn't realize that she also needed Office? You need to allow a small amount of time to make sure that your new computer is going to work before you insist that it must work or you're going to drop out of school for an entire year.
Future Astronauts May Survive On Eating Silkworms
Scratch astronaut off my list of things I want to be when I grow up. That leaves only cowboy or truck driver.
Wikipedia Almost Reaches $6 Million Target
Agreed. Using a targeted network like Adsense would be minimalist and not dilute the "integrity" of the site. When we talk about the problem of advertising influencing content, we're talking about an advertiser or group of advertisers who demand that content be changed or removed. This really should not be a problem with an ad network because advertisers don't have direct control over where their ads appear, and there is enough competition that a single advertiser or even a group of advertisers really don't have any weight. This is a new advertising model that doesn't share much in common with traditional advertising.
Considering my own limited use of Adsense in the past, even a small sidebar on Wikipedia should generate enormous revenue with minimal distraction.
Tales From the Support Crypt
I love it when applications make passwords "right". I've got a newer 3Com Baseline switch that truncates passwords to 8 characters. The problem is that it truncates them behind the scenes when it stores them. However, if you re-enter the password from the web form using more than 8 characters it doesn't work. Doesn't give you any hints about the problem either...just says invalid password.
Tales From the Support Crypt
Yep, "the Internet is broken" is becoming the starting point of many of my phone calls anymore. Lots of people use MSN as their start page simply because that's what IE defaults to. So when MSN has a hiccup, nobody can "get on the Internet."
It's very, very difficult to explain to people how a single website can be slow while our actual Internet connection, and of course the Internet itself, is working just fine. I don't know what kind of metaphor to use at this point. I've tried tubes and cars and whatever else, but it just doesn't sink in.
The problem is intensified by memory. Once a person has an "the internet is slow" moment, every other time "the internet is slow" makes them believe even more that there is some underlying problem that essentially I need to "fix." In fact, after experiencing "the internet is slow", people often perceive their entire machine as being slow. What really sucks is that repeatedly saying that "the website you're on must be slow" just makes me look like a jackass. But it's almost always true. We use a few banking / financial sites that are frequently slow. And during the holidays some types of websites, like travel and some shopping sites can start to slow down.
I think that people simply don't believe "computer guys" because they've gotten so used to being blamed for their own problems. When you call tech support at some big ISP, for instance, the first thing they do try to put the blame back on the user. Perhaps they're right most of the time, but it really just gets people pissed off to the point where they don't even listen; they just want it fixed.
Tales From the Support Crypt
In my experience, it would be even more likely for the user to say: "Do you want me to save it in Word?"
It's amazing how many people use Microsoft Word for everything from file management to image editing. Some of these people never even see their "desktop" during the day. Word is their interface.
Tales From the Support Crypt
I had a user once who was a woman in her mid 50s. Most of her job duties were performed on the computer, so she could get around a little bit (a lot perhaps, considering that she got fired for spending upwards of 10-20 hours per week playing solitaire and shopping online).
Anyhow, she calls me up one day and says that something is wrong with her computer: "It says CHECK SIGNAL CABLE in big red letters!"
So I wander on down and sure enough, the monitor reads CHECK SIGNAL CABLE. Recognizing that the message was from the monitor itself, I started poking around at the back of the machine trying to see if anything was disconnected. After about five minutes and a big self-slap on the forehead I asked, "ummm...is your computer on?"
"Well of course it's on, it says CHECK SIGNAL CABLE."
"Yeah, but I mean the computer itself. You know, the "tower", or the "CPU", or the "hard drive", or whatever you happen to call it." (I wasn't really so snippy)
She suddenly realized what I was talking about, and she proceeded to turn her computer on. We had a good laugh about it and I went back to my hole.
About a week later I get another call: "Something is wrong with my computer. It says CHECK SIGNAL CABLE."
I was speechless at first, and almost thought she was joking. After a moment I calmly asked her if she had turned her actual "computer" on, and not just the monitor. She gave an embarrassed laugh and made some apologies and I told her not to worry about it, everybody "has those days."
Maybe a week or two later I get another call from the same lady: "Something is wrong with my computer, it says CHECK.... oh wait, nevermind."
I hung up the phone and took a moment to reflect on how fragile reality can be.
A week or two later I happen to be walking past this lady's desk and one of the guys from our engineering department is looking at the back of her computer and pulling on wires and whatnot. Being a bit dumbfounded I just decided to keep walking on by.
A few hours later I caught up with the guy from engineering and asked him what was up. Sure enough, the lady had forgotten once again to turn her computer on. What really gets me though is that she called this other guy from a completely different department because she *knew* that calling me would somehow lead to embarrassment. And while she could remember this potential for embarrassment, she could not remember that the solution to this particular problem was to simply turn her computer on.
Anyhow, that's my favorite story. Maybe you had to be there. A close second was when a much younger and more savvy woman called me to fix her mouse which was "too slow". Before I was able to get into the mouse properties in Windows and adjust the speed, she insisted on explaining her hypothesis that this particular mouse was slow because it's cord was very long.
Which brings up an interesting reality. I bet that a large number of the support calls I get are solved by having people re-adjust the location of their wireless mouse receiver, which is rarely described as "my mouse isn't working right" but more often "my computer (or 'the internet') is slow, I have to click on things ten times before they open."
Another large number of calls are solved by having people shake the crap out of their keyboards... a stuck ALT or CTRL key can be hard to diagnose the first time. :)
Copper Thieves Jeopardize US Infrastructure
If public flogging and hanging actually worked to solve problems like this, then why was there so much flogging and public hanging going on?
Twenty Years of Dijkstra's Cruelty
I must say that I agree very much with many of the points he's made in this paper. Anthropomorphizing concepts and excessive use of analogy is bad for teaching programming and it's bad for teaching many other concepts.
In terms of programming, one thing I absolutely hate are "real life analogies." Take the "Head First" series of books. On one hand they're very good at diving into subjects and explaining the concepts in several different ways. On the other hand, all of their examples are so far removed from reality that they're meaningless outside of the context of high level discussion. "Bill and Ted want to order a pizza, but Bill wants a Chicago style pizza and Ted wants a New York style pizza. What they need is a Pizza Factory!" Huh? I mean, I get it, but completely outrageous analogies don't really help when you get into the process of actually writing code. If outrageous analogies did work, then naming would be a breeze....writing comments would be fun!
Another example of poor example is the familiar "let me teach you about Object Oriented Programming by considering a circle, a rectangle, and a square." Of course these three things are all "shapes", and invariably they all "draw()" themselves. You can replace this example with the tried and untrue animal (or dinosaur) example in which an array of animals or dinosaurs are all related and differentiated and all, of course, "bite()" or "move()". These examples are horrible because they ask more questions than they answer. That is, the concepts behind OOP are not so complex that they require high level analogy to explain -- as if the people who will be writing OOP programs are non-programmers. And when the brain starts to consider how these analogies apply to real-life situations, it wonders things like, "wait a minute, why would a circle draw itself? What does that even mean? On my screen? In a window? On some paper in my printer? Or does it just return some data structure containing points? What is the value of that?" and "ok, my dinosaur just "bit()", but what did it bite on? How can my cheetah "move()" without knowing about its environment?"
In the end, the concept is understood but the actual implementation -- how these concepts can actually help us in the completely abstract unreality of a computer program -- is missing. What's most disturbing is when a text book will start with one of these corny high-level examples and then actually IMPLEMENT the example verbatim. That is, they'll have crazy polymorphic tyranosauruses and cheetahs and ducks all biting on shit in a completely meaningless exercise that wouldn't even apply to video game design.
In the non-computing world, poor use of analogy and anthropomorphizing concepts has an even greater impact on our reality. Consider the following statements: "buffalo travel in herds because there is safety in numbers." "Lions have eyes in the front of their heads to focus on their prey, and zebras have eyes on the sides of their heads so that they can watch out for lions."
Both of these statements would be considered basically true, however they are completely false. Buffalo travel in herds because that's what they do. Lions and zebras have eyes where they have eyes because that's where their eyes are. They had no choice in the matter. Their evolution was not one of decision making, but of beneficial mutations and lots and lots of death over thousands of generations. Explaining this as though some sort of strategy were involved only complicates matters and makes it more difficult to grasp the scope of time required or appreciate the concept of genetic mutation as something that has nothing to do with the Incredible Hulk.
I don't think I have to explain why injecting decision making into evolution is a dumb and dangerous thing to do, and does not help to further our knowledge of the subject but in fact just the opposite. Ok, I will explain it: intelligent design.
Is Open Source Software a Race To Zero?
Yeah... and that's why home builders build houses for no charge and give them away for free. They make their real money fixing toilets and repairing roofs.
In all seriousness I agree with the purpose of your analogy in that I don't think that recurring fees for software *use* are appropriate, I just don't think it fits the discussion properly. In fact, no analogies about OSS ever fit, because the theories behind open software development are still fleshing themselves out in the real world. Frankly, I don't think anybody knows what they're talking about. If they did, the business models would be prevalent, not represented by a few notable success cases, many of whom have not stood the test of time.