The best preparation for graduate work in computer science is an undergraduate degree in mathematics. If they insist on getting their undergraduate degree in computer science, I'd recommend as an absolute minimum three calculus courses, two general discrete math courses, one linear algebra course, one course in number theory, two courses in statistics, one course in real analysis, one course in complex analysis, two courses in numerical analysis, one course in linear programming, one course in formal languages and automata, one course in graph theory, and one course in combinatorics. Depending upon the student's interests, I'd also recommend courses in group theory, galois theory, and coding theory.
Wow. I do have an undergraduate degree in mathematics, and I'm not sure it covered everything you described there. You'd certainly be lucky to get things like Galois theory taught routinely at undergrad level these days, at least here in the UK.
Personally, I'm always somewhat amused when anyone criticises the acting in B5, and then goes on to compliment the acting in the various ST series.
In B5, pretty much all of the regular cast could and did give outstanding performances when the writing was up to it. Ironically, the two regular characters I liked least were Sheridan and Delenn, but that is perhaps as much because they are forced by the story to be your stereotypical "noble leader" types. I think the more unusual characters for a big sci-fi series, for example the various aides to the ambassadors, often had more scope to build unique characters, and that is why classic scenes like Vir and Lennier in the bar worked so well. As I've said before, I still maintain that G'Kar is probably the best overall character of any sci-fi TV show, ever; Andreas Katsulas was indeed an actor of the highest calibre. And of course, they had some great regular guest stars: I'll take Walter Koenig's outstanding performance as Bester over Walter Koenig as... that guy who sat at the front on the bridge... any day.
In contrast, I think it rather ironic that the better actors in the ST series were frequently playing characters who are supposed to have no emotion: Spock, Data, the Doctor. Of course there are the gems in "stereotype" roles too, Picard being the obvious example, but I think the overall script-writing and acting in the ST series has always been some way behind B5.
Indeed. I think Robocop is still one of the scariest films I've ever seen, simply because (speaking as a software developer) that scene was so horribly credible.
You're absolutely right about the small list, and I would expect anyone with a CS background and two brain cells to run together to appreciate that.
Incidentally, your premature optimization quotation is properly attributed to C. A. R. Hoare, the British computer scientist who invented the quicksort algorithm. Knuth borrowed it for his 1974 Turing Award lecture.
I think you dramatically overestimate the need for formal training with specific types of tools, and certainly with specific examples such as Subversion. By all means mention the range of tools available (debuggers, profilers, source control systems, etc.) in a software engineering course as part of a CS degree, and perhaps invite the students to do some reading around the subject and to use these tools during a project. However, CS courses shouldn't focus on formal teaching of specific programming languages (other than to illustrate general programming principles) and specific tools. They should be a level above such details.
Of course, the students should be taking what they're learning in class, and then working out how to apply that knowledge using a range of languages, tools, operating systems or whatever throughout the course. Good students will do this, and good courses will support them in it, and as a consequence those students will be able to pick up any specific industrial tools and techniques relatively quickly in any given job. Bad students... Well, they're bad students, so who cares? If they think that because they went to a few lectures and completed a few assignments they understand a subject, they've already completely missed the point (and wasted the opportunity) of going to university anyway.
If I hd to hand-hold one more CS graduate who spends 2 days agonizing over whether to use a quicksort of a bubblesort when faced with an unordered list of 10 items, I'm gonna kill somebody.
My experience is the complete opposite. Any reasonably competent CS degree holder would immediately be able to identify an appropriate sorting algorithm for most problems. I can't imagine anyone with that background agonizing for 2 seconds over the problem you mentioned.
The college programming course guy, on the other hand, would probably look for the nearest library, and grab the routine that was called sort. He would then use it without either knowing what "introsort" actually does, or realising that (for example) if you're starting with nearly-sorted data it isn't the best choice, or if you're working with data sets that might contain duplicate keys the algorithm isn't stable.
Or, it could simply be an indication of the relative effort required to write versus read...
The effort required to type "text speak" compared to "txt spk" isn't exactly a lot to anyone beyond one-finger typing, and that's a one-off. On the other hand, compare how long it takes you to understand this bit with how long it takes u 2 prs sum txt b4 its spld out in full. Stop and ask yourself honestly whether you paused at any point in that second section; I bet you did. Moreover, any delay there will presumably affect most people reading the sentence, at least the first time, and that could mean a lot more than one person depending on the context.
So I guess I don't have a fundamental problem with it, as long as ambiguity isn't formed, it remains easy to read, and you draw yourself a line so u dont spk lyk vis al du tym.
That, I think, is the key thing: we're talking about communication here. Abbreviations that require the reader to think twice about the meaning of the writing are an impairment to efficient communication. Depending on the context, they may also be an indication that you consider your time spent writing to be more valuable than the reader's time, which tells the reader how little you value their consideration.
Certainly on on-line forums for students where I've helped out in the past, contributors would be far more willing to reply to a question that was carefully written to explain the problem clearly and concisely than to try to interpret vague L337sp33k or txt tlk because someone couldn't be bothered to write in proper English.
In other words, conventional shorthands are fine if they're used in an appropriate context. IMHO, few people reading this on Slashdot won't immediately understand this sentence. However, those who write poorly out of laziness should not be surprised to find that they come across as such, and are treated accordingly by those whose opinions of them might matter. I wouldn't write "IMHO" in a business report for an audience who might not be familiar with the shorthand.
They aren't moving toward searching through everyone's hard drive indiscriminately.
That's exactly what they're moving towards. It is a succession of British Home Secretaries' wet dream. They already routinely intercept all Internet communication (go on, tell me you believe otherwise). They already have a law that makes it a criminal offence not to provide the necessary keys to decrypt any encrypted data they believe you have on your system (even if they have no proof either that such data is really there or that you have such decryption keys, if memory serves).
The next logical step, using government logic and assuming you don't buy the conspiracy theories about certain mainstream OSes already doing it, is to mandate the installation of government-sanctioned security software on all computers connected to the Internet. In a highly-connected world, that would get you pretty close to arbitrary scanning of everyone's hard drive. Of course, any terrorist is unlikely to voluntarily install such software or connect a computer with detailed planning of their proposed atrocities to the Internet, but since when has whether a law will actually help to prevent terrorist attacks had any connection with government legislative policy in the UK?
[RIAALegalWeenie] You ripped our stuff, beeyatch! Give us like 1,000x wot it's worth, or else.
[MarieLindor] Harsh, man. Ur stuff ain't worth it. Anyway u have 2 have Due Process and stuff under the CONSTITUTION! D'OH!!!1!1! Gimme all ur records.
Magistrate has joined the conversation.
[Magistrate] Fair 'nuff. You gotta do it.
[RIAALegalWeenie] No way. We're gonna go to a higher court.
FederalCourtJudge has joined the conversation.
[FederalCourtJudge] I am THE LAW.
[MarieLindor] Yo, Mr Judge Sir. Here's legal stuff that says I'm right. You got my back?
RIAALegalWeenie puts his fingers in his ears.
[RIAALegalWeenie] Not listenin'. Not listenin'. Nyaaaaah nyah.
[RIAALegalWeenie] And 'sides, she's just makin' sh*t up.
FederalCourtJudge has activated a purple lightsaber.
[FederalCourtJudge] This party's over. Go do what my man da Magistrate said, luser.
MarieLindor smiles.
RIAALegalWeenie has left in a huff.
There, I think that about covers it.
(With apologies to the poster who first made this joke, probably much better, but whose post I can't find to credit it.)
I just left a.NET company to work for a php/perl/python/ruby company. At one place I had trouble getting up in time (had to be at work for 9am). Now I get up at 5 in the morning to get to work ASAP.
Whereas with a 120 mile commute, the OP will be getting up at 5 in the morning just to get to work by 9...
I've just spent maybe five minutes reading this thread, before it dawned on me that it's not even December yet and I'm reading an article about Christmas.
Yes, we should really go back to the old days, when Christmas didn't start in September and the season still felt special.
FWIW, megapixels are overrated. Consider that no currently available consumer monitor can get close to displaying that (even a 30" Apple Cinema job, which runs at 2560x1600 resolution, only makes 4MP). Moreover, assuming you're taking images theoretically using millions of colours, you'll be lucky to get the fine detail accurately represented in a full-page A4/US Letter print from a good personal photo printer, even if your camera can take a photograph with good colour matching in the first place.
In other words, taking your other requirements and budget into consideration, it's unlikely that any camera with 6MP will be good enough to capture the kind of detail to make such a resolution worthwhile, or that you'll have the kind of equipment needed to reproduce the images at full detail anyway. It's a marketing gimmick.
Yep, there have been some genuinely interesting board games out recently, and of course there are always classic games like chess and bridge if you have the right numbers, or poker if you have the right group of friends. Quite a few of my friends -- geeks and otherwise -- wind up spontaneously going around to someone's place on a spare weekend day to play whatever takes our fancy at the time, and it's far more fun than sitting at home reading $GEEK_NEWS_WEBSITE all day or watching endless reruns of $OLD_SCIFI_SHOW.
I appreciate the basic anti-abortion argument, and indeed the basic pro-life one, and I'm not taking sides here. My point is simply that these things are rarely, if ever, clear-cut; usually, both sides can make strong arguments to support their case.
Looking at your last sentence here (which is pro-death penalty and anti-abortion), what if the judgement is later proven incorrect, or if the mother's only mistake was being raped? Would it really be a kindness to bring a child into the world when the mother may be deeply traumatized by the circumstances of its birth and may not have the resources to look after it and give it a good life, when an alternative is to discontinue the development of something which feels no pain, has no emotions, and is incapable of independent survival and development?
One can find similar ambiguities and exceptions in almost any ethical issue, argued from whichever side. This is why often-controversial subjects like medical ethics or the morality of using violence are so difficult to consider.
Do you seriously not see the difference between executing criminals who committed heinous crimes and executing innocent lives for the convenience of the mother?
<Devil's advocate> Do you seriously not see the difference between taking the life of a grown human with their own personality and experiences and capability to act independently, and not allowing the continued development of a small mass of biomatter that might in a few months develop into a baby that might in a few years develop into a human being with their own personality and experiences and capability to act independently, and which might have a good life if it's looked after by parents who might have the resources to care for it properly, given that it might be the product of a loving relationship and not a random fling or worse? </Devil's advocate>
Ethical issues are rarely as black-and-white as those who express strong views on them would have you believe.
Thank you. It's so nice to see a well-argued, coherent post from someone who understands where the real problems come from and attacks the right target.
IMHO, the laws should be written such that "violation" of copyright is always permitted unless someone complains (thus, you can't be put in jail for violating the DMCA or sued for other copyright related laws) and sent you a cese and decist letter first, which you ignored.
Which would be fine, except that the kind of damage potentially caused during the period between the infringement starting, and the rightsholder noticing and going through the motions to get the material taken down, is staggering in the Internet age. Copyright can no longer realistically be enforced as a civil matter in an age of near-instantaneous, near-zero-cost mass-distribution. Protecting the principle of copyright requires a faster, more direct approach.
Second, licensing should be automatic. That is, You Tube should be able to pay the copyright-holder-of-record or put aside a fund for a copyright holder to claim from, in an amount that is based on a percentage of the gross revenue associated with the infringement. This amount should be high, but not punative (maybe 25-30%), essentially allowing You Tube (only as a single example) to operate, but incenting licensing negotiation for better deals.
Thanks. I'd like the rights to the Linux kernel, OpenOffice, Firefox and everything the FSF has ever provided, please. Where shall I send the cheque?
Wow. I do have an undergraduate degree in mathematics, and I'm not sure it covered everything you described there. You'd certainly be lucky to get things like Galois theory taught routinely at undergrad level these days, at least here in the UK.
Personally, I'm always somewhat amused when anyone criticises the acting in B5, and then goes on to compliment the acting in the various ST series.
In B5, pretty much all of the regular cast could and did give outstanding performances when the writing was up to it. Ironically, the two regular characters I liked least were Sheridan and Delenn, but that is perhaps as much because they are forced by the story to be your stereotypical "noble leader" types. I think the more unusual characters for a big sci-fi series, for example the various aides to the ambassadors, often had more scope to build unique characters, and that is why classic scenes like Vir and Lennier in the bar worked so well. As I've said before, I still maintain that G'Kar is probably the best overall character of any sci-fi TV show, ever; Andreas Katsulas was indeed an actor of the highest calibre. And of course, they had some great regular guest stars: I'll take Walter Koenig's outstanding performance as Bester over Walter Koenig as... that guy who sat at the front on the bridge... any day.
In contrast, I think it rather ironic that the better actors in the ST series were frequently playing characters who are supposed to have no emotion: Spock, Data, the Doctor. Of course there are the gems in "stereotype" roles too, Picard being the obvious example, but I think the overall script-writing and acting in the ST series has always been some way behind B5.
Indeed. I think Robocop is still one of the scariest films I've ever seen, simply because (speaking as a software developer) that scene was so horribly credible.
You're absolutely right about the small list, and I would expect anyone with a CS background and two brain cells to run together to appreciate that.
Incidentally, your premature optimization quotation is properly attributed to C. A. R. Hoare, the British computer scientist who invented the quicksort algorithm. Knuth borrowed it for his 1974 Turing Award lecture.
I think you dramatically overestimate the need for formal training with specific types of tools, and certainly with specific examples such as Subversion. By all means mention the range of tools available (debuggers, profilers, source control systems, etc.) in a software engineering course as part of a CS degree, and perhaps invite the students to do some reading around the subject and to use these tools during a project. However, CS courses shouldn't focus on formal teaching of specific programming languages (other than to illustrate general programming principles) and specific tools. They should be a level above such details.
Of course, the students should be taking what they're learning in class, and then working out how to apply that knowledge using a range of languages, tools, operating systems or whatever throughout the course. Good students will do this, and good courses will support them in it, and as a consequence those students will be able to pick up any specific industrial tools and techniques relatively quickly in any given job. Bad students... Well, they're bad students, so who cares? If they think that because they went to a few lectures and completed a few assignments they understand a subject, they've already completely missed the point (and wasted the opportunity) of going to university anyway.
My experience is the complete opposite. Any reasonably competent CS degree holder would immediately be able to identify an appropriate sorting algorithm for most problems. I can't imagine anyone with that background agonizing for 2 seconds over the problem you mentioned.
The college programming course guy, on the other hand, would probably look for the nearest library, and grab the routine that was called sort. He would then use it without either knowing what "introsort" actually does, or realising that (for example) if you're starting with nearly-sorted data it isn't the best choice, or if you're working with data sets that might contain duplicate keys the algorithm isn't stable.
The effort required to type "text speak" compared to "txt spk" isn't exactly a lot to anyone beyond one-finger typing, and that's a one-off. On the other hand, compare how long it takes you to understand this bit with how long it takes u 2 prs sum txt b4 its spld out in full. Stop and ask yourself honestly whether you paused at any point in that second section; I bet you did. Moreover, any delay there will presumably affect most people reading the sentence, at least the first time, and that could mean a lot more than one person depending on the context.
That, I think, is the key thing: we're talking about communication here. Abbreviations that require the reader to think twice about the meaning of the writing are an impairment to efficient communication. Depending on the context, they may also be an indication that you consider your time spent writing to be more valuable than the reader's time, which tells the reader how little you value their consideration.
Certainly on on-line forums for students where I've helped out in the past, contributors would be far more willing to reply to a question that was carefully written to explain the problem clearly and concisely than to try to interpret vague L337sp33k or txt tlk because someone couldn't be bothered to write in proper English.
In other words, conventional shorthands are fine if they're used in an appropriate context. IMHO, few people reading this on Slashdot won't immediately understand this sentence. However, those who write poorly out of laziness should not be surprised to find that they come across as such, and are treated accordingly by those whose opinions of them might matter. I wouldn't write "IMHO" in a business report for an audience who might not be familiar with the shorthand.
That's exactly what they're moving towards. It is a succession of British Home Secretaries' wet dream. They already routinely intercept all Internet communication (go on, tell me you believe otherwise). They already have a law that makes it a criminal offence not to provide the necessary keys to decrypt any encrypted data they believe you have on your system (even if they have no proof either that such data is really there or that you have such decryption keys, if memory serves).
The next logical step, using government logic and assuming you don't buy the conspiracy theories about certain mainstream OSes already doing it, is to mandate the installation of government-sanctioned security software on all computers connected to the Internet. In a highly-connected world, that would get you pretty close to arbitrary scanning of everyone's hard drive. Of course, any terrorist is unlikely to voluntarily install such software or connect a computer with detailed planning of their proposed atrocities to the Internet, but since when has whether a law will actually help to prevent terrorist attacks had any connection with government legislative policy in the UK?
Slashdot, dude. Where have you been?
Log from channel #BrooklynCourts
MarieLindor has joined the conversation.
RIAALegalWeenie has joined the conversation.
[RIAALegalWeenie] You ripped our stuff, beeyatch! Give us like 1,000x wot it's worth, or else.
[MarieLindor] Harsh, man. Ur stuff ain't worth it. Anyway u have 2 have Due Process and stuff under the CONSTITUTION! D'OH!!!1!1! Gimme all ur records.
Magistrate has joined the conversation.
[Magistrate] Fair 'nuff. You gotta do it.
[RIAALegalWeenie] No way. We're gonna go to a higher court.
FederalCourtJudge has joined the conversation.
[FederalCourtJudge] I am THE LAW.
[MarieLindor] Yo, Mr Judge Sir. Here's legal stuff that says I'm right. You got my back?
RIAALegalWeenie puts his fingers in his ears.
[RIAALegalWeenie] Not listenin'. Not listenin'. Nyaaaaah nyah.
[RIAALegalWeenie] And 'sides, she's just makin' sh*t up.
FederalCourtJudge has activated a purple lightsaber.
[FederalCourtJudge] This party's over. Go do what my man da Magistrate said, luser.
MarieLindor smiles.
RIAALegalWeenie has left in a huff.
There, I think that about covers it.
(With apologies to the poster who first made this joke, probably much better, but whose post I can't find to credit it.)
You're lucky you still have a job. GOTO is considered harmful! :-)
Whereas with a 120 mile commute, the OP will be getting up at 5 in the morning just to get to work by 9...
I've just spent maybe five minutes reading this thread, before it dawned on me that it's not even December yet and I'm reading an article about Christmas.
Yes, we should really go back to the old days, when Christmas didn't start in September and the season still felt special.
FWIW, megapixels are overrated. Consider that no currently available consumer monitor can get close to displaying that (even a 30" Apple Cinema job, which runs at 2560x1600 resolution, only makes 4MP). Moreover, assuming you're taking images theoretically using millions of colours, you'll be lucky to get the fine detail accurately represented in a full-page A4/US Letter print from a good personal photo printer, even if your camera can take a photograph with good colour matching in the first place.
In other words, taking your other requirements and budget into consideration, it's unlikely that any camera with 6MP will be good enough to capture the kind of detail to make such a resolution worthwhile, or that you'll have the kind of equipment needed to reproduce the images at full detail anyway. It's a marketing gimmick.
Well, they don't call it the season of miracles for nothing, I s'pose...
Yep, there have been some genuinely interesting board games out recently, and of course there are always classic games like chess and bridge if you have the right numbers, or poker if you have the right group of friends. Quite a few of my friends -- geeks and otherwise -- wind up spontaneously going around to someone's place on a spare weekend day to play whatever takes our fancy at the time, and it's far more fun than sitting at home reading $GEEK_NEWS_WEBSITE all day or watching endless reruns of $OLD_SCIFI_SHOW.
Hmm.... Gives a whole new meaning to having a MAC address. :o)
I'm sorry. I believe you misspelt "Bushificationalisms".
I appreciate the basic anti-abortion argument, and indeed the basic pro-life one, and I'm not taking sides here. My point is simply that these things are rarely, if ever, clear-cut; usually, both sides can make strong arguments to support their case.
Looking at your last sentence here (which is pro-death penalty and anti-abortion), what if the judgement is later proven incorrect, or if the mother's only mistake was being raped? Would it really be a kindness to bring a child into the world when the mother may be deeply traumatized by the circumstances of its birth and may not have the resources to look after it and give it a good life, when an alternative is to discontinue the development of something which feels no pain, has no emotions, and is incapable of independent survival and development?
One can find similar ambiguities and exceptions in almost any ethical issue, argued from whichever side. This is why often-controversial subjects like medical ethics or the morality of using violence are so difficult to consider.
Yes, I was indeed referring to criminals rather than the mother of an unborn child in my post above.
No, silly, you don't understand. It's OK to take civil liberties and impose death penalties and stuff, as long as it's not us they do it to.
Yours,
A more enlightened British citizen
<Devil's advocate> Do you seriously not see the difference between taking the life of a grown human with their own personality and experiences and capability to act independently, and not allowing the continued development of a small mass of biomatter that might in a few months develop into a baby that might in a few years develop into a human being with their own personality and experiences and capability to act independently, and which might have a good life if it's looked after by parents who might have the resources to care for it properly, given that it might be the product of a loving relationship and not a random fling or worse? </Devil's advocate>
Ethical issues are rarely as black-and-white as those who express strong views on them would have you believe.
Thank you. It's so nice to see a well-argued, coherent post from someone who understands where the real problems come from and attacks the right target.
Which would be fine, except that the kind of damage potentially caused during the period between the infringement starting, and the rightsholder noticing and going through the motions to get the material taken down, is staggering in the Internet age. Copyright can no longer realistically be enforced as a civil matter in an age of near-instantaneous, near-zero-cost mass-distribution. Protecting the principle of copyright requires a faster, more direct approach.
Thanks. I'd like the rights to the Linux kernel, OpenOffice, Firefox and everything the FSF has ever provided, please. Where shall I send the cheque?