They shouldn't be the same person, bcos then you get a second view on the requirements. If you've got an ambiguous requirement, it gets found. However it does help on a project if the testers and programmers are the same group and pass stuff between each other - you share the knowledge more effectively, so everyone knows what everyone else is doing in more or less detail. "Design-for-test" is a useful philosophy which you won't learn about unless you've actually done some testing.
Also, having a defined group of "programmers" and a defined group of "testers" seems a good way of building two armed camps which communicate solely via memo grenades and use each others' respective failures to justify why their group is more corporately important than the others.
I hope you also checked for "foo" being NULL before you did your string copy. If not, out-of-memory errors will rock you in an exception-raising stylee.
You could if you wanted, but that'd take many more components - the least-component solution would be to use a microcontroller, and then you've got all the cost of programmer hardware and the time to learn how to use the microcontroller. A parallel port can control the LEDs directly, at the cost of using processor resources to keep updating the LEDs.
PIC-Basic costs a not inconsiderable amount - I'm not aware (correct me if I'm wrong) that there's a free version out there. The only free PIC language is assembly language, via MPLAB or similar free assemblers.
If you have the facilities to make the PCB yourself, it'll cost a few bucks for the PCB. To buy will cost a LOT more. Then there's parts for it as well. I still say that it's not possible to make the PCB and get all the parts for less than $20, and I know for sure that buying a commercial one like PIC-Start will cost a damn sight more!
Compare and contrast to the cost of a small wall-wart ($10 at most).
I have to agree with you. Why the hell was this posted on/. when all the info could be found by Krezel getting off his ass and searching Google?
At the very least, there are *many* electronics forums around where he could ask the same question and be sure of finding ppl who know about electronics, instead of/. where only a small minority know more about hardware than how to bolt boards together.
Win 9x has direct access to the ports. Win NT/XP needs you to go via the device drivers, but it's not a difficult problem - plenty of info for how to do it.
Yeah, except that using USB requires a processor on the "stone" to handle stuff. Choice for electronics newbie:-
1) USB interface. Add a microcontroller, learn to program microcontroller (maybe 2-3 months to learn, if you're a competent coder already), get the programming hardware ($20 if you make it yourself, $100 if you buy it), connect LEDs and resistors to microcontroller.
2) Parallel port interface. Use a wall-wart power supply, connect LEDs and resistors directly to parallel power, all set up in a day at most.
Since you'll be controlling this from a serial or parallel port, you can't do really high frequencies - a couple hundred kHz at most. LEDs should handle that just fine. Might be better at lower freqs though (for less noise), given that this will be going outside the case.
Depends on the software. Embedded stuff for aircraft or cars certainly is. Mobile phones and GPSes may not appear to be critical, but if you've just broken some major part of your anatomy or if you're lost in the hills, they could be critical to your survival.
There is a great and honorable tradition of patent offices accepting ridiculous, duplicate or otherwise plain unenforcable patents - ppl write books featuring the daftest ones. Perpetual motion machines are always popular. Doesn't mean you can do a damn thing with the patent once you've got it.
The attitude of patent offices is that they're getting paid (non-refundable), and it's not up to them to stop ppl wasting their money. The patenter then has to spend money on sueing anyone using that product.
Now if the suee has access to proof of prior art (which they do in this case, miles and miles of prior art), they're home free. Frivolous lawsuit, damages, etc. No lawyer in their right mind would refuse a case like that (on a no-win, no-fee basis), bcos there's no way in hell they could lose.
Fighting to *defend* a patent is a whole nother ball-game. For that you need money, lots of it, and that's where small inventors (Trevor Bayliss, James Dyson, etc) get screwed over.
ISP's can't and shouldn't have to chase spammers all the time in some virtual game of whack-the-mole.
That's just the point - they *should* do that, both in the defence of their other legitimate customers and in the defence of other users of the net. "If we get rid of one, another one will take their place" is not a valid argument - by that standard, no enforcement action for any reason, for any offence, would be taken.
The point of blacklists isn't that *one* spammer has used the servers, the point of blacklists is that spammers *consistently* use those servers and the ISP makes no effort to remove the spammers when informed.
I'm sure SPEWS can live with being thought of as a bunch of assholes. But when bunch of companies remove themselves from an ISP's hosting, that hurts the ISP in the pocket. And whether a company thinks it's the ISP's fault or not, they'll move if it's hurting their business.
Re changing the ISP, there are very few cases in which you're completely limited to one ISP. College kids are limited to using the college's servers, for example. Normal folks though have a choice of any dial-up they care to name - in the UK we have hundreds of the damn things, dial-up companies are practically beating down the door to get to you! If you need broadband then you're more limited, but in the UK there is a fair choice of suppliers - some are cheaper than others, but you would then have a choice of taking a cheaper service or taking a more reliable service, and that choice is yours. I assume (maybe an incorrect assumption) that the US, with lower calling costs and a greater focus on tech like broadband, would have a similar kind of setup.
And if you're running some e-business, there's a *massive* list of places prepared to rent you storage space, connectivity, etc. No shortage of choice there at all.
"Yeah, I'm getting real close with this." (extremely hot wife comes in) "Honey, you coming to bed? I'm just waiting for you, big boy." "I'll be right there, dear. Just another thousand lines of code should do it."
Obviously though, most software engineers don't get shot by a load of cops trying to take out a 250lb killer android, of course...
Most Brits share that attitude. As far as we're concerned, comics are "Peanuts" or "Dennis the Menace". There's a bit of a comics sub-culture, but it ain't big. One of the larger consumer groups for comics is the role-playing crowd, and that's very much a teen audience in the UK - RPGs don't generally have the same kind of generational appeal that AD&D seems to have in the US (probably partly due to the main British stuff being Games Workshop who are unashamedly targetting the kiddy market).
The best way of getting to write good code is to get it reviewed by someone who *is* good. You for damn sure learn what's wrong with your coding then! Otherwise it's too tempting to just dismiss some of the issues as "this is my style" without realising/admitting that the issue is a problem.
Great? Come off it, it's almost the classic example of how not to write science fiction.
It was a very believable story of how to deal with a huge alien spaceship. However Clarke was apparently under the impression he was writing a thesis instead of a book. My first thought on finishing the book was "I never realised raiding a kilometer-long alien spaceship would be this damn boring!" Every nut and bolt was carefully described, but the story of what happens to the people, how it affects them, all that would make it a good/great book - missing, utterly absent.
Plus the truly horrible final paragraph tacked on so that he could get a sequel out of it. Even Enid Blyton would gag at the tackiness of that.
Clarke's writing is much like Asimov's: both have/had amazing concepts for hard sci-fi stories; however both have/had distinctly average writing abilities.
It's only expensive when time is factored in. Look at the kit car industry. It's a small industry, but it's a pretty good analogy.
With kit cars, you build the car yourself. You get a box of bits and you make it yourself. Typically you'll build a kit car for 50-75% of the cost of a production car. Kit cars are usually lightweight sports cars, so for that price you get something which performs better than any similarly-priced production car.
It's also usually possible to buy pre-built kit cars, which cost a similar amount to production cars.
So, the analogy. Suppose you buy a production car. It's OK, it's not got outstanding performance, but it'll do most of what you want. If something goes wrong though, the dealers will charge you a fortune to fix it for you. Many ppl do this, bcos they don't want to (or have the time to) get bogged down in the details of how it works.
But say you build your own kit car. You understand it at a much deeper level, bcos you bolted the damn thing together yourself. Things may go wrong, but you can generally fix them yourself, or if you can't then there are a zillion kit car clubs who you can consult for answers. And by doing this, you get something which fits your needs better (if you've got long legs for instance, you can reposition the seat to suit) and which will also perform better.
For the ultimate car-based analogy though, Neal Stephenson's "In the beginning was the command line" is recommended reading.
Excuse me, have you seen any media player? They all produce some fancy user interface, they're all non-standard, and they all suck. Generally they try to emulate something physical like a CD player or a PDA, and this makes them crap bcos user interfaces do not transfer across media very well. The most intuitive media player I've ever seen is the Windows CD player.
Claiming "websites have better interfaces" makes me think you've not seen many websites. The really intuitive websites tend to have the same interface - drop-down menus, pushbuttons, etc, in fact the same interface that you'd get from your desktop! Others scatter random links around, things don't do what they say, and things you don't expect to be links actually are and are important.
The purpose of user interface guidelines are that by now, everyone has used Windows or similar interfaces, and everyone knows how these work. If you change this so that your interface works in unexpected ways, everyone's hard-learned skills with a user interface go out the window and they have to relearn. This is BAD. If your users have to spend the first week trying to get familiar, you're not going to get any users doing this out of choice if they can use another program which *is* familiar. It doesn't matter if it has a zillion features, it'll die. Word stomped WordPerfect, a more powerful program, bcos Word was easy to use and the WordPerfect team never got their interface sorted.
Coders will, and do, add user interface stuff which is horrific to use, just bcos it "seemed a good idea at the time" or "looks cool". Useability is a massive field with vast quantities of research, and coders don't have the time to become expert in it. The idea of guidelines is to pass across the ground rules so that coders don't produce total crap, which *very* often happens. If you think coders will always produce a good interface, you really haven't downloaded many programs!
The old one was fine. Under the absolute first one, copyright lasted 25 years (IIRC), then stuff entered the public domain. This was thought to be long enough to allow the author to make some money off their work. That was back in the late 1700s (again IIRC - history students, please correct me:-)
Trouble is, the authors then sold their work through publishing companies, and film producers did the same. The publishing and film companies lobbied for longer and longer copyrights. Now, stuff owned by corporations is copyright for 95 years, and stuff done by an independent author is copyright for the life of the author plus 70 years. The corporate copyright length was just last year extended from 75 to 95 years at the command of Disney, who basically bought enough US congressmen/senators to push this through. The reason Disney did this was because their copyright on Mickey Mouse was about to run out.
So, the problems. Firstly, copyright wasn't originally intended to provide a source of income for four generations of a family or corporation. That's a philosophical issue which needs arguing over. Is copyright too long? How long should it be? Who knows?
But the second point which has come up with Disney is, should copyright owners be allowed to pressure the government into increasing copyright life for the benefit of a specific copyright owner? Should this be retrospective? If so, where will this end? What stops Disney from throwing some more money at the US government in another 20 years to keep their copyright? because after all, they've proved that it's possible now. If that happens, nothing will *ever* end up in the public domain, because Disney can keep extending copyright ad infinitum.
They shouldn't be the same person, bcos then you get a second view on the requirements. If you've got an ambiguous requirement, it gets found. However it does help on a project if the testers and programmers are the same group and pass stuff between each other - you share the knowledge more effectively, so everyone knows what everyone else is doing in more or less detail. "Design-for-test" is a useful philosophy which you won't learn about unless you've actually done some testing.
Also, having a defined group of "programmers" and a defined group of "testers" seems a good way of building two armed camps which communicate solely via memo grenades and use each others' respective failures to justify why their group is more corporately important than the others.
Grab.
I hope you also checked for "foo" being NULL before you did your string copy. If not, out-of-memory errors will rock you in an exception-raising stylee.
Grab.
You could if you wanted, but that'd take many more components - the least-component solution would be to use a microcontroller, and then you've got all the cost of programmer hardware and the time to learn how to use the microcontroller. A parallel port can control the LEDs directly, at the cost of using processor resources to keep updating the LEDs.
Grab.
PIC-Basic costs a not inconsiderable amount - I'm not aware (correct me if I'm wrong) that there's a free version out there. The only free PIC language is assembly language, via MPLAB or similar free assemblers.
If you have the facilities to make the PCB yourself, it'll cost a few bucks for the PCB. To buy will cost a LOT more. Then there's parts for it as well. I still say that it's not possible to make the PCB and get all the parts for less than $20, and I know for sure that buying a commercial one like PIC-Start will cost a damn sight more!
Compare and contrast to the cost of a small wall-wart ($10 at most).
Grab.
Good point, forgot about those beasties. Thanks for reminding me.
Grab.
I have to agree with you. Why the hell was this posted on /. when all the info could be found by Krezel getting off his ass and searching Google?
/. where only a small minority know more about hardware than how to bolt boards together.
At the very least, there are *many* electronics forums around where he could ask the same question and be sure of finding ppl who know about electronics, instead of
Grab.
Win 9x has direct access to the ports. Win NT/XP needs you to go via the device drivers, but it's not a difficult problem - plenty of info for how to do it.
:-)
Beyond Logic
Parallel Port Central
Both the above have a bunch of useful stuff.
Also don't forget that you'll need to learn how to drive LEDs. I'm admin on an electronics board, so here's a blatant plug:-
BasicElectronics board, LED FAQ
(and kudos to David Bridgen and MacGregor who put that info together
Grab.
Yeah, except that using USB requires a processor on the "stone" to handle stuff. Choice for electronics newbie:-
:-)
1) USB interface. Add a microcontroller, learn to program microcontroller (maybe 2-3 months to learn, if you're a competent coder already), get the programming hardware ($20 if you make it yourself, $100 if you buy it), connect LEDs and resistors to microcontroller.
2) Parallel port interface. Use a wall-wart power supply, connect LEDs and resistors directly to parallel power, all set up in a day at most.
What would you rather pick?
Grab.
Since you'll be controlling this from a serial or parallel port, you can't do really high frequencies - a couple hundred kHz at most. LEDs should handle that just fine. Might be better at lower freqs though (for less noise), given that this will be going outside the case.
Grab.
Depends on the software. Embedded stuff for aircraft or cars certainly is. Mobile phones and GPSes may not appear to be critical, but if you've just broken some major part of your anatomy or if you're lost in the hills, they could be critical to your survival.
Grab.
See categorisation of _Red Mars_ as "fiction" for more info.
Grab.
Having seen the mess that a bunch of so-called "professional" house builders managed to make of our house, I have to say HELL YES!!!
Grab.
Why worry?
There is a great and honorable tradition of patent offices accepting ridiculous, duplicate or otherwise plain unenforcable patents - ppl write books featuring the daftest ones. Perpetual motion machines are always popular. Doesn't mean you can do a damn thing with the patent once you've got it.
The attitude of patent offices is that they're getting paid (non-refundable), and it's not up to them to stop ppl wasting their money. The patenter then has to spend money on sueing anyone using that product.
Now if the suee has access to proof of prior art (which they do in this case, miles and miles of prior art), they're home free. Frivolous lawsuit, damages, etc. No lawyer in their right mind would refuse a case like that (on a no-win, no-fee basis), bcos there's no way in hell they could lose.
Fighting to *defend* a patent is a whole nother ball-game. For that you need money, lots of it, and that's where small inventors (Trevor Bayliss, James Dyson, etc) get screwed over.
Grab.
Wrong aspect of IP. GNU relies on the copyright laws. This is talking about patents. The two are utterly different.
Grab.
ISP's can't and shouldn't have to chase spammers all the time in some virtual game of whack-the-mole.
That's just the point - they *should* do that, both in the defence of their other legitimate customers and in the defence of other users of the net. "If we get rid of one, another one will take their place" is not a valid argument - by that standard, no enforcement action for any reason, for any offence, would be taken.
The point of blacklists isn't that *one* spammer has used the servers, the point of blacklists is that spammers *consistently* use those servers and the ISP makes no effort to remove the spammers when informed.
I'm sure SPEWS can live with being thought of as a bunch of assholes. But when bunch of companies remove themselves from an ISP's hosting, that hurts the ISP in the pocket. And whether a company thinks it's the ISP's fault or not, they'll move if it's hurting their business.
Re changing the ISP, there are very few cases in which you're completely limited to one ISP. College kids are limited to using the college's servers, for example. Normal folks though have a choice of any dial-up they care to name - in the UK we have hundreds of the damn things, dial-up companies are practically beating down the door to get to you! If you need broadband then you're more limited, but in the UK there is a fair choice of suppliers - some are cheaper than others, but you would then have a choice of taking a cheaper service or taking a more reliable service, and that choice is yours. I assume (maybe an incorrect assumption) that the US, with lower calling costs and a greater focus on tech like broadband, would have a similar kind of setup.
And if you're running some e-business, there's a *massive* list of places prepared to rent you storage space, connectivity, etc. No shortage of choice there at all.
Grab.
T2 is fairly realistic.
"Yeah, I'm getting real close with this."
(extremely hot wife comes in)
"Honey, you coming to bed? I'm just waiting for you, big boy."
"I'll be right there, dear. Just another thousand lines of code should do it."
Obviously though, most software engineers don't get shot by a load of cops trying to take out a 250lb killer android, of course...
Grab.
Most Brits share that attitude. As far as we're concerned, comics are "Peanuts" or "Dennis the Menace". There's a bit of a comics sub-culture, but it ain't big. One of the larger consumer groups for comics is the role-playing crowd, and that's very much a teen audience in the UK - RPGs don't generally have the same kind of generational appeal that AD&D seems to have in the US (probably partly due to the main British stuff being Games Workshop who are unashamedly targetting the kiddy market).
Grab.
Hmm, James Bond, Arnie, Stallone, Mel Gibson, etc, etc... And you ask why there's a "sudden" onslaught of superhero movies. Nothing "sudden" about it.
Only difference is that one set of superheroes is wearing spandex...
Grab.
The best way of getting to write good code is to get it reviewed by someone who *is* good. You for damn sure learn what's wrong with your coding then! Otherwise it's too tempting to just dismiss some of the issues as "this is my style" without realising/admitting that the issue is a problem.
Grab.
Great? Come off it, it's almost the classic example of how not to write science fiction.
It was a very believable story of how to deal with a huge alien spaceship. However Clarke was apparently under the impression he was writing a thesis instead of a book. My first thought on finishing the book was "I never realised raiding a kilometer-long alien spaceship would be this damn boring!" Every nut and bolt was carefully described, but the story of what happens to the people, how it affects them, all that would make it a good/great book - missing, utterly absent.
Plus the truly horrible final paragraph tacked on so that he could get a sequel out of it. Even Enid Blyton would gag at the tackiness of that.
Clarke's writing is much like Asimov's: both have/had amazing concepts for hard sci-fi stories; however both have/had distinctly average writing abilities.
Grab.
Or just run-of-the-mill inbreeding... ;-)
Grab.
It's only expensive when time is factored in. Look at the kit car industry. It's a small industry, but it's a pretty good analogy.
With kit cars, you build the car yourself. You get a box of bits and you make it yourself. Typically you'll build a kit car for 50-75% of the cost of a production car. Kit cars are usually lightweight sports cars, so for that price you get something which performs better than any similarly-priced production car.
It's also usually possible to buy pre-built kit cars, which cost a similar amount to production cars.
So, the analogy. Suppose you buy a production car. It's OK, it's not got outstanding performance, but it'll do most of what you want. If something goes wrong though, the dealers will charge you a fortune to fix it for you. Many ppl do this, bcos they don't want to (or have the time to) get bogged down in the details of how it works.
But say you build your own kit car. You understand it at a much deeper level, bcos you bolted the damn thing together yourself. Things may go wrong, but you can generally fix them yourself, or if you can't then there are a zillion kit car clubs who you can consult for answers. And by doing this, you get something which fits your needs better (if you've got long legs for instance, you can reposition the seat to suit) and which will also perform better.
For the ultimate car-based analogy though, Neal Stephenson's "In the beginning was the command line" is recommended reading.
Grab.
Excuse me, have you seen any media player? They all produce some fancy user interface, they're all non-standard, and they all suck. Generally they try to emulate something physical like a CD player or a PDA, and this makes them crap bcos user interfaces do not transfer across media very well. The most intuitive media player I've ever seen is the Windows CD player.
Claiming "websites have better interfaces" makes me think you've not seen many websites. The really intuitive websites tend to have the same interface - drop-down menus, pushbuttons, etc, in fact the same interface that you'd get from your desktop! Others scatter random links around, things don't do what they say, and things you don't expect to be links actually are and are important.
The purpose of user interface guidelines are that by now, everyone has used Windows or similar interfaces, and everyone knows how these work. If you change this so that your interface works in unexpected ways, everyone's hard-learned skills with a user interface go out the window and they have to relearn. This is BAD. If your users have to spend the first week trying to get familiar, you're not going to get any users doing this out of choice if they can use another program which *is* familiar. It doesn't matter if it has a zillion features, it'll die. Word stomped WordPerfect, a more powerful program, bcos Word was easy to use and the WordPerfect team never got their interface sorted.
Coders will, and do, add user interface stuff which is horrific to use, just bcos it "seemed a good idea at the time" or "looks cool". Useability is a massive field with vast quantities of research, and coders don't have the time to become expert in it. The idea of guidelines is to pass across the ground rules so that coders don't produce total crap, which *very* often happens. If you think coders will always produce a good interface, you really haven't downloaded many programs!
Grab.
The old one was fine. Under the absolute first one, copyright lasted 25 years (IIRC), then stuff entered the public domain. This was thought to be long enough to allow the author to make some money off their work. That was back in the late 1700s (again IIRC - history students, please correct me :-)
Trouble is, the authors then sold their work through publishing companies, and film producers did the same. The publishing and film companies lobbied for longer and longer copyrights. Now, stuff owned by corporations is copyright for 95 years, and stuff done by an independent author is copyright for the life of the author plus 70 years. The corporate copyright length was just last year extended from 75 to 95 years at the command of Disney, who basically bought enough US congressmen/senators to push this through. The reason Disney did this was because their copyright on Mickey Mouse was about to run out.
So, the problems. Firstly, copyright wasn't originally intended to provide a source of income for four generations of a family or corporation. That's a philosophical issue which needs arguing over. Is copyright too long? How long should it be? Who knows?
But the second point which has come up with Disney is, should copyright owners be allowed to pressure the government into increasing copyright life for the benefit of a specific copyright owner? Should this be retrospective? If so, where will this end? What stops Disney from throwing some more money at the US government in another 20 years to keep their copyright? because after all, they've proved that it's possible now. If that happens, nothing will *ever* end up in the public domain, because Disney can keep extending copyright ad infinitum.
Grab.
Nah, the French just pointed them at South Pacific islands.
Grab.