As part of my work outside of RecruitSumo Inc, I lead development on some scientific code. I was recently implementing some functionality to help out on a project and came to writing some documentation and example scripts. However, someone suggested writing this in a combined notebook format. Since getting this advice, I have thrown myself more into these frameworks.
A Teaching Resource
As I have mentioned in previous posts, I am a self-taught developer. Here at RecruitSumo, I am lucky enough to work with talented and patient engineers who have been kind enough to offer me a guiding hand in how I can generally improve my coding abilities. As we progress as a company, there is a passion to extend that to aid other developers through the RS assessment platform.
Having been recommended to use interactive notebooks within a teaching opportunity I have been thinking about their utility within this field in general. I was initially apprehensive of their use but have come round to the notion that under certain circumstances, they are very effective for conveying the meaning behind our coding choices and in particular, can be an invaluable tool for sharing much more detailed information between colleagues or peers. Further, the growing use of interactive notebooks was recently captured in some interesting analysis here.
The most popular kind of interactive notebook is the Jupyter Notebook. For those that aren't aware, a Jupyter Notebook is an open-source web application for writing and running interactive Julia, Python and R code.
These code snippets can be mixed with Markdown or plain text to allow for the inclusion of a detailed discussion of what the code is doing or why it has been written in a certain way. Jupyter Notebooks have been growing in popularity recently. This is largely down to their prevalence within the data science community.
Perhaps a sign that Jupyter Notebooks are likely to continue to rise in popularity is their utilization within Google's Colaboratory. Colaboratory was recently released by Google as a way to disseminate machine learning education and research. This allows for machine learning (TensorFlow) code to be written, shared and ran within a Google Docs wrapper to Jupyter.
Another interesting tool that has grown around the popularity of Jupyter Notebooks is Binder. This allows for the coupling of various notebooks into a dependable executable environment. It is possible to generate sharable links or a badge to place on a Git repository.
Everyone who writes code likely has an interest in making this accessible to others. It seems like interactive notebooks are a reliable way to open up docs, tutorials or basic example scripts to a more engaging format.
With the popularity of this method of coding becoming apparent, it seems as though innovative uses will continue to be developed. Their utility appears to have already largely been cemented by their adoption within the data science community.
RecruitSumo Inc, sharing our passion for machine learning and artificial intelligence. We specialize in predictive analytics for human capital, adding value by helping build the right organization, culture, team, and talent to succeed.