Getting out of tech is a good idea whether you're good at your job or not. I don't mean you should stop being a programmer -- I didn't (I'm still a senior programmer/analyst). But I think you should get out of capital-"T" Tech (read: private technology companies).
Slashdotters, think it over: find a job in state or federal government, where if you're any good at all you'll be appreciated (promoted, taken care of) and you can actually enjoy the kind of life our parents and grandparents knew. Why work for these rotten tech firms? They just abuse and take advantage of you. Go civil service, where you'll be appreciated.
If you don't think your skills are strong enough, pick up a skilled trade like plumbing or electrical -- you can do civil service there, too, and pick up some contracting work on the side.
Or, go back to academia and try for tenure. That works too, and in some states, those jobs are protected by unions and have civil-service like benefits.
You don't have to work for private industry. You don't have to be a slave to a bunch of greedy capitalists. There are other ways to live.
"Please consider what I've said and how easy that was to get that kind of response from you. point proven, take a deep breath, look in the mirror and say 'I am god' you feel so much better now."
Why, does this work for you?
Troll, you're not playing the game. How disappointing; surely you can do better than this? You say something unkind and unreasonable in hopes of inspiring me to invective (I cooperated) then traditionally a troll should respond in kind, and really blow the flame war open. I'm hurt; it seems as though you're not even trying!
Sigh. No one wants to do the work anymore. Ok, look. I'll give you another example, show you how it's supposed to work, and maybe help you develop as an irritating little troll. One day, maybe you can join the ranks of the big trolls and get off the porch. Here goes:
(you) "crazyphilman, you are pompous and have your head up your ass."
(me) "Fuck you and the horse you rode in on, you cocksucking dick-cheese motherfucker."
(you) "Fuck you too, you bag of hot air. You and your textbooks make me want to shit repeatedly. You smell like burned walnuts, you freak."
(me) "Cocksucking, motherfucking two-ball bitch, you stink like shit and make my balls itch. Run off to your limey VD clinic you sick freak."
ETC.
Now, honestly, if you're going to go around insulting people, you should at least be creative about it and if you start the game, PLAY IT. Don't be such a pansy.
Really. What a disappointment. Go back under your bridge until you can think of a better insult.
"I meant portentous which means 'self-consciously solemn or important : POMPOUS' or Is it hard to breath when your that far up your own arse?"
You tell me; you seem to have the "head up ass" thing down pat. Jesus, where do assholes like you COME from? Fuck you and the horse you rode in on, you fucking dick-cheese no brain motherfucker.
I understand what you're saying. And, my initial (and later) posts weren't directed at XP, but rather the concept of throwing multiple programmers at a single problem.
To be honest, I have no strong feelings one way or the other about eXtreme Programming. My criticism was strictly with the idea that programmers work in small teams *on the same piece of code, simultaneously*. On this one point, I think I'm pretty stubborn. It feels inefficient to me to have the two (or more) programmers not working in parallel, for one thing, and I'm frankly horrified by the idea of having someone else, sitting next to me, sticking his nose in my code! It makes my flesh crawl. But maybe that's just me.;)
So, for the record -- I'm not rejecting XP, but rather the idea of bundling up two or more programmers on a single task.
And, yes, I am a weird freak. Everyone says so! I've always thought it was one of my best features.;)
You're confusing me. You said "see potentious... That's just the thing most people will buy, and it means that your other skills won't be so tuned."
What on Earth did you mean by that? Did you mean to say "so pretentious"? Or "See, potentious" where potentious is someone's nickname? Or did you want me to look up the word "potentious" (It's not in the Oxford American Dictionary)? Did you mean "portentious" (which means 'of an omen or significant sign of things to come')? This doesn't make any sense. Was potentious a writer? Sigh...
Well, I bet you meant I was pretentious. I'm not pretentious. I'd be pretentious if anyone where I live knew I was doing any of this. But, other than telling you, I haven't really told anyone. I don't care what anyone thinks, I'm interested in that stuff for me. It's fun.
Maybe you could explain what you meant.
Anyway, I don't think it'll negatively affect my "other skills". It's unnecessary to spend 100% of your time on a single subject, and detrimental besides. Don't psychologists say that you have to get away from a subject a little and let your mind absorb it to learn most optimally? As I said, balance is important.
"As for my tone...this is some of the nicer stuff I post on Slashdot. Karma to burn." -- smileyy
In that case... No hard feelings then.;)
"all else being equal, is it better to have a company full of developers who can cooperate, or a company full of developers who can't? You've got to be a goddamn moron to pick the former." -- smileyy
Um... You just said I'd have to be a moron to choose the company of developers who can cooperate. Heh heh heh!
But, now you're misrepresenting my point. I didn't say anything about developers not being able to cooperate. Rather, I proposed a model of cooperation which reduced potential for conflict. It's STILL cooperation. It's just cooperation of a more efficient sort. Besides, I'm not saying programmers can't ever collaborate on a single piece of code. Design doesn't mean you're not allowed to ask someone for pointers! However, at the same time, it's more comfortable if on the whole a programmer is responsible for his own chunk of a project, without outside interference.
"Do you need design? Yes. Do you formal design? No. Do you need to design everything ahead of time? Absolutely not. XP came about in part because enough people found that BigDesignUpFront just doesn't work well enough." -- smileyy
"formal design" is such a subjective thing it's hard to respond to. I don't think I proposed old-fashioned "formal design" i.e. flowcharts and function diagrams and such. I usually use pseudocode and simple diagrams, personally. And, I'd buy the idea that you don't have to design every single thing in advance; shit happens, right? But I do believe that there should be some sort of real design in place before you start coding.
Anyway, it's all a matter of opinion, isn't it? You work where you're comfortable. My office is older fashioned, and we do things in a decidedly non-xp way, with formal design, project requirements and deadlines, proposals, and etc. I'm fairly certain that I wouldn't enjoy working in your office, and that you wouldn't stay in mine. Different cultures entirely, if you know what I mean.
"I guess I'm glad I don't work with people like this. To me, those people suck at life, or at least, suck at what I think is an essential part of their job." -- Smileyy
Again, you're being rude. You arrogantly judge others, and look down on them without even knowing them. Your arrogance is startling; you must be very young.
I won't get too deeply into this conversation other than to point out that your approach to programming (typified by the comment "design of that sort that is specified ahead of time will change sufficiently enough that it's not worth putting together in the first place") reveals a very thin knowledge of the subject matter. You should read a few books and reevaluate your approach.
"You are obviously a very fluid writer, and not too bad at bragining either. I should imagine that you other skills have suffered because of this, though most mangers wouldn't notice and would probably take you out to lunch."
That's very nice of you to say, but I don't think that being a good writer and being able to bargain skillfully automatically means that my other skills suffer. Balance is important to me. I may spend most of my time programming, but on the side I keep up with mathematics, a little physics, literature... It keeps my mind sharp and prevents burnout.
As for managers taking me to lunch, well, I'm afraid that I'm not a particularly social person. I tend to keep to myself. Besides, I'm somewhat nervous about associating with managers. When managers decide they like you, they generally tend to try and make you into a manager as well. This reminds me a little too much of count dracula. He tried to promote people HE liked, too... So, I generally try to be invisible and avoid managerial notice.
I should have known better. Someone is already judging me based on paragraph II, so I'd like to state more specifically what was meant. Jesus, I should have known better.
Ok. It's my opinion that a solid design can best be reached by either one person working alone or a team lead who handles the overall design and breaks it up into subtasks for his team to handle.
It really comes down to what sort of political system you follow. If everyone is equal and there's no one directing the action, the result is anarchy. If there's centralized leadership, and everyone is doing their job and staying out of everyone else's hair, the result is harmony.
This lines up very neatly with system design.
A programming team where everyone's working on the same code is going to end up arguing about just about everything. Debugging is going to be a joke; nothing will be accomplished. Similarly, programming in pairs with one person coding and the other mouthing off is going to drive everyone crazy.
The basic idea I proposed was what has worked for me in the past: a central team lead breaks up the project into component parts, and programmers select the parts they want to complete. The group agrees on the plumbing and then scatters to do their work, everyone working in parallel. As each chunk gets completed, it is provided to the lead for integration. Chunks are unit tested with driver programs and function stubs.
the IDEA is, programmers end up working independently, following an agreed upon interface, and everyone can be happy and get along. Other benefits include:
1. Each module has a consistent coding style throughout.
2. Each programmer is responsible for his/her own module, so over time, they can respond to bug reports and so on.
3. Programmers can choose the algorithm they think is best, without having to sit around jawboning with their "partner" about whether this or that widget is the best to use. No one gets stressed out, and everyone is happy.
Anyway, we're getting away from the point. The point was, "too many cooks spoil the broth". So, the head cook has one cook doing broth, one cook doing the roast, another doing salad and so on. And, everyone can relax and just cook, instead of having to argue about whether they should add once pinch of salt or two.
So, you would like to know how a team should figure out what the interface between functional modules of their system should be?
Here's what worked for my team (Yes, I was the team lead, and, no, you're wrong, no one was fired, in fact the company took us to Atlantic City and then, dinner, to thank us for the work we did).
First, the team lead comes up with an overall design. He discusses the overall design with the team in a brainstorming session, and improvements are incorporated in the design. There may be arguments, but they're limited to this initial speccing out session.
The project is broken up into modules, and each module is broken up into function calls. The parameters and the return values for each function call are then agreed upon. You might say, "function foo will take three strings, fooey, hooey, and spam, and will return a properly formatted URL as a string." The programmers each take the modules they are most interested in. People agree on the overall plumbing, then go their separate ways with their modules, to code them without interference.
As each module is completed, it is integrated with the greater whole by the team lead. Debugging is done with driver programs and function stubs, and everything is separately unit tested. Programmers are responsible for their chunk of the system, and its interface. They don't have to put up with a lot of baloney like having to justify what they're doing to a partner who's looking over their shoulder. The overall design is handled by the team lead, who keeps an eye on how the individual modules are going together.
Modules can be built by internal staff, or by outside agencies. They can even be purchased and just integrated in. The point is that everything is modular, and everyone is responsible for his/her chunk, without interference.
Overall, this results in the least amount of argument, and the fastest overall forward progress because everyone is working in parallel, simultaneously. Projects can be completed very quickly at minimum expense if everyone pulls their weight.
I think that my point was that whenever programmers have to collaborate on a single stretch of code, they will inevitably disagree on implementation details and algorithms, and that this will lead to unproductive debate that will bog down a project. You missed the point entirely. For any given piece of code, there should be one programmer who writes it as well as he can without interference.
My joke about the Tao of programming was just a joke. But the basic idea is valid. Too many cooks spoil the broth. So you have one cook doing broth, another doing steak, another doing salad... And, the restaurant owner or head chef determines the menu.
Respond if you must. But I have said all I wish to say. You're too judgemental for my tastes.
Context? Articles written by convention attendees?;)
Ok, ok, seriously. I don't know; the point of the original joke was that one programmer working alone can control his design and work quickly, and that too many cooks spoil the broth, right?
Well... If I have to work closely with someone in a partnership, then I'll have to compromise with him on every issue in which we differ. Reaching those compromises will take time and result in a mediocre product. Arguing over design philosophy will take additional time. Shouting matches over which widget we're going to use this week will take up more time and annoy others. It would be much easier and cleaner if we were each given our own independent modules to write, with a contract laying out the interface we have to follow, wouldn't it? Instead of teams -- distributed, independent development.
Sort of like the programmer telling the manager, six months if he works solo, a year if he has a partner, and so on.
But, you're right; I dropped it in out of context. Still -- you have to admit, it's a killer description of a fundamental truth.
I bought all my laptops on Ebay. I got four Itronix XC-6000s for 25.00 each, and three XC-6250s for 50.00, 107.00, and 150.00 respectively, if I remember. I also bought three Panasonic CF-25's for about the same price range, although I paid almost 300 for one of them before I realized I could get the same thing for cheaper. Hindsight is 20/20!;)
Basically, do an Ebay search for "Itronix" or for "Panasonic Toughbook" and you'll see TONS of Mil-spec laptops for sale. Most don't go much higher than 150.00.
Here's some model info:
Itronix XC-6000: This is a 486 DX2-50 with 8MB of RAM, and a 260MB hard drive. On this you can run a pretty useful Slackware text-mode install, although if you put in all the Emacs stuff you might be a little low on hard disk space. Give yourself a BIG swap partition!
Itronix XC-6250: This is a Pentium, usually either 133Mhz or 200Mhz, usually with a monochrome 640x480 screen but you sometimes luck out and find one with the larger 800x600 screen. The monochrome is pretty good, and the backlight looks cool. If you can find one with the color touchscreen, those are really nice! It's very bright and clear. Most of the color ones I've seen were 640x480.
Panasonic CF-25: These come in Pentium 100, Pentium 150, and Pentium 167 models. These are really nice. If the Itronix is a Ford F-350 with duallies and a four wheel drive, then the Panasonic is a nice Range Rover with A/C and leather seats, sorta. Both will take you off road with no sweat, but the F-350 "wins" a collision between the two.;)
Having said that, the Panasonic CF-25 is very nice. Make sure you get the swappable internal CD-Rom AND the internal floppy, AND the power supply. If you get all three, the auction is worth doing. Also, look at the picture and note the screen size. Some models come with a smaller screen, some with a full size screen. If this matters to you, go for the larger one; I thought the smaller one was kinda cute.
NOTE: The Panasonic 100Mhz model will NOT BOOT FROM THE CD-ROM, and DOES NOT HAVE AN INTERNAL BIOS UPDATE PROGRAM!!! Which was a nasty surprise for me. You can download the software from Panasonic, but you'll have to install Windows 95 or 98 on the laptop to update your BIOS!!! All of the 167Mhz models have an internal BIOS update feature, and let you boot from the CD-Rom (meaning installing Linux is a piece of cake). Just an FYI.
Notes on resetting laptops: the Itronix reset when you hold down both mouse buttons for about fifteen seconds. Release them when the laptop shuts down and it boots up again, completely reset. Then you can usually go into the BIOS utility. The older ones also have a reset button that's very, very tiny near the PCMCIA release button. The Panasonics have a tiny, tiny recessed reset button near the place where the power cord plugs in. You can push it with a paperclip.
Hope this helps... Check 'em out. You can get these things for peanuts, man, it's totally cool. Think about it: for under fifteen hundred bucks (counting virtually EVERYTHING I bought to go with my laptops) I have like, TEN laptops instead of only one. Can't complain about that -- I figure, if I'm on the road and someone rips me off, it's like, "Oh, well; I'll draw another one from the armory".
I've got three Itronix XC-6250s and three Panasonic CF-25's... One of my CF-25s is only a Pentium 100, which is going to get Slackware... But the other two were Pentium 167Mhz's with maxed out ram (I haven't messed with them in a while, but I think I've put 96MB in 'em). The two 167's are actually running Red Hat 7.3, KDE 3.0, and the liquid mod!!! They work great, they're slightly sluggish, but I haven't had any trouble.
The Panasonics are a little nicer than the Itronix (they have an internal swappable CD-Rom/Floppy, more PCMCIA ports, etc) but they don't have as durable an environmental seal. I use them more as my "home" machines, with the Itronix ones being my "road" boxen. The Panasonics ROCK, don't they? Gotta love 'em. SO cool.
Hey, all, just to put this in context, I've been collecting some very old Itronix Mil-Spec laptops recently (one survived being thrown full-strength by me, a 285 pound ex-marine, from seven feet onto worn-out carpet over plywood, and booted up no problem) because I have a fetish for such things. Let's just say I have a thing for durability. The only problem is, the laptops have a "full environmental seal" which means no cd-rom, no internal floppy, no usb ports, etc. They only have a parallel and serial port, a phone jack, and a PCMCIA port protected with a cast aluminum door and a gasket. My weaker ones have eight MB of ram each and are only 486DX2-50's, with a 260MB HDD. My three stronger ones are Pentium 133's with 32MB of ram each, and about a 1.3 GB disk, with monochrome LCDs. Only one has color, but that one's just a 640x480 LCD. I wanted to run Linux, and not some quirky, doofy ancient Linux either. Here's how I got it to work.
Step 1. I have an external floppy that connects to the PCMCIA slot, and a parallel port zipdrive. So, I downloaded Zipslack (available on the Slackware website) and the companion, fourmeg.zip, which creates a swap file. Zipslack is interesting because it creates a UMSDOS slackware installation on a zipdisk (just unzip it to the zipdisk). This can then be booted from the zipslack boot floppy (boot from the boot floppy, then direct root at/dev/sda4, i.e. the zipdisk). Zipslack booted with only minor difficulties -- I had to tweak a couple of BIOS settings, that's all.
2. Once in Zipslack, I had to set up the Itronix's hard disks for Linux. So, first, I fdisked, and set up most of each disk as a type 83 Linux partition, and the rest as a type 82 Linux swap. I probably gave too much swap; I took a guess for the "big" ones and made it like 88 cylinders; I think it turned out to be better than 128MB (I made it a LOT smaller on my little ones). Next, I formatted the disk: I ran the command:
"mke2fs -L armadillo -c -c -j/dev/hda1"
This surprised me a little, pleasantly: I knew the two "-c" params would cause it to overwrite the disk with nulls, but it did it FOUR TIMES, which is pretty damn thorough. Once that finished up (it took at least an hour on my old machines) I mounted the disk as type "ext3" on/mnt/hd.
3. Now, I copied my entire root directory onto the mount point, leaving out the loadlin stuff and files that were obviously DOS related (like the DOS mount directory). I copied each directory using (for example) "cp -a/bin/mnt/hd/bin". Of course, I didn't copy/mnt or/proc. For those, I just mkdir'ed them in the new directory. Once I was satisfied that the entire zipslack system was copied over to the new partition, I edited/mnt/hd/etc/fstab and set up the "/" partition as/dev/hda1 (and set up swap as well, although I wasn't sure I had to do that). Then, I rebooted using the boot disk.
4. This time, I pointed the root directory at/dev/hda1. I booted into my hard drive's Linux, and ran liloconfig to set up automatic booting with LILO. I ran it in expert mode, and set up only one entry, i.e. that for Linux. Then I set it up to automatically boot into that entry with no delay.
The result is that my little Linux machines all work perfectly!
On my "big" ones, I put a bunch more stuff in. I put in the development disk set, plus x, xap, most of n, and this coming week I'm adding kde and gnome. On my "little" ones, I've only got 260MB of space, so I'm going to stick with text-mode. I'm toying with the idea of using emacs as an environment for those, IF the e set will fit on 'em of course.
The most expensive of these laptops was 150.00. The cheapest was 25.00. Zipslack was free. Now, is that a great deal or what? Especially considering they're like indestructible little armadillo monsters, right?
Oh, by the way: I'm using Zipslack 8.1 and I'll probably upgrade to 9.0 when it comes out. Gotta love Slackware! Bob RULES!
BTW: my grammar isn't so hot today. It's the Marine Corps Birthday (10 Nov) and the "Marine Corps Drink" is the Rum and Coke, so cut me some slack there (ha! get it? SLACK! I slay me)...;P
"The point is, MS made it possible for computers to become cheap and commonplace." Which is actually untrue. APPLE produced the Apple II, which made it possible for computers to become cheap and commonplace. Woz decided to use readily available electronics in building his motherboards, which made it easier to mass-produce without having to worry about part shortages, and they built a computer that could be sold in prebuilt instead of kit form -- enabling computing to enter the home. Prior to Woz's work, most people owning personal computers had built them from mail-ordered kits (and, incidentally, were mostly electrical engineers).
The success of the Apple II line inspired other companies like Tandy, Commodore, and Atari to weigh in with their own computers, which in turn ultimately resulted in IBM producing the original IBM PC to break into the market. If Microsoft hadn't purchased their first O/S from a hobbyist, then licensed it to IBM, IBM would have either developed their own in-house O/S or (probably) used CP/M or a Unix variant. And, we'd all be better off.
My point is that without Microsoft, we would still have home computers, and they would still be pretty advanced. In fact, they would still probably run Linux, because Linus Torvalds was inspired by Minix, NOT windows and Unix had been in existence all along, since at least 1973. One can make the case that sans Microsoft, we might actually have BETTER computers than we have now, because they wouldn't have been screwing up the market all these years. But, I'm done ranting.
Other than that I think your post was pretty good.
>> Back in physics school, I learned that time is >> just one dimension. The other three are called >> "space".
Have you ever seen a movie about hippies, where they drop acid and afterwards they're comparing notes and say things like "Man, and then there were like, all these DIMENSIONS, you know? And, like, the past, present, and future, were all dimensions, and you could like, FLY ALONG THEM, yeah, man... Intense!"
> "The man is obviously an ass. Given the "irrelevant > OS" and "3D documents" crap, it sounds like he > harvested a bunch of random mid 90s research papers.
I agree completely. This is just more "the network is the computer" snake oil, repackaged in a "you're not cool unless you agree with me, if you're cool you'll 'get' what I'm saying" kind of rap. If I remember correctly, Sun tried this line of BS for years, and everyone -- I mean everyone -- basically laughed them back to their senses.
Here are my problems with this Gelertner guy's ideas:
1. First, he pins a large part of his argument on the idea that hierarchial data storage (i.e. directories and files) is somehow antiquated, silly, and inefficient. However, a couple of hundreds of years of information processing using increasingly refined methods (first using paper, pen and ink and then, in this century, increasingly automated means) has demonstrated the power and effectiveness of the paradigm. One could point out that the WIMP interface and the filesystem/directory/file paradigm represent the highest expression of human organization of information. One might also point out that SIX THOUSAND YEARS AGO the Sumerians were using a similar system to record transactions using cuneiform and clay tablets. Virtually every single human information processing system since then has incorporated the basic idea of a document (scroll, folio, parchment, clay slab) stored in a bin (basket, crate, locker, book, file cabinet). And, all of these methods were in some way hierarchial.
One can even make a case that the "file cabinet" paradigm duplicates internal, instinctual human methods for organizing ideas. Consider: we think of things in sets and subsets, don't we? A baseball is a type of ball, which is a type of sphere, which is a three dimensional shape, and so on... But you see what I mean.
2. Let's consider his basic idea: organizing documents and files on a timeline rather than a hierarchial system. So, you'll go into his 3-D viewer, and zip backwards and forwards in "time" to see documents and files you've got stored. Now, you have to remember WHEN you've created a document rather than what it's about. How is this supposed to help you locate information? There's no way around it; he is going to HAVE to provide some sort of hierarchial organization or his system will be completely useless.
Again, humans think about information in terms of sets and subsets, and we understand new information in terms of information we already have -- placing it in directories in our heads, in a way. Building a system that works differently will make it unpleasant for humans to use, and eventually, human-type modifications will be made leading back to the current paradigm.
He could incorporate a database which would let us look for related information, but this still wouldn't be as good as a hierarchial structure, because it wouldn't let us get a "top-down" view of our data, drilling down by layer. We'd be limited to the searches we're capable of formulating. See what I mean? If he tried to beat this by creating broad category based searches, he would eventually end up with something very similar to the dreaded directory and file approach, albeit in a virtual, database-ish form. In my view it's inescapable. It keeps coming back to the way in which we think.
3. FINALLY, getting back to the "the network is the computer" problem, people just don't want to have their data on some remote server where they can potentially get locked out of it. NO ONE is going to buy into this sort of thing. People want strong, general-purpose computers which STILL WORK if the cable goes out or they forgot to pay their bill that month. They're just not going to enjoy the dependence on remote data stores Mr. Gelertner thinks they will.
Anyway, this is just my opinion. But I think his ideas are a bunch of hooey.
(I had said)"Everything Microsoft does is designed to destroy some form of competition."
(You then took it upon yourself to say)"You sir are an idiot. Why don't you start up a company and design everything you do to HELP your competition. Lets see how long your business lasts. The point of running a business for everybody, including Microsoft, is to destroy your competition. If you don't, you loose. (sic)"
Since you've decided to start off your comment with an insult, you are a troll. I don't always feed the trolls, but I'd like to address your point. Here, then is my (polite) reply:
The "point of running a business" is to provide a useful service to the community in return for a reasonable profit. It has nothing to do with "destroying your competition" or any other such thing. Your frame of mind is an artifact of twentieth century hypercapitalism, aka corporatism. It's a symptom of a sickness or weakness that is currently afflicting our culture, a sort of moral turpitude that has affected the upper classes. You might find it illuminating to do a Google search on the fall of Rome, the social conditions in Rome in its last years, and on the strings "Nero" and "fiddle" -- although, considering how quickly you resort to ad hominem, well, maybe you won't notice the similarities. Sigh.
I find it amusing that you define business in binary terms: "Destroy the competition" and "help the competition and go out of business". I might suggest that there is a wide continuum in between these two positions, which one could consider "fair play". In other words, companies COULD simply play fair and compete on value instead of automatically resorting to dirty tricks.
It's interesting that small businesses tend to play fair because they have to face their customers daily, while corporations choose not to play fair because they do not. But I won't belabor the point.
"I don't agree with that, and I think you are not giving the power of capitalism enough credit. People always have a choice. "
Not if the legislation currently being considered by Congress gets passed. What are you going to do if it becomes law that every digital device incorporate strong copyright protection? You have to take Palladium in context, not as a single and discrete thing. Look past Palladium's current state to the potential future state it may achieve if it gets critical mass. This is potentially a Bad Thing.
(I had said) "Consider: the main point of Palladium is that the combination of a Palladium hardware device and a Palladium O/S will refuse to run "unsafe code"
(to which you replied) NO! As I said before, Palladium does not limit any software from running. What it does do is keep "unsafe" code from seeing or modifying protected data. From a programmers perspective, Palladium amounts to a new API to setup a secure context and protect data. Any program can use the API without any certification, and Palladium NEVER imposes itself on a process that does not request its services.
And, to which I reply, I understand this. RIGHT NOW, this is what Palladium is supposed to do. But, what happens when it achieves critical mass, and they start altering it to make it more restrictive? You can define "protected data" in a variety of ways. MY POINT is that this architecture gives Microsoft, Intel and the content industry a weapon with which they may eventually exert much more control over our machines. Palladium, then, is dangerous. Even if in its first implementation it seems friendly, it need not be friendly forever (what they SAY and what they are actually considering can be very different things). Take it in context. Consider the Fritz chip, the DMCA, and the legislation which is attempting to grant the MPAA and RIAA the right to hack into your machine if they suspect you of pirating music. Do you really, honestly, trust these people to stick to their original promise of a Palladium which will run untrusted code? AT ANY TIME after Palladium's adoption, it may suddenly stop running untrusted code. Look at how Microsoft snuck certian provisions into the EULAs for service pack 3 (win2K) and the new media player that allow them to remotely turn off, alter or disable features of YOUR operating system. Look how service pack 3 and Media Player obviously incorporate code that would allow such a thing. How can you think Palladium will not?
All I'm saying is, I don't trust this development one iota. And, you know, I do believe that the eventual point of Palladium is to shut out everything that "they" don't want us to run. This means your CD-ROM burner, your MP3 player, Linux of course, and etc. I think this is a fair assumption, because after all, historically, this is how the corporations in question have behaved.
Before you start thinking I'm some kind of rabid anti-Microsoft type, I program for Win2K all day long. But liking some of their products doesn't make me trust them any more. Look past what you think is currently true to what may easily be true in the future if this step is tread upon. Everything leads to something else.
One final point: Yes, all companies exist to make money. And, the love of money is the root of all evil. Remember? Greed and stockholder advantage do NOT lead directly to a morally correct position. OR, a happier place for "consumers" (that's CUSTOMERS in plain english) to exist. Think about it. Or, just ask the thousands of people hurt by Enron and other similar scandalous firms whether money = ethics.
In reply to: "...Actually, that has nothing to do with Palladium and Palladium can't even do that. Palladium will NOT block any software from running - one of the core design requirements for it was that all existing software* will run on Palladium hardware (including alternate OSs) without modification."...
I think that's kind of an interesting point, but it misses the mark slightly. I don't think Palladium is going to attack Microsoft competitors by entirely preventing their software from running (Linux, for example, may run just fine in some sort of "non-protected" crippled-hardware mode). I think the point of a Palladium based architecture is to eventually require you to use a Palladium-friendly O/S (windows) whenever you use any public network. If Wintel can get websites to all agree to use some variety of.NET which incorporates Palladium-friendly features, pretty soon you won't be able to use the web with Linux -- in theory. Everything commercial will be defined as "content" and will be protected by Palladium. Then, of course, everyone will be using Palladium O/S and Hardware, and THEN, things get difficult.
Everything Microsoft does is designed to destroy some form of competition. IE attacked Netscape;.NET is an attempt on Apache and open source. Palladium is an attempt on all homebrew software altogether -- not just Linux. Things are, thus, escalating.
Consider: the main point of Palladium is that the combination of a Palladium hardware device and a Palladium O/S will refuse to run "unsafe code" -- read this as that program you just got finished writing, and you can see that if they succeed your hobbyist programming days are over. Basically, Microsoft, Intel and their ilk would like to see a day where only "licensed" corporate programmers with an expensive trusted certificate can release code, and where the rest of us are reduced to being "consumers" of their product.
They achieve this slowly -- by first ensuring that you can't really use the web without using BOTH a Palladium O/S and Palladium hardware. Once that combination achieves critical mass, all competing software dies, because it isn't "trusted" and doesn't have a certificate. See where they're going with this? To recap,
1. Get.Net going, kill off apache and open source servers so there's no remaining excuse to run Linux;
2. Push Palladium compatibility on web services by incorporating it in.NET, so that you need a Palladium O/S and Palladium hardware to use the web (this isn't so farfetched -- look at how most of today's sites are written for IE);
3. Once everyone's using Palladium fully, start cracking down on "untrusted code" and completely eliminate non-commercial software under a security pretext. Call any remaining complainers a "fringe element" and dismiss their concerns.
Well... I think we all can agree on a couple of points to start with:
1. Programmers, sysadmins, and the technically savvy will probably set up a sacrificial windows box, let the technician fool around for a while to demonstrate that the box is "up", smile a lot, play dumb, and as soon as the tech leaves, clobber the windows box with Red Hat (or some other) Linux, using DHCP to maintain the connection (which was so easy on Red Hat I had to laugh). Or am I alone in this? The friends and relatives of the savvy will also be taken care of, because the savvy will care enough to want to help.
2. However, the technically naiive who DON'T have technically savvy friends or relatives are basically screwed. They have neither the background knowledge nor the desire to develop an understanding of what the computer is and what it does.
Consider this analogy: A carpenter might have a circular saw. But he'll probably use it with safety glasses, leather gloves, and a lot of care. The carpenter's parents will have the benefit of the saw, but the carpenter will be wielding it. Ditto for the carpenter's wife. SOMEONE knowledgeable is working the saw.
The Carpenter's neighbor is a banker, who's never touched a tool in his life. He doesn't want to read about how to use the tool, he doesn't want to use safety equipment, but he won't ask someone else to help him out either. But he wants tools, and he's bought into all the commercials which say circular saws are easy to use and safe, too. One even says "It's so easy my son can do it" so he laughs off the idea that maybe he should talk to a carpenter first, he buys a big powerful saw and fires it up, goes straight for the wood, hits a knot and slices off his thumb and three fingers. Whoops!
Of course, he later sues the saw company, which puts a warning label on the saw that "Stupid people should not operate this device." Everyone ignores the label, because after all, THEY'RE not stupid.
Well... I'm glad you weren't directing the "ignorant and arrogant" thing at me. Maybe I'm a little too touchy at times. I was picked on as a child, so I tend towards hypersensitivity to that sort of thing. No hard feelings, then?
I think we might agree on most of the basic facts about WWII, while saying a similar thing differently. I'm not saying that we saved the day all by ourselves, but we did do a whole lot of work, and without us, I think the rest of the world would have probably gotten conquered by Germany and Japan, with those two powers probably ending up fighting each other (as Germany turned on Russia, it would have certainly turned on Japan). Remember, by D-Day the Nazis controlled all of Europe except for Russia and some parts of Yugoslavia, and Japan basically owned the Pacific until we got involved over there. The Pacific war may have been separated from the "thrust" of the main part of the war but it was definitely equally significant and covered a large portion of the world in terms of Japanese influence.
In Europe, without American supply convoys Britain would have starved from lack of essential supplies long before D-Day. This is why U-Boats deliberately targeted commercial vessels, which led to the creation of convoys in the first place. Also, bombing campaigns couldn't be carried out by Britain until the air war over Britain had been stopped, so the destruction of the German war machine (factories, supply lines, etc) didn't really commence until the Americans came in to relieve the pressure on England. Without the destruction of Germany's means of production, the war could not have been won, and much of this destruction was performed by American bombers. Let alone the fact that Americans made up a large part of the force that invaded Normandy on D-Day, and carried out the actual ground war in Europe. Let's give credit where credit is due, if we're going to be fair all around.
That's all I'm trying to say. Our part in WWII definitely counts as "pulling Europe's fat out of the fryer". Without us, the supplies we sent and the troops we sent, WWII would not have been won by the Allies. No matter how you analyze it, this is a basic truth and it's only fair to recognize it.
To be equally fair, I don't believe that just because we helped people fifty years ago, they owe us everything, forever. That's not what I'm trying to say. I just wish they wouldn't *hate* us so much. It's not a huge thing to ask. You know?
ALSO TO BE FAIR, there are ignorant and arrogant Americans. And, to be completely honest, I've been misused and abused by them all my life. It's a sad fact that in America if you're one of the smart kids, all the other kids hate you. They beat you up, they call you names, they make you a pariah... See, what you were supposed to do when I was growing up was pretend to be just "average", look like everyone else, and fit in. I didn't do it, because all I wanted to do was curl up with a book, so I grew up without any friends whatsoever.
Believe me, I understand how a European or Canadian might get seriously ticked off if some American redneck starts spouting off about how we ought to do this, or that, or some other crazy thing. If a tourist was to start acting like an asshole just because a hamburger looks a little different, for example. If someone were to do some stupid assed thing, and get his ass whipped, well, most of my friends (I have some now, thank God) would just say, "yep, he had it coming". And, that's cool with me, you know?
I just wish people wouldn't go on the assumption that I'm going to act like that, with the result that I don't even want to visit Europe because I know someone's going to mess with me. It's just not fair.
And, I think it's also not fair that we have this president who we definitely did NOT vote into office, who is making us look like a nation of psychotic, bloodthirsty idiots. So, everyone's going to hate us because he blew up someone else today, and so on, and now we're all trapped here in the U.S. and have to go on vacation in Miami instead of Europe. See? It just isn't cool.
The point I was trying tactlessly to make is this: Over our history, we've done good things and bad things. This century, we've done some very, very good things (and, yes, some really dumb things and the current prez isn't helping our numbers any). So, I just think that considering the good we've done, maybe we should get a little slack -- not in terms of allowing us to blow up anyone, but rather in terms of leaving the tourists alone until they really deserve to be abused. Some will! But not all.
Anyway, that was what I was trying to get across.
By the way: here's another thing I didn't think was particularly fair. When some third world country's president fixes the election, doesn't the U.N. come in and do something about it? But, when ours does, the rest of the world does nothing. Double standard?
I've been sitting here trying to figure out whether you just called me "ignorant and arrogant". I'm going to give you the benefit of the doubt (something I doubt you ever give anyone else): I'm going to assume you didn't mean to call me ignorant and arrogant.
Again, though, I will reiterate: After pulling Europe's fat out of the fryer in two world wars, helping them rebuild and then forgiving ALL of their loans (think France), I really don't think it's fair that Europeans are so mean spirited towards Americans. And, honestly, considering the stories I hear from people who've been over there, I wouldn't set foot in Europe if my life depended on it. I don't voluntarily spend time with people who find it amusing to be cruel to me.
And, yes, you guys really ARE really cruel to us, so don't give me any blather about how you just hate the Government and "ignorant and arrogant" Americans. After all, whenever you're in the mood to pick on someone, whatever poor soul you latch on to will suddenly be painted as the "ignorant and arrogant American" you want them to be, for your purposes that is.
You know, on another thread I got a different post from a very nice Canadian who says that people there aren't mean or rude to Americans, and can separate their distaste for American government from their feelings about individual Americans; this in my view implies that Canadians are pretty okay people. Thinking about it, all the Canadians I've met have been pretty easy to get along with so I'd guess this is true.
I sure hope whoever wrote this post isn't from Canada. Because if he is, well, so much for the idea of Canadian friendliness.
That's heartening, as Canada is one of the nicer possible destinations for a fleeing American. Actually the stories I've heard didn't mention Canada, specifically, most of them were from people who had gone on vacation in Europe or England and had someone just come up to them out of the blue and start hollering at them. One guy said that he was walking down the street in Italy and a cop pulled him aside to inform him that he should be ashamed of himself, in a big unpleasant speech! I think that that one took place during the first Bush's presidency.
I'm really a quiet person actually -- I usually hole up in my apartment and tinker with old laptops and such, and all I really want is to be left alone. This is why the possibility of random strangers just suddenly hating me is so horrifying. Not that the possibility of all sorts of perfectly legitimate activities suddenly being made illegal in the name of "homeland security" makes me feel any better.
Your post is very reassuring to me, though; it makes Canada, at least, look very attractive. For the record, here's my take on "things U.S.":
On Bush: His "diplomacy" really turns me off (ANOTHER war with Iraq? WHY?) and the way he's irritating everyone kind of freaks me out. I disagree with almost all of his policies except for the war in Afghanistan, which I think was just (I'm a New Yorker, and my Dad was scheduled to be in a meeting right next door to the trade center, cancelled just in time). Of course, that war is more or less over, isn't it? New government in power, etc? Reconstruction in progress? I thought Afghanistan was more or less straightened out by now, even building schools and such. And, no one has seen or heard from Osama Bin Laden in months, so I'm guessing he's probably dead, but that's just my opinion... Ah, well.
On the U.S. Legal system: It totally horrifies me. Unlike Europe, Canada (I think) and most of the rest of the world, cases are tried by two lawyers competing with each other -- NOT two barristers trying to find out the TRUTH!!! So the truth actually doesn't come into the picture at all. Horrifying. The result, of course, is that rich people can get away with murder (cough, cough OJ cough cough), poor people get electrocuted, gassed, or put to sleep whether they've done anything or not, and no one (except the rich) is really happy with the system. Now, think about THIS: some little hacker kid can actually get LIFE IMPRISONMENT for messing around with a computer system, whether he actually hurts anyone or not. I mean, that's just amazing, isn't it? Kinda freaks me out. And, you KNOW that some creepy D.A. is going to try and make that happen one of these days, don'tcha? Looks SO good on that resume...
Consider THIS: Instead of trying to rehabilitate a hacker, the courts here bar him from using ANY TECHNOLOGICAL DEVICE!!! So he can't use a cell phone, access the web... Basically they try to destroy the guy. Someone whose only potentially useful skill is computer related can't use a computer! So much for rehabilitation... But I digress. Picture how horrifying this is to a guy like me, who programs for a living. Not that I'm a hacker or anything, I'M NOT, but still. The sympathy pains are pretty strong!
On Guns: I don't personally hunt, so I don't have much need for 'em. I see guns as opportunities to get in trouble. If you own one, and you lose your temper, things can go FUBAR pretty fast. In countries where people aren't armed to the teeth, well, the worst that usually happens is someone gets punched in the mouth. Seems like a better situation, you know? One troubling thing is that lots of states are passing "concealed carry" laws which let everyone pack heat after filing for a license. They're arguing about that in Ohio right now. VERY SCARY. I can tell you, I won't be visiting any of THOSE states anytime soon. "Hey, you dented my bumper! You prick! POW POW POW POW!" Suuuuuure. Sounds like a GREAT idea.;)
On tech in general: It's a terrible shame that the U.S, which originally spawned a lot of the technology we use daily, is now setting up a situation in which new developments will be slowed down or stopped just so patent holders can make an extra buck for their portfolio and the MPAA and RIAA can keep charging inflated prices for their dopey crap.
Overall, I'm really sad about how things are going. I don't want to give up on my country just yet, I mean, Bush is going to get voted out by a massive landslide in the next election (I hope, I pray), and there's a chance someone a little more normal will get into office (I voted for Nader last time, but this time I'm voting Democrat as the "lesser of two evils" in hopes of ousting Bush even though I usually don't vote on the "why bother, it's all rigged anyway" principle...). And, a lot of the lousy legislation in place right now is under attack in the courts, so it might all be a bad memory, like a hangover that fades away, fairly soon.
Of course, if Bush gets in for a second term, anything goes. Say, how hard IS it to apply for Canadian citizenship? Unfortunately for me I don't know French so I don't think I'll be accepted in Quebec... They make you demonstrate fluency, don't they?
P.S. I do actually drive a pick up but it's a very, very small one and gets great mileage (it's a 4 cylinder, and gets "up to" 23 miles per gallon depending on conditions). The rating is 19 city, 23 highway, but I don't get quite that good results...
Getting out of tech is a good idea whether you're good at your job or not. I don't mean you should stop being a programmer -- I didn't (I'm still a senior programmer/analyst). But I think you should get out of capital-"T" Tech (read: private technology companies).
Slashdotters, think it over: find a job in state or federal government, where if you're any good at all you'll be appreciated (promoted, taken care of) and you can actually enjoy the kind of life our parents and grandparents knew. Why work for these rotten tech firms? They just abuse and take advantage of you. Go civil service, where you'll be appreciated.
If you don't think your skills are strong enough, pick up a skilled trade like plumbing or electrical -- you can do civil service there, too, and pick up some contracting work on the side.
Or, go back to academia and try for tenure. That works too, and in some states, those jobs are protected by unions and have civil-service like benefits.
You don't have to work for private industry. You don't have to be a slave to a bunch of greedy capitalists. There are other ways to live.
"Please consider what I've said and how easy that was to get that kind of response from you.
point proven, take a deep breath, look in the mirror and say 'I am god' you feel so much better now."
Why, does this work for you?
Troll, you're not playing the game. How disappointing; surely you can do better than this?
You say something unkind and unreasonable in hopes of inspiring me to invective (I cooperated) then traditionally a troll should respond in kind, and really blow the flame war open. I'm hurt; it seems as though you're not even trying!
Sigh. No one wants to do the work anymore. Ok, look. I'll give you another example, show you how it's supposed to work, and maybe help you develop as an irritating little troll. One day, maybe you can join the ranks of the big trolls and get off the porch. Here goes:
(you) "crazyphilman, you are pompous and have your head up your ass."
(me) "Fuck you and the horse you rode in on, you cocksucking dick-cheese motherfucker."
(you) "Fuck you too, you bag of hot air. You and your textbooks make me want to shit repeatedly. You smell like burned walnuts, you freak."
(me) "Cocksucking, motherfucking two-ball bitch, you stink like shit and make my balls itch. Run off to your limey VD clinic you sick freak."
ETC.
Now, honestly, if you're going to go around insulting people, you should at least be creative about it and if you start the game, PLAY IT. Don't be such a pansy.
Really. What a disappointment. Go back under your bridge until you can think of a better insult.
"I meant portentous which means 'self-consciously solemn or important : POMPOUS'
or
Is it hard to breath when your that far up your own arse?"
You tell me; you seem to have the "head up ass" thing down pat. Jesus, where do assholes like you COME from? Fuck you and the horse you rode in on, you fucking dick-cheese no brain motherfucker.
You can look THOSE up in your dictionary. Prick.
I understand what you're saying. And, my initial (and later) posts weren't directed at XP, but rather the concept of throwing multiple programmers at a single problem.
;)
;)
To be honest, I have no strong feelings one way or the other about eXtreme Programming. My criticism was strictly with the idea that programmers work in small teams *on the same piece of code, simultaneously*. On this one point, I think I'm pretty stubborn. It feels inefficient to me to have the two (or more) programmers not working in parallel, for one thing, and I'm frankly horrified by the idea of having someone else, sitting next to me, sticking his nose in my code! It makes my flesh crawl. But maybe that's just me.
So, for the record -- I'm not rejecting XP, but rather the idea of bundling up two or more programmers on a single task.
And, yes, I am a weird freak. Everyone says so! I've always thought it was one of my best features.
You're confusing me. You said "see potentious... That's just the thing most people will buy, and it means that your other skills won't be so tuned."
What on Earth did you mean by that? Did you mean to say "so pretentious"? Or "See, potentious" where potentious is someone's nickname? Or did you want me to look up the word "potentious" (It's not in the Oxford American Dictionary)? Did you mean "portentious" (which means 'of an omen or significant sign of things to come')? This doesn't make any sense. Was potentious a writer? Sigh...
Well, I bet you meant I was pretentious. I'm not pretentious. I'd be pretentious if anyone where I live knew I was doing any of this. But, other than telling you, I haven't really told anyone. I don't care what anyone thinks, I'm interested in that stuff for me. It's fun.
Maybe you could explain what you meant.
Anyway, I don't think it'll negatively affect my "other skills". It's unnecessary to spend 100% of your time on a single subject, and detrimental besides. Don't psychologists say that you have to get away from a subject a little and let your mind absorb it to learn most optimally? As I said, balance is important.
"As for my tone...this is some of the nicer stuff I post on Slashdot. Karma to burn." -- smileyy
;)
In that case... No hard feelings then.
"all else being equal, is it better to have a company full of developers who can cooperate, or a company full of developers who can't? You've got to be a goddamn moron to pick the former." -- smileyy
Um... You just said I'd have to be a moron to choose the company of developers who can cooperate. Heh heh heh!
But, now you're misrepresenting my point. I didn't say anything about developers not being able to cooperate. Rather, I proposed a model of cooperation which reduced potential for conflict. It's STILL cooperation. It's just cooperation of a more efficient sort. Besides, I'm not saying programmers can't ever collaborate on a single piece of code. Design doesn't mean you're not allowed to ask someone for pointers! However, at the same time, it's more comfortable if on the whole a programmer is responsible for his own chunk of a project, without outside interference.
"Do you need design? Yes. Do you formal design? No. Do you need to design everything ahead of time? Absolutely not. XP came about in part because enough people found that BigDesignUpFront just doesn't work well enough." -- smileyy
"formal design" is such a subjective thing it's hard to respond to. I don't think I proposed old-fashioned "formal design" i.e. flowcharts and function diagrams and such. I usually use pseudocode and simple diagrams, personally. And, I'd buy the idea that you don't have to design every single thing in advance; shit happens, right? But I do believe that there should be some sort of real design in place before you start coding.
Anyway, it's all a matter of opinion, isn't it? You work where you're comfortable. My office is older fashioned, and we do things in a decidedly non-xp way, with formal design, project requirements and deadlines, proposals, and etc. I'm fairly certain that I wouldn't enjoy working in your office, and that you wouldn't stay in mine. Different cultures entirely, if you know what I mean.
"I guess I'm glad I don't work with people like this. To me, those people suck at life, or at least, suck at what I think is an essential part of their job." -- Smileyy
Again, you're being rude. You arrogantly judge others, and look down on them without even knowing them. Your arrogance is startling; you must be very young.
I won't get too deeply into this conversation other than to point out that your approach to programming (typified by the comment "design of that sort that is specified ahead of time will change sufficiently enough that it's not worth putting together in the first place") reveals a very thin knowledge of the subject matter. You should read a few books and reevaluate your approach.
"You are obviously a very fluid writer, and not too bad at bragining either. I should imagine that you other skills have suffered because of this, though most mangers wouldn't notice and would probably take you out to lunch."
That's very nice of you to say, but I don't think that being a good writer and being able to bargain skillfully automatically means that my other skills suffer. Balance is important to me. I may spend most of my time programming, but on the side I keep up with mathematics, a little physics, literature... It keeps my mind sharp and prevents burnout.
As for managers taking me to lunch, well, I'm afraid that I'm not a particularly social person. I tend to keep to myself. Besides, I'm somewhat nervous about associating with managers. When managers decide they like you, they generally tend to try and make you into a manager as well. This reminds me a little too much of count dracula. He tried to promote people HE liked, too... So, I generally try to be invisible and avoid managerial notice.
Clarification of the central paragraph:
I should have known better. Someone is already judging me based on paragraph II, so I'd like to state more specifically what was meant. Jesus, I should have known better.
Ok. It's my opinion that a solid design can best be reached by either one person working alone or a team lead who handles the overall design and breaks it up into subtasks for his team to handle.
It really comes down to what sort of political system you follow. If everyone is equal and there's no one directing the action, the result is anarchy. If there's centralized leadership, and everyone is doing their job and staying out of everyone else's hair, the result is harmony.
This lines up very neatly with system design.
A programming team where everyone's working on the same code is going to end up arguing about just about everything. Debugging is going to be a joke; nothing will be accomplished. Similarly, programming in pairs with one person coding and the other mouthing off is going to drive everyone crazy.
The basic idea I proposed was what has worked for me in the past: a central team lead breaks up the project into component parts, and programmers select the parts they want to complete. The group agrees on the plumbing and then scatters to do their work, everyone working in parallel. As each chunk gets completed, it is provided to the lead for integration. Chunks are unit tested with driver programs and function stubs.
the IDEA is, programmers end up working independently, following an agreed upon interface, and everyone can be happy and get along. Other benefits include:
1. Each module has a consistent coding style throughout.
2. Each programmer is responsible for his/her own module, so over time, they can respond to bug reports and so on.
3. Programmers can choose the algorithm they think is best, without having to sit around jawboning with their "partner" about whether this or that widget is the best to use. No one gets stressed out, and everyone is happy.
Anyway, we're getting away from the point. The point was, "too many cooks spoil the broth". So, the head cook has one cook doing broth, one cook doing the roast, another doing salad and so on. And, everyone can relax and just cook, instead of having to argue about whether they should add once pinch of salt or two.
Wow, you got nasty fast.
So, you would like to know how a team should figure out what the interface between functional modules of their system should be?
Here's what worked for my team (Yes, I was the team lead, and, no, you're wrong, no one was fired, in fact the company took us to Atlantic City and then, dinner, to thank us for the work we did).
First, the team lead comes up with an overall design. He discusses the overall design with the team in a brainstorming session, and improvements are incorporated in the design. There may be arguments, but they're limited to this initial speccing out session.
The project is broken up into modules, and each module is broken up into function calls. The parameters and the return values for each function call are then agreed upon. You might say, "function foo will take three strings, fooey, hooey, and spam, and will return a properly formatted URL as a string." The programmers each take the modules they are most interested in. People agree on the overall plumbing, then go their separate ways with their modules, to code them without interference.
As each module is completed, it is integrated with the greater whole by the team lead. Debugging is done with driver programs and function stubs, and everything is separately unit tested. Programmers are responsible for their chunk of the system, and its interface. They don't have to put up with a lot of baloney like having to justify what they're doing to a partner who's looking over their shoulder. The overall design is handled by the team lead, who keeps an eye on how the individual modules are going together.
Modules can be built by internal staff, or by outside agencies. They can even be purchased and just integrated in. The point is that everything is modular, and everyone is responsible for his/her chunk, without interference.
Overall, this results in the least amount of argument, and the fastest overall forward progress because everyone is working in parallel, simultaneously. Projects can be completed very quickly at minimum expense if everyone pulls their weight.
I think that my point was that whenever programmers have to collaborate on a single stretch of code, they will inevitably disagree on implementation details and algorithms, and that this will lead to unproductive debate that will bog down a project. You missed the point entirely. For any given piece of code, there should be one programmer who writes it as well as he can without interference.
My joke about the Tao of programming was just a joke. But the basic idea is valid. Too many cooks spoil the broth. So you have one cook doing broth, another doing steak, another doing salad... And, the restaurant owner or head chef determines the menu.
Respond if you must. But I have said all I wish to say. You're too judgemental for my tastes.
Context? Articles written by convention attendees? ;)
Ok, ok, seriously. I don't know; the point of the original joke was that one programmer working alone can control his design and work quickly, and that too many cooks spoil the broth, right?
Well... If I have to work closely with someone in a partnership, then I'll have to compromise with him on every issue in which we differ. Reaching those compromises will take time and result in a mediocre product. Arguing over design philosophy will take additional time. Shouting matches over which widget we're going to use this week will take up more time and annoy others. It would be much easier and cleaner if we were each given our own independent modules to write, with a contract laying out the interface we have to follow, wouldn't it? Instead of teams -- distributed, independent development.
Sort of like the programmer telling the manager, six months if he works solo, a year if he has a partner, and so on.
But, you're right; I dropped it in out of context. Still -- you have to admit, it's a killer description of a fundamental truth.
Didn't this get addressed in the old file "The Tao of Programming"?
(to paraphrase, since I don't have the original text handy):
A manager approached a programmer and asked how long it would take to build an important project. The programmer said, "Six months."
The manager said, "that's too long. What if I assigned two programmers to it?"
"Then the project will take a year."
"That's terrible. I'll give you four programmers!"
"Two years."
"Aigh! I'll give you a hundred!"
"Then the program will never be completed."
Dig?
I bought all my laptops on Ebay. I got four Itronix XC-6000s for 25.00 each, and three XC-6250s for 50.00, 107.00, and 150.00 respectively, if I remember. I also bought three Panasonic CF-25's for about the same price range, although I paid almost 300 for one of them before I realized I could get the same thing for cheaper. Hindsight is 20/20! ;)
;)
Basically, do an Ebay search for "Itronix" or for "Panasonic Toughbook" and you'll see TONS of Mil-spec laptops for sale. Most don't go much higher than 150.00.
Here's some model info:
Itronix XC-6000: This is a 486 DX2-50 with 8MB of RAM, and a 260MB hard drive. On this you can run a pretty useful Slackware text-mode install, although if you put in all the Emacs stuff you might be a little low on hard disk space. Give yourself a BIG swap partition!
Itronix XC-6250: This is a Pentium, usually either 133Mhz or 200Mhz, usually with a monochrome 640x480 screen but you sometimes luck out and find one with the larger 800x600 screen. The monochrome is pretty good, and the backlight looks cool. If you can find one with the color touchscreen, those are really nice! It's very bright and clear. Most of the color ones I've seen were 640x480.
Panasonic CF-25: These come in Pentium 100, Pentium 150, and Pentium 167 models. These are really nice. If the Itronix is a Ford F-350 with duallies and a four wheel drive, then the Panasonic is a nice Range Rover with A/C and leather seats, sorta. Both will take you off road with no sweat, but the F-350 "wins" a collision between the two.
Having said that, the Panasonic CF-25 is very nice. Make sure you get the swappable internal CD-Rom AND the internal floppy, AND the power supply. If you get all three, the auction is worth doing. Also, look at the picture and note the screen size. Some models come with a smaller screen, some with a full size screen. If this matters to you, go for the larger one; I thought the smaller one was kinda cute.
NOTE: The Panasonic 100Mhz model will NOT BOOT FROM THE CD-ROM, and DOES NOT HAVE AN INTERNAL BIOS UPDATE PROGRAM!!! Which was a nasty surprise for me. You can download the software from Panasonic, but you'll have to install Windows 95 or 98 on the laptop to update your BIOS!!! All of the 167Mhz models have an internal BIOS update feature, and let you boot from the CD-Rom (meaning installing Linux is a piece of cake). Just an FYI.
Notes on resetting laptops: the Itronix reset when you hold down both mouse buttons for about fifteen seconds. Release them when the laptop shuts down and it boots up again, completely reset. Then you can usually go into the BIOS utility. The older ones also have a reset button that's very, very tiny near the PCMCIA release button. The Panasonics have a tiny, tiny recessed reset button near the place where the power cord plugs in. You can push it with a paperclip.
Hope this helps... Check 'em out. You can get these things for peanuts, man, it's totally cool. Think about it: for under fifteen hundred bucks (counting virtually EVERYTHING I bought to go with my laptops) I have like, TEN laptops instead of only one. Can't complain about that -- I figure, if I'm on the road and someone rips me off, it's like, "Oh, well; I'll draw another one from the armory".
I've got three Itronix XC-6250s and three Panasonic CF-25's... One of my CF-25s is only a Pentium 100, which is going to get Slackware... But the other two were Pentium 167Mhz's with maxed out ram (I haven't messed with them in a while, but I think I've put 96MB in 'em). The two 167's are actually running Red Hat 7.3, KDE 3.0, and the liquid mod!!! They work great, they're slightly sluggish, but I haven't had any trouble.
The Panasonics are a little nicer than the Itronix (they have an internal swappable CD-Rom/Floppy, more PCMCIA ports, etc) but they don't have as durable an environmental seal. I use them more as my "home" machines, with the Itronix ones being my "road" boxen. The Panasonics ROCK, don't they? Gotta love 'em. SO cool.
Hey, all, just to put this in context, I've been collecting some very old Itronix Mil-Spec laptops recently (one survived being thrown full-strength by me, a 285 pound ex-marine, from seven feet onto worn-out carpet over plywood, and booted up no problem) because I have a fetish for such things. Let's just say I have a thing for durability. The only problem is, the laptops have a "full environmental seal" which means no cd-rom, no internal floppy, no usb ports, etc. They only have a parallel and serial port, a phone jack, and a PCMCIA port protected with a cast aluminum door and a gasket. My weaker ones have eight MB of ram each and are only 486DX2-50's, with a 260MB HDD. My three stronger ones are Pentium 133's with 32MB of ram each, and about a 1.3 GB disk, with monochrome LCDs. Only one has color, but that one's just a 640x480 LCD. I wanted to run Linux, and not some quirky, doofy ancient Linux either. Here's how I got it to work.
/dev/sda4, i.e. the zipdisk). Zipslack booted with only minor difficulties -- I had to tweak a couple of BIOS settings, that's all.
/dev/hda1"
/mnt/hd.
/bin /mnt/hd/bin". Of course, I didn't copy /mnt or /proc. For those, I just mkdir'ed them in the new directory. Once I was satisfied that the entire zipslack system was copied over to the new partition, I edited /mnt/hd/etc/fstab and set up the "/" partition as /dev/hda1 (and set up swap as well, although I wasn't sure I had to do that). Then, I rebooted using the boot disk.
/dev/hda1. I booted into my hard drive's Linux, and ran liloconfig to set up automatic booting with LILO. I ran it in expert mode, and set up only one entry, i.e. that for Linux. Then I set it up to automatically boot into that entry with no delay.
;P
Step 1. I have an external floppy that connects to the PCMCIA slot, and a parallel port zipdrive. So, I downloaded Zipslack (available on the Slackware website) and the companion, fourmeg.zip, which creates a swap file. Zipslack is interesting because it creates a UMSDOS slackware installation on a zipdisk (just unzip it to the zipdisk). This can then be booted from the zipslack boot floppy (boot from the boot floppy, then direct root at
2. Once in Zipslack, I had to set up the Itronix's hard disks for Linux. So, first, I fdisked, and set up most of each disk as a type 83 Linux partition, and the rest as a type 82 Linux swap. I probably gave too much swap; I took a guess for the "big" ones and made it like 88 cylinders; I think it turned out to be better than 128MB (I made it a LOT smaller on my little ones). Next, I formatted the disk: I ran the command:
"mke2fs -L armadillo -c -c -j
This surprised me a little, pleasantly: I knew the two "-c" params would cause it to overwrite the disk with nulls, but it did it FOUR TIMES, which is pretty damn thorough. Once that finished up (it took at least an hour on my old machines) I mounted the disk as type "ext3" on
3. Now, I copied my entire root directory onto the mount point, leaving out the loadlin stuff and files that were obviously DOS related (like the DOS mount directory). I copied each directory using (for example) "cp -a
4. This time, I pointed the root directory at
The result is that my little Linux machines all work perfectly!
On my "big" ones, I put a bunch more stuff in. I put in the development disk set, plus x, xap, most of n, and this coming week I'm adding kde and gnome. On my "little" ones, I've only got 260MB of space, so I'm going to stick with text-mode. I'm toying with the idea of using emacs as an environment for those, IF the e set will fit on 'em of course.
The most expensive of these laptops was 150.00. The cheapest was 25.00. Zipslack was free. Now, is that a great deal or what? Especially considering they're like indestructible little armadillo monsters, right?
Oh, by the way: I'm using Zipslack 8.1 and I'll probably upgrade to 9.0 when it comes out. Gotta love Slackware! Bob RULES!
BTW: my grammar isn't so hot today. It's the Marine Corps Birthday (10 Nov) and the "Marine Corps Drink" is the Rum and Coke, so cut me some slack there (ha! get it? SLACK! I slay me)...
My only problem with your comments is this:
"The point is, MS made it possible for computers to become cheap and commonplace."
Which is actually untrue. APPLE produced the Apple II, which made it possible for computers to become cheap and commonplace. Woz decided to use readily available electronics in building his motherboards, which made it easier to mass-produce without having to worry about part shortages, and they built a computer that could be sold in prebuilt instead of kit form -- enabling computing to enter the home. Prior to Woz's work, most people owning personal computers had built them from mail-ordered kits (and, incidentally, were mostly electrical engineers).
The success of the Apple II line inspired other companies like Tandy, Commodore, and Atari to weigh in with their own computers, which in turn ultimately resulted in IBM producing the original IBM PC to break into the market. If Microsoft hadn't purchased their first O/S from a hobbyist, then licensed it to IBM, IBM would have either developed their own in-house O/S or (probably) used CP/M or a Unix variant. And, we'd all be better off.
My point is that without Microsoft, we would still have home computers, and they would still be pretty advanced. In fact, they would still probably run Linux, because Linus Torvalds was inspired by Minix, NOT windows and Unix had been in existence all along, since at least 1973. One can make the case that sans Microsoft, we might actually have BETTER computers than we have now, because they wouldn't have been screwing up the market all these years. But, I'm done ranting.
Other than that I think your post was pretty good.
Phil
>> 3 dimensions of time (past/present/future)
>> Back in physics school, I learned that time is
>> just one dimension. The other three are called
>> "space".
Have you ever seen a movie about hippies, where they drop acid and afterwards they're comparing notes and say things like "Man, and then there were like, all these DIMENSIONS, you know? And, like, the past, present, and future, were all dimensions, and you could like, FLY ALONG THEM, yeah, man... Intense!"
> "The man is obviously an ass. Given the "irrelevant
> OS" and "3D documents" crap, it sounds like he
> harvested a bunch of random mid 90s research papers.
I agree completely. This is just more "the network is the computer" snake oil, repackaged in a "you're not cool unless you agree with me, if you're cool you'll 'get' what I'm saying" kind of rap. If I remember correctly, Sun tried this line of BS for years, and everyone -- I mean everyone -- basically laughed them back to their senses.
Here are my problems with this Gelertner guy's ideas:
1. First, he pins a large part of his argument on the idea that hierarchial data storage (i.e. directories and files) is somehow antiquated, silly, and inefficient. However, a couple of hundreds of years of information processing using increasingly refined methods (first using paper, pen and ink and then, in this century, increasingly automated means) has demonstrated the power and effectiveness of the paradigm. One could point out that the WIMP interface and the filesystem/directory/file paradigm represent the highest expression of human organization of information. One might also point out that SIX THOUSAND YEARS AGO the Sumerians were using a similar system to record transactions using cuneiform and clay tablets. Virtually every single human information processing system since then has incorporated the basic idea of a document (scroll, folio, parchment, clay slab) stored in a bin (basket, crate, locker, book, file cabinet). And, all of these methods were in some way hierarchial.
One can even make a case that the "file cabinet" paradigm duplicates internal, instinctual human methods for organizing ideas. Consider: we think of things in sets and subsets, don't we? A baseball is a type of ball, which is a type of sphere, which is a three dimensional shape, and so on... But you see what I mean.
2. Let's consider his basic idea: organizing documents and files on a timeline rather than a hierarchial system. So, you'll go into his 3-D viewer, and zip backwards and forwards in "time" to see documents and files you've got stored. Now, you have to remember WHEN you've created a document rather than what it's about. How is this supposed to help you locate information? There's no way around it; he is going to HAVE to provide some sort of hierarchial organization or his system will be completely useless.
Again, humans think about information in terms of sets and subsets, and we understand new information in terms of information we already have -- placing it in directories in our heads, in a way. Building a system that works differently will make it unpleasant for humans to use, and eventually, human-type modifications will be made leading back to the current paradigm.
He could incorporate a database which would let us look for related information, but this still wouldn't be as good as a hierarchial structure, because it wouldn't let us get a "top-down" view of our data, drilling down by layer. We'd be limited to the searches we're capable of formulating. See what I mean? If he tried to beat this by creating broad category based searches, he would eventually end up with something very similar to the dreaded directory and file approach, albeit in a virtual, database-ish form. In my view it's inescapable. It keeps coming back to the way in which we think.
3. FINALLY, getting back to the "the network is the computer" problem, people just don't want to have their data on some remote server where they can potentially get locked out of it. NO ONE is going to buy into this sort of thing. People want strong, general-purpose computers which STILL WORK if the cable goes out or they forgot to pay their bill that month. They're just not going to enjoy the dependence on remote data stores Mr. Gelertner thinks they will.
Anyway, this is just my opinion. But I think his ideas are a bunch of hooey.
(I had said)"Everything Microsoft does is designed to destroy some form of competition."
(You then took it upon yourself to say)"You sir are an idiot. Why don't you start up a company and design everything you do to HELP your competition. Lets see how long your business lasts.
The point of running a business for everybody, including Microsoft, is to destroy your competition. If you don't, you loose. (sic)"
Since you've decided to start off your comment with an insult, you are a troll. I don't always feed the trolls, but I'd like to address your point. Here, then is my (polite) reply:
The "point of running a business" is to provide a useful service to the community in return for a reasonable profit. It has nothing to do with "destroying your competition" or any other such thing. Your frame of mind is an artifact of twentieth century hypercapitalism, aka corporatism. It's a symptom of a sickness or weakness that is currently afflicting our culture, a sort of moral turpitude that has affected the upper classes. You might find it illuminating to do a Google search on the fall of Rome, the social conditions in Rome in its last years, and on the strings "Nero" and "fiddle" -- although, considering how quickly you resort to ad hominem, well, maybe you won't notice the similarities. Sigh.
I find it amusing that you define business in binary terms: "Destroy the competition" and "help the competition and go out of business". I might suggest that there is a wide continuum in between these two positions, which one could consider "fair play". In other words, companies COULD simply play fair and compete on value instead of automatically resorting to dirty tricks.
It's interesting that small businesses tend to play fair because they have to face their customers daily, while corporations choose not to play fair because they do not. But I won't belabor the point.
"I don't agree with that, and I think you are not giving the power of capitalism enough credit. People always have a choice. "
Not if the legislation currently being considered by Congress gets passed. What are you going to do if it becomes law that every digital device incorporate strong copyright protection? You have to take Palladium in context, not as a single and discrete thing. Look past Palladium's current state to the potential future state it may achieve if it gets critical mass. This is potentially a Bad Thing.
(I had said)
"Consider: the main point of Palladium is that the combination of a Palladium hardware device and a Palladium O/S will refuse to run "unsafe code"
(to which you replied)
NO! As I said before, Palladium does not limit any software from running. What it does do is keep "unsafe" code from seeing or modifying protected data. From a programmers perspective, Palladium amounts to a new API to setup a secure context and protect data. Any program can use the API without any certification, and Palladium NEVER imposes itself on a process that does not request its services.
And, to which I reply, I understand this. RIGHT NOW, this is what Palladium is supposed to do. But, what happens when it achieves critical mass, and they start altering it to make it more restrictive? You can define "protected data" in a variety of ways. MY POINT is that this architecture gives Microsoft, Intel and the content industry a weapon with which they may eventually exert much more control over our machines. Palladium, then, is dangerous. Even if in its first implementation it seems friendly, it need not be friendly forever (what they SAY and what they are actually considering can be very different things). Take it in context. Consider the Fritz chip, the DMCA, and the legislation which is attempting to grant the MPAA and RIAA the right to hack into your machine if they suspect you of pirating music. Do you really, honestly, trust these people to stick to their original promise of a Palladium which will run untrusted code? AT ANY TIME after Palladium's adoption, it may suddenly stop running untrusted code. Look at how Microsoft snuck certian provisions into the EULAs for service pack 3 (win2K) and the new media player that allow them to remotely turn off, alter or disable features of YOUR operating system. Look how service pack 3 and Media Player obviously incorporate code that would allow such a thing. How can you think Palladium will not?
All I'm saying is, I don't trust this development one iota. And, you know, I do believe that the eventual point of Palladium is to shut out everything that "they" don't want us to run. This means your CD-ROM burner, your MP3 player, Linux of course, and etc. I think this is a fair assumption, because after all, historically, this is how the corporations in question have behaved.
Before you start thinking I'm some kind of rabid anti-Microsoft type, I program for Win2K all day long. But liking some of their products doesn't make me trust them any more. Look past what you think is currently true to what may easily be true in the future if this step is tread upon. Everything leads to something else.
One final point: Yes, all companies exist to make money. And, the love of money is the root of all evil. Remember? Greed and stockholder advantage do NOT lead directly to a morally correct position. OR, a happier place for "consumers" (that's CUSTOMERS in plain english) to exist. Think about it. Or, just ask the thousands of people hurt by Enron and other similar scandalous firms whether money = ethics.
In reply to: "...Actually, that has nothing to do with Palladium and Palladium can't even do that. Palladium will NOT block any software from running - one of the core design requirements for it was that all existing software* will run on Palladium hardware (including alternate OSs) without modification." ...
.NET which incorporates Palladium-friendly features, pretty soon you won't be able to use the web with Linux -- in theory. Everything commercial will be defined as "content" and will be protected by Palladium. Then, of course, everyone will be using Palladium O/S and Hardware, and THEN, things get difficult.
.NET is an attempt on Apache and open source. Palladium is an attempt on all homebrew software altogether -- not just Linux. Things are, thus, escalating.
.Net going, kill off apache and open source servers so there's no remaining excuse to run Linux;
.NET, so that you need a Palladium O/S and Palladium hardware to use the web (this isn't so farfetched -- look at how most of today's sites are written for IE);
I think that's kind of an interesting point, but it misses the mark slightly. I don't think Palladium is going to attack Microsoft competitors by entirely preventing their software from running (Linux, for example, may run just fine in some sort of "non-protected" crippled-hardware mode). I think the point of a Palladium based architecture is to eventually require you to use a Palladium-friendly O/S (windows) whenever you use any public network. If Wintel can get websites to all agree to use some variety of
Everything Microsoft does is designed to destroy some form of competition. IE attacked Netscape;
Consider: the main point of Palladium is that the combination of a Palladium hardware device and a Palladium O/S will refuse to run "unsafe code" -- read this as that program you just got finished writing, and you can see that if they succeed your hobbyist programming days are over. Basically, Microsoft, Intel and their ilk would like to see a day where only "licensed" corporate programmers with an expensive trusted certificate can release code, and where the rest of us are reduced to being "consumers" of their product.
They achieve this slowly -- by first ensuring that you can't really use the web without using BOTH a Palladium O/S and Palladium hardware. Once that combination achieves critical mass, all competing software dies, because it isn't "trusted" and doesn't have a certificate. See where they're going with this? To recap,
1. Get
2. Push Palladium compatibility on web services by incorporating it in
3. Once everyone's using Palladium fully, start cracking down on "untrusted code" and completely eliminate non-commercial software under a security pretext. Call any remaining complainers a "fringe element" and dismiss their concerns.
Just something to think about.
Well... I think we all can agree on a couple of points to start with:
1. Programmers, sysadmins, and the technically savvy will probably set up a sacrificial windows box, let the technician fool around for a while to demonstrate that the box is "up", smile a lot, play dumb, and as soon as the tech leaves, clobber the windows box with Red Hat (or some other) Linux, using DHCP to maintain the connection (which was so easy on Red Hat I had to laugh). Or am I alone in this? The friends and relatives of the savvy will also be taken care of, because the savvy will care enough to want to help.
2. However, the technically naiive who DON'T have technically savvy friends or relatives are basically screwed. They have neither the background knowledge nor the desire to develop an understanding of what the computer is and what it does.
Consider this analogy: A carpenter might have a circular saw. But he'll probably use it with safety glasses, leather gloves, and a lot of care. The carpenter's parents will have the benefit of the saw, but the carpenter will be wielding it. Ditto for the carpenter's wife. SOMEONE knowledgeable is working the saw.
The Carpenter's neighbor is a banker, who's never touched a tool in his life. He doesn't want to read about how to use the tool, he doesn't want to use safety equipment, but he won't ask someone else to help him out either. But he wants tools, and he's bought into all the commercials which say circular saws are easy to use and safe, too. One even says "It's so easy my son can do it" so he laughs off the idea that maybe he should talk to a carpenter first, he buys a big powerful saw and fires it up, goes straight for the wood, hits a knot and slices off his thumb and three fingers. Whoops!
Of course, he later sues the saw company, which puts a warning label on the saw that "Stupid people should not operate this device." Everyone ignores the label, because after all, THEY'RE not stupid.
Think about it.
Well... I'm glad you weren't directing the "ignorant and arrogant" thing at me. Maybe I'm a little too touchy at times. I was picked on as a child, so I tend towards hypersensitivity to that sort of thing. No hard feelings, then?
I think we might agree on most of the basic facts about WWII, while saying a similar thing differently. I'm not saying that we saved the day all by ourselves, but we did do a whole lot of work, and without us, I think the rest of the world would have probably gotten conquered by Germany and Japan, with those two powers probably ending up fighting each other (as Germany turned on Russia, it would have certainly turned on Japan). Remember, by D-Day the Nazis controlled all of Europe except for Russia and some parts of Yugoslavia, and Japan basically owned the Pacific until we got involved over there. The Pacific war may have been separated from the "thrust" of the main part of the war but it was definitely equally significant and covered a large portion of the world in terms of Japanese influence.
In Europe, without American supply convoys Britain would have starved from lack of essential supplies long before D-Day. This is why U-Boats deliberately targeted commercial vessels, which led to the creation of convoys in the first place. Also, bombing campaigns couldn't be carried out by Britain until the air war over Britain had been stopped, so the destruction of the German war machine (factories, supply lines, etc) didn't really commence until the Americans came in to relieve the pressure on England. Without the destruction of Germany's means of production, the war could not have been won, and much of this destruction was performed by American bombers. Let alone the fact that Americans made up a large part of the force that invaded Normandy on D-Day, and carried out the actual ground war in Europe. Let's give credit where credit is due, if we're going to be fair all around.
That's all I'm trying to say. Our part in WWII definitely counts as "pulling Europe's fat out of the fryer". Without us, the supplies we sent and the troops we sent, WWII would not have been won by the Allies. No matter how you analyze it, this is a basic truth and it's only fair to recognize it.
To be equally fair, I don't believe that just because we helped people fifty years ago, they owe us everything, forever. That's not what I'm trying to say. I just wish they wouldn't *hate* us so much. It's not a huge thing to ask. You know?
ALSO TO BE FAIR, there are ignorant and arrogant Americans. And, to be completely honest, I've been misused and abused by them all my life. It's a sad fact that in America if you're one of the smart kids, all the other kids hate you. They beat you up, they call you names, they make you a pariah... See, what you were supposed to do when I was growing up was pretend to be just "average", look like everyone else, and fit in. I didn't do it, because all I wanted to do was curl up with a book, so I grew up without any friends whatsoever.
Believe me, I understand how a European or Canadian might get seriously ticked off if some American redneck starts spouting off about how we ought to do this, or that, or some other crazy thing. If a tourist was to start acting like an asshole just because a hamburger looks a little different, for example. If someone were to do some stupid assed thing, and get his ass whipped, well, most of my friends (I have some now, thank God) would just say, "yep, he had it coming". And, that's cool with me, you know?
I just wish people wouldn't go on the assumption that I'm going to act like that, with the result that I don't even want to visit Europe because I know someone's going to mess with me. It's just not fair.
And, I think it's also not fair that we have this president who we definitely did NOT vote into office, who is making us look like a nation of psychotic, bloodthirsty idiots. So, everyone's going to hate us because he blew up someone else today, and so on, and now we're all trapped here in the U.S. and have to go on vacation in Miami instead of Europe. See? It just isn't cool.
The point I was trying tactlessly to make is this: Over our history, we've done good things and bad things. This century, we've done some very, very good things (and, yes, some really dumb things and the current prez isn't helping our numbers any). So, I just think that considering the good we've done, maybe we should get a little slack -- not in terms of allowing us to blow up anyone, but rather in terms of leaving the tourists alone until they really deserve to be abused. Some will! But not all.
Anyway, that was what I was trying to get across.
By the way: here's another thing I didn't think was particularly fair. When some third world country's president fixes the election, doesn't the U.N. come in and do something about it? But, when ours does, the rest of the world does nothing. Double standard?
Sigh.
In response:
I've been sitting here trying to figure out whether you just called me "ignorant and arrogant". I'm going to give you the benefit of the doubt (something I doubt you ever give anyone else): I'm going to assume you didn't mean to call me ignorant and arrogant.
Again, though, I will reiterate: After pulling Europe's fat out of the fryer in two world wars, helping them rebuild and then forgiving ALL of their loans (think France), I really don't think it's fair that Europeans are so mean spirited towards Americans. And, honestly, considering the stories I hear from people who've been over there, I wouldn't set foot in Europe if my life depended on it. I don't voluntarily spend time with people who find it amusing to be cruel to me.
And, yes, you guys really ARE really cruel to us, so don't give me any blather about how you just hate the Government and "ignorant and arrogant" Americans. After all, whenever you're in the mood to pick on someone, whatever poor soul you latch on to will suddenly be painted as the "ignorant and arrogant American" you want them to be, for your purposes that is.
You know, on another thread I got a different post from a very nice Canadian who says that people there aren't mean or rude to Americans, and can separate their distaste for American government from their feelings about individual Americans; this in my view implies that Canadians are pretty okay people. Thinking about it, all the Canadians I've met have been pretty easy to get along with so I'd guess this is true.
I sure hope whoever wrote this post isn't from Canada. Because if he is, well, so much for the idea of Canadian friendliness.
That's heartening, as Canada is one of the nicer possible destinations for a fleeing American. Actually the stories I've heard didn't mention Canada, specifically, most of them were from people who had gone on vacation in Europe or England and had someone just come up to them out of the blue and start hollering at them. One guy said that he was walking down the street in Italy and a cop pulled him aside to inform him that he should be ashamed of himself, in a big unpleasant speech! I think that that one took place during the first Bush's presidency.
;)
I'm really a quiet person actually -- I usually hole up in my apartment and tinker with old laptops and such, and all I really want is to be left alone. This is why the possibility of random strangers just suddenly hating me is so horrifying. Not that the possibility of all sorts of perfectly legitimate activities suddenly being made illegal in the name of "homeland security" makes me feel any better.
Your post is very reassuring to me, though; it makes Canada, at least, look very attractive. For the record, here's my take on "things U.S.":
On Bush: His "diplomacy" really turns me off (ANOTHER war with Iraq? WHY?) and the way he's irritating everyone kind of freaks me out. I disagree with almost all of his policies except for the war in Afghanistan, which I think was just (I'm a New Yorker, and my Dad was scheduled to be in a meeting right next door to the trade center, cancelled just in time). Of course, that war is more or less over, isn't it? New government in power, etc? Reconstruction in progress? I thought Afghanistan was more or less straightened out by now, even building schools and such. And, no one has seen or heard from Osama Bin Laden in months, so I'm guessing he's probably dead, but that's just my opinion... Ah, well.
On the U.S. Legal system: It totally horrifies me. Unlike Europe, Canada (I think) and most of the rest of the world, cases are tried by two lawyers competing with each other -- NOT two barristers trying to find out the TRUTH!!! So the truth actually doesn't come into the picture at all. Horrifying. The result, of course, is that rich people can get away with murder (cough, cough OJ cough cough), poor people get electrocuted, gassed, or put to sleep whether they've done anything or not, and no one (except the rich) is really happy with the system. Now, think about THIS: some little hacker kid can actually get LIFE IMPRISONMENT for messing around with a computer system, whether he actually hurts anyone or not. I mean, that's just amazing, isn't it? Kinda freaks me out. And, you KNOW that some creepy D.A. is going to try and make that happen one of these days, don'tcha? Looks SO good on that resume...
Consider THIS: Instead of trying to rehabilitate a hacker, the courts here bar him from using ANY TECHNOLOGICAL DEVICE!!! So he can't use a cell phone, access the web... Basically they try to destroy the guy. Someone whose only potentially useful skill is computer related can't use a computer! So much for rehabilitation... But I digress. Picture how horrifying this is to a guy like me, who programs for a living. Not that I'm a hacker or anything, I'M NOT, but still. The sympathy pains are pretty strong!
On Guns: I don't personally hunt, so I don't have much need for 'em. I see guns as opportunities to get in trouble. If you own one, and you lose your temper, things can go FUBAR pretty fast. In countries where people aren't armed to the teeth, well, the worst that usually happens is someone gets punched in the mouth. Seems like a better situation, you know? One troubling thing is that lots of states are passing "concealed carry" laws which let everyone pack heat after filing for a license. They're arguing about that in Ohio right now. VERY SCARY. I can tell you, I won't be visiting any of THOSE states anytime soon. "Hey, you dented my bumper! You prick! POW POW POW POW!" Suuuuuure. Sounds like a GREAT idea.
On tech in general: It's a terrible shame that the U.S, which originally spawned a lot of the technology we use daily, is now setting up a situation in which new developments will be slowed down or stopped just so patent holders can make an extra buck for their portfolio and the MPAA and RIAA can keep charging inflated prices for their dopey crap.
Overall, I'm really sad about how things are going. I don't want to give up on my country just yet, I mean, Bush is going to get voted out by a massive landslide in the next election (I hope, I pray), and there's a chance someone a little more normal will get into office (I voted for Nader last time, but this time I'm voting Democrat as the "lesser of two evils" in hopes of ousting Bush even though I usually don't vote on the "why bother, it's all rigged anyway" principle...). And, a lot of the lousy legislation in place right now is under attack in the courts, so it might all be a bad memory, like a hangover that fades away, fairly soon.
Of course, if Bush gets in for a second term, anything goes. Say, how hard IS it to apply for Canadian citizenship? Unfortunately for me I don't know French so I don't think I'll be accepted in Quebec... They make you demonstrate fluency, don't they?
P.S. I do actually drive a pick up but it's a very, very small one and gets great mileage (it's a 4 cylinder, and gets "up to" 23 miles per gallon depending on conditions). The rating is 19 city, 23 highway, but I don't get quite that good results...