Dyalog '14 was held in Eastbourne, England, from 21-25 September 2014
Programme (PDF) Materials Presentation Videos
D01: Welcome summary | slides (660 KB) | video (20 mins)
Gitte Christensen, Managing Director (CEO)
Dyalog's CEO opens the user meeting.
D02: Technical Road Map summary | slides (1.2 MB) | video (32 mins)
Morten Kromberg, Technical Director (CTO)
As usual, the Road Map provides a high level view of recently completed projects and active development and a declaration of intent with respect to the areas where Dyalog Ltd is likely to invest significant energy in the next few years.
Keywords: performance, parallel computing, development tools for web, desktop and mobile applications.
D03: Gestures and Desktop Scaling in Windows 8 summary | slides (2.5 MB) | related blog | video (29 mins)
John Daintree, Chief Architect
Coming somewhat late to the party, Dyalog Ltd intends to bring support for Microsoft Windows gestures and desktop DPI scaling to version 14.1. John demonstrates how this works and how it can improve your application's usability.
D04: News from the Documentation Department summary | slides (2.3 MB) | video (20 mins)
Fiona Smith, Documentation Manager
The documentation set provided with each release of Dyalog has changed over the last eighteen months and the coming year will see further changes. Fiona discusses her plans for existing and new documents and looks for input from the user community to help determine prioritisation and requirements for printed and electronic documentation…what improvements to the documentation would help you?
Fiona also introduces the new website and social media strategy that were launched in the summer. She summarises the various channels that we're now using to keep everyone up to date and explains how we're using them – follow your favourite(s) to get all the latest news and receive advance notice of scheduled events.
D05: Your New Dyalog Portal summary | video (16 mins)
Jason Rivers, IT Manager
Jason explains how the process of keeping your installation up-to-date will be improved with the soon-to-be-released personalised portal. Following his presentation he'd appreciate your feedback to ensure that what we deliver really does meet your requirements!
D06: The Tuning Pipeline summary | materials (200 KB) | video (50 mins)
Roger Hui & Kimmo Kekäläinen, KJK-Tieto (Finland)
Roger and Kimmo describe some of the interpreter performance improvements that have been implemented over the last year or are being contemplated…a few of these depend on pipeline techniques.
D07: RIDE 1.0 summary
Jonathan Manktelow & Nick Nickolov
The RIDE (Remote Integrated Development Environment) is a graphical front end that can be used to develop and maintain Dyalog applications, no matter what computer the Dyalog engine is running on.
RIDE provides a significant productivity boost over the character-based environment for AIX and Linux users. It still has a way to go before it can compete with the existing Microsoft Windows IDE, but provides new capabilities for debugging APL applications that run as Windows services.
After some false starts and mid-stream course corrections, the first version of the RIDE is ready. After a brief review of the history of the project, Jonathan and Nick will demonstrate RIDE V1.0 for Windows Desktop and discuss the project roadmap.
D08: Parallel Programming with Dyalog v14.0 summary | materials (270 KB) | video (28 mins)
Morten Kromberg, Technical Director (CTO)
The world is full of idle processors – your own computer probably has between one and seven processors that are doing nothing most of the time, even when you hit the "Compute" button in your application. Version 14.0 introduces futures and isolates, language features that are specifically designed to make it easy to run parts of your application on multiple cores and speed up your applications. Morten will take us through some worked examples. Make sure to unclog the air vents on your laptop, it will get quite a lot hotter when you unleash all the available power!
D09: Distractions summary | slides (250 KB) | video (28 mins)
John Scholes
Some techniques for avoiding distractions when you're trying to progra…oh look, a squirrel!
D10: Reducing Interpreter Overhead summary | slides (5 KB) | video (45 mins)
Nick Nickolov
APL primitives perform really well on large rectangular arrays. Unfortunately, not all data is nice and square and you may end up writing intricate functions to process it. That's when interpretative overhead manifests itself.
Find out about our efforts to squeeze performance out from the glue between the squiggles.
D11: The SharpPlot Chart Wizard summary | slides (380 KB) | video (29 mins)
Nicolas Delcros & Gitte Christensen, Managing Director (CEO)
SharpPlot, which is bundled with Dyalog for Microsoft Windows, is a flexible engine for the production of high quality business and technical graphics and can easily be embedded within applications written in Dyalog or other .NET languages. Dyalog version 14.0 introduces the SharpPlot Chart Wizard, a graphical front end that supports the interactive creation of SharpPlot graphics.
D12: MiServer 3.0 summary | slides (850 KB) | video (31 mins)
Brian Becker, APL Tools Group Manager
MiServer is an APL-based web server and a framework of tools to help Dyalog users easily develop applications that can be deployed on the web. MiServer's framework of tools includes interfaces to many controls and "widgets" enabling the user to build robust data-driven interfaces. This session provides a summary of MiServer 3.0's features, recent developments and forthcoming enhancements.
D13: Cryptography 101 summary | slides (305 KB) | video (42 mins)
Bjørn Christensen
Cryptography is not only about restricting information from general availability but also includes knowing that the data we receive has not been tampered with and is from the source we believe it to be from. Using the standard cryptographic dramatis personae but avoiding the standard cryptographic mathematical quagmire, Bjørn takes us through the toolbox that is being developed to enable encryption with Dyalog, introducing possibilities such as symmetric/asymmetric encryption, PKI, certificates and signatures that will be available with the Dyalog Cryptographic Library.
D14: Data Binding Reloaded summary | slides (670 KB) | video (43 mins)
John Daintree, Chief Architect
Dyalog version 14.0 introduced support for data binding to WPF and other compatible data consumers. John builds on last year's presentation and discusses planned and potential extensions coming in version 14.1.
D15: WPF Third Party Controls: Syncfusion and the APLGrid summary | materials (7.4 MB) | video (41 mins)
Morten Kromberg, Technical Director (CTO) & Michael Hughes (MJH Software Services Ltd.)
Syncfusion's Essential Studio for WPF is an Enterprise-class toolkit for WPF applications and contains more than 100 unique controls. Anyone with a licence to use version 14.0 of Dyalog for Microsoft Windows has the right to use these controls for application development. This presentation highlights the suite of controls that complement and enhance those offered natively as part of the .NET framework. The range of controls will be presented and a few selected to show how easy it is to manipulate and use them with APL.
The last control demonstrated is an adaption of Syncfusion's GridControl, which emulates the native Dyalog Grid control. All of the Syncfusion and native WPF controls can be adapted in the same way to make a more APL-friendly set of WPF controls if needed.
D16: Dyalog Component Files and the Dyalog File Server summary | slides (610 KB) | video (36 mins)
Richard Smith, Development Manager
Dyalog Component Files have evolved incrementally over the past few years and this presentation will examine what is new in Dyalog version 14.0 and what is being considered for the future. This presentation includes the Dyalog File Server (DFS) – a significant new development that will be made generally available later in the year to provide secure, remote, scalable, shared access to component and native files with a browser-based administrative console.
D17: Not A Lot of People Know That…Little-known Features of Dyalog summary | slides (325 KB) | video (27 mins)
Andy Shiers, Operations Manager (COO)
Andy will be concentrating on those new(ish) features of Dyalog that are buried deep in the documentation. He hopes that at the end of the session you will have picked up at least one or two hints and tips that will enhance your use of Dyalog; if any of the features he demonstrates suggest other enhancements that we could make, let us know.
I01: There's DNA everywhere – an opportunity for APL summary | slides (3.0 MB) | video (62 mins)
Charles Brenner, DNA-View (U.S.A.)
Use a gun in a crime and, thanks to recent biochemical advances, you'll likely leave enough DNA to be detected. However, often the gun has also been handled by others and consequently the analysis of DNA mixtures has become increasingly important. The market for good DNA mixture software therefore has led me to recent and rapid progress in my long-delayed venture to convert my forensic DNA interpretation work into the modern world of Dyalog. Many people enjoy the scientific aspects of the story and I enjoy relating how, in my view, this project exemplifies the thesis that APL is a tool of thought. I credit APL with leading me to elegant and, therefore, very fast and flexible solutions to a problem for which the competing solutions are lumbered by complicated statistical and Monte Carlo methods.
Elegance and simplicity lead to several concrete benefits. The first is conceptual development. I made notes in APL as solutions to various aspects of the problem occurred to me last year. These brief APL notes ensured that the ideas really made sense, that they worked together and that I would not forget them. The brevity also revealed a simple but important point that others had overlooked: nesting the computation loops in the right order saves orders of magnitude in computation time. For another, execution speed makes it much easier to see the forest in many ways – testing, developing, designing. Competing programs take hours to find a partial answer, then having worked that hard succumb to a natural tendency to call it a day. The APL "DNA-VIEW Mixture Solution" program does the same in seconds which makes it much easier to think through to the fact that there's a lot more work to do before the result is logically defensible. At the end of 2013 I implemented the Mixture Solution and tested it on examples including a set of 5 proficiency exercises created at the National Institute of Standards and Technology. More than one hundred entrants, including the leading competition, had contributed analyses. One of the competitors (supported by years and millions of dollars of government grants) got four problems right and came close on the fifth, viewing it as a three person mixture although in fact it was four. Mixture Solution alone correctly analysed all five – as a bonus it correctly diagnosed one suspect as a mixed race person. We APLers try to be modest but it's not always easy. Sometimes there's just not much to be modest about!
U02: Pension Microsimulation Model ELSI summary | slides (340 KB) | video (24 mins)
Heikki Tikanmäki, Finnish Centre for Pensions (Finland)
Pension microsimulation model ELSI has been built in the Finnish Centre for Pensions using Dyalog. ELSI models the statutory pension system of Finland. It is used for reform analysis and long-term projections. In a typical simulation run, we have 500,000 individuals and 70 simulation years.
U03: Acre – the APL Code Repository summary | video (43 mins)
Kai Jaeger, APL Consultant (U.K.) & Phil Last, Independent APL Programmer (U.K.)
Acre, the APL Code Repository, is a code management system that covers everything a team of APL developers might need – once you've seen it in action you'll wonder how you managed to survive without it!
From APLers for APLers, Acre was written by Phil on behalf of the Carlisle Group (the company behind FlipDB, a relational database fully written in Dyalog).
Phil and Kai briefly cover the basic concepts behind Acre then demonstrate in a development session how to convert an application into one or more Acre projects, check out the code, make changes, perform backups, watch what others are doing and check in changes after solving conflicts along the way.
Both Acre and Acre Server, a RDBMS that acts as the repository, will be available free-of-charge from the APL Wiki after this presentation.
U04: Let's Talk about Maintainability! summary | slides (website) | video (41 mins)
Gianfranco Alongi, Ericsson AB (Sweden)
The professional programmer strives for maintainable code, well aware that an unmaintained codebase gradually transforms from a well-tended garden to a dark haunted forest that requires animal sacrifice if left to its own devices. Far too many systems have "that" piece of code – the unmaintained marsh, the mess that causes nausea and elevated blood pressure. Some people swear developers have lost parts of their souls in there and you can hear screaming if you work late enough for long enough...
This talk lays bare some of the underlying mechanics of maintainability, presenting a definition of maintainability based on human cognition and sharing a language that might help when talking and reasoning about maintainability. Ultimately we are all responsible for maintaining our codebase; software entropy is real and we pay in blood, sweat and tears if we choose to ignore it.
U05: Taming Statistics with Limited-Domain Operators summary | slides (390 KB) | video (36 mins)
Stephen Mansour, Carlisle Group and University of Scranton (U.S.A.)
Statistical functions are numerous, but they can be categorised into groups. We can reduce the total number of statistical functions by creating a few functions and designing various operators to modify them. For instance, most statistical distributions come in three general forms; the density or probability mass function, the cumulative distribution function and the inverse or critical value function. Limited-Domain Operators are designed to work with specific classes of functions. For example, probability is a dyadic operator whose left operand must be a density or probability mass function and whose right operand must be a relational function. Other limited-domain operators include criticalValue, randomVariable, theoretical, goodnessOfFit, confidenceInterval and hypothesis.
U06: Parsing APL for Static Analysis summary | slides (410 KB) | video (40 mins)
Anders Schack-Nielsen, Simcorp (Denmark)
At SimCorp we rely heavily on static analysis and type checking to maintain our large APL code base. We have recently rewritten our analysis tool from scratch as the old version had some flaws and relied on ad-hoc parsing. The new tool solves the APL parsing problem using a two-step parsing algorithm with a crucial kind inference algorithm in between; this allows the resulting parser to use standard LALR(1) parsing generated from a BNF by a standard Yacc. Furthermore, the BNF grammar is conflict-free, so no precedence or associativity declarations are needed as there are no shift-reduce or reduce-reduce conflicts, making maintenance of the grammar easier.
U07: Co-dfns Report: Performance and Reliability Prototyping summary | slides (1.5 MB) | video (40 mins)
Aaron Hsu, Indiana University (U.S.A.)
The Co-dfns project aims to deliver a high performance compiler for a parallel extension of the dfns language. This report will provide an update on new features and platforms for the compiler, including GPU execution, massively parallel distributed computing and significant sequential performance improvements. It will also cover new frameworks to make APL development safer, faster and easier.
U08: The InRisk Asset Allocation Platform summary | slides (330 KB) | video (44 mins)
Claus Madsen, Fine Analytics (Denmark)
Fine Analytics have taken advantage of the WPF capabilities and Syncfusion controls available with Dyalog 14.0 to build a generic asset allocation platform with special focus on the professional investor. A specially designed .NET class facilitates the separation of the administrative and analytical sections of the application and a flexible calculation engine that allows a user to define type/structure/order is an integral part of the platform. All assumptions can be controlled from the professional-looking user interface; the user interface can also be used to change/import/construct/delete/add/copy/export a portfolio as well as add new assets in asset groups.
Programming keywords: docking manager, treeview, gridcontrol, sfchart, tabcontrol, menu, toolbar, statusbar, groupbar, tileview, databinding, datatemplate, events, triggers, commands, xaml, combobox, listbox, doubleedit, maskededit, fonts, updown, Grid, stackpanel, rangeslider, save, open, explorer and more...
U09: Dyalog at Vallourec summary
Stephan Poßberg, Vallourec (Germany)
Vallourec is a world leader in premium tubular solutions primarily serving energy markets (oil and gas, power generation). Its expertise also extends to the industry sector (including mechanical engineering, automotive and construction). With more than 24,000 employees, sales of €5.6 billion in 2013, integrated manufacturing facilities in more than 20 countries and cutting-edge R&D, Vallourec provides customers with innovative global solutions that respond to the energy challenges of the 21st century.
Dyalog is used to develop planning tools for the tube production in the German and Chinese plants. This presentation will give an overview of the functionalities of the major applications written in Dyalog. These tools are small in sense of users, but very important for the planning department. The rules inside the system cover the experience in tube production for many years. Java is used for new applications at Vallourec Germany but this presentation will show a few examples of why APL can still compete with "modern" programming languages.
About the speaker: Stephan Poßberg is Project and Process Engineer at Vallourec Deutschland GmbH and responsible for APL development (among other things). He holds a PhD in Mechanical Engineering from the University of Paderborn.
U10: How I Won the APL Problem Solving Competition – Introduction summary | slides (670 KB) | video (10 mins)
Brian Becker, APL Tools Group Manager & Walt Syzonenko, Fiserv (U.S.A.)
The sixth annual International APL Programming Contest took place earlier this year. Brian introduces the contest and winners and Walt presents them with their certificates in the Prize Ceremony.
U10: How I Won the APL Problem Solving Competition – Part I summary | slides (260 KB) | video (22 mins)
Emil Bremer Orloff, Aarhus Universitet (Denmark)
Emil Bremer Orloff is the grand prize winner of the sixth annual International APL Programming Contest. Following the prize ceremony, Emil will describe his experiences of Dyalog and tell us how he managed to master enough of it to win the competition.
U10: How I Won the APL Problem Solving Competition – Part II summary | slides (2.1 MB) | video (22 mins)
Iryna Pashenkovska, SimCorp (Ukraine)
Iryna Pashenkovska is the winner of the non-student category in the sixth annual International APL Programming Contest. Following the prize ceremony, Iryna will describe her experiences of Dyalog and tell us how she managed to master enough of it to win the competition.
U11: School Laser System with NFC Registration and Alerts summary | slides (1.8 MB) | video (40 mins)
Chris "Ziggi" Paul, Laser Learning Ltd (U.K.)
We have been working with a new Academy free school, which is located over two main sites and has an external catering hall. The school is for pupils aged from four to eleven years and provides before-school and after-school clubs and mini-bus services.
We designed our school "LASER" system as a complete communication and information system between parents and school staff; recently we have expanded the system to use NFC (near field communication) to provide teachers and staff with up-to-date, relevant information. Each pupil in the school is issued with an NFC wristband and tags for their bags and key items of uniform. Staff use NFC-enabled mobile phones or NFC readers connected to PCs to log a pupil at key points, for example, on and off a bus or at the dining hall. The NFC tags let the lunch staff know what food order the parents have requested each day and can give a full itinerary of clubs and school activities. Alerts of allergies or other critical medical information is displayed when a tag is scanned.
SA1: Application Development – Part I summary
Kai Jaeger (APL Consultant)
The purpose of this workshop and SP1 is to demonstrate how to develop an application from scratch by using
Participants can expect to gain insight into how an experienced APL application programmer starts developing a typical Microsoft Windows application. This includes discussing how to:
NOTE: This workshop has two parts, with part II (SP1) building upon part I (SA1); it will be hard – although not impossible – to understand/follow part II without attending part I.
Participants will become acquainted with many time-saving techniques and tricks collected during a 34-year career as an APL application programmer. Examples include how to:
This is not an introduction to APL – a reasonable level of APL knowledge is a prerequisite.
Part I covers implementing the overall structure of an application, including how to:
SA2: Introduction to MiServer 3.0 summary | slides (2.3 MB)
Brian Becker, APL Tools Group Manager
With MiServer 3.0, Dyalog Ltd aims to make it possible to develop web applications while requiring minimal knowledge of web technologies like HTML, JavaScript and CSS while retaining the capability to fully exploit those technologies for the user who is familiar with them.
New in MiServer 3.0 are data binding between the client and server and an ever-growing collection of widgets and controls to provide a rich user interface.
You should attend this workshop if:
In this workshop you'll learn to install and configure MiServer and build a simple, yet functional, web application.
SA3: Parallel Programming with Futures and Isolates summary | materials (1.2 MB)
Morten Kromberg, Technical Director (CTO) & Dan Baronet
SA4: Introduction to Direct Workspace Access (DWA) summary
John Daintree, Chief Architect
NOTE: The workshop only serves as an introduction to DWA. Dyalog Ltd requires commercial developers to attend a more comprehensive course before using DWA libraries in commercial environments.
SP1: Application Development – Part II summary
Kai Jaeger (APL Consultant)
NOTE: This workshop has two parts, with part II (SP1) building upon part I (SA1); it will be hard – although not impossible – to understand/follow part II without attending part I.
Part II covers how to:
SP2: The Ins and Outs of Data (SQAPL, XML, JSON, Excel, Syncfusion Data Objects, ZIP files, …) summary | materials (13.7 MB)
Brian Becker, APL Tools Group Manager & Dan Baronet
If there are other data sources not listed above that you would like to know more about, please let us know prior to the workshop and we will try to include them.
SP3: WPF and Syncfusion – Part I summary
Morten Kromberg, Technical Director (CTO) & Michael Hughes (MJH Software Services Ltd.)
The project will be a simple Grid Data Entry using WPF native controls, Syncfusion controls and the WPF emulation of the APL/W Grid control. A simple use of the Microsoft Excel engine from Syncfusion will be included. The intention is to use as much of the WPF system as possible. All of the code will be in APL – no XAML or C# will be used.
WPF controls and their properties, methods, events and commands will be used with APL to build the project.
Attendees will be given guidance where necessary, but the intention is to encourage the use of the reference material by the attendees themselves. This is to emphasise the use of the reference material so that the attendees will feel more confident to progress further after the workshop is complete.
The intention is to complete a simple version of the project but it is considered more important to reinforce the principles rather than to complete the project. At the end of this introduction, attendees should feel confident enough to start their own work with WPF and in using the reference material available.
SP4: Exploring Index-Of summary | materials (32 KB)
Roger Hui
TP1: Others and Our Own Legacy summary
Gianfranco Alongi (Ericsson AB)
When you leave this workshop, you should have a new and deepened perspective on maintainability and the global patterns regarding maintainability in the Dyalog community.
TP2: Advanced MiServer 3.0 summary | slides (535 KB)
Brian Becker, APL Tools Group Manager
New in MiServer 3.0 are data binding between the client and server and an ever-growing collection of widgets and controls to provide a rich user interface.
In this workshop you'll have the opportunity to learn about some advanced features and uses of MiServer 3.0. The agenda for this workshop is flexible, allowing us to cover those topics that are of particular interest to the attendees. Among the topics that can be covered are:
Prior experience with MiServer is recommended but not necessary (for example, attendance of the SA2 workshop).
TP3: WPF and Syncfusion – Part II summary
Morten Kromberg, Technical Director (CTO) & Michael Hughes (MJH Software Services Ltd.)
If necessary, the introductory project will be completed.
Data binding will be introduced to simplify the project, and a Syncfusion Chart will be added to display the data.
XAML will be introduced and various examples built including a User Control, the XAML of which will be compiled into a simple WPF control made available to use with ?NEW.
The last half hour will be opened up to a discussion of any issues encountered by attendees during the workshop. This could include a discussion on style, design or structure, depending on the interest of the attendees.
At the end of this workshop, attendees should feel confident enough to experiment with the more advanced areas of WPF, Syncfusion, Data Binding, XAML and Visual Studio.
TP4: Version 14.0 Language Features in Practice summary | slides (424 KB)
Dan Baronet
NOTE: The extensions to dyadic iota are covered in greater depth in SP4, Roger Hui's "Exploring Index-Of" workshop.
UNIX® is a registered trade mark in the United States and other countries, licensed exclusively through X/Open Company Limited.
Windows® is a registered trademark of Microsoft Corporation in the United States and other countries.
Oracle® and Java™ are registered trademarks of Oracle and/or its affiliates.
All other trademarks are the property of their respective owners.