Let's be careful with our use of the word skew because it could be a linguistic synonym for "bias" or for a technical definition of data distributions. One comes with an intention that Google wanted to put down certain classes of people while the second one is factual statement about the types of comments that exist online.
When you have a dataset with two classes (say, healthy/sick, valid/fraudulent, or "gay used in a positive light"/"gay used in a negative light") it may be the case that uniform random sampling will lead to very many examples of Type I and very few example of Type II. This is even with a representative sample of data from the wild. It is because the underlying phenomena is not necessarily balanced. For example, in medical diagnostic scenarios, very often, there are many examples of healthy people but sickness is relatively rare. We're glad this is the case as compassionate human beings, but extracting signal to find the disease pattern can be difficult. The problem is even worse when we have unlabelled anomaly detection.
If we *want* to develop rules that are generated in a balanced way, we have to do random sampling that is *not* uniformly random over the whole population. We can either (1) weight our sampling by the inverse of the sub-population frequency or (2) perform stratified sampling where we guarantee some number (or some ratio) of samples from our sub-populations.
Best,
Mark
Your research budget numbers are a bit off (though it doesn't detract from your larger point). NIH gets the largest research budget (on the order of $30 billion dollars). https://www.nih.gov/about-nih/... In fairness, that money is basically all spent on applied bio-medical research (anything "basic science" in biology/medicine needs to go to NSF to get funding -- too applied, too basic is a common sticking point for research on the boundary).
Also, some amount of the military budgets are used to fund the army, navy, and air force research labs (AFRL, NRL, ARL) and research under DARPA and (at least up to a certain time) the NSA.
Again, it doesn't take away from your main point.
Best,
Mark
Well, in science even what "everyone knows" doesn't count
While the idea behind your statement has elements of truth to it, it is not entirely true (what ever is?). Scientists, as a community, rely just as much on the "commonly accepted wisdom (of their own scientific community)" as lay people do on the commonly accepted knowledge/wisdom of their (sociological) community. This is one interpretation of Kuhn's "normal" versus "revolutionary" science.
Of course one mark of a (good) scientist is skepticism with respect to "accepted" wisdom that allows for them to develop of new models/theories/experiments/measurements/etc and win fame and glory (heh!).
And even fewer will realize that "statistical significance" and "real world significance" are orthogonal concepts. I can have a huge sample show a statistically significant tiny difference that doesn't matter.
Unfortunately, that is a false statement. Philosophers will go round and round, but I hope we can agree that science is a process of observation, experimentation, manipulation, and recording of outcomes. All of these are evident in computer science (particularly outside of "theory of computation").
For example, you develop a new algorithm. You perform some algorithmic complexity analysis on it and get some formal, mathematical results (and yes, math -is- a big part of computer science). But, you won't stop there. If you do, you are really falling into the trap of the medieval scholastic philosophers: arguing at the number of angels on the head of a pin. You are going to then actually run the program for different input sizes and record the amount of time the program took to run.
Actually running the program and recording the results is comparable to synthesizing a new chemical and checking its reactivity, verifying its molecular weight, etc. You are quantifying the properties of something new.
This -is- science. Furthermore, in many large systems, there are too many practical obstacles (size, interactions, etc.) to performing a formal complexity analysis and thus... you HAVE to fall back on experimentation.
All that said, the end result of your claim is pretty spot on: if you are afraid of math, you might want to look elsewhere.
As a former and future CS professor, this issue is near and dear to my heart.
The conflation and confusion over what constitutes computer science is just as rampant at the college/university level as it is in high schools. Perhaps the "CS" moniker is even more abused in post-secondary institutions. At least those high school programs that were designed around the AP exam had *something* to focus them (I'm not wading into CS versus programming right now, just saying that the AP exam gave a concrete body of material that is at CSy enough).
Now certainly, CS is well- and correctly defined at R1 type schools and at the top 10 to 25% of liberal arts schools (the top 100 at Princeton Review or some such). It's not too bad at the top 5% of "master's" institutions (say top 50, but I haven't gone through the list carefully. I know there are VERY BAD examples further down the list -- say around 100. The "master's" category of institution is typically for schools that can't compete with R1 or quality liberal arts). [Note, those are my intuitive numbers from personal experience (I'm intimately familiar with about 15 programs in the broad northeast of the US at all three levels. I know the structure and reputation of another 50, but my comments are mostly based on those I have more personal knowledge of.)].
What makes the problem worse at the (weak) post-secondary level is that CS is turned into IT (or CIS) and the students wonder why they can't get jobs doing something other than MS system administration with a bit of "pluggy pluggy" networking and a side of "pointy clicky" databases. Of course, the same students shy away from anything 1. hard and 2. involving that evil, demonic subject: math. So, the schools take the path of least resistance and produce students who will peek their career in about 3 months (except for a few that have the natural political/business ability that will move up in management after 5 years).
*sigh*
I wish this were mere fancy. But I can name multiple schools, without stopping to think, that fall into this category. Sadly, almost any school that isn't good (as defined above) is going to be bad. Some of them are honest enough to name the programs CIS/IT and have a gutted/token CS department with two students; a few of the schools defined CS as CIS + two or four math classes; some schools just name it CS and let the dice fly. Fortunately, at some of the schools, there are folks working to improve things. But, it is an uphill battle with entrenched faculty who are tenured (can't get rid of them), don't have advanced CS degrees (aren't really qualified), are currently uncertain about the economy (have motive to keep earning money), don't have anything better to do (have motive to go to work), and may work for another 10-20 years (ugh).
I think the portion about cows is mostly clear -- there's different standard that the US applies to US cows (media) and that the US applies to non-US cows (media).
The puck *ahem* probably refers to the biological excrement of a cow used in a "sporting" fashion. So, foreign cow deposits US dirt and it gets a slap shot back in the US's face.
"Know your fundamentals (algorithms, data structures, machine architecture, systems) and know several programming languages to the point where you can use them idiomatically.
Know some non-computer field of study well — math, biology, history, optics, whatever. Learn to communicate effectively in speech and in writing. Spend an unreasonable amount of time on some difficult topic to really master it. Try to do something that might make a difference in the world."
We definitely agree more than we disagree. I personally grew up in better circumstances than you describe. I'm also living in (probably) worse circumstances that you are now (with a family to support).
"you're just privileged card" with me either.
I didn't play that card, nor did I imply it. You found it yourself. I was simply speaking of others. I know plenty of folks doing substantially differently than their economic upbringing.
In the meantime, my dad was working his tail off to get an education and still provide for us.
And that example (of character) is worth... well, it can't be quantified. What if some children are raised in an economically poor environment without examples of character?
When most people say, "we can't afford for mom to stay home," what they really mean is, "we can't afford for mom to stay home, and still have two late-model cars, America's Favorite 500 Channels cable package, a 56-inch flatscreen television, a separate media room with surround sound, a PS3 with scores of games, and three eat-outs a week."
I'm disgusted by that, myself. I also think it is a caricature. In contrast to your opinions below, most of the folks I know (including faculty at small colleges) are not in the scenario you describe of deciding about luxury goods. They are driving older, second hand cars, scrounging left and right, and generally struggling to get by. I mention this group of workers because (1) their household incomes are above median and (2) they (generally) have less interest in "stuff" and more interest in substance. Generally.
But that's not true for most people I know, and probably not true for most families in America. Most families I know could find a way to do it if it was important to them. It's a choice that we made.
If I might rephrase your claim: most families in America could afford to live on a single income (for the purpose of having one parent at home with the kids).
Hummmm. I really don't know about that. I really don't. My brother (with a family of 4) does manage it. But, many of the families I know certainly don't have much to go around (on two incomes). I'm very curious if you live in or are familiar with folks that live in an area that has very cold winters. Seriously. The cost of heating can literally put a family in debt.
Tieing this back to the existence of an (implicit) selection process in American education, I'd like to reiterate my question from above:
What if some children are raised in an economically poor environment without examples of character (and the importance of education)?
I think the answer is that they are going to be very unlikely to pursue any sort of personal advancement in terms of college or technical education.
In fact, from spending a lot of time working with first generation college students (and their peers that are not 1st generation), there is dramatic difference in perspective and, often, ability. Hard work seems more evenly distributed but I'd probably give the nod to the 1st generation students. They know what they are fighting against.
It's hard to argue against someone who is basically an example of the "American Dream". I just don't think success for folks from less than ideal circumstances is that obtainable for the majority -- and it's not from a lack of hard work and due to too many 56" TVs.
This really isn't true. I live on a comfortable upper-middle-class income. My wife stays home with the kids, so they don't get sent to day care.
You should check out the number of folks that cannot survive on a single income. Thus, negating the possibility that one parent can devote their full time and attention to between say, one and three offspring. That custom attention (and the level of caring and devotion typical in a parent in an upper-middle-income household) is more educationally valuable than a "premium" day care or kindergarten and even elementary school. Also, don't underestimate the value of living "comfortably". Less stressed parents means both more patience for the children and less stress on the children. Both of which improve the living and developmental environments.
If you really want your kids to be successful, let them be kids while they're young, fill your home with lots and lots of books, make education a priority, and spend time with them. Eat dinner together, for crying out loud and then sit down and read with them and help them with homework.
Yes, yes, and yes. However, understand that if two parents are working (or, in a single parent scenario, that parent is employed), there may be severe constraints on time and energy. Certainly, those parents that understand the potential of a better life for their children will make the sacrifices necessary to raise their child well (as you discuss).
I agree that "early excellence" is a red-herring. But, I think a better description is that "early specialization" is the real killer. In the physical realm, the best nationally programmed sports (former Soviet bloc) recognized that early specialization basically killed the ability to succeed as an athlete. There just wasn't enough general balance, strength, stamina, coordination, etc.
The same thing holds in mental development. The arguments can be duct taped together from developmental and cognitive psychology.
Are you kidding me? Are you really *(*$@#ing, Grade A kidding me?
Python/Perl/Ruby require interpreters. Scheme and Lisp are frequently run within interpreters. "stand-alone executable" require HARDWARE. Any programming system requires *something* underneath it unless you are programming in a purely physical system like an automated abacus with mechanical gears that buzz and whirr.
Programming languages are defined by their Turing completeness: can they do things repeatedly, can they assign values to memory locations and perform some basic set of operations (nand works nicely), can they make decisions. Everything else is fluff.
Perl has "fluff" that handles regular expressions very well.
Python (and others) have "fluff" that make networking and database ops easy.
R has "fluff" that makes it terribly convenient to work with data.
Matlab has "fluff" that makes it very easy to do numerical methods programming.
Mathematica has "fluff" that makes it very easy to do symbolic computation.
Each and every one of these, and most well-known languages, with all their warts and beauty marks are Turing complete and are deserving of the term "programming language".
(1) Lisp can be used in a functional fashion, but it is not a "pure" functional language.
(2) Lisp can be optimized to machine detail, just as C is (up to the capabilities of the compilers -- which for most purposes is sufficiently well-done by Lisp compilers). (See the back of Practical Common Lisp by Peter Siebel, I think it is available online).
(3) Some would argue that writing a program in C is the same sort of pre-mature optimization you refer to. Harken back to the idea of C as glorified assembly code. Solve the same program in Lisp (or another "very" high level language). Profile. Optimize the critical sections (algorithm first, then machine specifics -- which, as I mention in point (1) can be done in Lisp). Voila.
Of course, many "very" high level languages allow interfacing to C for speed critical sections. So, you could apply the same process from (3) with Perl, Python, etc.
A better criticism of Lisp is getting your hands on convenient libraries for some common tasks. However, there are good libraries out there.
For the record, I'm a much better, much more experienced C programmer than I am a Lisp coder.
Can anyone name a single instance where a functional paradigm has yielded the best measured performance on a parallel computing problem?
MapReduce?
Granted, I'm answering a slightly different question: where has FP proved to be a very useful paradigm for solving an important problem. I won't make any claims about optimality.
I went through Stanford CS back when it was just becoming clear that "expert systems" were really rather dumb and weren't going to get smarter.
Mycin performed epidemiology at a level beaten only by a panel of expert epidemiologists. The problem with expert systems isn't their performance: it's the brutally hard task of feeding them information to use in inference. The "knowledge acquisition bottleneck" was one of the driving motivations behind (some researchers) movement into machine learning. Machine learning has become wildly (ok, a bit) successful -- but not many people have made the effort to turn data into generalizations into expert system rules. It will happen though.
Physics took (and continues to take) millennia for us to get a reasonable handle on it. I think that pessimism towards AI might be well founded... in a few thousand years.
You cannot empathize with an abstract construct like an experiment.
Humph. Well, I guess I can't empathize with a fucking monkey either.
If I kick one of your beloved cats, do you think it doesn't care? I think it dislikes being kicked, therefore it's not fine with it.
Let's be very clear. The cat might act in a manner similar to a human that was kicked. In such cases, it might be tempting to project upon the cat, the same *ahem* cognitive state as is held by the human. We guess about that human's cognitive state by guessing about our own internal cognitive state. So. Guess what? It's a cat. I'm not a cat so I can't know what is going on inside it. But, I'm content with a sensory/behavior input/output abstraction. And... it's not a human.
perhaps you will notice that there is no special criteria that encompasses all humans and no monkeys
Sure there are. It's called an EXTENSIONAL definition as opposed to an INTENSIONAL definition. Very simple really. And all those SUBSETS of human beings... by sex, by race, by mental ability... simply label them EVEN MORE SO... as human... there is no women primate outside of the set of women humans. There are female primates but certainly no women. And since you brought it up, those who are mentally and physically handicapped are HUMANS. Similarly, they are still not monkeys.
And further more... LOOK AT THE FUCKING GENES. Show me a non-human primate with human GENES. That would be a trick. That's an intensional definition for you, biatch.
I'm not missing any point. IF you were locked in a cage and were being experimented on would you not want someone to aid you?
Yes. Perhaps we can teach monkeys to help themselves. To organize into unions... to fight for their political power... oh, I guess that's kind of silly.
So it's immoral for one SENTIENT being to aid another SENTIENT being? Aiding those weaker than us when they are under attack is the basis of our entire legal and moral system.
Nice hyperbole. Do you presume that our legal system "helps the helpless" and prevents big bad corporations from doing their worst? Sentience merely refers to the ability to sense -- which we can consider as "receiving input". So, computers as sentient. Oh, wait, you meant have cognitive processes? When a monkey is nominated for a Noble Prize... err, earns a Ph... err, err, a degree of any... no, not that either. Hummmm, how's about you don't ever call me.
Face it, YOU are not against violence. If you or anyone around you was being attacked you would use violence in a heart beat to stop it.
Ah, excellence at its best! Suck them in... before...
You just don't care about these macaques because it doesn't affect you. In short, you lack empathy. Empathy, it's what makes humans great. However, we are not so great that it is okay for us to sacrifice other primates for our petty scientific goals.
100% accurate. I give not a shit for any of these god damn furballs. If I had one for a pet, I would. But I don't. I love any and all cats... except those that are being used for experiments. Because I empathize with the experiments... not with the damn cats. Many scientific goals and careers are certainly petty. Not all of them. But each and every fucking primate that is not a human is.... tada!... not a human! Oh wait, I'm sorry. You know, we're all just cells anyway. So, better drop that lettuce, veggie boy. We're all organisms. Better not knock that protozoa. Oh wait, that's not fair. We're talking about PRIMATES -- SENTIENT BEINGS.... sent from on high! By the gods... to see if we're fucking dumb enough to believe that WE ARE THE SAME CREATURES. Maybe you can inform us how that goes... from a mating perspective...
Ringach DL, Hawken MJ, Shapley R (2003) Dynamics of orientation tuning in macaque V1: the role of global and tuned suppression. J Neurophysiol 90(1): 342-52.
I'm sure that the macaque is just fine with his "orientation tuning" and doesn't give a shit how or why it works.
It's a monkey. It can't be fine with it. It can't be not fine with it. Being fine with something is a characteristics humans, and only humans, can exhibit.
People for the ethical treatment of animals... what a damn joke. How's about "People for Emphatically Tip-toeing around Animals". The knowledge we've gained about vision processes is worth every damn macaque that has ever existed.
Re:An indictment of the Python programming languag
on
The Python Cookbook
·
· Score: 1
You know, it's posts like this that ruin my day and make me waste time responding.
I have seen languages come and I have seen languages go. I have personally written compilers, interpreters, translators, instrumentation preprocessors, etc., for ten or so. Python is probably the weakest addition to computer science in quite some time; it is arguably a giant step backward.
I won't respond to this. I'll just offer a translation: "I'm a smart expert and I know what I'm talking about. Really. I'm a REAL expert. Listen to me."
Talk about f'in hogwash.
It is a very undisciplined programmer indeed who would rather rely upon error-prone white space placement than upon precise delimitation of ranges by actual tokens.
And it's a fuckin' moron who can't use a decent enough editor to 1. deal with spaces/tabs issue and 2) has so many levels of indentation in their code that it isn't obvious what belongs where.
to assign semantic significance to white space
With all your expertise I'd think you'd realize that the whitespace has SYNTACTIC meaning but does not affect the SEMANTICS of the program (after you parse, you don't keep the whitespace... or any tokens for that matter... around).
Python does not support declarations of variables
Humm, neither does LISP. Nor is it necessary. And your argument about initialization is a joke. In C if I write "int i;", it isn't initialized. And a new programmer might think it is. Which is worse? Declarations are a waste of time. If typing is needed for performance reasons, you should be able to add it later (ala LISP). But to require to get code to run. Humph.
patched a posteriori
Humm, "patched inductively"? or perhaps "patched from derivations by reason"? What the fuck, are you just making up meaning as you go? "Patched after the fact" would have worked nicely. Go back to your computer cupboard and leave the Latin to the adults.
The author of Python has the nerve to trumpet the amazing flexibility of its data structures. I hate to burst his bubble, but he doesn't offer anything that LISP didn't offer forty years ago.
Yeah, well, when it took C and C++ the better part of twenty or thirty years to gets list structures into the language (via STL), I personally consider it a step FORWARD when a language includes it (lists and other high level data structures) from the beginning.
Python is only two years old.
You don't know ANYTHING, do you? If you think Python is two years old, I'll let the statement stand and let that claim RUIN your credibility. (Hint: Python is NOT two years old.)
BTW, I'm no one and I know nothing. I'm just making random comments.
There are several trends in the discussion that I've seen:
Moral problems. I wouldn't worry about it. If you can find me ANYTHING that doesn't trace back to a morally questionable act, I'll be damn surprise (actually, I won't believe you). Shit happens to everyone. Some of us are just lucky as hell not to be born into it. If you think it matters, you and your to-be fiance can join the Peace Corps together.
Cost/Worth. Find yourself a decent, mom-and-pop jeweler. My jeweler guaranteed that he would buy back my stone (and ring) at any point in the future for the purchase price. Furthermore, my ring is insured for approximately $1000 dollars more than what I pair for it. Find yourself a REAL jeweler and you'll reap the benefits.
About communicating: some people said "Why the hell don't you talk with your wife about this?" Well, unlike most geek nerds, I picked out my wife's ring with NO (absolutely NONE) consultation of her. I spent about two months doing it. I look at hundreds of mountings. I look at many stones. I basically took a design and customized it to perfection. I had no doubt that she wouldn't flip over it. I completely surprised her. THAT is why I wouldn't talk to her about it. I didn't need HER to pick it out. I have a sense of taste and style and futhermore, that taste matches hers.
The transistors tell us nothing about the software.
Similarly, neurons tell us little about the higher order software running on our brains.
/Quote
The good Professor seems to think that there is
a higher level operating system in the brain. I
would like to ask him "Who programmed it?". Now,
if he is not a theist, there are very few individuals
left (except, perhaps, a demigod Turing... "Diamond
Age" anyone?:) ) to do this coding.
So, it seems that it must have been an evolutionary
process that "did the programming". But, in this
case, the programming is built into the system
. That is to say, there is only hardware.
Unless you want to go back to a soul (I saw him
mention Dualism, but he should be careful not to
cut himself on Occam's Razor... I'll read that
later).
Transistors only execute what they are told to in
the form of machine code (that comes from assembly,
that may may come from a higher level language...
is you program in 1s and 0s, you're sick). Neurons
have a built in mechanism of operation. They
simply act. I think the real point is that
neurons are a "higher level of hardware" than
transitors.
I'll need to think a little more to make this
sensical. Heh.
Let's be careful with our use of the word skew because it could be a linguistic synonym for "bias" or for a technical definition of data distributions. One comes with an intention that Google wanted to put down certain classes of people while the second one is factual statement about the types of comments that exist online. When you have a dataset with two classes (say, healthy/sick, valid/fraudulent, or "gay used in a positive light"/"gay used in a negative light") it may be the case that uniform random sampling will lead to very many examples of Type I and very few example of Type II. This is even with a representative sample of data from the wild. It is because the underlying phenomena is not necessarily balanced. For example, in medical diagnostic scenarios, very often, there are many examples of healthy people but sickness is relatively rare. We're glad this is the case as compassionate human beings, but extracting signal to find the disease pattern can be difficult. The problem is even worse when we have unlabelled anomaly detection. If we *want* to develop rules that are generated in a balanced way, we have to do random sampling that is *not* uniformly random over the whole population. We can either (1) weight our sampling by the inverse of the sub-population frequency or (2) perform stratified sampling where we guarantee some number (or some ratio) of samples from our sub-populations. Best, Mark
Your research budget numbers are a bit off (though it doesn't detract from your larger point). NIH gets the largest research budget (on the order of $30 billion dollars). https://www.nih.gov/about-nih/... In fairness, that money is basically all spent on applied bio-medical research (anything "basic science" in biology/medicine needs to go to NSF to get funding -- too applied, too basic is a common sticking point for research on the boundary). Also, some amount of the military budgets are used to fund the army, navy, and air force research labs (AFRL, NRL, ARL) and research under DARPA and (at least up to a certain time) the NSA. Again, it doesn't take away from your main point. Best, Mark
TFA has a bit of cherry-picked data. While full professors at R1 (Doctoral) institutions do indeed make ~135k/year, at other classes of institutions, the salary is significantly lower (Master's & Bachelor's full professors make ~92k): http://www.aaup.org/sites/default/files/files/2013%20Salary%20Survey%20Tables%20and%20Figures/Table%204.pdf
Well, in science even what "everyone knows" doesn't count
While the idea behind your statement has elements of truth to it, it is not entirely true (what ever is?). Scientists, as a community, rely just as much on the "commonly accepted wisdom (of their own scientific community)" as lay people do on the commonly accepted knowledge/wisdom of their (sociological) community. This is one interpretation of Kuhn's "normal" versus "revolutionary" science.
Of course one mark of a (good) scientist is skepticism with respect to "accepted" wisdom that allows for them to develop of new models/theories/experiments/measurements/etc and win fame and glory (heh!).
Best,
Mark
You obviously don't develop.
Wrong, but this is only an appeal to ridicule, a well documented logical fallacy, so I'll chose to ignore it.
I wish you would have said: "... fallacy, so this space is intentionally left blank." Either way, it made me smile.
Anyone have a guesstimate as to the size of the backend, frontend, and synchronization/distribution codebase sizes?
Much like in politics (paid by the people at uneven intervals -- more regularly by "interests" -- and definitely no QA) and the media.
$500 these days can buy you a decent machine that will run most office software (outside of heavy 3d graphics).
Unfortunately, when IT departments insist on loading crapware, even substantial machines can grind to a halt.
And even fewer will realize that "statistical significance" and "real world significance" are orthogonal concepts. I can have a huge sample show a statistically significant tiny difference that doesn't matter.
There is no science in Computer Science.
Unfortunately, that is a false statement. Philosophers will go round and round, but I hope we can agree that science is a process of observation, experimentation, manipulation, and recording of outcomes. All of these are evident in computer science (particularly outside of "theory of computation").
For example, you develop a new algorithm. You perform some algorithmic complexity analysis on it and get some formal, mathematical results (and yes, math -is- a big part of computer science). But, you won't stop there. If you do, you are really falling into the trap of the medieval scholastic philosophers: arguing at the number of angels on the head of a pin. You are going to then actually run the program for different input sizes and record the amount of time the program took to run.
Actually running the program and recording the results is comparable to synthesizing a new chemical and checking its reactivity, verifying its molecular weight, etc. You are quantifying the properties of something new.
This -is- science. Furthermore, in many large systems, there are too many practical obstacles (size, interactions, etc.) to performing a formal complexity analysis and thus ... you HAVE to fall back on experimentation.
All that said, the end result of your claim is pretty spot on: if you are afraid of math, you might want to look elsewhere.
As a former and future CS professor, this issue is near and dear to my heart.
The conflation and confusion over what constitutes computer science is just as rampant at the college/university level as it is in high schools. Perhaps the "CS" moniker is even more abused in post-secondary institutions. At least those high school programs that were designed around the AP exam had *something* to focus them (I'm not wading into CS versus programming right now, just saying that the AP exam gave a concrete body of material that is at CSy enough).
Now certainly, CS is well- and correctly defined at R1 type schools and at the top 10 to 25% of liberal arts schools (the top 100 at Princeton Review or some such). It's not too bad at the top 5% of "master's" institutions (say top 50, but I haven't gone through the list carefully. I know there are VERY BAD examples further down the list -- say around 100. The "master's" category of institution is typically for schools that can't compete with R1 or quality liberal arts). [Note, those are my intuitive numbers from personal experience (I'm intimately familiar with about 15 programs in the broad northeast of the US at all three levels. I know the structure and reputation of another 50, but my comments are mostly based on those I have more personal knowledge of.)].
What makes the problem worse at the (weak) post-secondary level is that CS is turned into IT (or CIS) and the students wonder why they can't get jobs doing something other than MS system administration with a bit of "pluggy pluggy" networking and a side of "pointy clicky" databases. Of course, the same students shy away from anything 1. hard and 2. involving that evil, demonic subject: math. So, the schools take the path of least resistance and produce students who will peek their career in about 3 months (except for a few that have the natural political/business ability that will move up in management after 5 years).
*sigh*
I wish this were mere fancy. But I can name multiple schools, without stopping to think, that fall into this category. Sadly, almost any school that isn't good (as defined above) is going to be bad. Some of them are honest enough to name the programs CIS/IT and have a gutted/token CS department with two students; a few of the schools defined CS as CIS + two or four math classes; some schools just name it CS and let the dice fly. Fortunately, at some of the schools, there are folks working to improve things. But, it is an uphill battle with entrenched faculty who are tenured (can't get rid of them), don't have advanced CS degrees (aren't really qualified), are currently uncertain about the economy (have motive to keep earning money), don't have anything better to do (have motive to go to work), and may work for another 10-20 years (ugh).
I think the portion about cows is mostly clear -- there's different standard that the US applies to US cows (media) and that the US applies to non-US cows (media).
The puck *ahem* probably refers to the biological excrement of a cow used in a "sporting" fashion. So, foreign cow deposits US dirt and it gets a slap shot back in the US's face.
Best,
Mark
From Stroustrup, in the article:
"Know your fundamentals (algorithms, data structures, machine architecture, systems) and know several programming languages to the point where you can use them idiomatically.
Know some non-computer field of study well — math, biology, history, optics, whatever. Learn to communicate effectively in speech and in writing. Spend an unreasonable amount of time on some difficult topic to really master it. Try to do something that might make a difference in the world."
I guess he wouldn't do to well on Slashdot.
We definitely agree more than we disagree. I personally grew up in better circumstances than you describe. I'm also living in (probably) worse circumstances that you are now (with a family to support).
"you're just privileged card" with me either.
I didn't play that card, nor did I imply it. You found it yourself. I was simply speaking of others. I know plenty of folks doing substantially differently than their economic upbringing.
In the meantime, my dad was working his tail off to get an education and still provide for us.
And that example (of character) is worth ... well, it can't be quantified. What if some children are raised in an economically poor environment without examples of character?
When most people say, "we can't afford for mom to stay home," what they really mean is, "we can't afford for mom to stay home, and still have two late-model cars, America's Favorite 500 Channels cable package, a 56-inch flatscreen television, a separate media room with surround sound, a PS3 with scores of games, and three eat-outs a week."
I'm disgusted by that, myself. I also think it is a caricature. In contrast to your opinions below, most of the folks I know (including faculty at small colleges) are not in the scenario you describe of deciding about luxury goods. They are driving older, second hand cars, scrounging left and right, and generally struggling to get by. I mention this group of workers because (1) their household incomes are above median and (2) they (generally) have less interest in "stuff" and more interest in substance. Generally.
But that's not true for most people I know, and probably not true for most families in America. Most families I know could find a way to do it if it was important to them.
It's a choice that we made.
If I might rephrase your claim: most families in America could afford to live on a single income (for the purpose of having one parent at home with the kids).
Hummmm. I really don't know about that. I really don't. My brother (with a family of 4) does manage it. But, many of the families I know certainly don't have much to go around (on two incomes). I'm very curious if you live in or are familiar with folks that live in an area that has very cold winters. Seriously. The cost of heating can literally put a family in debt.
Tieing this back to the existence of an (implicit) selection process in American education, I'd like to reiterate my question from above:
What if some children are raised in an economically poor environment without examples of character (and the importance of education)?
I think the answer is that they are going to be very unlikely to pursue any sort of personal advancement in terms of college or technical education.
In fact, from spending a lot of time working with first generation college students (and their peers that are not 1st generation), there is dramatic difference in perspective and, often, ability. Hard work seems more evenly distributed but I'd probably give the nod to the 1st generation students. They know what they are fighting against.
It's hard to argue against someone who is basically an example of the "American Dream". I just don't think success for folks from less than ideal circumstances is that obtainable for the majority -- and it's not from a lack of hard work and due to too many 56" TVs.
This really isn't true. I live on a comfortable upper-middle-class income. My wife stays home with the kids, so they don't get sent to day care.
You should check out the number of folks that cannot survive on a single income. Thus, negating the possibility that one parent can devote their full time and attention to between say, one and three offspring. That custom attention (and the level of caring and devotion typical in a parent in an upper-middle-income household) is more educationally valuable than a "premium" day care or kindergarten and even elementary school. Also, don't underestimate the value of living "comfortably". Less stressed parents means both more patience for the children and less stress on the children. Both of which improve the living and developmental environments.
If you really want your kids to be successful, let them be kids while they're young, fill your home with lots and lots of books, make education a priority, and spend time with them. Eat dinner together, for crying out loud and then sit down and read with them and help them with homework.
Yes, yes, and yes. However, understand that if two parents are working (or, in a single parent scenario, that parent is employed), there may be severe constraints on time and energy. Certainly, those parents that understand the potential of a better life for their children will make the sacrifices necessary to raise their child well (as you discuss).
I agree that "early excellence" is a red-herring. But, I think a better description is that "early specialization" is the real killer. In the physical realm, the best nationally programmed sports (former Soviet bloc) recognized that early specialization basically killed the ability to succeed as an athlete. There just wasn't enough general balance, strength, stamina, coordination, etc.
The same thing holds in mental development. The arguments can be duct taped together from developmental and cognitive psychology.
Best,
Mark
Are you kidding me? Are you really *(*$@#ing, Grade A kidding me?
Python/Perl/Ruby require interpreters. Scheme and Lisp are frequently run within interpreters. "stand-alone executable" require HARDWARE. Any programming system requires *something* underneath it unless you are programming in a purely physical system like an automated abacus with mechanical gears that buzz and whirr.
Programming languages are defined by their Turing completeness: can they do things repeatedly, can they assign values to memory locations and perform some basic set of operations (nand works nicely), can they make decisions. Everything else is fluff.
Perl has "fluff" that handles regular expressions very well.
Python (and others) have "fluff" that make networking and database ops easy.
R has "fluff" that makes it terribly convenient to work with data.
Matlab has "fluff" that makes it very easy to do numerical methods programming.
Mathematica has "fluff" that makes it very easy to do symbolic computation.
Each and every one of these, and most well-known languages, with all their warts and beauty marks are Turing complete and are deserving of the term "programming language".
Regards,
Mark
(1) Lisp can be used in a functional fashion, but it is not a "pure" functional language.
(2) Lisp can be optimized to machine detail, just as C is (up to the capabilities of the compilers -- which for most purposes is sufficiently well-done by Lisp compilers). (See the back of Practical Common Lisp by Peter Siebel, I think it is available online).
(3) Some would argue that writing a program in C is the same sort of pre-mature optimization you refer to. Harken back to the idea of C as glorified assembly code. Solve the same program in Lisp (or another "very" high level language). Profile. Optimize the critical sections (algorithm first, then machine specifics -- which, as I mention in point (1) can be done in Lisp). Voila.
Of course, many "very" high level languages allow interfacing to C for speed critical sections. So, you could apply the same process from (3) with Perl, Python, etc.
A better criticism of Lisp is getting your hands on convenient libraries for some common tasks. However, there are good libraries out there.
For the record, I'm a much better, much more experienced C programmer than I am a Lisp coder.
Can anyone name a single instance where a functional paradigm has yielded the best measured performance on a parallel computing problem?
MapReduce?
Granted, I'm answering a slightly different question: where has FP proved to be a very useful paradigm for solving an important problem. I won't make any claims about optimality.
Mycin performed epidemiology at a level beaten only by a panel of expert epidemiologists. The problem with expert systems isn't their performance: it's the brutally hard task of feeding them information to use in inference. The "knowledge acquisition bottleneck" was one of the driving motivations behind (some researchers) movement into machine learning. Machine learning has become wildly (ok, a bit) successful -- but not many people have made the effort to turn data into generalizations into expert system rules. It will happen though.
Physics took (and continues to take) millennia for us to get a reasonable handle on it. I think that pessimism towards AI might be well founded ... in a few thousand years.
Regards,
Mark
You cannot empathize with an abstract construct like an experiment.
... it's not a human.
... by sex, by race, by mental ability ... simply label them EVEN MORE SO ... as human ... there is no women primate outside of the set of women humans. There are female primates but certainly no women. And since you brought it up, those who are mentally and physically handicapped are HUMANS. Similarly, they are still not monkeys.
... LOOK AT THE FUCKING GENES. Show me a non-human primate with human GENES. That would be a trick. That's an intensional definition for you, biatch.
Humph. Well, I guess I can't empathize with a fucking monkey either.
If I kick one of your beloved cats, do you think it doesn't care? I think it dislikes being kicked, therefore it's not fine with it.
Let's be very clear. The cat might act in a manner similar to a human that was kicked. In such cases, it might be tempting to project upon the cat, the same *ahem* cognitive state as is held by the human. We guess about that human's cognitive state by guessing about our own internal cognitive state. So. Guess what? It's a cat. I'm not a cat so I can't know what is going on inside it. But, I'm content with a sensory/behavior input/output abstraction. And
perhaps you will notice that there is no special criteria that encompasses all humans and no monkeys
Sure there are. It's called an EXTENSIONAL definition as opposed to an INTENSIONAL definition. Very simple really. And all those SUBSETS of human beings
And further more
So the monkey f-ers can firebomb me? Great idea.
I'm not missing any point. IF you were locked in a cage and were being experimented on would you not want someone to aid you?
Yes. Perhaps we can teach monkeys to help themselves. To organize into unions
So it's immoral for one SENTIENT being to aid another SENTIENT being? Aiding those weaker than us when they are under attack is the basis of our entire legal and moral system.
Nice hyperbole. Do you presume that our legal system "helps the helpless" and prevents big bad corporations from doing their worst? Sentience merely refers to the ability to sense -- which we can consider as "receiving input". So, computers as sentient. Oh, wait, you meant have cognitive processes? When a monkey is nominated for a Noble Prize
Face it, YOU are not against violence. If you or anyone around you was being attacked you would use violence in a heart beat to stop it.
Ah, excellence at its best! Suck them in
You just don't care about these macaques because it doesn't affect you. In short, you lack empathy. Empathy, it's what makes humans great. However, we are not so great that it is okay for us to sacrifice other primates for our petty scientific goals.
100% accurate. I give not a shit for any of these god damn furballs. If I had one for a pet, I would. But I don't. I love any and all cats
Ringach DL, Hawken MJ, Shapley R (2003) Dynamics of orientation tuning in macaque V1: the role of global and tuned suppression. J Neurophysiol 90(1): 342-52.
I'm sure that the macaque is just fine with his "orientation tuning" and doesn't give a shit how or why it works.
It's a monkey. It can't be fine with it. It can't be not fine with it. Being fine with something is a characteristics humans, and only humans, can exhibit.
People for the ethical treatment of animals
I have seen languages come and I have seen languages go. I have personally written compilers, interpreters, translators, instrumentation preprocessors, etc., for ten or so. Python is probably the weakest addition to computer science in quite some time; it is arguably a giant step backward.
I won't respond to this. I'll just offer a translation: "I'm a smart expert and I know what I'm talking about. Really. I'm a REAL expert. Listen to me."
Talk about f'in hogwash.
It is a very undisciplined programmer indeed who would rather rely upon error-prone white space placement than upon precise delimitation of ranges by actual tokens.
And it's a fuckin' moron who can't use a decent enough editor to 1. deal with spaces/tabs issue and 2) has so many levels of indentation in their code that it isn't obvious what belongs where.
to assign semantic significance to white space
With all your expertise I'd think you'd realize that the whitespace has SYNTACTIC meaning but does not affect the SEMANTICS of the program (after you parse, you don't keep the whitespace ... or any tokens for that matter ... around).
Python does not support declarations of variables
Humm, neither does LISP. Nor is it necessary. And your argument about initialization is a joke. In C if I write "int i;", it isn't initialized. And a new programmer might think it is. Which is worse? Declarations are a waste of time. If typing is needed for performance reasons, you should be able to add it later (ala LISP). But to require to get code to run. Humph.
patched a posteriori
Humm, "patched inductively"? or perhaps "patched from derivations by reason"? What the fuck, are you just making up meaning as you go? "Patched after the fact" would have worked nicely. Go back to your computer cupboard and leave the Latin to the adults.
The author of Python has the nerve to trumpet the amazing flexibility of its data structures. I hate to burst his bubble, but he doesn't offer anything that LISP didn't offer forty years ago.
Yeah, well, when it took C and C++ the better part of twenty or thirty years to gets list structures into the language (via STL), I personally consider it a step FORWARD when a language includes it (lists and other high level data structures) from the beginning.
Python is only two years old.
You don't know ANYTHING, do you? If you think Python is two years old, I'll let the statement stand and let that claim RUIN your credibility. (Hint: Python is NOT two years old.)
BTW, I'm no one and I know nothing. I'm just making random comments.
Regards,
Mark
- Moral problems. I wouldn't worry about it. If you can find me ANYTHING that doesn't trace back to a morally questionable act, I'll be damn surprise (actually, I won't believe you). Shit happens to everyone. Some of us are just lucky as hell not to be born into it. If you think it matters, you and your to-be fiance can join the Peace Corps together.
- Cost/Worth. Find yourself a decent, mom-and-pop jeweler. My jeweler guaranteed that he would buy back my stone (and ring) at any point in the future for the purchase price. Furthermore, my ring is insured for approximately $1000 dollars more than what I pair for it. Find yourself a REAL jeweler and you'll reap the benefits.
- About communicating: some people said "Why the hell don't you talk with your wife about this?" Well, unlike most geek nerds, I picked out my wife's ring with NO (absolutely NONE) consultation of her. I spent about two months doing it. I look at hundreds of mountings. I look at many stones. I basically took a design and customized it to perfection. I had no doubt that she wouldn't flip over it. I completely surprised her. THAT is why I wouldn't talk to her about it. I didn't need HER to pick it out. I have a sense of taste and style and futhermore, that taste matches hers.
Regards,Mark
The transistors tell us nothing about the software.
Similarly, neurons tell us little about the higher order software running on our brains.
The good Professor seems to think that there is a higher level operating system in the brain. I would like to ask him "Who programmed it?". Now, if he is not a theist, there are very few individuals left (except, perhaps, a demigod Turing ... "Diamond
Age" anyone? :) ) to do this coding.
So, it seems that it must have been an evolutionary process that "did the programming". But, in this case, the programming is built into the system . That is to say, there is only hardware. Unless you want to go back to a soul (I saw him mention Dualism, but he should be careful not to cut himself on Occam's Razor ... I'll read that
later).
Transistors only execute what they are told to in the form of machine code (that comes from assembly, that may may come from a higher level language ...
is you program in 1s and 0s, you're sick). Neurons
have a built in mechanism of operation. They
simply act. I think the real point is that
neurons are a "higher level of hardware" than
transitors.
I'll need to think a little more to make this sensical. Heh.
Regards,
Mark