I carry one large backpack with a change of cloth, my toiletries and my laptop because my record for receiving my checked luggage at the other end is currently 61.5%. (also because it used to be the recommendation of the FAA) If the airlines/ g'ment would like me to use the checked baggage system then they will need to institute something like the following: Any passenger not receiving a checked piece of luggage within 3 hours of parking breaks having been set is entitled to $500 in cash (activated atm card is fine) immediately and overnight shipping of the lost item(s) to an address of passengers choosing. In the event the luggage is never recovered (currently 7.7% of my flights) $7500 will be paid to the passenger within 120 days.
This would both assure me that I would be duly compensated for loss and inconvenience and provide a much stronger incentive for the airlines to get it right the first time. Until then I will continue to drive to anyplace west of the Mississippi and carry on as much as I can when I need to fly cross country. If this rule lasts much longer there will be a boom in sales of dehydrated toothpaste, deodorant and shampoo all of which are currently available in specialty camping supply houses.
I have one of those. Unfortunatly it's as old as I am and the apartment manager doesn't see anything wrong with that. In addation to needing to get all but the most microscopic bits of food off the plate, it also does not hold two of my favriot pots, and of course wooden utensils.
Braile is not necessarly always the best solution. First a large number of vision impaired people never learn it, esp those that go blind late in life. Second while braile can be read as fast as typed print, it takes a good deal of space. This device is too small for a good surface.
As a side note, my supervisor is blind and has a device like this of the desktop varity. He can "read" about 300 words per minute, and be doing other things at the same time. I have fine vision but the though of being able to listen to my textbooks while doing the dishes almost justifies the $2500 price tag.
There is no set 'mapping' between model and schema, as the model is the schema.
As oposed to JDO where the the model defines the schema? Actually the model classes generate that way but there is no reason to keep them that way. Models can be as close to or far from the data as you care to write them. I prefer to write mine in fairly abstract ways, but the default for lack of anything better is to tie the two tightly together.
The point is that controllers and views are always dependent on the structure of the model, and unless you rely on nothing but scaffolding, this leads to fragile code. The model messes with the code in the controllers and views.
This is incorrect. The scaffold makes it look like this because it is quick. However, ActionPack is a client of your models, and you can make that relationship as fragile or robust as you wish. The model does not "mess" with the code in the controllers or views. They are in a very strict client server relationship.
Other, more mature, systems isolate the object model from the database schema, allowing changes to be made safely in either one.
Rails can do this as well, just not with the generated code. ActionPack can work with any underlying data model. It is not necessary to use soley the classes derived from ActiveRecord::Base. However Rails is in the buisness of putting database applications on the web quickly and easily. It does this better then perl,python and most espicailly PHP. It does it better then Java for the 80% of the web that really just needs to put dynamic data out over the web. It may be a better solution for the other 20% if a clean purpose build system with a single language paradyme and rapid startup are better then a complex system of odd libraries and expensive propriatary tool.
Activerecord doesn't exactly conserve queries, some fairly simple joins seem to result in a lot of queries and it's kind of heavy.
Wht you say is for the most part correct. If queries are a problem (they arn't for the vast majority of small web apps) then you need to do a little intelegent programming. Rails will let you do this but you have to ask nicely.
Your comment about joins above is a common optimization in Rails that is in the docs somewhere where it is not obvious. Rails does not automatically do JOINs because it has no idea if you will need all that data and asumes you don't. If you need a join add an:include => statment to any of ActiveRecord::Bases find like methods. For example if you know you are going to look at all the books an author has writen do this: Author.find_by_department('cooking',:include =>:books).each do |author|
author.books.each {|book| puts book.isbn} end
The nice thing about the Ruby framework though is that you can glue a solution into either your model or ActiveRecord::Base that will make stuff like this work. With other frameworks I've tried, either you had to reinvent the wheel every time or you were perminatly stuck with whetever cheep tire came with the thing.
I have a professor that liked to call thinkg like Ruby "Silver Plated Bullets". They arn't the perfect solution, but they are better then a rusty stake knife. (a.k.a. PHP)
There are at least a dosen out there and none of them get much beyond basic. In an afternoon any of them will get you started. Now, when you what to do something that the developers didn't think of and go looking for the advanced documentation that's a whole nother story.
I'm sure that I will not be the first or last to comment on this...
It has a very poor design for long-term maintenance and growth of applications.
The ActiveRecord pattern is of limited use, especially as implemented in Rails. Your code is not isolated from major changes in the schema, and the dynamic nature of Ruby means that the consequences of such changes can't be tracked by compilation or refactoring tools; especially as the model classes don't even exist as code.
I for once can write from exprence. Rails sufferes from poor documentation. It is very easy to learn to do the basics -- basics that in something like JAVA or PHP would require moderate to advanced skill. When one needs to go beyond what any script kiddie can do, you enter a wilderness not easily seen through.
On the other hand this does not mean that the framework can't handle these things. Indeed schema changes are much more convient the in other languages because you can maintain a standard and backward compatible interface for the rest of the MCV fraimework. Once you understand how ActiveRecord::Base works you can make all the changes you want to the schema and simply write code in the appropriate model to make the changes transparent. Where beginers get hung up is assuming that all those little stub classes in app/models are just there to look nice, and rely on ActiveRecord::Base to do all the hard work. My personal opinion here, but I thing that letting the controllers mess with the actuall data in the models is poor design. I write intelegent models with useful functions to play with the data they control in an abstract way and try to aviod too much use of the AR::B implied functionality because as you sait it will change with the schema.
having writen all this I will now check out Kodo and Xcalia. My suspision is that RoR is not after their niche. If you are really interested in what rails does better than, download Slashcode and think about maintaining it! (appologies to CmdrTaco)
passive voice hides the actor. If you engineer for anything like a government you need to use pasive voice to avoid legal problems. Use active voice to impress, but passive voice to report.
What I learned in college was how use more words to say less so I could fill 4 pages. In Grad school I got even better so I could fill 20 pages. Professional writing is just the reverse. Put it all in a one page memo. Minimum length requirements are counterproductive to good writing.
I'd expect the energy companies themselves to build storage systems and use them to store energy when demand was low and deliver it when it was high.
It's entirely possible that this is something which will only work in a distributed fashion, and can't be centralized very well. Again, line-losses may be a factor.
Actually the energy companies do. Just outside of Bakersfield California there is a Hydroelectric Dam on the Kern River. During off peak hours electricity is used to fill the lake during high demand the lake is drianed to produce electrisity. This is a very popular solution to this problem.
Of course string theory is cnsistant with a constant mu. Any theory must be consistant with current observations. The point here is that conventional QM theory is inconsistant with a variable mu while string theory might be. This lends weight to accepting string theory as a more accurate discription of reality as it more correctly explains this observed phonominia.
Could you not simply measure the power dissipated by the head phones? Sure, you will over estimate because of system innefficiencies, but it would be close. (p = v^2/r)
Teens are doing this on the internet, in part, because there are fewer public places they can claim as their own, and safety-conscious parents are more reluctant than past generations to let their kids go out into a real world unsupervised.
While I couldn't agree more with those who are saying it is time for parents to be parents, I also see society fighting a loosing battle with psychology on this one. To quote Robert Kegan, Teenagers are firmly in his third order of consciousness: "Socialized (identity bound up in roles and relationships, no fully differentiated self yet)." For those of you not bound up in the post-modern social science revolution, this means teenagers for their identity by being with other people.
My advice to parents (not being one myself): If you don't like how your child is interacting socially don't just cut them off, help them find good places to be social.
Why should we rush to use these new fangled voting gadgets?
There are two good reason. First electronic touch screans and their relitives can be made much moe accessable to disabled voters. Second Electronic voting can be intelegent enough not to let you cast an illigal or ambiguous vote. (for example, voting for too many candidates or failing to punch out the chad.)
I do agree with the idea of printing out a standard ballot using a touch screen would solve both of these problems as well and also be less prone to abuse.
You are correct. The documentation for Rails is virtually non-existant. Ruby has some of the best on-line documentation I've seen for a Language, but Rails has not caught up. The only candle in the vast darkness is hidden under a great deal of verbage. Uese the command 'gemserver' to start the local documentation server point your browser at http://localhost:8808/ Select either ActiveServer or Active Record [rdoc]
this will get you as much as there is at the moment. (other then the tutorials that don't help when you actually want to do the nifty thing that convensed you to make a web application in the first place)
Gavin Carter:Oblivion will absolutely benefit from a multi-processor or multi-core PC architecture. These improvements have largely been driven by our optimizations for the Xbox 360 hardware. We have built a dynamic thread management system that manages processor load by our specific direction and by priorities. Portions of physics, AI, loading, audio, and rendering tasks can all be moved to different threads to keep the overall load balanced. The net result for the end user is a smoother experience.
I think there are some interesting bits in this response. "We have built a dynamic thread management system" really caught my attention. I have read a number of recent articles [
1,
2
]talking about the need for multithread programming, and the difficulty of doing it. It seems to me that the ES4 team has not only embraced the idea of threading, but done so in what I think is a very logical manner.
What I envision of a dynamic thread management system from the quote above seems to be what is needed in the next generation of applications. With clock speed giving way to more cores speed increases will need to come from running tasks in parallel. For a number of reasons that I will not go into here, threading by hand can is difficult to do safely, and in many cases ends up being premature optimization. On the other hand leaving threading to a compiler or even worse the CPU circuitry itself has been seen to be fairly ineffective. The human who writes an application is probably the one most qualified to find parallelism, but may not be the best one to implement it at the thread level.
I envision that this system has allowed the different groups involved to create their distinct tasks and rules that govern how the tasks interact, but instead of trying to hand code that interaction, they have designed a system that does the dirty work of translating task interaction into thread logic for them. Additionally, this seems to be done on the fly so a system like the XBOX360 with 3 PPE cores can execute differently then a new PC with a multi core an AMD or INTEL cpu. It also would seem to allow program to adapt to the loads finds itself under.
I for one would really like to hear more about the way this thing functions. In a post to one of the articles I referenced, I asked about the availability of programming paradigms that would abstract the concept of threads much as many languages now abstract the concept of memory allocation with "Garbage Collection." I didn't get much of a response. I'm hoping some Slashdot reader can fill me in on what is know about thread management systems.
Pacheco expressed his concern that OpenDocument would not be usable by people with disabilities, and his committee is holding a hearing at the State House to discuss the format. However, it's not clear whether Pacheco's moves will have any effect.
If he thinks that the closed format of MSOffice is usable by people with disabilities he has another thought coming.
I am daily commuter on three different rail systems: Sacramento RT, Amtrak Capitol Corridor, and the Bay Area Rapid Transit. All 3 are safer by any metric then driving, and while the suc.. er um pavement bound commuters may arrive 45 minutes sooner they still have to park, and I don't ever want to see one trying to study for classes while driving.
The problem, as many have pointed out, with Amtrak's cross country routes is that theres always an Intermodal in the way and their always late. More compact countries can easily build rial systems that have a high enough capacity to keep the trains on time. But imagine a 3 track mainline running say from Sacramento to Chicago. There's a whole lot of nothing out there and some big Mountains.
In California, however we ought to be able to support a high speed rail system. It would be profitable and well used. There are lots of people wanting to go up and down the coast. Even one tenth of the air traffic between LAX and SFO would cover the cost of rail service. Now all we have to do is build the Darn thing, and that means negotiating with places like the Peoples republics of Berkeley and San Jose who feel they must defend themselves from the evils of high speed efficient transportation in their municipalities.
Would you be kind enough to site academic sources which concur with your unverified opinions (1) and (2) above. Given the fluid and recent nature of the subject matter, I would expect that peer reviewed journal articles should predominate your sources, but for credit, I will need at least three (3) stand alone published works be recognized experts in the field. Please be sure your sources conform the the Chicago Manual of Style or MLA.
Thank You
J. F. Miller B.P.A.(Big Pain in the A**) PHD (Pile it Higher and Deeper)
While I agree compleatly with the sentaments of both parent and grand parent, there are othe effective ways of getting around this. One it to memorize the address and phone number of someplace else. I recomend, for example, the local BBB. (I also know of people who like to route these calls to the local police office but I have ethical qualms about that) In any case filling a database with "junk" information makes the data incrementally less valuable, and therefroe decreases (far more then a NULL field) the disencentive to collect information.
I carry one large backpack with a change of cloth, my toiletries and my laptop because my record for receiving my checked luggage at the other end is currently 61.5%. (also because it used to be the recommendation of the FAA) If the airlines/ g'ment would like me to use the checked baggage system then they will need to institute something like the following: Any passenger not receiving a checked piece of luggage within 3 hours of parking breaks having been set is entitled to $500 in cash (activated atm card is fine) immediately and overnight shipping of the lost item(s) to an address of passengers choosing. In the event the luggage is never recovered (currently 7.7% of my flights) $7500 will be paid to the passenger within 120 days.
This would both assure me that I would be duly compensated for loss and inconvenience and provide a much stronger incentive for the airlines to get it right the first time. Until then I will continue to drive to anyplace west of the Mississippi and carry on as much as I can when I need to fly cross country. If this rule lasts much longer there will be a boom in sales of dehydrated toothpaste, deodorant and shampoo all of which are currently available in specialty camping supply houses.
JFMILLER
I have one of those. Unfortunatly it's as old as I am and the apartment manager doesn't see anything wrong with that. In addation to needing to get all but the most microscopic bits of food off the plate, it also does not hold two of my favriot pots, and of course wooden utensils.
Braile is not necessarly always the best solution. First a large number of vision impaired people never learn it, esp those that go blind late in life. Second while braile can be read as fast as typed print, it takes a good deal of space. This device is too small for a good surface.
As a side note, my supervisor is blind and has a device like this of the desktop varity. He can "read" about 300 words per minute, and be doing other things at the same time. I have fine vision but the though of being able to listen to my textbooks while doing the dishes almost justifies the $2500 price tag.
JFMILLER
There is no set 'mapping' between model and schema, as the model is the schema.
As oposed to JDO where the the model defines the schema? Actually the model classes generate that way but there is no reason to keep them that way. Models can be as close to or far from the data as you care to write them. I prefer to write mine in fairly abstract ways, but the default for lack of anything better is to tie the two tightly together.
The point is that controllers and views are always dependent on the structure of the model, and unless you rely on nothing but scaffolding, this leads to fragile code. The model messes with the code in the controllers and views.
This is incorrect. The scaffold makes it look like this because it is quick. However, ActionPack is a client of your models, and you can make that relationship as fragile or robust as you wish. The model does not "mess" with the code in the controllers or views. They are in a very strict client server relationship.
Other, more mature, systems isolate the object model from the database schema, allowing changes to be made safely in either one.
Rails can do this as well, just not with the generated code. ActionPack can work with any underlying data model. It is not necessary to use soley the classes derived from ActiveRecord::Base. However Rails is in the buisness of putting database applications on the web quickly and easily. It does this better then perl,python and most espicailly PHP. It does it better then Java for the 80% of the web that really just needs to put dynamic data out over the web. It may be a better solution for the other 20% if a clean purpose build system with a single language paradyme and rapid startup are better then a complex system of odd libraries and expensive propriatary tool.
JFMILLER
Activerecord doesn't exactly conserve queries, some fairly simple joins seem to result in a lot of queries and it's kind of heavy.
:include => statment to any of ActiveRecord::Bases find like methods. For example if you know you are going to look at all the books an author has writen do this:
:include => :books).each do |author|
Wht you say is for the most part correct. If queries are a problem (they arn't for the vast majority of small web apps) then you need to do a little intelegent programming. Rails will let you do this but you have to ask nicely.
Your comment about joins above is a common optimization in Rails that is in the docs somewhere where it is not obvious. Rails does not automatically do JOINs because it has no idea if you will need all that data and asumes you don't. If you need a join add an
Author.find_by_department('cooking',
author.books.each {|book| puts book.isbn}
end
Amen.
The nice thing about the Ruby framework though is that you can glue a solution into either your model or ActiveRecord::Base that will make stuff like this work. With other frameworks I've tried, either you had to reinvent the wheel every time or you were perminatly stuck with whetever cheep tire came with the thing.
JFMILLER
I have a professor that liked to call thinkg like Ruby "Silver Plated Bullets". They arn't the perfect solution, but they are better then a rusty stake knife. (a.k.a. PHP)
JFMILLER
Try Google.
There are at least a dosen out there and none of them get much beyond basic. In an afternoon any of them will get you started. Now, when you what to do something that the developers didn't think of and go looking for the advanced documentation that's a whole nother story.
JFMILLER
I'm sure that I will not be the first or last to comment on this...
It has a very poor design for long-term maintenance and growth of applications.
The ActiveRecord pattern is of limited use, especially as implemented in Rails. Your code is not isolated from major changes in the schema, and the dynamic nature of Ruby means that the consequences of such changes can't be tracked by compilation or refactoring tools; especially as the model classes don't even exist as code.
I for once can write from exprence. Rails sufferes from poor documentation. It is very easy to learn to do the basics -- basics that in something like JAVA or PHP would require moderate to advanced skill. When one needs to go beyond what any script kiddie can do, you enter a wilderness not easily seen through.
On the other hand this does not mean that the framework can't handle these things. Indeed schema changes are much more convient the in other languages because you can maintain a standard and backward compatible interface for the rest of the MCV fraimework. Once you understand how ActiveRecord::Base works you can make all the changes you want to the schema and simply write code in the appropriate model to make the changes transparent. Where beginers get hung up is assuming that all those little stub classes in app/models are just there to look nice, and rely on ActiveRecord::Base to do all the hard work. My personal opinion here, but I thing that letting the controllers mess with the actuall data in the models is poor design. I write intelegent models with useful functions to play with the data they control in an abstract way and try to aviod too much use of the AR::B implied functionality because as you sait it will change with the schema.
having writen all this I will now check out Kodo and Xcalia. My suspision is that RoR is not after their niche. If you are really interested in what rails does better than, download Slashcode and think about maintaining it! (appologies to CmdrTaco)
JFMILLER
I am a tax payer, and I think we should end the war in Iraq 3 months early to pay for it.
JFMILLER
passive voice hides the actor. If you engineer for anything like a government you need to use pasive voice to avoid legal problems. Use active voice to impress, but passive voice to report.
To this end:
What I learned in college was how use more words to say less so I could fill 4 pages. In Grad school I got even better so I could fill 20 pages. Professional writing is just the reverse. Put it all in a one page memo. Minimum length requirements are counterproductive to good writing.
I'd expect the energy companies themselves to build storage systems and use them to store energy when demand was low and deliver it when it was high.
It's entirely possible that this is something which will only work in a distributed fashion, and can't be centralized very well. Again, line-losses may be a factor.
Actually the energy companies do. Just outside of Bakersfield California there is a Hydroelectric Dam on the Kern River. During off peak hours electricity is used to fill the lake during high demand the lake is drianed to produce electrisity. This is a very popular solution to this problem.
Of course string theory is cnsistant with a constant mu. Any theory must be consistant with current observations. The point here is that conventional QM theory is inconsistant with a variable mu while string theory might be. This lends weight to accepting string theory as a more accurate discription of reality as it more correctly explains this observed phonominia.
JFMILLER
How about an independant review that doesnt require me to fill out a "Liturature Request Form." Is there one of those linked in the story?
Could you not simply measure the power dissipated by the head phones? Sure, you will over estimate because of system innefficiencies, but it would be close. (p = v^2/r)
Teens are doing this on the internet, in part, because there are fewer public places they can claim as their own, and safety-conscious parents are more reluctant than past generations to let their kids go out into a real world unsupervised.
While I couldn't agree more with those who are saying it is time for parents to be parents, I also see society fighting a loosing battle with psychology on this one. To quote Robert Kegan, Teenagers are firmly in his third order of consciousness: "Socialized (identity bound up in roles and relationships, no fully differentiated self yet)." For those of you not bound up in the post-modern social science revolution, this means teenagers for their identity by being with other people.
My advice to parents (not being one myself): If you don't like how your child is interacting socially don't just cut them off, help them find good places to be social.
JFMILLER
Why should we rush to use these new fangled voting gadgets?
There are two good reason. First electronic touch screans and their relitives can be made much moe accessable to disabled voters. Second Electronic voting can be intelegent enough not to let you cast an illigal or ambiguous vote. (for example, voting for too many candidates or failing to punch out the chad.)
I do agree with the idea of printing out a standard ballot using a touch screen would solve both of these problems as well and also be less prone to abuse.
JFMILLER
That seems like design.
Ah, yes. But, the question that is brought before us: Is this intelligent design? and if that is the case, Who is the designer?
JFMILLER
You are correct. The documentation for Rails is virtually non-existant. Ruby has some of the best on-line documentation I've seen for a Language, but Rails has not caught up. The only candle in the vast darkness is hidden under a great deal of verbage.
Uese the command 'gemserver' to start the local documentation server
point your browser at http://localhost:8808/
Select either ActiveServer or Active Record [rdoc]
this will get you as much as there is at the moment. (other then the tutorials that don't help when you actually want to do the nifty thing that convensed you to make a web application in the first place)
Good Luck
JFMILLER
Gavin Carter: Oblivion will absolutely benefit from a multi-processor or multi-core PC architecture. These improvements have largely been driven by our optimizations for the Xbox 360 hardware. We have built a dynamic thread management system that manages processor load by our specific direction and by priorities. Portions of physics, AI, loading, audio, and rendering tasks can all be moved to different threads to keep the overall load balanced. The net result for the end user is a smoother experience.
I think there are some interesting bits in this response. "We have built a dynamic thread management system" really caught my attention. I have read a number of recent articles [ 1, 2 ]talking about the need for multithread programming, and the difficulty of doing it. It seems to me that the ES4 team has not only embraced the idea of threading, but done so in what I think is a very logical manner.
What I envision of a dynamic thread management system from the quote above seems to be what is needed in the next generation of applications. With clock speed giving way to more cores speed increases will need to come from running tasks in parallel. For a number of reasons that I will not go into here, threading by hand can is difficult to do safely, and in many cases ends up being premature optimization. On the other hand leaving threading to a compiler or even worse the CPU circuitry itself has been seen to be fairly ineffective. The human who writes an application is probably the one most qualified to find parallelism, but may not be the best one to implement it at the thread level.
I envision that this system has allowed the different groups involved to create their distinct tasks and rules that govern how the tasks interact, but instead of trying to hand code that interaction, they have designed a system that does the dirty work of translating task interaction into thread logic for them. Additionally, this seems to be done on the fly so a system like the XBOX360 with 3 PPE cores can execute differently then a new PC with a multi core an AMD or INTEL cpu. It also would seem to allow program to adapt to the loads finds itself under.
I for one would really like to hear more about the way this thing functions. In a post to one of the articles I referenced, I asked about the availability of programming paradigms that would abstract the concept of threads much as many languages now abstract the concept of memory allocation with "Garbage Collection." I didn't get much of a response. I'm hoping some Slashdot reader can fill me in on what is know about thread management systems.
JFMILLERReferences:
Pacheco expressed his concern that OpenDocument would not be usable by people with disabilities, and his committee is holding a hearing at the State House to discuss the format. However, it's not clear whether Pacheco's moves will have any effect.
If he thinks that the closed format of MSOffice is usable by people with disabilities he has another thought coming.
JFMILLER
I am daily commuter on three different rail systems: Sacramento RT, Amtrak Capitol Corridor, and the Bay Area Rapid Transit. All 3 are safer by any metric then driving, and while the suc.. er um pavement bound commuters may arrive 45 minutes sooner they still have to park, and I don't ever want to see one trying to study for classes while driving.
The problem, as many have pointed out, with Amtrak's cross country routes is that theres always an Intermodal in the way and their always late. More compact countries can easily build rial systems that have a high enough capacity to keep the trains on time. But imagine a 3 track mainline running say from Sacramento to Chicago. There's a whole lot of nothing out there and some big Mountains.
In California, however we ought to be able to support a high speed rail system. It would be profitable and well used. There are lots of people wanting to go up and down the coast. Even one tenth of the air traffic between LAX and SFO would cover the cost of rail service. Now all we have to do is build the Darn thing, and that means negotiating with places like the Peoples republics of Berkeley and San Jose who feel they must defend themselves from the evils of high speed efficient transportation in their municipalities.
JFMILLER
Would you be kind enough to site academic sources which concur with your unverified opinions (1) and (2) above. Given the fluid and recent nature of the subject matter, I would expect that peer reviewed journal articles should predominate your sources, but for credit, I will need at least three (3) stand alone published works be recognized experts in the field. Please be sure your sources conform the the Chicago Manual of Style or MLA.
Thank You
J. F. Miller B.P.A.(Big Pain in the A**) PHD (Pile it Higher and Deeper)
While I agree compleatly with the sentaments of both parent and grand parent, there are othe effective ways of getting around this. One it to memorize the address and phone number of someplace else. I recomend, for example, the local BBB. (I also know of people who like to route these calls to the local police office but I have ethical qualms about that) In any case filling a database with "junk" information makes the data incrementally less valuable, and therefroe decreases (far more then a NULL field) the disencentive to collect information.
JFMILLER