But how do I know that the cheating doesn't happen at this stage? It would be very easy for the machine to count all votes as being for George Bush regardless of what the bottom half of the ballot says (because the bottom half of the ballot has been destroyed).
No, because...
It claims to get around this by some auditing process.
If you READ THE POXY PAPER you would understand the auditing process. The candidates can audit 50% of the votes to check that they were counted correctly without violating voter anonymity. A single incorrectly counted vote has a 50/50 chance of being missed. Thirty incorrectly counted votes have a chance of 1/1,000,000,000 of going undetected. The voters themselves verify that it is their votes that are being counted.
If you had read the paper (it isn't complicated) you would know that - you can only verify that the mark you made was the mark that was recorded, you cannot verify which option you marked - the auditors (normally the candidates) randomly sample the ballots before and after the election in such a way that they can verify statistically that counting proceeded fairly without violating voter anonymity. The chance of k miscounted votes going undetected is 1/2^k, so just thirty miscounted votes will have less than one in a billion chance of going unnoticed.
What on Earth does this system have to do with touch screens?
You should also look into the risks associated with large chemical plants. Some of the compounds used in bulk in large-scale industrial chemistry are frighteningly toxic: a worst case scenario would be on a par with an extreme nuclear accident.
I quote from the site above:
The NRC must approve containers used to transport used nuclear fuel. Before the agency certifies container designs, the containers must meet rigorous engineering and safety criteria. In addition, the container designs must be able to pass a sequence of hypothetical accident tests involving forces greater than the containers would experience in actual accidents.
These test conditions have included:
a 30-foot free fall onto an unyielding surface, which would be equivalent to a head-on crash at 120 mph into a concrete bridge abutment
a puncture test allowing the container to fall 40 inches onto a steel rod six inches in diameter
a 30-minute exposure to fire at 1,475 degrees Fahrenheit that engulfs the entire container
submerging of the same container under three feet of water for eight hours.
Containers also are subject to separate testing under 200 meters of water for eight hours.
In addition to the tests required for NRC certification, engineers and scientists at Sandia National Laboratories in New Mexico conducted a wide range of tests on used nuclear fuel transportation containers in the 1970s and 1980s. These tests included:
running a flatbed tractor-trailer carrying a container into a concrete wall at 84 mph
placing a container on a rail car that drove into a concrete wall at 81 mph
placing a container on a tractor-trailer broadsided by a train locomotive traveling at 80 mph.
In all cases, post-crash assessments showed that the containers, although slightly dented and charred, would not have released their contents.
The NRC also conducted a study in 1987 to evaluate further the ability of used fuel transport containers to withstand real accidents. Using data from severe accidents of all kinds, the NRC concluded that transport containers designed to NRC requirements would withstand actual accidents.
Other Sandia tests evaluated a terrorist attack, subjecting a container to a device 30 times more powerful than a typical anti-tank weapon. The test resulted in a quarter-inch-diameter hole through the primary containment wall.
The NRC estimates that such a hole would have resulted in the release of less than 10 grams--about one-third of an ounce--of used fuel.
In combination with actual testing, transportation container manufacturers use computer programs and scale models to evaluate the containers' protective capabilities and verify--with a substantial margin of safety--that the containers meet NRC requirements.
NRC regulations also require the establishment of a security plan to ship used nuclear fuel safely to the used fuel repository at Yucca Mountain, Nev., and implementation of this plan before shipments begin. The NRC will track and monitor these shipments carefully over the entire route. The agency must review and approve the plan and procedures to protect against radiological sabotage or theft in advance.
On one hand we have an established Harvard Phd, who has testified before the U.S. congress, against a game journalist with a bachelors degree in Psychology. Hmmm...
This is known as an ad hominem attack -- that is, an attack upon the critic, not the criticism.
It actually is a valid counter point because anybody who is getting their funding from the oil industry has an innate bias towards conclusions that benefit the oil industry. This is obvious.
Hm. It's much easier to attack the man than the argument, which is what you do here. If this work has passed peer review, surely you should lend it as much credence as any similar study. Of course, one could turn the argument on its head: if one has made an investment in proving anthropogenic global warming, one has an innate bias towards conclusions that support that hypothesis. This is obvious - at least, it is to you.
Not a single one. Not one in all of those piles of papers, not one damn paper.
It does mean there is not an official, unquestioned consensus. In the 1970s, there was also a consensus that we were all going to be in a new Ice Age by now.
Ironically, Real Climate is one of those places with an established tradition of deleting posts that question the "concensus" view.
Hell, one guy even put out a book called The Skeptical Environmentalist
The "one guy" was a political scientist name Bjørn Lomborg. How is he qualified to make judgements about climate science?
Well, he was a professor of statistics, which I'd say was an excellent qualification for judging scientific work. By the way, have you actually read his book? You should. You might learn something. At the very least you might be able to offer a credible counter-argument. In particular, you should check out the critiques and replies: http://www.lomborg.com/critique.htm (assuming your intention is to acquire an informed point of view...)
On the other hand the detractors all seem to fall into two categories: 1) Industry funded pseudo-scientists 2) People who don't know jack about climatology
Right, so any scientists working for industry are clearly corrupt and stupid. Well, that'll save some time: we don't have to consider any of their arguments, regardless of merit. And people who understand statistics, say, are clearly not qualified to point out egregious flaws in the methods of climatologists, so we can discount them without consideration too.
I must thank you for pointing out this novel method you have for conducting research: it's going to make my life as an academic much, much easier. Well, that's assuming I can get arguments of the form "we can ignore findings by Bloggs and Scraggs: the former is clearly an industry shill and the latter has no relevant qualification" past the peer review process.
I just ask for one. One legitimate paper that really shows valid evidence to discredit the consensus. I assume said paper will be delivered by Godot.
Do check out the papers by McIntyre et al. And if you feel up to it, offer a critique. Although I must warn you: ad hominem attacks really don't carry any weight outside fanboy circles.
If you're not in the field, I recommend realclimate.org.
And for a different point of view, consider www.climateaudit.org.
Climate Audit points out that
(1) the temperature record for the last 1000 years is very hard to pin down (we only have reliable data for the last century, the rest has to be inferred from highly noisy and questionable sources such as tree rings) and
(2) the statistical methods used to connect CO2 levels to temperatures do not hold up to scrutiny. In fact, the methods employed are almost guaranteed to produce a "global warming hockey stick graph", even if you just feed them random numbers.
Re:Developers and SQL
on
The Art of SQL
·
· Score: 2, Insightful
Normalisation is a tool to protect the integrity of the database. It is concerned with the logical model of the data. It should have nothing to do with the underlying physical representation of the data (ask a competent DBA). Denormalisation is a dangerous hack.
Re:Developers and SQL
on
The Art of SQL
·
· Score: 2, Insightful
Of course, your B-tree traversal code is going to understand issues of concurrency, replication, locking, optimisation, scalability, failure, error recovery, robustness in the face of change of the database layout, and be maintainable by everyone else who comes after you.
Or maybe you could leave that to the DBMS which already understands these things.
Mercury is an industrial strength, state-of-the-art compiler for a declarative programming language comprising some half a million lines of code. The project has been running for over ten years with multiple developers working at any given time, some of which are in different locations.
Key aspects of the development model are:
(1) Use a good source code control system (we use cvs, but are considering svn).
(2) Add at least one test case for every piece of functionality you add to the system and for every bug that is discovered during use.
(3) Use a robust, automated build-and-test system.
(4) All code changes should (a) compile, (b) not break any test cases, and (c) -this is vital- pass peer review on a mailing list.
(5) All code should be adequately documented. Every change should be accompanied by a log message explaining the rationale for the change and what the changes were and a unified source code diff.
(6) Have a common coding standard for things like naming, layout, commenting, and preferred idioms. Shoot any coders that use more than 79 columns in their code. Avoid complexity and cleverness unless it is absolutely warranted.
(7) Code should check all error conditions. Exceptions are rarely a good error reporting mechanism.
(8) Have nightly builds and test runs.
(9) Your watchwords should be discipline, cleanliness, simplicity.
Science, being empirical, is defeasible: that is, we can never prove statements about the world, but we can try to find counter-examples proving them wrong. Any experiment can lead to a result that blows the current theory out of the water.
There is no logical justification for empiricism, it's just one of those things, like Occam's Razor, that seem to work very well.
Without empiricism, we have no sensible way of making predictions about the world. If we've just been lucky so far (i.e., if empiricism doesn't really work) then one day we'll have to throw all our theories away. If empiricism *does* reflect the way the world works then we can expect the current amazing successes based on the empirical assumption to continue for as long as we do.
No, XML is semantic. Syntax defines that '<' and >' and '</' are used in XML. The tags include words. Those words can have meaning; hence semantic. Get it? words: meaning.
No, words are just syntax. You need to have an interpretation of those words to give them a semantics. Communicating parties need to agree upon a common interpretation.
An example: consider the binary number 111100100101010100101000... What does this mean? It could be a phone number, an XML document, an executable binary, next week's winning lottery ticket numbers - anything at all in fact. Even if we treat this number as a character stream and see words within it in some kind of order, that *still* doesn't give it an independent semantics. Until you supply an interpretation it's just a stream of bits - syntax, in other words. There is a big difference between '3/4' and... a,1.5,2,x,zxxx etc. What do these mean? Suppose someone supplies you with a file that has data in columns separated by spaces. Are the spaces simply separators, or are they part of the data? What do tabs mean? What about embedded quotes in text strings? XML is a way to remove this ambiguity.
This isn't an argument against place-value notation (which, by the way, works very well for numbers, words, sequences, fractions, expressions, procedure calls, etc. etc. - look at functional programming if you think there's a problem here.) Yes - what a laugh - I am. Note the word 'compressed'. The use of (tee hee) repeated text tags (giggle) means that it can (chuckle) be easily compressed (titter) and is small.
So efficient to you means (a) turning your data into a huge text stream in which there is more tag information than data, (b) compressing said stream (how? with text compression? That isn't cheap.), then (c) having the receiver decompress the stream (not cheap) and (d) parse the stream (definitely not cheap if you're going to do it properly.)
Efficient to me means compact and self-parsing. I can easily provide viewing/editing tools for those that need them. Unfortunately it's clear the XML designers couldn't. No. XML is a very carefully designed and widely used specification. You seem to have a bias against usefulness. If you want to use arbitrary and non-portable binary formats, do, but don't expect anyone else to be interested in using that format.
If XML were carefully designed it's specification document would be very thin, rather than a tree-killing pile of volumes detailing hack upon hack to fix problems with the underlying scheme.
I have no problem with a widely adopted exchange scheme. What I have a problem with is a shockingly badly designed widely adopted exchange scheme. Its unbiquity is the only positive thing I can think of to say about XML.
A major point of XML is that the semantics should be explicit.
No, XML is concerned with representation (i.e. syntax). The semantics are associated with an interpretation of that representation.
If you don't repeat the tags, you reply purely on position to indicate meaning. This is a Bad Thing.
I agree completely. Fractions like 3/4 always confuse me. If only people would write
<RATIONAL NUMERATOR=3 DENOMINATOR=4/>
XML can be read reasonably efficiently,
No, it can't. Tag-soup parsers are not a solution (have you seen the size of the XML standard?) Parsing XML properly is definitely not cheap. There's no sensible way to seek ahead in the data stream. The list goes on.
but always preserves meaning, ignoring the horrors of character sets and byte order.
Yes, these problems had never been solved before XML came along.
Compressed XML is a very efficient way to transmit data.
Ha ha ha ha ha! My God, you're serious.
The point of 'human reading and writing' is that in the last resort, you still have you data!
It's no harder to write a pretty printer for an arbitrary tree structure than it is to write one for XML (although no sane person would so obscure the real data behind all those tags an attributes the way that XML does.)
The auditing process provides statistical guarantees that (in the absence of complete collusion by the polling agents) (a) every ballot is counted, (b) no extra ballots have been inserted, and (c) no ballot has been tampered with.
Furthermore, all of this information is provided on the web. Each voter can check that their vote was recorded and anybody at all can check the final tally (the plaintext electronic ballot papers are also published, but they cannot be traced back to individual voters.)
It's a great system. It's just a shame that the paper doesn't explain it simply enough (for the Slashdot crowd to understand, at any rate:-)
So, uhh.. given that the whole point of electronic voting is to make voting and specifically the counting process easier and quicker, what does this help?
The voting procedure takes exactly the same amount of time per ballot cast. The counting is performed electronically (i.e. all but instantly). The auditing can be automated and provides statistical guarantees that electoral fraud will be detected (and that the perpetrator will be identified.)
I mean, after you've gone through all of this rigamarole, what it seems you're left with at the end is a bunch of receipts that still need to be counted by hand?
Tallying votes automatically is trivial this way ("is there or is there not a tick in this box?") What's more, since the completed ballot images are published online anyway, anybody can perform the count for themselves.
I never cease to be amazed at what is considered insightful on this forum.
The *process* is very simple and completely automatic.
The *reason* it works is *slightly* more complex, but is considerably easier to understand than, say, public key cryptography. This is not rocket science.
Properties of the system:
- it allows each voter to verify that their vote has been recorded;
- it does not allow a voter, or anybody else involved, to prove which way they voted (i.e. voter anonymity is preserved throughout);
- it includes an (automatic) auditing scheme that provides statistical near certainty (in the absence of *complete* collusion by the authorities) of detecting fifty or more instances of ballot rigging.
It's elegant and simple and very easy to verify. Evidently, alas, the paper does not make this clear to everyone...
It's clear that many people have either not read the paper or have misunderstood the proposal. Here's my attempt at a brief description of how and why the scheme works.
VOTING
(1) The voter makes a choice at the voting machine. (2) The voting machine prints out a partial receipt showing the voter's choice and the voter verifies that the partial reciept is correct. (3) The voter makes a choice as to whether to keep the top part or the bottom part of the receipt. (4) The voting machine completes the print-out of the receipt by adding a serial number (used for verification purposes) to the bottom. (5) The voter tears the top part from the bottom part, keeps the part they picked in step (3), and gives the other part to an official who destroys it in the presence of the voter.
Only the non-destroyed part of a receipt is stored digitally. This information is used for verification and counting and is made public on the web.
The top and bottom parts of the receipt are printed on transparent plastic; individually they show just random dots, but when superimposed they reveal an image showing the voter's choice.
A one-time pad is used to construct the parts of the receipt (the counting process has the other copy of the OTP.)
The random choice by the voter as to which part to keep means that a compromised voting machine can always be spotted.
VERIFICATION
Possession of one part of a receipt is sufficient to prove the legitimacy of the receipt, but not to identify the voter's choice (only the counting process, with the OTP, can reconstruct the original ballot.)
After voting, a copy of the non-destroyed part of each voter's receipt is published on the web. A voter can verify that their receipt and the one on the web are the same (and hence that their vote will be counted.)
COUNTING
A pipeline of independent trustees processes the digital receipt-parts, with the final stage of the pipeline producing the original, readable complete receipts, from which the tally can be made.
(In essence, the OTP used to construct the original, complete receipts is itself encrypted and distributed among the pipeline stages.)
Each receipt part at each stage of the pipeline has a 50% chance of being audited. Provided there is not complete collusion between the pipeline stages, corruption is exponentially likely to be detected. The auditing procedure never reveals enough information to work back to a particular voter, hence anonymity and integrity are both assured.
Full details are, of course, available in the paper...
For an extremely accessible and entertaining overview of "what it's all about", the "Introducing..." books come highly recommended. They won't teach you any formulae, but they will give you an excellent picture of what mathematics/physics/quantum theory/et cetera are all about and the history of the big questions that have driven these fields. Don't be put off by the cartoonish style of the books - they're written by people who know and love their subject.
Check out http://www.amazon.com/exec/obidos/tg/detail/- /1840 460571/qid=1059872794/sr=8-1/ref=sr_8_1/104-380183 5-2881520?v=glance&s=books&n=507846 http://www.am azon.com/exec/obidos/tg/detail/-/1840 460113/qid=1059872822/sr=5-1/ref=cm_lm_asin/104-38 01835-2881520?v=glance http://www.amazon.com/exec /obidos/tg/detail/-/1840 461586/qid=1059872822/sr=5-2/ref=cm_lm_asin/104-38 01835-2881520?v=glance (Don't pay too much attention to the odd poor review: they're from people who were expecting textbooks where these books simply try to show you the big picture.)
For physics and mathematics, I cannot recommend volume I of Richard Feynman's "Lectures on Physics" highly enough. Feynman is the clearest scientific writer I've ever come across. Within a few pages he can take you from basic addition all the way to an understanding of calculus that my entire schooling in the fast stream for mathematics never managed to convey.
Look at http://www.amazon.com/exec/obidos/ASIN/0201021 153/ qid=1059873620/sr=2-3/ref=sr_2_3/104-3801835-28815 20
Nothing worked for me until I tried aikido. Aikido was, at long last, something that held my attention, kept me interested and got me fit. After four or five months I suddenly realised that I'd lost all the fat I'd been trying to shift for a decade and had, mirabile dictu, acquired some muscles.
Even better, I haven't had to give up beer or good living. I still eat pretty much the way I always have.
Aikido may not work for you, but I recommend trying some martial art. They're interactive and absorbing in a way that solo exercise can't compete with.
My waist line has gone from 36" to 30" in less than a year. Magic.
PROBLEM: given eight marbles, one is lighter or heavier than the others. Identify the different marble and whether it is lighter or heavier using at most three weighings on a balance scale.
SOLUTION: label the marbles a, b, c, d, e, f, g and h. Then...
1 - abc = def 2 - a = g 3 - a = h -- can't happen! 3 - a < h -- h is heavy 3 - a > h -- h is light 2 - a < g -- g is heavy 2 - a > g -- g is light 1 - abc < def 2 - ad = be 3 - a = c -- f is heavy 3 - a < c -- can't happen! 3 - a > c -- c is light 2 - ad < be 3 - a = b -- e is heavy 3 - a < b -- a is light 3 - a > b -- can't happen! 2 - ad > be 3 - a = b -- d is heavy 3 - a < b -- can't happen! 3 - a > b -- b is light 1 - abc > def 2 - ad = be 3 - a = c -- f is light 3 - a < c -- c is heavy 3 - a > c -- can't happen! 2 - ad < be 3 - a = d -- b is heavy 3 - a < d -- can't happen! 3 - a > d -- d is light 2 - ad > be 3 - e = b -- a is heavy 3 - e < b -- e is light 3 - e > b -- can't happen!
It's not too hard to solve this one systematically if you keep track of the knowledge of which marbles may be lighter or heavier after each weighing and exploit the fact that the four marble problem cannot be solved in only two weighings.
I'll try to simplify coult's (already very clear) explanation so you can understand.
Point 1. Fourier showed that any complex waveform is equivalent to a sum of simple sine waves.
Point 2. If I am transmitting a signal by modulating a sine wave (I can use either amplitude or frequency modulation - it makes no difference) then I am therefore using several fundamental frequencies.
Point 3. If someone else is transmitting using the same frequency (at least in part) then the signal you recieve will be the interference pattern of the two signals - which will be quite different from either original signal and, since we're assuming omnidirectional transmission, you won't be able to work out who is sending what.
Point 4. It therefore follows that transmitting a message takes up more than one frequency and that if anybody else uses that frequency at the same time then the message will be garbled.
Point 5. Therefore, one must ensure that separate transmitters in the same neighbourhood use separate parts of the radio spectrum.
Conclusion: bandwidth is a limited resource; the issue has nothing to do with the fidelity of the receiver.
Taking an OO approach to modelling relations is hard. For a start, you have to distinguish between pointer equality and value (structural) equality. Moreover, there is nothing unusual about having a set of mutually dependent relations; while such a thing *can* be represented in an OO language, it does so *despite* the focus on hierarchy endemic to the OO style.
Why do you have a problem with (whatever mechanism is used for) consistency checking with RDBMS? What happens in OODBMS that is so much better?
I really don't think you understand the relational model. It's honestly not that hard. One should be able to grasp the key points in the course of a tea break. Where on Earth do you get the idea that the only relation one can express in an RDBMS is one-to-many? Many-to-one, one-to-one, one-to-many and many-to-many relations are all equally easy to describe.
While current RDBMS are not yet *purely* relational, they aren't that far off. However, there is a wealth of evidence to support RDBMS as superior to OODBMS. If you honestly aren't bright enough to grok basic set theory, for that is all it is, then you really shouldn't be in the database business. Put another way: there are mere mortals, then there are really dumb people.
I spent five or six years interviewing applicants for the computer science degree at Cambridge University (that is, the real Cambridge in England, not MIT.) Cambridge is the premiere scientific university in the country, if not the world. Everybody who applied was offered an interview; a process of self-selection is evident - Cambridge tries to select only the very best students.
1. At my college (Cambridge is a collegiate system) we aimed to make six or seven offers and expect three or four candidates to get the required grades (interviews happen a few months prior to the applicants taking most of their A levels.)
2. If we had twenty to thirty applicants, we would usually find *one* that we had to have, one that seemed like a good bet, and thereafter we were scraping the barrel. The difference between the ones you were interested in and the rest was unbelievable.
3. All the applicants were taking fast-path maths at school and usually had their first maths A level already in the bag at grade A. All the applicants had solid gold references from their schools and had predictions of all A-grades for the rest of their A levels.
4. This means that as interviewers, school performance is useless to us as selectors since it gives us no information on which to differentiate between students. What's left is interview, which means making a decision based on less than half an hour with a terrified applicant. Another tool we could use (and will probably return to) is pre-filtering by making applicants sit an examination of our own devising.
5. We went to great lengths to put the interviewees at ease, explaining that there were no trick questions, that if we asked something with a seemingly obvious answer then we genuinely expected the obvious answer, that we would be guiding them through some difficult problems to see how they worked and so forth and so forth. Every interview started with a brief chat about their interests and a warm up problem. We then aimed to get them through at least two hard problems with the aim of testing a range of the talents we believe a good computer scientist should possess.
6. In most cases we only got through a single hard problem. In all too many cases we didn't get much further than the warm-up problem.
7. The warm up problem was usually something like - prove that the product of any three consecutive integers is divisible by six; - draw y = x^2 (the number of people that cannot do this makes one weep); - (our favourite) imagine someone had asked *you* to design the internet, sketch out a design.
8. Many interviewees could not tell you straight off that (2^57) / 2 = 2^56.
9. Despite already having a grade A at A level, these star pupils did not have the mathematical facility that we the interviewers had when we did our O levels (O levels were taken at age 15, now replaced by GCSEs, and one usually took eight or nine of them, while A levels are taken at age 17 and one usually takes three or four of them.)
10. Sixteen years ago the UK government changed the school examination system from O levels to GCSEs, ostensibly to ensure everybody studied the same curriculum, although a cynic might suggest that it was done just to be seen to be doing *something* about education.
11. In order to make the change look like a roaring success, the exam results for the first years were undeniably sugar coated.
12. Either way, pupils were entering A level courses less well prepared that they did under the O level system.
13. The introduction of school league tables by bureaucrats that simply do not understand statistics has led to competition and hence grade inflation in the following ways: higher marks given for coursework, which forms a substantial part of the overall exam result; selection of easier examination boards for A levels (not all examination boards set exams of the same level of difficulty - some will even award two A levels (e.g. one for pure and one for applied mathematics) for the same course content that will only net you one A level with another board); and generally making the A and B grades so broad that there is a huge gulf between a good A and a weak A.
14. Despite wails of frustration from the immediate consumers of these exam results (employers and universities) that standards are falling, the UK government (and the school teaching bodies) insists that year-on-year improvements in the number of people getting As is the product of better and better teaching (although teachers' pay has not risen commensurately and there is a reasonably high turnover rate in teaching - these are clearly extremely well motivated and talented teachers!)
15. It doesn't help that the government insists that everybody must be an academic at heart and is close to achieving its goal of getting 50% of school leavers into higher education. This means that in the most optimistic case, most university students are going to have an IQ around 100. I'm not making value judgements about the relative worth of intelligence, but trust me that an IQ that mediocre is a *very* bad sign for someone aiming at a degree - unless the degree is trivial to obtain.
16. We're already at the stage where having a degree doesn't tell you much about someone's ability. So yet again employers have to fall back on unreliable interviews to make a decision.
17. Even if you think grades could and should be awarded for objective levels of technical ability, that doesn't really help employers in the market for the very best candidates.
18. I'd really like to conduct an experiment where I get a group of successful GCSE level, A level and degree level students to sit the corresponding examinations from twenty years ago. I'd lay money on the results being shockingly poor.
No, because...
If you READ THE POXY PAPER you would understand the auditing process. The candidates can audit 50% of the votes to check that they were counted correctly without violating voter anonymity. A single incorrectly counted vote has a 50/50 chance of being missed. Thirty incorrectly counted votes have a chance of 1/1,000,000,000 of going undetected. The voters themselves verify that it is their votes that are being counted.
If you had read the paper (it isn't complicated) you would know that
- you can only verify that the mark you made was the mark that was recorded, you cannot verify which option you marked
- the auditors (normally the candidates) randomly sample the ballots before and after the election in such a way that they can verify statistically that counting proceeded fairly without violating voter anonymity. The chance of k miscounted votes going undetected is 1/2^k, so just thirty miscounted votes will have less than one in a billion chance of going unnoticed.
What on Earth does this system have to do with touch screens?
You should also look into the risks associated with large chemical plants. Some of the compounds used in bulk in large-scale industrial chemistry are frighteningly toxic: a worst case scenario would be on a par with an extreme nuclear accident.
I quote from the site above:
> Technically they ruin the test because it's no longer a 1:1 comparison.
Absolutely. Exams are also unfair because they give an advantage to students who have revised for them. You should write to your congressman.
This is known as an ad hominem attack -- that is, an attack upon the critic, not the criticism.
Tiresome.
Hm. It's much easier to attack the man than the argument, which is what you do here. If this work has passed peer review, surely you should lend it as much credence as any similar study. Of course, one could turn the argument on its head: if one has made an investment in proving anthropogenic global warming, one has an innate bias towards conclusions that support that hypothesis. This is obvious - at least, it is to you.
Please check out the papers by McIntyre et al: http://www.climateaudit.org/?page_id=354
Ironically, Real Climate is one of those places with an established tradition of deleting posts that question the "concensus" view.
Well, he was a professor of statistics, which I'd say was an excellent qualification for judging scientific work. By the way, have you actually read his book? You should. You might learn something. At the very least you might be able to offer a credible counter-argument. In particular, you should check out the critiques and replies: http://www.lomborg.com/critique.htm (assuming your intention is to acquire an informed point of view...)
Right, so any scientists working for industry are clearly corrupt and stupid. Well, that'll save some time: we don't have to consider any of their arguments, regardless of merit. And people who understand statistics, say, are clearly not qualified to point out egregious flaws in the methods of climatologists, so we can discount them without consideration too.
I must thank you for pointing out this novel method you have for conducting research: it's going to make my life as an academic much, much easier. Well, that's assuming I can get arguments of the form "we can ignore findings by Bloggs and Scraggs: the former is clearly an industry shill and the latter has no relevant qualification" past the peer review process.
Do check out the papers by McIntyre et al. And if you feel up to it, offer a critique. Although I must warn you: ad hominem attacks really don't carry any weight outside fanboy circles.
And for a different point of view, consider www.climateaudit.org.
Climate Audit points out that
(1) the temperature record for the last 1000 years is very hard
to pin down (we only have reliable data for the last century, the
rest has to be inferred from highly noisy and questionable sources
such as tree rings) and
(2) the statistical methods used to connect CO2 levels to temperatures
do not hold up to scrutiny. In fact, the methods employed are almost
guaranteed to produce a "global warming hockey stick graph", even if
you just feed them random numbers.
Normalisation is a tool to protect the integrity of the database. It is concerned with the logical model of the data. It should have nothing to do with the underlying physical representation of the data (ask a competent DBA). Denormalisation is a dangerous hack.
Of course, your B-tree traversal code is going to understand issues of concurrency, replication, locking, optimisation, scalability, failure, error recovery, robustness in the face of change of the database layout, and be maintainable by everyone else who comes after you.
Or maybe you could leave that to the DBMS which already understands these things.
Mercury is an industrial strength, state-of-the-art
compiler for a declarative programming language
comprising some half a million lines of code. The
project has been running for over ten years with
multiple developers working at any given time, some
of which are in different locations.
Key aspects of the development model are:
(1) Use a good source code control system (we use cvs,
but are considering svn).
(2) Add at least one test case for every piece of
functionality you add to the system and for every bug
that is discovered during use.
(3) Use a robust, automated build-and-test system.
(4) All code changes should (a) compile, (b) not break
any test cases, and (c) -this is vital- pass peer
review on a mailing list.
(5) All code should be adequately documented. Every
change should be accompanied by a log message explaining
the rationale for the change and what the changes were
and a unified source code diff.
(6) Have a common coding standard for things like
naming, layout, commenting, and preferred idioms.
Shoot any coders that use more than 79 columns in
their code.
Avoid complexity and cleverness unless it is absolutely
warranted.
(7) Code should check all error conditions. Exceptions
are rarely a good error reporting mechanism.
(8) Have nightly builds and test runs.
(9) Your watchwords should be discipline, cleanliness,
simplicity.
-- Ralph
Ahhh - no.
Science, being empirical, is defeasible: that is,
we can never prove statements about the world,
but we can try to find counter-examples proving
them wrong. Any experiment can lead to a result
that blows the current theory out of the water.
There is no logical justification for empiricism,
it's just one of those things, like Occam's Razor,
that seem to work very well.
Without empiricism, we have no sensible way of
making predictions about the world. If we've
just been lucky so far (i.e., if empiricism
doesn't really work) then one day we'll have to
throw all our theories away. If empiricism
*does* reflect the way the world works then we
can expect the current amazing successes based
on the empirical assumption to continue for as
long as we do.
No, XML is semantic. Syntax defines that '<' and >' and '</' are used in XML. The tags include words. Those words can have meaning; hence semantic. Get it? words: meaning.
No, words are just syntax. You need to have an interpretation of those words to give them a semantics. Communicating parties need to agree upon a common interpretation.
An example: consider the binary number 111100100101010100101000...
What does this mean? It could be a phone number, an XML document, an executable binary, next week's winning lottery ticket numbers - anything at all in fact. Even if we treat this number as a character stream and see words within it in some kind of order, that *still* doesn't give it an independent semantics. Until you supply an interpretation it's just a stream of bits - syntax, in other words.
There is a big difference between '3/4' and... a,1.5,2,x,zxxx etc. What do these mean? Suppose someone supplies you with a file that has data in columns separated by spaces. Are the spaces simply separators, or are they part of the data? What do tabs mean? What about embedded quotes in text strings? XML is a way to remove this ambiguity.
This isn't an argument against place-value notation (which, by the way, works very well for numbers, words, sequences, fractions, expressions, procedure calls, etc. etc. - look at functional programming if you think there's a problem here.)
Yes - what a laugh - I am. Note the word 'compressed'. The use of (tee hee) repeated text tags (giggle) means that it can (chuckle) be easily compressed (titter) and is small.
So efficient to you means (a) turning your data into a huge text stream in which there is more tag information than data, (b) compressing said stream (how? with text compression? That isn't cheap.), then (c) having the receiver decompress the stream (not cheap) and (d) parse the stream (definitely not cheap if you're going to do it properly.)
Efficient to me means compact and self-parsing. I can easily provide viewing/editing tools for those that need them. Unfortunately it's clear the XML designers couldn't.
No. XML is a very carefully designed and widely used specification. You seem to have a bias against usefulness. If you want to use arbitrary and non-portable binary formats, do, but don't expect anyone else to be interested in using that format.
If XML were carefully designed it's specification document would be very thin, rather than a tree-killing pile of volumes detailing hack upon hack to fix problems with the underlying scheme.
I have no problem with a widely adopted exchange scheme. What I have a problem with is a shockingly badly designed widely adopted exchange scheme. Its unbiquity is the only positive thing I can think of to say about XML.
No, XML is concerned with representation (i.e. syntax). The semantics are associated with an interpretation of that representation.
I agree completely. Fractions like 3/4 always confuse me. If only people would write
No, it can't. Tag-soup parsers are not a solution (have you seen the size of the XML standard?) Parsing XML properly is definitely not cheap. There's no sensible way to seek ahead in the data stream. The list goes on.
Yes, these problems had never been solved before XML came along.
Ha ha ha ha ha! My God, you're serious.
It's no harder to write a pretty printer for an arbitrary tree structure than it is to write one for XML (although no sane person would so obscure the real data behind all those tags an attributes the way that XML does.)
XML is a screaming hack.
Stronger typing does not automatically solve this particular issue. Look at, for example, C.
Ha ha ha ha ha!
Yes, there is protection for the candidate.
:-)
The auditing process provides statistical guarantees that (in the absence of complete collusion by the polling agents) (a) every ballot is counted, (b) no extra ballots have been inserted, and (c) no ballot has been tampered with.
Furthermore, all of this information is provided on the web. Each voter can check that their vote was recorded and anybody at all can check the final tally (the plaintext electronic ballot papers are also published, but they cannot be traced back to individual voters.)
It's a great system. It's just a shame that the paper doesn't explain it simply enough (for the Slashdot crowd to understand, at any rate
So, uhh.. given that the whole point of electronic voting is to make voting and specifically the counting process easier and quicker, what does this help?
The voting procedure takes exactly the same amount of time per ballot cast. The counting is performed electronically (i.e. all but instantly). The auditing can be automated and provides statistical guarantees that electoral fraud will be detected (and that the perpetrator will be identified.)
I mean, after you've gone through all of this rigamarole, what it seems you're left with at the end is a bunch of receipts that still need to be counted by hand?
Tallying votes automatically is trivial this way ("is there or is there not a tick in this box?") What's more, since the completed ballot images are published online anyway, anybody can perform the count for themselves.
I never cease to be amazed at what is considered insightful on this forum.
The *process* is very simple and completely automatic.
The *reason* it works is *slightly* more complex, but is considerably easier to understand than, say, public key cryptography. This is not rocket science.
Properties of the system:
- it allows each voter to verify that their vote has been recorded;
- it does not allow a voter, or anybody else involved, to prove which way they voted (i.e. voter anonymity is preserved throughout);
- it includes an (automatic) auditing scheme that provides statistical near certainty (in the absence of *complete* collusion by the authorities) of detecting fifty or more instances of ballot rigging.
It's elegant and simple and very easy to verify. Evidently, alas, the paper does not make this clear to everyone...
It's clear that many people have either not read the paper or have misunderstood the proposal. Here's my attempt at a brief description of how and why the scheme works.
VOTING
(1) The voter makes a choice at the voting machine.
(2) The voting machine prints out a partial receipt showing the voter's choice and the voter verifies that the partial reciept is correct.
(3) The voter makes a choice as to whether to keep the top part or the bottom part of the receipt.
(4) The voting machine completes the print-out of the receipt by adding a serial number (used for verification purposes) to the bottom.
(5) The voter tears the top part from the bottom part, keeps the part they picked in step (3), and gives the other part to an official who destroys it in the presence of the voter.
Only the non-destroyed part of a receipt is stored digitally. This information is used for verification and counting and is made public on the web.
The top and bottom parts of the receipt are printed on transparent plastic; individually they show just random dots, but when superimposed they reveal an image showing the voter's choice.
A one-time pad is used to construct the parts of the receipt (the counting process has the other copy of the OTP.)
The random choice by the voter as to which part to keep means that a compromised voting machine can always be spotted.
VERIFICATION
Possession of one part of a receipt is sufficient to prove the legitimacy of the receipt, but not to identify the voter's choice (only the counting process, with the OTP, can reconstruct the original ballot.)
After voting, a copy of the non-destroyed part of each voter's receipt is published on the web. A voter can verify that their receipt and the one on the web are the same (and hence that their vote will be counted.)
COUNTING
A pipeline of independent trustees processes the digital receipt-parts, with the final stage of the pipeline producing the original, readable complete receipts, from which the tally can be made.
(In essence, the OTP used to construct the original, complete receipts is itself encrypted and distributed among the pipeline stages.)
Each receipt part at each stage of the pipeline has a 50% chance of being audited. Provided there is not complete collusion between the pipeline stages, corruption is exponentially likely to be detected. The auditing procedure never reveals enough information to work back to a particular voter, hence anonymity and integrity are both assured.
Full details are, of course, available in the paper...
For an extremely accessible and entertaining overview of "what it's all about", the "Introducing ..." books come highly recommended. They won't teach you any formulae, but they will give you an excellent picture of what mathematics/physics/quantum theory/et cetera are all about and the history of the big questions that have driven these fields. Don't be put off by the cartoonish style of the books - they're written by people who know and love their subject.
- /1840 460571/qid=1059872794/sr=8-1/ref=sr_8_1/104-380183 5-2881520?v=glance&s=books&n=507846m azon.com/exec/obidos/tg/detail/-/1840 460113/qid=1059872822/sr=5-1/ref=cm_lm_asin/104-38 01835-2881520?v=glancec /obidos/tg/detail/-/1840 461586/qid=1059872822/sr=5-2/ref=cm_lm_asin/104-38 01835-2881520?v=glance
1 153/ qid=1059873620/sr=2-3/ref=sr_2_3/104-3801835-28815 20
Check out
http://www.amazon.com/exec/obidos/tg/detail/
http://www.a
http://www.amazon.com/exe
(Don't pay too much attention to the odd poor review: they're from people who were expecting textbooks where these books simply try to show you the big picture.)
For physics and mathematics, I cannot recommend volume I of Richard Feynman's "Lectures on Physics" highly enough. Feynman is the clearest scientific writer I've ever come across. Within a few pages he can take you from basic addition all the way to an understanding of calculus that my entire schooling in the fast stream for mathematics never managed to convey.
Look at
http://www.amazon.com/exec/obidos/ASIN/020102
Cheers.
Nothing worked for me until I tried aikido. Aikido was, at long last, something that held my attention, kept me interested and got me fit. After four or five months I suddenly realised that I'd lost all the fat I'd been trying to shift for a decade and had, mirabile dictu, acquired some muscles.
Even better, I haven't had to give up beer or good living. I still eat pretty much the way I always have.
Aikido may not work for you, but I recommend trying some martial art. They're interactive and absorbing in a way that solo exercise can't compete with.
My waist line has gone from 36" to 30" in less than a year. Magic.
PROBLEM: given eight marbles, one is lighter or heavier than the others. Identify the different marble and whether it is lighter or heavier using at most three weighings on a balance scale.
SOLUTION: label the marbles a, b, c, d, e, f, g and h. Then...
1 - abc = def
2 - a = g
3 - a = h -- can't happen!
3 - a < h -- h is heavy
3 - a > h -- h is light
2 - a < g -- g is heavy
2 - a > g -- g is light
1 - abc < def
2 - ad = be
3 - a = c -- f is heavy
3 - a < c -- can't happen!
3 - a > c -- c is light
2 - ad < be
3 - a = b -- e is heavy
3 - a < b -- a is light
3 - a > b -- can't happen!
2 - ad > be
3 - a = b -- d is heavy
3 - a < b -- can't happen!
3 - a > b -- b is light
1 - abc > def
2 - ad = be
3 - a = c -- f is light
3 - a < c -- c is heavy
3 - a > c -- can't happen!
2 - ad < be
3 - a = d -- b is heavy
3 - a < d -- can't happen!
3 - a > d -- d is light
2 - ad > be
3 - e = b -- a is heavy
3 - e < b -- e is light
3 - e > b -- can't happen!
It's not too hard to solve this one systematically if you keep track of the knowledge of which marbles may be lighter or heavier after each weighing and exploit the fact that the four marble problem cannot be solved in only two weighings.
- Ralph
Yes: check out recursive transition networks.
I'll try to simplify coult's (already very clear) explanation so you can understand.
Point 1. Fourier showed that any complex waveform is equivalent to a sum of simple sine waves.
Point 2. If I am transmitting a signal by modulating a sine wave (I can use either amplitude or frequency modulation - it makes no difference) then I am therefore using several fundamental frequencies.
Point 3. If someone else is transmitting using the same frequency (at least in part) then the signal you recieve will be the interference pattern of the two signals - which will be quite different from either original signal and, since we're assuming omnidirectional transmission, you won't be able to work out who is sending what.
Point 4. It therefore follows that transmitting a message takes up more than one frequency and that if anybody else uses that frequency at the same time then the message will be garbled.
Point 5. Therefore, one must ensure that separate transmitters in the same neighbourhood use separate parts of the radio spectrum.
Conclusion: bandwidth is a limited resource; the issue has nothing to do with the fidelity of the receiver.
Taking an OO approach to modelling relations is hard. For a start, you have to distinguish between pointer equality and value (structural) equality. Moreover, there is nothing unusual about having a set of mutually dependent relations; while such a thing *can* be represented in an OO language, it does so *despite* the focus on hierarchy endemic to the OO style.
Why do you have a problem with (whatever mechanism is used for) consistency checking with RDBMS? What happens in OODBMS that is so much better?
I really don't think you understand the relational model. It's honestly not that hard. One should be able to grasp the key points in the course of a tea break. Where on Earth do you get the idea that the only relation one can express in an RDBMS is one-to-many? Many-to-one, one-to-one, one-to-many and many-to-many relations are all equally easy to describe.
While current RDBMS are not yet *purely* relational, they aren't that far off. However, there is a wealth of evidence to support RDBMS as superior to OODBMS. If you honestly aren't bright enough to grok basic set theory, for that is all it is, then you really shouldn't be in the database business. Put another way: there are mere mortals, then there are really dumb people.
I spent five or six years interviewing applicants for the computer science degree at Cambridge University (that is, the real Cambridge in England, not MIT.) Cambridge is the premiere scientific university in the country, if not the world. Everybody who applied was offered an interview; a process of self-selection is evident - Cambridge tries to select only the very best students.
1. At my college (Cambridge is a collegiate system) we aimed to make six or seven offers and expect three or four candidates to get the required grades (interviews happen a few months prior to the applicants taking most of their A levels.)
2. If we had twenty to thirty applicants, we would usually find *one* that we had to have, one that seemed like a good bet, and thereafter we were scraping the barrel. The difference between the ones you were interested in and the rest was unbelievable.
3. All the applicants were taking fast-path maths at school and usually had their first maths A level already in the bag at grade A. All the applicants had solid gold references from their schools and had predictions of all A-grades for the rest of their A levels.
4. This means that as interviewers, school performance is useless to us as selectors since it gives us no information on which to differentiate between students. What's left is interview, which means making a decision based on less than half an hour with a terrified applicant. Another tool we could use (and will probably return to) is pre-filtering by making applicants sit an examination of our own devising.
5. We went to great lengths to put the interviewees at ease, explaining that there were no trick questions, that if we asked something with a seemingly obvious answer then we genuinely expected the obvious answer, that we would be guiding them through some difficult problems to see how they worked and so forth and so forth. Every interview started with a brief chat about their interests and a warm up problem. We then aimed to get them through at least two hard problems with the aim of testing a range of the talents we believe a good computer scientist should possess.
6. In most cases we only got through a single hard problem. In all too many cases we didn't get much further than the warm-up problem.
7. The warm up problem was usually something like - prove that the product of any three consecutive integers is divisible by six;
- draw y = x^2 (the number of people that cannot do this makes one weep);
- (our favourite) imagine someone had asked *you* to design the internet, sketch out a design.
8. Many interviewees could not tell you straight off that (2^57) / 2 = 2^56.
9. Despite already having a grade A at A level, these star pupils did not have the mathematical facility that we the interviewers had when we did our O levels (O levels were taken at age 15, now replaced by GCSEs, and one usually took eight or nine of them, while A levels are taken at age 17 and one usually takes three or four of them.)
10. Sixteen years ago the UK government changed the school examination system from O levels to GCSEs, ostensibly to ensure everybody studied the same curriculum, although a cynic might suggest that it was done just to be seen to be doing *something* about education.
11. In order to make the change look like a roaring success, the exam results for the first years were undeniably sugar coated.
12. Either way, pupils were entering A level courses less well prepared that they did under the O level system.
13. The introduction of school league tables by bureaucrats that simply do not understand statistics has led to competition and hence grade inflation in the following ways: higher marks given for coursework, which forms a substantial part of the overall exam result; selection of easier examination boards for A levels (not all examination boards set exams of the same level of difficulty - some will even award two A levels (e.g. one for pure and one for applied mathematics) for the same course content that will only net you one A level with another board); and generally making the A and B grades so broad that there is a huge gulf between a good A and a weak A.
14. Despite wails of frustration from the immediate consumers of these exam results (employers and universities) that standards are falling, the UK government (and the school teaching bodies) insists that year-on-year improvements in the number of people getting As is the product of better and better teaching (although teachers' pay has not risen commensurately and there is a reasonably high turnover rate in teaching - these are clearly extremely well motivated and talented teachers!)
15. It doesn't help that the government insists that everybody must be an academic at heart and is close to achieving its goal of getting 50% of school leavers into higher education. This means that in the most optimistic case, most university students are going to have an IQ around 100. I'm not making value judgements about the relative worth of intelligence, but trust me that an IQ that mediocre is a *very* bad sign for someone aiming at a degree - unless the degree is trivial to obtain.
16. We're already at the stage where having a degree doesn't tell you much about someone's ability. So yet again employers have to fall back on unreliable interviews to make a decision.
17. Even if you think grades could and should be awarded for objective levels of technical ability, that doesn't really help employers in the market for the very best candidates.
18. I'd really like to conduct an experiment where I get a group of successful GCSE level, A level and degree level students to sit the corresponding examinations from twenty years ago. I'd lay money on the results being shockingly poor.
Right, that's my tuppeny'orth.