Steele is a career GOP Apparatchik. It's not like they just found some black guy who looks good in a suit at random. They found a black guy who looks good in a suit who had worked his way up party ranks and has held elected office.
You don't understand the mentality of straight-party-ticket voters.
It doesn't matter what THEIR guys do, only what the OTHER team's guys do. The attitude is, "Well, he might be a crook but he's OUR crook".
I've been involved in state politics. It's unbelievable. I've seen guys with FELONY FRAUD CONVICTIONS get re-nominated time and again for their state House of Representative seat because they have the weight of the local political machine behind them (and, presumably, because they've got dirt on somebody higher up).
It happens at the national level, too. The only thing that can come up with that explains Michael Steele's continued tenure at the helm of the GOP after strippergate and all the other scandals is that he's got the key to a closet full of skeletons.
I don't think the old lady who was the lone holdout was "less politically sophisticated". My bet is she was a life-long straight-party-ticket voter. There's a lot of people out there (on both sides) who think that anything is OK as long as their party is the one that's doing it. "He may be a crook, but he's OUR crook"
You know, you are allowed to have more than one drive in your system, and it's highly unlikely you need fast storage for everything.
A 64G SSD for the OS and active file and a 1.5T hard drive for long term storage makes for a very nice desktop system. Even with a laptop you can get by quite nicely with a small internal SSD and a large external drive for your multi-terabyte music and pr0n collection.
I don't want to pretend I'm some godlike C programmer, but competent coding and a simple review process catches this stuff pretty easily.
I wouldn't say I'm a godlike programmer either, but I've been doing it for a living for 22 years. I've learned a thing or two in that time and seen many times what happens when programmers don't follow best practices.
In my experience competent programmers use all the automated tools at their disposal; exceptional ones find more things to automate.
Running a static code checker a 10,000 line program takes less than a second and catches 100% of stupid errors. Reviewing the same program by hand takes hours and is significantly less than 100% effective. Wasting hours of your time doing something the computer could do better in under a second is extremely foolish and unprofessional -- in other words, it's a sign of incompetence. That time could be better spend checking things that automated tools CAN'T easily catch, like critiquing the high-level design, writing automated test cases, etc.
If you don't consistently follow best practices, you're not a competent programmer. Considering that I've made a very lucrative career out of cleaning up other people's messes, I can say there's definitely no shortage of incompetent programmers working in the field.
And sometimes that there if(a=b) is exactly what you mean.
Can't think of any situations off hand, but I'm sure there have been some.
If you had bothered to read the splint output, you'd have seen this:
If an assignment is intended, add an extra parentheses nesting (e.g., if ((a = b))...) to suppress this message
First, C != C++. They're different languages. C++ started life as a preprocessor that created C code, but that was 20+ years ago. It's evolved beyond that now.
Second, I hope you're joking about Java being a replacement for C. Granted, there are a lot of things written in C and C++ that shouldn't have been, but there are a lot of things getting written in Java that shouldn't be, either.
Personally, I don't see any point for Java. It's a horrible language that's failed to live up to it's promises of "write once, run anywhere" and making it easy to write reusable code. Languages like Ruby, Python, and Perl actually succeed in this goal. Java is too low-level for rapid development / prototyping and too high-level and abstracted to use for systems level or high-performance work.
I should amend the preceding to say regardless of what language you're programming in, if you're not consistently using a static and/or dynamic code checker to identify potential problems in your code, you're wasting your time, not to mention your employer and/or client's money.
How many lifetimes have cumulatively been wasted because some tired programmer wrote "if (x = y)..." and the compiler raised no objection? Let's be honest, C is the king of side-effects.
$ cat test.c #include <stdio.h>
int main (void) {
int a = 1;
int b = 2;
if ( a = b ) {
printf("oops\n");
}
else {
printf("bingo\n");
}
return 0; }
$ splint test.c Splint 3.1.2 --- 03 May 2009
test.c: (in function main) test.c:6:7: Test expression for if is assignment expression: a = b
The condition test is an assignment expression. Probably, you mean to use ==
instead of =. If an assignment is intended, add an extra parentheses nesting
(e.g., if ((a = b))...) to suppress this message. (Use -predassign to
inhibit warning) test.c:6:7: Test expression for if not boolean, type int: a = b
Test expression type is not boolean or int. (Use -predboolint to inhibit
warning)
Finished checking --- 2 code warnings
I fail to see a problem here. Lint was invented in 1979. If you're coding in C and Lint (or one of it's decedents) isn't part of your build process, you're simply too stupid, lazy, or incompetent to be a C programmer.
Lint may not be part of the compiler itself, but that's an intentional design decision, and fully in keeping with the Unix philosophy that a tool should do one thing only and do it well. Don't blame the compiler because you don't understand that it's only one piece of a larger tool chain. There are many legitimate things to complain about in C, but this is not one of them.
With luck, they won't go away, they'll just be sold off at a fraction of what they were purchased for. About a 50/50 chance.
Of course, if some executives get in a pissing match over it, all bets are off. I can think of one property (which shall rename nameless) that was actually making a profit, although not enough one to make some people happy. There was a turf war between that property and a semi-competing one, and the decision was made to shut it down.
Some of the insiders who were on the losing side of the turf war got a group of outside investors together and made a generous, multi-million dollar cash offer for the site. But no, egos had been bruised, so the offer was summarily rejected with a giant frak you, and all of the software and content was just flushed down the toilet.
The point is that people who want to pirate your software are going to do so, regardless of whether you have DRM or not. Having DRM isn't going to turn any pirates into paid users because it is so easily broken.
DRM only hurts and alienates your legitimate users. It encourages them to seek out cracks to add value to the software they legitimately paid for. You're teaching them that they need to use cracks just to have uncrippled software, so in the future they're more likely to just say f* it and just get the pirate version to start with. It's a long-term losing strategy.
Yes, developers do deserve to get paid for their games. That's why you're seeing a lot of games that only function in conjunction with a subscription-based service. That works well for multi-player games where you can control access to the central server, but a lot of gamers (like myself) prefer solitaire games. There's not much value to be added to a single-player game by requiring it to connect to a server in order to play.
Every single title Firaxis has ever put out. Temple of Elemental Evil. The X-wing and TIE fighter series. The Thief series. The Mechwarrior and MechCommander series.
AOL Bought Compuserve a long, long time ago.
They shuttered the Compuserve facility and laid off or transferred the last of the old Compuserve folks in 2008, IIRC.
Actually, the new CEO (Ted Armstrong) is a LOT better than the old management team of CEO Randy "I don't use email" Falco and President Ron Grant (AKA Smithers & Burns). An inanimate carbon rod would have been better than Smithers & Burns, but that's besides the point.
Frankly, I doubt anyone can save AOL at this point. The corporate culture is too dysfunctional and resistant to change, there's too much baggage from obsolete legacy systems, and too many "leaders" who are either incompetent empire builders or whose conceit and reputation vastly exceed their actual ability (*cough* Ted Cahall *cough*)
Let's say you release a DRM-free game and it attracts 1,000,000 players, 100,000 of whom pay you. The question you should be asking isn't "how can I get money out of the 900k people who are playing but not paying" but "how many of my 100,000 paying customers would I have lost had I released it with DRM". DRM reduces the value of your product; getting rid of intrusive DRM adds value. I can't tell you how many games I've bought at full retail and then promptly downloaded a crack or no-cd patch because the DRM got in the way of me enjoying the game I just paid for.
DRM is a fantasy. Snake oil. It doesn't work. It's been proven time and time again for the last 25 years. EVERY copy protection system ever devised has been defeated quickly. You can't stop people from copying software by any means short of crippling the hardware, and (as the jailbreakers and console modders have shown) even THAT doesn't work in the long run.
I work for another tech company not far from AOL in Dulles where a few of AOL's "managers" have migrated.
Sunrocket.com was mostly run by ex-AOL managers. "Epic Fail" is about the only way to describe that decision.
In my experience, the majority of AOL techies are top notch (At least the ones in Dulles. Don't even get me started about the clowns from Bangalore).
Management, on the other hand... well, there are some (not many) good ones, but within AOL they're hamstrung by the poisonous corporate culture. The bad ones carry the taint of that culture elsewhere and infect other companies with it.
Cash in on the Web 2.0 fad. Hire a hundred bloggers to blog all day long. Turn AOL.com into a huge social network, rivaling Facebook
They tried this, multiple times. And failed, multiple times. I know, I was deeply involved with the effort. First came AIMPages.com. Millions of dollars spent, negligible uptake. Then they tried building another social network based off of the old Member Directory. That never even made it out the door. Then they bought Bebo for about 5x what it was worth and only succeeded in driving away those customers it already had.
There are a lot of really smart people at AOL down in the trenches -- some of the most knowledgeable DBAs, SAs, and developers I've worked with in 20 years I met at AOL. Most of the smart ones fled or got laid off but I still know a few of the good ones who are still there, and they are the only reason anything at AOL works at all.
Executive leadership is lacking, to say the least, and they cripple every product by trying to emulate every feature a competitor has without understanding that "actually working" and "not being slow as crap" are essential features for any product. If AOL was building houses, you'd have 3 dozen managers obsessing over having marble counters, oak cabinets, and Italian tile floors, and ignoring the workers who were telling them that the roof leaked, the plumbing backed up, and the foundation was cracked.
Netscape? They pretty well killed that brand off years ago. They bought Netscape for the traffic going to the portal site, which is why they created the Mozilla foundation and dropped the browser code like a hot potato. And the traffic that they paid so much to get? 90% of it was gone within a year of the takeover. They made a half-assed attempt to resurrect it as a Digg-style social networking site, but that took off like a lead balloon.
Considering that the previous terabyte sort record was held by Hadoop, it's not surprising that another system can do the same job in a fraction of the time with a fraction of the resources.
Hadoop a useful framework, but it's a horribly inefficient resource hog. Who was the f*ing genius who thought it was a good idea to write a high performance computing application in Java?!?
Some of the most obfuscated code I've ever seen has been written in Perl.
I won't disagree with you. However, some of the clearest, most elegant code I've ever seen has been written in Perl, too.
Perl is a language for getting the job done. Period. It's not there to look pretty, or to enforce a particular methodology, or to do anything else besides make stuff work. It just shuts up, gets out of your way, and (more-so than any other language) does what you want it to do with a minimal amount of coaxing.
However it's a language that you have to be extremely careful with - I mandate that all of my development team use Perl-Critic to ensure quality code, and Perl-Tidy to ensure a consistent coding style.
Exactly. You can write bad, unmaintainable code in any language, but Perl definitely gives you more enough rope to hang yourself in that department. It takes discipline to write maintainable code, but I'd rather that discipline be self-imposed than have somebody else's notion of "maintainable" imposed upon me. Fortunately, there are tools to facilitate that.
The speed difference is only significant if you were shooting at the missiles from behind. CWIS is designed to target the missiles in their terminal phase, so they're going to be coming in head-on (or close to it). The speed of the bullets is irrelevant -- you just need to put enough mass in air so that the missile runs into a big enough chunk of it.
If the missile is moving at mach 5, it really doesn't matter if the bullet is stationary or at mach 1, most of the KE is supplied by the missile itself.
Americans seem to view bearing arms as a right, and I don't mean legally, I mean morally.
That's because it IS. Having the means to be able to defend yourself, your family, and your community against unwarranted aggression is a fundamental human right.
As much as I hate bumper-sticker jingoism, there's a lot of truth to the saying that an armed man is a citizen while a disarmed man is a subject.
Protecting the industry that votes Democrat and squelching free speech that criticizes the party in power.
Protecting the copyright cartels is one of the few things both parties agree on. Don't forget that Sonny Bono, author/sponsor of the copyright for eternity-on-the-installment-plan, was a Republican. Both houses passed this stinking piece of legislative manure by voice vote, which makes it impossible to determine who voted for or against. Republicans controlled both the h
Take your partisan nitwittery elsewhere, where the audience isn't persuaded by facts. Freep, perhaps.
Now if someone were really evil, they would have had it redirect to Trinidad (the neighborhood in DC, not the island).
Turning a bunch of pasty white racists lose in one of the most violent black neighborhoods in the country could be ... interesting.
Steele is a career GOP Apparatchik. It's not like they just found some black guy who looks good in a suit at random. They found a black guy who looks good in a suit who had worked his way up party ranks and has held elected office.
You don't understand the mentality of straight-party-ticket voters.
It doesn't matter what THEIR guys do, only what the OTHER team's guys do. The attitude is, "Well, he might be a crook but he's OUR crook".
I've been involved in state politics. It's unbelievable. I've seen guys with FELONY FRAUD CONVICTIONS get re-nominated time and again for their state House of Representative seat because they have the weight of the local political machine behind them (and, presumably, because they've got dirt on somebody higher up).
It happens at the national level, too. The only thing that can come up with that explains Michael Steele's continued tenure at the helm of the GOP after strippergate and all the other scandals is that he's got the key to a closet full of skeletons.
I don't think the old lady who was the lone holdout was "less politically sophisticated". My bet is she was a life-long straight-party-ticket voter. There's a lot of people out there (on both sides) who think that anything is OK as long as their party is the one that's doing it. "He may be a crook, but he's OUR crook"
You know, you are allowed to have more than one drive in your system, and it's highly unlikely you need fast storage for everything.
A 64G SSD for the OS and active file and a 1.5T hard drive for long term storage makes for a very nice desktop system. Even with a laptop you can get by quite nicely with a small internal SSD and a large external drive for your multi-terabyte music and pr0n collection.
That's a bit of a strong statement.
I don't want to pretend I'm some godlike C programmer, but competent coding and a simple review process catches this stuff pretty easily.
I wouldn't say I'm a godlike programmer either, but I've been doing it for a living for 22 years. I've learned a thing or two in that time and seen many times what happens when programmers don't follow best practices.
In my experience competent programmers use all the automated tools at their disposal; exceptional ones find more things to automate.
Running a static code checker a 10,000 line program takes less than a second and catches 100% of stupid errors. Reviewing the same program by hand takes hours and is significantly less than 100% effective. Wasting hours of your time doing something the computer could do better in under a second is extremely foolish and unprofessional -- in other words, it's a sign of incompetence. That time could be better spend checking things that automated tools CAN'T easily catch, like critiquing the high-level design, writing automated test cases, etc.
If you don't consistently follow best practices, you're not a competent programmer. Considering that I've made a very lucrative career out of cleaning up other people's messes, I can say there's definitely no shortage of incompetent programmers working in the field.
And sometimes that there if(a=b) is exactly what you mean.
Can't think of any situations off hand, but I'm sure there have been some.
If you had bothered to read the splint output, you'd have seen this:
If an assignment is intended, add an extra parentheses nesting (e.g., if ((a = b)) ...) to suppress this message
Reading is fundamental.
First, C != C++. They're different languages. C++ started life as a preprocessor that created C code, but that was 20+ years ago. It's evolved beyond that now.
Second, I hope you're joking about Java being a replacement for C. Granted, there are a lot of things written in C and C++ that shouldn't have been, but there are a lot of things getting written in Java that shouldn't be, either.
Personally, I don't see any point for Java. It's a horrible language that's failed to live up to it's promises of "write once, run anywhere" and making it easy to write reusable code. Languages like Ruby, Python, and Perl actually succeed in this goal. Java is too low-level for rapid development / prototyping and too high-level and abstracted to use for systems level or high-performance work.
I should amend the preceding to say regardless of what language you're programming in, if you're not consistently using a static and/or dynamic code checker to identify potential problems in your code, you're wasting your time, not to mention your employer and/or client's money.
How many lifetimes have cumulatively been wasted because some tired programmer wrote "if (x = y) ..." and the compiler raised no objection? Let's be honest, C is the king of side-effects.
$ cat test.c
#include <stdio.h>
int main (void) {
int a = 1;
int b = 2;
if ( a = b ) {
printf("oops\n");
}
else {
printf("bingo\n");
}
return 0;
}
$ splint test.c
Splint 3.1.2 --- 03 May 2009
test.c: (in function main) ...) to suppress this message. (Use -predassign to
test.c:6:7: Test expression for if is assignment expression: a = b
The condition test is an assignment expression. Probably, you mean to use ==
instead of =. If an assignment is intended, add an extra parentheses nesting
(e.g., if ((a = b))
inhibit warning)
test.c:6:7: Test expression for if not boolean, type int: a = b
Test expression type is not boolean or int. (Use -predboolint to inhibit
warning)
Finished checking --- 2 code warnings
I fail to see a problem here. Lint was invented in 1979. If you're coding in C and Lint (or one of it's decedents) isn't part of your build process, you're simply too stupid, lazy, or incompetent to be a C programmer.
Lint may not be part of the compiler itself, but that's an intentional design decision, and fully in keeping with the Unix philosophy that a tool should do one thing only and do it well. Don't blame the compiler because you don't understand that it's only one piece of a larger tool chain. There are many legitimate things to complain about in C, but this is not one of them.
It was pretty cool, actually.
With luck, they won't go away, they'll just be sold off at a fraction of what they were purchased for. About a 50/50 chance.
Of course, if some executives get in a pissing match over it, all bets are off. I can think of one property (which shall rename nameless) that was actually making a profit, although not enough one to make some people happy. There was a turf war between that property and a semi-competing one, and the decision was made to shut it down.
Some of the insiders who were on the losing side of the turf war got a group of outside investors together and made a generous, multi-million dollar cash offer for the site. But no, egos had been bruised, so the offer was summarily rejected with a giant frak you, and all of the software and content was just flushed down the toilet.
The point is that people who want to pirate your software are going to do so, regardless of whether you have DRM or not. Having DRM isn't going to turn any pirates into paid users because it is so easily broken.
DRM only hurts and alienates your legitimate users. It encourages them to seek out cracks to add value to the software they legitimately paid for. You're teaching them that they need to use cracks just to have uncrippled software, so in the future they're more likely to just say f* it and just get the pirate version to start with. It's a long-term losing strategy.
Yes, developers do deserve to get paid for their games. That's why you're seeing a lot of games that only function in conjunction with a subscription-based service. That works well for multi-player games where you can control access to the central server, but a lot of gamers (like myself) prefer solitaire games. There's not much value to be added to a single-player game by requiring it to connect to a server in order to play.
Every single title Firaxis has ever put out. Temple of Elemental Evil. The X-wing and TIE fighter series. The Thief series. The Mechwarrior and MechCommander series.
That enough? I could go on.
AOL Bought Compuserve a long, long time ago. They shuttered the Compuserve facility and laid off or transferred the last of the old Compuserve folks in 2008, IIRC.
Actually, the new CEO (Ted Armstrong) is a LOT better than the old management team of CEO Randy "I don't use email" Falco and President Ron Grant (AKA Smithers & Burns). An inanimate carbon rod would have been better than Smithers & Burns, but that's besides the point.
Frankly, I doubt anyone can save AOL at this point. The corporate culture is too dysfunctional and resistant to change, there's too much baggage from obsolete legacy systems, and too many "leaders" who are either incompetent empire builders or whose conceit and reputation vastly exceed their actual ability (*cough* Ted Cahall *cough*)
Let's say you release a DRM-free game and it attracts 1,000,000 players, 100,000 of whom pay you. The question you should be asking isn't "how can I get money out of the 900k people who are playing but not paying" but "how many of my 100,000 paying customers would I have lost had I released it with DRM". DRM reduces the value of your product; getting rid of intrusive DRM adds value. I can't tell you how many games I've bought at full retail and then promptly downloaded a crack or no-cd patch because the DRM got in the way of me enjoying the game I just paid for.
DRM is a fantasy. Snake oil. It doesn't work. It's been proven time and time again for the last 25 years. EVERY copy protection system ever devised has been defeated quickly. You can't stop people from copying software by any means short of crippling the hardware, and (as the jailbreakers and console modders have shown) even THAT doesn't work in the long run.
I work for another tech company not far from AOL in Dulles where a few of AOL's "managers" have migrated.
Sunrocket.com was mostly run by ex-AOL managers. "Epic Fail" is about the only way to describe that decision.
In my experience, the majority of AOL techies are top notch (At least the ones in Dulles. Don't even get me started about the clowns from Bangalore).
Management, on the other hand... well, there are some (not many) good ones, but within AOL they're hamstrung by the poisonous corporate culture. The bad ones carry the taint of that culture elsewhere and infect other companies with it.
But no one else besides Apple has the patented Steve Jobs Reality Distortion Field.
Cash in on the Web 2.0 fad. Hire a hundred bloggers to blog all day long. Turn AOL.com into a huge social network, rivaling Facebook
They tried this, multiple times. And failed, multiple times. I know, I was deeply involved with the effort. First came AIMPages.com. Millions of dollars spent, negligible uptake. Then they tried building another social network based off of the old Member Directory. That never even made it out the door. Then they bought Bebo for about 5x what it was worth and only succeeded in driving away those customers it already had.
There are a lot of really smart people at AOL down in the trenches -- some of the most knowledgeable DBAs, SAs, and developers I've worked with in 20 years I met at AOL. Most of the smart ones fled or got laid off but I still know a few of the good ones who are still there, and they are the only reason anything at AOL works at all.
Executive leadership is lacking, to say the least, and they cripple every product by trying to emulate every feature a competitor has without understanding that "actually working" and "not being slow as crap" are essential features for any product. If AOL was building houses, you'd have 3 dozen managers obsessing over having marble counters, oak cabinets, and Italian tile floors, and ignoring the workers who were telling them that the roof leaked, the plumbing backed up, and the foundation was cracked.
Netscape? They pretty well killed that brand off years ago. They bought Netscape for the traffic going to the portal site, which is why they created the Mozilla foundation and dropped the browser code like a hot potato. And the traffic that they paid so much to get? 90% of it was gone within a year of the takeover. They made a half-assed attempt to resurrect it as a Digg-style social networking site, but that took off like a lead balloon.
Considering that the previous terabyte sort record was held by Hadoop, it's not surprising that another system can do the same job in a fraction of the time with a fraction of the resources.
Hadoop a useful framework, but it's a horribly inefficient resource hog. Who was the f*ing genius who thought it was a good idea to write a high performance computing application in Java?!?
Some of the most obfuscated code I've ever seen has been written in Perl.
I won't disagree with you. However, some of the clearest, most elegant code I've ever seen has been written in Perl, too.
Perl is a language for getting the job done. Period. It's not there to look pretty, or to enforce a particular methodology, or to do anything else besides make stuff work. It just shuts up, gets out of your way, and (more-so than any other language) does what you want it to do with a minimal amount of coaxing.
However it's a language that you have to be extremely careful with - I mandate that all of my development team use Perl-Critic to ensure quality code, and Perl-Tidy to ensure a consistent coding style.
Exactly. You can write bad, unmaintainable code in any language, but Perl definitely gives you more enough rope to hang yourself in that department. It takes discipline to write maintainable code, but I'd rather that discipline be self-imposed than have somebody else's notion of "maintainable" imposed upon me. Fortunately, there are tools to facilitate that.
If the missile is moving at mach 5, it really doesn't matter if the bullet is stationary or at mach 1, most of the KE is supplied by the missile itself.
Americans seem to view bearing arms as a right, and I don't mean legally, I mean morally.
That's because it IS. Having the means to be able to defend yourself, your family, and your community against unwarranted aggression is a fundamental human right. As much as I hate bumper-sticker jingoism, there's a lot of truth to the saying that an armed man is a citizen while a disarmed man is a subject.
Protecting the industry that votes Democrat and squelching free speech that criticizes the party in power.
Protecting the copyright cartels is one of the few things both parties agree on. Don't forget that Sonny Bono, author/sponsor of the copyright for eternity-on-the-installment-plan, was a Republican. Both houses passed this stinking piece of legislative manure by voice vote, which makes it impossible to determine who voted for or against. Republicans controlled both the h
Take your partisan nitwittery elsewhere, where the audience isn't persuaded by facts. Freep, perhaps.