KDE has earned these results. For years now KDE development has been thoughtful and conservative; no iconoclasts have been permitted to blow up everything in another doomed attempt to reinvent the desktop.
I'm a KDE user myself but do not share this opinion entirely. Some years ago the Kontact suite including the popular Kmail client was made unusable by a well-intended but badly designed backend. Akonadi, Nepomuk, Strigi, Baloo drove flocks of users away from Kontact and even KDE.
...and now I'm back to wondering how you might hope to catch cheaters when you have a program which starts by abstracting away the minutia when you're dealing with simple college level coding problems.
The "minutia" are worthless because they can easily be altered for fraud. However, it is not easy to change the overall structure of a program. The effort is similar to write the program by oneself from the start.
We use professional-grade plagiarism software (throwing away "minutia") and it works very robust. The most important parameters are maximum length of identical token sequences and percentage of identical n-gram token sequences. The main difficulty is to find a balanced parametrization. A low levels of false positives leads to a high level of false negatives and vice versa. Following "in dubio pro reo", a low FP-level is prefered.
There are only so many ways to solve the same problem.
Ca. 20 code lines with freely to be written logic are required. You would be astonished of how many ways there are to solve even small programming problems.
Heh, I'd have been the dick who wrote an automated obfuscator.
Your obfuscator would be entirely useless against professional plagiarism programs.
Flip the indentation from spaces to tabs ( or tabs to spaces ), randomly change ctime/mtime ( within acceptable range ), camelcase to underscore ( or reverse ), use a dictionary to change variables to their synonyms, add generic comments ( ala "palm reading" ), randomly placed returns ( where language appropriate ).
spaces to tabs: whitespace usually is ignored
ctime/mtime: why should this be considered anyway?
camelcase to underscore: identifier names are ignored
change variable names: identifier names are ignored
add generic comments: comments are ignored
randomly placed returns: whitespace usually is ignored
Professional-grade plagiarism programs see
int a = b
+ 2;
as token sequence
INT INDENT ASSIGN INDENT PLUS 2 SEMICOLON
All of your obfuscations are snake oil.
Figure that wouldn't take more than an afternoon to code up.
Could get even crazier by adding the ability to swap out loops ( foreach to while/for ), but those can impact overall grade and is language specific so it'd have to wait for v2.
Swapping code parts woul indeed challenge plagiarism programs. But, as you conceded, this is hard to implement without introducing errors.
What other major economic forces could account for this?
That one's easy. 1989/1990 also marks the end of the only large-scale, competing economic system to capitalism: socialism. Before, the stakeholders of capitalism had to prove that the masses benefit from it. This restriction is gone. Unrestricted capitalism benetfis capital, not people.
From the abstract: "the thermal maximum is characterized by warming up by 3-9degreesC in winter and by 2-6degreesC in summer".
So 6 degrees in prehistoric times is the relevant temperature (plus 9 degrees in winter is much less than plus 6 degrees in summer) which we surpass quickly nowadays:
http://siberiantimes.com/ecolo...
As long we're not treated by intelligent roboters, this seems unavoidable. Humans will always err.
If treatment of cancer and heart diseases further improves, medical errors will be (in all likelihood) number 1 cause.
So this seemingly shocking news might be a sign of advancement in medicine. Just playing devil's advocate.
you got me on this one...
I wanted to reply that the Perl interpreter (with warnings enabled) would happily warn about it. But then I performed a short test:
"this_is_a_perl_3012_keyword" doesn't trigger a warning, neither do "thisisaperl3012keyword" nor "this_is_a_perl_keyword" whereas
"thisisaperlkeyword" does. Seems to be some weird promise: Perl keywords will never contain underscores or digits.
Another distinction mechanism, hooray!
There are at least 18 generations between the remains found and the existing potential relative. So they probably only share a 2^(-18)th of DNA. That's roughly 4 in a million parts. Admittedly, DNA isn't inherited randomly at the level of nuclear bases. Instead inheritance works on the level of genes (in my understanding). But those are only around 25,000. So, how many matching genes where found here? How much is this above random level?
By separating variables to a namespace new keywords could be introduced anytime.
Just try this in a language without sigils.
So, it's a cool feature guaranteeing compatibility of nowadays Perl scripts with Perl interpreters in 3012.
The policy in our university IT department was "login equals lastname" unless that one was already taken. (In that case, one or more letters of the firstname were prefixed.) Check and generation of accounts were performed by a home-brewn script. That script, however, did not check against system accounts.
One day, a newly registered student, Miss Root, got a very special account...
From time to time we hear news about parents who do not want to get their children medically treated, even if they suffer of serious diseases. This is a human right, too, isn't it? The doctors in the hospital are all quacks, aren't they?
I find the whole concept of parents determining childrens faith and beliefs questionable. Transporting values by giving a good example, ok. But forcing membership in a religion by dubbing the little lads before they even know what's going on? That's perverse.
I created a small shell tool for myself.
I'm entering some characters and the tool performs a incremental search in a file containing login identifiers (e.g. kleinesRaedchen@slashdot.org).
Then it asks for a master password.
At its core the tool creates a login specific password like this:
KDE has earned these results. For years now KDE development has been thoughtful and conservative; no iconoclasts have been permitted to blow up everything in another doomed attempt to reinvent the desktop.
I'm a KDE user myself but do not share this opinion entirely. Some years ago the Kontact suite including the popular Kmail client was made unusable by a well-intended but badly designed backend. Akonadi, Nepomuk, Strigi, Baloo drove flocks of users away from Kontact and even KDE.
...and now I'm back to wondering how you might hope to catch cheaters when you have a program which starts by abstracting away the minutia when you're dealing with simple college level coding problems.
The "minutia" are worthless because they can easily be altered for fraud. However, it is not easy to change the overall structure of a program. The effort is similar to write the program by oneself from the start. We use professional-grade plagiarism software (throwing away "minutia") and it works very robust. The most important parameters are maximum length of identical token sequences and percentage of identical n-gram token sequences. The main difficulty is to find a balanced parametrization. A low levels of false positives leads to a high level of false negatives and vice versa. Following "in dubio pro reo", a low FP-level is prefered.
There are only so many ways to solve the same problem.
Ca. 20 code lines with freely to be written logic are required. You would be astonished of how many ways there are to solve even small programming problems.
Heh, I'd have been the dick who wrote an automated obfuscator.
Your obfuscator would be entirely useless against professional plagiarism programs.
Flip the indentation from spaces to tabs ( or tabs to spaces ), randomly change ctime/mtime ( within acceptable range ), camelcase to underscore ( or reverse ), use a dictionary to change variables to their synonyms, add generic comments ( ala "palm reading" ), randomly placed returns ( where language appropriate ).
spaces to tabs: whitespace usually is ignored
ctime/mtime: why should this be considered anyway?
camelcase to underscore: identifier names are ignored
change variable names: identifier names are ignored
add generic comments: comments are ignored
randomly placed returns: whitespace usually is ignored
Professional-grade plagiarism programs see
int a = b
+ 2;
as token sequence
INT INDENT ASSIGN INDENT PLUS 2 SEMICOLON
All of your obfuscations are snake oil.
Figure that wouldn't take more than an afternoon to code up.
Could get even crazier by adding the ability to swap out loops ( foreach to while/for ), but those can impact overall grade and is language specific so it'd have to wait for v2.
Swapping code parts woul indeed challenge plagiarism programs. But, as you conceded, this is hard to implement without introducing errors.
What other major economic forces could account for this?
That one's easy. 1989/1990 also marks the end of the only large-scale, competing economic system to capitalism: socialism. Before, the stakeholders of capitalism had to prove that the masses benefit from it. This restriction is gone. Unrestricted capitalism benetfis capital, not people.
From the abstract: "the thermal maximum is characterized by warming up by 3-9degreesC in winter and by 2-6degreesC in summer". So 6 degrees in prehistoric times is the relevant temperature (plus 9 degrees in winter is much less than plus 6 degrees in summer) which we surpass quickly nowadays: http://siberiantimes.com/ecolo...
As long we're not treated by intelligent roboters, this seems unavoidable. Humans will always err. If treatment of cancer and heart diseases further improves, medical errors will be (in all likelihood) number 1 cause. So this seemingly shocking news might be a sign of advancement in medicine. Just playing devil's advocate.
2014 won't keep the record for long.
How 'bout (or were functions ruled out?):
void func() {
if (AquireResource1())
func2();
}
void func2() {
if (AquireResource2())
func3();
Cleanup1();
}
void func3() {
if (AquireResource3()) {
DoStuffWithResources();
Cleanup3();
}
Cleanup2();
}
Up to now, the platform was just too... open!
Python had similar semantics but much better syntax. It practically documents itself if you do it right.
True for almost any programming language including Perl.
you got me on this one ...
I wanted to reply that the Perl interpreter (with warnings enabled) would happily warn about it. But then I performed a short test:
"this_is_a_perl_3012_keyword" doesn't trigger a warning, neither do "thisisaperl3012keyword" nor "this_is_a_perl_keyword" whereas
"thisisaperlkeyword" does. Seems to be some weird promise: Perl keywords will never contain underscores or digits.
Another distinction mechanism, hooray!
There are at least 18 generations between the remains found and the existing potential relative. So they probably only share a 2^(-18)th of DNA. That's roughly 4 in a million parts. Admittedly, DNA isn't inherited randomly at the level of nuclear bases. Instead inheritance works on the level of genes (in my understanding). But those are only around 25,000. So, how many matching genes where found here? How much is this above random level?
By separating variables to a namespace new keywords could be introduced anytime. Just try this in a language without sigils. So, it's a cool feature guaranteeing compatibility of nowadays Perl scripts with Perl interpreters in 3012.
The policy in our university IT department was "login equals lastname" unless that one was already taken. (In that case, one or more letters of the firstname were prefixed.) Check and generation of accounts were performed by a home-brewn script. That script, however, did not check against system accounts. One day, a newly registered student, Miss Root, got a very special account ...
Using VI is far more punishment than even a VI user deserves.
The SAP R/3 kernel is written in C. The application layer is written in ABAP and can be extended in ABAP or Java. So, the the claim with COBOL is BS.
From time to time we hear news about parents who do not want to get their children medically treated, even if they suffer of serious diseases. This is a human right, too, isn't it? The doctors in the hospital are all quacks, aren't they? I find the whole concept of parents determining childrens faith and beliefs questionable. Transporting values by giving a good example, ok. But forcing membership in a religion by dubbing the little lads before they even know what's going on? That's perverse.
PASSWD=`echo "${login}${masterpasswd}" | openssl dgst -ripemd160 -binary | openssl dgst -sha1 -binary | openssl base64 | head --bytes 8`
The password is stored in the KDE klipper for 20 seconds afterwards.