If a lot of people enjoy reading it then that makes it mainstream. Ths means that it appeals to the lowest common denominator. It has not much to do with wether it is good or not. A good example is mainstream music. I challenge your to acclaim eg Britney Spears as great music, but a lot of people listen to it. It has mass appeal. But sure, it's all opinions, otherwise we wouldn't have this discussion.
What I object to is that a lot of people acclaim HP as best fantasy/SF ever. (Which the parent to my first post did.)
And sure, the series are geared towards children, it's particularly notable in the first two. (Which I also though were the poorest in the series.) And I already though I gave some pointers to what I didn't like in the books (plot and literature) but I'll give you some stronger pointers instead.
Spoliers, do not read if you intend to read the books:
In the first book I liked the first half before Potter got to Hogsworth. It was nice to read a book about a put down kid who stood up for himself. When they all got to H. it quickly degraded into a rather poor version of a child detective story. Particularly that the kids never went to the teachers or Dumbledore with the problems were never satisfactory for me. (It probably was for a child though.) And the idea of "protecting" one of the most dangerous items in the world with 4 puzzle which you routinely solve in the "master mind" section of newspapers really did it for me. When I got to that part it was good that it was easy to read, I probably wouldn't have finished the last 50 pages otherwise.
Now jump ahead to the forth book, which is generally the best. The killing in the end was pointless and convinient (for Harry). He had a rival and not only did he get to win but the guy also died in a heroic manner. There were no real point for it though. I felt as if it was put there to give the book a more "serious" appeal. At least as of yet it didn't have any large consequences for the people, by next book all will be well and Harry can start hitting on Cho again. Ergo - convinient death.
But sure, I'll read the next one when it shows. Just as I'll watch the next Star Wars episode when it arrives. Neither need to make the book/film good however. (Although I actually have reason to believe that HP:5 will be worth the time I spend reading it, which SW:3 most likely won't be.)
They've been pretty bad, but you bothered to read all of them to date? I received them as a gift last year, so I already had them. And everyone around me was on about how good they are. Finally they are very easy to read, it's not hard to read them in one day. (Particularly the last two, as they were getting more interesting then.)
The thing I'm arguing against is the notion that HP are great books. That so many go around praising them like the best works of literature yet just shows that they need to read more. From a literate standpoint they are pretty poor, and from a plotwise standpoint they are not very interesting. But since they are easy to read and have charming characters they are popular.
And it should perhaps be pointed out that while I don't consider HP very good I don't mind reading it. Mainly because it's easy reading. And it's still better than quite a lot of the fantasy I've read in the past. (Such as the stuff Eddings produced.) But it's nowhere near "best SF/Fantasy ever", particularly not regarding plot.
Well what would you know? You didn't even finish the first book. There is character development, particularly with Sam and Frodo, in the later parts of the triology. Read it, then comment.
Perhaps you should try reading more books. IMHO the HP books have been pretty bad so far. Mostly it's been a silly version of a child detective story. The last one did make me want to read number five though, so it may be that they are shaping up.
But compared to SF stories like "Do androids dream..", "Enders game", "Speaker for the dead", "Use of weapons" etc they are really simplistic. Just get a list of other nebula winners and you see a lot of books that are way better than any in the HP series. (So far at least.)
Most people would probably call it Network Intrusion Detection System though. The same people would probably call the computer storing information a "logger" as well. Generally these people are know as "those who can spell".
What would a "Network Detection Intruder System" be BTW? An intrusion system which detects networks?
I've used "Artificial Intelligence:A modern approach" by Russel/Norwig in a class on applied AI. It's pretty good and talks about a lot of different topics. The edition I have had a lot on logic and stuff like that too, so it may be a bit theoretical if you just want to get your hands dirty.
For that I'd recommend searching the web. Lot's of AI stuff out there.
You wouldn't get results in this millenium if you did that. First of you want to make sure that you only generate valid code, and from what I've heard bytecode is a bit of a bitch to do by hand so generating java files which you compile is probably a better idea. (Or just use parameters which you tweak, that is the usual way of doing genetic programming.)
You need to feed the generator with a lot of domain info too, otherwise it will just produce garbage. (Even if it is compilable garbage.)
I know that some guy used genetic programming to generate bots for Quake1. They were really stupid though. (He had a sort of blog where he told what had happened lately.) He got bots which would kill you right away if you circle strafed to the left. If you circle strafed to the right they would be completely lost. It's fun but not very usable.
There was one virus which updated itself through encrypted packages distributed on Usenet. That's a pretty neat idea.
But most just use tried and tested methods. Not very high-tech perhaps, but it works.
Also if you increase the complexity of the virus it gets easier to detect. Both since size increase and since you are more likely to have easy to detect thumb prints of op sequences.
But most virus writers are probably quite inexperienced, so they are not going to do really neat stuff. (Or those that do don't get detected.;-)
Well then, don't download it then. (And luckily for you it's not "intergrated into the OS".)
Moz has benefits over IE, personally I like the tabbed browsing and radial menues best. And it's benefits compared to Opera is mainly that it's free, OSS and more flexible.)
And the "If it were Microsoft then... " idea is really getting old. If you are going to complain about how the Slashdot community is big and don't agree then why don't you at least find a new way of doing so?
Does Slashdot do GZIP? In any case I bet that if you added GZIP to Slashdot the transfered size would shrink a lot. (But you wouldn't see that if you looked at the size of the source, as it's decompressed.)
And no optimizations in the world are going to remove the big shunk of data on Slashdot. Since that is in the posts.
the issue is saving bandwidth - and for extremely high traffic sites, i bet you see this type of coding a lot.
Yes most likely. And most coders also feel that they "optimize" the program when they write fewer characters. It doesn't have much impact (at least none that is good) however.
Humans shouldn't try to optimize stuff that a computer can do better. It's a waste of time, and a source for frustration. (When it breaks the code.)
just like an extremely small percentage of web sites need to have shortened names of objects.
I don't think anyone disagrees with you that compressing pages are good if you have a lot of traffic. But I sincerely doubt that anyone is doing it by hand. (Except stupid people with too much time on their hands.)
The "right" solution is to either preprocess the template HTML files or to add a GZIP module to the web server.
If HTTP was encoded down to be bit level, transfers would be so much smaller!
Not really actually. A typical HTTP request result in a HTTP header which is 100B. (Well, the local one I just tested did at least.) Both TCP and IP has headers of 20B each. So those layers has the same order of overhead. And If you have a large file which you send you only get one HTTP header over several TCP/IP packets.
And compared to the amount of data transfered in the data part of a HTTP packet the header is very small.
As youself pointed out, it's nice to have a human readable protocol when you're debugging. (Try debugging a TCP/IP stack for a while and you'll be very happy that HTTP is text based.)
I'm not sure I agree with that. In my experience changing the size of the board in Go makes the game very different. Eg if you play on 9x9 board instead of "real" 19x19 then there are programs which can play fairly well. However the big point of Go is lost, that of strategy. In 9x9 games it almost always comes down to pure tactical playing. And this is where computers beat humans.
After playing a few months of Go I'd say that it's very complex.
For Japanese games there's Go (Although it originated in China.) that's quite popular, mainly because of the manga/anime Hikaru no Go. Go is loads of fun, but exctremely complex.
There's also Shogi which is more like chess. At least in as much as you have pieces which move according to rules. There is also the "promotion" rule (pawn->queen) which is more general in Shogi. An additional twist is that you can sometimes put pieces you capture into play for your own side. (I haven't played Shogi myself though, just looked up some of the basics.)
If you want info on it just look in the Google directory about boardgames. (Go is under strategy.) You can play most games on servers like Yahoo. But once you've gotten past the beginner phase you'll most likely want to switch to servers dedicated for the game.
See the previous comment about tree hashes. After you have downloaded 1k or such you'll compare to the source hash you have. If it doesn't match either the server is compromised or you have a tansmission error. You'd just try downloading it again, and if it seems like the server is feeding you bogus data then you just chose a new one.
Using cryptographic hashes will make it impossible to generate a bogus datastream which generates the same hash. (CRC32 and such are not as suited.)
Yes but the convinience of having eg an entire series/season on one disc is part a big point. Perhaps not to everyone but then again when I got my first CD burner most people didn't see any use for them. It's still in the phase of early-ish adopting for DVD-R. (Hence the entire [+|-] thing.
Here the cost of DVD-R is basically the same as CDR. (Per GB, DVD-R are still a bit more expensive, not much though.) And if you use CD-R you'll generally leave some space over on them. (Particularly if you burn series, then you'll have 50-150MB over generally.) So in the end, for this particular use, the cost is about the same.
I don't think anyone is arguing that you'll need DVD-R for your PDF's. (Although just wait for word 2010.;-)
But if you eg want to save tv series then DVD-R is a great medium. One or two DVD's and you have an entire anime series. (Well in most cases at least.) Or two for a serie in higher quality.
That is becuase OOP has failed to be "change-friendly" as advertized.
Yes of course, OOP is not as good at good at making reuseable code and things like that. It's generally good for making reusable designs though. So if you have to add new features you can often use the old design as is. There is nothing magical about OOP which makes everything reusable. This wasn't the issue at hand though.
XP is contraversial, and generally orthogonal to paradigm issues. Thus, I feel no need to fix something with extreme approaches that is not broken to begin with.
Now you're really starting to sound like an old gheezer refusing to learn new ideas. Sure there's a lot in XP that is not for everyone. There are also a lot of things which sucessful people have been doing for a long time. Just as OOP and design patterns were made to help everyone and not just those who discovered them XP is a bumdle of good ideas and methods. (Not all may apply to your projects.)
WYI the university I go to have now picked up XP and use it in the education. They used to follow the more strict RUP (Rational Unified Process) before. So while it's still pretty "radical" it's becoming more mainstream.
And that is why refactoring is becoming popular. If you have a solid design to begin with then changing it should be fairly easy.
Refactoring is still a bit away from mainstream perhaps, but it's coming. Along with a bunch of other new ideas waiting to get accepted. Such as XP, which also support the "short release cycle" which is really the core of "change-friendly". All of these are becoming integrated into SE in order to make it a more solid field.
We're still at the early stages of SE after all, so bumps in the road are expected. Don't exepct CS to come to the rescue though, that's not it's job. It's like blaming the people dealing with mathematics when your engine doesn't work. Sure the fields are related, but they are not the same.
It's my experience that CS is mostly related to math. People working with pure CS tend to work on algorithms. (No psychology or engineering involved really.) Your metrics are ordo notation by algorithm analysis.
SE is another thing. Often a CS department teaches SE as well as CS, but that's just administartion.
I wouldn't use LOC (lines of code) as a metric. It doesn't work when you compare across architectures or even languages. How well it can be changed (Which I assume is what, "scenario-based change-impact-analysis" means.) is also hard. Generally if you can forsee the change then it's probably part of the original problem domain.
Besides, pshychology only enter into the first part of the design. The specification. After that you know what you are trying to do, and the engineering can start. (Naturally there may be some misunderstandings regarding what the specification mean, but that's not part of the engineering problem per se.)
But I'll agree with you that SE is for from being a solid engineering branch yet. We just haven't been building systems long enough yet. And for a lot of that time it wasn't even aknowledged that it should be engineered to begin with.
But then it's not an object! I thought everything was supposed to be an object.
I think he was talking about "the real world". The one with a screen and a keyboard and a mouse and a computer.
In the "real world" mapping things to objects is often easy. It is also often easy to see trivial ways to interact with said object.
Wether or not you're dealing with an instanciated object (Java object that is) when you do an addition is both irrelevant and uninteresting. (Unless you happen to be a computer scientist focusing on virtual machines or compilers.)
The fallcy here is that you don't seem to have problems that are large enough to be modeled. When you have problems that are medium to large you need to model them. If you don't you'll have a hell of a job to get people working at the same time.
Modelling a problem is often easier in OO than procedural. The actual flow of information crosscuts the object design, which has spawned ideas such as aspect oriented programming.
So yes, things happen procedurally. ("You open the door to the car.") But the design "You" and "car" are object oriented.
Have you tried conencting to a Win NT workgroup with WinXP? It's damn hard, they have switched names on things and buried in a bunch of GUI's.
If a lot of people enjoy reading it then that makes it mainstream. Ths means that it appeals to the lowest common denominator. It has not much to do with wether it is good or not. A good example is mainstream music. I challenge your to acclaim eg Britney Spears as great music, but a lot of people listen to it. It has mass appeal. But sure, it's all opinions, otherwise we wouldn't have this discussion.
What I object to is that a lot of people acclaim HP as best fantasy/SF ever. (Which the parent to my first post did.)
And sure, the series are geared towards children, it's particularly notable in the first two. (Which I also though were the poorest in the series.) And I already though I gave some pointers to what I didn't like in the books (plot and literature) but I'll give you some stronger pointers instead.
Spoliers, do not read if you intend to read the books:
In the first book I liked the first half before Potter got to Hogsworth. It was nice to read a book about a put down kid who stood up for himself. When they all got to H. it quickly degraded into a rather poor version of a child detective story. Particularly that the kids never went to the teachers or Dumbledore with the problems were never satisfactory for me. (It probably was for a child though.) And the idea of "protecting" one of the most dangerous items in the world with 4 puzzle which you routinely solve in the "master mind" section of newspapers really did it for me. When I got to that part it was good that it was easy to read, I probably wouldn't have finished the last 50 pages otherwise.
Now jump ahead to the forth book, which is generally the best. The killing in the end was pointless and convinient (for Harry). He had a rival and not only did he get to win but the guy also died in a heroic manner. There were no real point for it though. I felt as if it was put there to give the book a more "serious" appeal. At least as of yet it didn't have any large consequences for the people, by next book all will be well and Harry can start hitting on Cho again. Ergo - convinient death.
But sure, I'll read the next one when it shows. Just as I'll watch the next Star Wars episode when it arrives. Neither need to make the book/film good however. (Although I actually have reason to believe that HP:5 will be worth the time I spend reading it, which SW:3 most likely won't be.)
They've been pretty bad, but you bothered to read all of them to date?
I received them as a gift last year, so I already had them. And everyone around me was on about how good they are. Finally they are very easy to read, it's not hard to read them in one day. (Particularly the last two, as they were getting more interesting then.)
The thing I'm arguing against is the notion that HP are great books. That so many go around praising them like the best works of literature yet just shows that they need to read more. From a literate standpoint they are pretty poor, and from a plotwise standpoint they are not very interesting. But since they are easy to read and have charming characters they are popular.
And it should perhaps be pointed out that while I don't consider HP very good I don't mind reading it. Mainly because it's easy reading. And it's still better than quite a lot of the fantasy I've read in the past. (Such as the stuff Eddings produced.) But it's nowhere near "best SF/Fantasy ever", particularly not regarding plot.
Well what would you know? You didn't even finish the first book. There is character development, particularly with Sam and Frodo, in the later parts of the triology. Read it, then comment.
Perhaps you should try reading more books. IMHO the HP books have been pretty bad so far. Mostly it's been a silly version of a child detective story. The last one did make me want to read number five though, so it may be that they are shaping up.
But compared to SF stories like "Do androids dream..", "Enders game", "Speaker for the dead", "Use of weapons" etc they are really simplistic. Just get a list of other nebula winners and you see a lot of books that are way better than any in the HP series. (So far at least.)
Most people would probably call it Network Intrusion Detection System though. The same people would probably call the computer storing information a "logger" as well. Generally these people are know as "those who can spell".
What would a "Network Detection Intruder System" be BTW? An intrusion system which detects networks?
I've used "Artificial Intelligence:A modern approach" by Russel/Norwig in a class on applied AI. It's pretty good and talks about a lot of different topics. The edition I have had a lot on logic and stuff like that too, so it may be a bit theoretical if you just want to get your hands dirty.
For that I'd recommend searching the web. Lot's of AI stuff out there.
You wouldn't get results in this millenium if you did that. First of you want to make sure that you only generate valid code, and from what I've heard bytecode is a bit of a bitch to do by hand so generating java files which you compile is probably a better idea. (Or just use parameters which you tweak, that is the usual way of doing genetic programming.)
You need to feed the generator with a lot of domain info too, otherwise it will just produce garbage. (Even if it is compilable garbage.)
If you are interested in this stuff check genetic-programming.org.
I know that some guy used genetic programming to generate bots for Quake1. They were really stupid though. (He had a sort of blog where he told what had happened lately.) He got bots which would kill you right away if you circle strafed to the left. If you circle strafed to the right they would be completely lost. It's fun but not very usable.
There was one virus which updated itself through encrypted packages distributed on Usenet. That's a pretty neat idea.
;-)
But most just use tried and tested methods. Not very high-tech perhaps, but it works.
Also if you increase the complexity of the virus it gets easier to detect. Both since size increase and since you are more likely to have easy to detect thumb prints of op sequences.
But most virus writers are probably quite inexperienced, so they are not going to do really neat stuff. (Or those that do don't get detected.
Well then, don't download it then. (And luckily for you it's not "intergrated into the OS".)
... " idea is really getting old. If you are going to complain about how the Slashdot community is big and don't agree then why don't you at least find a new way of doing so?
Moz has benefits over IE, personally I like the tabbed browsing and radial menues best. And it's benefits compared to Opera is mainly that it's free, OSS and more flexible.)
And the "If it were Microsoft then
Does Slashdot do GZIP? In any case I bet that if you added GZIP to Slashdot the transfered size would shrink a lot. (But you wouldn't see that if you looked at the size of the source, as it's decompressed.)
And no optimizations in the world are going to remove the big shunk of data on Slashdot. Since that is in the posts.
Yes most likely. And most coders also feel that they "optimize" the program when they write fewer characters. It doesn't have much impact (at least none that is good) however.
Humans shouldn't try to optimize stuff that a computer can do better. It's a waste of time, and a source for frustration. (When it breaks the code.)
I don't think anyone disagrees with you that compressing pages are good if you have a lot of traffic. But I sincerely doubt that anyone is doing it by hand. (Except stupid people with too much time on their hands.)
The "right" solution is to either preprocess the template HTML files or to add a GZIP module to the web server.
Not really actually. A typical HTTP request result in a HTTP header which is 100B. (Well, the local one I just tested did at least.) Both TCP and IP has headers of 20B each. So those layers has the same order of overhead. And If you have a large file which you send you only get one HTTP header over several TCP/IP packets.
And compared to the amount of data transfered in the data part of a HTTP packet the header is very small.
As youself pointed out, it's nice to have a human readable protocol when you're debugging. (Try debugging a TCP/IP stack for a while and you'll be very happy that HTTP is text based.)
I'm not sure I agree with that. In my experience changing the size of the board in Go makes the game very different. Eg if you play on 9x9 board instead of "real" 19x19 then there are programs which can play fairly well. However the big point of Go is lost, that of strategy. In 9x9 games it almost always comes down to pure tactical playing. And this is where computers beat humans.
After playing a few months of Go I'd say that it's very complex.
Awari is African, not Japanese.
For Japanese games there's Go (Although it originated in China.) that's quite popular, mainly because of the manga/anime Hikaru no Go. Go is loads of fun, but exctremely complex.
There's also Shogi which is more like chess. At least in as much as you have pieces which move according to rules. There is also the "promotion" rule (pawn->queen) which is more general in Shogi. An additional twist is that you can sometimes put pieces you capture into play for your own side. (I haven't played Shogi myself though, just looked up some of the basics.)
If you want info on it just look in the Google directory about boardgames. (Go is under strategy.) You can play most games on servers like Yahoo. But once you've gotten past the beginner phase you'll most likely want to switch to servers dedicated for the game.
See the previous comment about tree hashes. After you have downloaded 1k or such you'll compare to the source hash you have. If it doesn't match either the server is compromised or you have a tansmission error. You'd just try downloading it again, and if it seems like the server is feeding you bogus data then you just chose a new one.
Using cryptographic hashes will make it impossible to generate a bogus datastream which generates the same hash. (CRC32 and such are not as suited.)
Yes but the convinience of having eg an entire series/season on one disc is part a big point. Perhaps not to everyone but then again when I got my first CD burner most people didn't see any use for them. It's still in the phase of early-ish adopting for DVD-R. (Hence the entire [+|-] thing.
Here the cost of DVD-R is basically the same as CDR. (Per GB, DVD-R are still a bit more expensive, not much though.) And if you use CD-R you'll generally leave some space over on them. (Particularly if you burn series, then you'll have 50-150MB over generally.) So in the end, for this particular use, the cost is about the same.
At least in Sweden -R discs are about half price of a +R disc. Seems like rather good reason if you ask me.
I don't think anyone is arguing that you'll need DVD-R for your PDF's. (Although just wait for word 2010. ;-)
But if you eg want to save tv series then DVD-R is a great medium. One or two DVD's and you have an entire anime series. (Well in most cases at least.) Or two for a serie in higher quality.
Yes of course, OOP is not as good at good at making reuseable code and things like that. It's generally good for making reusable designs though. So if you have to add new features you can often use the old design as is. There is nothing magical about OOP which makes everything reusable. This wasn't the issue at hand though.
Now you're really starting to sound like an old gheezer refusing to learn new ideas. Sure there's a lot in XP that is not for everyone. There are also a lot of things which sucessful people have been doing for a long time. Just as OOP and design patterns were made to help everyone and not just those who discovered them XP is a bumdle of good ideas and methods. (Not all may apply to your projects.)
WYI the university I go to have now picked up XP and use it in the education. They used to follow the more strict RUP (Rational Unified Process) before. So while it's still pretty "radical" it's becoming more mainstream.
And that is why refactoring is becoming popular. If you have a solid design to begin with then changing it should be fairly easy.
Refactoring is still a bit away from mainstream perhaps, but it's coming. Along with a bunch of other new ideas waiting to get accepted. Such as XP, which also support the "short release cycle" which is really the core of "change-friendly". All of these are becoming integrated into SE in order to make it a more solid field.
We're still at the early stages of SE after all, so bumps in the road are expected. Don't exepct CS to come to the rescue though, that's not it's job. It's like blaming the people dealing with mathematics when your engine doesn't work. Sure the fields are related, but they are not the same.
"There are no stupid questions; only stupid people" - Dogbert.
It's my experience that CS is mostly related to math. People working with pure CS tend to work on algorithms. (No psychology or engineering involved really.) Your metrics are ordo notation by algorithm analysis.
SE is another thing. Often a CS department teaches SE as well as CS, but that's just administartion.
I wouldn't use LOC (lines of code) as a metric. It doesn't work when you compare across architectures or even languages. How well it can be changed (Which I assume is what, "scenario-based change-impact-analysis" means.) is also hard. Generally if you can forsee the change then it's probably part of the original problem domain.
Besides, pshychology only enter into the first part of the design. The specification. After that you know what you are trying to do, and the engineering can start. (Naturally there may be some misunderstandings regarding what the specification mean, but that's not part of the engineering problem per se.)
But I'll agree with you that SE is for from being a solid engineering branch yet. We just haven't been building systems long enough yet. And for a lot of that time it wasn't even aknowledged that it should be engineered to begin with.
I think he was talking about "the real world". The one with a screen and a keyboard and a mouse and a computer.
In the "real world" mapping things to objects is often easy. It is also often easy to see trivial ways to interact with said object.
Wether or not you're dealing with an instanciated object (Java object that is) when you do an addition is both irrelevant and uninteresting. (Unless you happen to be a computer scientist focusing on virtual machines or compilers.)
The fallcy here is that you don't seem to have problems that are large enough to be modeled. When you have problems that are medium to large you need to model them. If you don't you'll have a hell of a job to get people working at the same time.
Modelling a problem is often easier in OO than procedural. The actual flow of information crosscuts the object design, which has spawned ideas such as aspect oriented programming.
So yes, things happen procedurally. ("You open the door to the car.") But the design "You" and "car" are object oriented.