Your are completly right when you say that programing is "an extension [..] for thinking". My point was that the problem seems to be constructed for being solved without programing. Employing a computer on this task is like the behaviour of these moron managers who need an assistant for switch on the VCR, stating "that she will do it better that I would".
Implementing this problem is undoubtly an interesting little task. As you point out, "you have to solve the problem conceptually in your head, and then write the code". Besides implementing this as an excersise, one will notice that as soon as your have finished this preparation the paper-pencil method will stare right into your eye. If you go further and implement this without noticing you are perhaps too ignorant to find any solution to harder problems. Using brute-force is (usually) a bad idea, such as tool-stacking is. A clever person uses the tools that will help him to solve a problem in the most efficient way. In this case, so I still believe, it is paper&pencil. (doing it in the head turned out to be too error-prone:-)
Remember Scott Meyer's books? In one chapter he presented a C++ implementation of the "generic-function"-concept of CLOS.
He closed the chapter (an extreme passage through the dark sides of C++) using the words "It has been clearly worth the effort, or..?" If your problem heavyly relies on concepts that are poorly supported by the language your currently use, you have to investigate alternatives.
It is nice to see that some people are still that open-minded that they try tools that seem to have a bad rumour instead of leaving it all to "industrial-standards" tools.
Yeah, you got it!
It is just an ad that fits the organisation that placed it.
As I mentioned in an earlier post: Even a computer major must not use a program to solve this problem. If your're unable to solve this by paper and pencil (mental arithmetics should be sufficient, too), you won't be able to write a non-trivial program, too.
In this case the studies of CS would be a waste of time and money.
Maybe it is more difficult to read and understand the hints given. A good student tries to understand the problem completely before getting into work with it. So it is not a question of easy-diffiuclt, it is a question whether the student has the right attitude.
Have you already tried to solve this puzzle? The "encryption" is merely a teaser for nicely wrapping a mathematical problem.
Since you have read about this, you have to solve it with a computer? Wrong! Using your computer for trivial task makes you a nerd, not a computer scientist. I think the difficulty of this test is appropiate for High-schoolers. Nowdays you cannot take for granted that everybody knows about the concept auf base-n codings, unless inside the hacker community ( even there I doubt that it is true).
The math-problem is intended be solved with paper and pencil I think. It took me less than a minute to compute the solution and I bet no one will be able to beat this by writing a program.
Anyone who actually wrote a program to tackle this problem should be banned from university - programming is a poor substitute for thinking.
The EU has stated its intend to proliferate digital signature for promotion of e-commerce. One has to view the step of the german government in this light. Currently there is not a market for digital-signature solutions just because nearly nobody owns a certified key.
Chipcards combined with a passphrase have proven to be quite secure since this technology ist used by several banks for couple of years now.
Currently documents you receive from the goverment don't carry a signature, at least in the most of the cases. So even a weak signature would add a signifcant amount of security.
But we must not be too optimistic. Two years ago they launched a service for filing your tax in an online process. That turned out to be a bad joke. After completing the process you had been able to print a "tax-digest" that was intended to been attached to the usual documents. They just promised that provided this additional work would speed up the processing. Bad news: The converse was true and the service was shut down after few weeks dur to severe security flaws!
Euro & Yen: Both Currency-symbols seem to be composed of a "=" sign, maybe the diference is too delicate for the average CNN writer:-)
Dropping VB for C++? Your kidding! Instead of wirting 3000 lines of application code, you'll deliberatly choose to addt 1700 lines for ctors, dtors and memory management? No thanks!
If your task ist to implement high-performance libraries I admit that you might gain something (although I would prefer to go with strict ANSI-C for tasks like this)
Dropping it in favour for Java? Well, I dropped C++ for Java...
There are tons of technolgies popping out these days and in the golden era of dot-coms it was even wilder. Every techology claimed to be the silver bullet for this or that problem.
Looking at it seriously we have to admit that
- Windows rules the desktop
- That old-fashioned software and hardware concepts rule the server.
Why is it going this way? Quite easy, the bulk of the software and hardware ist crafted by professionals. None of them is eager to throw away his/her acumulated knowledge and take the risk of starting something completly new where nobody can make any perdictions about the outcome. Professionals use existing technolgies and develop them further.
The advent of the java language ist no contradiction. Java is a simplified C++, i.e. a C++ the is more usable. If you take a look at the development of client-apps, you'll discover that Java and VisualBasic are both considered to be powerfuil platforms. Thes didn't made it through the evaluations of big companies because of their avangardistic concepts, but because of their user (programmer)-friendlyness.
A professional chooses a tool because it is appropiate to the problem not because it is geekish or nicely structured. How would you explain the success of the PERL otherwise?
In germany we have a complicated procedure for government institutions for buying products and services. So it is quite normal that all reasonable vendors are taken into consideration.
The fear of hidden spyware seems not to be the most important issue in the current discaussion, since MS offered code-insight to tghe german goverment. Cost-efficiency is, they have calculated an enourmous number for the cost of software licences (note the applications like Office also need to be replaced) and additional training.
Anyway, IMHO Linux seems not to be the right choice for goverment institutions. Windows has become a defacto-standard for desktop-applications and I belioeve it will prove to be a nuisance for all people collaborating with the government to work with less well-spread software and document-formats than those used by Microsoft products.
I view this discussion as clever strategy to negotiate cheaper contracts with MS...
Your are completly right when you say that programing is "an extension [..] for thinking". My point was that the problem seems to be constructed for being solved without programing. Employing a computer on this task is like the behaviour of these moron managers who need an assistant for switch on the VCR, stating "that she will do it better that I would". Implementing this problem is undoubtly an interesting little task. As you point out, "you have to solve the problem conceptually in your head, and then write the code". Besides implementing this as an excersise, one will notice that as soon as your have finished this preparation the paper-pencil method will stare right into your eye. If you go further and implement this without noticing you are perhaps too ignorant to find any solution to harder problems. Using brute-force is (usually) a bad idea, such as tool-stacking is. A clever person uses the tools that will help him to solve a problem in the most efficient way. In this case, so I still believe, it is paper&pencil. (doing it in the head turned out to be too error-prone:-)
Remember Scott Meyer's books? In one chapter he presented a C++ implementation of the "generic-function"-concept of CLOS. He closed the chapter (an extreme passage through the dark sides of C++) using the words "It has been clearly worth the effort, or..?" If your problem heavyly relies on concepts that are poorly supported by the language your currently use, you have to investigate alternatives. It is nice to see that some people are still that open-minded that they try tools that seem to have a bad rumour instead of leaving it all to "industrial-standards" tools.
Yeah, you got it! It is just an ad that fits the organisation that placed it. As I mentioned in an earlier post: Even a computer major must not use a program to solve this problem. If your're unable to solve this by paper and pencil (mental arithmetics should be sufficient, too), you won't be able to write a non-trivial program, too. In this case the studies of CS would be a waste of time and money. Maybe it is more difficult to read and understand the hints given. A good student tries to understand the problem completely before getting into work with it. So it is not a question of easy-diffiuclt, it is a question whether the student has the right attitude.
Have you already tried to solve this puzzle? The "encryption" is merely a teaser for nicely wrapping a mathematical problem. Since you have read about this, you have to solve it with a computer? Wrong! Using your computer for trivial task makes you a nerd, not a computer scientist. I think the difficulty of this test is appropiate for High-schoolers. Nowdays you cannot take for granted that everybody knows about the concept auf base-n codings, unless inside the hacker community ( even there I doubt that it is true). The math-problem is intended be solved with paper and pencil I think. It took me less than a minute to compute the solution and I bet no one will be able to beat this by writing a program. Anyone who actually wrote a program to tackle this problem should be banned from university - programming is a poor substitute for thinking.
The EU has stated its intend to proliferate digital signature for promotion of e-commerce. One has to view the step of the german government in this light. Currently there is not a market for digital-signature solutions just because nearly nobody owns a certified key. Chipcards combined with a passphrase have proven to be quite secure since this technology ist used by several banks for couple of years now. Currently documents you receive from the goverment don't carry a signature, at least in the most of the cases. So even a weak signature would add a signifcant amount of security. But we must not be too optimistic. Two years ago they launched a service for filing your tax in an online process. That turned out to be a bad joke. After completing the process you had been able to print a "tax-digest" that was intended to been attached to the usual documents. They just promised that provided this additional work would speed up the processing. Bad news: The converse was true and the service was shut down after few weeks dur to severe security flaws! Euro & Yen: Both Currency-symbols seem to be composed of a "=" sign, maybe the diference is too delicate for the average CNN writer:-)
Dropping VB for C++? Your kidding! Instead of wirting 3000 lines of application code, you'll deliberatly choose to addt 1700 lines for ctors, dtors and memory management? No thanks! If your task ist to implement high-performance libraries I admit that you might gain something (although I would prefer to go with strict ANSI-C for tasks like this) Dropping it in favour for Java? Well, I dropped C++ for Java...
There are tons of technolgies popping out these days and in the golden era of dot-coms it was even wilder. Every techology claimed to be the silver bullet for this or that problem. Looking at it seriously we have to admit that - Windows rules the desktop - That old-fashioned software and hardware concepts rule the server. Why is it going this way? Quite easy, the bulk of the software and hardware ist crafted by professionals. None of them is eager to throw away his/her acumulated knowledge and take the risk of starting something completly new where nobody can make any perdictions about the outcome. Professionals use existing technolgies and develop them further. The advent of the java language ist no contradiction. Java is a simplified C++, i.e. a C++ the is more usable. If you take a look at the development of client-apps, you'll discover that Java and VisualBasic are both considered to be powerfuil platforms. Thes didn't made it through the evaluations of big companies because of their avangardistic concepts, but because of their user (programmer)-friendlyness. A professional chooses a tool because it is appropiate to the problem not because it is geekish or nicely structured. How would you explain the success of the PERL otherwise?
In germany we have a complicated procedure for government institutions for buying products and services. So it is quite normal that all reasonable vendors are taken into consideration. The fear of hidden spyware seems not to be the most important issue in the current discaussion, since MS offered code-insight to tghe german goverment. Cost-efficiency is, they have calculated an enourmous number for the cost of software licences (note the applications like Office also need to be replaced) and additional training. Anyway, IMHO Linux seems not to be the right choice for goverment institutions. Windows has become a defacto-standard for desktop-applications and I belioeve it will prove to be a nuisance for all people collaborating with the government to work with less well-spread software and document-formats than those used by Microsoft products. I view this discussion as clever strategy to negotiate cheaper contracts with MS...