[i]The best programmers I work with are team players who know how to communicate, document and manage working relationships.[/i]
Wouldn't you know it, most of the highly ranked TopCoders I've met excel in all of the areas you mention. Just because someone is smart and skilled at one thing doesn't mean they're deficient in other areas. Usually there's quite a strong correlation.
[i]The high-intensity macho time-critical programming that these competitions fosters is usually counterproductive in a business environment.[/i]
TopCoder emphasizes (or attempts to) problem solving skills, which tend to be universally applicable.
TopCoder is a company that recruits programmers, sells software components, runs high school contests, etc. (They probably do other things now too.) One of the main ideas behind the company is to rate programmers as objectively as they can. This acknowledges the fact that experience or specific skills on a resume don't necessarily provide a good indication of the programmer's true ability and productivity. The main way TC evaluates coders is based on programming competitions and component design and development competitions.
I've been participating in TC's programming contests for more than a year. There are weekly contests, each of which take only about 90 minutes of your time. There are no prizes given out for the regular contests any more, but I really enjoy being able to get a nice mental workout, and compare myself to some really elite programmers. Most of the top-ranked coders have done extremely well in other prestigious international math and programming contests. And even if you aren't at the level of the top ranked guys (mostly - I think the highest ranked woman is around 50th or so, it would be nice to see more female participation), it can still be fun to work on improving your rating and other statistics such as submission accuracy. The rating system is modelled after the FIDE system for rating chess players.
There are many other reasons to participate. You can also learn a lot by looking at the submissions by the top ranked coders. If you're looking for a job and do reasonably well, there's a good chance one of the many sponsor companies will be interested in hiring you. And perhaps most of all, TC has two big tournaments each year - the open, and the college invitational. These tournaments usually have a total prize purse of $100,000 or more, and pay out $50,000 or more to the winner.
Finally, to answer your question; the TC ratings brackets are split up into different colours. 'Red' is the highest bracket, and includes anyone with a rating higher than 2199. This corresponds to roughly the top 2% of all rated members.
I didn't. Re-read what I wrote. I said they have to be good at unlearning what those classes teach.
I don't think there's any need to "unlearn" things. It's just common sense to implement the simplest algorithm that will do the job. Sometimes you do need a very efficient algorithm, other times you don't.
One of the first things you normally do before you begin to solve a contest problem is determine the worst time and space complexity you can get away with. Then you look for an algorithm with those complexities; hopefully a dumb one that's easy to implement. Sometimes the limits on the input even give you a clue about what kind of algorithms to consider.
I think TopCoder strikes a very nice balance between practice and theory. The problems are usually superficial and closer to what you'd see in an algorithms class. You have to be able to come up with a solution quickly. If you don't have an idea in mind when you've finished reading the problem then you're already playing catch-up. Then there's the matter of implementing your solution quickly! You have to make good decisions on the fly the whole time, and you can't afford to make mistakes. If you do have a bug, you have to find it and fix it within seconds. Every compile costs you points. And of course, you have to be very careful to consider all corner cases and test them, so that you don't lose your solution to some silly oversight.
At all the real-world places I've worked, good decisions, few errors, and being able to work under pressure are all considered highly desirable qualities in a developer.
If your problem is truly np-complete, then you must have a small data set or your running time will get intolerably long.
That's true for many problems in P, too, depending on your definition of "small". There are plenty of algorithms for NP-hard problems that can handle input sizes just as large as a low-order polynomial algorithm can in the 8 second time limit TC enforces. For instance, GSAT can solve difficult 3-SAT instances with several hundred variables in seconds.
I agree; this thread is ridiculous and kind of sad. A lot of people confuse having social skills with fitting in. It is well known that people who are very intelligent also tend to have excellent social skills and a good sense of humour. If anything, too good -- that's the real reason they might not fit in so well. Both times I've met Dave I've found him to be outgoing and impossible not to get along with. Socially awkward is me or most of the fellow grad students and profs I work with.
True, that's just a sort-of bias I have because in my area (416/905 - Toronto), there were very few Wildcat boards. In fact, I think I only ever called one or two.
Yes, QWK was originally designed for offline messaging by regular users, but it eventually became used for echomail by some networks as well. The way it worked was crude compared to FidoNet technology, though. If I wanted my BBS to exchange mail with yours, I'd have a special account on your board (or vice-versa). My BBS would then call up yours, and using scripts would navigate through your offline mail system as a regular user would. The offline mail system would know, of course, that it's another BBS calling. But basically it was a hack on top of the typical QWK offline mail system.
There were several networks that were QWK based, mostly in North America (Zone 1), and mostly based on commercial BBS software like PCBoard. Since you were in Zone 3, this might explain why you never saw this used. As far as I know, the mechanism more or less relied on the fact that all PCBoard systems were effectively identical, perhaps with just different text for the prompts. PCBoard was pretty popular in North America. It was basically the software to run if you wanted to have a "professional" looking BBS, and many of the large commercial BBS's ran it (some others like Wildcat and MajorBBS were also popular among commercial boards).
Anyway, to get other BBS software to work as a hub on a QWK network wouldn't really be feasible since you'd basically have to emulate PCBoard. But it was possible with some hacking to join a QWK network even if you ran other software. I ran Telegard as my BBS software and ended up hacking up some terminal scripts that allowed me to join a QWK network as a node. The QWK technology was technically inferior to FidoNet technology in just about every way. It probably originated as a kludge when the developers of certain BBS packages wanted built-in echomail but were too lazy to bother implementing all of FidoNet's technical specs. This then became the most convenient option for sysops who were too lazy or stupid to figure out how to set-up a 3rd party echomail front end and "tossing" software.
Eventually some of the QWK networks began distributing their mail using FidoNet technology via gateways.
Well, I *easily* trump your 1158, which of course makes me completely superior to you in every way, and very, very l33t.
But anyway, I don't see why the Group of Super Midgets that generated this page for me couldn't be trained to eliminate dupes. If they can't even do that, then quite frankly I don't think they're so super. They're just ordinary midgets. Just like all the other high-tech sweat shop child laborers in India.
He also developed the online interface for the UW bookstore. His name still appears at the bottom of the page every time someone goes to search for their textbooks online.
Being so smart is one thing. I'd like to know where he gets his motivation.
If you have a brain, none of the things you mention is a "basic skill". They are merely trivial implementation details. The only basic skills for a programmer are a) problem solving skills, and b) comunication / interpersonal skills.
So don't say you know how to write regular expressions and expect anyone to care. It's really no more important than knowing the Windows API, for instance. In either case, any programmer worth his/her salt can learn the required details with minimal effort. Now, if you can implement regular expressions, then I might be mildly impressed.
My high school had programming contests as well, but they weren't at all comparable to the ACM problems in difficulty (especially since you could get part marks for answering some of the test cases correctly), and I doubt yours were. Some of the problems at http://acm.uva.es are so difficult that only 3 or 4 people have solved them.
Yes, they are usually harder than they look to the uninitiated. I'd recommend solving a few of them (try http://acm.uva.es -- they have an online problem set with an automatic judge) before dismissing them as easy.
Waterloo had some problems with D. Their first submission was about halfway in, but was judged incorrect. They had 2-3 hours to fix it but never did figure out what was wrong, which is probably just bad luck. If they time spent on D had been used to do another problem, they would have saved a lot of penalty minutes too (of course, it's easy to say that after the fact).
The 3rd place finish is still very impressive, all things considered. Waterloo has now solved the same number of problems as the winning team (for which they now award the "gold medal") for an unprecedented 7 years, I believe, even though participation in the contest has more than tripled in that time and the competition is stiffer than ever.
My point is that if your algorithm is exponential time, I can ALWAYS beat your machine. All I need to do is double the size of the input I give you, and you're forced to SQUARE the speed of your machine to keep up. The only way you can build a machine that can defeat me is if it is a non-deterministic machine (which DNA computers are NOT), or if P=NP and you manage to find a polytime algorithm, which is unlikely.
Consider your example of a 610g DNA computer. And forget about the setup time and let's assume you can perform 10^23, or let's say 2^80 computations per second, and that you never have to intervene to re-configure the machine after exhausting the solutions you're trying. It would still take you 2^944 seconds to solve a 1024-variable instance of 3-SAT. Even if you build one of these that uses 610kg of DNA, the factor of 2^10 speedup would be insignificant. Now you can solve the problem in 2^934 seconds -- big deal! In fact, you could NEVER solve a 1024 variable instance of 3-SAT by naively testing all possibilities using a DNA computer because there aren't enough particles in the universe to represent even a tiny fraction of the solutions!
Maybe you know all of this already. But the poster I was responding to suggested (at least in my interpretation of his post) that these DNA computers are comparable to quantum computers, and that "maybe" eventually they could be used to solve hard problems such as those which are used in cryptography. And that's still absolutely false, unless P=NP, since there are crypto algorithms based on NP-complete problems. Even those which aren't (factoring) are believed to be hard enough that they probably aren't vulnerable (only current key sizes would be).
nope, Intel and SPARC are serial architectures. This DNA computing is fundementally different. It's actually trying solutions in parallel. Since all the DNA chains are trying to link together at once, you can view this as simultaneous computations to the order of some number relative to the ammount of DNA you've got in your tube. In this way, you can view the DNA computations as more relative to quantum computing. The only problem is, there's a lot of time and money involved in setting up the ccomputation, and in finding your solutions from the muck.
Actually, I disagree. Quantum computers are non-deterministic. These DNA computers, while being massively parallel, as you say, are still deterministic. If you can test a million solutions at once in parallel, that's great, but all it does is speed things up by a constant factor over trying them one at a time. It doesn't turn a super-polynomial time algorithm into a polynomial time one, because there's a limit to how many computations you can do in parallel.
On a quantum computer or some other non-deterministic machine, the idea is that you can essentially perform all computations (with no limitation on how many) in parallel.
That's like saying the brain is slow because it's based on chemical reactions...
Yes, exactly -- what would you use if you wanted to factor a 256-bit prime, your brain, or a computer? Similarly, this technology isn't going to be useful for solving general computational problems. I imagine it would be very useful for controlling biological systems, but it's not something I'm going to pull out when I want to do some number crunching! That's my point.
it evaluates all possible solutions in parallel.
Which means it's limited by the number of solutions you can represent in parallel. You're not going to be able to use this to evaluate 2^1024 possible solutions in parallel, unless there's funky quantum mechanics stuff involved. There probably aren't that many particles in the universe.
Increase the size of your problem.. no biggie - just add another pint of "computer".
Not exactly. For a problem like 3-SAT (the problem they solved here), a linear increase in the size of the problem input = an exponential increase in the number of solutions they need to evaluate. If they doubled the input size from 20 variables to 40, they'd need to evaluate 1 TRILLION solutions in parallel instead of 1 million. So they'd need the equivalent of 1 million of these DNA computers running in parallel. I'd consider that more than "just another pint".
But seriously, I imagine these things must be pretty slow, since they are powered by chemical reactions. I don't forsee one of these babies supplanting my desktop any time soon. Of course, the whole point is that this shows the power of genetics, and it is amazing in that sense, to think that life is basically created by computer programs. Fortunately Microsoft hasn't gotten into the DNA software market yet, I'd hate to have bugs growing out of my skin and stuff.:)
Well, any computer can be used to attack crypto algorithms, it's just a matter of whether the computer can do so in a reasonable amount of time (like, say, the lifetime of the universe:) ). With current technology, it is not possible to break these algorithms, because the problems they are based on are believed to be hard. You can view this DNA computer as simply just being a new architecture, like Intel or SPARC. It's cool, but it has no effect on the dificulty of problems. The computing models computational complexity theory is based on are mathematical, and do not depend on any physical implementation of a machine.
Quantum computers are a slightly different story. They are theoretically non-deterministic machines that can solve all problems in NP in polynomial time. In theory, with a big enough quantum computer you could break all currently used encryption schemes, but in practice, no one has really come close to building a quantum computer to actually do anything non-trivial let alone useful. I've heard it suggested (I don't really know anything about quantum mechanics, so maybe the physics geeks in the crowd could comment on this and let me know if I'm full of crap) that it may be the case that while a quantum computer may be able to solve NP-hard problems in polytime, the difficulty and complexity of building such a machine might be proportional to the difficulty of solving the problem in P.
If this is the case, then even if it's theoretically possible to build quantum machines to break known crypto algorithms, in practice it would be infeasible to do so. If the complexity of building the machine doubles when you add a qbit then you may as well just use a deterministic computer and wait a few billion years for your answer.
Adleman and co-workers expressed their problem as a string of 24 'clauses', each of which specified a certain combination of 'true' and 'false' for three of the 20 variables. The team then assigned two short strands of specially encoded DNA to all 20 variables, representing 'true' and 'false' for each one.
A Three digit UID might even get you a marrige proposal...
So what does a 2-digit UID get you? I'd settle for Natalie Portman and a bowl of hot grits.
BTW, now that Taco is getting married, does that make me Slashdot's 71st-most eligible bachelor?:) (Although, considering these results, I'm not convinced that's a good thing.)
It's not the OS it's the user that sucks. If it's user friendly, you get stupider people.
This is why I always try to be as unfriendly to people as possible -- who wants stupid friends? Most people just accuse me of being anti-social. If only they knew!
Well, apparently TopCoders suck at posting properly formatted Slashdot comments. You're right after all -- no real world skills whatsoever!
Wouldn't you know it, most of the highly ranked TopCoders I've met excel in all of the areas you mention. Just because someone is smart and skilled at one thing doesn't mean they're deficient in other areas. Usually there's quite a strong correlation.
[i]The high-intensity macho time-critical programming that these competitions fosters is usually counterproductive in a business environment.[/i]
TopCoder emphasizes (or attempts to) problem solving skills, which tend to be universally applicable.
I've been participating in TC's programming contests for more than a year. There are weekly contests, each of which take only about 90 minutes of your time. There are no prizes given out for the regular contests any more, but I really enjoy being able to get a nice mental workout, and compare myself to some really elite programmers. Most of the top-ranked coders have done extremely well in other prestigious international math and programming contests. And even if you aren't at the level of the top ranked guys (mostly - I think the highest ranked woman is around 50th or so, it would be nice to see more female participation), it can still be fun to work on improving your rating and other statistics such as submission accuracy. The rating system is modelled after the FIDE system for rating chess players.
There are many other reasons to participate. You can also learn a lot by looking at the submissions by the top ranked coders. If you're looking for a job and do reasonably well, there's a good chance one of the many sponsor companies will be interested in hiring you. And perhaps most of all, TC has two big tournaments each year - the open, and the college invitational. These tournaments usually have a total prize purse of $100,000 or more, and pay out $50,000 or more to the winner.
Finally, to answer your question; the TC ratings brackets are split up into different colours. 'Red' is the highest bracket, and includes anyone with a rating higher than 2199. This corresponds to roughly the top 2% of all rated members.
I don't think there's any need to "unlearn" things. It's just common sense to implement the simplest algorithm that will do the job. Sometimes you do need a very efficient algorithm, other times you don't.
One of the first things you normally do before you begin to solve a contest problem is determine the worst time and space complexity you can get away with. Then you look for an algorithm with those complexities; hopefully a dumb one that's easy to implement. Sometimes the limits on the input even give you a clue about what kind of algorithms to consider.
I think TopCoder strikes a very nice balance between practice and theory. The problems are usually superficial and closer to what you'd see in an algorithms class. You have to be able to come up with a solution quickly. If you don't have an idea in mind when you've finished reading the problem then you're already playing catch-up. Then there's the matter of implementing your solution quickly! You have to make good decisions on the fly the whole time, and you can't afford to make mistakes. If you do have a bug, you have to find it and fix it within seconds. Every compile costs you points. And of course, you have to be very careful to consider all corner cases and test them, so that you don't lose your solution to some silly oversight.
At all the real-world places I've worked, good decisions, few errors, and being able to work under pressure are all considered highly desirable qualities in a developer.
If your problem is truly np-complete, then you must have a small data set or your running time will get intolerably long.
That's true for many problems in P, too, depending on your definition of "small". There are plenty of algorithms for NP-hard problems that can handle input sizes just as large as a low-order polynomial algorithm can in the 8 second time limit TC enforces. For instance, GSAT can solve difficult 3-SAT instances with several hundred variables in seconds.
I agree; this thread is ridiculous and kind of sad. A lot of people confuse having social skills with fitting in. It is well known that people who are very intelligent also tend to have excellent social skills and a good sense of humour. If anything, too good -- that's the real reason they might not fit in so well. Both times I've met Dave I've found him to be outgoing and impossible not to get along with. Socially awkward is me or most of the fellow grad students and profs I work with.
True, that's just a sort-of bias I have because in my area (416/905 - Toronto), there were very few Wildcat boards. In fact, I think I only ever called one or two.
Yes, QWK was originally designed for offline messaging by regular users, but it eventually became used for echomail by some networks as well. The way it worked was crude compared to FidoNet technology, though. If I wanted my BBS to exchange mail with yours, I'd have a special account on your board (or vice-versa). My BBS would then call up yours, and using scripts would navigate through your offline mail system as a regular user would. The offline mail system would know, of course, that it's another BBS calling. But basically it was a hack on top of the typical QWK offline mail system.
There were several networks that were QWK based, mostly in North America (Zone 1), and mostly based on commercial BBS software like PCBoard. Since you were in Zone 3, this might explain why you never saw this used. As far as I know, the mechanism more or less relied on the fact that all PCBoard systems were effectively identical, perhaps with just different text for the prompts. PCBoard was pretty popular in North America. It was basically the software to run if you wanted to have a "professional" looking BBS, and many of the large commercial BBS's ran it (some others like Wildcat and MajorBBS were also popular among commercial boards).
Anyway, to get other BBS software to work as a hub on a QWK network wouldn't really be feasible since you'd basically have to emulate PCBoard. But it was possible with some hacking to join a QWK network even if you ran other software. I ran Telegard as my BBS software and ended up hacking up some terminal scripts that allowed me to join a QWK network as a node. The QWK technology was technically inferior to FidoNet technology in just about every way. It probably originated as a kludge when the developers of certain BBS packages wanted built-in echomail but were too lazy to bother implementing all of FidoNet's technical specs. This then became the most convenient option for sysops who were too lazy or stupid to figure out how to set-up a 3rd party echomail front end and "tossing" software.
Eventually some of the QWK networks began distributing their mail using FidoNet technology via gateways.
Well, it certainly obeys the 2nd law of thermodynamics.
Well, I *easily* trump your 1158, which of course makes me completely superior to you in every way, and very, very l33t.
But anyway, I don't see why the Group of Super Midgets that generated this page for me couldn't be trained to eliminate dupes. If they can't even do that, then quite frankly I don't think they're so super. They're just ordinary midgets. Just like all the other high-tech sweat shop child laborers in India.
He also developed the online interface for the UW bookstore. His name still appears at the bottom of the page every time someone goes to search for their textbooks online.
Being so smart is one thing. I'd like to know where he gets his motivation.
And to whoever mentioned dancing, I've seen Richard Stallman dance too. Thanks for the image. Really.
For manipulating strings of characters, they are probably the single most important innovation of the last 20 years.
Regular expressions have been around since the 1950's.
If you have a brain, none of the things you mention is a "basic skill". They are merely trivial implementation details. The only basic skills for a programmer are a) problem solving skills, and b) comunication / interpersonal skills.
So don't say you know how to write regular expressions and expect anyone to care. It's really no more important than knowing the Windows API, for instance. In either case, any programmer worth his/her salt can learn the required details with minimal effort. Now, if you can implement regular expressions, then I might be mildly impressed.
Well, if you're having any second thoughts, I found a great advertisement for Lynx. I was sold the second I saw it.
Sorry, I don't really believe you.
My high school had programming contests as well, but they weren't at all comparable to the ACM problems in difficulty (especially since you could get part marks for answering some of the test cases correctly), and I doubt yours were. Some of the problems at http://acm.uva.es are so difficult that only 3 or 4 people have solved them.
Yes, they are usually harder than they look to the uninitiated. I'd recommend solving a few of them (try http://acm.uva.es -- they have an online problem set with an automatic judge) before dismissing them as easy.
Waterloo had some problems with D. Their first submission was about halfway in, but was judged incorrect. They had 2-3 hours to fix it but never did figure out what was wrong, which is probably just bad luck. If they time spent on D had been used to do another problem, they would have saved a lot of penalty minutes too (of course, it's easy to say that after the fact).
The 3rd place finish is still very impressive, all things considered. Waterloo has now solved the same number of problems as the winning team (for which they now award the "gold medal") for an unprecedented 7 years, I believe, even though participation in the contest has more than tripled in that time and the competition is stiffer than ever.
You are missing my point.
My point is that if your algorithm is exponential time, I can ALWAYS beat your machine. All I need to do is double the size of the input I give you, and you're forced to SQUARE the speed of your machine to keep up. The only way you can build a machine that can defeat me is if it is a non-deterministic machine (which DNA computers are NOT), or if P=NP and you manage to find a polytime algorithm, which is unlikely.
Consider your example of a 610g DNA computer. And forget about the setup time and let's assume you can perform 10^23, or let's say 2^80 computations per second, and that you never have to intervene to re-configure the machine after exhausting the solutions you're trying. It would still take you 2^944 seconds to solve a 1024-variable instance of 3-SAT. Even if you build one of these that uses 610kg of DNA, the factor of 2^10 speedup would be insignificant. Now you can solve the problem in 2^934 seconds -- big deal! In fact, you could NEVER solve a 1024 variable instance of 3-SAT by naively testing all possibilities using a DNA computer because there aren't enough particles in the universe to represent even a tiny fraction of the solutions!
Maybe you know all of this already. But the poster I was responding to suggested (at least in my interpretation of his post) that these DNA computers are comparable to quantum computers, and that "maybe" eventually they could be used to solve hard problems such as those which are used in cryptography. And that's still absolutely false, unless P=NP, since there are crypto algorithms based on NP-complete problems. Even those which aren't (factoring) are believed to be hard enough that they probably aren't vulnerable (only current key sizes would be).
Actually, I disagree. Quantum computers are non-deterministic. These DNA computers, while being massively parallel, as you say, are still deterministic. If you can test a million solutions at once in parallel, that's great, but all it does is speed things up by a constant factor over trying them one at a time. It doesn't turn a super-polynomial time algorithm into a polynomial time one, because there's a limit to how many computations you can do in parallel.
On a quantum computer or some other non-deterministic machine, the idea is that you can essentially perform all computations (with no limitation on how many) in parallel.
Yes, exactly -- what would you use if you wanted to factor a 256-bit prime, your brain, or a computer? Similarly, this technology isn't going to be useful for solving general computational problems. I imagine it would be very useful for controlling biological systems, but it's not something I'm going to pull out when I want to do some number crunching! That's my point.
it evaluates all possible solutions in parallel.
Which means it's limited by the number of solutions you can represent in parallel. You're not going to be able to use this to evaluate 2^1024 possible solutions in parallel, unless there's funky quantum mechanics stuff involved. There probably aren't that many particles in the universe.
Increase the size of your problem .. no biggie - just add another pint of "computer".
Not exactly. For a problem like 3-SAT (the problem they solved here), a linear increase in the size of the problem input = an exponential increase in the number of solutions they need to evaluate. If they doubled the input size from 20 variables to 40, they'd need to evaluate 1 TRILLION solutions in parallel instead of 1 million. So they'd need the equivalent of 1 million of these DNA computers running in parallel. I'd consider that more than "just another pint".
Imagine a Beowulf cluster of these!
:)
But seriously, I imagine these things must be pretty slow, since they are powered by chemical reactions. I don't forsee one of these babies supplanting my desktop any time soon. Of course, the whole point is that this shows the power of genetics, and it is amazing in that sense, to think that life is basically created by computer programs. Fortunately Microsoft hasn't gotten into the DNA software market yet, I'd hate to have bugs growing out of my skin and stuff.
Well, any computer can be used to attack crypto algorithms, it's just a matter of whether the computer can do so in a reasonable amount of time (like, say, the lifetime of the universe :) ). With current technology, it is not possible to break these algorithms, because the problems they are based on are believed to be hard. You can view this DNA computer as simply just being a new architecture, like Intel or SPARC. It's cool, but it has no effect on the dificulty of problems. The computing models computational complexity theory is based on are mathematical, and do not depend on any physical implementation of a machine.
Quantum computers are a slightly different story. They are theoretically non-deterministic machines that can solve all problems in NP in polynomial time. In theory, with a big enough quantum computer you could break all currently used encryption schemes, but in practice, no one has really come close to building a quantum computer to actually do anything non-trivial let alone useful. I've heard it suggested (I don't really know anything about quantum mechanics, so maybe the physics geeks in the crowd could comment on this and let me know if I'm full of crap) that it may be the case that while a quantum computer may be able to solve NP-hard problems in polytime, the difficulty and complexity of building such a machine might be proportional to the difficulty of solving the problem in P.
If this is the case, then even if it's theoretically possible to build quantum machines to break known crypto algorithms, in practice it would be infeasible to do so. If the complexity of building the machine doubles when you add a qbit then you may as well just use a deterministic computer and wait a few billion years for your answer.
Clearly the problem was 3-SAT.
So what does a 2-digit UID get you? I'd settle for Natalie Portman and a bowl of hot grits.
BTW, now that Taco is getting married, does that make me Slashdot's 71st-most eligible bachelor? :) (Although, considering these results, I'm not convinced that's a good thing.)
This is why I always try to be as unfriendly to people as possible -- who wants stupid friends? Most people just accuse me of being anti-social. If only they knew!