I'm tempted to get one, but I have a large room which is mixed hardwood and carpets with fairly long and dense fringes... I'm worried that this will make the whole thing pointless.
You don't have to pick, however, whether the TV will have a screen. Or a remote. Or be tuned by channels. And when you get it home it doesn't declare that until you upgrade some libraries on your VCR it's not going to be compatible. And so on. The car analogy is even richer - you don't get to choose your own configuration of signal lights. It's just a dumb idea.
If you want to use Linux, you want lots of different versions. If you want to use Linux to get something done other than messing with Linux, you want a standard behavior so you can stop compiling stuff and start using it, so you can configure things quickly, and so they often work right off the download.
Having tried a couple of MMORPGs, I can't see where this comes from. They're like normal RPGs but with the story mostly removed and replaced with an endless stream of asking people how to complete your quests to go to the next level and get more skill points.
That's so true, it's why (although I play a decent number of CRPGs) I always feel that the computer doesn't acutally provide a role-playing experience. You aren't free to play a role, you're free to take one of a limited set of actions. The set is getting larger and larger, and in MMORPGs you are at least free to say anything to another player you like, but it's still a countable set.
It's even more true of NPCs than of doors. For a real person, there are so many conversations that will solve or cause so many problems... a tabletop RPG can do justice to these, but a CRPG can't even come close. MMORPGs can't really either, since all the NPCs are scripted, and only the PCs have actual freedom.
Hm. I didn't really get those from the article, but you're right, they're both good points. I like my high level tools, but I've written in C and written in assembler and at least know one end from another in the lower levels, and you can't be a good programmer without that.
Strangely, despite complaining about all the leaky abstractions he has to know to program, he uses all of them up to the highest level possible. So this is less of a serious complaint and more of a whine: why can't the abstractions at each layer be made better? ( A legitimate whine, but when you're complaining about ASP and VB and C++ in specific, you have to just get over the fact that they leak... they just don't deal with their additional complexity as well as, say, C deals with its much smaller complexity. )
Of course, what he doesn't say here but obviously knows is that the higher level tools are worth learning because you can be much more productive in them, both in terms of code written and bugs not written, despite all their flaws. So really he's just being whiny. Which is odd, because usually his essays are more sensible. Must have been a bad week at the office.
So the subsystems that don't fit a pattern... do you just leave those out to increase the overall density?
Patterns are like design shorthand. Just because your design isn't written in shorthand doesn't make it bad. It may well mean you spent too much time reinventing something you could have read from the book, but that doesn't make it bad either.
Re:good examples--you make my point for me
on
Design Patterns
·
· Score: 1
Well, you've killed my metaphors, but not the argument. But you seem to be working from "OO hasn't solved all problems, therefore it is flawed" start, which is too silly to continue battering at.
At least, until we have a methedology that does solve all problems, at which point you win.;)
Re:good to know about--but it's accepting defeat
on
Design Patterns
·
· Score: 1
This is all true except the conclusion. You're saying "walls are nice, but the problem with bricks is that they don't come pre-built into walls." Yes, patterns aren't pre-built, that's the point, you adapt them to your present object use.
Nested loops aren't pre-built either, but you learn them and use them too, and you'd miss them if they were gone.
Re:Obligatory Anti-Pattern Viewpoint
on
Design Patterns
·
· Score: 1
I think this is saying "if you have good database design, you don't need patterns as much" which has some truth for database backed apps. At least, that's what I think is said here.
But there are a lot of apps that are't based on a database. And there are a lot of database apps that are that can't take time to hit the database whenever they want to jump.
It does show someone thought about it. But it doesn't show that the thought was any good.
Patterns = good. Slave to patterns = bad. Equating patterns with thought = worse.
This is like saying the more tools you take out of the toolbox the better carpentry job you do.
a great, but dangerous, idea
on
Design Patterns
·
· Score: 5, Insightful
This book is pretty great. It's also pretty dangerous, I've heard of idiots who rate the quality of any potential design by how many patterns it has in it.
Design patterns is important for every OO programmer to read, understand, and hopefully transcend.
I'm mostly convinced, except for the multiplay. There are lots of fine games without multiplay - they tend to be about story, which is something that try as you might you can't have in deathmatch. Only Neverwinter has tried to do story with multiplay, and I'm not sure how well that works.
I think if your game supports multiplay, you have to have it. But if you're writing, say, Deus Ex, a shooter admittedly but one about story and sneaking and missions, multiplay will just seem lame. That game, however, was one of the best I'd played in years*, and I clearly wasn't the only one.
*I thought it was game of the year when I played it two years after its release... the games since have had more polygons, but there's more to a game than just having 4500 polygon projectiles flinging at your head with 3D stereo sound.
Heh. I had a similar thing where an outside group was brought in to add a new function to our Big Java Internet Thing.
The problem was they didn't understand how servlets worked and used instance level variables to store a bunch of things during processing. The problem being that there's only one instance of a servlet serving multiple requests at once, which would get all gummed together. It took us a while to debug being weirdly intermittent and so dumb we couldn't believe it when we found it. It was a real "No... really? I didn't even think to look at that!" moment.
The moral being, don't hire people who don't know anything to write your code. Or something.
Windows is more of a design disaster than a programming one. I hate windows as much as the next guy, but it's full of things doing the job they're meant to pretty well.
It's just that they're meant to enable scripts to run in arbitrary text files, or default to sharing your documents over the internet, or place documents in weird places. All these were programmed correctly, just designed wrong.
I like two tier applications too... it seems that often people put in a middle tier just to have 3. You can often combine the logic and the webserver on the same box (running Apache + a JSP engine, for example). Unless you've got weird load issues, forcing another level of boxen isn't useful, and slows things down.
But then it's not "3 tier" and therefore must not be scalable. Or something.
You must not spend much time downtown. I'm pretty glad that they didn't take the money to tear down other buildings and keep the elevated highway. It's an amazingly horrible structure.
Boston built the present highway a long time ago with state money. You would have preferred them to take federal money to build _another_ elevated highway? Or to increase the size of the present one? I'm so glad you weren't in charge.
And as far as I can tell, the Big Dig is only a fiasco fiscally. As far as construction, it's running pretty well, it just costs more than they originally said. I would, however, bet that it doesn't cost more than the original instigators thought it might, they just couldn't get that passed.
I'm looking forward to when the highway goes down and we have more park space downtown. Once that happens, I think we will see it done in other cities with similar layouts to Boston (there's no point in trying it in LA, too many highways and too little dense downtown).
The strange thing about Strang is how much like your confused uncle he is. No matter who you are. The kind of uncle that got lost in the closet at Thanksgiving and only now has been located, living off leather shoes in the back...
Boston already has a real freeway running through town. In fact, Boston is probably the reason your downtown doesn't - it was demonstrated to be a dumb-ass idea.
And Massachusetts already pays out for subsidies in your state anyway, so yeah, we do support it.*
*This is guaranteed no matter what state your from. Foreigners may feel free to feel smug until they look at their own governments.
Why is it that all the online games start you out as a character so weak it isn't any fun to play anyway? Does anyone enjoy the first three to five levels of killing rats and waiting for your skills to come up higher? Does anyone love being a mage so low level you get tired after lighting a candle?
It wouldn't weaken the role-playing experience any to start a character at competent instead of at ultra-wuss. Many pen-and-paper RPGs do this. Of course, all MMORPGs seem to be modeled off D&D, which is famous for its useless first level characters.
I understand there's the whole hero's path up from being a complete dweeb thing going on, but since MMORPGs have this world full of other characters, it's damn obvious your hobbit crotch-scratcher (or elven wand-fiddler, or whatever) isn't the hero of the story.
"We're going to make a robotic sea anemone in order to... to... to... look cool! And explore some blah blah blah human interaction blah blah send us money."
In a few years it will be forgotten and nothing will have been learned from it.
So how does it do on rug fringes?
I'm tempted to get one, but I have a large room which is mixed hardwood and carpets with fairly long and dense fringes... I'm worried that this will make the whole thing pointless.
yes yes yes.
You don't have to pick, however, whether the TV will have a screen. Or a remote. Or be tuned by channels. And when you get it home it doesn't declare that until you upgrade some libraries on your VCR it's not going to be compatible. And so on. The car analogy is even richer - you don't get to choose your own configuration of signal lights. It's just a dumb idea.
If you want to use Linux, you want lots of different versions. If you want to use Linux to get something done other than messing with Linux, you want a standard behavior so you can stop compiling stuff and start using it, so you can configure things quickly, and so they often work right off the download.
Having tried a couple of MMORPGs, I can't see where this comes from. They're like normal RPGs but with the story mostly removed and replaced with an endless stream of asking people how to complete your quests to go to the next level and get more skill points.
They're more like Diablo than like Arcanum.
That's so true, it's why (although I play a decent number of CRPGs) I always feel that the computer doesn't acutally provide a role-playing experience. You aren't free to play a role, you're free to take one of a limited set of actions. The set is getting larger and larger, and in MMORPGs you are at least free to say anything to another player you like, but it's still a countable set.
It's even more true of NPCs than of doors. For a real person, there are so many conversations that will solve or cause so many problems... a tabletop RPG can do justice to these, but a CRPG can't even come close. MMORPGs can't really either, since all the NPCs are scripted, and only the PCs have actual freedom.
Hm. I didn't really get those from the article, but you're right, they're both good points. I like my high level tools, but I've written in C and written in assembler and at least know one end from another in the lower levels, and you can't be a good programmer without that.
Strangely, despite complaining about all the leaky abstractions he has to know to program, he uses all of them up to the highest level possible. So this is less of a serious complaint and more of a whine: why can't the abstractions at each layer be made better? ( A legitimate whine, but when you're complaining about ASP and VB and C++ in specific, you have to just get over the fact that they leak... they just don't deal with their additional complexity as well as, say, C deals with its much smaller complexity. )
Of course, what he doesn't say here but obviously knows is that the higher level tools are worth learning because you can be much more productive in them, both in terms of code written and bugs not written, despite all their flaws. So really he's just being whiny. Which is odd, because usually his essays are more sensible. Must have been a bad week at the office.
So the subsystems that don't fit a pattern... do you just leave those out to increase the overall density?
Patterns are like design shorthand. Just because your design isn't written in shorthand doesn't make it bad. It may well mean you spent too much time reinventing something you could have read from the book, but that doesn't make it bad either.
Well, you've killed my metaphors, but not the argument. But you seem to be working from "OO hasn't solved all problems, therefore it is flawed" start, which is too silly to continue battering at.
At least, until we have a methedology that does solve all problems, at which point you win.
This is all true except the conclusion. You're saying "walls are nice, but the problem with bricks is that they don't come pre-built into walls." Yes, patterns aren't pre-built, that's the point, you adapt them to your present object use.
Nested loops aren't pre-built either, but you learn them and use them too, and you'd miss them if they were gone.
I think this is saying "if you have good database design, you don't need patterns as much" which has some truth for database backed apps. At least, that's what I think is said here.
But there are a lot of apps that are't based on a database. And there are a lot of database apps that are that can't take time to hit the database whenever they want to jump.
I hope this is a joke.
It does show someone thought about it. But it doesn't show that the thought was any good.
Patterns = good. Slave to patterns = bad. Equating patterns with thought = worse.
This is like saying the more tools you take out of the toolbox the better carpentry job you do.
This book is pretty great. It's also pretty dangerous, I've heard of idiots who rate the quality of any potential design by how many patterns it has in it.
Design patterns is important for every OO programmer to read, understand, and hopefully transcend.
I'm mostly convinced, except for the multiplay. There are lots of fine games without multiplay - they tend to be about story, which is something that try as you might you can't have in deathmatch. Only Neverwinter has tried to do story with multiplay, and I'm not sure how well that works.
I think if your game supports multiplay, you have to have it. But if you're writing, say, Deus Ex, a shooter admittedly but one about story and sneaking and missions, multiplay will just seem lame. That game, however, was one of the best I'd played in years*, and I clearly wasn't the only one.
*I thought it was game of the year when I played it two years after its release... the games since have had more polygons, but there's more to a game than just having 4500 polygon projectiles flinging at your head with 3D stereo sound.
The reason they cling to life is actually the bizzare concrete sculpture sticking out one side of the lab building.
It's actually a hypnotic psychic antenna, broadcasting cool waves and attracting the impressionable to write big checks.
Heh. I had a similar thing where an outside group was brought in to add a new function to our Big Java Internet Thing.
The problem was they didn't understand how servlets worked and used instance level variables to store a bunch of things during processing. The problem being that there's only one instance of a servlet serving multiple requests at once, which would get all gummed together. It took us a while to debug being weirdly intermittent and so dumb we couldn't believe it when we found it. It was a real "No... really? I didn't even think to look at that!" moment.
The moral being, don't hire people who don't know anything to write your code. Or something.
Windows is more of a design disaster than a programming one. I hate windows as much as the next guy, but it's full of things doing the job they're meant to pretty well.
It's just that they're meant to enable scripts to run in arbitrary text files, or default to sharing your documents over the internet, or place documents in weird places. All these were programmed correctly, just designed wrong.
I like two tier applications too... it seems that often people put in a middle tier just to have 3. You can often combine the logic and the webserver on the same box (running Apache + a JSP engine, for example). Unless you've got weird load issues, forcing another level of boxen isn't useful, and slows things down.
But then it's not "3 tier" and therefore must not be scalable. Or something.
You must not spend much time downtown. I'm pretty glad that they didn't take the money to tear down other buildings and keep the elevated highway. It's an amazingly horrible structure.
Boston built the present highway a long time ago with state money. You would have preferred them to take federal money to build _another_ elevated highway? Or to increase the size of the present one? I'm so glad you weren't in charge.
And as far as I can tell, the Big Dig is only a fiasco fiscally. As far as construction, it's running pretty well, it just costs more than they originally said. I would, however, bet that it doesn't cost more than the original instigators thought it might, they just couldn't get that passed.
I'm looking forward to when the highway goes down and we have more park space downtown. Once that happens, I think we will see it done in other cities with similar layouts to Boston (there's no point in trying it in LA, too many highways and too little dense downtown).
The strange thing about Strang is how much like your confused uncle he is. No matter who you are. The kind of uncle that got lost in the closet at Thanksgiving and only now has been located, living off leather shoes in the back...
Boston already has a real freeway running through town. In fact, Boston is probably the reason your downtown doesn't - it was demonstrated to be a dumb-ass idea.
And Massachusetts already pays out for subsidies in your state anyway, so yeah, we do support it.*
*This is guaranteed no matter what state your from. Foreigners may feel free to feel smug until they look at their own governments.
I've always thought of it as "our local answer to corn subsidies."
At least we're not being paid NOT to build a highway.
Why is it that all the online games start you out as a character so weak it isn't any fun to play anyway? Does anyone enjoy the first three to five levels of killing rats and waiting for your skills to come up higher? Does anyone love being a mage so low level you get tired after lighting a candle?
It wouldn't weaken the role-playing experience any to start a character at competent instead of at ultra-wuss. Many pen-and-paper RPGs do this. Of course, all MMORPGs seem to be modeled off D&D, which is famous for its useless first level characters.
I understand there's the whole hero's path up from being a complete dweeb thing going on, but since MMORPGs have this world full of other characters, it's damn obvious your hobbit crotch-scratcher (or elven wand-fiddler, or whatever) isn't the hero of the story.
This is very Media Lab.
"We're going to make a robotic sea anemone in order to... to... to... look cool! And explore some blah blah blah human interaction blah blah send us money."
In a few years it will be forgotten and nothing will have been learned from it.
Heh, I remember reading those words as the exact moment I lost respect for Greenspun.
With due respect to extreme programming, a lot of these arguments have been around since dirt. See "The Mythical Man Month" among others.
Extreme programming is cool, but it's not the origin of most of its ideas. It just stuck a bunch of different thoughts together.