It is a question of economics. If you can only afford to search X people per day out of a possible Y people, which option is most likely to be most successful at finding what you are searching for:
1) Searching completely randomly 2) Using all the data available to determine those most likely to have what you are looking for
In CS, I would call #1 the naive approch, and #2 the heuristic approach. The heuristic approach would be many, many times more efficient and successful than the naive approach when XY. Because we have a finite budget, XY in this "airport/terrorist" scenario.
Like so many things in life, it makes perfect sense, even though it is not fair. I would prefer a world that were fair, but I don't let that stop me from seeing reality.
So bitter... It is among the most vicious personal name-calling I've been lucky enough to experience in a very long time.
At your request, I consulted a dictionary. It seems "art" has so many definitions it is almost pointless to talk about what art is. But at least one of the definitions of art is mostly exclusive with the definiton of engineering:
art1 (ärt) pronunciation n.
5. A nonscientific branch of learning; one of the liberal arts.
engineering (n'j-nîr'ng) pronunciation n.
1.
a. The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.
b. The profession of or the work performed by an engineer.
And I realize that software engineering is among the least mature engineering disciplines. But for 95% of software engineering projects, the GOAL of those designing software should be to strive for engineering priciples similar to those employed in the more mature disciplines. If the goal of these system designers is to be "artistic," they are in many ways at odds with that.
For the very small number of ground-breaking research areas in information technology, the philosophies of engineering are less important. Once these areas mature, engineering should be more important.
My original point was that designing software systems was an engineering discipline, not an art-form.
You countered, saying it was scary that I believe that. Then you made some pointless statements about flying and bridge building. By pointless, I mean that flying is not at ALL similar to designing a functional system, and that designing a bridge is a very well-established form of engineering. No sane person would hire a "bridge artist" to determine the thickness of the beams needed in a bridge.
Since there wasn't much point in arguing with your pointless analogies, I backed up my previous statement with some examples of why the artist mindset is the wrong one for software design.
You countered again saying I should have attacked your argument.
It seems you and I have vastly different ideas of what art and engineering are. I have studied engineering, and you have not. For this reason, I think my ideas are more credible than yours. I will repeat them, if you like:
The artist strives for things like originality and creativity. The engineer strives for predictable, repeatable, systems-oriented designs. Those are very different goals. Some creativity is required when engineering, but it is not a goal by itself.
So what is your problem with that? That is scary to you?
If you assume that every person is motivated by money alone, then you are forced to conclude that anti-malware companies have the greatest incentive to produce malware.
Designing software is an engineering discipline which is best performed by people with foundations in science.
First I'll quote myself again, because you seem to have missed it: "*Yes, I know creativity is usually involved when designing things. That doesn't make it art."
Then I'll ask you the same question I asked some other guy: Have you worked with someone who thinks programming is an "art?" They strive for cleverness, complexity, and originality. Those are the exact opposite of good engineering principles.
So did you study engineering? I'm thinking no. I think you missed the word "engineering" in my first post.
But go ahead and be a code artist. Do things in creative ways instead of using the known-best ways. Ignore engineering principles. The file is your canvas.
And if I ever edit your oh-so-clever code, I'll curse you the entire time. If I ever try to extend your architecture, only to find it is too interconnected to do so, I'll tell management exactly why the app needs to be rewritten from scratch (because you were being an artist).
Re:Art is about creativity, not rote coding
on
The Art of SQL
·
· Score: 1
Have you worked with someone who thinks programming is an "art?" They strive for cleverness, complexity, and originality. Those are the exact opposite of good engineering principles.
If you think SQL is an "art," you are a hack. Designing proper databases and the SQL to use them optimally falls under the domain of science/engineering. 95% of developers see relational databases simply as a means for a persistent data store, but that's not what it was designed to do. If you don't know engineering (what you do when designing functional systems*) from art (painting pictures, etc) you should have gone to a better college.
See this page for a start on the science of databases.
*Yes, I know creativity is usually involved when designing things. That doesn't make it art.
"But me, on my Gamecube, within 5 minutes I've lost patience re-trying a specific bit and have a need to empty my shrivelled bladder or polish my walking stick."
Polish your walking stick? What kind of games do you play? I hope you don't let your nephew play games like that. He's too young.
There is no security benefit of NAT/PAT+private IPs compared to a firewall+Internet IP6 address. Doing it the old IP4 way is more expensive, too, because of the addes complexity of NAT/PAT.
There is nothing wrong with having every internal computer on the Internet. Proper border firewalls would allow you to be rid of the complexity of NAT/PAT, with no compromise in security.
I'm not opposed to using well-known implementations. Where did you get that idea?
If you actually studied it, you would be surprised to realise how many programs have a secure sign-on mechanism, using well-known implementations, but have other flaws that allow it to be completely circumvented (such as guessing session cookies).
And the people who use hashing to store passwords, but don't salt the hashes...
And the people who use public key implementation, but completely mis-design the PKI...
There is so much that can go wrong, just "using" the right algos won't do it. You have to use them right, throughout the entire app. You have to look for ways around them. Lots of people don't get this.
What I am trying to say is that integrating authentication and cryptography properly into a complex program is not easy. I'm not saying you need to write out the MD5 algorithm. Using the supplied one is fine. But you would be surprised how many people write programs that use the right algorithm, but can then be easily curcumvented by, for example, using predictable session cookies.
If you put enough energy in to that, and write it down, then you might have your own religion some day. I doubt it would be accepted as a "Christian" religion if you put those limitations on god.
As interesting as new theory on the supernatural is, I still the it is most likely that you will eventually come to the conclusions that religion is probably all in people's heads and does not exist at all in the physical (real) world.
Actually, any company that cared about its own reputation and customers would have a security specialist write ALL code that does authentication or cryptography. It is actually pretty tricky to get right, despite how easy some APIs make it look.
If you are too small to afford a security specialist who can code, look outside the organization. Letting regular developers do security is an incredibly risky business decision.
MAYOR What do you mean "Biblical?" Old Testament, Mr. Mayor. "Wrath of God"-type stuff. The seas could boil, fire and brimstone falling from the sky... STANTZ (chimes in)... forty years of darkness, earthquakes, mass hysteria, human sacrifice...
MAYOR Enough! I get the point. But what if you're wrong?
VENKMAN If I'm wrong then nothing happens and you toss us in the can. But if I'm right, and if we can stop this thing... well, let's just say that you could save the lives of a lot of registered voters.
The Mayor starts nodding affirmatively, clearly convinced by Venkman's rational assessment.
PECK (furious) I don't believe you're seriously considering listening to these men!
The Mayor takes a long look at Peck.
MAYOR Get him out of here. We've got work to do. What do you need from me?
Ah, so you are a skeptic toward the teachings of every church. In my opinion, that's a good start toward enlightenment. Though you would never be allowed in a catholic church with that kind of thinking.
I doubt you will be successful in defining a "theory of the monothiestic god" by combining every different religion. How do you know which writings were done by those who had special knowledge of this god, and which were just completely fabricated?
It seems very strange that such a god would allow his message to be so distored. If he has the power to communicate with us, he could tell us directly in our own languages. The fact that he does not proves that he either does not want us fully understand his message, or he does not exist.
So either way, by trying to understand his message, you lose. You are either doesn't something he doesn't want you to do, or you are wasting your time entirely.
Right. And like I said, your religion (where your interpretation of the Abrahamic god is the One True God) is the correct religioin. Every other god or goddess worshiped by every other civilization throughout the history of mankind is a silly fantasy. Your god said so himself. (Except for that god of the egyptians who could turn wood into snakes, of course. He was just a wimpy god.)
Oh, and the god of all the christians who think the King James bible is a perfect bible, blessed by god himself... He is not the same god you worship. So you don't have the same god as a large percentage of christians because your god didn't bless the KJV as perfect.
I think you will find that as you study the bible in Greek or Hebrew, some of the contradictions and absurdities found in the english translations will clear up, being replaced by ambiguities. The ancient languages just didn't have enough words in them.
It is funny how vague some of it is. It's as if Abraham's god didn't want us to know his will, and preferred to have a billion contradictory interpretations. Seems silly.
But while you learn these ancient languages and spend the rest of your life trying to sort out the contradictions and justify the reprehensible acts of the bible, think about where your life would be if you put that energy into improving your physical body, your mind and skillset, or your financial situation back here in reality.
If people put as much energy into reaching their goals as they put into religion, perhaps the reality of their lives would be good enough that they don't need fantasy.
Of course, I don't mean to call your religion fantasy. Yours is the right one, and everyone else in the world worships a fantasy. We both agree on that.
So it would be fair for an ISP to sell 1Mb/s "internet" connection, then give the customers some slow, proprietary router that uses 50% of the bits just to get the IP packets to the internet?
To me, that is a.5Mb/s internet connection, because half the traffic doesn't reach the internet.
The only overhead that should be billable as far as "internet" connections go is IP and up. That's all I'm saying.
Slash messed my text. Where it says "XY" I mean "X is less than Y".
It is a question of economics. If you can only afford to search X people per day out of a possible Y people, which option is most likely to be most successful at finding what you are searching for:
1) Searching completely randomly
2) Using all the data available to determine those most likely to have what you are looking for
In CS, I would call #1 the naive approch, and #2 the heuristic approach. The heuristic approach would be many, many times more efficient and successful than the naive approach when XY. Because we have a finite budget, XY in this "airport/terrorist" scenario.
Like so many things in life, it makes perfect sense, even though it is not fair. I would prefer a world that were fair, but I don't let that stop me from seeing reality.
Myspace asks for your income data. If you fill that out, I wonder if the IRS ever checks to see if it matches your tax filings...
What you are decribing seems a lot more like science than art.
So bitter... It is among the most vicious personal name-calling I've been lucky enough to experience in a very long time.
At your request, I consulted a dictionary. It seems "art" has so many definitions it is almost pointless to talk about what art is. But at least one of the definitions of art is mostly exclusive with the definiton of engineering:
art1 (ärt) pronunciation
n.
5. A nonscientific branch of learning; one of the liberal arts.
engineering (n'j-nîr'ng) pronunciation
n.
1.
a. The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.
b. The profession of or the work performed by an engineer.
And I realize that software engineering is among the least mature engineering disciplines. But for 95% of software engineering projects, the GOAL of those designing software should be to strive for engineering priciples similar to those employed in the more mature disciplines. If the goal of these system designers is to be "artistic," they are in many ways at odds with that.
For the very small number of ground-breaking research areas in information technology, the philosophies of engineering are less important. Once these areas mature, engineering should be more important.
I guess I missed your point.
My original point was that designing software systems was an engineering discipline, not an art-form.
You countered, saying it was scary that I believe that. Then you made some pointless statements about flying and bridge building. By pointless, I mean that flying is not at ALL similar to designing a functional system, and that designing a bridge is a very well-established form of engineering. No sane person would hire a "bridge artist" to determine the thickness of the beams needed in a bridge.
Since there wasn't much point in arguing with your pointless analogies, I backed up my previous statement with some examples of why the artist mindset is the wrong one for software design.
You countered again saying I should have attacked your argument.
It seems you and I have vastly different ideas of what art and engineering are. I have studied engineering, and you have not. For this reason, I think my ideas are more credible than yours. I will repeat them, if you like:
The artist strives for things like originality and creativity. The engineer strives for predictable, repeatable, systems-oriented designs. Those are very different goals. Some creativity is required when engineering, but it is not a goal by itself.
So what is your problem with that? That is scary to you?
I may be an idiot, but at least I figured out how to log in, coward.
If you assume that every person is motivated by money alone, then you are forced to conclude that anti-malware companies have the greatest incentive to produce malware.
Designing software is an engineering discipline which is best performed by people with foundations in science.
First I'll quote myself again, because you seem to have missed it:
"*Yes, I know creativity is usually involved when designing things. That doesn't make it art."
Then I'll ask you the same question I asked some other guy:
Have you worked with someone who thinks programming is an "art?" They strive for cleverness, complexity, and originality. Those are the exact opposite of good engineering principles.
So did you study engineering? I'm thinking no. I think you missed the word "engineering" in my first post.
But go ahead and be a code artist. Do things in creative ways instead of using the known-best ways. Ignore engineering principles. The file is your canvas.
And if I ever edit your oh-so-clever code, I'll curse you the entire time. If I ever try to extend your architecture, only to find it is too interconnected to do so, I'll tell management exactly why the app needs to be rewritten from scratch (because you were being an artist).
Have you worked with someone who thinks programming is an "art?" They strive for cleverness, complexity, and originality. Those are the exact opposite of good engineering principles.
What did Aristotle say about engineering disciplines?
If you think SQL is an "art," you are a hack. Designing proper databases and the SQL to use them optimally falls under the domain of science/engineering. 95% of developers see relational databases simply as a means for a persistent data store, but that's not what it was designed to do. If you don't know engineering (what you do when designing functional systems*) from art (painting pictures, etc) you should have gone to a better college.
See this page for a start on the science of databases.
*Yes, I know creativity is usually involved when designing things. That doesn't make it art.
"But me, on my Gamecube, within 5 minutes I've lost patience re-trying a specific bit and have a need to empty my shrivelled bladder or polish my walking stick."
Polish your walking stick? What kind of games do you play? I hope you don't let your nephew play games like that. He's too young.
There is no security benefit of NAT/PAT+private IPs compared to a firewall+Internet IP6 address. Doing it the old IP4 way is more expensive, too, because of the addes complexity of NAT/PAT.
There is nothing wrong with having every internal computer on the Internet. Proper border firewalls would allow you to be rid of the complexity of NAT/PAT, with no compromise in security.
I'm not opposed to using well-known implementations. Where did you get that idea?
If you actually studied it, you would be surprised to realise how many programs have a secure sign-on mechanism, using well-known implementations, but have other flaws that allow it to be completely circumvented (such as guessing session cookies).
And the people who use hashing to store passwords, but don't salt the hashes...
And the people who use public key implementation, but completely mis-design the PKI...
There is so much that can go wrong, just "using" the right algos won't do it. You have to use them right, throughout the entire app. You have to look for ways around them. Lots of people don't get this.
What I am trying to say is that integrating authentication and cryptography properly into a complex program is not easy. I'm not saying you need to write out the MD5 algorithm. Using the supplied one is fine. But you would be surprised how many people write programs that use the right algorithm, but can then be easily curcumvented by, for example, using predictable session cookies.
If you put enough energy in to that, and write it down, then you might have your own religion some day. I doubt it would be accepted as a "Christian" religion if you put those limitations on god.
As interesting as new theory on the supernatural is, I still the it is most likely that you will eventually come to the conclusions that religion is probably all in people's heads and does not exist at all in the physical (real) world.
Actually, any company that cared about its own reputation and customers would have a security specialist write ALL code that does authentication or cryptography. It is actually pretty tricky to get right, despite how easy some APIs make it look.
If you are too small to afford a security specialist who can code, look outside the organization. Letting regular developers do security is an incredibly risky business decision.
MAYOR ... ... forty years of darkness, earthquakes, ...
... well, let's
What do you mean "Biblical?"
Old Testament, Mr. Mayor. "Wrath of
God"-type stuff. The seas could boil, fire
and brimstone falling from the sky
STANTZ
(chimes in)
mass hysteria, human sacrifice
MAYOR
Enough! I get the point.
But what if you're wrong?
VENKMAN
If I'm wrong then nothing happens and you
toss us in the can. But if I'm right, and
if we can stop this thing
just say that you could save the lives of a
lot of registered voters.
The Mayor starts nodding affirmatively, clearly convinced by Venkman's
rational assessment.
PECK
(furious)
I don't believe you're seriously considering
listening to these men!
The Mayor takes a long look at Peck.
MAYOR
Get him out of here.
We've got work to do. What do you need
from me?
Ah, so you are a skeptic toward the teachings of every church. In my opinion, that's a good start toward enlightenment. Though you would never be allowed in a catholic church with that kind of thinking.
I doubt you will be successful in defining a "theory of the monothiestic god" by combining every different religion. How do you know which writings were done by those who had special knowledge of this god, and which were just completely fabricated?
It seems very strange that such a god would allow his message to be so distored. If he has the power to communicate with us, he could tell us directly in our own languages. The fact that he does not proves that he either does not want us fully understand his message, or he does not exist.
So either way, by trying to understand his message, you lose. You are either doesn't something he doesn't want you to do, or you are wasting your time entirely.
I just upgraded from version 5.04 directly to 6.06 without rebooting or anything. Now my system has no network connection.
The next 1-4 hours of my Saturday are going to be very not-fun. Don't be like me. Keep your system up-to-date.
Right. And like I said, your religion (where your interpretation of the Abrahamic god is the One True God) is the correct religioin. Every other god or goddess worshiped by every other civilization throughout the history of mankind is a silly fantasy. Your god said so himself. (Except for that god of the egyptians who could turn wood into snakes, of course. He was just a wimpy god.)
Oh, and the god of all the christians who think the King James bible is a perfect bible, blessed by god himself... He is not the same god you worship. So you don't have the same god as a large percentage of christians because your god didn't bless the KJV as perfect.
I think you will find that as you study the bible in Greek or Hebrew, some of the contradictions and absurdities found in the english translations will clear up, being replaced by ambiguities. The ancient languages just didn't have enough words in them.
It is funny how vague some of it is. It's as if Abraham's god didn't want us to know his will, and preferred to have a billion contradictory interpretations. Seems silly.
But while you learn these ancient languages and spend the rest of your life trying to sort out the contradictions and justify the reprehensible acts of the bible, think about where your life would be if you put that energy into improving your physical body, your mind and skillset, or your financial situation back here in reality.
If people put as much energy into reaching their goals as they put into religion, perhaps the reality of their lives would be good enough that they don't need fantasy.
Of course, I don't mean to call your religion fantasy. Yours is the right one, and everyone else in the world worships a fantasy. We both agree on that.
So it would be fair for an ISP to sell 1Mb/s "internet" connection, then give the customers some slow, proprietary router that uses 50% of the bits just to get the IP packets to the internet?
.5Mb/s internet connection, because half the traffic doesn't reach the internet.
To me, that is a
The only overhead that should be billable as far as "internet" connections go is IP and up. That's all I'm saying.