Slashdot Mirror


User: natoochtoniket

natoochtoniket's activity in the archive.

Stories
0
Comments
246
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 246

  1. Re:Keep It Fun & Exciting on How Do I Talk To 4th Graders About IT? · · Score: 2, Funny

    Yea. Great idea. Show all those inquisitive 10-year old kids how to disassemble their dad's computers.

  2. Remember cell phone minutes? on The Facts & Fiction of Bandwidth Caps · · Score: 5, Insightful

    Once upon a time, we had to pay dearly for a 60 minute-per-month cell phone contract, and some people paid even more dearly for 180 or even 300 minutes per month. Then competition stepped in, and one of the vendors started offering 500 minutes per-month for same prices as the competitors charged for 180 minutes. Now, it's hard to find a carrier that even offers less than about 500 minutes in the lowest price tier, and lots of people have 1500, and "unlimited" contracts are becoming common.

    As soon as you are tempted to change internet carriers to avoid being charged for extra gigs, they will bump the gigs-per-month. IF there is competition in a metro area, the gigs-per-month in that area will increase rapidly.

    But, if you live in a small town or rural area, you get screwed. That seems to be a constant.

  3. Combinatorial Explosion on Working Effectively with Legacy Code · · Score: 3, Insightful

    Testing cannot detect errors with probability significantly greater than zero, unless the system under test is trivially small. For a system that has N interacting features, the number of test cases that are needed to "cover" all combinations of features is O(2^N). And, that is assuming the simplest possible features that are either used or not used in each case. If any features have complicated (more than one bit) inputs, the base of that exponential complexity function increases.

    While tests are helpful to detect implementation errors, test sets cannot be complete for nontrivial systems. And because testing cannot be complete, it can never provide sufficient verification. That is a basic fallacy of test-driven development, and of a-posteriori testing generally.

    The least-cost way to prevent bugs that will be noticed by users is to avoid making them in the first place. Requirements and designs can be documented, checked, reviewed, communicated, and (most importantly) read and referenced during subsequent phases and iterations of the development process. Test plans and test scripts can be part of that process, but cannot replace the requirements and design phases.

    Cost-driven managers don't like to hear that, though, because they think testing is cheap. Non-automated testing can often be done by cheap and easily-replaced labor. And automated testing is essentially free after the test software itself is developed and verified. (Notice, though, that developing the tests also involves requirements and designs, and increases the total amount of software that must be developed.)

    So, the least cost development process involves some reasonable amount of testing, but also involves requirements and designs, and reviews at every step. The only way to defeat the combinatorial explosion is by applying heavy doses of "thinking" and "understanding". Nothing else works as well.

  4. Maximize productivity == Avoid mistakes on Defusing the Threat of Disgruntled IT Workers · · Score: 1

    Actually, the experiments tell us that after only a few DAYS of 10+ hour days, the fatigue reduces your cognitive and decision-making skills so much that you start making mistakes.

    Each mistake takes something like one hour to make and a full day to correct. Complicated mistakes that take more than an hour to make take proportionally longer to correct. When you are fatigued from too much overtime, you make mistakes at a rate of several per day. So, the extra hours are not just unproductive, they are actually anti-productive.

    If you have enough self-discipline to go home before you make the mistake, it actually increases your productivity. You get MORE done in a 35-40 hour week than you do in a 60 hour week, because you avoid making at least two or three fatigue-induced mistakes.

    Sometimes, the most productive thing you can do it to take a nap.

    Occasional emergencies require long days to keep the company in business. But there are some useful rules to differentiate real emergencies from fake emergencies:
    1. If it happens too often, it's not really an emergency;
    2. If the manager has known about this for more than a few minutes, it's not an emergency; and
    3. If the call comes after about 3PM on Friday, it's probably not an emergency.

  5. Re:Freedom and Democracy EPIC FAIL on Voting Machines Routinely Failing Nationwide · · Score: 1

    The important question is not HOW this keeps getting screwed up year after year, but WHY.

    If elections were done with paper and pencil, and the processes were fully transparent and observable, and if the several parties all observed carefully, then the elections could not be rigged.

    A constant truth in democratic politics is that the party that is in power wants to stay in power. An actual, honest election might not have that result. So, they want to rig the election if they can. That involves changing just enough votes to retain power without being caught. But, if the election process is transparent and observable, they could not rig the election at all. Hence, the election process must be made nontransparent and not-observable. Being the party in power, they have the power to decide the election process. In 2001, the Republicans did just that.

    The Republicans almost got caught trying to rig elections in 2000. So, in 2001 they made a law requiring every state and locality to use electronic election machines. The intent was that the electronic machines would be opaque, easily rigged, and that the rigging would be impossible to catch. That should have been the end of fair and free elections in the USA.

    Fortunately, large and complex systems are hard to get right the first time. So they didn't get it right the first time, or even the second or third. Basically, they botched the job so badly that they got caught again, several times.

    My guess is that honest people won't develop election-rigging technology, so they had to hire dishonest people to do the technical work. But the dishonest technical people cheated their way through school, and so are not particularly competent. And, they really didn't want to actually do all that tedious work of developing the systems, so they faked that, too.

    The result has been voting systems that were specified to be easily rigged, but which had so many other faults that the features to allow rigging got discovered by the honest people who looked at those systems. The resulting outrage has generated demands for transparent, observable, and fully audited elections. So we might actually have honest elections again at some point in the future.

    And, the way to get there is called "paper ballots", with good old-fashioned physical security and auditing.

  6. The Republicans want it. on Video Shows Easy Hacking of E-Voting Machines · · Score: 1

    e-voting was pushed through in 2000, with a Republican controlled house, a Republican controlled Senate, and a Republican president, immediately after a manual recount of paper ballots was thwarted by a desperate appeal to the Republican majority of the Supreme Court.

    They needed a better way to rig elections, with less chance of getting caught. They came up with paperless computerized voting. With a paperless system, there could be no annoying recounts. With computerized voting, the whole system could be rigged by the programmers, so there was no chance of anyone getting caught doing anything illegal at a polling place or a county election office.

    The only people who don't want that is, of course, everybody else.

  7. Standard freshman texts might work on Computer Textbooks For High Schoolers? · · Score: 1

    Course objectives? I take it the kids already have seen computers, and probably think they know what they are. Any book that has the name of a product in the title will have no lasting educational value. If the kids learn something about how and why computers work, and not just how to use some particular product, the knowledge will have lasting value. It can introduce them to a whole field of knowledge. And, it is much more likely to be interesting.

    A commonly used volume for first college courses in programming concepts is: "Structure and Interpretation of Computer Programs - 2nd Edition" (MIT Electrical Engineering and Computer Science) by Harold Abelson and Gerald Jay Sussman (Hardcover - Jul 25, 1996)
    And, there is an instructors volume that you might find useful: "Instructor's Manual t/a Structure and Interpretation of Computer Programs" - 2nd Edition by Julie Sussman (Paperback - Sep 15, 1998)

    A very common first-course volume for computer networking is: "Computer Networks" (4th Edition) by Andrew S. Tanenbaum (Hardcover - Aug 19, 2002) (Though, to be fair, there is not really a standard text in this area.)

    I don't know of any text that would prepare a person with high-school only to enter the work force in any technical capacity. The technology changes too fast for any how-to-use-it training to be useful for more than a couple of years. One course cannot go deep or wide enough to be useful to an employer in a technical capacity.

  8. Spam, spam, eggs, and spam. on How Can Nerds Make a Difference In November? · · Score: 1

    Political speech cannot be regulated by anti-spam laws, because it is political speech. So email away to your hearts content -- and never mind the so-spam lists.

    When you need a break from that, you can throw a few eggs at the opposition. Imagine pro-McCain advertising along the lines of, say, "KKK For McCain" or "McCain for Grand Wizard".

  9. "Indent" Theft ? on Zero Day Threat · · Score: 1

    Excellent overview on the epidemic of indent theft

    I'm not sure what "indent theft" is. Some of the code I see in my company has too little indentation. Was it stolen? If they stole some of the indent from those lines of code, why does other code in the same files have way too much?

  10. Terrorist Congressmen on Terror Watchlist "Crippled By Technical Flaws" · · Score: 1

    The way to repeal this monster is to insert the names of all of our Congressmen, their families, and their office staff. Add the names of every confirmed administration official, with their families and staffs, and the repeal bill will be signed instantly.

    Alternatively, insert the name of every federal judge, and it will get declared unconstitutional in a few days.

    Throw in some Governors and other state-level politicians, some state judges, and all of the candidates for office (this is an election season), and it will really get noticed.

  11. Not true. on States Throw Out Electronic Voting Machines · · Score: 1

    It doesn't make one "bit" of difference whether a vote is tallied as a bit, or a missing (or hanging) chad... the integrity of an election, ANY ELECTION, is dependent SOLELY UPON the integrity of the people who carry it out.

    Not true.

    The integrity of an election depends solely upon eliminating every possibility of cheating without being detected. Honest elections depend on NOT TRUSTING anyone. As soon as any trust is involved, there is a possibility that the person who is trusted might not be trustworthy.

    There is a reason why banks have auditors and "dual control" operations. Wherever there are large amounts of money, there will be temptation. If the tellers know that they will not be caught, at least some of them will yield to temptation, and the money will disappear.

    That same reason applies to elections. In almost every election, the amount of money and power at stake is much larger than the amount of cash that any bank keeps on hand. If the procedures allow it, at least some of the elections officials will yield to temptation, and the election will be rigged.

  12. Re:Let the government create the machines. on States Throw Out Electronic Voting Machines · · Score: 1

    It is not enough to have the source code and hardware design open to public scrutiny. There are three problems with that approach.

    First, we need to convince everyone that the election results are true, not just the people who have enough education to examine the source code and hardware schematics. People with ZERO technical knowledge, but ENORMOUS distrust of government officials, and of engineers and academics, must be convinced. If you cannot convince the great majority of those people, you cannot expect a peaceful transition of power.

    Second, the source code might not be the same as was used to compile the program that is actually run. Or, the rigged code might be in the compiler, or in the OS. I know that cryptographic hashes can be used to verify binary module identity, but those can be faked, too. And, just try to explain cryptographic hash algorithms to those same people with ZERO technical knowledge.

    And finally, any real program is sufficiently complex that bad behavior might be hidden in an obscure way, so that examination (even by highly qualified people) might not notice the rigged code. Haven't you ever passed a module through a code-review, only to discover a bug later in the process? The developers of the election-rigging code will have lots of incentive to hide it, and lots of time to work on it.

    Because of these three problems, any election system needs to be completely "technology independent". Paper ballots, with two or more independent methods of counting, and at least one of those counting methods using NO technology at all, meets that requirement. Any method that depends on computers, at all, cannot.

  13. Re:Let the government create the machines. on States Throw Out Electronic Voting Machines · · Score: 1

    Let's see now. The Republican administration hires Republican developers to design and program the voting systems. The Democrats are not given any input into the process, nor any ability to check the results. Then those machines are used to elect the next Republican administration. No Democrat is elected ever again.

    Or maybe, the other way around, if it is first done during a Democrat administration.

    Either way, one party controls the election process forever, and the other party ceases to exist.

  14. Preventing and Detecting Fraud on States Throw Out Electronic Voting Machines · · Score: 1

    It's not hard to write such a program. It is extremely hard to prove that such a program is correct, and that it has no "back doors" by which it could be manipulated to produce incorrect results.

    In fact, to prove that such a program is correct is completely beyond the current state of the art. And then, proving that the proof is correct is a second-order problem.

    Only a very few programs have been proved correct in any meaningful sense. And errors have subsequently been discovered in several of those programs, and in the corresponding "proofs".

    Examples of voting-machine programs that pass a-posteriori testing, but can be manipulated (by providing unlikely input sequences) to produce incorrect results, have been demonstrated.

    And, because there is so much money and power at stake in every election, the people who produce the voting machines have a huge incentive to produce machines that can be manipulated.

  15. It Depends on Software Logging Schemes? · · Score: 1

    Some comments, above, seem to say that every app should produce Mitchner-novels-per-second of debug and log. Others seem to go to the opposite extreme. Both are right, and both are wrong.

    There are some applications, and some portions of most apps, that have extreme performance issues, and for which excessive logging is likely to produce a problem in production. And, there are some applications, and some portions of most applications, for which very detailed logging is needed to meet specific diagnostic or auditing requirements. And, there is a lot of gray area in between those extremes.

    We use a variable approach. We make it very easy to code a "debug" or "log" output -- It's just a one line call. And, those routines have the first parameter for the "level". A separate call is available to set the desired level for the process. Level 0 message are reserved for major events and severe errors. Level 1 is for intermediate level events and warnings. Level 2 for minor events and warnings. Debug output starts at level 3 or 4. Inner-loop debug output is at level 5 or 6. At level 5 or 6 you get the proverbial Mitchner-novel-per-second. We generally use level 4 on for dev testing, and level 0 or 1 on production systems.

    Efficiency is a key, both in execution and in coding. The code is small and easy to write -- only one line of code per message. And, the logging routine itself is very efficient in the case where it decides not to print the message because the level is higher than the current per-process level. A message that is not printed consumes just a few machine instructions.

    In new code, we typically have a logging call per three or four statements. In difficult algorithms, maybe more. In straight-forward byte-moving code, maybe less. As code becomes more mature, and we become more confident that it is right, we might comment-out some or even most of those calls. When a piece of code is under investigation, and the developer doesn't quite see the problem yet, I often advise him/her to add more debug logging to that area.

  16. Re:Just a few thoughts... on Google Has All My Data – How Do I Back It Up? · · Score: 1

    There's a business opportunity there.

    1. Bundle up all of those into a single easy-to-use application suite.
    2. Perhaps also include a feature to upload any documents that exist on your local machine that are not yet duplicated in google.
    3. Give it a name. Maybe something like "gsync".
    4. Distribute it open-source.
    5. Sell it with documentation and optional CD to those who are too lazy to make the open source version.
    6. Profit!

  17. It will be mandatory, soon enough on What Do You Do When the Cloud Shuts Down? · · Score: 0

    Don't worry. The new Terrorist Information Monitoring act of 2011 will require all storage to be on cloud servers, provided by a few selected trustworthy and highly secure corporations. The purpose will be to detect terrorist cells before they can do something awful.

    The storage vendors will be selected by the government. Naturally, the criteria for vendor selection will be based on the size of the vendors "political contributions". Miscellaneous requirements will include that the administration makes rules as to who can access that information. Of course, the political party in power when the act goes into effect will grant access to itself, and deny access to other parties.

    Because the stored information will include voter registration data, votes from past elections, and current votes for each new election, all future elections will be completely rigged. Writing anything against that administration, or suggesting that something might be wrong with the elections, will get you branded a terrorist. Terrorists will be picked up and incarcerated, before they can actually do anything that might be detrimental to the ruling party.

    The only problem is, I don't know whether this is scary or funny.

  18. How to prevent election fraud on Diebold Patch May Be Evidence of '02 Election Tampering · · Score: 1

    One way to prevent successful election fraud is actually relatively simple. It needs several elements:

    1. Any act or conspiracy to change the outcome of any Federal or state election by any means other than convincing voters to vote of their own free will, shall be a felony punishable by enormous fine and life imprisonment without parole or privilege.

    2. Any law enforcement officer who becomes aware of any violation of this statute, and who fails to quickly and effectively prosecute that violation, shall be deemed to be a co-conspirator of that violation, and punished accordingly.

    3. Any elected official of the United States who becomes aware of any violation of this statute, and who fails to quickly and effectively prosecute that violation, shall be deemed to be a co-conspirator of that violation, and punished accordingly.

    4. An enormous reward (say, $1 billion) shall be paid for information leading to arrest and conviction under this statute.

  19. Re:Voltage Spikes on Why Power Failures Can Always Lead To Data Loss · · Score: 1

    You are quite right that there are also other electromagnetic effects. Radio receivers, because of their induction coils, can be damaged even when they are not plugged in at all. There's not much we can do about that. The EE's who design such systems usually try to manage those issues, until their PHB's cut cost by eliminating the "extra" capacitor.

    And electricity can use telephone or cable-TV wire just as easily as it can use power wire. In many communities, the phone and cable wires are hung on the poles below the power wires, and the neutral/ground wire is at the top of the pole. That arrangement usually protects the phone and TV wiring, because the power wiring is higher and better grounded.

    The way the electrical system is set up, there are lots of grounds in a neighborhood. The power company puts a ground at every third or fourth pole, and every structures is supposed to have a ground. And all of those grounds are supposed to be bonded to the neutral. So there are lots of different paths that the electrons can take to get from the sky to the ground. The easiest paths are usually via the neutral wire at the top of the pole to the various ground connections in the neighborhood.

    When there is a lightning strike on that neutral at the top of the pole, the electrons flood the neutral/ground conductors and use all of the nearby paths to ground. When there is a strike on one of the hot wires, it also takes all available paths. The paths that have low resistance get more of the current than the paths that have high resistance.

    So, the idea is just to make sure that the paths that go through my expensive equipment have higher resistance than some of the other available paths. This is done by providing lower-resistance paths (mainly surge protectors, and good grounds). Of course, some of the other available paths go through other peoples houses, so my ground connection doesn't have to actually carry the entire current of the lighting strike.

    Turns out that a 6-gauge wire can carry a ludicrous number of amps for a small fraction of an second without melting. A larger wire is better of course. Most of the lightning-rod systems that I have seen use 2-gauge or larger wire.

    All of the above is assuming that your power distribution is on poles. If you have underground power, then the situation is reversed. In that case, the easiest path for lighting to take is often to hit a house. When that happens, the wiring in that house gets the full current, with no distribution to other structures. If I lived in such a neighborhood, I would seriously consider adding a lightning-rod system.

  20. Re:Voltage Spikes on Why Power Failures Can Always Lead To Data Loss · · Score: 2, Informative

    Neutral and ground are supposed to be bonded at the service entrance panel, and not anywhere else. If the ground is actually grounded, with a big copper wire to a big copper spike that goes deeper than the water table, that will normally provide the path of least resistance for the electricity to follow.

    A lot of houses don't have a good ground connection. Most building codes (and the NEC) allow 25 ohms resistance on the ground connection. But it's hard to measure, so the building inspectors don't measure it. In order to measure it, you have to install an additional 8-foot spike ten feet away from the ground connection you want to measure.

    Plumbing systems used to be metal pipe, so a connection to plumbing was an adequate ground. But, now, most new plumbing is plastic, an insulator. A few years ago they tore up the streets in my neighborhood to install new water pipes (plastic of course). After they did that, the only ground on my house was the short length of metal pipe that ran from the house to the meter. And that pipe was less than 12 inches deep, in dry sandy soil.

    The easy way to be sure that you have a good ground is to install two new 8-foot spikes, at least 10 feet apart (from each other, and from any existing ground spike). Measure the ohms between them to be sure you have less than 25 ohms. Then bond BOTH of them to the existing ground at your service-entrance panel using bronze clamps and 6-gauge or larger copper wire. Costs less than $100, and can be done in just an hour or two.

  21. Re:Voltage Spikes on Why Power Failures Can Always Lead To Data Loss · · Score: 1

    Surge protectors are all exactly the same, no matter how much you pay for them. ... They buy a 2"sq. varistor package for $2 and connect it inline on the "hot" wire. Neutral and Ground lines are passed through, entirely unfiltered and unprotected.

    Not true. In cheap 110V units, the single varister is connected BETWEEN the hot and the ground. MOV varisters have high resistance at low voltage, and low resistance at high voltage. If the varister burns out, the electricity still goes to the load, but there is no protection.

    In surge protectors that are designed to be installed to an electrical subpanel, there are SIX (6) varisters. They are connected between hot+/ground, hot+/neutral, hot-/ground, hot-/neutral, hot+/hot-, and ground/neutral.

    In protectors that are designed to be connected to a service-entrance panel, only three (3) are needed, because the ground and neutral are bonded at the service entrance. They are connected between hot+/ground, hot-/ground, and hot+/hot-.

    And, in all cases, the units that have higher joule ratings and higher amp ratings are made with higher-rated varisters.

    It is important to note that all of the wires pass through. There are no 3/0 gauge wires inside a whole-house surge. The unit just connects to the breaker bus (via a double breaker) and to the ground and neutral buses with little 14 gauge wires. (Those little wires are enough to carry several thousand amps for a few milliseconds without melting.) If a varister gets fried, the electricity still gets to the load, and there is no protection.

    The bus configuration means that all of the surge protectors in a phase work together to absorb the energy. If you have ten little 800-joule surge protectors on a phase, the loads on that phase are protected up to a big fraction of 8000 joules, depending on the length of the wires. (If a load is closer to the service entrance than some of the surge protectors, it might get burned during the nanoseconds before those protectors short. This is why it is better to put the protection at the service entrance.)

  22. Re:Voltage Spikes on Why Power Failures Can Always Lead To Data Loss · · Score: 4, Informative

    The path-to-ground is really important, as is the quality of the ground. The length of the path is the reason why whole-house devices are installed at the service entrance panel. But, that assumes that your service-entrance ground is a good ground.

    If your ground is not good, shorting to ground won't do much good. A lot of houses around here are grounded to plumbing pipe that is buried just 12" deep. During a dry spell a few years ago, I detected variable voltage where it shouldn't have been. The voltage problems cleared up after I added an 8-foot vertical ground rod to the system.

    The thing that kills a surge protector is too many amps for too long. If it shorts the power to ground (low-resistance), but the ground is not really well-grounded, then the whole thing can float close to line-voltage. In that case, that voltage can destroy your other devices, while the surge unit never gets enough current to burn the varisters.

  23. Re:That's what I always say sometimes on Why Power Failures Can Always Lead To Data Loss · · Score: 1

    Oh -- and you have TWO power supplies to worry about.

    One is the UPS. Everything plugged into the UPS must add up to less power than the UPS can supply.

    The other is the circuit breaker. Everything that draws from that circuit breaker must add up to less amps than the circuit breaker can supply. In most buildings, one breaker supplies several outlets, and often also suplies some lights.

  24. Voltage Spikes on Why Power Failures Can Always Lead To Data Loss · · Score: 5, Informative

    The typical small UPS system has some amount of surge protection built-in. But it's typically only good for at most a couple thousand joules. But then, if you get a spike that is big enough to blow a varister, you also get to buy a new ups.

    A better solution is to put a "whole house" surge protector on the circuit-breaker panel. It protects everything, with a much higher number of joules. Five or six pounds of varisters can absorb a lot more shock than one ounce of varisters. They cost about $100, and can be found at most big hardware stores or electrical supply houses. That doesn't eliminate the need for a ups. It does protect the ups, along with the other equipment, from most voltage spikes.

    Last year, lightning hit the power pole 20 feet from my house. We know where it hit because the pole caught fire. My next-door neighbors on both sides lost every single piece of electrical equipment -- not just computers, TV's, and stereos, but also fridge, microwave, water heater, and range. All of it was damaged beyond repair. We barely noticed the hit, except for the bright flash of light, and had no damage at all.

  25. Re:That's what I always say sometimes on Why Power Failures Can Always Lead To Data Loss · · Score: 1

    Is the UPS just too small (900 AVR)?

    Duh? You think it might?

    Read the power labels on all of the devices that you intend to plug into that power supply. Add up the volt amps (volts times amps), or the watts (almost the same thing). The total needs to be smaller than the power-supply.

    Even if the capacity numbers look good, batteries lose capacity as they age.