This kind of confusion between "honest personal opinion/review/dogma" and "corporate marketting to make a buck" is just what those unethical corporate shills are exploiting, and what they'd like you to believe. "Sure, there's no difference between Joe talking about his new car from experience, and Jack who's regurgitating corporate hype for, say, Ford." Wrong.
You even almost see the difference on your own when you say "Slashdot deals with this by giving you the negative buzz too." Well, bingo. That _is_ the whole difference between a real review or opinion, and corporate marketting.
The whole "trust" part in that web of trust, refers to trusting someone to give you their honest opinion. I.e., if you think a product sucks, by Jove, do tell me in which ways. I want to hear _all_ the info: the good _and_ the bad.
You also trust that they have nothing to gain out of deceiving you. E.g., if I'm talking about my Psion 5 and how I find it to be the greatest palmtop ever made, in the end I have nothing to gain whether you believe me or not. I don't own any shares in Psion or Symbian, I don't sell Psion 5's, I don't sell software for them. I.e., the assumption of trust is that you can trust that I have no reason to lie to you.
I may of course still be uninformed, pissed off, a fanboy, or simply my uses for a PDA may not match yours. E.g., I love that keyboard for typing, but if you don't do a lot of typing on a PDA, a Palm may serve you better. What I love about it, may be completely irrelevant to you, or may even be what you'd hate about it. (E.g., partially because of the keyboard it _is_ also bulkier than a Palm.)
But you trust that I won't deliberately lie to you.
And, sorry, I fail to see how can I apply that trust to someone actively marketting for a corporation. They're not feeding me a honest opinion, they're not telling me their own experience in using the product (which generally they don't even own), they're just regurgitating a marketting text. Sorry, _what_ can I trust there?
Yet another company has discovered fanboys and astroturfing. Yeah, that's sooo new.
Can't even say it has anything to do with OSS. Anyone who's played a game and ever posted on a gaming board, has already met the unpaid fanboy acting like he's Holy Defender Of The Publisher, Minister Of The Truth, Silencer of All Heresy. "You dare complain about bugs and crashes? Nooo! The game is perfect! It's your system! It's your drivers! You're too stupid to use a computer!"
Cretins.
And yet another set of corporate fucks are willing to plunder and rape public comms channels to line their pockets. Much like spammers do.
There's a reason why people would rather trust each other than trust the marketters and professional reviewers. I know _I've_ had enough of marketting lies and bought reviewers dutifully transcribing the hype that the vendor wants printed. And I don't even mean creative exaggeration, but outright bullshit, lies and snake oil.
But it used to be that at least there were public communication channels, in the form of bulletin boards and newsgroups and the like, where we could talk to each other about it. And about other stuff. And now a bunch of corporate fucks have basically discovered that "hey! We could make a profit by polluting these channels to carry our corporate message."
So what's the difference between that and what spammers did to a different public resource? Nothing. The exact same "hey, we can make a buck by polluting and poisoning a comms channel" mentality.
You know, you just illustrate the problem
on
Microsoft Sues Spammers
·
· Score: 3, Insightful
There used to be a time where we all actually opened emails from strangers in other countries.
E.g., when I wrote that walkthrough of mine and put my real email address in it (again, spam was not yet a problem), it never occured to me that I'd ever want to discriminate against, say, gamers from Korea if they have questions.
E.g., when I posted on newsgroups, I actually expected that some people would answer privately per email. No point in dragging the whole thread off-topic, after all. Some of them were, yes, in other countries. If I was talking about Linux or about 3D programming in assembly, I wasn't going to reject potentially valuable information from someone just because their email info is from Elbonia.
The fact that nowadays email addresses are some jealously guarded family secret, and that we're gladly blocking whole countries or continents, is the effect of spam that I hate the most. It just shows the extent of the damage these fucks have done to this public resource.
So, well, in fact I actually aggree to your point of view. Let them flee if they want to. Then we can block just the countries which still encourage them, and maybe reclaim our communication resource to the rest of them. Having a usable communication channel even to just half the world, is better than what we have today.
Now I'm not a Korean, but I can say I gave up on email too.
A long time ago, in a galaxy far away, email was a valuable communication resource. I used to actually look forward to receiving email. I used to actually give my email to people, and I used to open emails from strangers. I used my real email on newsgroups. When I wrote a walkthrough for a game, I put both my email addresses at the time in it, so people can write me an email if they have questions. Some of them with attachments too, such as their saved game where they have problems or a screenshot.
But back then email was still usable, and spam was still in the range of maybe 1 spam email per week.
Nowadays, if anyone did that, especially the part about opening emails with attachments, you'd probably call them a stupid n00b.
And then the payback time came. Those email addresses I've used everywhere were hit by a tsunami of spam. I got a new email address and only told it to my family, friends and boss. It soon became flooded just the same.
Email has been plundered, raped and poluted by a bunch of idiot spammers, to the point of being useless. I'm no longer looking forward to emails. It's just not worth it any more. Yeah, I can install spam filters and whatnot, but even configuring and training those all the time is just not worth it any more.
Well, in a way the cycle is inevitable. People grow content, resign their rights, then end up with a dictatorship.
The Weimar Republic didn't even take too long to be replaced by the Third Reich. The French Revolution produced... emperor Napoleon Bonaparte. The Romans killed Caesar to keep him from becoming king, and preserve their precious republic. Then named his successor, Octavian Augustus, _emperor_, high priest, tribune of the plebs, and half a dozen other titles. (And FFS, a noble as tribune of the plebs is freakin' ridiculous.) Ancient Greece, that was the birthplace of democracy (and gave us the word for it too), and... periodically some of the worst dictatorships in history. Etc.
Human civilization itself, was born of the water despotism of Messopotamia. I bet those people felt very secure at first knowing that those nice people are operating the water dams for them. Then it became a case of "pay up and obey, or we'll cut off your only water supply and laugh as you die and your crops wither."
Had some of the most fun ancient empires there too. The Assyrians for example. Now those were fun. That was an empire ruled by sheer terror. Fun stuff like not only having the most horrible executions, but then also burrying the bugger near a road and detailing the execution on the tombstone. Just so the others know what's waiting for them if they don't obey.
And so the wheel of history goes on and on. People become free, grow complacent, take democracy for granted, then they become slaves again. I suppose it can't be helped. The US is more of an exception, having lasted this long without a proper despotism. But, heck, they can't last for ever either.
Yep, I'm using one. In fact, one on each computer I own. For the mouse. It's hard to describe, and it does take some getting used to, but picture this:
- no cord to get in the way or pull at the mouse,
- none of that idiotic wake-up lag of normal wireless mice (Which go to sleep if you don't move them all the time. And, yes, even Logitech's have it. A lot shorter, but it exists.)
- no ball to get dirty
- no laser to get confused by very quick movements or by a hair getting stuck to the bottom of the mouse right in front of the LED. (Don't laugh, it actually happened to me.)
- no batteries to run out when you need them the most
Personally I rate the combination as _waay_ nice.
The available surface is one problem, yes, but:
1. Being a twitch-gamer, I'm used to work with high sensitivity and small mouse movements. I can cover the whole screen in less than an inch mouse movement. At which point, the A6 active surface of a Graphire is more than enough.
2. You can buy larger pads anyway. Even in the budget range you can get the Graphire XL. And Intuos, now that you can literally get one that covers half the desk.
Dunno about Intuos, but with a Graphire it only happens if you haven't installed the graphics. A Graphire 2 can pretend it's an USB mouse even without the Wacom drivers, but then it has exact the same problem you described.
On the other hand, if you did install the driver, it's smart enough to make a difference between the pen and the mouse. It tracks the pen up to the 1/4 inch distance you describe, yes, but lifting the mouse barely a millimeter stops the tracking. I.e., it behaves exactly like a ball mouse.
And it's _waaay_ nice to have a mouse with:
- no cord to get tangled, _and_
- without the idiotic re-activation lag of normal wireless mice, which go to sleep as soon as you don't move them for half a second. (Like I'm gonna keep wiggling the mouse when I'm sniping.) _and_
- without a ball to get dirty, _and_
- without a led/scanner that gets confused by quick movements
For me, it's the perfect mouse, bar none. And the stylus is a nice bonus too.
Yes, source control is good, and everyone should use it. But please don't assume it solves _everything_.
1. There are more ways to break people's code than directly editing their files. Slight changes in the behaviour of classes and methods can mean days of debugging for the poor sod that's merely calling them.
The most heavy-handed and least subtle way, for example, is to start throw unchecked exceptions that noone expected. E.g., item not found in the cache simply returned a null? (Intuitive for everyone who's used a hash-map before.) You can do better. Start throwing an unchecked CacheElementMissingException, and don't document it anywhere. Especially not in the method declarations, which would cause it to appear in the Java-docs.
And because it's unchecked, it's not signalled by the compiler in any way. They'll just see it at run-time. Then argue to the boss that it's all best practices.
But as I've said, that's heavy handed and unsubtle: the stack trace still points to your code. Other stuff, like slightly changing the data you give them ("what do you mean you expected an empty list, not a null, when I have no elements to give you?") can be a bigger headache. Bonus points if it's some condition that happens only once a month, and may pass through both automated tests and manual testing before being noticed.
2. You assume that having proof is everything. Nay, show-biz is everything.
If the boss's favourite "dedicated team-member and hard-worker" edited your code, good luck convincing the boss that it's not a good thing. _Sometimes_ it might work, but there's also a good chance of you ending up the bad guy.
The guy who randomly edits everyone else's code, especially if he's vocal and a good brown-noser, will very rarely seen as the team nuisance that he is. He'll be seen as the dedicated team-member who really cares about the project and gets involved. The really good guy who really cares about your EJB's too, even though he's in the client team. See how dedicated and involved he is?
Trust me, Europe has just as clueless PHBs. Idiots are idiots everywhere, no need to discriminate against any country.
What's different in Europe is that the laws are far more intended to protect the workers, than to protect the CEO's right to shaft you, use you, and throw you away. So it means for a start that they have to actually pay you for overtime, and even more for overtime on weekends. It also means that the boss can't say "if you quit, I'll see to it that you can't get any unemployment benefits or get any work with computers for the next 2 years", because the law says he's got no say in that. Puts them in a _much_ less despotic position in negotiations. Etc.
But in the end, idiots are still idiots, and still appreciate show-biz more than actual work. That's, sadly, what this industry is all about: show-biz. That's one thing I wish they had taught me in university. Would have avoided the disappointment later.
For starters, show-biz to entertain the boss. I know people who can't code worth shit, and don't even know the most elementary basics of the language. People who do more harm than good to any code they touch, and if they're inclined to dabble in office politics they harm the project far worse than mere bad coding. People who aren't just not producing much, but whose contribution to the project is actually _negative_. (Yes, it would go faster without them.)
But they brown-nose and put up a _great_ show of being involved, dedicated and working 12 hours a day. So the boss loves them. They're the good team members, while those who actually do the work are the "bad guys".
In fact, no offense, but from my experience so far, maybe 10% of the people do overtime because they're actually dedicated workers and enjoy it. (Yes, maybe _you_ fit in that 10%. I used to be in there too, so as I've said, no offense intended.) The rest do it because they have something to compensate for. The more incompetent they are, the more likely they'll put up the overtime and dedication show just to impress the boss.
Or show-biz to entertain the clients.
At least 90% of the software developped today isn't even supposed to solve a problem. It's just supposed to be a buzzword collection (or as I call it: BDA: Buzzword Driven Architecture) to make some client PHB feel good.
Etc.
You can still stick to writing software anyway. I did. It's more fun than the stupid office politics games. But you must learn to accept that that's not what's expected of you. Actually being able to code is as irrelevant to the job as it is to a strip-club stripper's job. Your real job, like hers, is really just putting up a good show.
"In the real world if someone want to break into your house he needs to be physically present, can be easily noticed by you or your neighbors, and will probably leave eveidence that law enforcement can and will follow up on."
Oh, indeed. Very insightful observation, and indeed it's one big factor in why you get so many attacks over the internet. We can easily aggree on that one.
I'm just saying what Joe Average, with zero knowledge of computers, instinctively expects. He's lived all his life in a world which works by completely other rules (yes, because the factors you mention), so he just instinctively applies those rules without thinking.
It sorta reminds me of an Asimov story, the title escapes me though. Basically on an orbital station, where gravity is generated by rotation and everyone lives on the inside surface, they have to catch a spy who's from a _planet_ in a group of other people from orbital stations. So the "guide" just starts talking about the centre of it. Everyone who's from an orbital station instinctively looks _up_ (correct for such a station), the guy from the planet looks _down_ (correct for a planet.)
Computer expectations are like that too. _You_ who've dealt with computer lots, look in the right direction, they look in the direction that would be right for RL. That's all I'm saying.
I've said this before, but here goes again: what's "wrong" with non-nerds is that they're used to the Real-World "security model". The real world doesn't work like computers do.
In the real world, you don't have to have an absolutely-unbreakable titanium-plated vault door to your house, nor bullet proof windows. If anyone wanted to hack your front door down, it's worth a maximum 5 minutes with an axe.
Real world locks also aren't supposed to be unbreakable. Au contraire. By computer security standards, they're a catastrophe. Most allow 1-pin-at-a-time attacks, which in computer security is the worst anti-pattern. Locks with master keys allow easy escalation of privileges too.
It's all documented vulnerabilities (or exploits) and they've been known for ages, and never fixed.
But they work IRL anyway. Yes, any kid could lockpick your front door, or hack it down, or just throw a brick through the window to get in. But people still use locks, doors and windows.
Why? Because the IRL (In Real Life) you don't live in a lawless no-man's-land where any kiddie with a lockpick is l33t and free to pick your lock. IRL your real defense isn't the lock, but the law.
The lock or the door just markers. They just say "you're not supposed to be past this point uninvited, and if we find you inside, we'll throw your sorry ass in state jail."
(If you're a die-hard gun fanatic, feel free to replace by "if I find you in, you'll get a gut full of buckshot." Same idea: there'll be repercursions. The door just marks the point beyond which the thief is not supposed to go, not _the_ deterrent itself.)
And people instinctively expect the same kind of rights and protection to apply to the online world too. "This is my computer, you're not supposed to be on it. Your playzone ends at the ISP, and this side is my private property."
Unrealistic expectation? Maybe. But it exists nevertheless.
The point was not that "gifts which provide you with hours of fun are bad", but rather that "gifts which require more hours of unwanted _work_ and _effort_ on the receiver's side are bad."
Legos or video games are an example of a good gift. They didn't require any unwanted effort from you.
An example of a bad gift, on the other hand, would be if I gave you an XBox game if you don't even own an XBox. And then pestered you to play it. It requires more effort on your side than it required on mine. You get to spend some 150$ on an XBox, whereas I only paid some 50$ for the game. Plus the time spent going to the shop to buy one, etc.
E.g., since you mention a bike, giving a bike to an adult who doesn't already know how to ride one is a bad gift. It requires a lot more effort from them to learn to use it, than it took on your side to carry it out of the shop. And it's unwanted effort: if they wanted a bike, they would have already bought one.
And the bike makes for a good analogy with the Linux CD. It throws someone up a learning curve that they probably didn't want in the first place. To get any use out of it, they have to spend days learning new stuff. Days which they most likely didn't want to spend that way. Definitely not around christmas.
So basically, as was already said, unless you know for sure they're interested in Linux, I'd avoid that kind of a gift.
But that's beside the point. Even if I were Joe Average running Windows, I wouldn't have any use for it. In fact, _especially_ if I was Joe Average.
There's a certain kind of zealot which assumes that:
A. The OS is a purpose in and by itself,
B. That everyone's idea of a fun hobby is reading man(1) pages and wantonly replacing something that already works,
C. Only using Windows because they're too retarded to even know that somehing else exists.
In reality, all those assumptions are false.
And what I'm saying is that for Linux to make progress, more people have to get out of the "Windows users are ignorant retards" mentality and start asking themselves "well, what _do_ they find in it? What does Windows do well?"
Because invariably any software designed on the presumption that "users are idiots and we know better than them" ends up something that those users don't actually want to use. E.g., if you look on Freshmeat you can see a ton of crap GUIs that were obviously made not to be good functional GUIs, but starting from ideas like "bah, those idiots just have a fetish for colourful buttons and icons. Might as well throw a heap of them in."
And because any advocacy that starts from such pre-conceived notions, instead of listening to the user's needs and formulating a sane solution, is actually counter-productive. It ends doing more damage than good.
In this case, it proposes to throw a user into a desktop they don't know, without any explanations or assistance. It's akin to teaching someone to swim by throwing them into water and walking away.
Someone who actually booted that CD won't even know WTH is all that, what can they do, where's their Photoshop icon, where's their AOL icon, etc. Even assuming they found Mozilla and found out how to read emails with it, all their AOL address book and settings are seemingly gone. Even assuming that they found the Gimp and figured out they can edit their digital photos with it too, it's a very different GUI they don't understand. Etc. And there's noone nearby who can help them.
It's the kind of a traumatic experience that says "NO THANKS! I DON'T WANT TO EVEN HEAR ABOUT LINUX EVER AGAIN!"
Heh. The standard, "I'll pretend someone mis-read my text and hope noone notices the change" trolling tactic? Or didn't you even read the Slashdot summary for the thread you post in?
Well, lemme spare you the trouble: The guy who made this monstrosity of a car is whining that there's some automobile manufacturer conspiracy to not produce it. That's what we've been talking about, and that's the context in which I was talking about those costs.
And I'm in no way opposed in him pursuing his dream, but if he wants to see it manufactured that badly, then let _him_ start manufacturing it. That's how those car manufacturers got where they are: they actually took the risk. They believed in their ideas, yes, but they believed enough to actually make a business plan and take a risk.
But nah, he'd rather whine about a how someone else should do that for him. And if they don't do it _right_ _now_, goddamnit, it's got to be a conspiracy.
Seems to me like it's _not_ anyone's obligation to drop all else and start manufacturing this guy's invention for him. You don't need conspiracy theories to see why a business-person would think there's not much market for that kind of car. _That_ is what I'm talking about.
The fact that there's a corporation called "Ford" today, comes from the fact that one guy called Henry Ford took the risks himself and pursued his own dream. If Ford just sat on his ass and whined about how some other car company should immediately start manufacturing Ford's car, like this japanese guy does, he'd still be a nobody. And the automobile industry would probably have stuck with the old way for another decade or two.
If everyone was thinking like me... _what_ would happen? It seems to me like we are where we are today _because_ people thought like me. Progress is made by people who actually _do_ something about their dreams, _not_ by people who sit on their ass and whine about conspiracies when perfectly good business explanations exist.
So now _you_ re-read what you wrote, and what you were disaggreeing with, and _you_ explain how were you saying the same thing.
Last I checked, automobiles didn't just appear overnight either. It took a lot of time and a lot of infrastructure building before they were any use.
But the history of cars does have a valuable lesson for this case either. You think you have the super-duper-invention-of-the-century? Well, then make a damn factory and try to sell it. That's what those people back then did.
Whining about global conspiracies is easy.
The reason you have cars today is that someone actually did more than whine about carriage-maker conspiracies.
Re:I'd love a cheap, mass produced 200 mile electr
on
230mph Electric Car
·
· Score: 1
The chinese don't even need to license anything, since DC motors are already public domain, and they already have licenses on almost any battery type which is still covered by patents. (E.g., for use in laptops.)
I.e., if this car was that great, the Chinese could start producing it right away anyway.
So this guy's logic is... what? "All the Western world manufacturers just want to let the Chinese take over the market"? Because that's what it boils down to.
I.e., the guy is an idiot. Plain and simple. The tin-foil paranoia makes for some sensationalist trolling, but fails even the most minimal reality check and common sense.
Not that he'd be the first one. "Waah! There's a world-wide conspiracy not to use my invention!" seems to be a common theme these days. Invariably it's a piece of crap that noone wants to manufacture for some perfectly good reasons.
You raise basically two separate points, so I'll address them separately:
1. No battery comes even close to the energy density of gasoline. I.e., batteries are heavier and larger than the same energy stored gasoline. And unsurprisingly this car is a huge 8-wheeler behemoth just to store enough batteries for a 200 mile cruise.
Worse yet, you also have to move those batteries. If a car has an extra, say, 500 kilos worth of batteries, it needs to accelerate and decelerate that extra weight as well. I.e., to have the same range and acceleration an electric car actually needs _more_ energy, because it needs to move more weight. Or to put it otherwise, to have the same range and acceleration, it carries batteries not only to match the energy value of a tank full of gas, but probably twice that.
So the gas station needs to swap all that. Instead of storing, say, 20 kilos of gasoline to refill a car, they need to store some 500 kilos worth of batteries per car served.
Can you see yet why that's not an economical idea?
2. We're talking a car that takes 10 hours to refill, has only 200 miles range between refills, is huge, and would cost 170,000 dollars to produce.
Sorry, no offense, but it seems to me like you don't need a conspiracy theory there. The car manufacturers would actually _love_ to build a better mouse trap than the competitors. But this car is simply _not_ the better mouse trap.
Yes, everyone keeps saying how it could make a nice car to _only_ drive to work and back, so you don't need more range and don't mind the 10 hour refill time. But how many would actually pay, say, $180,000 for a car to drive to work and back? (Assuming that the manufacturer sells it at only 5.9% more than the production costs.)
I don't know about you, but if I actually bought an 180,000$ car, I'd expect a helluva lot more from it than this car can do.
There just isn't a market for this car. That's all. There's no need to reach for the tinfoil hat, when a perfectly logical business reason exists.
I'm not sure what I'm supposed to learn. How to write software that never has any bugs?
I believe that's already explained in Kent Beck's books very clearly. It's based on redefining semantics so that "bug" suddenly means what everyone else calls "known deffect".
Funny thing is, Microsoft too ships with no known defects as a matter of policy. By XP definition (again, Kent Beck's definition) all the buffer overflows and exploits that pop every weeks are therefore not bugs. They're at most change requests and we should probably all pay to get them fixed... err... changed.
Or for that matter, hey, then I've never had a bug either.
How to release every week to the productive servers? See above. If we redefined "we don't know if there's anything that our automated test cases don't cover" to mean "our software is perfect", sure, we too are ready to go productive without extensive QA.
Now if only the client and all their business partners also saw it that way: that if something happens to their data, it nevertheless was 100% perfect software that caused that.
How to have zero penalty for stumbling blindly and changing the architecture every week? That's explained in the book too. It merely requires redefining semantics again.
The rest of the world, when talking about the cost of change, talks about not only the cost of this week's changes, but also about all the code already written and which now gets thrown away. Let's say every other week the client wants the same thing changed again to something else, and let's say it only requires two man-days each time (one XP pair, one day). By the definition the rest of the world uses, if you did that 20 times, that's a total 40 man days wasted. Not just the last 2.
There is no known way to elliminate that effect, because it would require going back in time and causing the first writing wrong code to never have happened in the first place. Hence why most of us would rather stop and think a bit than rush through a major architecture change in one week, and maybe throw it away the next week. Because all those weeks slowly add up.
But if in XP's case we redefine that to not be a part of the cost, look, XP has solved that problem too.
Needless to say, I'm still not impress by any methodology whose success depends on redefining what "success" means.
Point in case, even the famous C3 project, XP's poster child, is such a redefined "success". What Kent Beck doesn't say is that the client considered the project an abject failure and cancelled it. After several years of XP and the client's representative developping stress-related health problems, the C3 still did about 10% of what it was supposed to do. So it got cancelled.
But Kent Beck conveniently redefines that to be an outstanding success.
Either way, if you have solutions that don't involve redefining words, I'm genuinely interested in hearing them. If they fall under what I've described above, I'm not. That I already know from the XP books.
Well, gee. It's so obvious. I wonder why noone else figured that out before. (Sarcasm there, if you can't tell.)
"B) automate all your tests"
We do.
"Yeah, if you're used to writing buggy software, that's a good attitude to have. But doing XP, you're doing QA from day one via automated acceptance tests."
Ah, more XP bullshit and double-speak.
No, XP merely redefines the meaning of the word "bug". If it's not in an automated test, it's not a bug. Even if the client's data is pwn3d by any l33t script-kiddie, it still isn't a bug. Unless the client's _manager_
1. Is a security expert and could foresee every single security vulnerability your team might make, and,
2. has the technical skill to write extensive automated acceptance tests that encompass it all...
hey, it's not a bug. It's the client's fault, not ours. Never mind that it's really a buffer overflow in our code, or our piss-poor design of the enforcing of user rights, it's not a bug. It's a change request.
One word for you: bullshit.
That kind of lame changing semantics just disgusts me.
Re:Go back to sleep. You have no "natural allies"
on
Sun-isms Debunked
·
· Score: 1
Oh, indeed. I'm all for letting them contribute while they're in a position where they want to.
Greed is a wonderful thing for society, if it's channelled to the benefit of the many. The GPL might just be the right conduit there.
Was just saying that none of them is ultimately a permanent ally, nor a "natural ally". It's just not in the nature of business-men/-women to stay a faithful ally to anyone. Anyone who'd stay a faithful ally even when they're in a position to buy you or run you out of business, isn't a CEO in the first place... or won't stay one for long.
They do make very useful temporary allies, though. I'm not gonna argue with you there.
And again, for anything even resembling a real corporation, having a higher level manager (who can basically speak for or override all departments who want a say in it) available to you all the time is at most a pipe dream. It may work for tiny projects, or small clients, or sometimes even projects which are the high level manager's own pet project and _explicitly_ supposed to help him override the subordinates.
We even had such a project. The manager was basically sick and tired that the subordinates were submitting reports that were not formatted exactly with his favourite (unreadable) fonts and his favourite (unreadable) colours. So he wanted a customized tool that enforces those, so he can tell all the peons to use it or have their reports thrown into the garbage bin. And since it was his own pet project and pretty much _against_ the subordinates, we had direct communication to him.
But for anything else, expecting that a high level enough manager:
1. Even understands what the subordinates need to do their job, when he's not even the one using that tool, and
2. Is willing to waste his time directly at your team's disposal, as is the dream (again: pipe dream) of XP,
dunno, it's IMHO more wishful thinking than going to happen. _Both_ points are unlikely to happen.
In practice,
1. they won't have a bloody clue what the subordinates need, and will go into la-la land wishing just funny fonts and colours. (Witness the endless stream of useless intranet projects that are some boss's pet project, but are so broken that noone wants to use them. The fault invariably is that said boss never uses that site himself, but orders a secretary or peon to get the data for him out of him. So he never gets to witness first hand that his ideas suck.)
2. Someone who has enough rank to keep all those department fiefs in line and keep them from fighting over whose barony is more important, well, his time is measured in millions per day. Maybe even per hour. No way you're getting him to stop managing a company, and start managing your team instead.
So he'll delegate a peon who _doesn't_ have the authority and probably didn't want to babysit your team either. And you end up in the exact situation I've been through. (And if you think I'm exaggerating, C3, the poster child of XP, basically also got a peon assigned to be their proxy.)
But now to individually address your criteria, and why you're unlikely to get all of them satisfied from a big customer:
"they be a professional product manager"
As I've said, it'll more likely be a lower level manager who got assigned a task they can't fully controll, and they likely didn't want in the first place.
"that they fairly represent the needs of all stakeholders"
As discussed before, the only way those stakeholders won't pull in opposite direction, is if the proxy outranks them all and can keep them in line. When the peon is signifficantly lower rank than them (which will almost always be the case) they'll more likely make it a point of prestige to make it clear they won't let a peon dictate what they'll use.
"that you have weekly demos of progress that all stakeholders are invited to attend"
In a situation like the above it's a recipe for disaster. Each boss in that room will make a point to want something else, just to show that (A) they're active and paying attention, (B) show who's in charge.
A couple of friends are in a project, two floors above my office, which is already two years late and going to the dogs just because of that: they ended up having to deal with the egos of every single PHB in a big corporation. There isn't a single week when those don't want the exact opposite of what they wanted last week, and preferrably something which needs a fundamental architectural change.
And while in theory it may seem like "cool, as long as they pay for those change requests, it's all fun", it's actually still seen everywhere as a failed proj
Go back to sleep. You have no "natural allies"
on
Sun-isms Debunked
·
· Score: 5, Insightful
In the corporate world there is no such thing as "natural allies". Especially not with competing products. But generally, when a business man/woman shakes your hand, you can bet his/her other hand is behind his/her back, holding a dagger.
People, this is not Tolkien, where the elves are your natural allies for eternity, and the orcs are your natural enemies. In Tolkien's world you know where you stand. It's a simplified world. That's why we like to escape to phantasy worlds: they're a refuge from the madness of the real world.
Real world is nowhere near that simple.
In the corporate world, there are no heroes in shiny spandex, and no villain cackling over death ray blueprints. There's only a bunch of greedy people trying to make a buck. Your buck.
Throughout the history of computing, as little of it as we have, one thing stayed a constant: whoever is in the lead wants proprietary stuff and tries to lock you into their incompatible formats. Whoever is losing badly wants open standards and generally a fair chance to have a go at the big guys' locked-in customers.
Then the wheel turns, companies go from top to bottom and viceversa, and they switch the tune without missing a beat. And things stay the same. The ones who are now winning, try to lock you in, the ones at the bottom suddenly become open-standards evangelists.
That's why IBM and the rest are supporting Linux nowadays, for example. That's why Sun would even give away OpenOffice, even with sources, to try to break MS's file format lock-in.
There are a lot of has-beens in this industry. People who once owned the market, but were too stupid to keep it.
E.g., PCs once had to be "IBM Compatible", then it was "Intel Compatible", while nowadays it's "MS Windows Compatible". Intel doesn't single-handedly decide new architectures any more, but has to beg MS for support in Windows. (And just got refused recently!) IBM had its ass handed to it a longer time ago, when the PS/2 microchannel architecture was basically rejected by everyone else. The company that created the PC was no longer in control of its architecture. Novell once owned the network server market, but thought it could ignore NT and stick to charging outrageous prices. Prices for which you could buy not only 2 NT server licenses, but also 2 high end PCs to run them on. Etc.
And when they still were at the top, neither of them has acted any better than MS does. E.g., although nowadays "FUD" is synonimous with Microsoft, once it was synonimous with IBM: In fact, it was _invented_ by IBM.
Now all those has-beens are suddenly pro-Linux and pro-open-standards, to get their righteous vengeance against MS. But if either got back on top, they'd start doing the same shit all over again.
And Sun is the prime example. Sun is somewhere in the middle, and can't decide if it's losing, or still has a chance of being king. As soon as it thinks it's losing, it starts being a Linux zealot. As soon as it thinks "hey, maybe everyone will convert to Solaris if we port it to the Opteron", it starts openly trying to kill Linux.
And as management perceptions and sales figures fluctuate, pushing them a little up or a little down from that middle position, Sun flip-flops between the two extremes several times a month. Or sometimes even within the same day.
Sad.
You make a confusion: Sun!=Solaris
on
Sun-isms Debunked
·
· Score: 4, Interesting
I think you'll find most of us don't have anything against Solaris as such, but a lot of us have had enough of Sun's bullshit and FUD.
At least SCO, since you mentioned it, is consistent. It keeps saying the same thing. "All your base are belong to us." Err... I mean, "We own Unix, Linux is evil pink commie stuff, everyone copied our code." I can deal with that.
Sun's upper management is plain old multiple-personality schizophrenic, taken as a whole. You never know with which personality you'll deal today. Or even at different hours in the same day. Will it be McNealy 1 who loves Linux and OSS more than he loves his mother? Or maybe McNealy 2 who doesn't even have any strategy, and just foams at the mouth worse than any zealot? Or McNealy 3 who's as convinced that Linux sucks as Darl from SCO is, and spreads FUD about Linux? Or who?
I wish Sun just made up its mind already. These fits and hourly changes of mind are getting tiresome.
Re:Yep, this guy's an idiot
on
Joel On Software
·
· Score: 3, Insightful
Going ahead without a plan is a sure-fire way to get shafted. Especiall when the client doesn't have only _one_ person representing them and making the decisions, as is the pipe-dream of extreme programming. You soon end up with 1 of them wanting something, 1 threatening to cancel the contract if he doesn't get something completely different, 3 playing politics and prestige games and trying to make a "my department is more important than yours" point to each other, and 2-3 wanting to turn the whole program into something completely unrelated because their department didn't really need an e-commerce system but could use a customized project planning tool.
And I even have an experience that went like this: the client actually nominated one person to represent him and make the decisions for him. The ideal situation, right? So we go ahead, and even accept a ton of change requests from him, and conversely he aggrees that extra time is needed to implement those. Also that some features that needed the most time weren't that necessary and can be left out for now. Had some iterations with him too. All went smoothly.
So then here comes the big day and deadline and have to get the program accepted and paid. And the client PHB gets in the act and overrides the representative. "What? You threw away _that_ feature I explicitly requested myself in the beginning?! On whose authority?! And why the heck is this program two months late?! I needed it in March!!" (The two months had been accepted by his representative as time to implement the change requests.)
Turns out the peon nominated to represent him didn't have as much authority as he and we thought. And not having anything written down and signed for all that stuff in between, well, basically his view was that we went into phantasy land and implemented something else than what he asked for. Two months late too.
"No development method can save you if complete idiots are in charge."
Quite insightful, but therein lies the rub: development without any specs and just doing what the clients fancy this week, basically puts _them_ in charge. They're your new managers, they decide what you do. And they're not even trained or experienced to manage a programming project. How do you prevent half of them from being complete idiots?
Basically I'm not against iterations as in showing the the client some progress. But I do like having _some_ specs, if nothing else to prevent wasting even more work.
True, the client doesn't know exactly what they want from the beginning, and just writing all down will make the bad spec that you mention. But here's the fun part: you can help the client give you a good spec. Mock-ups and small demos take a lot less work than actually coding those features, and lets them see roughly how things work and kill dumb ideas just the same.
Well, gee, so they're gonna see the top of my head in 5cm squares, no less. So viewed from above, even someone the size of Hulk Hogan or the archetypal 300 pound geek, will show up as maybe 10-12 pixels wide, by maybe 5-6 pixels tall.
Well, gee, I can think of Atari 2600 (the ancient console with blocky graphics) sprites that were more detailed than that. Or you know that blurry mosaic they use on TV to hide someone's face? Yep, that's the kind of resolution you'll have. And it's not even gonna be of the face, but of the top of your head.
Now do your own thinking, please, instead of letting the tin-foil hat do the thinking for you. That pixelated sprite, even assuming that it's a perfectly clear day and perfectly focused, is gonna look exactly the same as about a quarter the town's population.
If they wanted to track, say, me... by _what_ details are they gonna identify me, at that resolution? I can tell you that half the building wears black, and half of those have a close enough hair colour.
Let me tell you a secret: spy sattellites are good at tracking bigger stuff. Tank columns, troop concentrations, military bases, airfields, etc. Using them to actually track an individual persons, is like using a trebuchet to lob rocks at flies. Maybe a little entertaining, but ultimately pointless.
It all is also based on the fundamentally flawed assumption that a communist government would even try to be all sneaky and make it impossible to prove that they're spying on you. That basically they're like Western democratic governments and they have to keep an illusion of freedom and lawfullness. Which is false.
Au contraire. A communist government _wants_ you to be affraid. If they're gonna supervise you, they'll put two cops in uniform in front of your door. Just so everyone _knows_ the big brother is watching.
And if they're actually interested in you, they won't just send the cops to sit and watch. They'll send those cops to bring you to the station and beat the shit out of you until you confess everything they want to hear. And they'll keep hitting until you confess being part of a conspiracy that you didn't even know existed, until they started asking about it. And then if they actually want to seem like it's not political persecution, they'll also beat you up until you confess some murders and robberies too, so they can ship you to prison on those charges.
And if you still don't want to confess, they'll kindly offer to bring a few of your relatives and beat them up in front of you. (A case that truly appalled me from a third-world eastern-european country involved just that: when a guy refused to confess, they offered to bring in and beat up his 80 year old grandma. On account that she was in the general area where the crime was commited too, so she might be an accomplice.)
This kind of confusion between "honest personal opinion/review/dogma" and "corporate marketting to make a buck" is just what those unethical corporate shills are exploiting, and what they'd like you to believe. "Sure, there's no difference between Joe talking about his new car from experience, and Jack who's regurgitating corporate hype for, say, Ford." Wrong.
You even almost see the difference on your own when you say "Slashdot deals with this by giving you the negative buzz too." Well, bingo. That _is_ the whole difference between a real review or opinion, and corporate marketting.
The whole "trust" part in that web of trust, refers to trusting someone to give you their honest opinion. I.e., if you think a product sucks, by Jove, do tell me in which ways. I want to hear _all_ the info: the good _and_ the bad.
You also trust that they have nothing to gain out of deceiving you. E.g., if I'm talking about my Psion 5 and how I find it to be the greatest palmtop ever made, in the end I have nothing to gain whether you believe me or not. I don't own any shares in Psion or Symbian, I don't sell Psion 5's, I don't sell software for them. I.e., the assumption of trust is that you can trust that I have no reason to lie to you.
I may of course still be uninformed, pissed off, a fanboy, or simply my uses for a PDA may not match yours. E.g., I love that keyboard for typing, but if you don't do a lot of typing on a PDA, a Palm may serve you better. What I love about it, may be completely irrelevant to you, or may even be what you'd hate about it. (E.g., partially because of the keyboard it _is_ also bulkier than a Palm.)
But you trust that I won't deliberately lie to you.
And, sorry, I fail to see how can I apply that trust to someone actively marketting for a corporation. They're not feeding me a honest opinion, they're not telling me their own experience in using the product (which generally they don't even own), they're just regurgitating a marketting text. Sorry, _what_ can I trust there?
Yet another company has discovered fanboys and astroturfing. Yeah, that's sooo new.
Can't even say it has anything to do with OSS. Anyone who's played a game and ever posted on a gaming board, has already met the unpaid fanboy acting like he's Holy Defender Of The Publisher, Minister Of The Truth, Silencer of All Heresy. "You dare complain about bugs and crashes? Nooo! The game is perfect! It's your system! It's your drivers! You're too stupid to use a computer!"
Cretins.
And yet another set of corporate fucks are willing to plunder and rape public comms channels to line their pockets. Much like spammers do.
There's a reason why people would rather trust each other than trust the marketters and professional reviewers. I know _I've_ had enough of marketting lies and bought reviewers dutifully transcribing the hype that the vendor wants printed. And I don't even mean creative exaggeration, but outright bullshit, lies and snake oil.
But it used to be that at least there were public communication channels, in the form of bulletin boards and newsgroups and the like, where we could talk to each other about it. And about other stuff. And now a bunch of corporate fucks have basically discovered that "hey! We could make a profit by polluting these channels to carry our corporate message."
So what's the difference between that and what spammers did to a different public resource? Nothing. The exact same "hey, we can make a buck by polluting and poisoning a comms channel" mentality.
There used to be a time where we all actually opened emails from strangers in other countries.
E.g., when I wrote that walkthrough of mine and put my real email address in it (again, spam was not yet a problem), it never occured to me that I'd ever want to discriminate against, say, gamers from Korea if they have questions.
E.g., when I posted on newsgroups, I actually expected that some people would answer privately per email. No point in dragging the whole thread off-topic, after all. Some of them were, yes, in other countries. If I was talking about Linux or about 3D programming in assembly, I wasn't going to reject potentially valuable information from someone just because their email info is from Elbonia.
The fact that nowadays email addresses are some jealously guarded family secret, and that we're gladly blocking whole countries or continents, is the effect of spam that I hate the most. It just shows the extent of the damage these fucks have done to this public resource.
So, well, in fact I actually aggree to your point of view. Let them flee if they want to. Then we can block just the countries which still encourage them, and maybe reclaim our communication resource to the rest of them. Having a usable communication channel even to just half the world, is better than what we have today.
Now I'm not a Korean, but I can say I gave up on email too.
A long time ago, in a galaxy far away, email was a valuable communication resource. I used to actually look forward to receiving email. I used to actually give my email to people, and I used to open emails from strangers. I used my real email on newsgroups. When I wrote a walkthrough for a game, I put both my email addresses at the time in it, so people can write me an email if they have questions. Some of them with attachments too, such as their saved game where they have problems or a screenshot.
But back then email was still usable, and spam was still in the range of maybe 1 spam email per week.
Nowadays, if anyone did that, especially the part about opening emails with attachments, you'd probably call them a stupid n00b.
And then the payback time came. Those email addresses I've used everywhere were hit by a tsunami of spam. I got a new email address and only told it to my family, friends and boss. It soon became flooded just the same.
Email has been plundered, raped and poluted by a bunch of idiot spammers, to the point of being useless. I'm no longer looking forward to emails. It's just not worth it any more. Yeah, I can install spam filters and whatnot, but even configuring and training those all the time is just not worth it any more.
Well, in a way the cycle is inevitable. People grow content, resign their rights, then end up with a dictatorship.
The Weimar Republic didn't even take too long to be replaced by the Third Reich. The French Revolution produced... emperor Napoleon Bonaparte. The Romans killed Caesar to keep him from becoming king, and preserve their precious republic. Then named his successor, Octavian Augustus, _emperor_, high priest, tribune of the plebs, and half a dozen other titles. (And FFS, a noble as tribune of the plebs is freakin' ridiculous.) Ancient Greece, that was the birthplace of democracy (and gave us the word for it too), and... periodically some of the worst dictatorships in history. Etc.
Human civilization itself, was born of the water despotism of Messopotamia. I bet those people felt very secure at first knowing that those nice people are operating the water dams for them. Then it became a case of "pay up and obey, or we'll cut off your only water supply and laugh as you die and your crops wither."
Had some of the most fun ancient empires there too. The Assyrians for example. Now those were fun. That was an empire ruled by sheer terror. Fun stuff like not only having the most horrible executions, but then also burrying the bugger near a road and detailing the execution on the tombstone. Just so the others know what's waiting for them if they don't obey.
And so the wheel of history goes on and on. People become free, grow complacent, take democracy for granted, then they become slaves again. I suppose it can't be helped. The US is more of an exception, having lasted this long without a proper despotism. But, heck, they can't last for ever either.
Yep, I'm using one. In fact, one on each computer I own. For the mouse. It's hard to describe, and it does take some getting used to, but picture this:
- no cord to get in the way or pull at the mouse,
- none of that idiotic wake-up lag of normal wireless mice (Which go to sleep if you don't move them all the time. And, yes, even Logitech's have it. A lot shorter, but it exists.)
- no ball to get dirty
- no laser to get confused by very quick movements or by a hair getting stuck to the bottom of the mouse right in front of the LED. (Don't laugh, it actually happened to me.)
- no batteries to run out when you need them the most
Personally I rate the combination as _waay_ nice.
The available surface is one problem, yes, but:
1. Being a twitch-gamer, I'm used to work with high sensitivity and small mouse movements. I can cover the whole screen in less than an inch mouse movement. At which point, the A6 active surface of a Graphire is more than enough.
2. You can buy larger pads anyway. Even in the budget range you can get the Graphire XL. And Intuos, now that you can literally get one that covers half the desk.
Dunno about Intuos, but with a Graphire it only happens if you haven't installed the graphics. A Graphire 2 can pretend it's an USB mouse even without the Wacom drivers, but then it has exact the same problem you described.
On the other hand, if you did install the driver, it's smart enough to make a difference between the pen and the mouse. It tracks the pen up to the 1/4 inch distance you describe, yes, but lifting the mouse barely a millimeter stops the tracking. I.e., it behaves exactly like a ball mouse.
And it's _waaay_ nice to have a mouse with:
- no cord to get tangled, _and_
- without the idiotic re-activation lag of normal wireless mice, which go to sleep as soon as you don't move them for half a second. (Like I'm gonna keep wiggling the mouse when I'm sniping.) _and_
- without a ball to get dirty, _and_
- without a led/scanner that gets confused by quick movements
For me, it's the perfect mouse, bar none. And the stylus is a nice bonus too.
Yes, source control is good, and everyone should use it. But please don't assume it solves _everything_.
1. There are more ways to break people's code than directly editing their files. Slight changes in the behaviour of classes and methods can mean days of debugging for the poor sod that's merely calling them.
The most heavy-handed and least subtle way, for example, is to start throw unchecked exceptions that noone expected. E.g., item not found in the cache simply returned a null? (Intuitive for everyone who's used a hash-map before.) You can do better. Start throwing an unchecked CacheElementMissingException, and don't document it anywhere. Especially not in the method declarations, which would cause it to appear in the Java-docs.
And because it's unchecked, it's not signalled by the compiler in any way. They'll just see it at run-time. Then argue to the boss that it's all best practices.
But as I've said, that's heavy handed and unsubtle: the stack trace still points to your code. Other stuff, like slightly changing the data you give them ("what do you mean you expected an empty list, not a null, when I have no elements to give you?") can be a bigger headache. Bonus points if it's some condition that happens only once a month, and may pass through both automated tests and manual testing before being noticed.
2. You assume that having proof is everything. Nay, show-biz is everything.
If the boss's favourite "dedicated team-member and hard-worker" edited your code, good luck convincing the boss that it's not a good thing. _Sometimes_ it might work, but there's also a good chance of you ending up the bad guy.
The guy who randomly edits everyone else's code, especially if he's vocal and a good brown-noser, will very rarely seen as the team nuisance that he is. He'll be seen as the dedicated team-member who really cares about the project and gets involved. The really good guy who really cares about your EJB's too, even though he's in the client team. See how dedicated and involved he is?
Trust me, Europe has just as clueless PHBs. Idiots are idiots everywhere, no need to discriminate against any country.
What's different in Europe is that the laws are far more intended to protect the workers, than to protect the CEO's right to shaft you, use you, and throw you away. So it means for a start that they have to actually pay you for overtime, and even more for overtime on weekends. It also means that the boss can't say "if you quit, I'll see to it that you can't get any unemployment benefits or get any work with computers for the next 2 years", because the law says he's got no say in that. Puts them in a _much_ less despotic position in negotiations. Etc.
But in the end, idiots are still idiots, and still appreciate show-biz more than actual work. That's, sadly, what this industry is all about: show-biz. That's one thing I wish they had taught me in university. Would have avoided the disappointment later.
For starters, show-biz to entertain the boss. I know people who can't code worth shit, and don't even know the most elementary basics of the language. People who do more harm than good to any code they touch, and if they're inclined to dabble in office politics they harm the project far worse than mere bad coding. People who aren't just not producing much, but whose contribution to the project is actually _negative_. (Yes, it would go faster without them.)
But they brown-nose and put up a _great_ show of being involved, dedicated and working 12 hours a day. So the boss loves them. They're the good team members, while those who actually do the work are the "bad guys".
In fact, no offense, but from my experience so far, maybe 10% of the people do overtime because they're actually dedicated workers and enjoy it. (Yes, maybe _you_ fit in that 10%. I used to be in there too, so as I've said, no offense intended.) The rest do it because they have something to compensate for. The more incompetent they are, the more likely they'll put up the overtime and dedication show just to impress the boss.
Or show-biz to entertain the clients.
At least 90% of the software developped today isn't even supposed to solve a problem. It's just supposed to be a buzzword collection (or as I call it: BDA: Buzzword Driven Architecture) to make some client PHB feel good.
Etc.
You can still stick to writing software anyway. I did. It's more fun than the stupid office politics games. But you must learn to accept that that's not what's expected of you. Actually being able to code is as irrelevant to the job as it is to a strip-club stripper's job. Your real job, like hers, is really just putting up a good show.
"In the real world if someone want to break into your house he needs to be physically present, can be easily noticed by you or your neighbors, and will probably leave eveidence that law enforcement can and will follow up on."
Oh, indeed. Very insightful observation, and indeed it's one big factor in why you get so many attacks over the internet. We can easily aggree on that one.
I'm just saying what Joe Average, with zero knowledge of computers, instinctively expects. He's lived all his life in a world which works by completely other rules (yes, because the factors you mention), so he just instinctively applies those rules without thinking.
It sorta reminds me of an Asimov story, the title escapes me though. Basically on an orbital station, where gravity is generated by rotation and everyone lives on the inside surface, they have to catch a spy who's from a _planet_ in a group of other people from orbital stations. So the "guide" just starts talking about the centre of it. Everyone who's from an orbital station instinctively looks _up_ (correct for such a station), the guy from the planet looks _down_ (correct for a planet.)
Computer expectations are like that too. _You_ who've dealt with computer lots, look in the right direction, they look in the direction that would be right for RL. That's all I'm saying.
I've said this before, but here goes again: what's "wrong" with non-nerds is that they're used to the Real-World "security model". The real world doesn't work like computers do.
In the real world, you don't have to have an absolutely-unbreakable titanium-plated vault door to your house, nor bullet proof windows. If anyone wanted to hack your front door down, it's worth a maximum 5 minutes with an axe.
Real world locks also aren't supposed to be unbreakable. Au contraire. By computer security standards, they're a catastrophe. Most allow 1-pin-at-a-time attacks, which in computer security is the worst anti-pattern. Locks with master keys allow easy escalation of privileges too.
It's all documented vulnerabilities (or exploits) and they've been known for ages, and never fixed.
But they work IRL anyway. Yes, any kid could lockpick your front door, or hack it down, or just throw a brick through the window to get in. But people still use locks, doors and windows.
Why? Because the IRL (In Real Life) you don't live in a lawless no-man's-land where any kiddie with a lockpick is l33t and free to pick your lock. IRL your real defense isn't the lock, but the law.
The lock or the door just markers. They just say "you're not supposed to be past this point uninvited, and if we find you inside, we'll throw your sorry ass in state jail."
(If you're a die-hard gun fanatic, feel free to replace by "if I find you in, you'll get a gut full of buckshot." Same idea: there'll be repercursions. The door just marks the point beyond which the thief is not supposed to go, not _the_ deterrent itself.)
And people instinctively expect the same kind of rights and protection to apply to the online world too. "This is my computer, you're not supposed to be on it. Your playzone ends at the ISP, and this side is my private property."
Unrealistic expectation? Maybe. But it exists nevertheless.
Unreasonable expectation? Not at all.
The point was not that "gifts which provide you with hours of fun are bad", but rather that "gifts which require more hours of unwanted _work_ and _effort_ on the receiver's side are bad."
Legos or video games are an example of a good gift. They didn't require any unwanted effort from you.
An example of a bad gift, on the other hand, would be if I gave you an XBox game if you don't even own an XBox. And then pestered you to play it. It requires more effort on your side than it required on mine. You get to spend some 150$ on an XBox, whereas I only paid some 50$ for the game. Plus the time spent going to the shop to buy one, etc.
E.g., since you mention a bike, giving a bike to an adult who doesn't already know how to ride one is a bad gift. It requires a lot more effort from them to learn to use it, than it took on your side to carry it out of the shop. And it's unwanted effort: if they wanted a bike, they would have already bought one.
And the bike makes for a good analogy with the Linux CD. It throws someone up a learning curve that they probably didn't want in the first place. To get any use out of it, they have to spend days learning new stuff. Days which they most likely didn't want to spend that way. Definitely not around christmas.
So basically, as was already said, unless you know for sure they're interested in Linux, I'd avoid that kind of a gift.
... and I'm writing this in Konqueror on Linux.
But that's beside the point. Even if I were Joe Average running Windows, I wouldn't have any use for it. In fact, _especially_ if I was Joe Average.
There's a certain kind of zealot which assumes that:
A. The OS is a purpose in and by itself,
B. That everyone's idea of a fun hobby is reading man(1) pages and wantonly replacing something that already works,
C. Only using Windows because they're too retarded to even know that somehing else exists.
In reality, all those assumptions are false.
And what I'm saying is that for Linux to make progress, more people have to get out of the "Windows users are ignorant retards" mentality and start asking themselves "well, what _do_ they find in it? What does Windows do well?"
Because invariably any software designed on the presumption that "users are idiots and we know better than them" ends up something that those users don't actually want to use. E.g., if you look on Freshmeat you can see a ton of crap GUIs that were obviously made not to be good functional GUIs, but starting from ideas like "bah, those idiots just have a fetish for colourful buttons and icons. Might as well throw a heap of them in."
And because any advocacy that starts from such pre-conceived notions, instead of listening to the user's needs and formulating a sane solution, is actually counter-productive. It ends doing more damage than good.
In this case, it proposes to throw a user into a desktop they don't know, without any explanations or assistance. It's akin to teaching someone to swim by throwing them into water and walking away.
Someone who actually booted that CD won't even know WTH is all that, what can they do, where's their Photoshop icon, where's their AOL icon, etc. Even assuming they found Mozilla and found out how to read emails with it, all their AOL address book and settings are seemingly gone. Even assuming that they found the Gimp and figured out they can edit their digital photos with it too, it's a very different GUI they don't understand. Etc. And there's noone nearby who can help them.
It's the kind of a traumatic experience that says "NO THANKS! I DON'T WANT TO EVEN HEAR ABOUT LINUX EVER AGAIN!"
Heh. The standard, "I'll pretend someone mis-read my text and hope noone notices the change" trolling tactic? Or didn't you even read the Slashdot summary for the thread you post in?
Well, lemme spare you the trouble: The guy who made this monstrosity of a car is whining that there's some automobile manufacturer conspiracy to not produce it. That's what we've been talking about, and that's the context in which I was talking about those costs.
And I'm in no way opposed in him pursuing his dream, but if he wants to see it manufactured that badly, then let _him_ start manufacturing it. That's how those car manufacturers got where they are: they actually took the risk. They believed in their ideas, yes, but they believed enough to actually make a business plan and take a risk.
But nah, he'd rather whine about a how someone else should do that for him. And if they don't do it _right_ _now_, goddamnit, it's got to be a conspiracy.
Seems to me like it's _not_ anyone's obligation to drop all else and start manufacturing this guy's invention for him. You don't need conspiracy theories to see why a business-person would think there's not much market for that kind of car. _That_ is what I'm talking about.
The fact that there's a corporation called "Ford" today, comes from the fact that one guy called Henry Ford took the risks himself and pursued his own dream. If Ford just sat on his ass and whined about how some other car company should immediately start manufacturing Ford's car, like this japanese guy does, he'd still be a nobody. And the automobile industry would probably have stuck with the old way for another decade or two.
If everyone was thinking like me... _what_ would happen? It seems to me like we are where we are today _because_ people thought like me. Progress is made by people who actually _do_ something about their dreams, _not_ by people who sit on their ass and whine about conspiracies when perfectly good business explanations exist.
So now _you_ re-read what you wrote, and what you were disaggreeing with, and _you_ explain how were you saying the same thing.
Last I checked, automobiles didn't just appear overnight either. It took a lot of time and a lot of infrastructure building before they were any use.
But the history of cars does have a valuable lesson for this case either. You think you have the super-duper-invention-of-the-century? Well, then make a damn factory and try to sell it. That's what those people back then did.
Whining about global conspiracies is easy.
The reason you have cars today is that someone actually did more than whine about carriage-maker conspiracies.
The chinese don't even need to license anything, since DC motors are already public domain, and they already have licenses on almost any battery type which is still covered by patents. (E.g., for use in laptops.)
I.e., if this car was that great, the Chinese could start producing it right away anyway.
So this guy's logic is... what? "All the Western world manufacturers just want to let the Chinese take over the market"? Because that's what it boils down to.
I.e., the guy is an idiot. Plain and simple. The tin-foil paranoia makes for some sensationalist trolling, but fails even the most minimal reality check and common sense.
Not that he'd be the first one. "Waah! There's a world-wide conspiracy not to use my invention!" seems to be a common theme these days. Invariably it's a piece of crap that noone wants to manufacture for some perfectly good reasons.
You raise basically two separate points, so I'll address them separately:
1. No battery comes even close to the energy density of gasoline. I.e., batteries are heavier and larger than the same energy stored gasoline. And unsurprisingly this car is a huge 8-wheeler behemoth just to store enough batteries for a 200 mile cruise.
Worse yet, you also have to move those batteries. If a car has an extra, say, 500 kilos worth of batteries, it needs to accelerate and decelerate that extra weight as well. I.e., to have the same range and acceleration an electric car actually needs _more_ energy, because it needs to move more weight. Or to put it otherwise, to have the same range and acceleration, it carries batteries not only to match the energy value of a tank full of gas, but probably twice that.
So the gas station needs to swap all that. Instead of storing, say, 20 kilos of gasoline to refill a car, they need to store some 500 kilos worth of batteries per car served.
Can you see yet why that's not an economical idea?
2. We're talking a car that takes 10 hours to refill, has only 200 miles range between refills, is huge, and would cost 170,000 dollars to produce.
Sorry, no offense, but it seems to me like you don't need a conspiracy theory there. The car manufacturers would actually _love_ to build a better mouse trap than the competitors. But this car is simply _not_ the better mouse trap.
Yes, everyone keeps saying how it could make a nice car to _only_ drive to work and back, so you don't need more range and don't mind the 10 hour refill time. But how many would actually pay, say, $180,000 for a car to drive to work and back? (Assuming that the manufacturer sells it at only 5.9% more than the production costs.)
I don't know about you, but if I actually bought an 180,000$ car, I'd expect a helluva lot more from it than this car can do.
There just isn't a market for this car. That's all. There's no need to reach for the tinfoil hat, when a perfectly logical business reason exists.
I'm not sure what I'm supposed to learn. How to write software that never has any bugs?
I believe that's already explained in Kent Beck's books very clearly. It's based on redefining semantics so that "bug" suddenly means what everyone else calls "known deffect".
Funny thing is, Microsoft too ships with no known defects as a matter of policy. By XP definition (again, Kent Beck's definition) all the buffer overflows and exploits that pop every weeks are therefore not bugs. They're at most change requests and we should probably all pay to get them fixed... err... changed.
Or for that matter, hey, then I've never had a bug either.
How to release every week to the productive servers? See above. If we redefined "we don't know if there's anything that our automated test cases don't cover" to mean "our software is perfect", sure, we too are ready to go productive without extensive QA.
Now if only the client and all their business partners also saw it that way: that if something happens to their data, it nevertheless was 100% perfect software that caused that.
How to have zero penalty for stumbling blindly and changing the architecture every week? That's explained in the book too. It merely requires redefining semantics again.
The rest of the world, when talking about the cost of change, talks about not only the cost of this week's changes, but also about all the code already written and which now gets thrown away. Let's say every other week the client wants the same thing changed again to something else, and let's say it only requires two man-days each time (one XP pair, one day). By the definition the rest of the world uses, if you did that 20 times, that's a total 40 man days wasted. Not just the last 2.
There is no known way to elliminate that effect, because it would require going back in time and causing the first writing wrong code to never have happened in the first place. Hence why most of us would rather stop and think a bit than rush through a major architecture change in one week, and maybe throw it away the next week. Because all those weeks slowly add up.
But if in XP's case we redefine that to not be a part of the cost, look, XP has solved that problem too.
Needless to say, I'm still not impress by any methodology whose success depends on redefining what "success" means.
Point in case, even the famous C3 project, XP's poster child, is such a redefined "success". What Kent Beck doesn't say is that the client considered the project an abject failure and cancelled it. After several years of XP and the client's representative developping stress-related health problems, the C3 still did about 10% of what it was supposed to do. So it got cancelled.
But Kent Beck conveniently redefines that to be an outstanding success.
Either way, if you have solutions that don't involve redefining words, I'm genuinely interested in hearing them. If they fall under what I've described above, I'm not. That I already know from the XP books.
"A) don't write bugs"
Well, gee. It's so obvious. I wonder why noone else figured that out before. (Sarcasm there, if you can't tell.)
"B) automate all your tests"
We do.
"Yeah, if you're used to writing buggy software, that's a good attitude to have. But doing XP, you're doing QA from day one via automated acceptance tests."
Ah, more XP bullshit and double-speak.
No, XP merely redefines the meaning of the word "bug". If it's not in an automated test, it's not a bug. Even if the client's data is pwn3d by any l33t script-kiddie, it still isn't a bug. Unless the client's _manager_
1. Is a security expert and could foresee every single security vulnerability your team might make, and,
2. has the technical skill to write extensive automated acceptance tests that encompass it all...
hey, it's not a bug. It's the client's fault, not ours. Never mind that it's really a buffer overflow in our code, or our piss-poor design of the enforcing of user rights, it's not a bug. It's a change request.
One word for you: bullshit.
That kind of lame changing semantics just disgusts me.
Oh, indeed. I'm all for letting them contribute while they're in a position where they want to.
Greed is a wonderful thing for society, if it's channelled to the benefit of the many. The GPL might just be the right conduit there.
Was just saying that none of them is ultimately a permanent ally, nor a "natural ally". It's just not in the nature of business-men/-women to stay a faithful ally to anyone. Anyone who'd stay a faithful ally even when they're in a position to buy you or run you out of business, isn't a CEO in the first place... or won't stay one for long.
They do make very useful temporary allies, though. I'm not gonna argue with you there.
And again, for anything even resembling a real corporation, having a higher level manager (who can basically speak for or override all departments who want a say in it) available to you all the time is at most a pipe dream. It may work for tiny projects, or small clients, or sometimes even projects which are the high level manager's own pet project and _explicitly_ supposed to help him override the subordinates.
We even had such a project. The manager was basically sick and tired that the subordinates were submitting reports that were not formatted exactly with his favourite (unreadable) fonts and his favourite (unreadable) colours. So he wanted a customized tool that enforces those, so he can tell all the peons to use it or have their reports thrown into the garbage bin. And since it was his own pet project and pretty much _against_ the subordinates, we had direct communication to him.
But for anything else, expecting that a high level enough manager:
1. Even understands what the subordinates need to do their job, when he's not even the one using that tool, and
2. Is willing to waste his time directly at your team's disposal, as is the dream (again: pipe dream) of XP,
dunno, it's IMHO more wishful thinking than going to happen. _Both_ points are unlikely to happen.
In practice,
1. they won't have a bloody clue what the subordinates need, and will go into la-la land wishing just funny fonts and colours. (Witness the endless stream of useless intranet projects that are some boss's pet project, but are so broken that noone wants to use them. The fault invariably is that said boss never uses that site himself, but orders a secretary or peon to get the data for him out of him. So he never gets to witness first hand that his ideas suck.)
2. Someone who has enough rank to keep all those department fiefs in line and keep them from fighting over whose barony is more important, well, his time is measured in millions per day. Maybe even per hour. No way you're getting him to stop managing a company, and start managing your team instead.
So he'll delegate a peon who _doesn't_ have the authority and probably didn't want to babysit your team either. And you end up in the exact situation I've been through. (And if you think I'm exaggerating, C3, the poster child of XP, basically also got a peon assigned to be their proxy.)
But now to individually address your criteria, and why you're unlikely to get all of them satisfied from a big customer:
"they be a professional product manager"
As I've said, it'll more likely be a lower level manager who got assigned a task they can't fully controll, and they likely didn't want in the first place.
"that they fairly represent the needs of all stakeholders"
As discussed before, the only way those stakeholders won't pull in opposite direction, is if the proxy outranks them all and can keep them in line. When the peon is signifficantly lower rank than them (which will almost always be the case) they'll more likely make it a point of prestige to make it clear they won't let a peon dictate what they'll use.
"that you have weekly demos of progress that all stakeholders are invited to attend"
In a situation like the above it's a recipe for disaster. Each boss in that room will make a point to want something else, just to show that (A) they're active and paying attention, (B) show who's in charge.
A couple of friends are in a project, two floors above my office, which is already two years late and going to the dogs just because of that: they ended up having to deal with the egos of every single PHB in a big corporation. There isn't a single week when those don't want the exact opposite of what they wanted last week, and preferrably something which needs a fundamental architectural change.
And while in theory it may seem like "cool, as long as they pay for those change requests, it's all fun", it's actually still seen everywhere as a failed proj
In the corporate world there is no such thing as "natural allies". Especially not with competing products. But generally, when a business man/woman shakes your hand, you can bet his/her other hand is behind his/her back, holding a dagger.
People, this is not Tolkien, where the elves are your natural allies for eternity, and the orcs are your natural enemies. In Tolkien's world you know where you stand. It's a simplified world. That's why we like to escape to phantasy worlds: they're a refuge from the madness of the real world.
Real world is nowhere near that simple.
In the corporate world, there are no heroes in shiny spandex, and no villain cackling over death ray blueprints. There's only a bunch of greedy people trying to make a buck. Your buck.
Throughout the history of computing, as little of it as we have, one thing stayed a constant: whoever is in the lead wants proprietary stuff and tries to lock you into their incompatible formats. Whoever is losing badly wants open standards and generally a fair chance to have a go at the big guys' locked-in customers.
Then the wheel turns, companies go from top to bottom and viceversa, and they switch the tune without missing a beat. And things stay the same. The ones who are now winning, try to lock you in, the ones at the bottom suddenly become open-standards evangelists.
That's why IBM and the rest are supporting Linux nowadays, for example. That's why Sun would even give away OpenOffice, even with sources, to try to break MS's file format lock-in.
There are a lot of has-beens in this industry. People who once owned the market, but were too stupid to keep it.
E.g., PCs once had to be "IBM Compatible", then it was "Intel Compatible", while nowadays it's "MS Windows Compatible". Intel doesn't single-handedly decide new architectures any more, but has to beg MS for support in Windows. (And just got refused recently!) IBM had its ass handed to it a longer time ago, when the PS/2 microchannel architecture was basically rejected by everyone else. The company that created the PC was no longer in control of its architecture. Novell once owned the network server market, but thought it could ignore NT and stick to charging outrageous prices. Prices for which you could buy not only 2 NT server licenses, but also 2 high end PCs to run them on. Etc.
And when they still were at the top, neither of them has acted any better than MS does. E.g., although nowadays "FUD" is synonimous with Microsoft, once it was synonimous with IBM: In fact, it was _invented_ by IBM.
Now all those has-beens are suddenly pro-Linux and pro-open-standards, to get their righteous vengeance against MS. But if either got back on top, they'd start doing the same shit all over again.
And Sun is the prime example. Sun is somewhere in the middle, and can't decide if it's losing, or still has a chance of being king. As soon as it thinks it's losing, it starts being a Linux zealot. As soon as it thinks "hey, maybe everyone will convert to Solaris if we port it to the Opteron", it starts openly trying to kill Linux.
And as management perceptions and sales figures fluctuate, pushing them a little up or a little down from that middle position, Sun flip-flops between the two extremes several times a month. Or sometimes even within the same day.
Sad.
I think you'll find most of us don't have anything against Solaris as such, but a lot of us have had enough of Sun's bullshit and FUD.
At least SCO, since you mentioned it, is consistent. It keeps saying the same thing. "All your base are belong to us." Err... I mean, "We own Unix, Linux is evil pink commie stuff, everyone copied our code." I can deal with that.
Sun's upper management is plain old multiple-personality schizophrenic, taken as a whole. You never know with which personality you'll deal today. Or even at different hours in the same day. Will it be McNealy 1 who loves Linux and OSS more than he loves his mother? Or maybe McNealy 2 who doesn't even have any strategy, and just foams at the mouth worse than any zealot? Or McNealy 3 who's as convinced that Linux sucks as Darl from SCO is, and spreads FUD about Linux? Or who?
I wish Sun just made up its mind already. These fits and hourly changes of mind are getting tiresome.
Going ahead without a plan is a sure-fire way to get shafted. Especiall when the client doesn't have only _one_ person representing them and making the decisions, as is the pipe-dream of extreme programming. You soon end up with 1 of them wanting something, 1 threatening to cancel the contract if he doesn't get something completely different, 3 playing politics and prestige games and trying to make a "my department is more important than yours" point to each other, and 2-3 wanting to turn the whole program into something completely unrelated because their department didn't really need an e-commerce system but could use a customized project planning tool.
And I even have an experience that went like this: the client actually nominated one person to represent him and make the decisions for him. The ideal situation, right? So we go ahead, and even accept a ton of change requests from him, and conversely he aggrees that extra time is needed to implement those. Also that some features that needed the most time weren't that necessary and can be left out for now. Had some iterations with him too. All went smoothly.
So then here comes the big day and deadline and have to get the program accepted and paid. And the client PHB gets in the act and overrides the representative. "What? You threw away _that_ feature I explicitly requested myself in the beginning?! On whose authority?! And why the heck is this program two months late?! I needed it in March!!" (The two months had been accepted by his representative as time to implement the change requests.)
Turns out the peon nominated to represent him didn't have as much authority as he and we thought. And not having anything written down and signed for all that stuff in between, well, basically his view was that we went into phantasy land and implemented something else than what he asked for. Two months late too.
"No development method can save you if complete idiots are in charge."
Quite insightful, but therein lies the rub: development without any specs and just doing what the clients fancy this week, basically puts _them_ in charge. They're your new managers, they decide what you do. And they're not even trained or experienced to manage a programming project. How do you prevent half of them from being complete idiots?
Basically I'm not against iterations as in showing the the client some progress. But I do like having _some_ specs, if nothing else to prevent wasting even more work.
True, the client doesn't know exactly what they want from the beginning, and just writing all down will make the bad spec that you mention. But here's the fun part: you can help the client give you a good spec. Mock-ups and small demos take a lot less work than actually coding those features, and lets them see roughly how things work and kill dumb ideas just the same.
Well, gee, so they're gonna see the top of my head in 5cm squares, no less. So viewed from above, even someone the size of Hulk Hogan or the archetypal 300 pound geek, will show up as maybe 10-12 pixels wide, by maybe 5-6 pixels tall.
Well, gee, I can think of Atari 2600 (the ancient console with blocky graphics) sprites that were more detailed than that. Or you know that blurry mosaic they use on TV to hide someone's face? Yep, that's the kind of resolution you'll have. And it's not even gonna be of the face, but of the top of your head.
Now do your own thinking, please, instead of letting the tin-foil hat do the thinking for you. That pixelated sprite, even assuming that it's a perfectly clear day and perfectly focused, is gonna look exactly the same as about a quarter the town's population.
If they wanted to track, say, me... by _what_ details are they gonna identify me, at that resolution? I can tell you that half the building wears black, and half of those have a close enough hair colour.
Let me tell you a secret: spy sattellites are good at tracking bigger stuff. Tank columns, troop concentrations, military bases, airfields, etc. Using them to actually track an individual persons, is like using a trebuchet to lob rocks at flies. Maybe a little entertaining, but ultimately pointless.
It all is also based on the fundamentally flawed assumption that a communist government would even try to be all sneaky and make it impossible to prove that they're spying on you. That basically they're like Western democratic governments and they have to keep an illusion of freedom and lawfullness. Which is false.
Au contraire. A communist government _wants_ you to be affraid. If they're gonna supervise you, they'll put two cops in uniform in front of your door. Just so everyone _knows_ the big brother is watching.
And if they're actually interested in you, they won't just send the cops to sit and watch. They'll send those cops to bring you to the station and beat the shit out of you until you confess everything they want to hear. And they'll keep hitting until you confess being part of a conspiracy that you didn't even know existed, until they started asking about it. And then if they actually want to seem like it's not political persecution, they'll also beat you up until you confess some murders and robberies too, so they can ship you to prison on those charges.
And if you still don't want to confess, they'll kindly offer to bring a few of your relatives and beat them up in front of you. (A case that truly appalled me from a third-world eastern-european country involved just that: when a guy refused to confess, they offered to bring in and beat up his 80 year old grandma. On account that she was in the general area where the crime was commited too, so she might be an accomplice.)
See, they didn't even need a sattellite for that.