GithubHelp home page GithubHelp logo

dn2a's Introduction

Software Architect, Developer and Enthusiast

An highly skilled Full Stack expert.

Fanatic of Meticulous Business Analysis, Accurate Solution Design and Minimalist Software Development.

Specialized in but not limited to Web Applications.

Strongly experienced in Object Oriented Programming.

Focused on Functional/Reactive paradigms and Event Driven/Service Oriented architectures.

I've studied electronics, written my first code on a VIC 20 and, during 1999, finally understood that software would have been my future.

After that, during ~25 years, I've worked in various contexts contributing to the design and development of many systems as well as to the support and mentorship of many engineers.

Software is my passion and a lot of my time is dedicated to it.

I'm a polyglot programmer but there are things that I know better than others.

Principal Skills

  • Client languages => JavaScript, TypeScript
  • Main client libraries => AWS SDK, React
  • Presentation languages => CSS, HTML
  • Server languages => JavaScript, TypeScript
  • Main server libraries => AWS SDK, Express
  • Query languages => GraphQL, SQL
  • Run-time environments => AWS services, Node.js
  • Database engines => AWS services, MySQL
  • Best practices => DDD, Design Patterns, Evolutionary Design, Feature Flags, Rapid Prototyping, RFCs, TDD
  • Programming paradigms => Functional, Object Oriented, Reactive
  • Architecture models => Event Driven, Microfrontends, Microservices, Service Oriented
  • Modelling notations => BPMN, C4, ERD, UML
  • Agile methodologies => Event Storming, Kanban, Pair Programming, Scrum, Story Mapping
  • DevOps tools => AWS services, Docker, Serverless, Terraform
  • CI/CD tools => AWS services, GitHub Actions
  • SCM tools => Git

Personal Projects

dn2a's People

Contributors

antoniodeluca avatar dependabot[bot] avatar dn2a avatar

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dn2a's Issues

Genetic techniques

Implement a system to represent the networks and the architecture of networks through a sort of genetic string. It should be possible to apply genetic techniques for training improvements on the basis of sole genetic strings manipulation.

Automatic sizing for network-alpha

Add utility methods for auto detecting the right configuration of inputs on the basis of the arriving data. The utilities should help to detect a good configuration of the network in terms of layers and their composition too.

ReactiveX and more

Add support for ReactiveX in the communication with the user code. The user should be able to decide if to go for a callback or stream approach in case of continuous interaction or for or promise in case of "one shot" interaction.

Realtime parametrization and configuration

Implement methods that allow the user code to change in realtime the parametrization and configuration of the neural networks and relative environments. Should be possible, for example, to change the learning rate in realtime while the training is happening.

Wrappers

Implement additional networks that act as wrappers of external libraries so that very complex architecture can be created and runned through the use of useful projects.

Pause, Start API methods

Implement Pause and Start methods into the API together events that can be used by the user to control the system through the provided API.

Build and Bundle

The bundle task should automatically execute a build and not to expect that the build has been manually requested.

Flow

Add Flow support.

Module Export

Stop using module export in ES5 style and move completely to ES6 using the "babel-plugin-add-module-exports" module.

Examples and guides

Fix existing examples and complete the list of examples in the main README file.

Separated and decoupled modules

Put each single module (bios, host, network(s), neuron and synapse) in specific project and repositories. The modules have to be developed alone and to be completely decoupled.

Training and querying architecture

Implement full architecture management into the Host (Cerebrum) so that many neural networks can be connected by configuration to inputs, between each other and to outputs. The solution should allow the simple and fast creation of neural networks architecture that make the data flow from input to output during training and querying activities.

Typo on website

In the header of the website, the second tab says "Though Experiments" when it should say "Thought Experiments"
I will try to make a pull request.

NPM scripts

Add specific NPM scripts for all the actions like "test", "build", "bundle". The scripts should be able to decide if to use Gulp or if to use Grunt on the basis of some user parametrization. One of them, Gulp or Grunt, should moreover be the default.

Cannot read property 'network' of undefined

My System is Win10 and my terminal is powershell.
The node version I use is v6.9.2 and npm version is 3.10.9

When I ran the last example, my terminal shows the message below:
E:\dn2\node_modules\dn2a\built\cerebrum.js:94
}).network;
^

TypeError: Cannot read property 'network' of undefined
at Object.trainMind (E:\dn2\node_modules\dn2a\built\cerebrum.js:94:11)
at Object. (E:\dn2\xor3.js:58:10)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)

Import and Export

Add support for importation and exportation of data and configurations. It should be simple to save the state of a system or of part of the system (for example a single neural network) and to reinstanziate it when needed. This is basilar for concrete use of the library.

Gulp

Add Gulp configuration file as alternative to Grunt. Both system have to provide the same functionalities.

Watcher

Add watching facilitation into the Grunt (and Gulp as soon as available) configurations. It is important to make the development smoother.

comparison with brainJS & how to use with word vectors?

i came across your comment from brain.js repo. I hope you don't mind some comments here

  • is there a comparison with brain.js ? your architecture seems maybe more modular, but a little more detail would help since that project seems to have more momentum.

  • can I use your NN with word vectors / embeddings? I am trying to do a FAQ system, and I have a database of questions + answers. but without including a pretrained model of separate word vectors it would not be very useful.

thanks for the great project!

Docker support

Add Docker configuration so that developers and users can have a simple replicable environment through which to test, use and improve the library.

Callback and Stream on any event

Communicate all the events that happen in the system through callback and streams (if requested by the user). It is important to enable the user code to have a full view of "what is going on" in the architecture.

Communication between instances

Add helper methods to simplify the communication of different instances of the library so that clusterization projects become simplier. The communication should use both high level http and low level socket layers. The abstration should be enough powerfull to allow the use of different instances coded in different programming languages.

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.