BreakPoint

cancel
Showing results for 
Search instead for 
Did you mean: 

A call for obfuscated LabVIEW code

Discussions have come up in the past regarding the question if LabVIEW is a real programming language.

Some of the central points are discussed in detail in this LabVIEW Zone article by Jeff Kodosky. A more recent development was the addition of LabVIEW as a programming language to the software map at sourceforge.net.

One glaring omission so far has been the complete absence of any official obfuscated code contest such this one for C. (One might argue that some of the posted LabVIEW code here would qualify without any changes, but I am sure some of us could do even better! :))

To help round out the picture and add another milestone to the worldwide recognition of LabVIEW, I propose the
 
***** First annual obfuscated LabVIEW code contest *****

Since this is all still in its infancy, we would need to agree on some rules and guidelines. (Everyone can take an existing LabVIEW program, select everything on the diagram, followed by a "align vertically" and "align horizontally". This is boring.)

We are looking for amazing and surprising code filled with originality and creativity.

I am not entirely sure about the best way to do all this, so feel free to discuss the format. One possibility would be for everybody to post code entries here until a certain deadline, then we can nominate the top entries for a vote by poll.
Message 1 of 85
(25,670 Views)
So to evaluate submisions we would have to be able measure degrees of obfuscation!

How do measure obfuscation?

What is obfuscation in a LV context?

If I entertatin the notation that obfuse (is that a word?) code is what I am not supposed to write then this would be bad code. But it still has to work?

Could we use the VI Analyzer backwards? Try to get most number of test failures and still work?

Should we rule out scripting? A VI that wrote and ran a VI that said "Hello World" would be pretty challenging to decypher.

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 2 of 85
(25,636 Views)
Guys,

Looks like it is a word..

DEfinitions:

1. To make so confused or opaque as to be difficult to perceive or understand: “A great effort was made... to obscure or obfuscate the truth” (Robert Conquest).
2. To render indistinct or dim; darken: The fog obfuscated the shore.

I am copying a paragraph from this site..

"Obfuscation works to transform programs in such a way as to not affect what the program does, while at the same time impeding reverse engineering efforts. In a nutshell, obfuscating transforms have a goal of destroying relationships that exist between the compiled and source-code versions of the code. Although initially the idea of actually making program code harder to understand seemed counterintuitive, it is now seen as a valuable component in computer security."

Obfuscated LV code...

Interesting idea.. It seems that to "REGULAR" SW people, LV is obfuscated enough 😉

But making a cryptic Hello World program could be somewhat very interesting... I LIKE IT!! 😄

We could do this as a fun-thing-to-do.. No rules.. Just really complicated-looking code that brings a popup with a message: "Hello World" for instance..

😄
Message 3 of 85
(25,630 Views)
Yes, I was thinking mostly about the definition labeled Recreational obfuscation on Wikipedia. 🙂

"Hello world!" is nothing more than a complex constant of [6.072132627989E-154 +1.512540973677E+113 i], see attached (LabVIEW 7.0, use execution highlighting!). 😉
Message 4 of 85
(25,738 Views)
Well, not with the intention of critisize, but I really don't like that way of obfuscating (hiding code behind other code, or a drawing, etc.). And, actually, your code was obfuscated enough the way it is!!

I'll like, or let me say, propose, that a rule for the LabVIEW obfuscation challenge to discourage that type of obfuscation.

I remember a while ago that there were several "Hello World!" obfuscated LabVIEW code because I posted a link about the "Evolution of a Programmer". I know have them somewhere... I'll look around.
www.vartortech.com
Message 5 of 85
(25,744 Views)
No, you're absolutely right. "Stacking" of code elements should not be allowed. (Either by placing structure over code or resizing structures to be smaller than the code they contain, etc.).

I was trying to make a point that we need some rules. We also should not allow images of fake code on the diagram. 😉

(All these tricks should only be allowed on April 1.) 🙂
Message 6 of 85
(25,949 Views)
OK, here's my legitimate "Hello World!" Program.

It is probably possible with a little more effort to simplfy the code a bit ... but hey, if it ain't broke, don't fix it. 🙂

Message Edited by altenbach on 03-27-2005 02:06 PM

Message 7 of 85
(25,951 Views)
I must admit to a bit of cheating - I didn't write most of the code.
But hey, it's late here. I'm not in a creative mood at the moment.

___________________
Try to take over the world!
Message 8 of 85
(25,950 Views)
And here is my contribution...

CC
Chilly Charly    (aka CC)

         E-List Master - Kudos glutton - Press the yellow button on the left...
        
Message 9 of 85
(25,558 Views)
From my pond deepest muddy hole, where I recover slowly from tst last chickenhearted assault, I have decided to be more carefull when trying to communicate all my friendship to others. And this is what emerged from my poor damaged brain : the ultimate translator.

I believe that JLV, JPD and tbob will enjoy that one.

Of course, it works with "Bonjour monde".

But there is much more... Just type some french words as input and see what happens.

I had a good laughter with "bonjour JLV", "bonjour tst" and "bonjour LabVIEW"

Come back with your own findings !

If I get enough stars, I will give you the password...

Enjoy

CC
Chilly Charly    (aka CC)

         E-List Master - Kudos glutton - Press the yellow button on the left...
        
Message 10 of 85
(25,537 Views)