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

Machine Learning for Software Development