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

What is 2015_1212 Code Challenge?

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

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

Already, the above repository should be deployed at for you so you can use a browser (currently Chrome only) to study the behavior of the JavaScript:

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 | sh
    echo 'export PATH=${HOME}/.meteor:$PATH' >> ~/.bashrc
  • 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
  • Then I started the Meteor server:
    cd ~/deep500
    git checkout -b mybranch
  • I started Chrome (not Firefox) and browsed this URL:
  • 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".


  • Why does this repo only work on Chrome?
  • How to get started with ConvNetJS?
  • How to start the Chrome Debugger?
  • To trace the JavaScript in this app, which files should I have loaded into sources tab?
  • To study this app from outside-in, which files should I inspect first?
  • What does this syntax do:
    {{#if currentUser}}
  • The form in met10.html sends its data where?
  • After the Meteor JS reads that form data, where does JS execution flow to?
  • Building an ML model requires model parameters and what else?
  • Where is the code which tells the user that the model is training?
  • How is training data fed to the model?
  • After the user submits the form, where is the first line of ConvNetJS code which runs?
  • What is MagicNet?
  • What options to configure MagicNet are available in the API?
  • What is train_ratio?
  • What is num_candidates?
  • What is a fold?
  • What is epoch?
  • What is an ensemble?
  • In Deep500, how many features are in each observation?
  • In ConvNetJS how to prepare an observation?
  • What kind of object is created from this call:
    var obsv_v = new convnetjs.Vol(1,1,fnum)
  • What is a label?
  • What does this call do:
    var magicNet = new convnetjs.MagicNet(train_data, train_o.label, opts)
  • What does this call do:
  • After the API trains the magicNet object, how many times should finishedBatch() run?
  • After I build a model, how to use it to calculate a prediction?
  • In Meteor, how to save JSON to MongoDB?
  • In this app, when D3 reads data from /csv/GSPC.csv, the data gets cached in the browser. How to 'bust the cache' so the browser sees new data in /csv/GSPC.csv?
  • After the bugs are fixed in Deep500, from a product standpoint, what is the next obvious enhancement to make to Deep500?

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

If you have questions, e-me: Let the syntax do the talking
Blog Contact Posts Questions Tags Hire Me