And this is EXACTLY why there are market approvals for hardware and not software
Actually the approval is for the system not just the software or the hardware. Remove the software and the hardware in many cases is just inert junk. Remove the hardware and the software is just an abstract concept. There's a codependent relationship that makes the system as a whole useful.
However it would make it real hard for small software houses to put out software
I have a carpenter friend who installs kitchens. Meeting building codes doesn't make it "real hard" for him to do his job. It just means there are some corners he can't cut and get away with. He still manages to do a good job without having to measure the angle that every nail is driven in at. At a different point on the spectrum, I develop software for medical instruments. Everything we do can be audited by the FDA (and they and foreign equivalents show up a few times a year), so it makes us really careful about following processes and the Quality nazis bite us if we slip up. This costs huge amounts of money, as you can imagine. It sure ain't cheap or easy starting a medical device company in the USA!
Most software is closer to the carpenter model: it has to work within certain parameters, but as long as there are not catastrophic failures like corrupted data, most users won't be too concerned. The problem is finding a balance. As I noted in an earlier post, if you want to sell burgers you need a food license. So perhaps if you wanted to sell accounting software, a state agency would mandate that you have an auditable set of processes, or your developers need to have met a certain minimum level of training, or there must be a CPA on staff with software experience to sign off on every release, etc. Perhaps to build less critical software like a web browser or a programming editor, a simpler set of processes was required... and so on, up to the level of Space Shuttle flight software and implantable medical devices that require government oversight.
The point is to make it more likely that all software available for commercial(*) sale meets minimum standards that are appropriate for the type of software it is. Nothing can guarantee perfect software, but we can usually meet an agreed-upon standard of "good enough." This way, the shop that wants to modify your in-house CRM application needs very little in the way of mandated quality checks, but the one that is adding features to your avionics package has their work inspected under a microscope, with commensurate QA costs.
There's been lots of talk about registering software engineers as Professional Engineers in much the same way as EEs or MEs are, but I have not heard anyone propose a set of software standards a la Building Codes or Fire codes or the like. I think something like that will eventually be in place.
(*) commercial because, like modifying your house, no one really cares if it doesn't meet code unless you want to sell it.
Some software gets cursory testing. I'm looking at my employer. It's like a burger - who cares if you get one pickle slice or two, as long as you get your burger?
But even that lowly burger has to meet some regulatory approval. The meat came from a federally inspected packing plant, the bun baker and the place that makes the actual burger has to have a local food license which assumes that the shop has minimal (and in some cases *very* minimal!) standards of cleanliness and food preparation.
But the accounting system that is critical to your business has no guaranteed checks other than the goodwill of the developer!
Get a security system. ADT and Brinks suck, I had them before and when I got broken into, no one called or showed up. When I called to ask them why they weren't on the ball, they said they though it was a false alarm, but they didn't even bother to check.
Go with a local company. I'm in Minneapolis and
Really? I'm surprised. I moved out of SW Minneapolis recently and I used Brink's ($29.91/mo for 3 doors and an internal motion sensor). I had one false entry alarm probably caused by me taking too long to leave the house, and a smoke alarm caused by a backed up chimney flue. They called the police for the first (after trying the house) and the FD was dispatched for the second before they even tried to call me. The few times I had any interaction with them I thought they were pretty good.
That said. To the OP: there have been a few good suggestions and here's mine: I used to sell RS232 ambient temperature monitoring interfaces. Still have a few lying around, but the price might be more than you want to pay. Originally sold for $112, I can sell you one for $40 with power supply and wall-mount case. Sensor is on a 6' cable. I emphasize one because I know there is at least one more built and tested and if I have to build more the price will go back up.
I'd venture that a sizeable percentage of code that gets written (as distinct from produced by a wizard) *could* be replaced by boilerplate code that gets reused from project to project.
Oddly enough, the place I've seen this done most often is in assembly programming. In very small microcontrollers, it's often inefficient to write in C (and that's assuming an implementation exists). But years ago I started writing assembly routines sucb as software UARTs or multibyte division/multiplication so they could be reused. These days, chip manufacturers regularly send out stuff like this on CDROM. The reason is like you said: they are often-needed algorithms that many developers will use, so now they can just cut and paste debugged versions they can use (yeah, a good use of cut & paste:-).
After you've written a few 32-bit long-division routines for 8-bit processors without multiply/divide instructions, the wisdom of reusing code becomes very obvious.
It's amazing how much people on/. will come up with to be technically correct and have something to post.
It's amazing how much people on/. will pretend to the mind reading powers of The Amazing Randy. Fact is, you haven't a clue how I would react beyond what I already said. Put a different way: when a friend told me about feeling uneasy about the homeless coming up to his car to wash his windshield and then demand money, I suggested flooring the gas pedal if a simple 'No' didn't keep them away. I like my personal space; if I don't want you in it, I will do what it takes to get you out.
I consider a stranger on my property doing things I don't want a problem. If you want everyone running roughshod over your yard, it's yours, you can allow what you want... just as I can.
Because of this experience, however, I've now started combing over my power bill and other stuff, too, because who knows what else I'm paying for.
Stuff like this makes me wonder: doesn't everyone scrutinize their bills before paying them? I have seen weird overcharges everywhere from $.05 to $15 on my bank statement (I always report even the 5 cent ones just in case someone's trying to pull a scam on the bank, and at least one the bank rep was "very interested" in because it didn't look like an accident). Every charge on my Visa/MC bill has to make sense or I dispute it, etc. If you're writing someone a check, it's in your best interest to be sure you pay them *only* for the services/product they provide. Examine everything!
There were guys in my old neighborhood that mowed lawns, then later billed the customer, even though no one asked for their lawn to be mowed.
Try that with me when I'm home and I'll get the cops on their asses for trespassing. Not to mention a possible small-claims suit for property damage. WTF do they think they're doing coming on my property without permission? What if I *like* my grass that length?
Turns out he's just asking about Aerofoils but it's one of those words that the Americans spell wrong, like 'color' and 'potatoe'
Assuming you're not trolling, the correct spelling, whether British or American, is 'potato.' The only reason the 'potatoe' spelling is in the common vernacular is because of that idiot U.S. vice president, Dan Quayle, who couldn't spell a word that an 8 year-old spelling bee contestant had no trouble with.
You can also tell them about it when you start and make it a condition for employment. I did just that at my last job: waited until it was obvious they wanted me, then told them I had a small consulting business on the side that had no conflict of interest and didn't take up more than a few hours a week supporting existing clients and I didn't expect any new ones. Since it was all hardware development and I was being hired for software, I wasn't worried about IP violation, just that no one got on my case because they found out I had projects on the side. The VP of SW development had no problem with me doing that and was appreciative that I brought it up in the first place.
Yeah, I know someone's going to whine, "in economic times like these..." Well, companies are *always* looking for good people. Odds are, if they spend a lot of money to find you, they won't waste more to find someone else just cause you work 10 hours a week on your own side business.
What a codemonkey needs with a storefront I don't know. I've just always wanted one.
My first job after graduation was with a tiny company that was started in the owner's basement years before and then moved to a cheap storefront, then the building I started in. At least once I heard him claim that he would never have landed xxx major contract without that storefront. If you are meeting customers/clients, you need to project that image of stability first and foremost, and having "regular" physical presence reassures people.
That said, I know at least one electronics manufacturer's rep that was run out of an old house because it was cheaper than commercial real estate. But they were selling products made by well known silicon valley companies.
We had a guy that we let "work from home" for a while, and it later turned out he was using that time to take a contract with another company. When we finally realized what was going on, he just quit his "work from home" job.
Why is this a problem? If he's capable of both doing the work your company assigns him as well as his side contract with no loss in quality, why does it matter that he's taking in work on the side?
(Communications of the ACM) which has articles of broad interest across the entire scope of computing. That's the nice way to put it - what it often means is that, even as an accomplished professional in your field, you won't have the slightest idea about what 80% of the articles are about
Good. At least it's not just me:-) Anyway, ACM just started Queue, allegedly a magazine for software developers. It deals with matters that you're more likely to be dealing with in day-to-day practice, and I think it's pretty good.
Every time I've run out and read up on a subject, I've found that professors are delighted to talk about their area in office hours.
I'm going to add an obAOL: "me too" to this! The fun stuff in undergrad EE really started for me when we got to transistor models so I could start designing "interesting" circuits. I found that professors would happily shoot down my design ideas constructively and then show me where I went wrong and how to do it better. I honestly can't think of a single instructor who I went to with a problem that didn't try to help. Mostly they were just happy that students were showing interest beyond the necessary minimum to pass the class.
How does an ATM add and subtract money from my checking account?
The answer may seem easy, but do I really know the answer?
The fundamental difference between this and a voting system is that if the ATM makes a mistake with my checking account, I will know about it when I balance my statement at the end of the month. If the voting machine decides to change my vote to the candidate I happen to hate the most, I won't have a clue. This is why people have been calling for paper output. Give me a summary of what candidates I selected that I can examine before I press the [submit] key. Then I deposit that into a lockbox as I leave so if there is any question about the vote, it is still possible to go back and do a manual count.
My point is hacking the camera is taking advantage of them
So? We take advantage of things all the time. It's called being a wise customer. I only buy certain things when on sale, cause at full price it's not worth it. This is no different.
However, the business model of providing a product at cost or a loss in order to sell consumables or service is (IMHO) vital to getting technology and higher ticket items into the hands of those who cannot afford it and don't have the credit to finance it.
This is a risky business model. All Ritz can hope for is that enough people don't hack the thing to make it profitable for them. This is the full extent of what their expectations can be.
I would qualify that by saying it's a risky business model if you have no control of post-sale behavior. If your customer signs a contract that says he must buy $xxx of consumables it can be quite profitable. The company I work for does just that. We often give away equipment or sell it at cost along with a contract for supplies that makes us tons of money... I guess it's like giving away the software, but charging for support. Where did I hear that before?
I totally agree that if you buy a commercial product at a fair price, you have the right to do whatever you want with it because you paid for the hardware and own it.
Whose version of "fair price" are you using? I agree that the price is fair, but that's not the point. Say I bought the camera and did this hack, I have exchanged my money for a product. That's it! I did not sign a contract with Ritz or otherwise agree to use it in the way they want me to. Their expectations of my behavior after the sale are wholly irrelevant. It's mine now, free and clear, and I can do with it as I wish. Nothing unethical, immoral or wrong about that.
Say they only built 100 cameras, expecting to make their money back on repeat photoprocessing on those cameras. I am teaching a class on designing embedded systems and I decided to purchase all 100 of these cameras as lab equipment for my 800 students. Now I have "deprived" Ritz of any addditional income they expected, but I have enriched > 100 young minds on an important aspect of technology. Now, taking your approach, we have to decide which of these is more important. Depending on your value system, the question can become quite complicated. But considered as the simple economic transaction that it is, the answer is obvious: product was sold on the open market for the price asked. No further questioning is needed.
As far as buying them, adding value, and re-selling them at a higher price, of course that's OK. Ruf Porsche (if they're still in business) buys showroom stock cars, mods the living hell out of them and resells them for even more ridiculous prices than the original. Should Porsche whine that they're not getting enough of that money?
Should my Toyota dealer complain that I change my own oil and do my own repairs using aftermarket parts, thus depriving them of that revenue (repairs/parts are where dealerships are really making money these days)?
Get back to reality already! The reality is that any sensible company selling a loss leader like this estimates that a negligible percentage of customers will hack it. Honestly, I doubt that worldwide, 100 people will hack the camera, out of thousands sold. Now a stupid company would be one that sold a 6Mpixel camera for $10.99 with a similar business model, because at that point, the value of hacking becomes great enough that a few people will buy hundreds/thousands of the cameras to hack and resell for $150 or so. And I'd be one of them!
Summary: I did it mostly for fun, but also to make sure joe's pictures are kept private.
How are the pictures private in the first place if he has to send the camera back to Ritz to have them printed? They could make as many copies as they want. Hell, it's worse than sending your film back to the drugstore; here it's already in digital format. Just reformat to jpeg and post on web and now millions can see.
Where in Canada do you live that you only get snow 2 months out of the year?? Right now it's snowing here in Minnesota and I expect snow off and on for the next 5-6 months.
This kind of tech might be acceptable in military aircraft, where the probability of in-flight computer failure killing the pilot is small compared to the maneuvering advantage it gives the pilot in combat, which is a life-threatening situation to begin with. In consumer vehicles, however, it's an unacceptable risk if better designs exist.
I wonder if the product liability issues might be mitigated by only offering it as a kit. It looks cool and if was under $3k or so I would certainly consider buying one as a toy if it was fast enough.
Here in MN it is now snowing, so using one for my 20 mile commute for about 5 months out of each year would be insane (though perhaps even more fun than sliding my SUV around in the snow), but as a toy to go have fun with I'd go for it.
Cessna's light airplane business was pretty much killed off by product liability issues, but the kitplane people seem to be doing OK. Might work here? Y/N?
topicDrift: I'm toying with the idea of finishing up my Private Pilot license (at this point more like starting over) and getting a kitplane. Anyone out there have any preferences? I haven't looked at what's available in years.
Personally, they ought to have some kind of qualifying exam that lets anyone who wants credentials to test for them
This similar to the problem in software development of not being able to "test in" quality. You want people with a certain amount and quality of training and it is simply not possible to test for everything a doctor/lawyer/engineer will learn during his period of education with a final, comprehensive "qualifying exam." So that leaves us with a system where in order to reach minimum acceptable quality, you have to control the training program and the Bar exam/etc is just a final qualifier to be sure the important stuff stuck.
If you bothered to read my entire post you'd notice that I said I tested his knowledge. Sure I can be fooled, but I think I'm capable of discerning whether someone is spouting buzzwords he saw in the New York Post or he really has knowledge of computer programming.
Actually the approval is for the system not just the software or the hardware. Remove the software and the hardware in many cases is just inert junk. Remove the hardware and the software is just an abstract concept. There's a codependent relationship that makes the system as a whole useful.
I have a carpenter friend who installs kitchens. Meeting building codes doesn't make it "real hard" for him to do his job. It just means there are some corners he can't cut and get away with. He still manages to do a good job without having to measure the angle that every nail is driven in at.
At a different point on the spectrum, I develop software for medical instruments. Everything we do can be audited by the FDA (and they and foreign equivalents show up a few times a year), so it makes us really careful about following processes and the Quality nazis bite us if we slip up. This costs huge amounts of money, as you can imagine. It sure ain't cheap or easy starting a medical device company in the USA!
Most software is closer to the carpenter model: it has to work within certain parameters, but as long as there are not catastrophic failures like corrupted data, most users won't be too concerned.
The problem is finding a balance. As I noted in an earlier post, if you want to sell burgers you need a food license. So perhaps if you wanted to sell accounting software, a state agency would mandate that you have an auditable set of processes, or your developers need to have met a certain minimum level of training, or there must be a CPA on staff with software experience to sign off on every release, etc.
Perhaps to build less critical software like a web browser or a programming editor, a simpler set of processes was required... and so on, up to the level of Space Shuttle flight software and implantable medical devices that require government oversight.
The point is to make it more likely that all software available for commercial(*) sale meets minimum standards that are appropriate for the type of software it is. Nothing can guarantee perfect software, but we can usually meet an agreed-upon standard of "good enough."
This way, the shop that wants to modify your in-house CRM application needs very little in the way of mandated quality checks, but the one that is adding features to your avionics package has their work inspected under a microscope, with commensurate QA costs.
There's been lots of talk about registering software engineers as Professional Engineers in much the same way as EEs or MEs are, but I have not heard anyone propose a set of software standards a la Building Codes or Fire codes or the like. I think something like that will eventually be in place.
(*) commercial because, like modifying your house, no one really cares if it doesn't meet code unless you want to sell it.
But even that lowly burger has to meet some regulatory approval. The meat came from a federally inspected packing plant, the bun baker and the place that makes the actual burger has to have a local food license which assumes that the shop has minimal (and in some cases *very* minimal!) standards of cleanliness and food preparation.
But the accounting system that is critical to your business has no guaranteed checks other than the goodwill of the developer!
Really? I'm surprised. I moved out of SW Minneapolis recently and I used Brink's ($29.91/mo for 3 doors and an internal motion sensor). I had one false entry alarm probably caused by me taking too long to leave the house, and a smoke alarm caused by a backed up chimney flue. They called the police for the first (after trying the house) and the FD was dispatched for the second before they even tried to call me. The few times I had any interaction with them I thought they were pretty good.
That said. To the OP: there have been a few good suggestions and here's mine: I used to sell RS232 ambient temperature monitoring interfaces. Still have a few lying around, but the price might be more than you want to pay. Originally sold for $112, I can sell you one for $40 with power supply and wall-mount case. Sensor is on a 6' cable. I emphasize one because I know there is at least one more built and tested and if I have to build more the price will go back up.
Oddly enough, the place I've seen this done most often is in assembly programming. In very small microcontrollers, it's often inefficient to write in C (and that's assuming an implementation exists). But years ago I started writing assembly routines sucb as software UARTs or multibyte division/multiplication so they could be reused. These days, chip manufacturers regularly send out stuff like this on CDROM. The reason is like you said: they are often-needed algorithms that many developers will use, so now they can just cut and paste debugged versions they can use (yeah, a good use of cut & paste
After you've written a few 32-bit long-division routines for 8-bit processors without multiply/divide instructions, the wisdom of reusing code becomes very obvious.
It's amazing how much people on
Put a different way: when a friend told me about feeling uneasy about the homeless coming up to his car to wash his windshield and then demand money, I suggested flooring the gas pedal if a simple 'No' didn't keep them away.
I like my personal space; if I don't want you in it, I will do what it takes to get you out.
I consider a stranger on my property doing things I don't want a problem. If you want everyone running roughshod over your yard, it's yours, you can allow what you want... just as I can.
Stuff like this makes me wonder: doesn't everyone scrutinize their bills before paying them? I have seen weird overcharges everywhere from $.05 to $15 on my bank statement (I always report even the 5 cent ones just in case someone's trying to pull a scam on the bank, and at least one the bank rep was "very interested" in because it didn't look like an accident). Every charge on my Visa/MC bill has to make sense or I dispute it, etc. If you're writing someone a check, it's in your best interest to be sure you pay them *only* for the services/product they provide. Examine everything!
Try that with me when I'm home and I'll get the cops on their asses for trespassing. Not to mention a possible small-claims suit for property damage.
WTF do they think they're doing coming on my property without permission? What if I *like* my grass that length?
Well, of course they are. Bees that live to age 8 get pretty smart, you know.
Why the hell is it called a spelling bee anyway? Anyone know?
Assuming you're not trolling, the correct spelling, whether British or American, is 'potato.' The only reason the 'potatoe' spelling is in the common vernacular is because of that idiot U.S. vice president, Dan Quayle, who couldn't spell a word that an 8 year-old spelling bee contestant had no trouble with.
You can also tell them about it when you start and make it a condition for employment. I did just that at my last job: waited until it was obvious they wanted me, then told them I had a small consulting business on the side that had no conflict of interest and didn't take up more than a few hours a week supporting existing clients and I didn't expect any new ones. Since it was all hardware development and I was being hired for software, I wasn't worried about IP violation, just that no one got on my case because they found out I had projects on the side.
The VP of SW development had no problem with me doing that and was appreciative that I brought it up in the first place.
Yeah, I know someone's going to whine, "in economic times like these..." Well, companies are *always* looking for good people. Odds are, if they spend a lot of money to find you, they won't waste more to find someone else just cause you work 10 hours a week on your own side business.
My first job after graduation was with a tiny company that was started in the owner's basement years before and then moved to a cheap storefront, then the building I started in. At least once I heard him claim that he would never have landed xxx major contract without that storefront. If you are meeting customers/clients, you need to project that image of stability first and foremost, and having "regular" physical presence reassures people.
That said, I know at least one electronics manufacturer's rep that was run out of an old house because it was cheaper than commercial real estate. But they were selling products made by well known silicon valley companies.
Why is this a problem? If he's capable of both doing the work your company assigns him as well as his side contract with no loss in quality, why does it matter that he's taking in work on the side?
Good. At least it's not just me
Anyway, ACM just started Queue, allegedly a magazine for software developers. It deals with matters that you're more likely to be dealing with in day-to-day practice, and I think it's pretty good.
I'm going to add an obAOL: "me too" to this!
The fun stuff in undergrad EE really started for me when we got to transistor models so I could start designing "interesting" circuits. I found that professors would happily shoot down my design ideas constructively and then show me where I went wrong and how to do it better. I honestly can't think of a single instructor who I went to with a problem that didn't try to help. Mostly they were just happy that students were showing interest beyond the necessary minimum to pass the class.
The fundamental difference between this and a voting system is that if the ATM makes a mistake with my checking account, I will know about it when I balance my statement at the end of the month. If the voting machine decides to change my vote to the candidate I happen to hate the most, I won't have a clue. This is why people have been calling for paper output. Give me a summary of what candidates I selected that I can examine before I press the [submit] key. Then I deposit that into a lockbox as I leave so if there is any question about the vote, it is still possible to go back and do a manual count.
So? We take advantage of things all the time. It's called being a wise customer. I only buy certain things when on sale, cause at full price it's not worth it. This is no different.
I would qualify that by saying it's a risky business model if you have no control of post-sale behavior. If your customer signs a contract that says he must buy $xxx of consumables it can be quite profitable. The company I work for does just that. We often give away equipment or sell it at cost along with a contract for supplies that makes us tons of money... I guess it's like giving away the software, but charging for support. Where did I hear that before?
Whose version of "fair price" are you using? I agree that the price is fair, but that's not the point. Say I bought the camera and did this hack, I have exchanged my money for a product. That's it! I did not sign a contract with Ritz or otherwise agree to use it in the way they want me to. Their expectations of my behavior after the sale are wholly irrelevant. It's mine now, free and clear, and I can do with it as I wish. Nothing unethical, immoral or wrong about that.
Say they only built 100 cameras, expecting to make their money back on repeat photoprocessing on those cameras. I am teaching a class on designing embedded systems and I decided to purchase all 100 of these cameras as lab equipment for my 800 students. Now I have "deprived" Ritz of any addditional income they expected, but I have enriched > 100 young minds on an important aspect of technology.
Now, taking your approach, we have to decide which of these is more important. Depending on your value system, the question can become quite complicated. But considered as the simple economic transaction that it is, the answer is obvious: product was sold on the open market for the price asked. No further questioning is needed.
As far as buying them, adding value, and re-selling them at a higher price, of course that's OK. Ruf Porsche (if they're still in business) buys showroom stock cars, mods the living hell out of them and resells them for even more ridiculous prices than the original. Should Porsche whine that they're not getting enough of that money?
Should my Toyota dealer complain that I change my own oil and do my own repairs using aftermarket parts, thus depriving them of that revenue (repairs/parts are where dealerships are really making money these days)?
Get back to reality already! The reality is that any sensible company selling a loss leader like this estimates that a negligible percentage of customers will hack it. Honestly, I doubt that worldwide, 100 people will hack the camera, out of thousands sold. Now a stupid company would be one that sold a 6Mpixel camera for $10.99 with a similar business model, because at that point, the value of hacking becomes great enough that a few people will buy hundreds/thousands of the cameras to hack and resell for $150 or so.
And I'd be one of them!
How are the pictures private in the first place if he has to send the camera back to Ritz to have them printed? They could make as many copies as they want. Hell, it's worse than sending your film back to the drugstore; here it's already in digital format. Just reformat to jpeg and post on web and now millions can see.
Where in Canada do you live that you only get snow 2 months out of the year?? Right now it's snowing here in Minnesota and I expect snow off and on for the next 5-6 months.
I wonder if the product liability issues might be mitigated by only offering it as a kit. It looks cool and if was under $3k or so I would certainly consider buying one as a toy if it was fast enough.
Here in MN it is now snowing, so using one for my 20 mile commute for about 5 months out of each year would be insane (though perhaps even more fun than sliding my SUV around in the snow), but as a toy to go have fun with I'd go for it.
Cessna's light airplane business was pretty much killed off by product liability issues, but the kitplane people seem to be doing OK. Might work here? Y/N?
topicDrift: I'm toying with the idea of finishing up my Private Pilot license (at this point more like starting over) and getting a kitplane. Anyone out there have any preferences? I haven't looked at what's available in years.
This similar to the problem in software development of not being able to "test in" quality. You want people with a certain amount and quality of training and it is simply not possible to test for everything a doctor/lawyer/engineer will learn during his period of education with a final, comprehensive "qualifying exam."
So that leaves us with a system where in order to reach minimum acceptable quality, you have to control the training program and the Bar exam/etc is just a final qualifier to be sure the important stuff stuck.
If you bothered to read my entire post you'd notice that I said I tested his knowledge. Sure I can be fooled, but I think I'm capable of discerning whether someone is spouting buzzwords he saw in the New York Post or he really has knowledge of computer programming.