Coder Social home page Coder Social logo

dflow's Introduction

⚡ Fun fact

I am Fibonacci's reincarnation

When I was four years old I knew by heart the multiplication table from 1 to 10. When I discovered that it is also possible to go further with number 11 I was really excited and figured out by my self the multiplication table for number 12 which was my favourite one.

I always felt passionate about Mathematics the Queen of Science, in particular Geometry and Number Theory.

Many years later I realized this coincidence, as you can see in the photos below I look similar to Fibonacci.

Even if I joined the Pythagorean community in Crotone, nowadays I have no issue eating beans.

Leonardo Gianluca

By the way, the famous Fibonacci sequence was introduced in his book Liber Abaci just as an excercise and it comes from Indian Mathematics. Actually, the most brilliant result of Fibonacci was to import Arabic numbers to Europe, otherwise my cell number would be III IV IX VI I IV IX I VI ... ehm last digit is 0 so I cannot write it down as Roman number.

dflow's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dflow's Issues

new operator

A new keywork should be supported. Syntax proposed is 'new Foo()' will result in a function that returns an instance of Foo, where Foo is looked for using dflow function resolution.

Run should have an html template option

This prop be stored in graph.info, by default clicking on Run in the editor opens a window which executes dflow graph. The html code is very generic, it should be configurable, ideally fetching it from an url.

inject numbers

a task that looks like a number should be injected as a function that returns that number.

inject JSON

a task that looks like a JSON should be injected as a function that returns that JSON.

React

Use React to render client side

JSONEditor theme

Look for a grey theme or something that fits better in the sidebar tab.

toggle button

A toggle button like the vvvv one could be a 1.0 dflow feature that let have a boolean that can be set on the fly by users.
It requires flow-view to be extended with custom nodes.

comments

Creating a task that start with // should be treated as a comment, hence ignored by engine and only visible in the view.

edit subgraphs

dflow editor should be able to open a subgraph and edit it

debug

Add a debug keyword, which is a task that enables debug messages.
As a task it is a no op.
An env var should also be available to enable debug server side.
It could accept a boolean as argument to enable or disable it.

remove debug from bower dist

Editor uses debug lib and it is ok but the bower dist should be built without.
Now it is 9k minified, so it could get reduced to minimal weight. Then document that how few kb it gets.

Web audio

Create a webaudio.json graph with an example using Web Audio API.

whole data accessor

Add a special injected function this.graph.data to get all graph.data content.

run on edit

A --run-on-edit option should enable continuous graph evaluation as it is edited. Also a DFLOW_RUN_ON_EDIT env var should be added and documented.

io task

it is like vvvv iobox, used to display a value, for example in heroku demo to show process.env.RUN_ON_EDIT task value (=1)

demo

Create a page where the user can edit a graph and the flow-view hooks modify and run the graph client side.

This can be a template for several examples client side, without the needing of a server.

User should be able to save the graph by downloading it.

Save on a gist is a nice to have feature.

examples page

Create a dedicated example page, linked in README (or site index)

toggle autosave

dflow editor should be able to disable autosave and save graph on demand.

split README

Put every README section (Install, Specification, Examples, Support, etc) in a different page linked in a README.

I want to create an svg menu like a flow-view graph with every section as a clickable node. I already tryed to put a link in the node with flow-view, so it should work. Also, in the README there is already an embedded svg.

At the end the README will contain title, description, badges and the svg menu.

edit graph in memory

If no graph path is provided, file should be edited in memory.

This would work well for environments like heroku where there is no file system available, so the default will be edit graph in memory.

Save graph feature must be aware of that.

DEFAULT_GRAPH env

The idea is to set DFLOW_GRAPH env to src/examples/grapg/welcome.json in heroku demo

underscore example

Create an example where there are all _.foo functions available in the additionalFunctions

inject strings

a quoted task, e.g. 'string' should resolve to a function that returns that string.

try another port

if port 3000 is already occupied, exception should be handled and try on another port.
document it in the features.

no-analytics option

Add analytics to the editor, and a --no-analytics option as well as a DFLOW_NOANALYTICS environment variable to handle this behaviour.

clean commands

Remove dollar signa from README commands. It is better to copy and paste them.

fallback task

A task that does not resolve to a function should fallback to a safe empty function.

Otherwise users can create tasks that make the graph fail.

Node.js hello world

Add classic hello world to dflow examples: found it here https://nodejs.org/en/about/

const http = require('http');

const hostname = '127.0.0.1';
const port = 1337;

http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

release plan

After version 1.0, document in status section that will be published a release every 6 months.
Close all issue remaining and document support and license section promising that every issue labeled as bug will be closed in max 7 days, while feature requests will be evaluated.

jade

use jade instead of ejs, cause it is nicer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.