Talks from Dyalog '09

Customer presentations

Building an APLer by Gary Bergquist

Put an Array on your Tray - Meal Planning with Pocket APL by Richard Procter

Arrays in Real Life by Gert Møller

Bio-Check using Pocket APL and Bluetooth by Gilgamesh Athoraya

The Rank Operator by Roger Hui

APL in Second Gear by Gary Bergquist

Dyalog presentations

Technical Roadmap by Morten Kromberg

Version 12.1 IDE by John Daintree

⎕XML And Journaling File System by Richard Smith

Complex Numbers by John Scholes

Building an ODBC Data source in Dyalog APL by Morten Kromberg

Selling Proposition for APL by Gitte Christensen

Seminars

Using the Microsoft.Net framework - Part 1 by John Daintree

Using the Microsoft.Net framework - Part 2 by John Daintree

Introduction to D-Functions - Part 1 by John Scholes

Introduction to D-Functions - Part 2 by John Scholes

Office Automation using Dyalog - Part 1 by Richard Procter

Office Automation using Dyalog - Part 2 by Richard Procter

video

Competition prize ceremony and winners talk by Ronald Ping Man Chan

Young APLers Panel by

Building an APLer

Building an APLer

Gary Bergquist

Given the scarcity of APL programmers, it's good to know there is a practical alternative to an exhaustive search. You can build one, and the process is not especially daunting or time-consuming.

Put an Array on your Tray - Meal Planning with Pocket APL

Put an Array on your Tray - Meal Planning with Pocket APL

Richard Procter

Mealtracker Dietary Software has used PocketAPL to deliver hand-held menu planning and meal consumption data collection at U.S.-based long-term care facilities for several years. Detailed room-to-room feedback collected by nutritionists allows these facilities to fine tune their menu preparations and food inventory, reduce food waste, and accurately deliver correct daily nutrition to facility residents. Two PocketAPL applications have been developed and continue to evolve - now deployed at several institutions. Various challenges and lessons encountered along the way will be discussed.

Arrays in Real Life

Arrays in Real Life

Gert Møller

Many diseases are multi-genetic in the sense that only certain combinations of SNPs (and associated genes) will cause the disease. The big technological challenge is that a huge number of SNP combinations must be tested to identify groups of patients with common SNP profiles. Nevertheless, we have succeeded in identifying certain SNPs causing bipolar disorder. This work has been carried out in a joint research project between Array Technology A/S and the Institute of Neuro Science in Copenhagen. Gert will present the results of the project and the use of nested arrays for representing complex SNP patterns – and some benchmarks with the new PEACH operator in Dyalog.

Bio-Check using Pocket APL and Bluetooth

Bio-Check using Pocket APL and Bluetooth

Gilgamesh Athoraya

In the medical industry there is often the need to monitor the progress of patients or participants in clinical trials. Traditionally this has been very hit and miss and in some cases quite invasory. The information collected was often of low quality and sometimes arrived too late to be of any use.
Our idea was to find a way of collecting a variety of Bio-Markers (temperature, pulse, heart rate etc.) together with user appended information then collect, transmit, analyse and report all in real time.
This is actually not a new idea and has been marketed by a variety of companies for some time however the use has primarily been for the family practitioner rather than the pharmaceutical industry.
The solution we are adopting is to create a number of Bio-Sensors which will transmit collected data via Bluetooth connections to a PDA or SmartPhone running Dyalog’s PocketAPL. Once collected the information can be displayed as appropriate and the patient can annotate if they so wish. All of the collected data is then transmitted conventionally to a web server where the researcher can analyse then report as needed.
The overall solution uses many different skills and technologies and has been an interesting project to work on. It also allows us to easily interface the collected data with our existing analysis and presentation tools – also written in APL of course.

The Rank Operator

The Rank Operator

Roger Hui

Roger will give a talk about the Rank Operator - an Idea Worth Borrowing from J.

APL in Second Gear

APL in Second Gear

Gary Bergquist

If you use and love APL, as we all do, it’s normal to wonder and worry about its future. Are APL and I on the same evolutionary path? Will we grow together or will we go separate ways? To answer these questions, we need to do some soul-searching.
What is the point of APL? What sets it apart? What defines its life cycle? Who are the players in a successful APL application? What roles do they play? What role do I want to play in that drama? How can I prepare myself?
In this session, we will wrestle with the answers to these questions, as Bergquist presents his own world-view. In that view, he imagines the sound of the APL engine whining like crazy, waiting for us to finally shift into second gear, and pull away from the pack.

Technical Roadmap

Technical Roadmap

Morten Kromberg

Morten will review Version 12.1, which will be released just after the conference - and talk about what Dyalog is planning for 2010 and beyond.

Version 12.1 IDE

Version 12.1 IDE

John Daintree

John will be demonstrating some of the new features in the Dyalog editor and tracer. These new features make it much easier to edit large functions and classes.

⎕XML And Journaling File System

⎕XML And Journaling File System

Richard Smith

XML is a general purpose specification for handling structured data and is increasingly used to store documents and to exchange data between applications. ⎕XML is a new system function which greatly simplifies the task of importing and exporting XML from an APL application by converting to and from an array which is relatively easy to process, as this presentation will demonstrate.

