For one thing, you can leave greed out of the equation. All humans care about their own welfare, ergo, all humans are greedy. We could argue levels of greed, but that's pretty symantical. There are tons of greed people who get rich without spamming.
For another, spammers aren't stupid. They've come up with some VERY clever counters to our prevention methods, and they've done so very quickly.
No, the factors that make up a spammer are a bit more elaborate:
- Tenacity. Spamming takes a lot of work. You need to harvest addresses constantly, refactor your delivery method constantly, market your services and so forth. You need to prove to the buyer that their message will get through the filters of enough people to warrant the cost.
- Irreverence. You can't want to be everybody's friend. Spam isn't "evil," but it is obnoxious and often quite vulgar. You have to be willing to associate with people who don't care about being nice and don't mind tricking people to serve their needs. And this takes contempt -- for ettiquette and people's needs in general.
- Technical prowess. Yeah. You have to be damn clever to get past a Bayesian filter, Vipul's Razor and a blacklist and still have a message worth reading.
- Denial. You have to be able say, "what I'm doing is okay. If people don't want to enlarge their penises, they can just delete the mail. Besides, if they get too much spam, they shouldn't publish their email, and they should install a better spam filter." Of course, once you are able to lie to yourself sufficiently, you can do anything. Just as David Berkowitz, or better yet, his dog.
Spam is what happens when you take mass-communication away from the multi-national mega-corps and give it to the common man.
So what you're saying is, when multi-national mega-corps advertise, it's actually less annoying than when the little guy does it? Wow, I've never heard a more effective argument against small business in my life. But now that I think about it, you're right. Small scale advertising is almost always obnoxious, from the "shopper" weekly newspaper to the "I made this on a VHS camera in 1985" local TV ads.
And as for advertising and other forms of brainwashing: fuck you, man. I'm sorry if you feel guilty about not buying all the products you were informed of during the Survivor commercial break, but if I see an ad for something I don't give a shit about, I don't instantly starting giving a shit. If I see an ad for something I might like, I WILL start to give a shit. Meaning it's not the "brainwashing power of advertising" that has activated my interest...I was already activated, and just didn't know it. If you're going to get annoyed, you should first get annoyed at the chemical nature of the brain that gives me the potential to get excited about the taste of Sprite, or makes me want a closer shave.
We shouldn't be removing the ability to mass-communicate from the common man, we need to be reining in... are you're proposing some sort of censorship, here? I don't get it. What if the common man wants to talk about how much he likes his iPod, or his new Chevy? Why does the brainwashing of the common man deserve more exposure than other types? And who is this common man? You can't answer these questions without imposing some manner of control over speech and the ability to broadcast it.
I think the AdBusters crowd would do well look beyond their tenth grade punk music arguments to the real root of the problem -- people like to buy crap, and they need to identify with something. These are instinctual things, they aren't learned. You can't cure human nature by insulting material culture, even if the insult comes silkscreen on a t-shirt or a cleverly photoshopped image in a $7 magazine.
Well, the one thing that came out of McCarthyism was the concept of blanket association. It was a very effective tactic for years. If communism is bad, then if you call something communist, it is bad. No further argument needed in most eyes.
Of course, the problem is that the association itself needs to be questioned, and most debaters on the left haven't adapted that skill yet. If you want to see it first hand, watch that sycophant Colmes try and counter one of Sean Hannity's non arguments. Hannity could say "If you consume water, you're aiding the terrorists," and all that pussy will say is "Yes, terrorism is bad."
Really, though, the worst blanket association the right has nowadays is "liberal." I dunno what Limbaugh did to those guys, but the second you say the word "liberal," republican minds freeze up. The problem is, their use of the word liberal is different from its true definition. If you listen to Coulture and others, when they talk about liberalism, they really are talking about communism, they're talking about complacency, they're talking about socialism. And that's a problem...we should have never let them redefine the term for us, because now all progressive politics are inexorably linked.
In fact, I've heard people who believe in welfare, healthcare reform, evironmental protection and corporate regulation talk about those damn liberals. Of course, sleazy doubletalking politicans like Hillary (quick aside: go back to your own damned state, you've done fuck all for New York in four years and I'm embarrassed for the party that those downstate FUCKS couldn't see through your empty promises and scheming ways) and Lieberman aren't doing anything to promote the image...these guys are republicans that have chosen not to hide behind generic religion. They are not great liberal leaders like Roosevelt (take your pick) or Wilson.
As a fun experiment, ask your Republican friends what they think of "liberals" and war. Then remind them that Democratic presidents won us WWI and WWII.
I wouldn't say "brainwashed." I am a child of the '80s educated in the '90s and I know a lot of people who have a healthy attitude towards communism. My father, a staunch Dittohead, is one of them. He thinks communism is stupid, but not exactly "evil."
After all, the 1950s "Communism Is Evil" campaign in the media gave way to a massive "pity our Russian brothers" campaign, signified in the east by Perestroika and in the west by, um, Billy Joel's Leningrad. We watched Russia fall apart, watched China become basically a big factory for western goods, and watched the capitalist nations' prosperity rise and fall while the communists suffered massive problems with their supply chain.
I think the "brainwashed" American viewpoint is that communism tends to de-evolve quickly into petty dictatorship, because every time it's been attempted it has evolved thusly. Communism's government control afford easy nepotism and favoratism, making it more difficult for the common man to succeed. Ask an American these days wwhy communism is "bad," and that's what they'll tell you -- it runs crosswise of the Jansenist "American Dream." The whole "communists want to kill Americans" drivel of McCarthy died long before Roy Cohn.
Of course, the offshoot of this is that communism has tainted many other progressive social practices, with some people placing every idea from unionization to government health care in the "communist" bucket. Which makes it easier to ignore potential solutions. Shit, I consider myself a fairly independent thinker, but when some cat would hand me a "Communism Now!" pamphlet, I'd make sure it found itself nessled gently in the recycle bin.
AT&T's network is CDMA. Current AT&T phones won't work on Cingular networks, and vica versa. They wouldn't improve their coverage at all, instead they'll wind up slowly migrating all of their phones to one network, selling off the other set in the process.
Anyhow, I agree about this eventually benefitting customers. There are too many providers in the US with too many distinct formats, too many "regionalized" systems (in fact, AT&T didn't work in upstate new york at all until about two months ago), This makes it harder to have true choice in providers like in Japan or Europe. I didn't want to go Verizon, but I had to...the calling area is just so much better than with any of the others. Better to slowly build a universal network on a single standard, chip away at the others until they "Betamax" (since none of them is necessarily "better" than the others, the choice will be somewhat arbitrary) and get everybody on the same network with the same towers. Then it'll also be easier for start-ups to penetrate the market.
Hey, that cockknocker was besmirching a virgin programming language with rumors of her lascivious mother! As a cavalier and Microsoft apologist, I had to set him straight.
Well, to a point it is. The OSS model is fairly myopic...it ONLY cares about the resolution of bugs in code. Code, however, is only the first in a dozen steps to making software available. Most of the world does not care if the "code" has been fixes -- they don't want to download the source and recompile their software and time there's a problem. So after coding the bugfix, there's reversioning, compilation, unit testing, release documentation, the training of tech support, the training of end users, and the mass installation of the package on every machine.
In short: each commercial bugfix takes a lot more work than what the OSS model provides. OSS eliminates the bug quickly in the codebase, but for all we know, Microsoft does that too. They might have fixed it, passed through unit testing, and on to a patch guy. The patch guy released a patched DLL, and there it sat, like the ark of the covenant, because no product manager in their right mind would ask millions of Windows users to download a program and patch their machines, prompting millions of support calls and the odd botched install, just to prevent somebody from crashing an unused browser.
This is the kind of bug that gets fixed in the next release unless people ask for it. And it did get fixed in the next release. Why would you want to perform all that work to fix a bug for which there was no known or useful exploit?
Still, windows security is getting a lot better at making these kinds of fixes now that the automatic update function is available. In fact, since we started enforcing its use at my office, we haven't seen a single problem due to bug exploits. And I haven't had to spend any time patching machines. Something to be said for that, right?
But in the Java world, there's a framework for avoiding it. And whereas I have been known to cover up exceptions, I tend to at the very least log them somewhere. Which helps in debugging, but also prevents non-critical errors from popping the balloon. After all, if your failsafe was INSIDE that validateFieldData method -- and the finally block had you returning false, because a null token is invalid -- your program is debugged without even trying.
In fact, every public method I write in.NET looks like this:
public void Method(){
try{
} catch(Exception ex){
Logger.Log(ex); //if i don't handle it, i uncomment this: //throw ex;
} }
Even if I don't failover, I have some way of knowing why a program crashed. Which also aids in debugging.
Eckel's Design Principle #1: Don't be astonishing.
I find True, False or Maybe to be fairly astonishing. Does maybe mean quit? Does it mean give me more options? Does it mean the same as True or False (it would if my wife coded it, oh!)?
All the third option gives us is more questions. Which defeats Echel's sixth principle: Simplicity before generality.
Actually, from what I remember from my Java larnin' days, there was a big fight at Sun over the + operator and strings. It was left in for convenience. Personally, I never use it, not even in.NET, because it implies an activity that isn't going on, that is to say it implies you're APPENDING string A to string B.
Since strings are immutable, it's actually creating a new string based on the content of strings a and b. So
String newString = "this" + " language " + "sucks";
is actually
StringBuffer sb = new StringBuffer("this".length + " language ".length + "sucks".length); sb.Append("this"); sb.Apprend(" language "); sb.Append("sucks"); String newString = sb.toString(); sb = null;
.
A lot of bloat just for plus sign. eh? The first thing you learn when tuning Java is to avoid using that + sign at all costs. It's only there for learners..NET has an even cooler functionality in its Formatter classes...
...cooler, because it's fairly efficient and has functionality to reformat popularly displayed datatypes (dates, numbers, etc). Sort of like iostreams, only at a higher level of programming.
In ASM, you're dealing with a handful of variables, a handful of registers and a handful of operations. You have to do more typing to anything...so you just don't do it.
In C, you're generally dealing with a lot of variables, a lot of operations, a lot of FILES and dependencies and complex functions. When you call PerformOperation( SOMETHING ), it's probably doing as much in ten lines as you would do in a hundred lines of C.
That's why they call it a high level language. It's the difference between a scalpel and a chainsaw. Good thing you don't use Java...all those objects in that complex, bloated framework...it's like wielding a shotgun full of razorblades.
Word. I spent all last week messing around with a fundamental design flaw in visual inheritance in.NET.
Monday I just rewrote the fucking thing I was inheriting. Took me 13 hours. At that point I could start work on the 24-48 hours worth of implementation I had to have done for Tuesday (guess how much was ready for release? here's a hint: fuck all).
Incidentally, I think it's lack of knowledge that bit my keyster on this one. If I had KNOWN the thing didn't work, I wouldn't have messed with it. I just would have done this another way. There are, after all, a fairly unlimited number of ways to do things...being able to say "this way is bullshit and i'm not wasting my time anymore" is an essential skill.
I've written bulletproof code under the wire. But every time I've done so, it's been a very simple program with a very simple set of inputs and expected outputs. It was something I never expected to extend or turn into a framework. And it was something that I had a concrete vision of. A lot of the time, somebody says to me, "I need you to write a FOOing program." I have never FOO'd, nor do I fully understand the needs of the daily FOOer. So I deliver something that helps a few stages of FOO, that has the language of FOOology interspersed throughout, but which is probably only a fraction of what is needed. So I extend it. And I make it more general. And at the end, it's a damn octopus of different expectations and kludgey function.
Clear vision. That helps me get rid of bugs -- even more so than more time. But more time would help, too.
Well, the reason she didn't mention testing, QA, design, etc, is because she wasn't giving an interview on how to deliver quality software overall. She was giving an interview on how to reduce the number of bugs overall.
Certainly you still need to plan, test the code, QA it, etc. She's offering a solution to the problem of increasing code complexity, which is a completely different issue from what you're talking about.
In fact, good unit testing combined with simple, well documented abstractions has been the key to every successful project I've been in.
Of course, the difficulty in an open source project is that without a "charismatic captain," it's hard to get a really great API design before somebody kuldges something together. On the other hand, it's easy and beneficial to create a unit test for a future API...in fact, you may find that if you write the unit one day, the next day the API may have been written for you. Sort of a lock-and-key think...you build the lock, and it becomes a lot easier to build the key that fits.
Incidentally, abstracting conditional logic and processes is EXACTLY what unit testing is. She just didn't say it in so many words.
Dunno how it works under the hood, but above ground everything's an inheritor of Object. You can declare something as an int but it doesn't become an integer primitive...that's just shorthand for an Integer allowing you to paste in a lot of your pure C code and have it "just work."
Forcing the inheritance from Object adds a few great methods to everything...ToString(), GetType(), Equals() and GetHashCode(), to name the big ones. ToString() is the best...no matter what you have, you can System.out.Write(object) and it'll tell you SOMETHING about it. Even if all it has to say is "This object overrided the ToString() method and now it's laughing at your feeble attempts to investigate it"
I love the way Java (and to an extent,.NET) handles these things. There are maybe 10 primitive data types. Everything else is an Object. A variable doesn't represent an object, it represents a pointer to that object. You can't make an object act like a primitive...you can't do IntegerClass + IntegerClass, you have to do IntegerClass.Add(IntegerClass). No overloading operators makes things a bit longer, but you never have to worry about confusing syntaxes or anything.
Which is why I said "to an extent".NET..NET makes everything an object...even the primitives...but allows you to overload operators. So occasionally you will see shit like Date + Integer -- or WebSite - User + Browser...
Why do we need hardware to do trinary logic? We don't need hardware to perform more complicated logic...in fact, every language I can think of has some form of integral case syntax.
Besides, it's quite rare that I need trinary logic. Actually, it's almost never happened...looking over the codebase I'm looking at right now, there are only four instances in 50,000 lines or so that we looked at three states, and all of them were to process a YES/NO/CANCEL screen. We don't use these screens much...as it turns out, they confuse our users a lot.
Just like trinary logic confuses programmers. I don't know what narcotics the grandparent was injesting when he thought trinary logic was a brilliant programmatic idea. It isn't...in fact, the only reason it's researched at all is that it is possibly more efficient from an electrical standpoint than binary logic. Most probably, the first trinary computers will not have a trinary logic integral to the language -- instead, they'll optimize binary logic using trinary structures.
Listen, I'm no hater...but I beta tested Everquest back in 1997, and I've had more fun in bus stations than I did playing that game.
I enjoyed the challenge at first -- I am a P&P guy at heart and the idea of a massive immersive world really shook my dodecahedral dice. But I'm afraid it rolled a fumble...I couldn't take the waiting for monsters to respawn, or the guys who insisted on talking out of game (or even worse, the guys who tried to talk in game but only know the dialogue from "Lady Hawk").
In short: I'll grant that MMORPGs are an intriguing time waster, but "fun" in the way that birthday parties, amusement parks or Hardcore shows are fun? Not really.
Bob? BOB?!? You bring up a failure from TEN YEARS AGO when they didn't have a desktop monopoly and the only people who had computers were smartass teenagers and stock brokers?
I mean, why not just give them shit for Microsoft Decathalon, or Hyperterminal, or Microsoft Works?
Listen. Good software takes three things: time, talent and money. Microsoft has the money, the developers have the time and the talent. Sorry the developers took the money and didn't just build an RPG on their own time for the sheer love of it, but babies like to eat and landlords like to crack the skulls of deadbeats. I think the developers at Sigil aren't hurting because their money came from the "evil giant" who brought such horrors into the world as a workable ubiquitous operating system, a fast-enough web browser and a homogenous, interconnected office suite.
What do they, Microsoft, have to do with the project? Well, they selected the team, they put up the money. They've done the production work even if they haven't directed the fool thing. It is Microsoft who said, "There shall be an MMORPG" instead of "There shall be Yet Another Inferior Space Simulator from Chris Roberts."
Microsoft wanted to make a game, and wisely chose not to micromanage the project because their strong suit is not game making, it's writing the world's number one operating system (and office suite (and browser (and a shitty web server))). They do the same for the Macintosh version of MS Word -- loan the core code to a non-MS team, who make a good program rather than a shitty one that looks like Microsoft did it.
How does paying programmers to produce a game make them an evil company? And what are they supposed to do with their "monopoly capital," sit on it until it turns into a golden fucking egg?
I'm not going to play this game. But not because it's from Microsoft. I'm not going to play it because I want to raise a puppy and some kids and finish restoring my 1973 Super Beetle, three things you can't do when you're playing an MMORPG.
For the record: Gaiman is a bit pessimistic, but the soul of American God is exactly what you're talking about. You should really read it. I guarantee that, even if you don't agree, it'll make you think.
As for Sandman living up to the hype...it does, at times. I'm recollecting the whole 75 issue run mostly as a matter of principle, and there's some brilliance there, but there's also a lot of Vertigo Comics masturbation. Vertigo was really the first attempt by a major publisher to reach a new, artsier audience...and a lot of it was crap. Neil tended to rise above it, but occasionally he'd interject homosexual characters just because he could...that sort of thing.
However, the series flows from start to finish like no other. Characters weave in and out from issue 1 to 70 something...and some of them are really cool. Expect to have a problem with some of the art, especially the goofy pop cover art. But stick with the story. Read the first three trades (they rereleased them again, so the old ones can be had on the cheap right now at liquidators), and if you like them, read on. Trade 1 sets you up. Trade 2 pulls you in. And Trade 3 has award winners that will keep you there.
Actually, the real reason Palm is dropping the HotSync client is that Apple wrote their own. It's called iSync and it ships with OSX...Apple wrote it so that their integrated address book and scheduling software could communicate with palms and smartphones.
If you use iCal, you have to use iSync, because the HotSync client doesn't know much about the advanced features of the address book. iSync supports all the other crap you need to have to use a plam machine, too.
So Apple's basically doing the work anyway...why should palm bother rewriting their software when apple users already have a free app that does what HotSync does, but is more tailored to their needs?
First, American Gods is absolutely nothing like Adams' novel. Not only is the tone different, the mechanics of the dieries are different (and quite original). I liked both, but wheras Adams is going for a laugh, Gaiman's going for an exciting story. Adams' plot was a vehicle for his charismatic one liners, and that's why Gaiman did not use it in his bibliography -- as a source of information pertaining to his work, it would have been useless.
Gaiman really steals more from Pratchett than he does from Adams. Re-read Mort and pick up Gaiman's thefts pretty quickly (Death trying to get a job as another "anthropomorphic manifestation," "maybe the Sandman?").
Second, wheras there is a healthy amount of sex im American Gods, it isn't all that sexy. Neither is it poorly written...in fact, that first bit with the fertility goddess swallowing the guy to keep herself alive was great horror writing.
Third, American Gods is hardly a patriotic view of America. It's written by a pessimistic brit and the essential subtext is that we don't believe in things because we have no ties to the earth and thus no traditions.
Finally: whereas I agree with your estimate about Gaiman being a bit high-school at times in his tone and pacing, you're lying about being able to figure out the rest of the book by chapter 3. This was a clever, exciting book. Even if you caught the pun in chapter one (I didn't), you couldn't gleam the plot easily. I loved the book for that, enjoyed the climax though didn't care for the ending, but only because it was a bit too how's your father for such an ambitious work.
I like Adams, as a humor writer. But humor isn't everything. Prachett's got some FUNNY stuff, but he piles it on so thick I can't read much. Gaiman is not a humorist, and makes no claim to be. He's a storyteller obsessed with the "old way" of writing fantasy and fairy tale fiction, and in doing so a lot of his "side stories" seem dry to a modern reader. He's not perfect, but he's a lot more clever than you seem to give him credit for.
Re:Previously Read Books?
on
King Rat
·
· Score: 3, Insightful
I'd rather think of the book Contact, which had the alien encounter written in but a much more satisfying ending that made you realize just how optimistic Sagan was.
Worst thing about the film adaptation was that it turned Sagan's theme upside down. In the book, a level headed scientist who bucks religious nonsense and uses human creativity to discover the underlying truth of the universe and its creation. In the film, a level headed scientist is COURTED by religious nonsense and in the end discovers that science isn't everything. In short, they de-Sagan'd it. The outrage is indescribable...should have sent a poet...
Eh, no.
For one thing, you can leave greed out of the equation. All humans care about their own welfare, ergo, all humans are greedy. We could argue levels of greed, but that's pretty symantical. There are tons of greed people who get rich without spamming.
For another, spammers aren't stupid. They've come up with some VERY clever counters to our prevention methods, and they've done so very quickly.
No, the factors that make up a spammer are a bit more elaborate:
- Tenacity. Spamming takes a lot of work. You need to harvest addresses constantly, refactor your delivery method constantly, market your services and so forth. You need to prove to the buyer that their message will get through the filters of enough people to warrant the cost.
- Irreverence. You can't want to be everybody's friend. Spam isn't "evil," but it is obnoxious and often quite vulgar. You have to be willing to associate with people who don't care about being nice and don't mind tricking people to serve their needs. And this takes contempt -- for ettiquette and people's needs in general.
- Technical prowess. Yeah. You have to be damn clever to get past a Bayesian filter, Vipul's Razor and a blacklist and still have a message worth reading.
- Denial. You have to be able say, "what I'm doing is okay. If people don't want to enlarge their penises, they can just delete the mail. Besides, if they get too much spam, they shouldn't publish their email, and they should install a better spam filter." Of course, once you are able to lie to yourself sufficiently, you can do anything. Just as David Berkowitz, or better yet, his dog.
Spam is what happens when you take mass-communication away from the multi-national mega-corps and give it to the common man.
So what you're saying is, when multi-national mega-corps advertise, it's actually less annoying than when the little guy does it? Wow, I've never heard a more effective argument against small business in my life. But now that I think about it, you're right. Small scale advertising is almost always obnoxious, from the "shopper" weekly newspaper to the "I made this on a VHS camera in 1985" local TV ads.
And as for advertising and other forms of brainwashing: fuck you, man. I'm sorry if you feel guilty about not buying all the products you were informed of during the Survivor commercial break, but if I see an ad for something I don't give a shit about, I don't instantly starting giving a shit. If I see an ad for something I might like, I WILL start to give a shit. Meaning it's not the "brainwashing power of advertising" that has activated my interest...I was already activated, and just didn't know it. If you're going to get annoyed, you should first get annoyed at the chemical nature of the brain that gives me the potential to get excited about the taste of Sprite, or makes me want a closer shave.
We shouldn't be removing the ability to mass-communicate from the common man, we need to be reining in... are you're proposing some sort of censorship, here? I don't get it. What if the common man wants to talk about how much he likes his iPod, or his new Chevy? Why does the brainwashing of the common man deserve more exposure than other types? And who is this common man? You can't answer these questions without imposing some manner of control over speech and the ability to broadcast it.
I think the AdBusters crowd would do well look beyond their tenth grade punk music arguments to the real root of the problem -- people like to buy crap, and they need to identify with something. These are instinctual things, they aren't learned. You can't cure human nature by insulting material culture, even if the insult comes silkscreen on a t-shirt or a cleverly photoshopped image in a $7 magazine.
Well, the one thing that came out of McCarthyism was the concept of blanket association. It was a very effective tactic for years. If communism is bad, then if you call something communist, it is bad. No further argument needed in most eyes.
Of course, the problem is that the association itself needs to be questioned, and most debaters on the left haven't adapted that skill yet. If you want to see it first hand, watch that sycophant Colmes try and counter one of Sean Hannity's non arguments. Hannity could say "If you consume water, you're aiding the terrorists," and all that pussy will say is "Yes, terrorism is bad."
Really, though, the worst blanket association the right has nowadays is "liberal." I dunno what Limbaugh did to those guys, but the second you say the word "liberal," republican minds freeze up. The problem is, their use of the word liberal is different from its true definition. If you listen to Coulture and others, when they talk about liberalism, they really are talking about communism, they're talking about complacency, they're talking about socialism. And that's a problem...we should have never let them redefine the term for us, because now all progressive politics are inexorably linked.
In fact, I've heard people who believe in welfare, healthcare reform, evironmental protection and corporate regulation talk about those damn liberals. Of course, sleazy doubletalking politicans like Hillary (quick aside: go back to your own damned state, you've done fuck all for New York in four years and I'm embarrassed for the party that those downstate FUCKS couldn't see through your empty promises and scheming ways) and Lieberman aren't doing anything to promote the image...these guys are republicans that have chosen not to hide behind generic religion. They are not great liberal leaders like Roosevelt (take your pick) or Wilson.
As a fun experiment, ask your Republican friends what they think of "liberals" and war. Then remind them that Democratic presidents won us WWI and WWII.
I wouldn't say "brainwashed." I am a child of the '80s educated in the '90s and I know a lot of people who have a healthy attitude towards communism. My father, a staunch Dittohead, is one of them. He thinks communism is stupid, but not exactly "evil."
After all, the 1950s "Communism Is Evil" campaign in the media gave way to a massive "pity our Russian brothers" campaign, signified in the east by Perestroika and in the west by, um, Billy Joel's Leningrad. We watched Russia fall apart, watched China become basically a big factory for western goods, and watched the capitalist nations' prosperity rise and fall while the communists suffered massive problems with their supply chain.
I think the "brainwashed" American viewpoint is that communism tends to de-evolve quickly into petty dictatorship, because every time it's been attempted it has evolved thusly. Communism's government control afford easy nepotism and favoratism, making it more difficult for the common man to succeed. Ask an American these days wwhy communism is "bad," and that's what they'll tell you -- it runs crosswise of the Jansenist "American Dream." The whole "communists want to kill Americans" drivel of McCarthy died long before Roy Cohn.
Of course, the offshoot of this is that communism has tainted many other progressive social practices, with some people placing every idea from unionization to government health care in the "communist" bucket. Which makes it easier to ignore potential solutions. Shit, I consider myself a fairly independent thinker, but when some cat would hand me a "Communism Now!" pamphlet, I'd make sure it found itself nessled gently in the recycle bin.
AT&T's network is CDMA. Current AT&T phones won't work on Cingular networks, and vica versa. They wouldn't improve their coverage at all, instead they'll wind up slowly migrating all of their phones to one network, selling off the other set in the process.
Anyhow, I agree about this eventually benefitting customers. There are too many providers in the US with too many distinct formats, too many "regionalized" systems (in fact, AT&T didn't work in upstate new york at all until about two months ago), This makes it harder to have true choice in providers like in Japan or Europe. I didn't want to go Verizon, but I had to...the calling area is just so much better than with any of the others. Better to slowly build a universal network on a single standard, chip away at the others until they "Betamax" (since none of them is necessarily "better" than the others, the choice will be somewhat arbitrary) and get everybody on the same network with the same towers. Then it'll also be easier for start-ups to penetrate the market.
Hey, that cockknocker was besmirching a virgin programming language with rumors of her lascivious mother! As a cavalier and Microsoft apologist, I had to set him straight.
Whoa, there, asshole.
.NET framework, so you wouldn't have to write your own.
If IE had been written in VB.NET, there'd be no exploit.
1) By default, VB.NET performs automatic bounds checking. A negative offset would be caught before it was processed and would throw an exception.
2) VB is also an exception handling language, so an error like this would exit the function, not reset the processor.
3) There's already a set of BMP handling routines in the
Note: I don't have a copy.
Does your dog?
Well, to a point it is. The OSS model is fairly myopic...it ONLY cares about the resolution of bugs in code. Code, however, is only the first in a dozen steps to making software available. Most of the world does not care if the "code" has been fixes -- they don't want to download the source and recompile their software and time there's a problem. So after coding the bugfix, there's reversioning, compilation, unit testing, release documentation, the training of tech support, the training of end users, and the mass installation of the package on every machine.
In short: each commercial bugfix takes a lot more work than what the OSS model provides. OSS eliminates the bug quickly in the codebase, but for all we know, Microsoft does that too. They might have fixed it, passed through unit testing, and on to a patch guy. The patch guy released a patched DLL, and there it sat, like the ark of the covenant, because no product manager in their right mind would ask millions of Windows users to download a program and patch their machines, prompting millions of support calls and the odd botched install, just to prevent somebody from crashing an unused browser.
This is the kind of bug that gets fixed in the next release unless people ask for it. And it did get fixed in the next release. Why would you want to perform all that work to fix a bug for which there was no known or useful exploit?
Still, windows security is getting a lot better at making these kinds of fixes now that the automatic update function is available. In fact, since we started enforcing its use at my office, we haven't seen a single problem due to bug exploits. And I haven't had to spend any time patching machines. Something to be said for that, right?
But in the Java world, there's a framework for avoiding it. And whereas I have been known to cover up exceptions, I tend to at the very least log them somewhere. Which helps in debugging, but also prevents non-critical errors from popping the balloon. After all, if your failsafe was INSIDE that validateFieldData method -- and the finally block had you returning false, because a null token is invalid -- your program is debugged without even trying.
In fact, every public method I write in
Eckel's Design Principle #1: Don't be astonishing.
I find True, False or Maybe to be fairly astonishing. Does maybe mean quit? Does it mean give me more options? Does it mean the same as True or False (it would if my wife coded it, oh!)?
All the third option gives us is more questions. Which defeats Echel's sixth principle: Simplicity before generality.
Since strings are immutable, it's actually creating a new string based on the content of strings a and b. So is actually .
A lot of bloat just for plus sign. eh? The first thing you learn when tuning Java is to avoid using that + sign at all costs. It's only there for learners.
Well, it's a matter of scale, isn't it?
In ASM, you're dealing with a handful of variables, a handful of registers and a handful of operations. You have to do more typing to anything...so you just don't do it.
In C, you're generally dealing with a lot of variables, a lot of operations, a lot of FILES and dependencies and complex functions. When you call PerformOperation( SOMETHING ), it's probably doing as much in ten lines as you would do in a hundred lines of C.
That's why they call it a high level language. It's the difference between a scalpel and a chainsaw. Good thing you don't use Java...all those objects in that complex, bloated framework...it's like wielding a shotgun full of razorblades.
Word. I spent all last week messing around with a fundamental design flaw in visual inheritance in .NET.
Monday I just rewrote the fucking thing I was inheriting. Took me 13 hours. At that point I could start work on the 24-48 hours worth of implementation I had to have done for Tuesday (guess how much was ready for release? here's a hint: fuck all).
Incidentally, I think it's lack of knowledge that bit my keyster on this one. If I had KNOWN the thing didn't work, I wouldn't have messed with it. I just would have done this another way. There are, after all, a fairly unlimited number of ways to do things...being able to say "this way is bullshit and i'm not wasting my time anymore" is an essential skill.
I've written bulletproof code under the wire. But every time I've done so, it's been a very simple program with a very simple set of inputs and expected outputs. It was something I never expected to extend or turn into a framework. And it was something that I had a concrete vision of. A lot of the time, somebody says to me, "I need you to write a FOOing program." I have never FOO'd, nor do I fully understand the needs of the daily FOOer. So I deliver something that helps a few stages of FOO, that has the language of FOOology interspersed throughout, but which is probably only a fraction of what is needed. So I extend it. And I make it more general. And at the end, it's a damn octopus of different expectations and kludgey function.
Clear vision. That helps me get rid of bugs -- even more so than more time. But more time would help, too.
Well, the reason she didn't mention testing, QA, design, etc, is because she wasn't giving an interview on how to deliver quality software overall. She was giving an interview on how to reduce the number of bugs overall.
Certainly you still need to plan, test the code, QA it, etc. She's offering a solution to the problem of increasing code complexity, which is a completely different issue from what you're talking about.
In fact, good unit testing combined with simple, well documented abstractions has been the key to every successful project I've been in.
Of course, the difficulty in an open source project is that without a "charismatic captain," it's hard to get a really great API design before somebody kuldges something together. On the other hand, it's easy and beneficial to create a unit test for a future API...in fact, you may find that if you write the unit one day, the next day the API may have been written for you. Sort of a lock-and-key think...you build the lock, and it becomes a lot easier to build the key that fits.
Incidentally, abstracting conditional logic and processes is EXACTLY what unit testing is. She just didn't say it in so many words.
How about C#?
Dunno how it works under the hood, but above ground everything's an inheritor of Object. You can declare something as an int but it doesn't become an integer primitive...that's just shorthand for an Integer allowing you to paste in a lot of your pure C code and have it "just work."
Forcing the inheritance from Object adds a few great methods to everything...ToString(), GetType(), Equals() and GetHashCode(), to name the big ones. ToString() is the best...no matter what you have, you can System.out.Write(object) and it'll tell you SOMETHING about it. Even if all it has to say is "This object overrided the ToString() method and now it's laughing at your feeble attempts to investigate it"
Yeah, here's one:
.NET) handles these things. There are maybe 10 primitive data types. Everything else is an Object. A variable doesn't represent an object, it represents a pointer to that object. You can't make an object act like a primitive...you can't do IntegerClass + IntegerClass, you have to do IntegerClass.Add(IntegerClass). No overloading operators makes things a bit longer, but you never have to worry about confusing syntaxes or anything.
.NET. .NET makes everything an object...even the primitives...but allows you to overload operators. So occasionally you will see shit like Date + Integer -- or WebSite - User + Browser...
STOP USING POINTERS!
I love the way Java (and to an extent,
Which is why I said "to an extent"
Uh...
Why do we need hardware to do trinary logic? We don't need hardware to perform more complicated logic...in fact, every language I can think of has some form of integral case syntax.
Besides, it's quite rare that I need trinary logic. Actually, it's almost never happened...looking over the codebase I'm looking at right now, there are only four instances in 50,000 lines or so that we looked at three states, and all of them were to process a YES/NO/CANCEL screen. We don't use these screens much...as it turns out, they confuse our users a lot.
Just like trinary logic confuses programmers. I don't know what narcotics the grandparent was injesting when he thought trinary logic was a brilliant programmatic idea. It isn't...in fact, the only reason it's researched at all is that it is possibly more efficient from an electrical standpoint than binary logic. Most probably, the first trinary computers will not have a trinary logic integral to the language -- instead, they'll optimize binary logic using trinary structures.
"Back?"
Listen, I'm no hater...but I beta tested Everquest back in 1997, and I've had more fun in bus stations than I did playing that game.
I enjoyed the challenge at first -- I am a P&P guy at heart and the idea of a massive immersive world really shook my dodecahedral dice. But I'm afraid it rolled a fumble...I couldn't take the waiting for monsters to respawn, or the guys who insisted on talking out of game (or even worse, the guys who tried to talk in game but only know the dialogue from "Lady Hawk").
In short: I'll grant that MMORPGs are an intriguing time waster, but "fun" in the way that birthday parties, amusement parks or Hardcore shows are fun? Not really.
Bob? BOB?!? You bring up a failure from TEN YEARS AGO when they didn't have a desktop monopoly and the only people who had computers were smartass teenagers and stock brokers?
I mean, why not just give them shit for Microsoft Decathalon, or Hyperterminal, or Microsoft Works?
God, I wish there was a -1, Retarded.
Listen. Good software takes three things: time, talent and money. Microsoft has the money, the developers have the time and the talent. Sorry the developers took the money and didn't just build an RPG on their own time for the sheer love of it, but babies like to eat and landlords like to crack the skulls of deadbeats. I think the developers at Sigil aren't hurting because their money came from the "evil giant" who brought such horrors into the world as a workable ubiquitous operating system, a fast-enough web browser and a homogenous, interconnected office suite.
What do they, Microsoft, have to do with the project? Well, they selected the team, they put up the money. They've done the production work even if they haven't directed the fool thing. It is Microsoft who said, "There shall be an MMORPG" instead of "There shall be Yet Another Inferior Space Simulator from Chris Roberts."
Microsoft wanted to make a game, and wisely chose not to micromanage the project because their strong suit is not game making, it's writing the world's number one operating system (and office suite (and browser (and a shitty web server))). They do the same for the Macintosh version of MS Word -- loan the core code to a non-MS team, who make a good program rather than a shitty one that looks like Microsoft did it.
How does paying programmers to produce a game make them an evil company? And what are they supposed to do with their "monopoly capital," sit on it until it turns into a golden fucking egg?
I'm not going to play this game. But not because it's from Microsoft. I'm not going to play it because I want to raise a puppy and some kids and finish restoring my 1973 Super Beetle, three things you can't do when you're playing an MMORPG.
For the record: Gaiman is a bit pessimistic, but the soul of American God is exactly what you're talking about. You should really read it. I guarantee that, even if you don't agree, it'll make you think.
As for Sandman living up to the hype...it does, at times. I'm recollecting the whole 75 issue run mostly as a matter of principle, and there's some brilliance there, but there's also a lot of Vertigo Comics masturbation. Vertigo was really the first attempt by a major publisher to reach a new, artsier audience...and a lot of it was crap. Neil tended to rise above it, but occasionally he'd interject homosexual characters just because he could...that sort of thing.
However, the series flows from start to finish like no other. Characters weave in and out from issue 1 to 70 something...and some of them are really cool. Expect to have a problem with some of the art, especially the goofy pop cover art. But stick with the story. Read the first three trades (they rereleased them again, so the old ones can be had on the cheap right now at liquidators), and if you like them, read on. Trade 1 sets you up. Trade 2 pulls you in. And Trade 3 has award winners that will keep you there.
Actually, the real reason Palm is dropping the HotSync client is that Apple wrote their own. It's called iSync and it ships with OSX...Apple wrote it so that their integrated address book and scheduling software could communicate with palms and smartphones.
If you use iCal, you have to use iSync, because the HotSync client doesn't know much about the advanced features of the address book. iSync supports all the other crap you need to have to use a plam machine, too.
So Apple's basically doing the work anyway...why should palm bother rewriting their software when apple users already have a free app that does what HotSync does, but is more tailored to their needs?
First, American Gods is absolutely nothing like Adams' novel. Not only is the tone different, the mechanics of the dieries are different (and quite original). I liked both, but wheras Adams is going for a laugh, Gaiman's going for an exciting story. Adams' plot was a vehicle for his charismatic one liners, and that's why Gaiman did not use it in his bibliography -- as a source of information pertaining to his work, it would have been useless.
Gaiman really steals more from Pratchett than he does from Adams. Re-read Mort and pick up Gaiman's thefts pretty quickly (Death trying to get a job as another "anthropomorphic manifestation," "maybe the Sandman?").
Second, wheras there is a healthy amount of sex im American Gods, it isn't all that sexy. Neither is it poorly written...in fact, that first bit with the fertility goddess swallowing the guy to keep herself alive was great horror writing.
Third, American Gods is hardly a patriotic view of America. It's written by a pessimistic brit and the essential subtext is that we don't believe in things because we have no ties to the earth and thus no traditions.
Finally: whereas I agree with your estimate about Gaiman being a bit high-school at times in his tone and pacing, you're lying about being able to figure out the rest of the book by chapter 3. This was a clever, exciting book. Even if you caught the pun in chapter one (I didn't), you couldn't gleam the plot easily. I loved the book for that, enjoyed the climax though didn't care for the ending, but only because it was a bit too how's your father for such an ambitious work.
I like Adams, as a humor writer. But humor isn't everything. Prachett's got some FUNNY stuff, but he piles it on so thick I can't read much. Gaiman is not a humorist, and makes no claim to be. He's a storyteller obsessed with the "old way" of writing fantasy and fairy tale fiction, and in doing so a lot of his "side stories" seem dry to a modern reader. He's not perfect, but he's a lot more clever than you seem to give him credit for.
I'd rather think of the book Contact, which had the alien encounter written in but a much more satisfying ending that made you realize just how optimistic Sagan was.
Worst thing about the film adaptation was that it turned Sagan's theme upside down. In the book, a level headed scientist who bucks religious nonsense and uses human creativity to discover the underlying truth of the universe and its creation. In the film, a level headed scientist is COURTED by religious nonsense and in the end discovers that science isn't everything. In short, they de-Sagan'd it. The outrage is indescribable...should have sent a poet...