Index

Subject : Re: LUG: C++/C question

From : Daniel Underwood <daniel.underwood@ncsu.[redacted]>

Date : Tue, 06 Dec 2011 22:12:50 -0500

Parent


The point of the program is to generate a sample of a random variable with distribution defined by the input data I'm trying to conceal from the user. So I can't use substitute or dummy data.

The program is extremely simple; the value is in the distribution derived from medical records (the private data), not in the code or algorithm.

Sent from my iPhone

On Dec 6, 2011, at 9:02 PM, Stephen Roller <scroller@ncsu.[redacted]> wrote:

> One common way I see this handled in research is make the program load
> the .data file in or whatever and do the process. Then distribute the
> binary without the data. If you want to use the binary, you have to
> ask for permission. Say for research purposes only or whatever.
>
> And yeah, like Kristopher says, generate some fake data or an obscured
> subset of your data, or something.
>
> On Tue, Dec 6, 2011 at 7:55 PM, Kristopher Tesh <kitesh@ncsu.[redacted]> wrote:
>> If you can remove identifying data, it may become legal to distribute. If
>> your purpose for including the data is to demonstrate the program, it's not
>> so hard to generate 100-odd dummy entries. Make a table of 2-5 values for
>> each parameter and randomly assign them.
>>
>> On Dec 6, 2011 8:20 PM, "Daniel Underwood" <daniel.underwood@ncsu.[redacted]>
>> wrote:
>>>
>>> That's a good point.
>>>
>>> On Tue, Dec 6, 2011, at 08:08 PM, Warren Myers wrote:
>>>> I'd hasten to point out that if you're putting the data in the source
>>>> file
>>>> (in any form), it's still readable in a hex editor. In the good old days
>>>> of
>>>> DOS/Windows (my exposure to ASM programming), it all goes in the CODE
>>>> segment - which means it's readable and decipherable by anyone who cares
>>>> to
>>>> open the file in a hex reader :)
>>>>
>>>> WMM
>>>>
>>>> On Tue, Dec 6, 2011 at 18:39, Daniel Underwood
>>>> <daniel.underwood@ncsu.[redacted]>wrote:
>>>>
>>>>> Hey folks,
>>>>>
>>>>> Related to some research I've done, I want to make publicly available
>>>>> a
>>>>> program written in C++. The problem is that the program reads input
>>>>> data
>>>>> from a bunch of text files, and I can't make the data publicly
>>>>> available
>>>>> due to contractual obligations. I need to figure out how to rewrite
>>>>> the
>>>>> program so that all of the input data is compiled into the machine
>>>>> code.
>>>>>
>>>>> There is a lot of data. Below is a snippet of code to show how much
>>>>> data
>>>>> I'm referring to (each of the constant integers below is the size of a
>>>>> corresponding array of doubles). Does anyone have any suggestion as
>>>>> to how
>>>>> I might hide this data inside a compiled binary?
>>>>>
>>>>> (I suspect it's possible to use sed/awk to change the input text files
>>>>> so
>>>>> that they can be placed directly inside the source code files, but I'm
>>>>> wondering if there's a better way to do this.)
>>>>>
>>>>> Many thanks!
>>>>> Daniel
>>>>>
>>>>> [BEGIN CODE]
>>>>> double AW3[2500];
>>>>> double AB3[2500];
>>>>>
>>>>> const int NCa1p1NUM=9925;
>>>>> const int NCa1p2NUM=832;
>>>>> const int NCa1p3NUM=160;
>>>>> const int NCa1p4NUM=72;
>>>>> const int NCa1p5NUM=88;
>>>>> const int NCa1p6NUM=28;
>>>>> const int NCa1p7NUM=50;
>>>>>
>>>>> const int NCa2p1NUM=30414;
>>>>> const int NCa2p2NUM=2673;
>>>>> const int NCa2p3NUM=738;
>>>>> const int NCa2p4NUM=292;
>>>>> const int NCa2p5NUM=246;
>>>>> const int NCa2p6NUM=56;
>>>>> const int NCa2p7NUM=54;
>>>>>
>>>>> const int NCa3p1NUM=28647;
>>>>> const int NCa3p2NUM=3299;
>>>>> const int NCa3p3NUM=1450;
>>>>> const int NCa3p4NUM=641;
>>>>> const int NCa3p5NUM=570;
>>>>> const int NCa3p6NUM=153;
>>>>> const int NCa3p7NUM=115;
>>>>>
>>>>> const int NCa4p1NUM=27370;
>>>>> const int NCa4p2NUM=3142;
>>>>> const int NCa4p3NUM=1763;
>>>>> const int NCa4p4NUM=1150;
>>>>> const int NCa4p5NUM=1509;
>>>>> const int NCa4p6NUM=478;
>>>>> const int NCa4p7NUM=366;
>>>>>
>>>>> const int CAa1p1NUM=164;
>>>>> const int CAa1p2NUM=34;
>>>>> const int CAa1p3NUM=9;
>>>>> const int CAa1p4NUM=2;
>>>>> const int CAa1p5NUM=8;
>>>>> const int CAa1p6NUM=2;
>>>>> const int CAa1p7NUM=0;
>>>>>
>>>>> const int CAa2p1NUM=1077;
>>>>> const int CAa2p2NUM=176;
>>>>> const int CAa2p3NUM=107;
>>>>> const int CAa2p4NUM=66;
>>>>> const int CAa2p5NUM=57;
>>>>> const int CAa2p6NUM=3;
>>>>> const int CAa2p7NUM=10;
>>>>>
>>>>> const int CAa3p1NUM=1815;
>>>>> const int CAa3p2NUM=223;
>>>>> const int CAa3p3NUM=180;
>>>>> const int CAa3p4NUM=177;
>>>>> const int CAa3p5NUM=218;
>>>>> const int CAa3p6NUM=42;
>>>>> const int CAa3p7NUM=20;
>>>>>
>>>>> const int CAa4p1NUM=2140;
>>>>> const int CAa4p2NUM=165;
>>>>> const int CAa4p3NUM=144;
>>>>> const int CAa4p4NUM=134;
>>>>> const int CAa4p5NUM=349;
>>>>> const int CAa4p6NUM=136;
>>>>> const int CAa4p7NUM=126;
>>>>> [END CODE]
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Daniel Underwood
>>>>> North Carolina State University
>>>>> PhD Student - Industrial Engineering
>>>>> email: daniel.underwood@ncsu.[redacted]
>>>>> phone: XXX.302.3291
>>>>> fax: XXX.515.5281
>>>>> web: http://www4.ncsu.edu/~djunderw/
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Warren Myers
>>>> http://warrenmyers.com
>>>> http://twitter.com/volcimaster
>>>> http://www.linkedin.com/in/warrenmyers
>>>>
>>> --
>>> Daniel Underwood
>>> North Carolina State University
>>> PhD Student - Industrial Engineering
>>> email: daniel.underwood@ncsu.[redacted]
>>> phone: XXX.302.3291
>>> fax: XXX.515.5281
>>> web: http://www4.ncsu.edu/~djunderw/
>>>
>>
>



Replies :