True. I only threw that out as an example of how quiet hybrids are. Although there's also an issue with the vision impaired, who can no longer use their ears to tell when it's safe to cross the street.
Sorry, no. Some hybrids work that way, but most just run the gas engine when needed to recharge the batteries or provide extra power as needed. A big problem with such hybrids is that people aren't used to how quiet they are. People often step in front of them because they assume a car they can't hear isn't moving.
That's all very well, except we're not talking about food crop subsidies, we're talking about the government subsidizing corn for fuel. Which just isn't workable because it takes almost as much energy to create corn ethanol as you get out of it. Some people claim it takes more.
Incidentally, the part of California where I live is known for its strawberries, orchards, and artichokes. (Though not as much as it used to be, now that the best land is paved over for electronics factories.) You don't have to tell me about the stupidity of "sealing the border".
The news here is not that corn is a bad way to make ethanol. Everybody who isn't in the pocket of agribusiness knows that. The news here is that a true blue bushie (or should I say true red bushie? how did Republicans become red?) has reached this conclusion. Which is going to upset a lot of people. Which means they're up to something. What? Is Bush going to invade Iowa?
It's interesting that in the entertainment biz, "have fun, and make sure your employees do the same" is usually a formula for making money. Unfortunately, big publically-owned companies like Best Buy have no hope of following that model.
I have to wonder what they were thinking of when they bought SpeakEasy. SpeakEasy's business model is basically, "We're the geek-friendly ISP." When Best Buy tries to integrate SpeakEasy into their other businesses, "geek-friendly" will certainly be the first thing to go. With nothing to differentiate itself from bigger (and more efficient) ISPs, SpeakEasy won't last very long.
Like most netidiots, you place an excessive value on getting in the last word. You should bear in mind that in order to get in the last word, you have to actually say something.
Even if your hypothetical computer scientists programed everything optimally in assembly, there will still be some functions needed that are not in the library Excuse me? We're talking string manipulation. There are only so many things you can do with a string. Please name a fundamental string operation that isn't widely implemented in standard libraries.
or are in the library but not doing exactly the right thing (e.g doing too many things) You're talking in circles. My whole point is that you should either assume your library is "doing the right thing" or you should be using another library. If you're doing exotic stuff, then yes, you probably need to implement your own library. (Though probably not in assembler — your compiler is probably a better assmbler coder than you are.) But for common use cases, like string manipulation, there are already plenty of solid libraries out there you would be hard put to improve upon.
Sure, you would like to program your computer from the outside, but using which programming language exactly? Qualify your question, please. What kind of program am I writing? What's the target platform? Are there memory constraints? Bandwidth issues? Realtime performance issues? What industry standards does it have to adhere to? Is localization an issue?
Is using C then a premature optimization? Were you born stupid, or did you have to study?
Personally, I'm on the fence. I just bought a tablet, only to discover that you can't personalize handwriting recognition in XP. MS thought it was better to force everybody to write the same. They've finally admitted that this was a bad idea, but to get the new handwriting recognition, you have to upgrade to Vista....
But yeah, for most people, it doesn't make sense to upgrade. Some people will get all horny after seeing the ads, but most will get Vista with a new PC. Which is exactly what happened with XP. And ME. And 98...
You know, it was 75 years ago this month since marijuana was banned by the federal government. Use of this weed has risen every year since then. Could it be that the law just isn't working? Naw...
Well, I've read your post carefully, and I still don't understand why strcat is evil. Yes, there are faster ways to concatenate strings. So what? A good programmer doesn't obsess about saving cycles on every little line of code. That's a waste of time — human time, which is more valuable to CPU time. A good programmer makes a program reliable and maintainable first, and only then worries about paring down the extra cycles. And then only if necessary. Which is only the case inside some loops, mostly very tight ones.
If you hadn't been wasting so much time obsessing over pointers, you'd have heard Tony Hoare's famous quote: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil".
Sure, you want to know how a computer works inside. But frankly, I don't think studying assembler is a very good way to do it.
Incidentally, I aced my assembly language final (I won't say for which system, because then you'd know how old and senile I am) because it consisted of writing a simple bit-extraction program — and my program was more efficient than the official "right" answer. And that was the very last assembler program I ever wrote.
Personally, I do my best thinking when I'm standing in the shower. Getting *away* from the office is the key to coming up with novel solutions, IMHO. Otherwise, one tends to get locked into a certain mode of thinking... change of setting can alleviate this. Hey, everybody's different. Most people are like you — but there are folks who are happy and creative spending 14 hours a day at the keyboard.
Meanwhile, a proper balance between work and personal life ensures that you don't burn yourself out or get exhausted with what you're doing. After all, people can't work 24/7 and remain creative. The mind really does need rest.
Depends on what you mean by "need". Yes, an unbalanced life will eventually burn you out. But it burns out some folks sooner than others. The ones who can't handle it at all certainly don't become the coding addict type we're talking about.
Actually, I don't think that the perks they offer at Google are "designed" to do anything. Many other companies used to offer these kinds of perks (though never on such a lavish scale as Google), only to give them up when they couldn't justify the cost to their stockholders. But Google is structured so that management doesn't have to justify its expenditures to stockholders. So management, which was mostly in grad school until a few years ago, just invented the kind of workplace they wanted for themselves.
But basically, you're right, the keyboard addict lifestyle isn't good for you. If not in the short term, then certainly in the long term. Maybe Google itself is headed towards a collective burnout!
I never liked the fact that when I went to Borders.com to buy a book, I ended up on Amazon.com to do it.
Excuse me, but why go to borders.com at all? Web sites that just rebrand content or services from other web sites have always struck me as really pointless.
The fact that many people must share my perception is probably the main reason Borders is pulling out of the agreement. The fact that borders.com is just amazon.com with slightly different graphics must be painfully obvious to anybody who goes there. So instead of Amazon helping Borders build their brand, Borders is the one helping Amazon! This outweighs any profits Borders gets from the arrangement, which are probably minimal to begin with.
But I still think Borders is fooling themselves if they think they can compete directly with Amazon. Maybe they know more than before, but Amazon is still the 600-pound gorilla in this particular marketplace. Except they may be up to a full ton by now!
Which is as idiotic as all his articles. He thinks that K&R chose null-terminated strings because that's what the PDP-7 supported? What crap. It's a semi-low-level design that fit in nicely with their semi-low-level language. Now, you can criticize the design of C all you want (and there's certainly a lot to criticize) but to suggest that its features are driven by the architecture of an ancient, obsolete system (the PDP-7 didn't even have byte-addressable memory!) is insulting to two great computer scientists.
On the other hand, that's exactly what Joel would do. The fact that he even cares about the best way to implement strings at this late date identifies him as a clueless bit twiddler. Nowadays, a serious programmer uses a standard string library, and doesn't worry about its precise implementation. If the library is any good, it will have been carefully planned and implemented by computer scientists who have thought through every possible efficiency and reliability issue. Then it will have been remorselessly attacked by nitpicking QA people. When you go off and implement your own strings, you lose all that.
If you want to "look under the bonnet" (I love Brit English: "bonnet" is much more lively than our dreary "hood"), than you should study computer architecture, algorithmics, optimization, digital logic... The fact that you see the compiler as the main boundary between the virtual and actual computer tells me that you don't understand the inner stuff as well as you think you do.
People have this weird notion that machine language is the "real" computer. In fact, it's just one layer of abstraction, with many layers above and below. Why not insist that everybody learn how to microcode, or design circuits?
In fact, an obsession with machine/assembly language often leads to really bad programming practices. It tempts programmers to overoptimize their code, at the expense of maintainability and reliability. It promotes thinking in a low-level procedural model using bit-level data manipulation, wheras modern programming is dependent on high level abstractions, standardized code libraries, data encapsulation, and often uses non-procedural idioms.
When you write a program, you pick a software model that works well for the problem you're trying to solve. Then you find a good implementation of that model and use it. That implementation, or "platform", usually consists of a compiler, some libraries, and nowadays often includes a virtual machine. (Despite your sneering at.NET, a virtual machine happens to be a powerful tool for creating efficient, reliable software. The fact that the Microsoft implementation of that idea suffers from their usual bad planning, feature bloat and bad QA is beside the point.) If the platform is any good, you can concentrate on solving the problems you're supposed to be solving, and leave the low-level stuff to your platform, which will probably do a better job of handling the low level stuff than you could anyway.
That said: yes, a well rounded computer nerd (something not all programmers need to be) should certainly study assembly language — along with a lot of other stuff. But they shouldn't promote assembly language to any exalted role as the "real" computer language.
Jeez, I get so tired of Slashdot amateur lawyers. It doesn't matter how much legal liability all those clueless folks with infested computers have. Who's going to approach 1 million plus computer owners and tell them "fix your computer or be sued!" It would be a logistical, political, and economic nightmare.
True. I only threw that out as an example of how quiet hybrids are. Although there's also an issue with the vision impaired, who can no longer use their ears to tell when it's safe to cross the street.
Sorry, no. Some hybrids work that way, but most just run the gas engine when needed to recharge the batteries or provide extra power as needed. A big problem with such hybrids is that people aren't used to how quiet they are. People often step in front of them because they assume a car they can't hear isn't moving.
That's all very well, except we're not talking about food crop subsidies, we're talking about the government subsidizing corn for fuel. Which just isn't workable because it takes almost as much energy to create corn ethanol as you get out of it. Some people claim it takes more.
Incidentally, the part of California where I live is known for its strawberries, orchards, and artichokes. (Though not as much as it used to be, now that the best land is paved over for electronics factories.) You don't have to tell me about the stupidity of "sealing the border".
Which doesn't even come close to answering my question: how did the Republicans end up with red -- the color of socialism!
The news here is not that corn is a bad way to make ethanol. Everybody who isn't in the pocket of agribusiness knows that. The news here is that a true blue bushie (or should I say true red bushie? how did Republicans become red?) has reached this conclusion. Which is going to upset a lot of people. Which means they're up to something. What? Is Bush going to invade Iowa?
Perhaps it has something to do with the anonymity?
Utter bullshit. Dvorak is actually braindead and contrarian on a wide variety of topics!
What's your favorite color?
It's interesting that in the entertainment biz, "have fun, and make sure your employees do the same" is usually a formula for making money. Unfortunately, big publically-owned companies like Best Buy have no hope of following that model.
I have to wonder what they were thinking of when they bought SpeakEasy. SpeakEasy's business model is basically, "We're the geek-friendly ISP." When Best Buy tries to integrate SpeakEasy into their other businesses, "geek-friendly" will certainly be the first thing to go. With nothing to differentiate itself from bigger (and more efficient) ISPs, SpeakEasy won't last very long.
Like most netidiots, you place an excessive value on getting in the last word. You should bear in mind that in order to get in the last word, you have to actually say something.
You need to work on your material.
Do you have something to say, or are you just talking to yourself?
Because of the WOW! Jeez, don't you watch TV?
Personally, I'm on the fence. I just bought a tablet, only to discover that you can't personalize handwriting recognition in XP. MS thought it was better to force everybody to write the same. They've finally admitted that this was a bad idea, but to get the new handwriting recognition, you have to upgrade to Vista....
But yeah, for most people, it doesn't make sense to upgrade. Some people will get all horny after seeing the ads, but most will get Vista with a new PC. Which is exactly what happened with XP. And ME. And 98...
No, it's calling Jack Valenti to get his approval for your activity!
You know, it was 75 years ago this month since marijuana was banned by the federal government. Use of this weed has risen every year since then. Could it be that the law just isn't working? Naw...
If you hadn't been wasting so much time obsessing over pointers, you'd have heard Tony Hoare's famous quote: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil".
Sure, you want to know how a computer works inside. But frankly, I don't think studying assembler is a very good way to do it.
Incidentally, I aced my assembly language final (I won't say for which system, because then you'd know how old and senile I am) because it consisted of writing a simple bit-extraction program — and my program was more efficient than the official "right" answer. And that was the very last assembler program I ever wrote.
And I never learned to drive a stick.
Depends on what you mean by "need". Yes, an unbalanced life will eventually burn you out. But it burns out some folks sooner than others. The ones who can't handle it at all certainly don't become the coding addict type we're talking about.
Actually, I don't think that the perks they offer at Google are "designed" to do anything. Many other companies used to offer these kinds of perks (though never on such a lavish scale as Google), only to give them up when they couldn't justify the cost to their stockholders. But Google is structured so that management doesn't have to justify its expenditures to stockholders. So management, which was mostly in grad school until a few years ago, just invented the kind of workplace they wanted for themselves.
But basically, you're right, the keyboard addict lifestyle isn't good for you. If not in the short term, then certainly in the long term. Maybe Google itself is headed towards a collective burnout!
Competitive how?
Sure, if you already know what book you plan to buy.
Excuse me, but why go to borders.com at all? Web sites that just rebrand content or services from other web sites have always struck me as really pointless.
The fact that many people must share my perception is probably the main reason Borders is pulling out of the agreement. The fact that borders.com is just amazon.com with slightly different graphics must be painfully obvious to anybody who goes there. So instead of Amazon helping Borders build their brand, Borders is the one helping Amazon! This outweighs any profits Borders gets from the arrangement, which are probably minimal to begin with.
But I still think Borders is fooling themselves if they think they can compete directly with Amazon. Maybe they know more than before, but Amazon is still the 600-pound gorilla in this particular marketplace. Except they may be up to a full ton by now!
Which is as idiotic as all his articles. He thinks that K&R chose null-terminated strings because that's what the PDP-7 supported? What crap. It's a semi-low-level design that fit in nicely with their semi-low-level language. Now, you can criticize the design of C all you want (and there's certainly a lot to criticize) but to suggest that its features are driven by the architecture of an ancient, obsolete system (the PDP-7 didn't even have byte-addressable memory!) is insulting to two great computer scientists.
On the other hand, that's exactly what Joel would do. The fact that he even cares about the best way to implement strings at this late date identifies him as a clueless bit twiddler. Nowadays, a serious programmer uses a standard string library, and doesn't worry about its precise implementation. If the library is any good, it will have been carefully planned and implemented by computer scientists who have thought through every possible efficiency and reliability issue. Then it will have been remorselessly attacked by nitpicking QA people. When you go off and implement your own strings, you lose all that.
If you want to "look under the bonnet" (I love Brit English: "bonnet" is much more lively than our dreary "hood"), than you should study computer architecture, algorithmics, optimization, digital logic... The fact that you see the compiler as the main boundary between the virtual and actual computer tells me that you don't understand the inner stuff as well as you think you do.
People have this weird notion that machine language is the "real" computer. In fact, it's just one layer of abstraction, with many layers above and below. Why not insist that everybody learn how to microcode, or design circuits?
In fact, an obsession with machine/assembly language often leads to really bad programming practices. It tempts programmers to overoptimize their code, at the expense of maintainability and reliability. It promotes thinking in a low-level procedural model using bit-level data manipulation, wheras modern programming is dependent on high level abstractions, standardized code libraries, data encapsulation, and often uses non-procedural idioms.
When you write a program, you pick a software model that works well for the problem you're trying to solve. Then you find a good implementation of that model and use it. That implementation, or "platform", usually consists of a compiler, some libraries, and nowadays often includes a virtual machine. (Despite your sneering at .NET, a virtual machine happens to be a powerful tool for creating efficient, reliable software. The fact that the Microsoft implementation of that idea suffers from their usual bad planning, feature bloat and bad QA is beside the point.) If the platform is any good, you can concentrate on solving the problems you're supposed to be solving, and leave the low-level stuff to your platform, which will probably do a better job of handling the low level stuff than you could anyway.
That said: yes, a well rounded computer nerd (something not all programmers need to be) should certainly study assembly language — along with a lot of other stuff. But they shouldn't promote assembly language to any exalted role as the "real" computer language.
Jeez, I get so tired of Slashdot amateur lawyers. It doesn't matter how much legal liability all those clueless folks with infested computers have. Who's going to approach 1 million plus computer owners and tell them "fix your computer or be sued!" It would be a logistical, political, and economic nightmare.