BreakPoint

cancel
Showing results for 
Search instead for 
Did you mean: 

A call for obfuscated LabVIEW code

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!
Message 41 of 85
(18,209 Views)
"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
Message 42 of 85
(18,189 Views)
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

0 Kudos
Message 43 of 85
(18,189 Views)
"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
Message 44 of 85
(18,107 Views)

@tst wrote:
... here are two more entries which break them.
Yup!
0 Kudos
Message 45 of 85
(17,990 Views)
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!
Message 46 of 85
(18,143 Views)
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.
Message 47 of 85
(18,041 Views)
One more, still breaking the rules, and so stupid that I'm already ashamed. But since nobody did it...

CC
Chilly Charly    (aka CC)
0 Kudos
Message 48 of 85
(18,021 Views)
Since I'm not really using "external data", I believe that I'm not breaking JPD rule n°4.

CC
Chilly Charly    (aka CC)
0 Kudos
Message 49 of 85
(18,080 Views)
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
Message 50 of 85
(18,090 Views)