Dyalog Presentations
(D00) Robot Wars summary | slides (PPTX) | video (36 mins)
Morten Kromberg
Dyalog APL is available for the Raspberry Pi and Morten has been trying to control a hardware Pi-based robot with APL since the spring. He will now demonstrate the results of his efforts and talk about the joys that hardware can add to the life of a software developer.
This session will also include the finals and prize ceremony for the "robot race", which is part of the Robot Workshop (SP04).
(D01) Welcome to Dyalog '13 summary | slides (PPTX) | video (32 mins)
Gitte Christensen, Managing Director (CEO)
Dyalog's CEO opens the conference and introduces Team Dyalog.
(D02) Technical Keynote summary | slides (PPTX) | video (41 mins)
Morten Kromberg, Technical Director (CTO)
This year, the keynote will focus on features to be delivered in Version 14.0. Keywords: Performance and Parallel Computing, Modern Graphical User Interfaces, Cross-Platform Application Development and Delivery.
(D03) The Remote IDE Version 1.0 summary | slides (PPTX)
John Daintree & Andy Shiers
After several years of prototyping and one complete technology switch, the first version of RIDE will be delivered next year to accompany Version 14.0. The RIDE will provide a graphical development environment on desktops and (in the future) mobile devices, allowing development and debugging of applications running on local or remote Dyalog APL systems.
(D04) Windows Presentation Foundation: Part I – WPF and Data Binding summary | materials (ZIP) | video (58 mins)
John Daintree, Chief Architect
Build State-of-the-art Windows Desktop applications using Windows Presentation Foundation and Syncfusion Libraries and (from Version 14.0) employ data binding to share the content of APL arrays in your workspace with GUI controls (or other Microsoft .NET components).
(D04) Windows Presentation Foundation: Part II – Simplifying WPF summary | slides (PPTX) | video (27 mins)
Michael Hughes (MJH Software Services Ltd)
Build State-of-the-art Windows Desktop applications using Windows Presentation Foundation and Syncfusion Libraries and (from Version 14.0) employ data binding to share the content of APL arrays in your workspace with GUI controls (or other Microsoft .NET components).
(D05) Towards Industrial Strength Web Applications summary | slides (PPTX) | video (42 mins)
Brian Becker
For the last few years, the "MiServer" has evolved from an experimental web server framework to a web development platform with a handful of users using it to build simple web applications. At Dyalog, we have used MiServer as the basis for
TryAPL.org and the Dyalog File Server (DFS) console. Based on feedback from users and reviewers, Version 3.0 introduces a new object-based programming model to allow the creation of rich user interfaces while minimizing or eliminating the need of the user to learn JavaScript. The goal is to bring the development of industrial strength web/mobile apps within reach of all APL developers.
(D06) Version 14.0 File System Enhancements summary | slides (PPTX) | paper (PDF) | video (48 mins)
Richard Smith
Starting with the introduction of large span component files in version 10.1 (in 2004), Dyalog has incrementally enhanced the component file system on each new release. Version 14.0 is no exception, with an emphasis on improved performance and some new functionality. Ten years after the introduction of large span component files, Version 14.0 removes some legacy support for older small span files – but Dyalog remains committed to making them accessible in all new releases for a further ten years. This presentation will briefly review the functionality prior to Version 14.0, explore the features introduced at 14.0 and suggest some further enhancements that might see the light of day in the future.
(D07) Parallel Language Features in Version 14.0 summary | slides (PPTX) | video (27 mins)
Morten Kromberg & Jay Foad
Version 14.0 will include three new language features designed to support parallel programming – futures, isolates, and the parallel operator. The goal is to make it easy to express parallel sections of algorithms in a "deterministic" fashion, without locks or semaphores.
(D08) Rank and Friends summary | slides (ZIP) | video (19 mins)
Roger Hui
Function rank was first described by Ken Iverson in the 1978 IBM publication Operators and Functions. Its utility was greatly enhanced by the invention of the rank operator by Arthur Whitney in July 1982 and described by Iverson in the I.P. Sharp publication Rationalized APL in January 1983. The rank operator provides for the generalization a function to higher-rank arrays and for its consistent application to lower-rank arrays, and is a simpler alternative to the bracket-axis operator. It also provides a generalization of scalar extension. Version 14.0 adds this powerful tool of thought to Dyalog APL, together with a handful of related features: The key operator which applies the operand function to data grouped according to key values, the tally function, and the extension of index-of to higher rank left arguments. In this presentation, Roger will quickly review the final Version 14.0 specifications for these features, and move on to discussing the benefits of the new features for application programmers.
(D09) Train Spotting in Version 14.0 summary | slides (PDF) | video (29 mins)
John Scholes
The
Function Train is a new syntax construct, supported in Version 14.0, which assigns meanings to expressions of juxtaposed functions in isolation. For example, the expression
x(f+g)y, where the parentheses surround a
fork, is equivalent to
(x f y)+(x g y); and
x(f g)y, where the inner expression is pronounced
f atop g, is equivalent to
f(x g y). The J language has supported these constructs for many years and they have been shown to add significant expressive power to the language, simplifying the translation of mathematical expressions into executable code through
tacit programming. This presentation demonstrates the benefit of trains and gives examples of how they occur naturally when coding APL.
(D10) Reducing Interpreter Overhead summary | slides (PPTX) | video (45 mins)
Jay Foad
Long-term investigations into interpreter overhead (essentially the time spent selecting what needs to be done as opposed to actually performing the core operation of a primitive function such as +) have resulted in enough progress being made in this area to consider including the outcome in Version 14.0. For example, for small functions (which are usually called with small arguments), significant speed improvements have been achieved. Find out about the discoveries to date and the implications they could have for your projects.
(D11) Primitive Performance summary | slides (PPTX) | materials (ZIP) | video (44 mins)
Morten Kromberg & Roger Hui
With each recent release, an increasing amount of time has been spent tuning primitive functions and operators, and Version 14.0 is no exception. This session will review the most important performance improvements and present a preview of the "performance profile report" that Dyalog intends to produce for each future release.
(D12) Dyalog File Server Version 2.0 summary | slides (PPTX) | video (42 mins)
Morten Kromberg
The second release of the DFS is in the final stages of preparation. New features include the ability to take backups of (and restore) component files while the server is running, support for native files and a performance monitor.
(D13) Social Skills for Programmers summary | video (49 mins)
John Scholes
John has point-blank refused to provide further information regarding this session.
(D14) Interfaces to R, Q and NAG summary | slides (PPTX) | video (25 mins)
Morten Kromberg
R is a free software programming language and a software environment for statistical computing and graphics. The R language is widely used among statisticians and data miners for developing statistical software and data analysis, and the popularity of R has increased substantially in recent years.
Q is a powerful query language for high-performance data analysis, based on a kdb+ database. Kdb+ from Kx systems is based on K, an APL variant, and provides a full relational database management system capable of handling data both in memory and on disk. Kx technology is used in finance, energy, telecom, government and other industries that have high-speed database and analysis requirements.
The
Numerical Algorithms Group (NAG) is a software company that provides methods for the solution of mathematical and statistical problems and offers services to users of HPC systems. Its products and services are employed by tens of thousands of users including
Global 500 companies, universities, supercomputing sites and numerous independent software vendors.
This presentation will review interfaces to R, Q and NAG that are being developed by Dyalog to make these packages easy to use from applications written in Dyalog APL.
(D15) User Command Update summary | slides (PPTX) | video (28 mins)
Dan Baronet
In addition to reviewing new user commands that have been added recently, Dan will provide an overview of the current collection of commands and present the re-organisation of existing commands that he has been working on.
(D16) Documenting Dyalog APL summary | slides (PDF) | video (21 mins)
Fiona Smith
Fiona joined Dyalog in April as our first full-time technical writer. In this presentation she will discuss her plans for existing and new documents as well as looking for input from the user community to help determine prioritisation and requirements for printed and electronic documentation.
(D17) The Future of SharpPlot and RainPro summary | slides (PDF) | video (35 mins)
Nicolas Delcros
For many years, Dyalog APL for Microsoft Windows has included the RainPro and SharpPlot libraries for the production of high quality business and technical charts – this year, a Linux version of RainPro has become available and is included with Dyalog APL on the Raspberry Pi. These two libraries have essentially the same functionality; SharpPlot started its life as a version of RainPro that is machine-translated to C# to make it easier to embed in web applications written in C#. However, SharpPlot excels in graphics quality and execution performance, and is much simpler to port between platforms. For these reasons, Dyalog is making SharpPlot the primary product going forwards.
For Version 14.0, Dyalog is working on making SharpPlot portable to all the platforms (current and future) on which APL is available and to providing tools that help users to migrate from RainPro to SharpPlot. We are also working on adding a "Chart Wizard" to help users quickly create the most common chart types using data in the workspace.