Machine Learning for Software Development
Details
Today we'll have a peer-to-peer discussion about AI and software development. We'll discuss both AI models that aid programming and methods to program AI models.
Tuesdays are applied machine learning day. We have a peer-to-peer discussion with a focus on an applied machine learning topic. We also meet on Fridays when we discuss a predetermined research paper.
Bring lunch and, if you wish, a research paper, some questions, a demo, a problem, or just come to hang out.
The following will be frequently updated.
AI Models that Aid Programming:
- code2seq: Generating Sequences from Structured Representations of Code: https://arxiv.org/abs/1808.01400
How to Program AI Models:
- 8 Open-Source Frameworks for Building APIs in Python: https://nordicapis.com/8-open-source-frameworks-for-building-apis-in-python
- CLEVER: Combining Code Metrics with Clone Detection: https://montreal.ubisoft.com/wp-content/uploads/2018/05/ICSE-CE-MSR-165.pdf
- Hidden Technical Debt in Machine Learning Systems: https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
- How AI Will Change Software Development and Applications: https://www.nhaustralia.com.au/documents/AI_report.pdf
- Nix is a package manager for Linux that makes package management reliable and reproducible: https://nixos.org Also: https://www.tweag.io/posts/2019-02-28-jupyter-with.html
- Enlightened DataLab Notebooks: https://towardsdatascience.com/enlightened-datalab-notebooks-35ce8ef374c0
- Ludwig: A toolbox built on TensorFlow: https://uber.github.io/ludwig/getting_started
- List of numerical libraries: https://en.wikipedia.org/wiki/List_of_numerical_libraries
Compiler Tech:
- Glow: Graph Lowering Compiler Techniques for Neural Networks: https://arxiv.org/abs/1805.00907
- Eigen (backend for TensorFlow XLA): http://eigen.tuxfamily.org
- Halide: https://halide-lang.org
- nGraph: https://github.com/NervanaSystems/ngraph
Jupyter:
- Jupyter Lab: Evolution of the Jupyter Notebook: https://towardsdatascience.com/jupyter-lab-evolution-of-the-jupyter-notebook-5297cacde6b
- Simplier authentication for small scale JupyterHubs with NativeAuthenticator: https://blog.jupyter.org/simpler-authentication-for-small-scale-jupyterhubs-with-nativeauthenticator-999534c77a09?gi=7903d1c2d568
Docker:
- Learn Enough Docker to be Useful
Part 1: The Conceptual Landscape: https://towardsdatascience.com/learn-enough-docker-to-be-useful-b7ba70caeb4b - Learn Enough Docker to be Useful
Part 2: A Delicious Dozen Docker Terms You Need to Know: https://towardsdatascience.com/learn-enough-docker-to-be-useful-1c40ea269fa8 - Machine Learning Models as Micro Services in Docker: https://towardsdatascience.com/machine-learning-models-as-micro-services-in-docker-a798e1f068a5
- Deploying Machine Learning Models with Docker: https://towardsdatascience.com/deploying-machine-learning-models-with-docker-5d22a4dacb5
Tools to Tunnel Machine Learning Servers:
- How to Mount Remote Linux Filesystem or Directory Using SSHFS over SSH: https://www.tecmint.com/sshfs-mount-remote-linux-filesystem-directory-using-ssh
- Service to tunnel Jupyter Notebooks to public web: http://serveo.net
- Service to tunnel IP traffic to another ip address: https://ngrok.com
