Jump to content


InDieTasten's Content

There have been 8 items by InDieTasten (Search limited from 29-March 23)


By content type

See this member's

Sort by                Order  

#278935 Turn user input to code?

Posted by InDieTasten on 13 April 2019 - 12:26 AM in Ask a Pro

View PostKidBrine, on 13 April 2019 - 12:00 AM, said:

If you had read the full post before replying you would have seen that the only reason the thread still exists is because i can't delete it myself.

True, I only read the original post as part of my email notifications and didn't check for the update. But deleting posts, just because they've been solved reduces the use of theses posts. Other people might run into your post when googling for similar issues, so keeping the post and answers, even if answered yourself, might help someone in the future.



#278932 Turn user input to code?

Posted by InDieTasten on 12 April 2019 - 07:40 AM in Ask a Pro

You can implement executeCode like the following

function executeCode(codeAsString)
  local func, err = loadstring(codeAsString)
  if not func then error(err) else func() end
end

loadstring turns the string into a lua function (essentially parsing it), and calling the function will run the code



#278747 ATLX-L3L1 Compiler

Posted by InDieTasten on 18 January 2019 - 06:12 PM in Media

Woah :o !

This is crazy! And you've gone so far with it already. When I think about doing these things I already think of how I won't be able to complete it until I lose interest.
A massive test suite, really nice error outputs. I really hope you will release soon. Maybe there'll be some contribution initiative in this community as well, if you decide to go open source.
I'd really love to take a look at this, because there's so many things I wanna learn about it now.



#277727 2D noise generation API (with demos)

Posted by InDieTasten on 07 July 2018 - 01:52 PM in APIs and Utilities

Pretty nice stuff! I like it :D



#277723 Securing computer-to-computer communication?

Posted by InDieTasten on 07 July 2018 - 07:21 AM in Ask a Pro

You only mentioned a requirement of tamper-proof communication. There's many different ways to go about things.

One way to prevent others from for example forging door-opening commands, you could share a private secret on all your computers and add a hashed signature including the secret:

ActualMessage: "abc"
Signature: "0e3bbd26f46012ccec4776d171f314a00c022d98"

Where the signature is the sha-1 of "abc" and the secret (in this case "xyz")
The receiver can use his secret key, also create the hash and check, whether the it matches the sent signature. This way, the receiver can verify, that the sender used the same secret key.
Note: The actual message is still visible to all listeners, so this communication does not meet a possible requirement of confidentiality.

To achieve both, you could use actual encryption, like AES. The principle is again to have a shared secret among your computers. All messages are encrypted and decrypted using the secret key.
This offers confidential and tamper-proof communication.

There are many different hash functions and encryption algorithms out there. The main restriction on what to use will be performance. Some hash function will be faster to execute than some encryption algorithms and vice-versa.


Also note, that with either of these techniques, your overlaying protocols still have to consider security as well. Something that came into my mind would be replay-attacks. An attacker could capture the encrypted door-open-command, and just send it again. To resolve this kind of issue, overlaying protocols should include expiration times in their messages, and/or a challenge scheme, which is kind of like the way remote car keys work.
1. Sender sends message to wanting to send a command with public token 1 ("def", random for each time)
2. Receiver will respond with public token 2 ("ghi", random for each time)
3. Sender sends actual command including both tokens
4. Receiver validates, that the token combination is in his working table, and removes the tokens from the valid combination list.

A replay of the message would be discarded by the receiver, because the token combination is no longer valid.

This makes a really simple program really complicated, so you need to consider whether to go for security or development speed. I'd go for the latter.
Maybe someone else knows other techniques, that are easier to implement.



#277506 reqpack: Package all your requirements into a single file without any installers

Posted by InDieTasten on 02 June 2018 - 10:10 PM in APIs and Utilities

I just skimmed through the code. As far as I can tell, require() is not really like a function. It's more like a preprocessor directive (like #pragma once #include "filepath" from C/C++), right?



#277122 Starship - CC 1.8 Audio Editor

Posted by InDieTasten on 07 May 2018 - 05:31 AM in Programs

Looks sick



#276932 Communtiy OS 2.0

Posted by InDieTasten on 22 April 2018 - 05:02 AM in General

View PostRR_DEADPOOL, on 22 April 2018 - 02:46 AM, said:

not to be rude but you did come on here with the intent of possibly stopping this @Lucas_S

He didn't. He expressed his concerns regarding the project, though the argument of not having an original useful product at the end doesn't hold, as it's about the journey to get there as pointed out by others already.
The rest is still there.

I'd just be interested to know, how many people are now already involved in the project and if there's been some traction already? Is it still everything copy/paste and FTP and all that?