Talks from Dyalog '08

Highlights

A view from Helsingør by Tony/WildHeart

A Plea for Simplicity by John Scholes

How about a Nice Game of Chess? by Morten Kromberg

Forking Demo by Morten Kromberg

Customer presentations

Herding cats for fun and profit by Joakim Hårsman

Gridifying FinE using the Techila Grid by Claus Madsen

Rain flips its q by Adrian Smith

Serving Lunch with Dyalog APL by Tommy Johannessen

OO Stats - Performing Statistical Calculations using Dyalog APL by Alan Sykes

Snooping with APL by Charles Brenner

APL - An Excellent Return by Romilly Cocking

The Array Constraint Engine by Gert Møller

Dyalog presentations

Conga and Ssl Part 1 by Morten Kromberg

Conga and Ssl Part 2 by Morten Kromberg

Migrating to Unicode - part 1 by Morten Kromberg

Migrating to Unicode - part 2 by Morten Kromberg

Migrating to Unicode - part 3 by Morten Kromberg

Technical keynote by Morten Kromberg

Version 12.1 IDE Features by John Daintree

Performance Improvements in Dyalog: A Case Study by Roger Hui

Journaled files by Richard Smith

A view from Helsingør

A view from Helsingør

Tony/WildHeart

A Plea for Simplicity

A Plea for Simplicity

John Scholes

John Scholes calls Ed’s hardware store to complain about the design of one of his tools… The Masso-matic SK-90 Digital Lump Hammer. (From John’s talk celebrating the 25th anniversary of Dyalog APL).

How about a Nice Game of Chess?

How about a Nice Game of Chess?

Morten Kromberg

Morten Kromberg shows why Unicode is a good thing, using Dyalog APL version 12.0 to build a GUI for playing Chess – using Excel as a multi-dimensional database for recording the moves…

Forking Demo

Forking Demo

Morten Kromberg

Imagine if we had a notation for forking processes in APL ...

Herding cats for fun and profit

Herding cats for fun and profit

Joakim Hårsman

Profdoc is a leading provider of healthcare information technology. Profdoc Care makes Profdoc HIS - a medical record system, and has grown from two to 13 APL developers in just a couple of years. Joakim was there for the ride and will talk about what had to change as the numbers of programmers grew, and how development at Profdoc Care works today.

Gridifying FinE using the Techila Grid

Gridifying FinE using the Techila Grid

Claus Madsen

The purpose of this presentation is to show a practical and real-life embedding of the Techila Grid Technology into a financial commercial product - FinE.
The Core part of FinE is an In-Process OLE-Server written entirely in Dyalog v.11.0.1.

Rain flips its q

Rain flips its q

Adrian Smith

A database engine even Adrian can understand.

Serving Lunch with Dyalog APL

Serving Lunch with Dyalog APL

Tommy Johannessen

The application is used by 25,000 school children and their parents for ordering and payment of school lunches. The lunches are produced in 25 kitchens in different geographical locations all over Denmark.
Each kitchen has its own set-up and menu, and the application caters for the design, creation and running of individual kitchen websites.
The application further handles catering for businesses as well as meals-on-wheels programmes for pensioners. It is possible to order fast-food as well as cater for special dietary requirements and one off events such as children's birthday parties at the local swimming pool.
In order to stay in sync with the users the application also offers an online survey facility.
Access to the application is through a standard web browser, from PDA's and smart phones. Users also have the option of sending a text message from their mobiles.
The presentation will focus on how this success story started and demo the various aspects of the application.
We will hear about the challenges encountered along the way, look at IIS settings, memory leak, trap settings, sessions and user behaviour.
The technical aspects will focus on how we created the .aspx files, the file structure, backup procedures, communication between the servers and the call structure.

OO Stats - Performing Statistical Calculations using Dyalog APL

OO Stats - Performing Statistical Calculations using Dyalog APL

Alan Sykes

The advent of the object-oriented features in recent Dyalog Interpreters provides a new and exciting framework within which to construct software to analyse data. The talk will demonstrate statistical objects that allow an APL user to perform statistical calculations on realistic data sets that may well contain missing values. All statistical functionality is made available either directly from user commands from the session, or, for more speedy data exploration sessions where a variety of alternative analyses might be envisaged, by using a menu-driven GUI version.

Snooping with APL

Snooping with APL

Charles Brenner

Charles is a world recognized authority in Forensic Mathematics - covering complex areas such as DNA identification, biostatistics, and population genetics. His DNA•VIEW APL based software solution is the acknowledged leader and is standard worldwide for DNA identification. The software has been used in countless cases amongst others the World Trade Center victim identification work, Tsunami victim identification in Thailand, mass identification projects including desaparacito children from El Salvador and war victims in Bosnia.
DNA identification is a fascinating, challenging, and constantly expanding and shifting area of genetics susceptible to mathematical treatment, and for these reasons well-adapted to APL. The facets of identification include linking crooks to crimes, bashful fathers to parental responsibilities, grieving families to mass disaster victims and anxious heirs to family fortunes.
Identification regions of the genome are a set of short DNA neighborhoods ("loci") that are conveniently coded as numbers which may be analyzed using mathematical programs implementing genetic and population genetic principles. The digital nature of the genome, in striking contrast to the generally analogue nature of biology, inevitably appeals to the programmer's intellect.
Consequently the talk, while based on the APL program DNA•VIEW which Charles has developed and distributed world-wide over the past 20 years, will concentrate on the science and applications more than the implementation.

