Dyalog Presentations
D01: Welcome to Dyalog '19 summary | slides (PDF) | video (18 mins)
Gitte Christensen, Managing Director (CEO)
Dyalog Ltd's CEO opens the user meeting.
D02: The Road Ahead summary | slides (PDF) | video (37 mins)
Morten Kromberg, Technical Director (CTO)
In accordance with tradition, Morten will look briefly back over his shoulder before turning his gaze to the future and providing some predictions regarding the road that lies before Dyalog and users of Dyalog APL.
D03: Cor(e) Blimey! What's He Up To Now? summary | video (45 mins)
John Daintree
.NET is Dead. Long live .NET!
The .NET Framework ends its life at version 4.x. In 2020, .NET 5 (based on .NET Core) will be released. We'd better get started...
D04: Tacit Techniques with Dyalog version 18.0 Operators summary | slides (ZIP) | video (29 mins)
Marshall Lochbaum
"Tacit" programming is a paradigm in which the programmer, rather than writing a dfn or tradfn that explicitly references arguments, builds a single derived function and relies on operators and trains to control the flow of arguments. While purely tacit programming is best used only for recreational confusion, everyone uses derived functions. Marshall intends to show how tacit programming can actually help organise your code and reduce complexity. This talk also introduces three new operators to be released with Dyalog version 18.0 which will prove crucial to writing clear tacit code: Atop (⍤), Over (⍥) and Constant (⍨).
D05: Link summary | materials (ZIP) | video (27 mins)
Morten Kromberg and Adám Brudzewsky
The Link system, prototyped by Morten for version 17.0 in 2018 and then substantially rewritten by Adám in 2019, creates an invisible bond between the active workspace and one or more folders in a file system. Each function, operator, namespace or class is linked to a source file. Selected arrays, which are considered to be part of the source code of the application, can also be included in the link. Changes on either side of the link are immediately copied to the other side. The result is that – without changes to how APL prototyping, development and maintenance is done – APL source code can be brought under the control of mainstream editors, source code management systems, and other development tools.
D06: Cross-Platform Configuration Files summary | slides (PDF) | video (30 mins)
Richard Smith
Configuring the interpreter currently requires a mix of registry entries, environment variables and command-line options. We are at the early stages of designing a portable, human-readable and editable text file format that will greatly simplify the tasks of configuring the interpreter, setting different configurations for different applications, and moving the configurations between platforms. Richard will present an overview of what you might expect in next year's release of Dyalog.
D07: Shared Code Files summary | slides (HTML) | video (22 mins)
Geoff Streeter
Shared Code Files (.dwx files) allow code to be called without fully loading the workspace that contains it; code and data is only loaded on demand. This improves the performance of large applications while reducing their memory consumption and initialisation time. Geoff will explore the gestation, development and usefulness of Shared Code Files.
D08: Is it Christmas Yet? summary | slides (PDF) | video (20 mins)
Richard Smith
APL can easily answer that question: 12 25≡2↑1↓⎕TS
Sadly it will probably tell you it's not, but how might you calculate how long you have to wait? Richard will take you on a tour of dates and times and along the way will answer that question, discuss the best way of storing a large number of times and dates in an array, will finally make sense of the timestamp in the result of ⎕FRDCI, and will find out the time in Helsinki – which he will display to you in Welsh.
D09: Implementing Reduction summary | slides (ZIP) | video (45 mins)
Marshall Lochbaum
Marshall provides an overview of the techniques used to quickly implement arithmetic and logical reductions on simple arrays. Topics include classifying reductions by shape, reordering reductions, vectorisation and shortcutting.
D10: What's New with HTMLRenderer? summary | slides (PDF) | video (24 mins)
Brian Becker
Some applications need only a simple user interface, popping up a window for the user to enter a bit of data or displaying messages back to the user. Others applications may need a fully interactive, rich, graphical user interface. HTMLRenderer can address both needs, across every platform where Dyalog runs.
Introduced with Dyalog version 16.0, HTMLRenderer offers the Dyalog user the ability to develop graphical user interfaces on Microsoft Windows, Apple macOS, Linux and even the Raspberry Pi. Dyalog version 17.1 adds many new features and updates to HTMLRenderer based on user feedback and our own experiences.
In this session Brian will provide a review of HTMLRenderer, demonstrate many of its new features, and present some of the tools and frameworks that are available or in development for use with HTMLRenderer.
D11: Easy Cross-Platform GUI Creation summary | slides (PDF) | video (22 mins)
Josh David
Wouldn't it be nice to have a single function to generate an operational GUI? Josh introduces a utility library that enables the cross-platform creation of simple recurrent GUIs.
D12: Exporting Simple Microsoft Excel Tables from APL summary | demo file (ZIP) | video (24 mins)
Nathan Rogers
Sometimes you just need a spreadsheet! In this presentation, Nathan introduces an ongoing project that provides a simple direct way to convert APL arrays to .xlsx files under Microsoft Windows, macOS and Linux.
D13: Uncle Andy's Fireside Chat v5 summary | slides (PDF) | video (32 mins)
Andy Shiers
Back by popular demand, Andy takes us on another venture down the lesser-known paths of Dyalog APL, showing us how to take advantage of some of the more obscure bits of functionality and avoid common gotchas.
D14: Molecular Dynamics in APL summary | slides (PDF)
Richard Park
Molecular Dynamics (MD) is a physics simulation paradigm known for requiring high performance computers and cleverly-constructed algorithms in compiled languages. Learning and developing for MD frameworks can be demanding in terms of both the physics and computational knowledge involved. Richard shows how fun and relatively intuitive it can be to build physics simulations from scratch.
D15: The APL Problem Solving Competition – How, What and Who summary | slides (PDF) | video (20 mins)
Brian Becker
This year, for the first time, Dyalog used an APL-based server to run an interactive web site for the annual APL Problem Solving Competition, which allowed interactive experimentation while solving some of the problems. Using technologies including MiServer, SQAPL, HttpCommand, GitHub and Docker, we were able to deliver a quality application that resulted in some of the best entries we've ever seen. Brian provides an overview of the architecture of the competition website, shares some data and reactions, and introduce the winners, culminating in the award ceremony for the grand prize winner and winning professional entrant.
D16: Creating your First Dyalog Jupyter Notebook summary | slides (ZIP) | video (18 mins)
Richard Park
Jupyter Notebooks turn Donald Knuth's Literate Programming into a pragmatic tool for explaining code to other humans. Richard shows you how to use the Dyalog Jupyter kernel with markdown and LaTeX to take the expressiveness of APL, combine it with your finest prose and mathematical expression, and clearly express your solutions with executable code.