syntax.us Let the syntax do the talking
Blog Contact Posts Questions Tags Hire Me

Question:
What is 2015_1220 Code Challenge?

The 2015_1220 Code Challenge is a learning exercise for students attending Dan's Linux JavaScript Class at 3pm on 2015-12-20 at Hacker Dojo:

http://www.meetup.com/Dans-Linux-JavaScript-Class/events/227427102

This class is similar to the class on 2015-12-12 except that we will study D3.js a bit more.

During the week of 2015-12-13 I enhanced the UI and behavior of Deep500 so we will also study those enhancements.

UI On 2015-12-12





UI On 2015-12-19 (Week Later)








In class we will study Deep500 with the chrome-browser debugger:

https://github.com/danbikle/deep500

Already, the above repository should be deployed at meteor.com for you so you can use a browser to study the behavior of the JavaScript:

https://deep500.meteor.com

The steps I followed to run this repository on my Ubuntu host are listed below:
  • This repo depends on Meteor so I installed it:
    cd ~
    curl https://install.meteor.com/ | sh
    echo 'export PATH=${HOME}/.meteor:$PATH' >> ~/.bashrc
    bash
  • Next I ensured that my Ubuntu host had both curl and git:
    sudo apt-get install curl gitk
  • Then I cloned the deep500 repo:
    cd ~
    git clone https://github.com/danbikle/deep500
  • Then I started the Meteor server:
    cd ~/deep500
    git checkout -b mybranch
    ~/.meteor/meteor
  • I started Chrome and browsed this URL:
    http://localhost:3000
  • I saw a page which was mostly empty.
  • I created an account via the Sign-in-link.
  • Then I logged in and created a model.
  • Next, I clicked the 'chart em' button to see what I call the "blue-green visualization".
Now, I descibe below the path which data follows when I create a model with the Deep500 model-creation form.

Questions

  • How to create a diagram from above list of steps?
  • Answer1:
    
    Deep500 ASCII Flow Diagram
    
    Type Data into Deep500 Form
    |
    V
    met10.js
    |
    V
    Template.body.events()
    |
    V
    "click #button_newmodel": function(event){}
    |
    V
    event
    event.target.form.children
    event.target.form.children.model_name.value
    fields.ny05.checked
    fields.nc01.checked
    fields.tr50.checked
    fields.nf02.checked
    fields.ne002.checked
    fields.nn002.checked
    fields.mn2.checked
    fields.mx2.checked
    |
    V
    model_o
    |
    V
    public/mmodel.js
    |
    V
    start_modelbuild()
    |
    V
    D3.js
    Busy... Learning... (Please Wait)
    |
    V
    datenow_s    = new Date(Date.now()).toString()
    |
    V
    d3.csv("/csv/GSPC.csv", cb1)
    |
    V
    cb1()
    csv_a
    |
    V
    divide data:
    |Old-Data (Ignored)|Training-Data|Out-Of-Sample-Data(252 observations)|
    |
    V
    cp2ftr()
    |
    V
    cp2label()
    |
    V
    cr_train_o()
    |
    V
    cr_mn(train_o)
    |
    V
    var obsv_v = new convnetjs.Vol(1,1,fnum)
    train_data.push(obsv_v)
    |
    V
    var magicNet = new convnetjs.MagicNet(train_data, train_o.label, opts)
    |
    V
    magicNet.onFinishFold(finishedFold)
    magicNet.onFinishBatch(finishedBatch)
    setInterval(function(){})
    |
    V
    D3.js
    .text('Hours left: '+d3.round(hrleft,2))
    |
    V
    finishedFold(){}
    steptotal = stepcntr * model_o.num_folds
    |
    V
    finishedBatch() {}
    |
    V
    model_o.mnjson         = magicNet.toJSON()
    predict_o.mymn         = magicNet
    |
    V
    model_o.results_o      = predict_oos(predict_o)
    |
    V
    Meteor.call("addMmodel", model_o)
    |
    V
    met10.js: Meteor.methods({addMmodel:function (m_o){}})
    |
    V
    document.location.reload(true);
    |
    V
    met10.html
    |
    V
    met10.js
    |
    V
    Template.body.helpers({})
    |
    V
    Mmodels.find({})
    |
    V
    Template.mmodel.helpers({})
    |
    V
    bgchart:function(){}
    |
    V
    Template.body.events({})
    |
    V
    "click #show_mymodels": function(event){}
    "click #chartem":       function(event){}
    |
    V
    bgcharts_a.forEach(function(chrt){})
    |
    V
    new Rickshaw.Graph({})
    
    
  • How to enhance Deep500 to calculate duration of fold-1 creation?
  • How to enhance Deep500 to display form values during model creation?
  • How to enhance Deep500 to report failed model creation attempts?
  • How to enhance Deep500 to create model at the server with NodeJS?
  • What are some obvious model-features to add?
  • From a product standpoint, what are next obvious enhancements?

That could be considered an adequate code challenge for a two hour Meetup.

If you have questions, e-me:

bikle101@gmail.com


syntax.us Let the syntax do the talking
Blog Contact Posts Questions Tags Hire Me