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. The good programmers make it look easy on How to Recognize a Good Programmer · · Score: 1

    1. Mod the article "funny". People who work hard, 16+ hours a day, learn every new technology, and jump onto every fad and fashion, have never impressed me.

    2. A good programmer is someone who makes it look easy.

    Knowing the business helps to avoid having to ask a lot of questions to fill in the unstated requirements, and also avoids making the kinds of huge mistakes that cost huge amounts of of time. Knowing the technologies that are in use in an enterprise, knowing what has already been done, and knowing how/where to look things up, helps to avoid reinventing wheels. Having academic knowledge of things like algorithms and theories helps to select the ones that are needed, and to implement them correctly and reliably. Knowing particular languages and other technologies helps to get things right the first time.

    The person who knows all of these things makes the job look easy, and generally goes home by 5.

  2. Re:Kudos on Burying a Mainframe In Style · · Score: 2, Funny

    How many times have we seen something like this? ... The Amdahl Millennium runs a 5890 emulator. The 5890 machine runs a 3090 emulator. The 3090 runs an Amdahl V7 emulator, which simulates an IBM system-390. That 390 runs a system-360 emulation kernel. The 360 runs a 1401 emulator. And, the 1401 runs the 650 emulator. The original grade-report and transcript program, which was written in 650 machine code, was running on that 650 emulator because the only copy of the source deck was destroyed by mice in 1963. The upgrade was made possible after a student working in the registrars office last semester rewrote the whole system to run on a laptop. Next year they will hire another student to secure that laptop. ;-)

  3. The Sergeants Run the Army on Does Constant Access Shatter the Home/Work Boundary? · · Score: 3, Interesting

    I am the original techie (architect/engineer/developer/programmer/administrator/etc) in the company. Over 20+ years, the business has grown and gone public, and my systems have become the mission-critical part of the business. There really are some problems for which I am the only person in the world who knows the systems well enough to solve them. And, some of those problems are extremely expensive (per-minute) until they are solved. They pay me well enough that I don't mind a few extra hours occasionally, and a lot of extra hours very occasionally.

    A typical "emergency" ends up being most of a night to put the systems back online and stable, followed by a few days of follow up to fix the underlying issue, communicate what happened, and to coordinate who is going to do what to make the fix permanent. We had a bad month last September -- I ended up working 100+ hours/week for several weeks straight. That doesn't happen very often.

    To balance, I feel free to take some under-time, whenever I need it, or I judge it to be appropriate. My usual office schedule is probably about 35 hours a week, and much of that time is spent "walking around" (mentoring, tutoring, and a lot of listening).

    A few times over the years, a "senior management" type has fussed at me about my hours or schedules. None of those people work here any more. It's amazing how that happens. Some people think they can just issue orders. Others understand that they need to cooperate with the people who can actually make things happen. It doesn't take long to see the difference.

    The wise lieutenant understands that the senior sergeants actually run the army, do what they recommend, and don't piss them off. The life expectancy of a foolish lieutenant on the battleground is just a few days.

  4. N-Version Scanning on California Testers Find Flaws In Voting Machines · · Score: 1

    If we standardize the format of the paper ballots and the marking devices (say, #2 pencil), then multiple parties can independently develop optical scanners for that ballot format. If each political party provides its own scanner, and each of those scanners is used to scan the ballots, and if all of them agree on a count, then we can be pretty sure that the count is accurate.

    An additional level of verification is possible if some of the scanning devices capture the image of each page into a file. A file containing the photographic images of the ballots for a precinct could be put on a server, to be downloaded and counted by anyone who wants to do so. Each party could provide the images from its own scanner on its own server. If multiple sets of images are provided by different parties, any manipulation of the image files could be detected.

    If any of the several independent counts disagrees with the others, we can easily see which one does not agree. That one party would then be on the spot to explain why their machine got the count wrong. In reality, the incentive to cheat is removed, because of the extremely high probability that any cheating will be discovered.

    This can provide better verification that is possible with hand-counted paper ballots. With hand counted paper ballots, the number of people who can actually see each ballot is limited to the number of people who can fit in the room during the counting. As a practical matter, only a few people can be close enough to actually see the marks on each ballot.

  5. Add yourself to Terrorit List on Will Privacy Sell? · · Score: 2, Insightful

    There really is a good reason to offer an anonymous search tool. Anyone who uses it is automatically suspect. Doesn't matter what you used it for. The fact that you did use it, at all, makes you a suspect. If we can convince all of our domestic terrorists to register themselves by using this tool, we can solve the terrorism problem.

    Of course, in a perfect world, the crooked politicians will also use the same tool. It would take some serious effort to separate the politicians from the regular terrorists. But, just perhaps, we could solve both problems at once.

    ;-)

  6. What the US Government has been doing on U.S. House Says the Internet is Terrorist Threat · · Score: 1

    `(2) VIOLENT RADICALIZATION- The term `violent radicalization' means the process of adopting or promoting an extremist belief system for the purpose of facilitating ideologically based violence to advance political, religious, or social change.

    `(4) IDEOLOGICALLY BASED VIOLENCE- The term `ideologically based violence' means the use, planned use, or threatened use of force or violence by a group or individual to promote the group or individual's political, religious, or social beliefs.

    Seems to me that these two definitions describe EXACTLY what the Bush & Co. have been doing ever since they got elected. They threaten use of force, and use force, to advance their political, religious, and social beliefs. And, they promote their extremist beliefs for the purpose of facilitating that violence.

  7. Re:Sensationalist FUD on U.S. House Says the Internet is Terrorist Threat · · Score: 5, Insightful

    Let's play word-substitution here:

    The Free Press has aided in facilitating violent radicalization, ideologically based violence, and the homegrown terrorism process in the United States by providing access to broad and constant streams of terrorist-related propaganda to United States citizens.

    Freedom of Speech has aided in facilitating violent radicalization, ideologically based violence, and the homegrown terrorism process in the United States by providing access to broad and constant streams of terrorist-related propaganda to United States citizens.

    I don't see any difference between a "Press" and "The Internet". Paper and web sites are both just media for publishing. The fact that a lot of stupid or misleading stuff gets published is not new. One definition of "propaganda" is "speech by your political opponents". Political speech is, of course, the most highly protected form of free speech.

    Seems to me the bill is facially unconstitutional.

  8. Elementary, Simple Maths on A New Theory of Everything? · · Score: 1

    It's really quite elementary. There are code words in the titles of mathematical books and papers.

    When the title contains the word "advanced", it means the material is suitable for an undergraduate course in that topic.

    When the title contains the word "elementary", it is suitable for graduate students who have taken a few courses in the related topics.

    When the title contain the word "simple", it means the professors are going to have study for a while before they begin to understand it.

    When the title contains the word "foundations", it means either: it is quite beyond the faculty at most schools; or, it can be successfully used as a high-school text.

  9. Re:No EVoting can be "trusted" on All Fifty States May Face Voting Machine Lawsuit · · Score: 1

    "WHO can verify the voting of open voting machines? We can. We, computers savvy people who understand computers and who can test, probe and verify the mechanisms behind the machines. Joe Average cannot."

    I have a Ph.D. in Computer Science. Some of my research involves the problems of specification and verification. In theory, it is possible to verify some small programs, but only if they are written in very special programming languages, and specified in other very special specification languages. In practice, it is simply not possible to verify any significant program, much less any whole system, written in any of the usual programming languages. The correct answer to your question "WHO can verify the voting of open voting machines?" is: "No one can. Even the simplest voting machine software is so complex that it cannot be verified."

    But your point is valid, none the less. The real requirement for elections systems is not that some experts can verify the result. The real requirement is that every Joe Average, who might be interested or suspicious, can verify the result. If the result cannot be verified independently by each of a few million average people, the system cannot be trusted by those same people. Average people know that experts sometimes lie. So, verification of an election result cannot be left to "experts". It must be something that every average person can do for himself, with no training beyond elementary counting.

  10. What does "properly safeguard" actually mean? on US Official Urges Americans To Reconsider Privacy · · Score: 1

    "Instead, it should mean that government and businesses properly safeguard people's private communications and financial information."

    That statement, by itself, does not actually mean anything. It depends on what it means to "properly safeguard" information.

    One definition of what it means to "properly safeguard" private information is given in the Constitution: The information shall not be accessed without a warrant, and no warrant shall issue except with probable cause.

    Any other definition what is proper to do with private information would seem to require a constitutional amendment.

    I know the Constitution is terribly inconvenient for some government officials. Their jobs would be so much easier if they didn't have to abide by all those picky little constitutional details. If they want information, just take it. If they decide that you are a "terrorist" (whatever that means), just throw you in Guantanamo. No trials, no lawyers, no courts, no due process, no checks or balances. Very easy and convenient for the officials. Very dangerous for everyone else.

    That kind of power is exactly what Hitler, Stalin, and many other dictators have had, throughout history.

    And, that is precisely why we have our Constitution.

  11. Open Ballot Format? N-Version Counting? on Florida Literally Scraps Touch-Screen Voting · · Score: 1

    An ideal system would use paper ballots, with an "open" ballot format specification. Basically, the specification would define the paper size, and the set of locations on the paper where the little circles or ovals are to be located, and a protocol for marking details like which end of the paper is "top", and which page of a multi-page ballot is being scanned. If several different companies and/or open-source projects produce the scanners, then we could have N-version verification of elections, without the need to do tedious hand-counting.

    The elections office would provide ballots in that format, and a ballot scanner that can scan that format, for each precinct. If the scanner at a precinct breaks, they could rescan those ballots using a spare scanner either at the precinct or at the central office. The ballots themselves of course must be maintained under multiple-control, but security of physical pieces of paper is well understood and easily implemented.

    The interesting part of an open ballot specification happens during the auditing. Each interested party or candidate could provide their own ballot scanners, with their own hardware design and their own software. Those would have to meet a minimal specification -- such as that they must not add marks to the ballots, and they must not damage the ballots. After the election, each of the ballot scanners provided by the parties would be used to rescan the ballots. If the scanners, having different hardware designs, different software programs, and different ownership, all come up with the same results, then we can be pretty sure that those results are correct.

    If the machines don't agree with each other, a public hand-count of one or two precincts can quickly establish which machines(s) is(are) wrong. There is no gain to be had by making a machine that is not accurate, because the inaccurate machine will be quickly exposed. So, there is no incentive to provide an inaccurate scanner machine.

  12. The given algorithm is $O(2^N)$ on Optical Solution For an NP-Complete Problem? · · Score: 2, Insightful

    Actually, the running time is not reduced by the algorithm disclosed in the article. The disclosed algorithm has running time at least $O(2^N)$. The algorithm uses photons as parallel processors, but the shortest running time for any of those photons is $O(2^N)$. This is because the algorithm uses a time delay in the apparatus representing city $I$ equal to $\alpha 2^I$, where $\alpha$ is strictly longer than the longest city-to-city delay in the problem. In city $N$, the time delay is $\alpha 2^N$. The algorithm uses these time delays to differentiate between valid solutions and erroneous solutions to the TSP problem. For every valid solution, the photon representing that solution must pass through each city $i$, and must incur the corresponding delay. Hence, every valid solution is found only after time at least $\sum_{i=1}^N \alpha 2^i)$ or $O(2^N)$.

    The article approaches a problem that Optics Express readers might not normally consider. And, it may represent a new application of optics technology (that is out of my field). But, the use of physical models to approach $NP$ problems is not new. And, the algorithm is not faster than other known algorithms for the same problem.

  13. The New Bush Dictionary Definition on Executive Order Overturns US Fifth Amendment · · Score: 1

    There hasn't been much media notice of this; the UK's Guardian has an article explaining how the new authority will only be used to go after terrorists.

    terrorist /terorist/ -noun 1. a person, usually a member of a group, who disagrees with or criticizes Emperor Bush. [Origin: 1785-95; terror + -ist; cf. F terroriste] --Related forms terroristic, adjective

  14. Nature vs. Nurture ? on Firstborn Get the Brains · · Score: 3, Insightful

    Clearly, the first born gets all of the parents attention for some period of time, before the second is born. The second gets only (roughly) half of the parents attention. I would be very surprised if parental attention at a young age does not have a large effect on the child. Giving one child twice as much parental attention as the other, for the first year or two of their respective lives, seems likely to give the one an advantage over the other. A small difference in communication or learning skills acquired during that first year might make the first born better able to learn other things later in life.

    The observation that first-born children score higher on standardized tests does not speak to the cause of that difference. A correlation does not imply a cause.

    Coincidently, I am the first-born of three. I have a Ph.D., the middle sibling has a masters, and the youngest has a bachelors.

  15. Re:Freedom of Speech? on FCC Indecency Ruling Struck Down · · Score: 2, Insightful

    $ grep -i privacy us_constitution |wc -w
    0

    That's quite right. The power to invade my privacy without a warrant is not explicitly granted to the federal government by the constitution. Therefore, the federal government does not have that power.

    The bill of rights is not a complete list of rights. The 9th and 10th amendment clearly state that other rights exist, beyond those that are enumerated. However, the constitution is the complete enumeration of the powers of the federal government. Any power not specifically enumerated in the constitution is not granted to the government.

  16. Re:Why is it.... on French Voting Machines a "Catastrophe" · · Score: 1

    that what should be the a simple implementation in modern technology is an unmitigated train wreck?

    Every person involved in the process of designing, developing, procuring, and operating voting machines has a vested interest in the outcome of the elections. Some of those people are not entirely honest, and are willing to abuse their positions to influence the outcome of the elections.

    Is there a single current voting machine that is considered reliable?

    Yes. It is called "number 2 pencil".

    Now for the scary thought, the people we trust to [choose] [our] voting machines are making decisions about far more complex issues on a daily basis. I hate to say it, but we're doomed.

    They aren't. The decisions involved in designing, developing, and procuring distributed computerized systems which must be trustworthy, secure, reliable, and easy-to-use, are enormously complex. By comparison, the decision involved in daily life and business are very easy.

  17. Re:Why is it.... on French Voting Machines a "Catastrophe" · · Score: 1

    As for choosing the machines, you have two different sets of people. You have the choosers who are looking at machines from the way they are used and the current procedures that are in place and picking them based on that environment and funding available then you have all the people on the outside who have never helpped at an election and want to have machines that would stand up to the abuses and threats that a ATM filled with money and located in an unlit side street would have to face.

    Let me fix that for you:

    As for choosing the machines, you have two different sets of people: You have the people who want to rig elections, and who want electronic voting machines because they make election-rigging so much easier; Then, you have the people who want elections to be honest and verifiable, and who oppose electronic voting machines because they make election-rigging so much easier.

  18. Re:Well, that worked so well BEFORE on Florida to Scrap Touch Screen Voting? · · Score: 1

    My state wisely used the "Help America Vote Act" money to install this system of "electronic" voting. Election day went smooth as silk.

    Think about the phrase "electronic voting". What does that phrase actually say?

    The electronics voted for the candidate of their choice. The party that controlled the electronics won the election, smooth as silk. None of the other humans had any say in the matter. None of the "votes" by those humans were ever counted.

  19. The purpose of hardware? on IBM's Chief Architect Says Software is at Dead End · · Score: 1

    Hardware has two purposes:

    To the hardware vendors, the purpose of hardware is only to generate revenue. They will say or do just about anything to try to convince the rest of us to buy their product.

    To most companies, and most individuals, the purpose of hardware is to run the software. Nobody uses a raw computer. You use a word processor, or a spreadsheet, or a database, or some other application program. The hardware is just there to run the applications.

    I don't need a gazillion-gigahertz kilo-processor box on my desk. My company might need it in specialized units to run specific business or scientific applications. (It might even let us use fewer boxes to run the highly threaded apps that have been the norm in my business for the last 20+ years.)

  20. Project Assignment: on Professors To Ban Students From Citing Wikipedia · · Score: 1

    Project Assignment:

    Read some Wikipedia entries on topics covered in this course. Identify at least one significant error, and get it corrected. Document both the error and your corrected version using primary sources.

    Depending on the covered topics, and the ease of finding errors in the Wikipedia coverage of those topics, this could be a one-week homework assignment, a full term project, or something in between.

  21. The real reason on Bugged Canadian Coins? · · Score: 1

    This is obviously a terrorist strike directly at the heart of the American intelligence and defense agencies. By placing a few bugging devices in coins and paper money, they trick the government into ordering that no coins or paper money may be carried into any sensitive areas.

    From that time forward, our intelligence and defense people are unable to buy coffee or lunch at the cafeteria in the building. Without coffee, our intelligence people are not able to function. And our defense people are unable to see straight enough to hit a target.

    ;-)

  22. Re:You cannot know. You can only engineer. on How Do You Know Your Code is Secure? · · Score: 1

    Software on the other hand can be tested to failure. What's the excuse for not testing it?

    I didn't say that you should not test. I said that testing is an engineering method. Testing cannot provide proof of correctness of nontrivial programs. But the reason may not be obvious to some.

    If a program accepts N bits of input, testing requires O(2^N) units of effort (time or parallel resource). For small values of N this might be possible. But nontrivial programs usually accept lots of input. Values of N greater than a few hundred quickly lead to intractable numbers of test cases. Most nontrivial programs will accept thousands or millions of bits of input.

    What's worse, many programs will accept arbitrarily large amounts of input. Try to imagine the number of possible key/mouse sequences that you could input into your browser, or into your word processor. The number of possible input sequences is countably infinite. The sun will burn out long before they can all be tested.

    At most, a vanishingly small fraction of the possible inputs can be tested. If those test inputs are randomly selected from the space of possible inputs, then they may be considered as a statistical sample of the program inputs, and the resulting outputs can be considered as a statistical sample of the outputs. But, at best, you still only have statistical confidence in the results.

    If you carefully choose the test cases, you may be able to use logic to gain increased "coverage", but then the population is not randomly selected, and so such methods fail to provide statistical confidence. An error or omission in the test-case selection may completely fail to select some cases that are actually very likely to occur.

    As an engineering method, testing can be quite useful. But testing can not provide proof of properties of nontrivial programs.

  23. You cannot know. You can only engineer. on How Do You Know Your Code is Secure? · · Score: 2, Insightful

    I think it was Knuth who said, "In theory, theory and practice are the same. In practice, they are not."

    In theory, for any nontrivial program, you cannot know absolutely that it is secure. You cannot even know that it will terminate. The Turing showed that there is no algorithm which will decide if a program will halt. Most other problems of program behavior can be reduced to halting. (Just place a call to exit() immediately after the code that outputs the behavior in question.) In general, there is no way to prove that a program has any particular property that can be reduced to a termination property.

    The choice of language does not matter, either. Turing used a language that was very primitive, even compared with the simplest assembly languages. But Turing's language is equivalent in computing power to every modern general-purpose programming language. Church's completeness hypothesis is widely accepted as valid, though a proof in the strict sense cannot be written. So, Turing's mathematical proof of the halting theorem is valid for every modern programming language.

    There are some programs for which we do know that the program is correct. Such programs are all very small, solve well-defined mathematical problems, and are written in well defined functional programming languages. These proofs depend on very careful, mathematical definitions of the programming language, and of the function to be computed. The programming language is, strictly, an algebra. The proofs simply show that the algebraic formula (the program) transforms the algebraic input to the correct algebraic output. In every case, such proofs are quite difficult and tedious. And, as noted above, they are not possible in the general case.

    In practice, we can apply methods that are known as "engineering". That is, we can apply logic, design, inspection, review, and testing to develop some amount of confidence that it will behave as expected. But, engineering methods do not provide certainty. They only provide high confidence. The choice of language and tools have some effect on the ease or difficulty of doing the engineering work, but do not change the boundaries of what is possible.

    How do we "know" that a bridge will not fall down. There are no proofs of bridges. There is only engineering. Engineers apply logic, experience, design, inspection, reviews, and tests, so that they can have confidence in the design. The confidence is based on statistics. For a given shape of steel or concrete, we can measure loads that cause the steel to fail, and we can measure the variance in those loads due to the manufacturing tolerances of the material. When we use that shape and material to build the bridge, we can have statistics about how much load the bridge can support without failing. But even with all that engineering, sometimes bridges do fall down. The load measurements are only statistics, not proofs. There is always a confidence interval around every measurement, and the confidence can never be 100 percent.

    We can never have absolute proof of any property of any real, nontrivial program. We can have confidence as close to 100 percent as we want, if we spend enough effort on the engineering.

  24. It's the enviroment, not the language. on Modernizing the Common Language - COBOL · · Score: 2, Insightful

    The problem with all of these modernization projects is not the language. It is the mass of old data, and the huge mass of business rules that are implemented by the old code. Reimplementing the business rules in new code, without interrupting the business, is just about impossible. Turns out the easy way is usually to just port the old Cobol code to the new environment.

    The problem is not the language. The problem is the environment. Consider: A lot of that old Cobol code presently runs on Autocoder 790 systems, which are run by emulators on an OS 360 system, which is run by an emulator on a 390 series "mainframe", which is run by an emulator in the old Sun box that gathers dust in the corner of the old data center.

    We really don't need a new language. What we need is something like a Cobol compiler, with an ISAM file-system emulation library, that outputs code for a well defined machine such as a java virtual machine. Then the resulting executables can run on whatever box happens to be handy next year.

    This is either funny or insightful. Maybe both.

  25. Re:But why? on U.S. Bars Lab From Testing E-Voting Machines · · Score: 3, Insightful

    It's never been explained, to my satisfaction, why the use of paper ballots (or at least paper TRAILS), had to be replaced with the computer-voting machines.

    It's really very simple. Paper records (such as ballots) are the evidence that can be used to verify the results of an election, or to prove when election rigging has occurred. If you want to rig elections without getting caught, it is essential that there be no evidence. Hence, the paper had to be eliminated from the process.

    The only people who oppose paper ballots are the ones who want to rig elections.