elea
This is a little tool designed to prototype evolutionary algorithms, get an intuition for runtimes or for teaching EAs to students.
Run
- install nodeJS with npm
- run
npm ito install the dependencies - run
npm run startto run the application
You can find the application at localhost:1234 propably.
More commands for developer
- run
npm run lintto show current linting errors and warnings - run
npm run prettierto fix formating errors
Write new blocks
Steps:
- Think of all the connections you need and build your block in the block factory:
- Copy the json definition into the
static/blockDefinition/normalBlocks.jsor similar JS file and include it. Add atooltipto the block andcomments to the input to help our users understand your block. If you want to do type-checking, make sure to add the type of your input and output as described in the blockly documentation. Use theArray-type to request a population andIndividualto request an individual from the population. - Also copy the JS code stub from the factory into this JS file.
- Add the block to the toolbox in any category via its name (roughly in lines 200-450 in workspace.html). You should now be able to see it in the toolbox and use it.
- In order to actually do something, you need to replace the generated code with actual code. I essence, you need to return valid JS code in a string (ES5). Since debugging parsing errors is rather hard in this environment I suggest to try atomic expressions you want to use in this live demo. Anything that does not work there will not work in blockly either. Goodbye arrow-functions and other syntactic sugar of ES6!
- You should now have a working block
🎉
Additional things to consider: Variables and functions could collide with user defined objects. Blockly can handle this for you, if you let it. You need to ask for valid names etc. In its current state, the documentation is barely understandable and does not prominently mention all necessary functions, I find the predefined open source blocks much more helpful: https://github.com/google/blockly/blob/master/generators/javascript/math.js

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

