Pimsleur sells a few different bundles for each language... roughly 10/20/30 lessons each.
I've done parts of the 18 lesson packs for Italian and German... I think they set me back about $70 each. It's the 'Comprehensive' set (30 lessons), that run for $200+ (US$350 MSRP) that are expensive. You can introductory lines for the $50 range, which gives you enough of a basis to get some basic concepts and be able to muddle through a conversation.
But... as others have said.. try your local library, and see if it's worth the money. You can also try getting the smaller packs of disks (or try looking for it used), so you're not shelling out all of they money to see if it'll work for you or not.
Most of the earlier 'weblogs' ( from the days before they were called 'weblogs' ), would always attribute where they heard the information. These days, everyone wants to be a newspaper, and pretend they're getting the scoop on things, and don't bother to list their source of information.
I'd love to see more websites/newspapers/TV news/etc actually provide information on where they're getting the information, so that when things seem odd, it can be traced back to figure out who the dumbass was.
These days, the only time I see attribution is from those older 'weblog' type sites (slashdot, fark, obscurestore, robotwisdom... mostly because they link to other sites, rather than rewriting it), or when it's an established news source who's gotten burned in the past from quoting websites, and they want to announce that something interesting might be happening, but they want to distance themselves from the source in case it's wrong.
ps. I've never heard of this company 'Rumor Control' that Opera is supposedly buying.
A few things that you might not be aware of, or failed to give proper consideration:
NASA research centers are required to bid for contracts... often against universities and private industry. If a research center has contracts, it's because they were judged to have the better bid.
A significant percentage of the people at NASA research centers are contractors. (I've heard it's as much as 2:1 contractor:civil servant ratio)
Getting rid of the older civil servants could cost the government more.
The last one may require more explaination -- there are a large number of scientists who are elligible for retirement. Were they to retire, they'd be getting paid by the government for doing no work (ie, their retirement). They could then get a job with a contractor, who would sell their services back to the government, for more than what the civil servant was getting paid in the firt place... resulting in it potentially costing the government 2x the cost of the employees.
I admit that these numbers don't work for people who aren't near retirement, but a large percentage of civil servants are, because they don't bring in that many new civil servants, compared to the total population.
Competant developers haven't been developing in xhtml and css -- because there's no support for it in IE... serve it w/ the correct MIME type, or specify the correct doctype, and you're asking for problems.
HTML 4 and CSS is still the best solution for the general masses. If you're working on an intranet, or some other place where you can tell people to get a different browser, you might be able to pull off xhtml, but you can't be sure it's going to get interpreted correctly, so what's the point?
The concept of xhtml was good, but with flawed implementations, it's completely useless.
Competent designers know that the only thing you can count on in web browsers are problems, so you either have to use the bare minimum of features, test to the point where it's not cost effective to ever make changes, or just plan on crap breaking constantly.
You'd need the warmers, because you'd have to do something to keep these things from getting snow/ice on them... speedbumps and snowplows don't mix.
A little freezing rain, and these things might become rather expensive speed bumps, with the sole use of catching passing snowplows and causing accidents as cars lose traction coming over them.
what can a computer full of dust do to make it not work?
Spontaneously combust
Trust me -- you do not want to get that call:
Caller:
You know that machine in (room) that has a sign that says 'do not turn me off'?
You:
Yes... what about it?
Caller:
There's smoke pouring out of it.
One of my teachers in high school did some moonlighting as a limo driver -- he said that most of the places do business as a few different names, to give them better odds when someone's going through the phone book and randomly picking one. (this was probably ~15 years ago)
Adobe could've done the same thing, when they bought Aldus. In fact, they kept Page Maker around long enough for them to get InDesign up far enough for them to start pushing that instead.
But how did they deal with Freehand, when they already had Illustrator? Why, they sold it off to someone else, and conveniently enough, they're getting it back again.
So, if they feel that there's a legitimate reason to maintain two seperate programs that do similar things, they'll be likely to slowly change the two until you get to the point where it's easy to jump ship to the one they prefer (basically, make sure that any outstanding features have been migrated to the other product line), and then kill off the old one.
In the case where they're no significant differentiation in capabilities between the two, they may see the benefit in getting some money back by flipping it to some other company.
By the time we're done, Freehand will have seen more company trades than WordPerfect.
An early version of this article appeared in Java Developers' Journal (volume 2 issue 6). I also spoke on this topic in 1997 November at the Colorado Summit Conference. It has been gradually growing ever since.
And, let's not forget, it's technically a dupe... it was posted on/. in 1999... by um... the exact same editor.
I have used MegaBloks. I even have some of the sets that were kinda X-Files ish.
Maybe MegaBloks have gotten better recently, but I find that they are much less 'tight' of a connection than Legos. They seem to be made of a softer plastic, so it may just be from many, many, hours of use. (Most of the MegaBloks I play with are at my neighbor's house, where they have a 5 year old, and the majority of the blocks were hand-me-downs, and they are significantly looser than my vintage (20-25 yr old) Legos.
However, for small children, who might not have a firm grip and not know the tricks on how to split the little tiny ones when they're stuck together, I'd say they're probably better.
If you're making large scale, detailed structures, especially if it has any delicate parts, I'd go exclusively Lego. (unless I needed a specific color that was available in MegaBlok, and not Lego)
Don't get me wrong, coding standards help too, but by the question:
Right now I'm more concerned about trying to set up coding standards, so that any developer can jump into any part of a project and be able to figure out what's going on, without wasting a couple hours just to figure out the code
I couldn't care less if people are using tabs / 2 space indents / cuddled elses / whatever formatting crap.
Even how you name your variables vs. functions vs. methods vs. objects has very little to do with being able to jump into a project, so long as people are consistent. What's more important, is to maintain good documentation, so that someone has some clue what the relevent files are, and what the overall logic was in how the program / general modules / etc are laid out.
No one is going to be able to jump in and start modifying code on a moment's notice. On a large project, spread across multiple developers, it might take a week or more for someone to have a grasp of what needs to be done, why it's being done the way it is, and what the implications are to change things to the way that they think is better. (I consider unit tests to be a form of documentation -- given a specific input, I expect the given result)
And let's not forget the whole mythical man month -- tossing in another developer at the wrong time may screw up the existing developers if they get pestered by the newbie. That's why I try to keep documentation explaining what the purpose of the project is, known outstanding issues, how the program is laid out, all of those sorts of things that a new developer would need, should I get reassigned, fired, given extra help, or just give up and decide to quit.
A ticket tracking system, and some centralized documentation repository (might be a wiki for multi-person projects) can really help you get a handle on these sorts of things.
If you want actual programming tips... take a look at Damian Conway's Best Practices article for perl.com (or his book)... much of it applies to more languages than just Perl.
First off -- tape backups are not as fast as you claim, as you're missing the critical part of backups -- verifying that they were good. (restore a few random files from each tape, preferably from a different mechanism, and compare them to the original file). I've seen too many people get stung by that in the past -- (little known fact : SIMS [Sun Internet Mail System] could run on Solaris 6 or 7... Solaris 6 had a 2GB file limit... so SIMS backup software would stop the backup at 2GB, with no notice, even on Solaris 7. Our shop ran for over a year before we had to do a full restore for one of the upper management... the incrementals were fine, but the fulls weren't, so we couldn't get shit back)
Second, the time to recover isn't worth it with tapes, for the situation I'm in now. We can bring up a warm server that we have an another building plug the firewire disks into it, and have an image up within 30 minutes. It would take us hours if we had to start a restore from tape. Time to recovery is quite possibly the biggest factor in designing a backup strategy.
SOHO's servers are a mix of xServes, Suns (B1600, v100, v240), and I think there's an intel system in there.
Most of the power consumption comes from disks (many terabytes of solar physics observations), and there's a fair amount of CPU power needed for processing the data.
Now, if you're looking for recommendations for servers in London or http://www.nyctourist.com/soho1.htm>New York, I can't help you.
Oh... on the low power requirements, we've got a bunch of Mac Minis lying about, but they're mostly used by the system administrators, (loghost, system monitoring, etc) not the folks doing heavy graphics manipulation.
Overall budget ('cheap' to one person may not be cheap to you)
Any existing backup system(s) in place?
Cost of downtime (eg, if you make up to $5k/hr in sales profit, an hour's downtime may cost $5k... possibly more, due to loss of reputation)
Amount of administrator time allocated per day/week (if you're overworked as it is, you don't want an extra hr each morning verifying backup tapes)
I like the firewire disk approach -- we use it here for systems where we have a lot of data, but it doesn't change that often, and we need to be able to get something back up as quickly as possible.
Of course, we don't take them off-site, as the data is mirrored in other locations (and it's many terabytes, so we'd be taking home many spindles each night... and then mess up the time to recover, as the copies would be off-site)
And back to the original poster:
What are some typical mistakes that small tech companies make when it comes to backing up?
Not verifying the backups. (just because the process finished, doesn't mean you can get the data back out)
Not taking a recent enough cold backup of the database. (takes too long to rebuild database)
Keeping all of the backups offsite (may take too long to get them back to the office for a recovery
Keeping all of the backups onsite (may be ruined in a physical disaster)
Not backing up everything of importance (might 'forget' about a developer's system, etc.)
Not using proper retention times (some data needs to be kept for years, some for weeks, etc.)
Not keeping a spare tape drive of the same model (some tape drives are 'quirky' and write tapes that can't be read from other drives)
Not re-archiving long-term storage. (media has a limited lifespan -- if you have stuff that needs to be kept for multiple years, you might want to cycle the data to a new medium)
There are plenty of others, but then I'd be typing forever.
If you have several tables all with a strict 1:1 relationship, they should be in ONE table. Anything else is considered denormalized, not yet normalized. (aside from being just plain BAD!)
Although there are very few times when it makes sense to have a table spread across multiple tables, there are times when it is better to have 1:1 relationships in tables.
If you have a large table that gets used for more than one purpose, and one of those purposes uses relatively few columns, and it occurs more frequently than the other purposes, it may be better to have its information in a seperate table. You could also use a multi-column index, but only if the table has a significant number of writes per read, it may be a problem.
Next, with our two purpose concept again -- if the purpose that is called more often uses few columns, and those columns are all fixed width, you may see advantages in moving them to a seperate table.
And, once again -- two purposes, and the security levels are different for who has access to the data -- I might split up the data, if the sensitive data is relatively small in relation to the entire table, so that I only have to protect the smaller amount of data. (I know -- you're thinking 'But I can use views, or set up rights in the database', but you're forgetting that you also have to protect the backups, and it's a whole lot easier to keep track of one tape, as opposed to a whole rack of tapes, depending on the amount of data you're dealing with.)
So... are there times I'd use tables for a one to one relationship when it wasn't a sparesely populated table? Yes. Are there times when it's used and it probably shouldn't have been? Yes, but every situation is different, and if someone can back it up with benchmarking using real data, or has a damned good reason for doing so, it's better than blindly always doing one thing without understanding all of the implications.
Gotta love when the 'environmentalists' find problems with a 'green' energy source.
But... if we kill off the birds who are ultra-focused on their prey, and don't pay attention to their environment, wouldn't have leave a less crowded habitat for the non-stupid birds to thrive in? That would make the endangered species stronger in the long run.
(if we have creationist environmentalists, we can just tell 'em that it's part of a greater design, and it's beyond our understanding to try to make sense of it)
There's a committee in Germany that reviews names (so kids don't have to deal with dumbass parents who name them 'Moon Unit'). WSJ had an article a couple weeks back, but it's past the free viewing time:
His idea that everything should always remain linked to its original context is impossible to implement. Whose responsibility would it be to maintain the space and accessibility of those originals? Would I have to store and serve a copy of everything quoted by my work, and everything quoted by each of those, and so forth ad infinatum? Who would enforce this?
It's all a matter of scale. One of the projects I'm currently working on is to build a thesaurus -- we have to capture phrases/terms/concepts, and try to reconcile them all -- deal with homonyms (same phrase, different concepts), spelling variations (different phrases, same term), and equivalent terms (different terms, same concept), and it's a whole lot of doing exactly what he described -- trying to track relations between different records.
If we merge down records, we need to track the provenance of the new record, so that should there be confusion later, we can determine what the original input was, to get clarfication.
Other instances where this could be useful are defect tracking systems (correlate error reports to known defects, to source code, to unit tests) -- with the reciprocal link, you could look through the source code, and find out why it's written the way it is. It's also useful in scholarly articles, as some projects have to justify their funding by showing how many peer-reviewed articles are being pubished using the project's data.
On a small scale, I think this is completely realistic to want, and to implement. On a larger scale, there are projects such as DOI to deal with refering to other project's documents, but there's no easy way currently to query who might have linked to a given DOI.
The problem is, you don't even have two weekends left to get stuff done -- if you need to look for odd parts, or mail order something, it's really, really, late to be planning anything big. (yes, we typically do a conversion the day of halloween, so no one sees it too far in advance, as it's outside, but we've been doing it for years, and already have the stuff, and plenty of people to help.)
Oh... if you're looking for a durable fog machine, you might want to look at a music store -- they're intended to be lugged about, etc, as opposed to the cheap ones that show up in Target and the like at this time of year.
Although you're right about the nature of the problem, the welded hood analogy doesn't fit.
Automobiles typically need 'preventive maintenance' (PM) performed on them, such as changing filters, belts, and other mechanical systems that need to be replaced due to use and wear. The closest analogy to this in computers is defragging the hard drive, and maybe the occassional disk replacement or vaccuming out the dust.
Automobile manufacturers have done the closest thing they can to allow you to do the PM, without being able to diagnose the big problems on your own, through the use of computerized transmissions. ODB-II scanners have come down in price, but it's still not something that the average car owner might have.
Software warrenties are also not like the automotive warrenties, in that the EULA states that you can't sue them, whereas automotive companies can't pull that crap. Although they occassionally do recalls where they don't notify customers (just if you drop it off at a dealer for something else, they'll fix it), they occassionally have things so bad, that they know they'll get sued, and it's cheaper to fix everything, than to deal with the losses in court.
Software licenses, however, can be written in such a way, that if the customer complains too much, the vendor might have reason to revoke the license. (although, that would be bad press, and might result in a lawsuit, but a good EULA will ensure that the vendor wins the lawsuit). Automobile vendors can't do that will sales... but they can with leasing. (take the EV1)
Pimsleur sells a few different bundles for each language ... roughly 10/20/30 lessons each.
... I think they set me back about $70 each. It's the 'Comprehensive' set (30 lessons), that run for $200+ (US$350 MSRP) that are expensive. You can introductory lines for the $50 range, which gives you enough of a basis to get some basic concepts and be able to muddle through a conversation.
... as others have said .. try your local library, and see if it's worth the money. You can also try getting the smaller packs of disks (or try looking for it used), so you're not shelling out all of they money to see if it'll work for you or not.
I've done parts of the 18 lesson packs for Italian and German
But
Most of the earlier 'weblogs' ( from the days before they were called 'weblogs' ), would always attribute where they heard the information. These days, everyone wants to be a newspaper, and pretend they're getting the scoop on things, and don't bother to list their source of information.
... mostly because they link to other sites, rather than rewriting it), or when it's an established news source who's gotten burned in the past from quoting websites, and they want to announce that something interesting might be happening, but they want to distance themselves from the source in case it's wrong.
I'd love to see more websites/newspapers/TV news/etc actually provide information on where they're getting the information, so that when things seem odd, it can be traced back to figure out who the dumbass was.
These days, the only time I see attribution is from those older 'weblog' type sites (slashdot, fark, obscurestore, robotwisdom
ps. I've never heard of this company 'Rumor Control' that Opera is supposedly buying.
A few things that you might not be aware of, or failed to give proper consideration:
The last one may require more explaination -- there are a large number of scientists who are elligible for retirement. Were they to retire, they'd be getting paid by the government for doing no work (ie, their retirement). They could then get a job with a contractor, who would sell their services back to the government, for more than what the civil servant was getting paid in the firt place ... resulting in it potentially costing the government 2x the cost of the employees.
I admit that these numbers don't work for people who aren't near retirement, but a large percentage of civil servants are, because they don't bring in that many new civil servants, compared to the total population.
That's funny ... I thought it was two weeks ago.
Competant developers haven't been developing in xhtml and css -- because there's no support for it in IE ... serve it w/ the correct MIME type, or specify the correct doctype, and you're asking for problems.
HTML 4 and CSS is still the best solution for the general masses. If you're working on an intranet, or some other place where you can tell people to get a different browser, you might be able to pull off xhtml, but you can't be sure it's going to get interpreted correctly, so what's the point?
The concept of xhtml was good, but with flawed implementations, it's completely useless.
Competent designers know that the only thing you can count on in web browsers are problems, so you either have to use the bare minimum of features, test to the point where it's not cost effective to ever make changes, or just plan on crap breaking constantly.
You'd need the warmers, because you'd have to do something to keep these things from getting snow/ice on them ... speedbumps and snowplows don't mix.
A little freezing rain, and these things might become rather expensive speed bumps, with the sole use of catching passing snowplows and causing accidents as cars lose traction coming over them.
Spontaneously combust
Trust me -- you do not want to get that call:
Caller: You know that machine in (room) that has a sign that says 'do not turn me off'? You: YesOne of my teachers in high school did some moonlighting as a limo driver -- he said that most of the places do business as a few different names, to give them better odds when someone's going through the phone book and randomly picking one. (this was probably ~15 years ago)
Adobe could've done the same thing, when they bought Aldus. In fact, they kept Page Maker around long enough for them to get InDesign up far enough for them to start pushing that instead.
But how did they deal with Freehand, when they already had Illustrator? Why, they sold it off to someone else, and conveniently enough, they're getting it back again.
So, if they feel that there's a legitimate reason to maintain two seperate programs that do similar things, they'll be likely to slowly change the two until you get to the point where it's easy to jump ship to the one they prefer (basically, make sure that any outstanding features have been migrated to the other product line), and then kill off the old one.
In the case where they're no significant differentiation in capabilities between the two, they may see the benefit in getting some money back by flipping it to some other company.
By the time we're done, Freehand will have seen more company trades than WordPerfect.
I have used MegaBloks. I even have some of the sets that were kinda X-Files ish.
Maybe MegaBloks have gotten better recently, but I find that they are much less 'tight' of a connection than Legos. They seem to be made of a softer plastic, so it may just be from many, many, hours of use. (Most of the MegaBloks I play with are at my neighbor's house, where they have a 5 year old, and the majority of the blocks were hand-me-downs, and they are significantly looser than my vintage (20-25 yr old) Legos.
However, for small children, who might not have a firm grip and not know the tricks on how to split the little tiny ones when they're stuck together, I'd say they're probably better.
If you're making large scale, detailed structures, especially if it has any delicate parts, I'd go exclusively Lego. (unless I needed a specific color that was available in MegaBlok, and not Lego)
Even how you name your variables vs. functions vs. methods vs. objects has very little to do with being able to jump into a project, so long as people are consistent. What's more important, is to maintain good documentation, so that someone has some clue what the relevent files are, and what the overall logic was in how the program / general modules / etc are laid out.
No one is going to be able to jump in and start modifying code on a moment's notice. On a large project, spread across multiple developers, it might take a week or more for someone to have a grasp of what needs to be done, why it's being done the way it is, and what the implications are to change things to the way that they think is better. (I consider unit tests to be a form of documentation -- given a specific input, I expect the given result)
And let's not forget the whole mythical man month -- tossing in another developer at the wrong time may screw up the existing developers if they get pestered by the newbie. That's why I try to keep documentation explaining what the purpose of the project is, known outstanding issues, how the program is laid out, all of those sorts of things that a new developer would need, should I get reassigned, fired, given extra help, or just give up and decide to quit.
A ticket tracking system, and some centralized documentation repository (might be a wiki for multi-person projects) can really help you get a handle on these sorts of things.
If you want actual programming tips
What are you willing to give to have the flying car?
First off -- tape backups are not as fast as you claim, as you're missing the critical part of backups -- verifying that they were good. (restore a few random files from each tape, preferably from a different mechanism, and compare them to the original file). I've seen too many people get stung by that in the past -- (little known fact : SIMS [Sun Internet Mail System] could run on Solaris 6 or 7 ... Solaris 6 had a 2GB file limit ... so SIMS backup software would stop the backup at 2GB, with no notice, even on Solaris 7. Our shop ran for over a year before we had to do a full restore for one of the upper management ... the incrementals were fine, but the fulls weren't, so we couldn't get shit back)
Second, the time to recover isn't worth it with tapes, for the situation I'm in now. We can bring up a warm server that we have an another building plug the firewire disks into it, and have an image up within 30 minutes. It would take us hours if we had to start a restore from tape. Time to recovery is quite possibly the biggest factor in designing a backup strategy.
SOHO's servers are a mix of xServes, Suns (B1600, v100, v240), and I think there's an intel system in there.
... on the low power requirements, we've got a bunch of Mac Minis lying about, but they're mostly used by the system administrators, (loghost, system monitoring, etc) not the folks doing heavy graphics manipulation.
Most of the power consumption comes from disks (many terabytes of solar physics observations), and there's a fair amount of CPU power needed for processing the data.
Now, if you're looking for recommendations for servers in London or http://www.nyctourist.com/soho1.htm>New York, I can't help you.
Oh
I like the firewire disk approach -- we use it here for systems where we have a lot of data, but it doesn't change that often, and we need to be able to get something back up as quickly as possible.
Of course, we don't take them off-site, as the data is mirrored in other locations (and it's many terabytes, so we'd be taking home many spindles each night ... and then mess up the time to recover, as the copies would be off-site)
And back to the original poster:
There are plenty of others, but then I'd be typing forever.
Although there are very few times when it makes sense to have a table spread across multiple tables, there are times when it is better to have 1:1 relationships in tables.
If you have a large table that gets used for more than one purpose, and one of those purposes uses relatively few columns, and it occurs more frequently than the other purposes, it may be better to have its information in a seperate table. You could also use a multi-column index, but only if the table has a significant number of writes per read, it may be a problem.
Next, with our two purpose concept again -- if the purpose that is called more often uses few columns, and those columns are all fixed width, you may see advantages in moving them to a seperate table.
And, once again -- two purposes, and the security levels are different for who has access to the data -- I might split up the data, if the sensitive data is relatively small in relation to the entire table, so that I only have to protect the smaller amount of data. (I know -- you're thinking 'But I can use views, or set up rights in the database', but you're forgetting that you also have to protect the backups, and it's a whole lot easier to keep track of one tape, as opposed to a whole rack of tapes, depending on the amount of data you're dealing with.)
So ... are there times I'd use tables for a one to one relationship when it wasn't a sparesely populated table? Yes. Are there times when it's used and it probably shouldn't have been? Yes, but every situation is different, and if someone can back it up with benchmarking using real data, or has a damned good reason for doing so, it's better than blindly always doing one thing without understanding all of the implications.
Gotta love when the 'environmentalists' find problems with a 'green' energy source.
... if we kill off the birds who are ultra-focused on their prey, and don't pay attention to their environment, wouldn't have leave a less crowded habitat for the non-stupid birds to thrive in? That would make the endangered species stronger in the long run.
But
(if we have creationist environmentalists, we can just tell 'em that it's part of a greater design, and it's beyond our understanding to try to make sense of it)
Wow ... you're uninformed.
You're right on the first point (they get a whole lot of money sent home), but you're wrong about the elections.
Mexico changed its election laws this summer, so it now allows absentee ballots from the US
You forgot to mention the annoying 'chirp' every damned time they press the button, between the periods of shouting into their cell phone.
... I thought it was just plain obnoxious
We had Nextel at my last job -- other people seemed to love it
Okay ... how about 'Moxie Crimefighter', then?
(I'm a big fan of the father, but there are some names that you make you think 'dumbass parents')
It makes me think of 'A Boy Called Sue'
They've been known to force people to change their name.
It's all a matter of scale. One of the projects I'm currently working on is to build a thesaurus -- we have to capture phrases/terms/concepts, and try to reconcile them all -- deal with homonyms (same phrase, different concepts), spelling variations (different phrases, same term), and equivalent terms (different terms, same concept), and it's a whole lot of doing exactly what he described -- trying to track relations between different records.
If we merge down records, we need to track the provenance of the new record, so that should there be confusion later, we can determine what the original input was, to get clarfication.
Other instances where this could be useful are defect tracking systems (correlate error reports to known defects, to source code, to unit tests) -- with the reciprocal link, you could look through the source code, and find out why it's written the way it is. It's also useful in scholarly articles, as some projects have to justify their funding by showing how many peer-reviewed articles are being pubished using the project's data.
On a small scale, I think this is completely realistic to want, and to implement. On a larger scale, there are projects such as DOI to deal with refering to other project's documents, but there's no easy way currently to query who might have linked to a given DOI.
I don't have any myself, but I typically rig up various moving things from assorted bits I have laying around the house.
... if you're looking for a durable fog machine, you might want to look at a music store -- they're intended to be lugged about, etc, as opposed to the cheap ones that show up in Target and the like at this time of year.
A quick search pulls up books like Animatronics: Guide to Holiday Displays, which seems to be right on target.
The problem is, you don't even have two weekends left to get stuff done -- if you need to look for odd parts, or mail order something, it's really, really, late to be planning anything big. (yes, we typically do a conversion the day of halloween, so no one sees it too far in advance, as it's outside, but we've been doing it for years, and already have the stuff, and plenty of people to help.)
Oh
Although you're right about the nature of the problem, the welded hood analogy doesn't fit.
... but they can with leasing. (take the EV1)
Automobiles typically need 'preventive maintenance' (PM) performed on them, such as changing filters, belts, and other mechanical systems that need to be replaced due to use and wear. The closest analogy to this in computers is defragging the hard drive, and maybe the occassional disk replacement or vaccuming out the dust.
Automobile manufacturers have done the closest thing they can to allow you to do the PM, without being able to diagnose the big problems on your own, through the use of computerized transmissions. ODB-II scanners have come down in price, but it's still not something that the average car owner might have.
Software warrenties are also not like the automotive warrenties, in that the EULA states that you can't sue them, whereas automotive companies can't pull that crap. Although they occassionally do recalls where they don't notify customers (just if you drop it off at a dealer for something else, they'll fix it), they occassionally have things so bad, that they know they'll get sued, and it's cheaper to fix everything, than to deal with the losses in court.
Software licenses, however, can be written in such a way, that if the customer complains too much, the vendor might have reason to revoke the license. (although, that would be bad press, and might result in a lawsuit, but a good EULA will ensure that the vendor wins the lawsuit). Automobile vendors can't do that will sales