Sorry, I don't see that as collateral damage caused by the blockers, but as collateral damage caused by the greedy fucks that threw pop-ups and pop-unders at us in the first place.
The problem is the mentality that "by Jove, I have a sacred _right_ to make a profit. No matter who or what gets killed in the process."
In the early days of the web you'd have one banner per site. A simple.gif image, no flash, no popups, no whatever. And guess what? Noone even thought of blocking those.
It went downhill from there because of greedy fucks on _both_ sites. Greedy fucks as site owners trying to shaft the ad providers, and greedy fucks as ad providers trying to shaft everyone else. People who thought they have a sacred right to make money, no matter what collateral damage they cause. People who treated the web like the 16'th century buccaneers treated the shipping lanes: not as a useful infrastructure for everyone, but as something to plunder and rape for your own benefit.
And again, I'm not blaming just the ad providers. The site owners are as guilty, if not more. The whole dot-com crap was _based_ on the idea that "ooh, look how much they pay per ad. Let's make a site with 20+ ads per page, and rake in the big dough." Guess what, Einstein? Those rates were not calculated for that.
The plan ammounted to no less than "let's cheat the ad provider out of some money we don't deserve, and then cheat the VCs out of even more money we don't deserve." But that's ok. Only a moron would think of morals, when lining one's pcokets is at stake, right?
And from there it's been a downwards spiral of death and destruction. A race to shaft each other. A race where the site owners became more and more desperate to get money for nothing, no matter how imoral the means, and where the ad providers became more and more obnoxious to actually sell something for those money.
They thought they had a _right_ to make a sale, even if they have to kill you for it. Pop-ups, pop-unders, 500k flash animations, etc. Nothing was too much, if it could make a buck.
And noone thought of the collateral damage they're causing to the internet or to the people using it. Well, now those people are just trying to defend themselves from this crap barrage. And it seems supremely hypocritical to now blame the collateral damage on them, instead of on the greedy fucks who made popup blockers needed in the first place.
Look, noone said that this is against the GPL, but it feels lame nevetheless.
Sort of like that co-worker who fooled around and never did any useful work. And then one day you see his resume on a site, and he claims that he single-handedly designed the whole project's architecture (even though he wasn't even hired at that time), and the database (ditto), and did the business analysis (ditto), and was the top programmer and expert on _both_ the client _and_ the server sides. (Even though they were separate teams.) Feels... lame.
Or like that co-worker who stands up in a meeting and starts going "_I_ implemented that, and that other thing was _my_ idea, and _my_ leadership did that other thing for the team, etc" to impress the boss. And all of you know that he's shamelessly stealing other people's work, right in front of them.
There is no law or license against those two situations either. It just feels lame to see someone being the bad neighbour.
To it, until now everyone did the neighbourly thing and acknowledged that they're just a distro. You see them saying "SuSE Linux 9.0" or "RedHat Linux 9.0" or "Turbolinux" on their boxed products and in the install.
Then comes Sun, takes basically a SuSE distro, slaps a simple theme on the Gnome desktop, and calls it a "Java Desktop." No mention of Linux anywhere, and it makes it sound like "look what a great desktop we've made in Java." Even though there's no more Java in it than in the original SuSE distro they copied. It's in fact _not_ a java desktop.
Can they do it legally? Most probably. Does it feel lame to see someone shamelessly claim all credit for other people's work? Hell, yeah. That's all.
Actually, let me ammend your statement. It's a hacked up SuSE _without_ Java tied into any more places than SuSE already had. Which is to say: you get a JVM installed somewhere in/usr/lib/java, same as you already got in a bog-standard SuSE install, but that's all.
It's all just smoke and mirrors, and it's the saddest kind of smoke and mirrors. Java on the desktop was an abject failure (on its own flaws, not because of MS), so now Sun simply muddies the water by launching a "Java Desktop" that's in fact _not_ a java desktop. Instead of being able to compete, they simply redefine the words.
Plus... They don't even give credit where credit is due. They take a working Linux system, add a (_very_) thin coat of paint, and make it sound like it's all a big Java app. When in fact it's all a big Linux, X and GTK app, with Java having no part in it at all.
That's what leaves me with a bitter taste. Sure, they were not required by GPL to give credit, but it was the neighbourly thing to do. Same as at work there's no law that says you can't steal the co-workers code and say you've made everything and designed everything yourself. But it's really lame to see someone do that.
Same here. Sun deliberately makes it sound like their Java is doing all the work, when in fact 99.99% of the work was done by other people, and Java had nothing to do with it. And it feels lame.
Actually, from what I can tell, the reason OpenSource zealots love Sun, was because Sun had a long tradition of foaming at the mouth about how MS is the spawn of Satan. That's all. Sun used to be the corporat equivalent of a mindless foaming-at-the-mouth anti-MS zealot.
First off, I'm making a living as a Java developper since 1999. Before that, I did spend a year using it intensively at home, some 6 hours a day on the average, more on weekends. (Yes, I'm a geek.) Before that, I was a C/C++ and x86 assembly programmer.
Not meant to be bragging, just saying that I do have _some_ first hand clue of what Java can do. I'm not the biggest expert or anything, but some 5 years of experience I do have. And I'm only mentioning this because every single Java evangelist seems to immediately assumen that if you dare critize Java or Sun, you must be (1) clueless, (2) sold body and soul to Microsoft and dotNET, (3) a heretic, or (4) all the above.
That said, I do _not_ want a Java desktop. Java on the server is ok. On the desktop it's a fscking catastrophe.
1. The garbage collector does _not_ play nice with swapping.
A C++ program keeps running happily when it's allocated more RAM than a machine has. I've recently been playing a 3D real-time game, with its internal in-memory trace logging turned on. It still ran just happily when it had allocated 768 MB on a 512 MB machine. When it did slow down, was when I tried to reload a new game and it had to go through all those millions of little objects to de-allocate them.
Now turn that last bit around in your head. That's what the stupid garbage collector does in Java. And not only once. It does that all the time.
Fact: a 100% pure Java system (OS, Apps, all) would already thrash to death when it has allocated 513 MB on a 512 MB machine. It has to repeatedly load each 4k page from the swap file, check some object in it, discard it again to load the next page. Several times per gc pass. Data which otherwise in C would be passive most of the time, and stay paged out, in Java it's brought back into RAM all the time by the gc.
This is not speculation, I've actually seen it happen.
2. What makes it worse is that a Java program take more RAM than a C++ program. I've once had to program the same GUI utility in both C and Java, because the client wanted both versions. The C version took under 1 MB in RAM. The Java version took 16 MB. And the client literally went, "Whaaat?! Why does this take up so much RAM?"
Now 16 MB isn't sounding like that much by itself, but when you have a system based on gazillions of small utilities and daemons and whatnot, it adds up _very_ quickly.
So in practice, my guess is that if someone coded the exact same OS and apps, once in Java and once in C++, by the time the C++ version hasn't even filled half of those 512 MB RAM, the Java version already requires over 2 Gigabytes or it thrashes. Which, sorry, is entirely unrealistic to expect on a home computer today.
3. Even if you don't have 100% of what's on the system in Java, the Java parts will still take up too much RAM and will act all elbows to the other apps. Again, the Java gc will keep bringing all their allocated memory back in RAM, forcing all the other apps out of memory. So, no, I don't want major Java apps on my desktop. I do _not_ want a Java spreadsheet or word processor pushing everything else into swapping.
4. Swing, sad to say, is broken by design. You can't fix it without turning it into something which is not Swing any more. Starting with the idea of drawing everything itself, to the unwieldy and memory-leak-prone listener architecture, to being inherently non-thread-safe, it's just a textbook example in how _not_ to design an UI library.
You _can_ build good programs with it, and we've actually had to, repeatedly. But the time, effort and money involved are just not worth it IMHO. Stuff which with the plain WinAPI are easy, intuitive and responsive... well, they _can_ be made to be responsive with Swing too. But by that time you've done the most perverse and unnatural tricks, needed a _lot_ more clue than in the C version, and have spent man-months just tracking down listener leaks.
You see, the thing you still don't get about science is that it's _not_ about belief. Not in induction, not in the physical world, not in anything. Anything is potentially wrong.
To repeat myself: your job as a scientist is not only to keep an open mind to the possibility that everything you've learned _could_ be wrong, but to actially try to _prove_ it wrong. Every single scientiffic progress ever made was made by proving that a previous theory was wrong or incomplete. Gallileo, Newton, Einstein, Heisenberg, etc, did just that: proved an older theory wrong.
So yes,
1. Induction too may be wrong. If someone can produce a verifiable case where induction produces the wrong result, then I'll accept it as wrong.
2. Au contraire, see how many geeks are fond of theories where the real world could be a simulation. Or the popularity of the movie "Matrix." It is one of my pet hypotheses, in fact.
3. As they say, the devil is in the details. You just gave your own answer when you've said "to the extent that they appear inconsistent, we just haven't defined them well enough yet." That is what sets science apart from theology: the belief that everything may not be well enough defined yet. (Or for that matter, could be completely wrong defined yet.) Show me a religion which is as open minded ("yeah, we could be wrong about God. We're trying to define Him better, but so far this is the data we have"), and then we'll talk.
4. No, it's more like:
4.a. "It's better to believe something verifiable than something taken on belief." Show me one experiment which measures the will of god, and I'll accept it in a jiffy.
4.b. "It's more useful to believe something which can be used to build upon, than something which just explains what happened." See, that's the difference between the Newtonian mechanics and "uh, apples fall because God wanted to." God wanting it to gives just some makeshift explanation about what _is_, while the Newtonian mechanics allows you to calculate new stuff. E.g., ballistics.
I.e., when you show me a religion which gives me the maths and rules to design, say, a divine transistor, and then we'll talk. That'll be one useful religion indeed.
Re:Why vim is better than joe (and obviously emacs
on
JOE Hits 3.0
·
· Score: 1
Oh, fscking, please... Now I could understand this kind of bullcrap for administrating some heterogenous mix of servers. But for programming?
1. Tell you what. I'll take a proper IDE instead. Because programming isn't about typing. Replacing text that's already there is good and fine, but showing me the methods/parameters/source/javadocs for some obscure module that someone else wrote, now that's what makes or breaks maintenance and debugging. Yes, I could string endless pipelines of grep, sed, and whatever else, to get to that text. But I'd rather leave those menial tasks to the computer, and use my mind for the thing I'm actually paid for: programming.
2. Do I use _all_ features in that IDE? No. Do I use enough of them to make me more productive than the nostalgic monkeys who still do all that via the command line? You bet.
Do I remember _all_ commands and their shortcuts? No, of course not. Do I know where to find them in the menus when I do need them? Yep. That's the good part about having a good GUI: discoverability.
Well, that's good enough for me, then.
3. CPU-wise, I don't give a flying fsck. The age of the PC/286 was a decade ago. Now any workstation (yes, even the crap underpowered ones from Sun) has enough horsepower to run a proper IDE. In fact, to run a dozen of them at the same time, without missing a beat.
Briefly: I don't have to stick to an outdated POS whose only reason to exist was that it runs on a text-only terminal with a 300 baud modem. Get over it already.
4. For that matter, I don't give a flying fsck about the "it's installed on all machines" either. I don't want to program on all machines. I'll jolly well sit at my workstation and use something comfortable instead.
Well, I can't speak about everyone, but I can speak for myself. Indeed the exact same kind of curiosity did drive me to read the Bible, and the Koran, and a few others, and about the history of religions.
But that kind of curiosity could never drive me to be a closed mind, mindlessly believing something just because an old fairy tale said so. Religion is exactly contrary to what the scientific method is all about.
Science has no answers that are cast in stone and holy. No 10 commandments of Newton, or some such. The whole idea of science is not to believe blindly in what you've read in that physics book in school, but to actually try it for yourself, and actually try to prove it _wrong_. Or to find its limits. (E.g., Einstein's theory is precisely about where Newton's fails.)
Science is also about stuff that's not just "God wanted apples to fall", but stuff which gives you something you can build with. All those funny physics laws aren't there just to give you a feel-good impression of understanding why the already existing stuff is there. but let you design and build new stuff.
A truly curious mind has a _lot_ of research they can do in the science world. Even if you don't do fundamental research, science gives you a way to predict things like "if I design an engine so and so, it ought to have this many HP" or "if I design an integrated circuit so and so, it ought to run at 3 GHz." And then you can build that stuff and see if it actually works that way.
But you get exactly _zero_ of that in the religion world. You're going to research... what? What are those truths set in stone going to do for an inquisitive mind?
Ah, the retarded fanboys. As the saying goes, "Jesus is OK, but his fanboys piss me off."
Basically: what's your problem, Beavis? Why can't I just enjoy a quiet meal, without some retard coming and disturbing it?
Why can't you just go to your fscking heaven, and let me go to a warm place instead? Affraid that you'll be alone up there, or?
And I'm going to say something else: is your God so impotent, that he needs such retards to do his work? If He wants to talk to me, heck, He knows where to find me. What's the matter? He's so little and weak that he can't even do that Himself?
So basically go fsck yourself and your pitiful protection racket. "Oooh, come obey us or you'll burn in hell." Right. If that's not a mafia type protection racket, I don't know what it is.
And as mafia rackets go, yours is so lame. At least the mafia types do that right. They have the balls to put up a better threat than that some imaginary fairy will do stuff to you after death.
Well, I'm essentially agnostic, but that doesn't stop me from thinking that a God _could_ exist. It comes from playing such games as MMO games or Tropico.
In case you're not a gamer, Tropico went one step beyond traditional city building sims. In a normal city building sim every building has a fixed radius of influence, and that's that. E.g., you place a shrine, and thereafter everything within 1 mile has their religion need maxed up.
In Tropico there was no such thing. The people in the game were intelligent enough to go about satisfying their own needs. When sick, they went to the doctor, when bored they went to a pub or cinema, and when hungry they went and bought food. They crossed half the island on foot, if needed, rather than sit and starve. They also had friends, moods, thoughts, families, political preferences, etc. They'd even stop and talk to each other, so rumours or knowledge would spread.
They were intelligent creatures.
So it just makes me wonder... What happened if someone had a big enough computer to really simulate _humans_? Would that count as God?
Note that this doesn't contradict any scientiffic thought, and creates no paradoxes. This kind of God is _outside_ the universe he created. The universe is in the machine's RAM, while God is the programmer outside it. He is not omnipotent, and most definitely not omnipotent in His own world, but has tremendous power when it comes to the simulated world in His computer. He could nuke cities in the blink of an eye, cause mountains to rise or crumble, or, yes, cover it all in water just for a bit of virtual sadistic fun.
Mind you, I'm not basing any theories upon this, nor taking it as some certain fact. Just, well, to quote your own words "the only intellectually honest thing" is to also consider such a possibility, among many other possibilities.
Well, I'll probably just get modded down for that, but it probably just needs to be said. A lot of techies are just arrogant fucktards.
Yes, some people can't explain well. That's fine by me. Teaching and programming (or teaching and hardware) are very different skills. I'm not surprised that a lot of people only have one, but not both. I'm not particularly good at teaching myself.
On the other hand, what surprises me is a lot of arrogance along the lines of "if you weren't born knowing every single bit of trivia that I do, then you're an idiot. No matter how useless that bit of trivia may be to you, you're a retard if you don't already know it."
Point in case, try pointing out on slashdot that something could use a better interface. E.g., that an average user might not know how to configure something. (E.g., that they need to manually eddit some file hidden in/etc/X11R6/plugins/myApp. Oh yeah, and be sure no to miss the personalized version in the hidden.myApp/etc/config directory in your home directory.) Or that they may not know how to pipe grep, sed and half a dozen other obscure commands together to achieve some task with the command line.
Want to bet what kind of answers you'll get? I'm telling you: "Well, why do we have to catter to the idiots anyway? I'm perfectly content to write code only for the smart ones. The rest of the lusers can go back to Windows, and spare me their point-and-drool baggage." That's pretty much the new mantra.
The assumption is that someone doesn't instinctively know sed and regular expressions, or if they don't instinctively know all the locations of some obscure app's config files... bah, they're idiots. Not "unknowledgeable". Idiots. Stupid. Retards. That's how a lot of people perceive the rest of the world.
No matter what other skills that user has. No matter how irrelavant it is to their job to know where my program keeps its data. If they don't automagically know that, they're idiots. If they have better stuff to do with their time, they're retards and losers.
And I'm thinking that this arrogance is the real stupidity in this industry.
More like the current crop of FPS teaches you that, unlike what the military thinks:
1. Weapons have some ludicrious spread, so you have to go point blank to use them. (E.g., if a squad support weapon had the idiotic spread from CS, it would be f***ing useless at its rated effective range. Noone takes cover if the probability to get hit is once in half an hour of full auto firing.)
2. Which is ok, because all battles happen at 100 ft ranges. Any battlefield will be small and surrounded by conveniently placed fences, barriers, small twigs, and other unpassable obstacles.
3. Suppression never works. Not on NPCs, not on players, never.
4. The enemy always wears clearly identifiable uniforms or outfits, and you know exactly where they spawned.
5. For that matter, you know where everything is on the map.
6. There are no surprise attacks, and no standing guard for 3 hours in the rain. You know when they attack, because the round just started.
7. Jumping is always better than running. Experienced veteran troops bunny-hop their way to the enemy lines.
8. Just as good that you can jump, because you can't _climb_ over any obstacles. Ever. Even if it's a small chair or a low chainlink fence, you just have to jump over.
9. If it's too tall, you can always grenade/rocket jump. Shooting a grenade at your own feet won't hurt you much.
10. For that matter, they don't hurt the enemy too much either.
11. Everything is solvable by camping in... erm... sniping from a hidden corner. Even attack missions. Heck, _especially_ attack missions. Even if nothing comes in front of your sniper scope, at least you didn't get fragged in that round.
I'd suspect a lot of them got into it just to earn a living, or to get an education. I don't think everyone was basically thrilled to go get shot in Iraq.
Or to put it otherwise, it's like saying that everyone who got a drivers' license knew that accidents happen, so they don't deserve any sympathy. Well, they did know, but they believed it would never happen to them.
Well, I don't know about others, but I have no beef with the poor soldiers sent to fight pointless wars. You guys have all my sympathy there.
I do blame the ones who make decisions, but... well, you know, somehow it's hard not to generalize some more. Seeing how US presidential ratings jump sky high each time someone gets bombed... sorta makes me suspect that _some_ people down there must indeed get all excited at the idea of bringing more war and instability to this planet.
I don't know who those people are. Probably not you. Still, kinda makes me nervous.
Now to be fair, it's not like the USA is that much different from the rest of the world.
I've seen, for example, such touching pieces as an interview with a widdow, somewhere in the middle east, some long time ago. She was showing a church where some of their people were hiding during an attack. Apparently an artillery shell went in through a window and exploded right inside it, killing everyone. She was asking for international support to... give their side some more weapons, so they can go do the same to the enemy. It made me sick.
And I'm not even getting into stuff like third world countries cheering that they've spent hundreds of billions on nuclear research, to terrorize some equally poor neighbour with. You'd think they could have done better stuff with that money. Like feed their own people. Build some factories. Whatever.
I'm starting to suspect that the human species as a whole is a little deffective.
Oh f***ing please... if you guys don't want dictators and corruption world-wide, how about you stop installing and/or supporting them? I can't think of any place after WW2 where the US army or CIA were involved in a government change, that didn't _result_ in dictatorship and corruption.
Heck, even Iraq is now well on the way to become a fundamentalist islamist state. It was a secular state which was _no_ friend of Osama, nor of Osama's fundamentalist vision.
Here's another idea: how about you mind your own protection, and let other people mind theirs? There's a (not so) fine line between "promoting democracy" and "school bully." Or between "protecting freedom" and "protection racket".
Just wanted to add a thing about the perceived inflexibility that comes with age. The "gee, these old farts just can't let go of their old FORTRAN habbits" factor.
The first time it looked to me like a framework I was forced to use was total crap, I actually stopped and thought about it. "Am I getting too old to learn new stuff?" That kind of thing.
You know what? Now I know it's not it. I've learned new techniques and frameworks since then, and as far as I know I was considered good with that crap framework too.
Some stuff is just crap. And at some point, you just have the experience to realize that not only it doesn't help you, but you could do it three times faster without the snake oil forced onto you from above. In fact, that you _have_ done it three times faster before.
There are good techniques and bad techniques. There are good frameworks and bad frameworks. In fact, there is even a recipe for making good or bad frameworks.
A good framework is stuff that you've actually needed over the years. Those neat functions you've refactored and added to your personal library, those cleverly pipelined objects to do a clearly defined task, etc. Even if you don't call it a framework, that's what it is. And the best frameworks out there are born that way: someone actually needed that stuff.
And even then, it's good only for the task it was intended to do.
A bad framework is one that was built just to be sold to incompetent managers. It isn't there to scratch an itch someone had when coding a complex program, it's there just so you have some framework to sell. It wasn't actually tested on an actual project, and once you have to use it, you can tell.
Management, however, has no idea of what's useful for your project, or even useful for anything. The pipe dream in programming is to achieve an equivalent of the industrial production. A state where some generic machine tools allow you to take generic unskilled workers off the street, and have them mindlessly churn goods at an assembly line.
And thousands of parasitic companies make a living by selling them snake oil that promises to do just that. It's stuff which wasn't written to help the programmer, but to look good to the boss.
E.g., stuff which has a funny visual interface, but no debugger and makes any refactoring physically impossible. Not only by not allowing you to do that in the editor, but also saving your code in some proprietary binary file, so you can't get it to it with Notepad or vi either.
It's a bad framework.
And, yes, someone will have enough experience to say "why the heck are we using this crap, when in plain C++ we could have the same program ready two months earlier?" And they'll be perceived as inflexible non-adaptable old farts. Congrats buddy, you've just nominated yourself for the next round of layoffs. That's just the way it goes.
Well, I'm going to say that somewhat, in a warped way, there may be a some truth in there too.
I'm 33 now, so I wouldn't know about 40, and I do still try to stay on top of my field. But I can see a bit of a trend in myself and some co-workers, of yes, essentially becoming too qualified for what management has in mind.
I'll bring just two issues here:
1. With experience comes the desire to do things safer and better.
E.g., to put it mildly, you can tell the difference between people who have written and _maintained_ on a 200,000+ line program before, and those who come from 200 line college assignments that never need maintenance. The 200 line crowd still thinks that structured code, comments, strong typing or conventions, and test cases, are a stupid waste of time. Whoever had to maintain someone else's 200,000+ line spagetti code, thinks otherwise.
E.g., having run into buffer overflows and tons of exploits, attacks and bugs before, I like to code defensively. It's still nowhere near 100% bug free, of course. But, you know, every little bit helps.
Things like these add up to require more time. Time to write test cases, time to preventively code against possible exploits, time to basically make a better program. Note that I'm _not_ advocating turning it into needing 4 years per function, but a little more time you do need.
That's not what the management wants and not what the client wants. The client awards the contract to the moron who said they'd do a whole enterprise system in 2 weeks, not to the old farts who did the proper design. The client is a manager who doesn't even understand that design. It's not their job to. They only understand "it takes X days and costs Y thousands." It's just a fact. Invariably they think they'll save money. Then 3 weeks later they actually do get something, even if it's barely a demo, and an unmaintainable one at that. And they still appreciate it.
Of course, they don't appreciate it later when they have endless bugs, and any kiddie can make themselves admin by just editting the URL. But the impression has already been made nevertheless. "Gee, those older guys wanted two weeks more. What for? Lazy bums waiting for retirement, the lot of them."
2. There is a certain cheerful enthusiasm in having no experience. If they tell you to code for the Snake Oil Enterprise Edition framework, you do it. You don't question it. You might even find it fun, since it's learning new stuff. Horribly bloated, inefficient and buggy stuff, but new stuff nevertheless.
By contrast, when you've already have been through more languages than you have fingers and toes, and twice as many libraries and frameworks... you start asking uncomfortable question. Questions like "why did we spend 6 months just working around the bugs in the Snake Oil Enterprise Edition framework, when coding the whole thing without it would have taken 1 month?" Or questions like "why the heck are we still using that Snake Oil framework, even though it's buggy and makes the whole server crawl with 20 concurrent users already?"
Management hates workers who ask too many questions. Really incompetent management also loves analogies like "we're the generals who know everything, while you're the ignorant soldier who knows nothing." They don't like you coming and reminding them that they did the incompetent thing, and took a stupid decision without asking. They don't need to ask. They're managers. They're right by definition. They can't ever be wrong.
Well, I was reading some article on www.theregister.co.uk that apparently half of the divorces in the UK are about online adultery. So, well, I'm guessing not only they're not saying it's not real, they end up in a divorce court over it. Whether or not they believe in Jesus:)
Partially unrelated, I'm not a religious person, but you do bring a valid point there about the intent in someone's heart. I guess that's one point that makes the most difference, whether in real life or online.
E.g., if two men look at the same painting of a woman, one seeing it as a work of art, and one as "whoa, I'd love to **** her"... I'm guessing even by Jesus's terms only one is commiting a sin, right?
Well, I'm guessing that's the one bit that would have to be explained the most about online games too, to help some people get over the "whoa, it's training murderers" fits. The majority of people, myself included, don't see them as virtual dismembering someone, but as playing a peaceful competition with a group of friends. Same as paintball or tennis or golf. Play a few rounds, chat a bit, look at the score table, say "good game" and be on your way. Noone was killed, and no murder was in anyone's heart.
I'm guessing even by Jesus's terms that would be ok, right?
Actually, it's the exactly other way around. What created a middle class was having a surplus of goods for that middle class to buy. If you tried creating a middle class during, say, the middle ages, the surplus that the middle class could buy would have just made everyone else starve.
Money isn't the alpha and omega. In the global scheme of things, it's just a means in the circulation of products and resources. No more, no less. What counts is how much stuff can your population buy, not how money do they earn.
Don't believe me? Some of the communist regimes tried fixing prices without regards to the salaries and production capacity. The only thing that resulted was a shortage of goods. There just was less stuff on the market than the people had money for.
So pay attention: it doesn't matter how much money your population earns, it matters how much goods can you sell them. That's all. The prices-to-salaries ratios will automatically adjust based on that.
And I fail to see how a worldwide increase in goods production is a bad thing. On the whole, the number of tons of consumer goods produced worldwide is raising. Someone has to buy those. Salaries will increase or prices will drop, but either way, someone will afford to buy more stuff out of their salary.
I'm somewhat of an apathic agnostic myself. (I don't know if there's a God, or if it's the Cristian one, and I don't give a rat's ass about that either.)
Still, as someone who did play online _a_ _lot_, it seems to me like a SimChurch can emulate that very well. There are tons of people whose life doesn't just revolve around Everquest or CounterStrike or whatever, but is very much spent _in_ it.
There are some _very_ strong friendships formed online, between people who've never met each other IRL. You'd be surprised how strongly people can react to hearing that guy you groupped with online got ran over by a car. Virtual monuments or shrines have already been "built" online to such people.
Or take all those FPS clans. Much as I disdain 90% of them as being little more than circles of retards trying to impress each other, by acting like a bigger retard, they often serve just that function: they're an online circle of peers you can feel some unity with.
Or some people actually do charity work online, so to speak. I used to. A lot. Whether it's downright twinking, or voluntarily spending time showing a newbie the ropes, it's nevertheless spending some of your time helping a fellow human being.
All of that makes no sense if you want to think of it as "bah, it's not real and it's not social interaction". (Griefers love to think like that.) But it makes a lot of sense if you think about it as "it's still another human being at the other end of the line." Whether it's over a telephone, or over SMS, or an online 3D representation, it's still interaction between humans.
Well, having started on a Z80 with 1K RAM and with programming machine code in hex, I'd say I'm an even older fart than you are;) I've also continued through such stuff as 3D software rendering, where, yes, you needed to inline by hand and do the most perverse and unnatural assembly tricks to get it to run fast on a 386. Think: not only messing with jump prediction, but organizing the data to maximize the cache benefits and minimize the number of memory access cycles.
Yeah, that was great fun. I hear you. Glad to meet someone who still remembers that.
Still, I'm going to say something different. Those days are not necessarily gone, they've just moved to a different level.
Nowadays you don't have to save 7 CPU cycles in a database program, since the CPU will wait 100,000,000 cycles for the database's response anyway. However, optimizing your use of the database (e.g., using a single select, instead of a flurry of 1000 selects) might just do the trick.
E.g., you don't have to save 7 CPU cycles in an EJB method, since the RMI/IIOP invocation itself will take some 2,000,000 cycles. However, optimizing the overall design to use 1 large RMI/IIOP call instead of 100 smaller ones, pays off big time.
And it's not that big a change. Even in the good old days, as you surely remember, the biggest wins were not from just knowing assembly, but from addapting the algorithm to the underlying machine. E.g., your example of reversing the jump condition is just that. Still, the best programmers were not those who could write a naive bubble sort in assembly, but those who had both a solid knowledge of the machine and of algorithms.
And I'll say that the need for that hasn't gone away. I still routinely see projects which end up with major performance problems, because of a combination of piss-poor coding and lack of knowledge of even the most basic algorithms and data structures. I see even frameworks where someone thought it was cute to invoke individual getters and setters over TCP/IP, instead of having one single call for the whole data object.
(Point in case: Sun's first entity beans specification was just that: data objects with the individual getters and setters invoked over RMI/IIOP. And with no dirty flag, so even purely read-only access caused them to be written back to the database anyway.)
While everyone quotes Moore's law to justify piss-poor coding and lack of skill, what they seem to ommit is that the size of the data sets to be processed also increases. While 30 years ago, 1 MB was a damn huge disc, nowadays multi-terrabyte databases exist.
So in the end they still end up having to optimize that mess of poor performing code, and often to hire a very expensive consultant for that.
So what changed is not that the need for good performance went away, but that idiot PHBs like to pretend that it went away. Or that security concerns went out of fashion, in an age where your data is (directly or indirectly) connected to the internet.
Sometimes in the 90s it came into fashion to pretend that you can take any drooling burger-flipper off the street, give him a "java for retards in 21 days" book to skim through, and have him build secure, scalable and bug-free enterprise systems. Which just doesn't happen. Half of those don't even have the mental capacity to understand elementary boolean logic.
Who do we have there having major trouble configuring CUPS? Well, blimey... it's none other than Eric Raymond. _The_ Eric Raymond.
So spare me the self-righteous crap about idiot lusers and cattering only for the smart ones. There's plenty of smart and even Unix savvy people out there who have major trouble. (Again: e.g., Eric Raymond.)
You're not cattering only to smart people. You're cattering only to people who have no life and are glad to spend some ludicrious time just getting your unfinished crap to work. You're asking that millions of hours each year be spent just debugging your code, cursing at outdated incomplete docs, and begging for answers on mailing lists.
Sorry, most people's time is more valuable than that. Heck, _my_ time is more valuable than that.
And this is maybe _the_ one biggest problem with OSS: the standard knee-jerk reaction to insult the users and blame them for _your_ shortcomings. It can't be that your code has a piss-poor interface or other problems, it _must_ be those idiot Windows lusers that are to blame.
Now I'm not even going to ask that you start writing for the user. Sure. Go ahead and write for yourself. But I'm getting tired of your type spewing insults. No, it's not the users who are stupid, it's you who can't write a good program. It's that simple. Now go fsck yourself next time you feel like insulting a user.
Not trying to flame, but just as an observation about "Religious Blindness". Believe me, it's very real.
Try posting about even the need for a GUI at all, and you get a hundred angry Defenders Of The Holy CLI at your throat. They'll latch onto any particular shortcoming of _one_ GUI, and act like the it's the definitive proof that _all_ GUIs are inherently bad.
E.g., for all you zealots out there: yes, the Windows file manager allows you to accidentally drag-and-drop instead of double-click. Get over it. It affects only one program: the Windows file manager. It doesn't say that a GUI for, say, configuring an application server, would _have_ to clone that mis-functionality. In fact, chances are it probably wouldn't even need drag-and-drop functionality.
E.g., yes, some OSS config GUIs are a flaming disaster. They use their own undocumented files to remember the changes, and overwrite your changes in the actual config files. Big deal. It's just awful design, not an inherent shortcoming of any GUI, nor proof that GUIs are inherently crap. A well designed GUI, which only uses the exact same config files that it changes, would not have this problem.
Try posting anything even remotely related to usability, and... well, you get the exact same answers. "Go away and play with your pirated version of Windows, we don't need lusers who can't use the CLI." Somehow that's the new mantra.
Look, I'm not going to argue that the current capitalism has its flaws even if you don't get religious about it.
And you could even argue about the credit card number or SSN as being the mark of the beast. I can see _some_ way in which you could say they symbolize accepting the religion of money. I'm not religious, but honestly, the current rush where all that matters is making a profit _this_ _quarter_, even if it means alienating your customers and burning your bridges... well, it can't be healthy and it _is_ to some people almost a religion.
But a medical implant that could save people from paralysis? Gimme a break. If that's the fabled mark of Satan, and if God's going to punish the poor paralyzed people who get treated... then I guess I'm just about ready to embrace Satanism. Obviously Satan cares more, then.
That's all I'm saying. There are many things which could be (mis)interpreted as the fabled mark of the beast, but this?
Sorry, I don't see that as collateral damage caused by the blockers, but as collateral damage caused by the greedy fucks that threw pop-ups and pop-unders at us in the first place.
.gif image, no flash, no popups, no whatever. And guess what? Noone even thought of blocking those.
The problem is the mentality that "by Jove, I have a sacred _right_ to make a profit. No matter who or what gets killed in the process."
In the early days of the web you'd have one banner per site. A simple
It went downhill from there because of greedy fucks on _both_ sites. Greedy fucks as site owners trying to shaft the ad providers, and greedy fucks as ad providers trying to shaft everyone else. People who thought they have a sacred right to make money, no matter what collateral damage they cause. People who treated the web like the 16'th century buccaneers treated the shipping lanes: not as a useful infrastructure for everyone, but as something to plunder and rape for your own benefit.
And again, I'm not blaming just the ad providers. The site owners are as guilty, if not more. The whole dot-com crap was _based_ on the idea that "ooh, look how much they pay per ad. Let's make a site with 20+ ads per page, and rake in the big dough." Guess what, Einstein? Those rates were not calculated for that.
The plan ammounted to no less than "let's cheat the ad provider out of some money we don't deserve, and then cheat the VCs out of even more money we don't deserve." But that's ok. Only a moron would think of morals, when lining one's pcokets is at stake, right?
And from there it's been a downwards spiral of death and destruction. A race to shaft each other. A race where the site owners became more and more desperate to get money for nothing, no matter how imoral the means, and where the ad providers became more and more obnoxious to actually sell something for those money.
They thought they had a _right_ to make a sale, even if they have to kill you for it. Pop-ups, pop-unders, 500k flash animations, etc. Nothing was too much, if it could make a buck.
And noone thought of the collateral damage they're causing to the internet or to the people using it. Well, now those people are just trying to defend themselves from this crap barrage. And it seems supremely hypocritical to now blame the collateral damage on them, instead of on the greedy fucks who made popup blockers needed in the first place.
Look, noone said that this is against the GPL, but it feels lame nevetheless.
Sort of like that co-worker who fooled around and never did any useful work. And then one day you see his resume on a site, and he claims that he single-handedly designed the whole project's architecture (even though he wasn't even hired at that time), and the database (ditto), and did the business analysis (ditto), and was the top programmer and expert on _both_ the client _and_ the server sides. (Even though they were separate teams.) Feels... lame.
Or like that co-worker who stands up in a meeting and starts going "_I_ implemented that, and that other thing was _my_ idea, and _my_ leadership did that other thing for the team, etc" to impress the boss. And all of you know that he's shamelessly stealing other people's work, right in front of them.
There is no law or license against those two situations either. It just feels lame to see someone being the bad neighbour.
To it, until now everyone did the neighbourly thing and acknowledged that they're just a distro. You see them saying "SuSE Linux 9.0" or "RedHat Linux 9.0" or "Turbolinux" on their boxed products and in the install.
Then comes Sun, takes basically a SuSE distro, slaps a simple theme on the Gnome desktop, and calls it a "Java Desktop." No mention of Linux anywhere, and it makes it sound like "look what a great desktop we've made in Java." Even though there's no more Java in it than in the original SuSE distro they copied. It's in fact _not_ a java desktop.
Can they do it legally? Most probably. Does it feel lame to see someone shamelessly claim all credit for other people's work? Hell, yeah. That's all.
Actually, let me ammend your statement. It's a hacked up SuSE _without_ Java tied into any more places than SuSE already had. Which is to say: you get a JVM installed somewhere in /usr/lib/java, same as you already got in a bog-standard SuSE install, but that's all.
It's all just smoke and mirrors, and it's the saddest kind of smoke and mirrors. Java on the desktop was an abject failure (on its own flaws, not because of MS), so now Sun simply muddies the water by launching a "Java Desktop" that's in fact _not_ a java desktop. Instead of being able to compete, they simply redefine the words.
Plus... They don't even give credit where credit is due. They take a working Linux system, add a (_very_) thin coat of paint, and make it sound like it's all a big Java app. When in fact it's all a big Linux, X and GTK app, with Java having no part in it at all.
That's what leaves me with a bitter taste. Sure, they were not required by GPL to give credit, but it was the neighbourly thing to do. Same as at work there's no law that says you can't steal the co-workers code and say you've made everything and designed everything yourself. But it's really lame to see someone do that.
Same here. Sun deliberately makes it sound like their Java is doing all the work, when in fact 99.99% of the work was done by other people, and Java had nothing to do with it. And it feels lame.
Actually, from what I can tell, the reason OpenSource zealots love Sun, was because Sun had a long tradition of foaming at the mouth about how MS is the spawn of Satan. That's all. Sun used to be the corporat equivalent of a mindless foaming-at-the-mouth anti-MS zealot.
First off, I'm making a living as a Java developper since 1999. Before that, I did spend a year using it intensively at home, some 6 hours a day on the average, more on weekends. (Yes, I'm a geek.) Before that, I was a C/C++ and x86 assembly programmer.
Not meant to be bragging, just saying that I do have _some_ first hand clue of what Java can do. I'm not the biggest expert or anything, but some 5 years of experience I do have. And I'm only mentioning this because every single Java evangelist seems to immediately assumen that if you dare critize Java or Sun, you must be (1) clueless, (2) sold body and soul to Microsoft and dotNET, (3) a heretic, or (4) all the above.
That said, I do _not_ want a Java desktop. Java on the server is ok. On the desktop it's a fscking catastrophe.
1. The garbage collector does _not_ play nice with swapping.
A C++ program keeps running happily when it's allocated more RAM than a machine has. I've recently been playing a 3D real-time game, with its internal in-memory trace logging turned on. It still ran just happily when it had allocated 768 MB on a 512 MB machine. When it did slow down, was when I tried to reload a new game and it had to go through all those millions of little objects to de-allocate them.
Now turn that last bit around in your head. That's what the stupid garbage collector does in Java. And not only once. It does that all the time.
Fact: a 100% pure Java system (OS, Apps, all) would already thrash to death when it has allocated 513 MB on a 512 MB machine. It has to repeatedly load each 4k page from the swap file, check some object in it, discard it again to load the next page. Several times per gc pass. Data which otherwise in C would be passive most of the time, and stay paged out, in Java it's brought back into RAM all the time by the gc.
This is not speculation, I've actually seen it happen.
2. What makes it worse is that a Java program take more RAM than a C++ program. I've once had to program the same GUI utility in both C and Java, because the client wanted both versions. The C version took under 1 MB in RAM. The Java version took 16 MB. And the client literally went, "Whaaat?! Why does this take up so much RAM?"
Now 16 MB isn't sounding like that much by itself, but when you have a system based on gazillions of small utilities and daemons and whatnot, it adds up _very_ quickly.
So in practice, my guess is that if someone coded the exact same OS and apps, once in Java and once in C++, by the time the C++ version hasn't even filled half of those 512 MB RAM, the Java version already requires over 2 Gigabytes or it thrashes. Which, sorry, is entirely unrealistic to expect on a home computer today.
3. Even if you don't have 100% of what's on the system in Java, the Java parts will still take up too much RAM and will act all elbows to the other apps. Again, the Java gc will keep bringing all their allocated memory back in RAM, forcing all the other apps out of memory. So, no, I don't want major Java apps on my desktop. I do _not_ want a Java spreadsheet or word processor pushing everything else into swapping.
4. Swing, sad to say, is broken by design. You can't fix it without turning it into something which is not Swing any more. Starting with the idea of drawing everything itself, to the unwieldy and memory-leak-prone listener architecture, to being inherently non-thread-safe, it's just a textbook example in how _not_ to design an UI library.
You _can_ build good programs with it, and we've actually had to, repeatedly. But the time, effort and money involved are just not worth it IMHO. Stuff which with the plain WinAPI are easy, intuitive and responsive... well, they _can_ be made to be responsive with Swing too. But by that time you've done the most perverse and unnatural tricks, needed a _lot_ more clue than in the C version, and have spent man-months just tracking down listener leaks.
Oh yes, that was one traumatic moment.
You see, the thing you still don't get about science is that it's _not_ about belief. Not in induction, not in the physical world, not in anything. Anything is potentially wrong.
To repeat myself: your job as a scientist is not only to keep an open mind to the possibility that everything you've learned _could_ be wrong, but to actially try to _prove_ it wrong. Every single scientiffic progress ever made was made by proving that a previous theory was wrong or incomplete. Gallileo, Newton, Einstein, Heisenberg, etc, did just that: proved an older theory wrong.
So yes,
1. Induction too may be wrong. If someone can produce a verifiable case where induction produces the wrong result, then I'll accept it as wrong.
2. Au contraire, see how many geeks are fond of theories where the real world could be a simulation. Or the popularity of the movie "Matrix." It is one of my pet hypotheses, in fact.
3. As they say, the devil is in the details. You just gave your own answer when you've said "to the extent that they appear inconsistent, we just haven't defined them well enough yet." That is what sets science apart from theology: the belief that everything may not be well enough defined yet. (Or for that matter, could be completely wrong defined yet.) Show me a religion which is as open minded ("yeah, we could be wrong about God. We're trying to define Him better, but so far this is the data we have"), and then we'll talk.
4. No, it's more like:
4.a. "It's better to believe something verifiable than something taken on belief." Show me one experiment which measures the will of god, and I'll accept it in a jiffy.
4.b. "It's more useful to believe something which can be used to build upon, than something which just explains what happened." See, that's the difference between the Newtonian mechanics and "uh, apples fall because God wanted to." God wanting it to gives just some makeshift explanation about what _is_, while the Newtonian mechanics allows you to calculate new stuff. E.g., ballistics.
I.e., when you show me a religion which gives me the maths and rules to design, say, a divine transistor, and then we'll talk. That'll be one useful religion indeed.
Oh, fscking, please... Now I could understand this kind of bullcrap for administrating some heterogenous mix of servers. But for programming?
1. Tell you what. I'll take a proper IDE instead. Because programming isn't about typing. Replacing text that's already there is good and fine, but showing me the methods/parameters/source/javadocs for some obscure module that someone else wrote, now that's what makes or breaks maintenance and debugging. Yes, I could string endless pipelines of grep, sed, and whatever else, to get to that text. But I'd rather leave those menial tasks to the computer, and use my mind for the thing I'm actually paid for: programming.
2. Do I use _all_ features in that IDE? No. Do I use enough of them to make me more productive than the nostalgic monkeys who still do all that via the command line? You bet.
Do I remember _all_ commands and their shortcuts? No, of course not. Do I know where to find them in the menus when I do need them? Yep. That's the good part about having a good GUI: discoverability.
Well, that's good enough for me, then.
3. CPU-wise, I don't give a flying fsck. The age of the PC/286 was a decade ago. Now any workstation (yes, even the crap underpowered ones from Sun) has enough horsepower to run a proper IDE. In fact, to run a dozen of them at the same time, without missing a beat.
Briefly: I don't have to stick to an outdated POS whose only reason to exist was that it runs on a text-only terminal with a 300 baud modem. Get over it already.
4. For that matter, I don't give a flying fsck about the "it's installed on all machines" either. I don't want to program on all machines. I'll jolly well sit at my workstation and use something comfortable instead.
Well, I can't speak about everyone, but I can speak for myself. Indeed the exact same kind of curiosity did drive me to read the Bible, and the Koran, and a few others, and about the history of religions.
But that kind of curiosity could never drive me to be a closed mind, mindlessly believing something just because an old fairy tale said so. Religion is exactly contrary to what the scientific method is all about.
Science has no answers that are cast in stone and holy. No 10 commandments of Newton, or some such. The whole idea of science is not to believe blindly in what you've read in that physics book in school, but to actually try it for yourself, and actually try to prove it _wrong_. Or to find its limits. (E.g., Einstein's theory is precisely about where Newton's fails.)
Science is also about stuff that's not just "God wanted apples to fall", but stuff which gives you something you can build with. All those funny physics laws aren't there just to give you a feel-good impression of understanding why the already existing stuff is there. but let you design and build new stuff.
A truly curious mind has a _lot_ of research they can do in the science world. Even if you don't do fundamental research, science gives you a way to predict things like "if I design an engine so and so, it ought to have this many HP" or "if I design an integrated circuit so and so, it ought to run at 3 GHz." And then you can build that stuff and see if it actually works that way.
But you get exactly _zero_ of that in the religion world. You're going to research... what? What are those truths set in stone going to do for an inquisitive mind?
Ah, the retarded fanboys. As the saying goes, "Jesus is OK, but his fanboys piss me off."
Basically: what's your problem, Beavis? Why can't I just enjoy a quiet meal, without some retard coming and disturbing it?
Why can't you just go to your fscking heaven, and let me go to a warm place instead? Affraid that you'll be alone up there, or?
And I'm going to say something else: is your God so impotent, that he needs such retards to do his work? If He wants to talk to me, heck, He knows where to find me. What's the matter? He's so little and weak that he can't even do that Himself?
So basically go fsck yourself and your pitiful protection racket. "Oooh, come obey us or you'll burn in hell." Right. If that's not a mafia type protection racket, I don't know what it is.
And as mafia rackets go, yours is so lame. At least the mafia types do that right. They have the balls to put up a better threat than that some imaginary fairy will do stuff to you after death.
Well, I'm essentially agnostic, but that doesn't stop me from thinking that a God _could_ exist. It comes from playing such games as MMO games or Tropico.
In case you're not a gamer, Tropico went one step beyond traditional city building sims. In a normal city building sim every building has a fixed radius of influence, and that's that. E.g., you place a shrine, and thereafter everything within 1 mile has their religion need maxed up.
In Tropico there was no such thing. The people in the game were intelligent enough to go about satisfying their own needs. When sick, they went to the doctor, when bored they went to a pub or cinema, and when hungry they went and bought food. They crossed half the island on foot, if needed, rather than sit and starve. They also had friends, moods, thoughts, families, political preferences, etc. They'd even stop and talk to each other, so rumours or knowledge would spread.
They were intelligent creatures.
So it just makes me wonder... What happened if someone had a big enough computer to really simulate _humans_? Would that count as God?
Note that this doesn't contradict any scientiffic thought, and creates no paradoxes. This kind of God is _outside_ the universe he created. The universe is in the machine's RAM, while God is the programmer outside it. He is not omnipotent, and most definitely not omnipotent in His own world, but has tremendous power when it comes to the simulated world in His computer. He could nuke cities in the blink of an eye, cause mountains to rise or crumble, or, yes, cover it all in water just for a bit of virtual sadistic fun.
Mind you, I'm not basing any theories upon this, nor taking it as some certain fact. Just, well, to quote your own words "the only intellectually honest thing" is to also consider such a possibility, among many other possibilities.
Well, I'll probably just get modded down for that, but it probably just needs to be said. A lot of techies are just arrogant fucktards.
/etc/X11R6/plugins/myApp. Oh yeah, and be sure no to miss the personalized version in the hidden .myApp/etc/config directory in your home directory.) Or that they may not know how to pipe grep, sed and half a dozen other obscure commands together to achieve some task with the command line.
Yes, some people can't explain well. That's fine by me. Teaching and programming (or teaching and hardware) are very different skills. I'm not surprised that a lot of people only have one, but not both. I'm not particularly good at teaching myself.
On the other hand, what surprises me is a lot of arrogance along the lines of "if you weren't born knowing every single bit of trivia that I do, then you're an idiot. No matter how useless that bit of trivia may be to you, you're a retard if you don't already know it."
Point in case, try pointing out on slashdot that something could use a better interface. E.g., that an average user might not know how to configure something. (E.g., that they need to manually eddit some file hidden in
Want to bet what kind of answers you'll get? I'm telling you: "Well, why do we have to catter to the idiots anyway? I'm perfectly content to write code only for the smart ones. The rest of the lusers can go back to Windows, and spare me their point-and-drool baggage." That's pretty much the new mantra.
The assumption is that someone doesn't instinctively know sed and regular expressions, or if they don't instinctively know all the locations of some obscure app's config files... bah, they're idiots. Not "unknowledgeable". Idiots. Stupid. Retards. That's how a lot of people perceive the rest of the world.
No matter what other skills that user has. No matter how irrelavant it is to their job to know where my program keeps its data. If they don't automagically know that, they're idiots. If they have better stuff to do with their time, they're retards and losers.
And I'm thinking that this arrogance is the real stupidity in this industry.
More like the current crop of FPS teaches you that, unlike what the military thinks:
1. Weapons have some ludicrious spread, so you have to go point blank to use them. (E.g., if a squad support weapon had the idiotic spread from CS, it would be f***ing useless at its rated effective range. Noone takes cover if the probability to get hit is once in half an hour of full auto firing.)
2. Which is ok, because all battles happen at 100 ft ranges. Any battlefield will be small and surrounded by conveniently placed fences, barriers, small twigs, and other unpassable obstacles.
3. Suppression never works. Not on NPCs, not on players, never.
4. The enemy always wears clearly identifiable uniforms or outfits, and you know exactly where they spawned.
5. For that matter, you know where everything is on the map.
6. There are no surprise attacks, and no standing guard for 3 hours in the rain. You know when they attack, because the round just started.
7. Jumping is always better than running. Experienced veteran troops bunny-hop their way to the enemy lines.
8. Just as good that you can jump, because you can't _climb_ over any obstacles. Ever. Even if it's a small chair or a low chainlink fence, you just have to jump over.
9. If it's too tall, you can always grenade/rocket jump. Shooting a grenade at your own feet won't hurt you much.
10. For that matter, they don't hurt the enemy too much either.
11. Everything is solvable by camping in... erm... sniping from a hidden corner. Even attack missions. Heck, _especially_ attack missions. Even if nothing comes in front of your sniper scope, at least you didn't get fragged in that round.
Etc, etc, etc.
I'd suspect a lot of them got into it just to earn a living, or to get an education. I don't think everyone was basically thrilled to go get shot in Iraq.
Or to put it otherwise, it's like saying that everyone who got a drivers' license knew that accidents happen, so they don't deserve any sympathy. Well, they did know, but they believed it would never happen to them.
Well, I don't know about others, but I have no beef with the poor soldiers sent to fight pointless wars. You guys have all my sympathy there.
I do blame the ones who make decisions, but... well, you know, somehow it's hard not to generalize some more. Seeing how US presidential ratings jump sky high each time someone gets bombed... sorta makes me suspect that _some_ people down there must indeed get all excited at the idea of bringing more war and instability to this planet.
I don't know who those people are. Probably not you. Still, kinda makes me nervous.
Now to be fair, it's not like the USA is that much different from the rest of the world.
I've seen, for example, such touching pieces as an interview with a widdow, somewhere in the middle east, some long time ago. She was showing a church where some of their people were hiding during an attack. Apparently an artillery shell went in through a window and exploded right inside it, killing everyone. She was asking for international support to... give their side some more weapons, so they can go do the same to the enemy. It made me sick.
And I'm not even getting into stuff like third world countries cheering that they've spent hundreds of billions on nuclear research, to terrorize some equally poor neighbour with. You'd think they could have done better stuff with that money. Like feed their own people. Build some factories. Whatever.
I'm starting to suspect that the human species as a whole is a little deffective.
Oh f***ing please... if you guys don't want dictators and corruption world-wide, how about you stop installing and/or supporting them? I can't think of any place after WW2 where the US army or CIA were involved in a government change, that didn't _result_ in dictatorship and corruption.
Heck, even Iraq is now well on the way to become a fundamentalist islamist state. It was a secular state which was _no_ friend of Osama, nor of Osama's fundamentalist vision.
Here's another idea: how about you mind your own protection, and let other people mind theirs? There's a (not so) fine line between "promoting democracy" and "school bully." Or between "protecting freedom" and "protection racket".
Just wanted to add a thing about the perceived inflexibility that comes with age. The "gee, these old farts just can't let go of their old FORTRAN habbits" factor.
The first time it looked to me like a framework I was forced to use was total crap, I actually stopped and thought about it. "Am I getting too old to learn new stuff?" That kind of thing.
You know what? Now I know it's not it. I've learned new techniques and frameworks since then, and as far as I know I was considered good with that crap framework too.
Some stuff is just crap. And at some point, you just have the experience to realize that not only it doesn't help you, but you could do it three times faster without the snake oil forced onto you from above. In fact, that you _have_ done it three times faster before.
There are good techniques and bad techniques. There are good frameworks and bad frameworks. In fact, there is even a recipe for making good or bad frameworks.
A good framework is stuff that you've actually needed over the years. Those neat functions you've refactored and added to your personal library, those cleverly pipelined objects to do a clearly defined task, etc. Even if you don't call it a framework, that's what it is. And the best frameworks out there are born that way: someone actually needed that stuff.
And even then, it's good only for the task it was intended to do.
A bad framework is one that was built just to be sold to incompetent managers. It isn't there to scratch an itch someone had when coding a complex program, it's there just so you have some framework to sell. It wasn't actually tested on an actual project, and once you have to use it, you can tell.
Management, however, has no idea of what's useful for your project, or even useful for anything. The pipe dream in programming is to achieve an equivalent of the industrial production. A state where some generic machine tools allow you to take generic unskilled workers off the street, and have them mindlessly churn goods at an assembly line.
And thousands of parasitic companies make a living by selling them snake oil that promises to do just that. It's stuff which wasn't written to help the programmer, but to look good to the boss.
E.g., stuff which has a funny visual interface, but no debugger and makes any refactoring physically impossible. Not only by not allowing you to do that in the editor, but also saving your code in some proprietary binary file, so you can't get it to it with Notepad or vi either.
It's a bad framework.
And, yes, someone will have enough experience to say "why the heck are we using this crap, when in plain C++ we could have the same program ready two months earlier?" And they'll be perceived as inflexible non-adaptable old farts. Congrats buddy, you've just nominated yourself for the next round of layoffs. That's just the way it goes.
Well, I'm going to say that somewhat, in a warped way, there may be a some truth in there too.
I'm 33 now, so I wouldn't know about 40, and I do still try to stay on top of my field. But I can see a bit of a trend in myself and some co-workers, of yes, essentially becoming too qualified for what management has in mind.
I'll bring just two issues here:
1. With experience comes the desire to do things safer and better.
E.g., to put it mildly, you can tell the difference between people who have written and _maintained_ on a 200,000+ line program before, and those who come from 200 line college assignments that never need maintenance. The 200 line crowd still thinks that structured code, comments, strong typing or conventions, and test cases, are a stupid waste of time. Whoever had to maintain someone else's 200,000+ line spagetti code, thinks otherwise.
E.g., having run into buffer overflows and tons of exploits, attacks and bugs before, I like to code defensively. It's still nowhere near 100% bug free, of course. But, you know, every little bit helps.
Things like these add up to require more time. Time to write test cases, time to preventively code against possible exploits, time to basically make a better program. Note that I'm _not_ advocating turning it into needing 4 years per function, but a little more time you do need.
That's not what the management wants and not what the client wants. The client awards the contract to the moron who said they'd do a whole enterprise system in 2 weeks, not to the old farts who did the proper design. The client is a manager who doesn't even understand that design. It's not their job to. They only understand "it takes X days and costs Y thousands." It's just a fact. Invariably they think they'll save money. Then 3 weeks later they actually do get something, even if it's barely a demo, and an unmaintainable one at that. And they still appreciate it.
Of course, they don't appreciate it later when they have endless bugs, and any kiddie can make themselves admin by just editting the URL. But the impression has already been made nevertheless. "Gee, those older guys wanted two weeks more. What for? Lazy bums waiting for retirement, the lot of them."
2. There is a certain cheerful enthusiasm in having no experience. If they tell you to code for the Snake Oil Enterprise Edition framework, you do it. You don't question it. You might even find it fun, since it's learning new stuff. Horribly bloated, inefficient and buggy stuff, but new stuff nevertheless.
By contrast, when you've already have been through more languages than you have fingers and toes, and twice as many libraries and frameworks... you start asking uncomfortable question. Questions like "why did we spend 6 months just working around the bugs in the Snake Oil Enterprise Edition framework, when coding the whole thing without it would have taken 1 month?" Or questions like "why the heck are we still using that Snake Oil framework, even though it's buggy and makes the whole server crawl with 20 concurrent users already?"
Management hates workers who ask too many questions. Really incompetent management also loves analogies like "we're the generals who know everything, while you're the ignorant soldier who knows nothing." They don't like you coming and reminding them that they did the incompetent thing, and took a stupid decision without asking. They don't need to ask. They're managers. They're right by definition. They can't ever be wrong.
Well, I was reading some article on www.theregister.co.uk that apparently half of the divorces in the UK are about online adultery. So, well, I'm guessing not only they're not saying it's not real, they end up in a divorce court over it. Whether or not they believe in Jesus :)
Partially unrelated, I'm not a religious person, but you do bring a valid point there about the intent in someone's heart. I guess that's one point that makes the most difference, whether in real life or online.
E.g., if two men look at the same painting of a woman, one seeing it as a work of art, and one as "whoa, I'd love to **** her"... I'm guessing even by Jesus's terms only one is commiting a sin, right?
Well, I'm guessing that's the one bit that would have to be explained the most about online games too, to help some people get over the "whoa, it's training murderers" fits. The majority of people, myself included, don't see them as virtual dismembering someone, but as playing a peaceful competition with a group of friends. Same as paintball or tennis or golf. Play a few rounds, chat a bit, look at the score table, say "good game" and be on your way. Noone was killed, and no murder was in anyone's heart.
I'm guessing even by Jesus's terms that would be ok, right?
Actually, it's the exactly other way around. What created a middle class was having a surplus of goods for that middle class to buy. If you tried creating a middle class during, say, the middle ages, the surplus that the middle class could buy would have just made everyone else starve.
Money isn't the alpha and omega. In the global scheme of things, it's just a means in the circulation of products and resources. No more, no less. What counts is how much stuff can your population buy, not how money do they earn.
Don't believe me? Some of the communist regimes tried fixing prices without regards to the salaries and production capacity. The only thing that resulted was a shortage of goods. There just was less stuff on the market than the people had money for.
So pay attention: it doesn't matter how much money your population earns, it matters how much goods can you sell them. That's all. The prices-to-salaries ratios will automatically adjust based on that.
And I fail to see how a worldwide increase in goods production is a bad thing. On the whole, the number of tons of consumer goods produced worldwide is raising. Someone has to buy those. Salaries will increase or prices will drop, but either way, someone will afford to buy more stuff out of their salary.
Why is that a bad thing?
I'm somewhat of an apathic agnostic myself. (I don't know if there's a God, or if it's the Cristian one, and I don't give a rat's ass about that either.)
Still, as someone who did play online _a_ _lot_, it seems to me like a SimChurch can emulate that very well. There are tons of people whose life doesn't just revolve around Everquest or CounterStrike or whatever, but is very much spent _in_ it.
There are some _very_ strong friendships formed online, between people who've never met each other IRL. You'd be surprised how strongly people can react to hearing that guy you groupped with online got ran over by a car. Virtual monuments or shrines have already been "built" online to such people.
Or take all those FPS clans. Much as I disdain 90% of them as being little more than circles of retards trying to impress each other, by acting like a bigger retard, they often serve just that function: they're an online circle of peers you can feel some unity with.
Or some people actually do charity work online, so to speak. I used to. A lot. Whether it's downright twinking, or voluntarily spending time showing a newbie the ropes, it's nevertheless spending some of your time helping a fellow human being.
All of that makes no sense if you want to think of it as "bah, it's not real and it's not social interaction". (Griefers love to think like that.) But it makes a lot of sense if you think about it as "it's still another human being at the other end of the line." Whether it's over a telephone, or over SMS, or an online 3D representation, it's still interaction between humans.
Well, having started on a Z80 with 1K RAM and with programming machine code in hex, I'd say I'm an even older fart than you are ;) I've also continued through such stuff as 3D software rendering, where, yes, you needed to inline by hand and do the most perverse and unnatural assembly tricks to get it to run fast on a 386. Think: not only messing with jump prediction, but organizing the data to maximize the cache benefits and minimize the number of memory access cycles.
Yeah, that was great fun. I hear you. Glad to meet someone who still remembers that.
Still, I'm going to say something different. Those days are not necessarily gone, they've just moved to a different level.
Nowadays you don't have to save 7 CPU cycles in a database program, since the CPU will wait 100,000,000 cycles for the database's response anyway. However, optimizing your use of the database (e.g., using a single select, instead of a flurry of 1000 selects) might just do the trick.
E.g., you don't have to save 7 CPU cycles in an EJB method, since the RMI/IIOP invocation itself will take some 2,000,000 cycles. However, optimizing the overall design to use 1 large RMI/IIOP call instead of 100 smaller ones, pays off big time.
And it's not that big a change. Even in the good old days, as you surely remember, the biggest wins were not from just knowing assembly, but from addapting the algorithm to the underlying machine. E.g., your example of reversing the jump condition is just that. Still, the best programmers were not those who could write a naive bubble sort in assembly, but those who had both a solid knowledge of the machine and of algorithms.
And I'll say that the need for that hasn't gone away. I still routinely see projects which end up with major performance problems, because of a combination of piss-poor coding and lack of knowledge of even the most basic algorithms and data structures. I see even frameworks where someone thought it was cute to invoke individual getters and setters over TCP/IP, instead of having one single call for the whole data object.
(Point in case: Sun's first entity beans specification was just that: data objects with the individual getters and setters invoked over RMI/IIOP. And with no dirty flag, so even purely read-only access caused them to be written back to the database anyway.)
While everyone quotes Moore's law to justify piss-poor coding and lack of skill, what they seem to ommit is that the size of the data sets to be processed also increases. While 30 years ago, 1 MB was a damn huge disc, nowadays multi-terrabyte databases exist.
So in the end they still end up having to optimize that mess of poor performing code, and often to hire a very expensive consultant for that.
So what changed is not that the need for good performance went away, but that idiot PHBs like to pretend that it went away. Or that security concerns went out of fashion, in an age where your data is (directly or indirectly) connected to the internet.
Sometimes in the 90s it came into fashion to pretend that you can take any drooling burger-flipper off the street, give him a "java for retards in 21 days" book to skim through, and have him build secure, scalable and bug-free enterprise systems. Which just doesn't happen. Half of those don't even have the mental capacity to understand elementary boolean logic.
There was a recent rant that made it to the front page of Slashdot. Here, maybe this will refresh your memory:
4 /0 2/27/0043250&mode=thread&tid=126&tid=156&tid=166&t id=185&tid=99
http://developers.slashdot.org/article.pl?sid=0
Who do we have there having major trouble configuring CUPS? Well, blimey... it's none other than Eric Raymond. _The_ Eric Raymond.
So spare me the self-righteous crap about idiot lusers and cattering only for the smart ones. There's plenty of smart and even Unix savvy people out there who have major trouble. (Again: e.g., Eric Raymond.)
You're not cattering only to smart people. You're cattering only to people who have no life and are glad to spend some ludicrious time just getting your unfinished crap to work. You're asking that millions of hours each year be spent just debugging your code, cursing at outdated incomplete docs, and begging for answers on mailing lists.
Sorry, most people's time is more valuable than that. Heck, _my_ time is more valuable than that.
And this is maybe _the_ one biggest problem with OSS: the standard knee-jerk reaction to insult the users and blame them for _your_ shortcomings. It can't be that your code has a piss-poor interface or other problems, it _must_ be those idiot Windows lusers that are to blame.
Now I'm not even going to ask that you start writing for the user. Sure. Go ahead and write for yourself. But I'm getting tired of your type spewing insults. No, it's not the users who are stupid, it's you who can't write a good program. It's that simple. Now go fsck yourself next time you feel like insulting a user.
Not trying to flame, but just as an observation about "Religious Blindness". Believe me, it's very real.
Try posting about even the need for a GUI at all, and you get a hundred angry Defenders Of The Holy CLI at your throat. They'll latch onto any particular shortcoming of _one_ GUI, and act like the it's the definitive proof that _all_ GUIs are inherently bad.
E.g., for all you zealots out there: yes, the Windows file manager allows you to accidentally drag-and-drop instead of double-click. Get over it. It affects only one program: the Windows file manager. It doesn't say that a GUI for, say, configuring an application server, would _have_ to clone that mis-functionality. In fact, chances are it probably wouldn't even need drag-and-drop functionality.
E.g., yes, some OSS config GUIs are a flaming disaster. They use their own undocumented files to remember the changes, and overwrite your changes in the actual config files. Big deal. It's just awful design, not an inherent shortcoming of any GUI, nor proof that GUIs are inherently crap. A well designed GUI, which only uses the exact same config files that it changes, would not have this problem.
Try posting anything even remotely related to usability, and... well, you get the exact same answers. "Go away and play with your pirated version of Windows, we don't need lusers who can't use the CLI." Somehow that's the new mantra.
Look, I'm not going to argue that the current capitalism has its flaws even if you don't get religious about it.
And you could even argue about the credit card number or SSN as being the mark of the beast. I can see _some_ way in which you could say they symbolize accepting the religion of money. I'm not religious, but honestly, the current rush where all that matters is making a profit _this_ _quarter_, even if it means alienating your customers and burning your bridges... well, it can't be healthy and it _is_ to some people almost a religion.
But a medical implant that could save people from paralysis? Gimme a break. If that's the fabled mark of Satan, and if God's going to punish the poor paralyzed people who get treated... then I guess I'm just about ready to embrace Satanism. Obviously Satan cares more, then.
That's all I'm saying. There are many things which could be (mis)interpreted as the fabled mark of the beast, but this?