I like the article (read it before) and it gives a good intro to the theory of computation, but I am not sure the fact that algorithms are "discovered" should decide whether it is patentable. By the same token, any physical invention was simply a discovery of a particular combination of matter. The spirit of patents is to reward people for their "inventions" in order to spur innovation. It is certainly debatable whether people need a monetary reward in order to innovate (experience would tell us otherwise), but the fact that algorithms are technically "discovered" should not detract from the shear ingenuity that goes into "discovering" them. I hate when laws are applied as literally as possible, because clearly the spirit of patent laws would encompass novel ideas in algorithms. What really needs to be weighed is whether software patents spur or hinder innovation. Many would argue the latter, and I think that should be the debate on whether or not software is patentable, since that is in opposition to patent laws' spirit. Also, a virtual shopping cart is not my idea of ingenuity.
Well, in my case, the database course (on relational DB theory) was a 3rd semester (2nd year) course, so it did not conflict with any senior level course. There was another senior level DB course for those that were interested, but I did not take it. The focus of the course was really about understanding the basic theory, which lets you then make efficient queries and maintainable DBs. That said, there are many jobs out there that don't require functional programming, any sort of algorithm design or analysis, systems programming, web programming, etc.
Well, relational has been king of the hill for decades. Hierarchical and Object DBs still only fill niche markets (Object DBs have been around for over 20 years). Let's apply your statement to programming languages...
Functional, logical, OO? A language paradigm that's the fad now might be passe' later.
Hardly a fad, all of those (just like the DB types you mentioned) are still in use, though OO is clearly the king. Not surprisingly, most schools focus imperative, OO programming and offer a course or 2 (often times optional) that skims over the other paradigms. Calling relational databases a fad is like calling object oriented programming a fad. Yeah, both are clearly not suited to all situations, but they handle the majority of the jobs damn well.
I'm sorry, but where else would you go for news (especially local)? Yeah, some blogs are fairly informative, but many cite newspapers. Most blogs are run as spare-time projects by people with day jobs. Newspapers are run by people who do it for 8+ hours a day. I think the readership decline has much more to do with apathy then the internet.
^ So did I... In fact, I'm in grad school for computer science (computational geometry). You know a database course (and Date's book) is not actually learning SQL right? I think SQL was the last 2 weeks, all the rest was relational database theory.
I think it is more about getting students interested, then making top-level game programmers. That said, you'd be surprised what a group of motivated undergrads can do in a semester. Did you know Valve's Portal started out as the thesis project from a team of undergrads?
I guess I'll trust you, since you say you interview a lot of people. I can't imagine a 4 year degree program NOT having a database course. Is there a CS grad out there without a copy of Date's Intro to Database Systems book?
Yep. My school's AI course was all done in the context of game programming and was fantastic. It is nice being able to immediately see your code in action (literally). You also get a good lesson in practical space vs. time vs. developer time trade-offs. That said, I think your main point is that you don't go to school to learn how to program "insurance software," you are there to learn about the theory that let's you program anything. If a prof can do that within the context of video games, then that's awesome.
There is a big difference between the desire to get an A, and the desire to learn. The desire to get an A, says absolutely nothing of your desire to learn. The learning is a requirement of meeting your desire; and may be done begrudgingly. For example, I desire a car. In order to get a car, I must work. I have absolutely no desire to work, but it is a requirement of me buying a car.
The teacher/Professor is there for every student in the class; some require much more assistance than others.
Yes, so go talk to a TA, GA, or the prof after class... or before class. Read the material first. Don't just go in expecting to be spoon fed everything in class. As you said, "the teacher is there for every student in the class." Well, that goes both ways. I am not saying completely ignoring a set of students is the answer, but surely some balance is in order.
Well, that depends how you look at it. Nothing annoys me more then profs who always cater to the lowest common denominator in the class room. They spend half the class going over trivial details of the material because of a minority of people who just don't get it. At some point a prof has to just let some students sink or swim. The worst was an operating systems class I took. I was very excited to take it after seeing the course outline. Unfortunately, the prof catered too much to the people who just didn't put in the effort outside of class, so we only covered half the material we were suppose to. Very disappointing... You have a set of students who really want to learn the material and take something away, and instead the class' time is wasted on those that just want a passing mark.
While your point is a good one, you are assuming "protectionist tariffs" only target countries with environmental or human rights abuses. What about tariffs whose sole purpose is to keep purchasing within the United States, and not just to "level the playing field." Many countries are being hurt by protectionist tariffs in the US, such as Canada. We have manufacturing plants that adhere to strict environmental standards, offer their employees good jobs with benefits and have lower prices to boot, yet are being turned down contracts they would normally receive due to protectionist requirements put in place by the US gov't. They, simply, were more efficient at producing that products. How do you justify that, since you can't use human rights abuses or environmental damage as arguments?
The recommendation sites are far from perfect, but they're the best thing out there for discovering new music that you'll actually like (and orders of magnitude better then broadcast radio). Almost all of the CDs I've bought over the past year were of bands I first heard on last.fm. At the very least, last.fm has never played me Nickelback, so its gold in my book.
If your car is under severe load, then it will be in the lowest gear possible. At high speeds, that would be 4th or 5th (if the car has it), but it would bump down the gears once you get slow enough. If the car is an automatic, and you actually could bring it to a stop, it wouldn't stall (you can try torque braking on your own time). I'm not sure how you have proved your point any more then I have. That said, I was talking about floating, which is still a problem (even with ABS - I have had brake float on cars with ABS). It is just really all about heat. Even if you could slow your car down gradually by using the brakes, you'd be generating a lot more heat then you would during normal braking. If you are going over 140kph, I can't imagine brake float not becoming a problem. Of course, I can't prove it since I am not about to go rent a Toyota, go at highways speeds, slam the pedal down then slam the brake pedal down and see what happens. If you want to dismiss my point, that is fine, but don't pretend like I have to do the proving. We're both using anecdotal evidence here.
What? I am not sure if I understand your comment. I am saying that if your car is "under full acceleration" braking won't do you any good, as the force required to slow the car down would most likely fade your brakes. You said it was possible to slow it down. I am disagreeing with you. I've decided to "join the discussion."
I don't know if I would call them intelligent or rich. There was a story in the paper of a guy who fell victim to one of these scams. He didn't have a lot of money, instead he went out and borrowed from the bank, maxed his credit cards, and got money from his family. All in all he put his family out over $50k, and himself out about another $20k or something. These are life savings of blue collar workers we are talking about, not the pocket cash from a wealthy family.
Far from it. Pattern recognition, learning and intelligence are all learned and taught. Sure, there are some genetic aberrations, but a lot of those "smart" people just spent crap loads more time reading books and doing homework and learning new things then the other ones. We are all born with the capability, but smarts don't happen magically. You have to have proper education at a young age to keep minds curious.
But still, full brakes will at least slow down a car under full acceleration.
Not really. When brakes get really hot, the pad material starts to turn directly into gas and causes the pads to "float." The effect is that your brakes don't work at all. If you are going very fast and are slamming on the brakes, they'll start to float from the heat. After that your brakes are useless.
Well, not necessarily. Perhaps System X made trade-offs of speed to save on space. Yeah, it requires a smaller footprint, but that may have come at the cost of more disk access or longer look up times that could be improved with a cache or redundant data structures or more indexes in a database-like system. That said, your RAM is meant to be used. Using 25% or your RAM provides no speed increase over using 70% of your RAM. However, I do agree that they should also scale with available space. Apps and OSes should try to make best use of all available space (whether that is 4GB or 256MB), otherwise they're not doing their job.
There is actually an entire model of computation dedicated to parallel computation: the PRAM model. Lots of nifty algorithms have already been designed for the PRAM model of computation (O(log n) sorting, for instance). What's even cooler is that some of these algorithms have given insights that have then been used to provide speed ups in the RAM model (eg. read Megiddo's "Applying Parallel Computation Algorithms in the Design of Serial Algorithms").
I like the article (read it before) and it gives a good intro to the theory of computation, but I am not sure the fact that algorithms are "discovered" should decide whether it is patentable. By the same token, any physical invention was simply a discovery of a particular combination of matter. The spirit of patents is to reward people for their "inventions" in order to spur innovation. It is certainly debatable whether people need a monetary reward in order to innovate (experience would tell us otherwise), but the fact that algorithms are technically "discovered" should not detract from the shear ingenuity that goes into "discovering" them. I hate when laws are applied as literally as possible, because clearly the spirit of patent laws would encompass novel ideas in algorithms. What really needs to be weighed is whether software patents spur or hinder innovation. Many would argue the latter, and I think that should be the debate on whether or not software is patentable, since that is in opposition to patent laws' spirit. Also, a virtual shopping cart is not my idea of ingenuity.
Or they read them on-line now.
Well, in my case, the database course (on relational DB theory) was a 3rd semester (2nd year) course, so it did not conflict with any senior level course. There was another senior level DB course for those that were interested, but I did not take it. The focus of the course was really about understanding the basic theory, which lets you then make efficient queries and maintainable DBs. That said, there are many jobs out there that don't require functional programming, any sort of algorithm design or analysis, systems programming, web programming, etc.
Well, relational has been king of the hill for decades. Hierarchical and Object DBs still only fill niche markets (Object DBs have been around for over 20 years). Let's apply your statement to programming languages...
Functional, logical, OO? A language paradigm that's the fad now might be passe' later.
Hardly a fad, all of those (just like the DB types you mentioned) are still in use, though OO is clearly the king. Not surprisingly, most schools focus imperative, OO programming and offer a course or 2 (often times optional) that skims over the other paradigms. Calling relational databases a fad is like calling object oriented programming a fad. Yeah, both are clearly not suited to all situations, but they handle the majority of the jobs damn well.
few people want to use them for news anyway
I'm sorry, but where else would you go for news (especially local)? Yeah, some blogs are fairly informative, but many cite newspapers. Most blogs are run as spare-time projects by people with day jobs. Newspapers are run by people who do it for 8+ hours a day. I think the readership decline has much more to do with apathy then the internet.
^ So did I... In fact, I'm in grad school for computer science (computational geometry). You know a database course (and Date's book) is not actually learning SQL right? I think SQL was the last 2 weeks, all the rest was relational database theory.
I think it is more about getting students interested, then making top-level game programmers. That said, you'd be surprised what a group of motivated undergrads can do in a semester. Did you know Valve's Portal started out as the thesis project from a team of undergrads?
I guess I'll trust you, since you say you interview a lot of people. I can't imagine a 4 year degree program NOT having a database course. Is there a CS grad out there without a copy of Date's Intro to Database Systems book?
Yep. My school's AI course was all done in the context of game programming and was fantastic. It is nice being able to immediately see your code in action (literally). You also get a good lesson in practical space vs. time vs. developer time trade-offs. That said, I think your main point is that you don't go to school to learn how to program "insurance software," you are there to learn about the theory that let's you program anything. If a prof can do that within the context of video games, then that's awesome.
There is a big difference between the desire to get an A, and the desire to learn. The desire to get an A, says absolutely nothing of your desire to learn. The learning is a requirement of meeting your desire; and may be done begrudgingly. For example, I desire a car. In order to get a car, I must work. I have absolutely no desire to work, but it is a requirement of me buying a car.
The teacher/Professor is there for every student in the class; some require much more assistance than others.
Yes, so go talk to a TA, GA, or the prof after class... or before class. Read the material first. Don't just go in expecting to be spoon fed everything in class. As you said, "the teacher is there for every student in the class." Well, that goes both ways. I am not saying completely ignoring a set of students is the answer, but surely some balance is in order.
Well, that depends how you look at it. Nothing annoys me more then profs who always cater to the lowest common denominator in the class room. They spend half the class going over trivial details of the material because of a minority of people who just don't get it. At some point a prof has to just let some students sink or swim. The worst was an operating systems class I took. I was very excited to take it after seeing the course outline. Unfortunately, the prof catered too much to the people who just didn't put in the effort outside of class, so we only covered half the material we were suppose to. Very disappointing... You have a set of students who really want to learn the material and take something away, and instead the class' time is wasted on those that just want a passing mark.
While your point is a good one, you are assuming "protectionist tariffs" only target countries with environmental or human rights abuses. What about tariffs whose sole purpose is to keep purchasing within the United States, and not just to "level the playing field." Many countries are being hurt by protectionist tariffs in the US, such as Canada. We have manufacturing plants that adhere to strict environmental standards, offer their employees good jobs with benefits and have lower prices to boot, yet are being turned down contracts they would normally receive due to protectionist requirements put in place by the US gov't. They, simply, were more efficient at producing that products. How do you justify that, since you can't use human rights abuses or environmental damage as arguments?
JavaFX is not open and Flash is better supported under Linux.
I am pretty sure that the Closure Compiler is meant to be used with code written for, and in the style of, the Closure Library.
The recommendation sites are far from perfect, but they're the best thing out there for discovering new music that you'll actually like (and orders of magnitude better then broadcast radio). Almost all of the CDs I've bought over the past year were of bands I first heard on last.fm. At the very least, last.fm has never played me Nickelback, so its gold in my book.
If your car is under severe load, then it will be in the lowest gear possible. At high speeds, that would be 4th or 5th (if the car has it), but it would bump down the gears once you get slow enough. If the car is an automatic, and you actually could bring it to a stop, it wouldn't stall (you can try torque braking on your own time). I'm not sure how you have proved your point any more then I have. That said, I was talking about floating, which is still a problem (even with ABS - I have had brake float on cars with ABS). It is just really all about heat. Even if you could slow your car down gradually by using the brakes, you'd be generating a lot more heat then you would during normal braking. If you are going over 140kph, I can't imagine brake float not becoming a problem. Of course, I can't prove it since I am not about to go rent a Toyota, go at highways speeds, slam the pedal down then slam the brake pedal down and see what happens. If you want to dismiss my point, that is fine, but don't pretend like I have to do the proving. We're both using anecdotal evidence here.
What? I am not sure if I understand your comment. I am saying that if your car is "under full acceleration" braking won't do you any good, as the force required to slow the car down would most likely fade your brakes. You said it was possible to slow it down. I am disagreeing with you. I've decided to "join the discussion."
Hard work and determination will always beat straight intelligence.
I don't know if I would call them intelligent or rich. There was a story in the paper of a guy who fell victim to one of these scams. He didn't have a lot of money, instead he went out and borrowed from the bank, maxed his credit cards, and got money from his family. All in all he put his family out over $50k, and himself out about another $20k or something. These are life savings of blue collar workers we are talking about, not the pocket cash from a wealthy family.
Far from it. Pattern recognition, learning and intelligence are all learned and taught. Sure, there are some genetic aberrations, but a lot of those "smart" people just spent crap loads more time reading books and doing homework and learning new things then the other ones. We are all born with the capability, but smarts don't happen magically. You have to have proper education at a young age to keep minds curious.
But still, full brakes will at least slow down a car under full acceleration.
Not really. When brakes get really hot, the pad material starts to turn directly into gas and causes the pads to "float." The effect is that your brakes don't work at all. If you are going very fast and are slamming on the brakes, they'll start to float from the heat. After that your brakes are useless.
Well, not necessarily. Perhaps System X made trade-offs of speed to save on space. Yeah, it requires a smaller footprint, but that may have come at the cost of more disk access or longer look up times that could be improved with a cache or redundant data structures or more indexes in a database-like system. That said, your RAM is meant to be used. Using 25% or your RAM provides no speed increase over using 70% of your RAM. However, I do agree that they should also scale with available space. Apps and OSes should try to make best use of all available space (whether that is 4GB or 256MB), otherwise they're not doing their job.
Oops, wrong link, Megiddo's paper is here.
There is actually an entire model of computation dedicated to parallel computation: the PRAM model. Lots of nifty algorithms have already been designed for the PRAM model of computation (O(log n) sorting, for instance). What's even cooler is that some of these algorithms have given insights that have then been used to provide speed ups in the RAM model (eg. read Megiddo's "Applying Parallel Computation Algorithms in the Design of Serial Algorithms").