APL - An Excellent Return

APL - An Excellent Return

Romilly Cocking

In this presentation Romilly will show how he's been using APL to explore and experiment with Genetic Algorithms.
Romilly has been interested in biology-based Artificial Intelligence since the 1970s. He's recently started to follow up on his early AI research. After great frustration using Python and Java, he's now using APL again, and is delighted to find that the environment is even more pleasant and productive than it used to be.

The Array Constraint Engine

The Array Constraint Engine

Gert Møller

Array Technology is a provider of technology for solving complex constraint problems in real-time - on a very small memory footprint. The technology is used in a range of business applications, e.g. for product configuration with a lot of business rules or constraints. The key to the performance of the technology is the use of nested arrays (array-based logic) for handling logical constraints with a multitude of combinations. Dyalog 8.2 was used for prototyping of the first version of the technology, but Gert will present how the next generation of the technology may benefit from the power of the latest Dyalog releases.

Conga and Ssl Part 1

Conga and Ssl Part 1

Morten Kromberg

Conga is a new tool which enables the easy construction of client/server and peer-to-peer applications. Conga is included with version 12.0, and from 12.0.3 it also includes support for "Secure Sockets", allowing the use of encrypted communication channels.
The tutorial introduces Conga and some of the code samples which are included and makes it straightforward for Dyalog users to implement web client and server programs, and "remote procedure call" mechanisms.

Conga and Ssl Part 2

Conga and Ssl Part 2

Morten Kromberg

Conga is a new tool which enables the easy construction of client/server and peer-to-peer applications. Conga is included with version 12.0, and from 12.0.3 it also includes support for "Secure Sockets", allowing the use of encrypted communication channels.
The tutorial introduces Conga and some of the code samples which are included and makes it straightforward for Dyalog users to implement web client and server programs, and "remote procedure call" mechanisms.

Migrating to Unicode - part 1

Migrating to Unicode - part 1

Morten Kromberg

The defining feature of Dyalog Version 12.0 is support for Unicode character data. Unicode is an industry standard allowing computers to consistently represent and manipulate text expressed in any of the world's writing systems. It assigns a number, or code point, to each of approximately 100,000 characters, including the APL character set.
The workshop will briefly introduce the new Unicode features, and then focus on the differences between the Classic and Unicode "editions" of Version 12.0. The Classic edition, which is upwards compatible with version 11.0, will continue to exist for an extended period to allow for an orderly migration. The workshop will discuss inter-operability between the editions, and offer suggestions on how to approach the issue of migrating applications to take advantage of the Unicode data.

Migrating to Unicode - part 2

Migrating to Unicode - part 2

Morten Kromberg

The defining feature of Dyalog Version 12.0 is support for Unicode character data. Unicode is an industry standard allowing computers to consistently represent and manipulate text expressed in any of the world's writing systems. It assigns a number, or code point, to each of approximately 100,000 characters, including the APL character set.
The workshop will briefly introduce the new Unicode features, and then focus on the differences between the Classic and Unicode "editions" of Version 12.0. The Classic edition, which is upwards compatible with version 11.0, will continue to exist for an extended period to allow for an orderly migration. The workshop will discuss inter-operability between the editions, and offer suggestions on how to approach the issue of migrating applications to take advantage of the Unicode data.

Migrating to Unicode - part 3

Migrating to Unicode - part 3

Morten Kromberg

The defining feature of Dyalog Version 12.0 is support for Unicode character data. Unicode is an industry standard allowing computers to consistently represent and manipulate text expressed in any of the world's writing systems. It assigns a number, or code point, to each of approximately 100,000 characters, including the APL character set.
The workshop will briefly introduce the new Unicode features, and then focus on the differences between the Classic and Unicode "editions" of Version 12.0. The Classic edition, which is upwards compatible with version 11.0, will continue to exist for an extended period to allow for an orderly migration. The workshop will discuss inter-operability between the editions, and offer suggestions on how to approach the issue of migrating applications to take advantage of the Unicode data.

Technical keynote

Technical keynote

Morten Kromberg

Morten will review version 12.0, which was released during the summer, and talk about what’s in the pipeline for 12.1 and beyond.

Version 12.1 IDE Features

Version 12.1 IDE Features

John Daintree

John has started work on a number of new features which, amongst other things, will make it easier to edit class and namespace scripts. This session will offer a sneak preview of some of these features, and there should also be ample time for discussion and suggestions from the audience.

Performance Improvements in Dyalog: A Case Study

Performance Improvements in Dyalog: A Case Study

Roger Hui

In the next version of Dyalog, some common boolean functions will be improved by factors ranging from 2 to 1600.

Journaled files

Journaled files

Richard Smith

Version 12.0 allows you to switch Journaling on for component files, which protects them from damage due to many kinds of system failure.