SlideShare a Scribd company logo
1 of 24
1
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Jupyter Notebooks in Dyalog APL
Adám Brudzewsky
2
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
What are notebooks?
A notebook combines the functionality of
a word processor — handles formatted text
a "shell" or "kernel" — executes statements in a
programming language and includes output inline
a rendering engine — renders
HTML in addition to plain text
3
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
1½ Example notebook
using Python
global density
of metal bands
4
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
1½ Example notebook
using Dyalog APL
health care expenditure
vs GDP per capita
5
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Notebook benefits
A single document that combines explanations with
executable code and its output — an ideal way to provide:
reproducible research results
documentation of processes
instructions
tutorials and training materials of all shapes and sizes
A digital learning environment
for computational thinking
6
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
What is Jupyter notebook?
First notebook: Mathematica 1.0 in '88
Jupyter notebook is a part of
Project Jupyter, a nonprofit to
develop open-source software,
standards, and services for
interactive computing across
dozens of programming languages
beginning with Julia, Python, R, and now
over 70 languages, including Dyalog APL
ONE OF THE MOST
SIGNIFICANT ADVANCES
IN THE SCIENTIFIC
COMPUTING ARENA
UNIVERSITY CORPORATION
FOR ATMOSPHERIC
RESEARCH
7
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ways to use Jupyter notebooks
On your own computer after installing a Jupyter
notebook server
With an online notebook server like cocalc.com
Save notebook with output and use a notebook viewer
Export to HTML, PDF, LATEX, etc.
8
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Anaconda
Python platform
Local notebook server — Python
interpreter
Python
notebook server
localhost:8888
Jupyter kernel
for Python
web browser
9
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Anaconda
Python platform
Local notebook server — APL
notebook server
localhost:8888
web browser
interpreter
Dyalog APL
Jupyter kernel
for Dyalog APL
10
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Setting up local notebook server
Install Dyalog
Install Dyalog's Jupyter kernel
Install Anaconda
Launch Jupyter notebook server
installation instructions
github.com/Dyalog/dyalog-jupyter-kernel/wiki
11
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Installing Jupyter
Opening a notebook
Modifying content
github.com/Dyalog/dyalog-jupyter-kernel/wiki
12
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Online notebook servers
There are
online services
for various
programming
languages
13
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Online notebook servers
TryAPL's
lessons
are now
Jupyter
notebooks
More lessons and
features on the way
→ TryAPL presentation
at Dyalog '18 in Belfast
14
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Online notebook servers
Benefit: nothing to install
you may need to sign up for an account
To protect servers, host may place restrictions
or run in a sandbox with limited connectivity
Notebooks can execute any code
all code is run on the host server
same privileges as local execution
15
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Static notebook viewers
Notebooks are stored as .ipynb files
.ipynb files are in JSON format
each code cell may include output from the last execution
You can share an .ipynb file
anyone with a local notebook server can view it
… but of course cannot execute anything new
Many online systems have viewers
GitHub's file previewer
Project Jupyter's nbviewer.jupyter.org
16
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Exported notebooks
Notebooks can be exported to many standard
for example HTML, PDF, and L
AT
EX
Some formats require 3rd party plug-ins
Exported notebooks are static
expressions cannot be re-executed
17
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Creating a new notebook document
Generating rich output
18
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ways to use notebooks — recap
Installing a Jupyter notebook server on your PC
Use an online notebook server like cocalc.com
Store the notebook with output, then open in a
notebook viewer
Export to HTML, PDF, LATEX, …
19
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ask questions now!
Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki
Email notebooks@dyalog.com
20
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ask questions now!
Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki
Email notebooks@dyalog.com
Thank you
Technology Partnership (tp.rs)
for the prototype APL kernel
21
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ask questions now!
Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki
Email notebooks@dyalog.com
Thank you
Will Robertson (our summer intern)
for working on the kernel
and creating many notebooks
Interested in an internship?
Email careers@dyalog.com
22
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ask questions now!
Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki
Email notebooks@dyalog.com
Thank you
Gil Athoraya (of Optima Systems)
for implementing syntax colouring
23
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Ask questions now!
Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki
Email notebooks@dyalog.com
Thank you
for watching
24
dyalog.tv @dyalogapl #dyalog
github.com/Dyalog/dyalog-jupyter-kernel/wiki
Webinars on Thursdays at 16:00 UTC
Comment and suggest to webinar@dyalog.com or
@Adám in chat.stackexchange.com/rooms/52405
No webinar in October due to Dyalog '18 in Belfast
October 28th–November 1st
many sessions will be livestreamed
General APL Questions
stackoverflow.com

More Related Content

Similar to webinar_jupyter_notebooks.pptx

Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Pradeep Singh
 

Similar to webinar_jupyter_notebooks.pptx (20)

Graphical libraries
Graphical librariesGraphical libraries
Graphical libraries
 
Collaborative data science and how to build a data science toolchain around n...
Collaborative data science and how to build a data science toolchain around n...Collaborative data science and how to build a data science toolchain around n...
Collaborative data science and how to build a data science toolchain around n...
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
 
Data Engineer's Lunch #54: dbt and Spark
Data Engineer's Lunch #54: dbt and SparkData Engineer's Lunch #54: dbt and Spark
Data Engineer's Lunch #54: dbt and Spark
 
Python 101 for the .NET Developer
Python 101 for the .NET DeveloperPython 101 for the .NET Developer
Python 101 for the .NET Developer
 
SciPipe - A light-weight workflow library inspired by flow-based programming
SciPipe - A light-weight workflow library inspired by flow-based programmingSciPipe - A light-weight workflow library inspired by flow-based programming
SciPipe - A light-weight workflow library inspired by flow-based programming
 
Inside DocBlox
Inside DocBloxInside DocBlox
Inside DocBlox
 
Python workshop
Python workshopPython workshop
Python workshop
 
Python workshop
Python workshopPython workshop
Python workshop
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containers
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
 
Build and deploy scientific Python Applications
Build and deploy scientific Python Applications  Build and deploy scientific Python Applications
Build and deploy scientific Python Applications
 
Introduction to Jupyter notebook and MS Azure Machine Learning Studio
Introduction to Jupyter notebook and MS Azure Machine Learning StudioIntroduction to Jupyter notebook and MS Azure Machine Learning Studio
Introduction to Jupyter notebook and MS Azure Machine Learning Studio
 
Introduction to Jupyter notebook and MS Azure Machine Learning Studio
Introduction to Jupyter notebook and MS Azure Machine Learning StudioIntroduction to Jupyter notebook and MS Azure Machine Learning Studio
Introduction to Jupyter notebook and MS Azure Machine Learning Studio
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
 
Apache Kafka 101 by Confluent Developer Friendly
Apache Kafka 101 by Confluent Developer FriendlyApache Kafka 101 by Confluent Developer Friendly
Apache Kafka 101 by Confluent Developer Friendly
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Python Book/Notes For Python Book/Notes For S.Y.B.Sc. I.T.
Python Book/Notes For Python Book/Notes For S.Y.B.Sc. I.T.Python Book/Notes For Python Book/Notes For S.Y.B.Sc. I.T.
Python Book/Notes For Python Book/Notes For S.Y.B.Sc. I.T.
 
Reproducible Research in R and R Studio
Reproducible Research in R and R StudioReproducible Research in R and R Studio
Reproducible Research in R and R Studio
 

Recently uploaded

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Recently uploaded (20)

DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 

webinar_jupyter_notebooks.pptx