Avoid the latest "big thing" for the core of your project. It's usually specialized, non-portable, etc. The standard template library for C++ (for example) is here to stay, with tested algorithms that are safer and faster than you can usually write (because they are optimized for the platform you compile on). For the GUI, on the other hand, you may be better off with a GUI-based language/tool. That's less likely to be portable, but that's the way GUIs work.
Next, spend some time upfront on your design, with things like use cases, sequence diagrams, and other visualization tools to help you understand just what you want to happen in best case situations as well as failures. The level of detail/formality required is a moving target, so update as needed. You should have a solid error detection/correction plan so that you can design each component to follow it. Also design for test and with logging - it will help you while debugging, while testing, and while fixing the bug the customer is seeing.
Make sure management will allow sufficient time for testing. A lot more lip service goes into support for testing than actual schedule and money. Your test plan should be as bulletproof as your design.
That's my 2 cents. And a random book recommendation: books like Scott Meyers' "Effective " provide info on effective/error reducing ways to use the language/libraries, but won't help you get started with the architecture.
Google is not accused of breaking or otherwise being investigated regarding the antibribery laws
I'd be surprised to hear about actual investigations involving the anti-bribery laws. Big companies know that to do business in a foreign country, it's helpful to hire a local company do do the bribery. That way, your hands are kept clean and the wheels are greased by someone who knows the local way to do it.
Re:People are better teachers
on
Chess for Kids?
·
· Score: 1
Schools with a chess program/club often have resources, such as national newsletters and information on local events that may be useful. I don't recall playing at the age of 6, so I'm not sure what the best software resources are for that age. I do agree, however, that interaction with people (such as parents) will probably bring greater rewards than just the intellectual development a program can bring.
The complication is that some bios-type chips are actually soldered to the mobo. Or, in the case of the iopener ( "internet appliance" from ~2000), epoxied to the socket. It's a whole lot of fun to chip the epoxy off of the chip to get it out, without destroying the socket.
I have a CD handy with XP service pack 2, as well as antivirus, antispyware, firewall, FireFox, etc. That way, I can get a computer up to speed before even reconnecting it to the internet. After the basics are covered, it's much safer to connect and do the fine-tuning. The same would apply to other versions of windows.
If you can't burn a CD from another computer, and you're pre-XP SP2, you might be better off operating behind a hardware firewall until the updates are completed.
Also remember that if you have a minor bug before completing updates, you can usually clean the system after you're up to speed (antivirus, antispyware, etc). The main issue with the auto-infect feature of new systems is that most users won't take the time to clean the system or even investigate if it's infected.
The link is obviously a paid spin article. Even if breakage was zero, the consumer still looses - personal information may be processed by convicted felons (there are no laws preventing the company from farming the work out to a prison, where all your address and contact info can be bought and sold on the cheap). Sure, the practice may be rare, but the privacy concerns are fairly universal with rebates and such.
Corporate laziness aside, there is a good engineering reason to have an external power supply: heat.
Would you really want all that heat generated inside the game box? Having an external, passive power supply is practically a requirement for building a silent pc (and some consumer devices). If the power supply is inside the box, a fan is often necessary to keep your entire box from dying a heat death.
By keeping the power supply outside of the box, it is much simpler to engineer the rest of the device.
After all the stir to add more TLDs, this idea seems rather counterproductive. Also, because browsers currently do a search on partial addresses (i.e. "microsoft" finds the microsoft website), this could lead to a lot of hijacking (linux TLD may also lead to microsoft?).
Yes, I'm sure you'd be just as understanding when your boss asks for a small piece of your testicle. It's only a small surgical procedure, and it would really help the project. Hardly different from the 80 hours you've already put in.
It seems to me that a lot of code simply isn't written for reuse... and by the time many maintenance engineers touch the code it's a bit frankenstein-like. Unless the ones writing and maintaining the code (as well as management!) understand maintainability, I think most code will eventually get overconfigured/undertested and collapse under its own weight.
autorities... but i know they aren't the threat to me right now
Many would argue that they *are* the threat to you right now. And even if they aren't, rational debate on the subject is a rather important preventative step to keep the authorities from becoming the terrorists. Good intentions can lead to very terrible things if no one bothers to think rationally about them.
I doubt we'd notice a subtle loss in the collective vision of society. Vision fades over time, and due to other strain. Without any way to guage how fast vision "should" degrade, who would know if their cell phone was responsible or it it's just old age?
One potential benefit of studies fo this kind is that manufacturers may learn better ways to make products safer. Aggregate lots of information like this, and a company that is concerned about product safety may make a safer product that you can then choose over an unsafe competitor.
The police are intended to resolve issues with people not obeying the law. Ideally, it's not up to them to judge which laws to enforce. If you don't like the police giving attention to marijuana dealers and users, you should be asking why it's illegal, not "why are the police doing their job".
The laws, of course are either the will of society, or the will of legislators (depending on how you look at things).
I'm not too fond of idea of artificially inducing sales. New hardware/services should be purchased when they fulful some need, not just because someone can make the old solution stop working. The "is this impeding new pc sales" line of thought comes from the mindset that the world owes manufacturers sales, whether they want the products or not.
Sets aren't going dark when it comes into effect, but the quality of signal is going to improve greatly
Not for OTA. After the cutoff, there will not be any NTSC (analog) OTA transmissions, so the spectrum can be relcaimed from this bandwidth-hungry transmission method. That means that old TVs build to receive NTSC signals will not receive anything - they dont' understand the newer ATSC digital transmissions. Cable and satallite can provide NTSC (or ATSC to NTSC tuner boxes) for as long as the market demands it.
the mandate was not to eliminate analog signals
Couldn't find the time to read the article, eh?
You have things backwards, the driving force is to free up the spectrum (so it can be resold) and not to usher in digital tv. The market will take care of that.
Sorry, but this should be modified "-1 not informative"
So now the firefox plugin tracking how many times Heny Earl has been arrested for public drunkenness can now be upgraded to a map showing all the locations? Sweet.
Can't stress this enough - redundancy. Having a single backup is having a single failure point. Not good.
Also, without sufficient research I'd suggest not trusting *anything* for more than a few years. Optical media, magnetic media, etc, all needs to be refreshed every once in a while. Continual rotation onto the newest medium ensures that you'll have a working copy available when needed. And that the medium will be compatible with current technology (try listening to 8-tracks lately?).
The simplest DV storage medium is the dv tape itself. Mini-dv tapes are fairly cheap in bulk. Having a 200GB external drive to make a direct copy is also a good option.
Finally, don't bother with DL DVD medium. Buy a boatload of DVD blanks, and use proper backup software (Retrospect comes to mind). The backup software makes a spanned backup set on your DVDs, so it doesn't matter if the individual files fit on a disc or not.
Arizona is the exact same way, and I suspect a number of other states also only pay unemployment to those who have verifiable recent employment. So the real problem here is that there are states who do *not* go through this process, and who just hand out money.
So apparently, I should move around to each of those states and claim unemployment. As the period ends, pack up my cardboard box and move to another loophole state. Sounds like a good thing; ideal for college students!
The shipping time is a big issue - netflix is in my city and it takes 1 day there and one day back (excepting weekends or when they're lazy). Since I don't have cable, it's actually a pretty good deal for me. I don't use it all that much every week, but sometimes I can go through 5 movies in a week, without having to drive anywhere (and *that* is what you're paying for).
Until consumers stop buying broken products just because marketing hypes it up... we'll continue to have this problem. For some reason, big business loves to buy big names even when the product is severely insufficient for the task. No, I'm not talking about OS choice (that's usually a bit more complicated), I'm talking about hardware/software that comes from a big vendor and doesn't perform as advertised. The more the inferior products are subsidized, the more big corporations are encouraged to sell them.
Despite having an expensive TI-89 in college, I had to buy a cheapo four-function calculator for a class in collge. Why? We were given the choice, and if we used good calculators the tests would be much, much harder.
So, if I can do college-level engineering without a fancy calculator, wtf do these kids need them for? If you don't learn what you're doing before punching things into a calculator, you'll never understand what's going on. Calculators should not be allowed at all for standardized tests until the kids are tested on concepts more complicated than what a calculator can do for them.
Software is still in its infancy, compared other forms of engineering (and many practitioners of code have never had exposure to engineering principles). Also, society is still learning how to deal with this technology, so user expectations are off. That combines to create unrealistic expectations that drive development inapropriately.
Give this focus on security a few more years and customer expectations might drive products in a better direction. I just hope it doesn't take 500 years.
Avoid the latest "big thing" for the core of your project. It's usually specialized, non-portable, etc. The standard template library for C++ (for example) is here to stay, with tested algorithms that are safer and faster than you can usually write (because they are optimized for the platform you compile on). For the GUI, on the other hand, you may be better off with a GUI-based language/tool. That's less likely to be portable, but that's the way GUIs work.
Next, spend some time upfront on your design, with things like use cases, sequence diagrams, and other visualization tools to help you understand just what you want to happen in best case situations as well as failures. The level of detail/formality required is a moving target, so update as needed. You should have a solid error detection/correction plan so that you can design each component to follow it. Also design for test and with logging - it will help you while debugging, while testing, and while fixing the bug the customer is seeing.
Make sure management will allow sufficient time for testing. A lot more lip service goes into support for testing than actual schedule and money. Your test plan should be as bulletproof as your design.
That's my 2 cents. And a random book recommendation: books like Scott Meyers' "Effective " provide info on effective/error reducing ways to use the language/libraries, but won't help you get started with the architecture.
Google is not accused of breaking or otherwise being investigated regarding the antibribery laws
I'd be surprised to hear about actual investigations involving the anti-bribery laws. Big companies know that to do business in a foreign country, it's helpful to hire a local company do do the bribery. That way, your hands are kept clean and the wheels are greased by someone who knows the local way to do it.
Schools with a chess program/club often have resources, such as national newsletters and information on local events that may be useful. I don't recall playing at the age of 6, so I'm not sure what the best software resources are for that age. I do agree, however, that interaction with people (such as parents) will probably bring greater rewards than just the intellectual development a program can bring.
The complication is that some bios-type chips are actually soldered to the mobo. Or, in the case of the iopener ( "internet appliance" from ~2000), epoxied to the socket. It's a whole lot of fun to chip the epoxy off of the chip to get it out, without destroying the socket.
I have a CD handy with XP service pack 2, as well as antivirus, antispyware, firewall, FireFox, etc. That way, I can get a computer up to speed before even reconnecting it to the internet. After the basics are covered, it's much safer to connect and do the fine-tuning. The same would apply to other versions of windows.
If you can't burn a CD from another computer, and you're pre-XP SP2, you might be better off operating behind a hardware firewall until the updates are completed.
Also remember that if you have a minor bug before completing updates, you can usually clean the system after you're up to speed (antivirus, antispyware, etc). The main issue with the auto-infect feature of new systems is that most users won't take the time to clean the system or even investigate if it's infected.
The link is obviously a paid spin article. Even if breakage was zero, the consumer still looses - personal information may be processed by convicted felons (there are no laws preventing the company from farming the work out to a prison, where all your address and contact info can be bought and sold on the cheap). Sure, the practice may be rare, but the privacy concerns are fairly universal with rebates and such.
Corporate laziness aside, there is a good engineering reason to have an external power supply: heat.
Would you really want all that heat generated inside the game box? Having an external, passive power supply is practically a requirement for building a silent pc (and some consumer devices). If the power supply is inside the box, a fan is often necessary to keep your entire box from dying a heat death.
By keeping the power supply outside of the box, it is much simpler to engineer the rest of the device.
After all the stir to add more TLDs, this idea seems rather counterproductive. Also, because browsers currently do a search on partial addresses (i.e. "microsoft" finds the microsoft website), this could lead to a lot of hijacking (linux TLD may also lead to microsoft?).
Yes, I'm sure you'd be just as understanding when your boss asks for a small piece of your testicle. It's only a small surgical procedure, and it would really help the project. Hardly different from the 80 hours you've already put in.
Apparently he was willing to blame everybody except himself for failures... he has management written all over him.
Seriously though, management would be responsible long before the engineers, because they make the choices that either ensure or prevent quality.
It seems to me that a lot of code simply isn't written for reuse... and by the time many maintenance engineers touch the code it's a bit frankenstein-like. Unless the ones writing and maintaining the code (as well as management!) understand maintainability, I think most code will eventually get overconfigured/undertested and collapse under its own weight.
autorities ... but i know they aren't the threat to me right now
Many would argue that they *are* the threat to you right now. And even if they aren't, rational debate on the subject is a rather important preventative step to keep the authorities from becoming the terrorists. Good intentions can lead to very terrible things if no one bothers to think rationally about them.
I doubt we'd notice a subtle loss in the collective vision of society. Vision fades over time, and due to other strain. Without any way to guage how fast vision "should" degrade, who would know if their cell phone was responsible or it it's just old age?
One potential benefit of studies fo this kind is that manufacturers may learn better ways to make products safer. Aggregate lots of information like this, and a company that is concerned about product safety may make a safer product that you can then choose over an unsafe competitor.
The police are intended to resolve issues with people not obeying the law. Ideally, it's not up to them to judge which laws to enforce. If you don't like the police giving attention to marijuana dealers and users, you should be asking why it's illegal, not "why are the police doing their job".
The laws, of course are either the will of society, or the will of legislators (depending on how you look at things).
does ... impede PC sales?
I'm not too fond of idea of artificially inducing sales. New hardware/services should be purchased when they fulful some need, not just because someone can make the old solution stop working. The "is this impeding new pc sales" line of thought comes from the mindset that the world owes manufacturers sales, whether they want the products or not.
Sets aren't going dark when it comes into effect, but the quality of signal is going to improve greatly
Not for OTA. After the cutoff, there will not be any NTSC (analog) OTA transmissions, so the spectrum can be relcaimed from this bandwidth-hungry transmission method. That means that old TVs build to receive NTSC signals will not receive anything - they dont' understand the newer ATSC digital transmissions. Cable and satallite can provide NTSC (or ATSC to NTSC tuner boxes) for as long as the market demands it.
the mandate was not to eliminate analog signals
Couldn't find the time to read the article, eh? You have things backwards, the driving force is to free up the spectrum (so it can be resold) and not to usher in digital tv. The market will take care of that.
Sorry, but this should be modified "-1 not informative"
So now the firefox plugin tracking how many times Heny Earl has been arrested for public drunkenness can now be upgraded to a map showing all the locations? Sweet.
Discipline should not be applied with the axe, but the scalpel.
It doesn't matter which one he's carrying; if my boss starts walking around with sharp objects I'll be pretty careful with my work.
Can't stress this enough - redundancy. Having a single backup is having a single failure point. Not good.
Also, without sufficient research I'd suggest not trusting *anything* for more than a few years. Optical media, magnetic media, etc, all needs to be refreshed every once in a while. Continual rotation onto the newest medium ensures that you'll have a working copy available when needed. And that the medium will be compatible with current technology (try listening to 8-tracks lately?).
The simplest DV storage medium is the dv tape itself. Mini-dv tapes are fairly cheap in bulk. Having a 200GB external drive to make a direct copy is also a good option.
Finally, don't bother with DL DVD medium. Buy a boatload of DVD blanks, and use proper backup software (Retrospect comes to mind). The backup software makes a spanned backup set on your DVDs, so it doesn't matter if the individual files fit on a disc or not.
Arizona is the exact same way, and I suspect a number of other states also only pay unemployment to those who have verifiable recent employment. So the real problem here is that there are states who do *not* go through this process, and who just hand out money.
So apparently, I should move around to each of those states and claim unemployment. As the period ends, pack up my cardboard box and move to another loophole state. Sounds like a good thing; ideal for college students!
The shipping time is a big issue - netflix is in my city and it takes 1 day there and one day back (excepting weekends or when they're lazy). Since I don't have cable, it's actually a pretty good deal for me. I don't use it all that much every week, but sometimes I can go through 5 movies in a week, without having to drive anywhere (and *that* is what you're paying for).
Until consumers stop buying broken products just because marketing hypes it up... we'll continue to have this problem. For some reason, big business loves to buy big names even when the product is severely insufficient for the task. No, I'm not talking about OS choice (that's usually a bit more complicated), I'm talking about hardware/software that comes from a big vendor and doesn't perform as advertised. The more the inferior products are subsidized, the more big corporations are encouraged to sell them.
You might remember your washing machine if it had a sassy attitude like R2.
Despite having an expensive TI-89 in college, I had to buy a cheapo four-function calculator for a class in collge. Why? We were given the choice, and if we used good calculators the tests would be much, much harder.
So, if I can do college-level engineering without a fancy calculator, wtf do these kids need them for? If you don't learn what you're doing before punching things into a calculator, you'll never understand what's going on. Calculators should not be allowed at all for standardized tests until the kids are tested on concepts more complicated than what a calculator can do for them.
how little of it we understand
Software is still in its infancy, compared other forms of engineering (and many practitioners of code have never had exposure to engineering principles). Also, society is still learning how to deal with this technology, so user expectations are off. That combines to create unrealistic expectations that drive development inapropriately.
Give this focus on security a few more years and customer expectations might drive products in a better direction. I just hope it doesn't take 500 years.