Jupyter Notebooks in Dyalog APL

Slides:



Advertisements
Similar presentations
Adding Dynamic Content to your Web Site
Advertisements

28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
CIS101 Introduction to Computing Week 05. Agenda Your questions CIS101 Survey Introduction to the Internet & HTML Online HTML Resources Using the HTML.
CIS101 Introduction to Computing
8/17/2015CS346 PHP1 Module 1 Introduction to PHP.
PYTHON: LESSON 1 Catherine and Annie. WHAT IS PYTHON ANYWAY?  Python is a programming language.  But what’s a programming language?  It’s a language.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Server- Side technologies Client-side vs. Server-side scripts PHP basic ASP.NET basic ColdFusion.
Lecture Note 3: ASP Syntax.  ASP Syntax  ASP Syntax ASP Code is Browser-Independent. You cannot view the ASP source code by selecting "View source"
The Internet Writer’s Handbook 2/e Introduction to World Wide Web Terms Writing for the Web.
Adobe Reader By Ryan Lingholm and Sandra Laurent.
NMED 3850 A Advanced Online Design January 26, 2010 V. Mahadevan.
10/5/2015CS346 PHP1 Module 1 Introduction to PHP.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Marcus Barnes, Simon Fraser University, June 2, 2012 Drupal with CONTENTdm Digital Collections.
Java Applets. 2 Introduction to Java Applet Programs Applications are ___________________ programs –executed with Java interpreter Applet is a small program.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
CSU - DEO Introduction to CGI - Fort Collins, CO Copyright © XTR Systems, LLC Introduction to the Common Gateway Interface (CGI) Instructor: Joseph DiVerdi,
Jan 2001C.Watters1 World Wide Web and E-Commerce Client Side Processing.
Fall 2000C.Watters1 World Wide Web and E-Commerce Clients & Client Side Processing.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Tutorial 10 Programming with JavaScript. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Learn the history of JavaScript.
The idea of adding markup instructions to documents is not new. Before computers, authors would make annotations by hand in their written or typed documents.
Cloud Computing ILAS project DONE BY:. Table of content INTRODUCTION. ◦ Cloud computing in general ◦ What are the things that worked during the implementation.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
How to Get Started With Python
PHP Basics and Syntax Lesson 3 ITBS2203 E-Commerce for IT.
4.01 How Web Pages Work.
Get Your Head in the Cloud
JQuery Fundamentals Introduction Tutorial Videos
CST 1101 Problem Solving Using Computers
Project 1 Introduction to HTML.
Tuesday Tech Talks Skeen Library Presents Today’s Topic: Presented by:
Web Site Development and Macromedia Dreamweaver 8
Software Engineering for Data Scientists
Road Map - The User Experience
Foundations of Data Science
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Dongwon Lee, Ph.D. IST 516 Fall 2011
DATA MINING Python.
Jekyll Documentation Theme
University of Wisconsin – Stout
PHP Introduction.
Web page a hypertext document connected to the World Wide Web.
COMPSCI 111 / 111G An introduction to practical computing
Teaching Computing to GCSE
Microsoft Build /22/2018 4:06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Ambir nSign Presentation Synopsis
Teaching Computing to GCSE
Cross Platform Charting
Chapter 27 WWW and HTTP.
Module 1 Introduction to PHP 11/30/2018 CS346 PHP.
Java Applets.
Segurança e auditoria de sistemas
Cloud Web Filtering Platform
Lesson 9: GUI HTML Editors and Mobile Web Sites
What is Perl? PERL--Practical Extraction and Report Language
Intro to PHP.
Tutorial 6 PHP & MySQL Li Xu
Python Crash Course CSC 576: Data Science.
An Introduction to JavaScript
4.01 How Web Pages Work.
Programming language translators
Enol Fernandez & Giuseppe La Rocca EGI Foundation
Web Application Development Using PHP
The Python interpreter
Open data in teaching and education
Microsoft Virtual Academy
Presentation transcript:

Jupyter Notebooks in Dyalog APL Adám Brudzewsky

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

Example notebook using Python 1½ Example notebook using Python global density of metal bands

Example notebook using Dyalog APL 1½ Example notebook using Dyalog APL health care expenditure vs GDP per capita

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

What is Jupyter notebook? One of the most significant advances in the scientific computing arena University Corporation for Atmospheric Research 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

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.

Local notebook server — Python Anaconda Python platform interpreter Python notebook server localhost:8888 web browser Jupyter kernel for Python

Local notebook server — APL Anaconda Python platform interpreter Dyalog APL notebook server localhost:8888 web browser RIDE protocol Jupyter kernel for Dyalog APL

Setting up local notebook server 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 Demo Installing Jupyter Opening a notebook Modifying content

Online notebook servers There are online services for various programming languages

Online notebook servers TryAPL's lessons are now Jupyter notebooks More lessons and features on the way → TryAPL presentation at Dyalog '18 in Belfast

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

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

Exported notebooks Notebooks can be exported to many standard for example HTML, PDF, and LATEX Some formats require 3rd party plug-ins Exported notebooks are static expressions cannot be re-executed

Demo Creating a new notebook document Generating rich output

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

Ask questions now! Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki Email notebooks@dyalog.com

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

Interested in an internship? 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

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

Ask questions now! Wiki github.com/Dyalog/dyalog-jupyter-kernel/wiki Email notebooks@dyalog.com Thank you for watching

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