cancel
Showing results for 
Search instead for 
Did you mean: 

A call for obfuscated LabVIEW code

tst
Knight of NI Knight of NI
Knight of NI

Re: A call for obfuscated LabVIEW code

Message contains an attachment
Your VI didn't work. The file was created, but nothing happened. I figured it out, anyway. Before the rules become rules, here are two more entries which break them. No obfuscation, just some fun.
The real question should be: what is the purpose of the code? Is it supposed to confuse us? Do we need to think "how was that done?"? Since most of here know LV enough to understand what a type cast or a subVI icon are, that's hard by just doing something where the end goal is as simple as a hello world string. Just some thoughts.
I looked at other competitions and saw they also have rules for size of code. Would that be practicle?

___________________
Try to take over the world!
Ben
Knight of NI Knight of NI
Knight of NI

Re: A call for obfuscated LabVIEW code

"Your VI didn't work. "

I just downloaded it and it ran fine.

Oh well...

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
altenbach
Knight of NI

Re: A call for obfuscated LabVIEW code

You need to save it first.
It seems if you run it directly from the browser cache it does not work, because the name is Ben_Obfuse[1].vi

Message Edited by altenbach on 03-31-2005 03:24 PM

Ben
Knight of NI Knight of NI
Knight of NI

Re: A call for obfuscated LabVIEW code

"You need to save it first"

Yes!

It depends on the VI name being correct.

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
altenbach
Knight of NI

Re: A call for obfuscated LabVIEW code

Message contains an attachment

@tst wrote:
... here are two more entries which break them.
Yup!
tst
Knight of NI Knight of NI
Knight of NI

Re: A call for obfuscated LabVIEW code

Message contains an attachment
Shane,
Here are most of the good ones. I haven't tested them, so there's no gurantee they will work.

Message Edited by tst on 04-01-2005 10:08 AM


___________________
Try to take over the world!
Kevin_Price
Proven Zealot

Re: A call for obfuscated LabVIEW code

Re: rules (FWIW)

Generally speaking, you can always obfuscate code by making a lot of unnecessary complexity. I don't think this is the kind of obfuscation that is best grasped and appreciated by others though. For example, you could put together a 6-deep nested case structure that, in the end, performs only a simple Boolean logic function. Or you could simply route your wires in a pattern that's hard to trace visually. Sure it's obfuscation, but not the kind I'd want to encourage.

That's why I liked JP's "Hello World" example so much. It was simple and concise, but still capable of confounding. I think it's exactly because the code was simple enough to understand that the result was able to confound. It's more a matter of misdirection than complexity -- kinda like magic.

Anyhow, if there are to be rules, I think we should expect entries to practice reasonable wiring style. Messy wiring is like removing whitespace in C -- too trivial to reward. And we shouldn't use stacked sequences or nested cases solely to prevent anyone from viewing all the code at once. The C analogy might be so much excess whitespace that a single line of code extends over several sheets of the printout -- again, not really worthy of reward. And stacking functions on one another to hide the actual function is too much like overuse of #define to redefine C.

Just some thoughts.

One category of obfuscation I think could be neat to play with is calculation or algorithm obfuscation. Like, implement a vi for integer division where only the addition operation is allowed. (I don't know if it's actually possible). Hmmm, maybe that's more of a mini code challenge than an obfuscated multiplication. Oh well, gotta go now.

-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
chilly_charly
Trusted Enthusiast

Re: A call for obfuscated LabVIEW code

Message contains an attachment
One more, still breaking the rules, and so stupid that I'm already ashamed. But since nobody did it...

CC
Chilly Charly    (aka CC)
chilly_charly
Trusted Enthusiast

Re: A call for obfuscated LabVIEW code

Message contains an attachment
Since I'm not really using "external data", I believe that I'm not breaking JPD rule n°4.

CC
Chilly Charly    (aka CC)
Ben
Knight of NI Knight of NI
Knight of NI

Re: A call for obfuscated LabVIEW code

Message contains an attachment
Kevin,

You make some good points. Maybe JP code is obfuse.

I withdraw from my previous position.

I think that the difficulty coming up with obfuse code says alot about LV.

Here is another attempt at being obfuse.

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel