BumbleBazooka

Will scratch hopefully make no “see inside” for certain projects because I am trying to use passwords.

comp09

BumbleBazooka wrote:

Will scratch hopefully make no “see inside” for certain projects because I am trying to use passwords.
No.

Also, never trust the client - it is not your computer. Someone else please add more detail; I am too lazy to explain for the 18378th time.

liam48D

BumbleBazooka wrote:

Will scratch hopefully make no “see inside” for certain projects because I am trying to use passwords.
Nah - it's very important that you can see in all Scratch projects, that's one of the main objectives of Scratch (learning from other peoples' creations).

I suggest reading up on hashing. A password hash is just a password encrypted in such a way that it can't be decrypted – for example, “cat” could always become “dog”, but you have no way of knowing “cat” from “dog”. But if you enter “cat” you can compare encrypted “cat” (“dog”) with “dog”, and the password matches, so you can continue on with whatever.

// Example pseudocode

ask [what's the password?] and wait
hash (answer) :: custom
if <(hash result) = [dog]> then
say [You got in!]
end

^ And nowhere in the code for your project did it say that “cat” means “dog”. You just need to use a good (generally math-related) hash function and you'll be set!

Hopefully that isn't too confusing. Btw “encrypt” means “make one text (text A) into a different text (text B)”. A “hash” is the same thing but it makes it so that you can't figure out text A from text B.

liam48D

comp09 wrote:

Also, never trust the client - it is not your computer. Someone else please add more detail; I am too lazy to explain for the 18378th time.
What comp is saying is that you don't know that somebody else is using Scratch to view your project – they could have just downloaded the project's code (using fancy hacks ) and be looking at through that with Scratch offline, or a text editor!

And this is a problem because if you want to hide a password they can then see the password simply. The only way to really keep it secure is to use a hash function, as I explained.

Luckyyang

I have downloaded “Open source version of the Scratch 2.0 project editor.” from https://github.com/LLK/scratch-flash. I wanted to modify it and compile it to a .exe file for may Robot application. But I do not know how to do? and how to setup development environment it? Which software tools is necessary?do you any proposed Doc. to me? Thank you very much.

liam48D

scratch-parser should probably be added.

EDIT: The VM in the scratch-blocks section should also probably be linked

mewtaylor

liam48D wrote:

scratch-parser should probably be added.

EDIT: The VM in the scratch-blocks section should also probably be linked
Awesome – thanks @liam!

nickeljorn

No one posts here I'm beginning to see more and more topics here.

Kinect4Scratch

https://scratch.mit.edu/projects/152543050/

A good project for kinect reconizing! Say things in the comments and i go add them!

When [Comment v] added ::hat control
repeat ([Time you need v] ::sensing)
Work on [That comment v] ::operators
end
Do [Be Happy v] ::looks
Like ::events cap

doge224

hi

_nix

Is it ethically wrong of me to keep a log of private Scratch repositories..?

Smurphy13AWESOME

I am so glad that Scratch has open source projects. My favorite thing to do on Scratch (besides make projects) is decode other peoples projects!

thisandagain

_nix wrote:

Is it ethically wrong of me to keep a log of private Scratch repositories..?
LOL. No.

_nix

thisandagain wrote:

_nix wrote:

Is it ethically wrong of me to keep a log of private Scratch repositories..?
LOL. No.
Yay

Can I publish the list?

thisandagain

_nix wrote:

thisandagain wrote:

_nix wrote:

Is it ethically wrong of me to keep a log of private Scratch repositories..?
LOL. No.
Yay

Can I publish the list?

Not sure how helpful that is, but sure? ¯\_(ツ)_/¯

Shaymin524

Can I post threads of non-Scratch-Team-curated github projects?

s_federici

mewtaylor wrote:

Having trouble getting a copy of the project and working with it on your own computer? Ask about it in the forum!
Working on something in your own copy that you need help with, or want to work on someone else with? Ask someone in the forum!

Hi everyone, as this is exactly the kind of things I need to do, I hope there is someone wanting to answer my question I already asked in other forums

I want to work on the Scratch 3 source code. I installed Git, Node.js and Python 2 (on Windows) and run the instructions at https://github.com/llk/scratch-gui. Scratch 3 is now working fine at http://localhost:8601.

Now I need any general documentation (even very short instructions!) explaining how to start working on the source code, for example how to rebuild Scratch 3 after I change something. A short documentation describing how the source code is organized would be extremly welcome.

--Snowball--

I still don't fully understand what an “open source” project is.

_nix

--Snowball-- wrote:

I still don't fully understand what an “open source” project is.
When we're talking about “open source projects”, we're actually talking about all kinds of coding projects – not just ones on Scratch. We're also including projects made with JavaScript, C, Python, etc – any programming language. The phrase “open source” means that anybody is allowed and able to see a project's source code – that is, the actual code files which make the project work – and it also means that you're allowed to create your own version of that code, and share it online yourself (usually with credits to the people who made the original code).

In fact, you might have noticed: Every Scratch project is open source! Whenever you share a Scratch project, you're giving everybody the ability to look at its code – by seeing inside – and to make and share their own version – by creating a remix!

In general, whether a project (any kind of programming project) is open source depends on a license that is provided alongside the project. For example, all Scratch projects that you share on the Scratch website are automatically licensed under the rules of Creative Commons Attributions-ShareAlike 2.0; that's in the Scratch Terms of Service. Other projects include the license they are under alongside the download for their source code. There are all sorts of different licenses for code out there – they're all lists of rules about how you're allowed to modify and share their code. Some are more restrictive than others; if you're curious, you can take a look at the differences between some popular ones here.

Open source projects are also often open to code contributions from other people. So, if you have your own version of the project which fixes a bug, you can send in the code changes you made, and the people who originally made the project can add your changes to the original code – and then everyone who uses that project will see that that bug has been fixed! The same goes for adding features. (Mind that this isn't always the case – a project can be open source without accepting code contributions. Often times, projects have contributor guidelines, so that you don't accidentally write code in a style that doesn't fit their project, or spend a lot of time writing code to add a feature that the original developers feel wouldn't fit the project, or needs more thought before being simply added in.)

In summary, if a project is open source, that means you're allowed to create your own version of its code, and to share that; and the people who made the project may also be open to code contributions, as long as you follow their guidelines.

--Snowball--

_nix wrote:

--Snowball-- wrote:

I still don't fully understand what an “open source” project is.
When we're talking about “open source projects”, we're actually talking about all kinds of coding projects – not just ones on Scratch. We're also including projects made with JavaScript, C, Python, etc – any programming language. The phrase “open source” means that anybody is allowed and able to see a project's source code – that is, the actual code files which make the project work – and it also means that you're allowed to create your own version of that code, and share it online yourself (usually with credits to the people who made the original code).

In fact, you might have noticed: Every Scratch project is open source! Whenever you share a Scratch project, you're giving everybody the ability to look at its code – by seeing inside – and to make and share their own version – by creating a remix!

In general, whether a project (any kind of programming project) is open source depends on a license that is provided alongside the project. For example, all Scratch projects that you share on the Scratch website are automatically licensed under the rules of Creative Commons Attributions-ShareAlike 2.0; that's in the Scratch Terms of Service. Other projects include the license they are under alongside the download for their source code. There are all sorts of different licenses for code out there – they're all lists of rules about how you're allowed to modify and share their code. Some are more restrictive than others; if you're curious, you can take a look at the differences between some popular ones here.

Open source projects are also often open to code contributions from other people. So, if you have your own version of the project which fixes a bug, you can send in the code changes you made, and the people who originally made the project can add your changes to the original code – and then everyone who uses that project will see that that bug has been fixed! The same goes for adding features. (Mind that this isn't always the case – a project can be open source without accepting code contributions. Often times, projects have contributor guidelines, so that you don't accidentally write code in a style that doesn't fit their project, or spend a lot of time writing code to add a feature that the original developers feel wouldn't fit the project, or needs more thought before being simply added in.)

In summary, if a project is open source, that means you're allowed to create your own version of its code, and to share that; and the people who made the project may also be open to code contributions, as long as you follow their guidelines.

Oh, thanks! That makes perfect sense now.