1. writing data

I have been working on a workout program that I wrote in qbasic and I
was storing the user info in a file. I was using two seq to stroe the
info, the first has all the names of the users and the second has all
the info on them. I read/write them using get()/print() but if you open
the file you can see the seq, any body have any ideas on a better way to
store info in a file so it cannot be read by noise people who might try
and mess with it. any suggesting?

by the way, A while back I was having trouble with the editor's, I have
been using the ee editor and it still keeps crashing, some people were
asking about my computer, well this is what I know, I have a 150Mhz 686
with 48 megs of ram and I am runing win95. if there is any more info
that i can give you just ask, and if I know , I'll tell ya. so can
anybody help? pretty pretty please.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

new topic     » topic index » view message » categorize

2. Re: writing data

At 04:27 PM 5/19/98 PDT, DeBigMan wrote:

 any body have any ideas on a better way to
>store info in a file so it cannot be read by noise people who might try
>and mess with it. any suggesting?

There is a routine available in the RDS program archives
(by Ralf, I think) that will give pretty good security.

>by the way, A while back I was having trouble with the editor's, I have
>been using the ee editor and it still keeps crashing, some people were
>asking about my computer, well this is what I know, I have a 150Mhz 686
>with 48 megs of ram and I am runing win95.

Are there any messages? If you are running in Windows,
you should get some kind of exception message no matter
what happens. In DOS, Euphoria will always give a clear
error message. Unless you have written an endless loop,
of course.

If the computer reboots, then you may have a bad
memory chip, or some cmos settings are wrong.
I have used ee a lot, without any problems.

Irv

new topic     » goto parent     » topic index » view message » categorize

3. Re: writing data

>by the way, A while back I was having trouble with the editor's, I have
>been using the ee editor and it still keeps crashing, some people were
>asking about my computer, well this is what I know, I have a 150Mhz 686
>with 48 megs of ram and I am runing win95. if there is any more info
>that i can give you just ask, and if I know , I'll tell ya. so can
>anybody help? pretty pretty please.


Ah! There's the problem. 150Mhz isn't a good clock speed for interpreted
languages, also consider that Cyrix procesor (specially the 686 series) have
serious bugs. Also you should change OS, Windows 95 is certified to crash
non-Microsoft software (expect some Microsoft products like Win95, Office,
IE, etc...).

Just joking :D

Regards,
    Daniel Berstein
    daber at pair.com

new topic     » goto parent     » topic index » view message » categorize

4. Re: writing data

At 04:27 PM 5/19/98 PDT, you wrote:

>I have been working on a workout program that I wrote in qbasic and I
>was storing the user info in a file. I was using two seq to stroe the
>info, the first has all the names of the users and the second has all
>the info on them. I read/write them using get()/print() but if you open
>the file you can see the seq, any body have any ideas on a better way to
>store info in a file so it cannot be read by noise people who might try
>and mess with it. any suggesting?

Hello Mr Man ... or is that Mr Big?

you could yse the following.

before you print(fn,myseq)

do:
myseq=hide(myseq)

The same call after get() will put the
sequence back how it was.

function hide(sequence s)
    set_rand(1)
    for x=1 to length(s) do
        if atom(s[x]) then
            s[x]=xor_bits(s[x],rand(255))
        else
            s[x]=hide(s[x])
        end if
    end for
    return s
end function

*UNTESTED*CODE* just typed it into Eudora, but it should work.


>by the way, A while back I was having trouble with the editor's, I have
>been using the ee editor and it still keeps crashing...

Without wanting to detract from the excellent editor contributions,
am I the only one who uses ED.EX? I find it to be uncomplicated and
extremely functional. Win95 will happily drag and drop file paths
at the appropriate prompts, and I've never considered looking for
anything else... Anybody?


Graeme.
----------------------------------------------------

new topic     » goto parent     » topic index » view message » categorize

5. Re: writing data

>I have been working on a workout program that I wrote in qbasic and I
>was storing the user info in a file. I was using two seq to stroe the
>info, the first has all the names of the users and the second has all
>the info on them. I read/write them using get()/print() but if you open
>the file you can see the seq, any body have any ideas on a better way to
>store info in a file so it cannot be read by noise people who might try
>and mess with it. any suggesting?


Well, EDOM2 emulates get () and print () in an efficient, unreadable for
non-euphorians form.
However, any Euphorian could just load up the sequence using EDOM2.
To prevent this, you could use a "compression handler" also known as custom
I/O Device, so you can filter the data. You could also  manipulate the
sequence before you save it:

err_code = edo_save ("myedo.edo", not_bits (my_seq * 3 - 123), CP_NONE)
if err_code then
    puts (1, "Error occured:" & EDO_ERRORS[err_code] & '\n')
    abort (1)
end if