Complex Numbers

Complex Numbers

John Scholes

What is a complex number and why would I want one? John will attempt to convince you that these numbers provide a simple, natural and useful extension to Dyalog.

Building an ODBC Data source in Dyalog APL

Building an ODBC Data source in Dyalog APL

Morten Kromberg

Dyalog has developed a prototype of a framework which allows your application to look, taste and smell like a relational database. The SQAPL Server allows reporting on live APL data and analytical output from tools like Microsoft Excel or - Access, Crystal Reports - and virtually any programming language - in fact, any client application which can use ODBC, JDBC, ADO or ADO.NET. The interface fully supports SQL, including database updates and inserts, your APL functions as "stored procedures", and creation/modification of tables (DDL statements) – and requires very little SQL expertise to set up.

Selling Proposition for APL

Selling Proposition for APL

Gitte Christensen

The APL community has always made bold statements about the productivity of APL as a programming language.
Recently, emerging software development methodologies are starting to look surprisingly like the ways we have always been developing APL applications.
This talk presents a study into the general state of software development. Have many years of research into and work to develop frameworks and methodologies finally resulted in a mature software development profession?
The answer is YES and NO and in particular the issue of complexity provokes some insight into why APL will stay competitive for a long time to come.

Using the Microsoft.Net framework - Part 1

Using the Microsoft.Net framework - Part 1

John Daintree

Dyalog integrates comfortably with the Microsoft.Net Framework. This course will give an overview of, and show how you can take advantage of, the features included in the Framework itself, and in Visual Studio, Microsoft's cross-language development platform. John will show you how to find and understand documentation of the framework class libraries, and he will introduce you to some of the most useful classes. We will explore how to use the VS Form Designer to build forms which use APL code, and write APL classes which can be used from C# and VB.Net. The course will very briefly show how to call APL code from Microsoft Internet Information Services (IIS).

Using the Microsoft.Net framework - Part 2

Using the Microsoft.Net framework - Part 2

John Daintree

Dyalog integrates comfortably with the Microsoft.Net Framework. This course will give an overview of, and show how you can take advantage of, the features included in the Framework itself, and in Visual Studio, Microsoft's cross-language development platform. John will show you how to find and understand documentation of the framework class libraries, and he will introduce you to some of the most useful classes. We will explore how to use the VS Form Designer to build forms which use APL code, and write APL classes which can be used from C# and VB.Net. The course will very briefly show how to call APL code from Microsoft Internet Information Services (IIS).

Introduction to D-Functions - Part 1

Introduction to D-Functions - Part 1

John Scholes

Since their introduction in 1996, Dyalog's direct-definition functions ("dfns") have grown from an experimental toy to a notation used to implement large pieces of commercial software. Dfns are not only useful for expressing idioms, but also as a tool of thought for any problem that can benefit from a functional approach (and some would say that covers almost everything).

Introduction to D-Functions - Part 2

Introduction to D-Functions - Part 2

John Scholes

Since their introduction in 1996, Dyalog's direct-definition functions ("dfns") have grown from an experimental toy to a notation used to implement large pieces of commercial software. Dfns are not only useful for expressing idioms, but also as a tool of thought for any problem that can benefit from a functional approach (and some would say that covers almost everything).

Office Automation using Dyalog - Part 1

Office Automation using Dyalog - Part 1

Richard Procter

Very many applications can benefit from using "Office Products" like spreadsheets and word processors for data entry or presentation, or for other types of processing. Dyalog can be "in the driving seat", using external products as "servers", or be used as an embedded component driven by applications written in scripting languages like Visual Basic for Applications, within other products.
Richard will introduce the subject using Microsoft Office products, focusing primarily on Excel as both server and client. Later, the same concepts will be briefly explored using other Office products and database tools.

Office Automation using Dyalog - Part 2

Office Automation using Dyalog - Part 2

Richard Procter

Very many applications can benefit from using "Office Products" like spreadsheets and word processors for data entry or presentation, or for other types of processing. Dyalog can be "in the driving seat", using external products as "servers", or be used as an embedded component driven by applications written in scripting languages like Visual Basic for Applications, within other products.
Richard will introduce the subject using Microsoft Office products, focusing primarily on Excel as both server and client. Later, the same concepts will be briefly explored using other Office products and database tools.

Competition prize ceremony and winners talk

Competition prize ceremony and winners talk

Ronald Ping Man Chan

Before the Dyalog Programming Contest, Ronald had no APL experience. He is going to tell us the story of how he learned the language and how he attacked the problems in the contest - so well that he ended up winning first prize.

Young APLers Panel

Young APLers Panel

This year, we have assembled a panel of APL programmers who either started using APL recently, or who regularly update their view of APL by combining APL with other technologies. In other words, people who can remind those of us who now take APL for granted what it was that they found attractive about APL - but also let us know about things that they think we might want to add or consider changing. We're hoping that this panel can point out a few tricks that old dogs should consider - or even, dare we say, deliver a couple of well aimed kicks!