Then wouldn't it be a better plan to require the games to be installed as admin, rather than run as admin?
Forcing your customers to run a less secure system as a way of enforcing the 'adult' rating sounds like a dumb idea, oh and by the way I'm feeling cynical, and I'm a developer myself, so I'll just go ahead and say that I'm 99% sure this stuff is total garbage - it's just that they couldn't be bothered to make the games run if you're not admin.
I bet that problem was found in beta-testing for both games, and they decided not to fix it, and cooked up some bollocks about won't somebody please think of the children instead.
It's not due to programming incompetence per se - I'm guessing timescales/perceived small scale of the problem caused it not to be fixed.
I'm nearly always disappointed in open source quality in terms of items 1 to 3 that you mentioned. Quite often when I look at code, the only comments are boilerplate GNU/whatever license conditions at the top of the file. In fact, I often use that as a metric - if the license comments at the top of the file outweigh all the other source comments in the file, then the code is not worth bothering with. (Harsh, I know, but you have to have some indicators like this to judge things on - if you want a tired car analogy(TM), then if I take my car to the garage to be fixed, if the mechanics don't take the trouble to avoid getting oil on the seats, that makes me wonder what else they're not bothering with).
I've seen this on so many projects, but I'll take Abiword as an example. I was interested in the project and premise, and have professional experience in the development of document processors. The initial look at the code made me back off and never come back. I looked at fundamental stuff like formatting and layout routines, figuring they had to be well designed/documented or it was all screwed, and they were sketchily documented at best. I kept looking at it from my actual perspective, i.e. how could I provide input/effort to this project in an efficient way, without floundering around every 5 minutes trying to work out what the hell was going on, or even if I was duplicating someone else's effort. I looked at stuff like classes for formatting/flowing text and so on, and would page through function after function in a class, just waiting to find some comments to explain what the hell was going on. (Disclaimer: this was a couple of years ago, so Abiword might have been knocked into shape by now).
Open source software by no means has the monopoly on this sort of thing, and much commercial code is also, imho, crap. But of the code I've worked on through my career that I would consider the 'best', well it's usually been commercial (closed) source.
As for modularity - hm. The number of times I've seen network code mixed in with platform specific UI code in the same function, and so on, is distressingly high. One of my particular favourites was some code in an ICQ clone that was implementing the ICQ protocol, but also on the next line set the WS_EX_LAYERED flag on a window if the program was running under Windows 2000 or higher. In fact, it did that a few times, dotted around that code, doing the same OS specific checks/calls each time. Sometimes abstraction seems like it's something that happens to other people.
Usual disclaimers apply re: it's free, so who am I to complain, etc. This is fair enough - I'm just pointing out my experience of looking at/attempting to comprehend/improve most open source stuff I've looked at.
The problem with the documentation of most source code (open and closed) is the lack of overview documentation. i.e. how the hell does all this code hang together, and more importantly, how is it supposed to hang together, how is it supposed to evolve, and so on.
So while it's all a question of degree to some extent, I don't feel your claims about open source rang true with my experience, and to be honest, I wasn't at all surprised to read:
I am not a developer myself
Also:
Any F/OSS project of more than moderate complexity seems to adhere to these standards, because this is the only way such projects even get to grow beyond that point.
I wish that were true. It's certainly not true of closed source, and I doubt it's true of open source. Any developer worth their salt can describe to you a large, complicated system they worked on that was used (and relied on) by many people, that didn't satisfy one (or probably any) of the 3 qualities you listed. There are many projects that are in widespread use and seem to 'work' for their users, but that I (and many other devs) would never want to work on.
Not only did the submitter's summary not really tell you anything at all about ZFS, except that it's Sun's new filing system (why should we care? what's different? etc), and basically read like a content-free press release, but slashdot posters filled up the entire first page of comments bitching about the meaning of 'billion', UK vs US numbers, the population of India, blah blah, anything really except talking about the damn filing system.
And no, as my UID will attest, I am not new here. I just behave as if I am:-).
id Software lost over a million dollars to record-breaking piracy the weekend before Doom 3's release. Ask Carmack sometime how he feels about that.
While I don't condone software piracy, you should perhaps read Masters of Doom to find out exactly what sort of stuff Carmack, Romero, et. al. got up to when developing their games...:-)
Do what you like to it visually, what the fuck, bring in a fucking rapper to play ford, but its still ours....
Mos Def is an actor, you muppet, not just a rapper. It is possible for a person to have more than one skill or talent in this world, you know.
As for the visual side, it's been conceived, designed, built and shot by Brits, so if you don't like the visual style, don't blame America, ffs.
Yours in disgust,
Britain
Ok, it's probably just a small part of Britain you're speaking for there, but whatever...
NB. I deal with this stuff for a living (in the context of video games), so apologies if some of it seems to hit a nerve with me:)
Taking some of these points in turn:
Now, Blender is slated (and may already have) to adopt an xml-based file format. Assuming I can dig up specs on.ase, then I could write a little bit of XSL to do my conversion.
Yeah, good luck with that. I hope Blender and.ase files share the same co-ordinate bases, otherwise you're going to have to transform the co-ords, texture mapping, etc using XSL. Also, I hope the two support the same feature set in exactly the same way, and all the values share the same ranges for materials/texture channels, or it's going to be hard, too. I hope they model/represent the model origins, pivot points, bones, vertex weightings and transforms in the same way too, and so on.
The solution to these problems (i.e. the ones you're trying to solve) is to define an interchange format that the modelling packages agree on. Whether it's binary or XML is irrelevant, really.
And what about performance, anyway? How is having an xml data file going to hurt 3d performance? Just because your app reads the models in xml doesn't mean it's storing the model internally as ASCII data. No matter how binary your file is (heh), you still have to translate the file into memory when you parse it, and that only affects how long it takes to load the file.
It's a pain because firstly, some people do like files to load quickly, but mainly because in a production environment where you're batch processing hundreds or thousands of assets, having to wait for the 3D XML data to get loaded in is a real pain. Trust me on that one.
But also, consider this: if a decent binary file format standard was around, that was efficient and feature-rich, we could use that to store our game models/3D data in, instead of making up our own custom formats. Our data could be the same as, or very similar to, the core assets that are worked on. With XML, and its speed of parsing/memory requirements, that's never going to be an option. The binary format will always be chosen. Bear in mind that we load the entire file into RAM, fix up a few offsets into pointers, and we're done. Also bear in mind that we have to load most of this data from a slow optical drive.
I've also encountered problems with storing floating point data in XML files, because it's really hard to do regression testing. E.g. I re-write some processing code, load in an old file, and output it again to check I haven't screwed anything up, and a textual diff shows loads of differences because of rounding errors, etc when loading/saving floating point data from/to an XML file. The errors aren't particularly significant, but it means that instead of a clear "Yes, that worked" result, I get a million minor differences I have to check by hand. Yes, I could store floating point in some custom format to get around this, but as most of the data is floating point, it kinds of begs the question, why not just use a binary format. If a binary format is documented and reasonably designed, it's not that hard to read/write. The IEEE floating point representation is as good a way of any of storing floating point numbers for these purposes, so it's not like you'd have to invent something new. Sure, some floating point processors don't follow strict IEEE behaviour (e.g. PS2), but in terms of number representation they follow the standard as far as I know (willing to be corrected).
As for rendering a scene? Perhaps you should take a minute to learn about how xml is typically parsed. That would be extremely useful to you, since you almost never read the whole file into memory at once. You read it line by line, complying with the standard that says how to read it top-to-bottom. It's a format that you don't have to pull all into memory at once to
just because such a beasts exists on the storage device doesn't mean that once connected it spreads (no auto-run of code on mounted devices is supported on Mac OS X without third-party tools).
Doesn't iTunes launch if you plug in an iPod to your Mac? How about if I craft an iTunes/iPod database that causes exploits in iTunes due to buffer over-runs?
Seems like you're mostly there then.
(I could be wrong, but I do remember iTunes popping up annoyingly when plugging my iPod in.)
As anally retentive people will tell you, in terms of sound quality/accuracy:
(a) There is no sound in space. (b) Even in an atmosphere, lasers don't make a noise as they go past you. (c) Lasers travel at the speed of light, so the chances of you being able to perceive them going past you per se, are remote.
However, I'm not like that:).
I *like* it that spaceships make a noise when they go past, etc.
A message to Microsoft: please understand that open source is the key to your long term survival. Embrace it, or die. Open source is the cornucopia of software technology: it will create a hundred million new software consumers, and most of these will be potential new clients.
I'm sure Bill and Steve paused in their reading of slashdot to make a note of your message.
Just to make it clear: in WMP, go to Tools, Options, Copy Music. Next to the 'Format' drop down, there is a link that says "Learn more about MP3 formats". If you click that, you go here, where you can find out how to buy an mp3 encoder that will work with WMP. They're like $10.
Now, it's slightly annoying that XP/WMP doesn't rip to mp3 out of the box, but firstly mp3 encoding licenses cost money, and secondly if you've gone to the trouble to create your own audio codec, it's not so unreasonable that you use that in your products so you don't have to pay the mp3 patent holders a license fee.
Me, I rip everything to mp3 via iTunes (I may switch to aac, if it becomes ubiquitous), but you don't have to use WMA for ripping in WMP.
As for locking you in, similarly, I only buy stuff from iTMS if I know I can remove the DRM. When I can no longer do that, I'll stop buying it. I look at CDs I bought 20 years ago, and they still work in millions of devices. Am I confident that any DRM will still be supported/will not have got screwed up and used up all 3 'licenses' I'm allowed/will not require a yearly subscription for playback/will never stop playing because I chose to use a different computer system/OS, etc in 20 years' time? No, I'm not. (And I mean without forcing me to dick around burning CDs etc - I'm trying to make it more convenient; not less.)
Sorry, I kind of veered off topic there:-) My original point still stands.
The real GTAIII fans would stop you in the street and shoot you through the head, and then steal the shirt.
Of course, really hardcore fans would spend 5 minutes zigzagging wildly around you shooting off round after round and failing to hit you, and shouting "goddamn controls!" all the while.
Er, I mean, beat a hooker to death with her own shoes. Or something.
Be surprised no longer :-)
Pick two.
Forcing your customers to run a less secure system as a way of enforcing the 'adult' rating sounds like a dumb idea, oh and by the way I'm feeling cynical, and I'm a developer myself, so I'll just go ahead and say that I'm 99% sure this stuff is total garbage - it's just that they couldn't be bothered to make the games run if you're not admin.
I bet that problem was found in beta-testing for both games, and they decided not to fix it, and cooked up some bollocks about won't somebody please think of the children instead.
It's not due to programming incompetence per se - I'm guessing timescales/perceived small scale of the problem caused it not to be fixed.
Cynical old me :)
Shit! You mean some of those guys are still alive?!
Same situation with a Dell desktop PC I bought about a month ago. I was pleasantly surprised, to be honest.
I'm nearly always disappointed in open source quality in terms of items 1 to 3 that you mentioned. Quite often when I look at code, the only comments are boilerplate GNU/whatever license conditions at the top of the file. In fact, I often use that as a metric - if the license comments at the top of the file outweigh all the other source comments in the file, then the code is not worth bothering with. (Harsh, I know, but you have to have some indicators like this to judge things on - if you want a tired car analogy(TM), then if I take my car to the garage to be fixed, if the mechanics don't take the trouble to avoid getting oil on the seats, that makes me wonder what else they're not bothering with).
I've seen this on so many projects, but I'll take Abiword as an example. I was interested in the project and premise, and have professional experience in the development of document processors. The initial look at the code made me back off and never come back. I looked at fundamental stuff like formatting and layout routines, figuring they had to be well designed/documented or it was all screwed, and they were sketchily documented at best. I kept looking at it from my actual perspective, i.e. how could I provide input/effort to this project in an efficient way, without floundering around every 5 minutes trying to work out what the hell was going on, or even if I was duplicating someone else's effort. I looked at stuff like classes for formatting/flowing text and so on, and would page through function after function in a class, just waiting to find some comments to explain what the hell was going on. (Disclaimer: this was a couple of years ago, so Abiword might have been knocked into shape by now).
Open source software by no means has the monopoly on this sort of thing, and much commercial code is also, imho, crap. But of the code I've worked on through my career that I would consider the 'best', well it's usually been commercial (closed) source.
As for modularity - hm. The number of times I've seen network code mixed in with platform specific UI code in the same function, and so on, is distressingly high. One of my particular favourites was some code in an ICQ clone that was implementing the ICQ protocol, but also on the next line set the WS_EX_LAYERED flag on a window if the program was running under Windows 2000 or higher. In fact, it did that a few times, dotted around that code, doing the same OS specific checks/calls each time. Sometimes abstraction seems like it's something that happens to other people.
Usual disclaimers apply re: it's free, so who am I to complain, etc. This is fair enough - I'm just pointing out my experience of looking at/attempting to comprehend/improve most open source stuff I've looked at.
The problem with the documentation of most source code (open and closed) is the lack of overview documentation. i.e. how the hell does all this code hang together, and more importantly, how is it supposed to hang together, how is it supposed to evolve, and so on.
So while it's all a question of degree to some extent, I don't feel your claims about open source rang true with my experience, and to be honest, I wasn't at all surprised to read:
Also:
I wish that were true. It's certainly not true of closed source, and I doubt it's true of open source. Any developer worth their salt can describe to you a large, complicated system they worked on that was used (and relied on) by many people, that didn't satisfy one (or probably any) of the 3 qualities you listed. There are many projects that are in widespread use and seem to 'work' for their users, but that I (and many other devs) would never want to work on.
(For t
Not only did the submitter's summary not really tell you anything at all about ZFS, except that it's Sun's new filing system (why should we care? what's different? etc), and basically read like a content-free press release, but slashdot posters filled up the entire first page of comments bitching about the meaning of 'billion', UK vs US numbers, the population of India, blah blah, anything really except talking about the damn filing system.
And no, as my UID will attest, I am not new here. I just behave as if I am :-).
While I don't condone software piracy, you should perhaps read Masters of Doom to find out exactly what sort of stuff Carmack, Romero, et. al. got up to when developing their games... :-)
I'm curious - define 'disaster'.
Ok, it's probably just a small part of Britain you're speaking for there, but whatever...
NB. I deal with this stuff for a living (in the context of video games), so apologies if some of it seems to hit a nerve with me :)
Taking some of these points in turn:
Yeah, good luck with that. I hope Blender and .ase files share the same co-ordinate bases, otherwise you're going to have to transform the co-ords, texture mapping, etc using XSL. Also, I hope the two support the same feature set in exactly the same way, and all the values share the same ranges for materials/texture channels, or it's going to be hard, too. I hope they model/represent the model origins, pivot points, bones, vertex weightings and transforms in the same way too, and so on.
The solution to these problems (i.e. the ones you're trying to solve) is to define an interchange format that the modelling packages agree on. Whether it's binary or XML is irrelevant, really.
It's a pain because firstly, some people do like files to load quickly, but mainly because in a production environment where you're batch processing hundreds or thousands of assets, having to wait for the 3D XML data to get loaded in is a real pain. Trust me on that one.
But also, consider this: if a decent binary file format standard was around, that was efficient and feature-rich, we could use that to store our game models/3D data in, instead of making up our own custom formats. Our data could be the same as, or very similar to, the core assets that are worked on. With XML, and its speed of parsing/memory requirements, that's never going to be an option. The binary format will always be chosen. Bear in mind that we load the entire file into RAM, fix up a few offsets into pointers, and we're done. Also bear in mind that we have to load most of this data from a slow optical drive.
I've also encountered problems with storing floating point data in XML files, because it's really hard to do regression testing. E.g. I re-write some processing code, load in an old file, and output it again to check I haven't screwed anything up, and a textual diff shows loads of differences because of rounding errors, etc when loading/saving floating point data from/to an XML file. The errors aren't particularly significant, but it means that instead of a clear "Yes, that worked" result, I get a million minor differences I have to check by hand. Yes, I could store floating point in some custom format to get around this, but as most of the data is floating point, it kinds of begs the question, why not just use a binary format. If a binary format is documented and reasonably designed, it's not that hard to read/write. The IEEE floating point representation is as good a way of any of storing floating point numbers for these purposes, so it's not like you'd have to invent something new. Sure, some floating point processors don't follow strict IEEE behaviour (e.g. PS2), but in terms of number representation they follow the standard as far as I know (willing to be corrected).
Good luck using such a computer at all if you fill the USB ports with epoxy glue.
No, the best solution I can think of off the top of my head is to disable the USB devices in the device manager, and don't give anyone admin access.
They'll find it hard to make USB drives work if the USB controller isn't active.
If they can get admin access to fix this then you're screwed anyway really.
Doesn't iTunes launch if you plug in an iPod to your Mac? How about if I craft an iTunes/iPod database that causes exploits in iTunes due to buffer over-runs?
Seems like you're mostly there then.
(I could be wrong, but I do remember iTunes popping up annoyingly when plugging my iPod in.)
Sorry, I was being facetious.
:).
As anally retentive people will tell you, in terms of sound quality/accuracy:
(a) There is no sound in space.
(b) Even in an atmosphere, lasers don't make a noise as they go past you.
(c) Lasers travel at the speed of light, so the chances of you being able to perceive them going past you per se, are remote.
However, I'm not like that
I *like* it that spaceships make a noise when they go past, etc.
Anyone else find it amusing that a post demanding better quality sound uses the example of the 'sound' of laser fire 'going past'? :-)
I'm sure Bill and Steve paused in their reading of slashdot to make a note of your message.
Daughter board has been used to describe a board you plug into the main board for a long time. I first heard it about 20 years ago.
and...
Hmm. I haven't RTFA either, but I imagine that in some cases, R'ing the FA can provide answers to these types of questions... :-)
I'd go for a 'Don't Panic' icon.
Now, it's slightly annoying that XP/WMP doesn't rip to mp3 out of the box, but firstly mp3 encoding licenses cost money, and secondly if you've gone to the trouble to create your own audio codec, it's not so unreasonable that you use that in your products so you don't have to pay the mp3 patent holders a license fee.
Me, I rip everything to mp3 via iTunes (I may switch to aac, if it becomes ubiquitous), but you don't have to use WMA for ripping in WMP.
As for locking you in, similarly, I only buy stuff from iTMS if I know I can remove the DRM. When I can no longer do that, I'll stop buying it. I look at CDs I bought 20 years ago, and they still work in millions of devices. Am I confident that any DRM will still be supported/will not have got screwed up and used up all 3 'licenses' I'm allowed/will not require a yearly subscription for playback/will never stop playing because I chose to use a different computer system/OS, etc in 20 years' time? No, I'm not. (And I mean without forcing me to dick around burning CDs etc - I'm trying to make it more convenient; not less.)
Sorry, I kind of veered off topic there :-) My original point still stands.
You're a jerk 99.999% of the time.
Um, ok. I get it now. You're a bit of a jerk. Loud and clear.
Further sophistry is not required.
Er...how exactly?
You made a claim (i.e. that Microsoft advertised 99.99999% uptime for their servers).
It was wrong. Someone pointed out it was wrong (including a short explanation).
Exactly how is that filling in the blank?
You made a mistake. It happens to all of us. My advice is to deal with it.
The real GTAIII fans would stop you in the street and shoot you through the head, and then steal the shirt.
Of course, really hardcore fans would spend 5 minutes zigzagging wildly around you shooting off round after round and failing to hit you, and shouting "goddamn controls!" all the while.
Er, I mean, beat a hooker to death with her own shoes. Or something.