-- By using not_bits ( my_seq * 3 - 123) you have made the data in my_seq a
bit less understandable.
-- To load it back up, you must:

data_file = edo_load ("myedo.edo", CP_NONE)
if integer (data_file) then
    puts (1, "Error occured:" & EDO_ERRORS[data_file] & '\n')
    abort (1)
end if
data_file = (data_file + 123) / 3

-- Now data_file contains the same data, however it was saved it an
unreadable form, which is also hard to understand, even if some1 decrypts it
using EDOM2

BTW Do not think, "you need a lot of code to use EDOM2, compared to print()
/get ()", cause this code also insolves all sort of possible disk errors
that could occur.

You could off course also do some calculation with the data, but not use
EDOM2, this would give non-euphorians the same chance to crack the data as
euphorians.

Last suggestion I have:
You could also save a file and write out the data using print () and get (),
but then you put this piece of info in front of it: "global constant DATA =
" then you could use shroud and let it get encrypted by EUphoria. This off
course only works if the end-user program doesn't need to save any info.

Ralf Nieuwenhuijsen
nieuwen at xs4all.nl

new topic     » goto parent     » topic index » view message » categorize

6. Re: writing data

Irv wrote:
> any body have any ideas on a better way to
>>store info in a file so it cannot be read by noise people who might
try
>>and mess with it. any suggesting?
>
>There is a routine available in the RDS program archives
>(by Ralf, I think) that will give pretty good security.
>
>>by the way, A while back I was having trouble with the editor's, I
have
>>been using the ee editor and it still keeps crashing, some people were
>>asking about my computer, well this is what I know, I have a 150Mhz
686
>>with 48 megs of ram and I am runing win95.
>
>Are there any messages? If you are running in Windows,
>you should get some kind of exception message no matter
>what happens. In DOS, Euphoria will always give a clear
>error message. Unless you have written an endless loop,
>of course.
>
>If the computer reboots, then you may have a bad
>memory chip, or some cmos settings are wrong.
>I have used ee a lot, without any problems.
>
>Irv
Thanks Irv,
I downloaded the file from RDS and it looks pretty cool.

and about the messages, I get all of those, sometimes I get a CW error
or the MsPrompt will just quit and windows will have a little grey box
in the corner telling my about some illegal operation, and sometimes it
will just reboot.
is there any way I can tell if I have a bad mem chip?


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

new topic     » goto parent     » topic index » view message » categorize

7. Re: writing data

At 02:33 PM 5/20/98 PDT, DeBigMan (is this Meester Beeg?) wrote:
... about the messages, I get all of those, sometimes I get a CW error
>or the MsPrompt will just quit and windows will have a little grey box
>in the corner telling my about some illegal operation, and sometimes it
>will just reboot.
>is there any way I can tell if I have a bad mem chip?
>
Those symptoms sound like memory errors. They could
be caused by some run-away program somewhere, however.
Is there any way you could run plain DOS? Maybe with
a boot disk? That would tell you whether it is hardware
or some Win software causing the problem. It could
even be some plug&pray card running away with an
interrupt.

I hope someone on this list will know of a good (DOS based)
memory checker program. I cured my problems by swapping
memory chips - er...modules, whatever, until things worked.
It would be nice to be able to check to be sure I stomped
that bug....

Irv

new topic     » goto parent     » topic index » view message » categorize

8. Re: writing data

Irv Mullins wrote:
> I hope someone on this list will know of a good
> (DOS based) memory checker program. I cured my
> problems by swapping memory chips - er...modules,
> whatever, until things worked. It would be nice to be
> able to check to be sure I stomped that bug....

A couple of years ago I was plagued by an intermittent
memory failure. I used the program below to prove to myself
that I had a hardware problem, before I demanded the computer
retailer to replace all of my memory chips. It just copies sequence
x to sequence y and then checks if there are any differences.
I found a single-bit error every 10 minutes or so on my machine
back then. I'm sure there are much better programs for this
sort of thing, but this might help. Set the SIZE according to
how much memory you have.

-- test for flaky memory
constant SIZE = 500000
sequence x, y
integer pattern

while 1 do
    for j = 1 to 1000 do
        pattern = rand(1000000000)
        x = repeat(pattern, SIZE)
        y = x                -- y and x simply point to the same thing
        y[1] = pattern  -- force Euphoria to actually make a copy
        for i = 1 to SIZE do
            if compare(x[i], pattern) or compare(y[i], pattern) then
                puts(1, "memory failure!\n")
                ?pattern
                ?x[i]
                ?y[i]
                ?i
                abort(1)
            end if
        end for
        if get_key() != -1 then
            abort(0)
        end if
        puts(1, '.')
    end for
end while


Regards,
     Rob Craig
     Rapid Deployment Software

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu