Dyalog: the tool of thought for expert programming
 

Dyalog '09 - THE array language event of the year.

 

For those of you who like to plan long term already now we can announce that:

arrow Dyalog '10 - will take place in Berlin (Germany) - September 13-16. For more information please click here

 

Share your stories at the APL Speakers Corner at the Dyalog '09 Conference - to be posted shortly on YouTube

 


Dyalog '09 Conference Programme with Timings

Last updated 22 September 2009

Below you will find the Conference Programmme as performed. The audio presentations will be posted with links shortly.

Program for Sunday 13th September

Abstracts and Courses

Tutor Morning (9:00 - 12:30) Tutor Afternoon (14:00-17:30)

Bernard Legrand

Introduction to APL  - Part 1
C1

Bernard Legrand

Introduction to APL -Part 2
C5

Dan Baronet

Introduction to Object Oriented Programming
C2
      

Dan Baronet

Source Code Management using  SALT and SubVersions
C6

John Scholes

Introductions to D-Functions (Dfns)
C3

Part 1View videos by clicking the icon next to each presentation in the programme below Part 2 View videos by clicking the icon next to each presentation in the programme below

Paul Grosvenor, Gilgamesh Athoraya, Morten Kromberg

Building a (flashy) APL web application – Part II;
C7

Paul Grosvenor, Gilgamesh Athoraya, Morten Kromberg

Building a (basic) APL web application – Part I
C4

Richard Procter

Office Automation using Dyalog - Combining Excel, Word and other tools with Dyalog applications
C8

Part 1 View videos by clicking the icon next to each presentation in the programme below Part 2 View videos by clicking the icon next to each presentation in the programme below

 


Monday 14th September

Time
SESSION A
SESSION B

8.30-9.30

Registration

9.30 – 10.00

Gitte Christensen, Dyalog Ltd
Welcome


10.00-11.00

(2) Morten Kromberg, Dyalog Ltd
Technical Roadmap - details View videos by clicking the icon next to each presentation in the programme below

11.00-11.30

COFFEE BREAK

11.30-12.30

(3) Keynote - Dave Thomas, Bedarra Research Labs
Vectors - Lightning in the Clouds - details

12.30-13.30

LUNCH

13.30-14.15

(4) Catherine Lathwell, Lathwell Productions
A Programming Language – The movie - details


14.15 -15.00

(6) John Daintree, Dyalog Ltd

The Version 12.1 IDE - details View videos by clicking the icon next to each presentation in the programme below

15.00-15.30

COFFEE BREAK

15.30 -16.15

(7) Gary Bergquist, Zark Inc

Building an APLer - (Intro to the online tutorial) details View video

16.15-16.30

SHORT BREAK

16.30 -17.15


(11a) Richard Smith, Dyalog Ltd
Dyalog font squareXML - details View videos by clicking the icon next to each presentation in the programme below

(11b) Richard Smith
Dyalog Ltd
File Journaling Phase II - details


(15) Roger Hui

Complex Numbers Implementation Stories - details

 

17.15-18.00


(22) Richard Procter, APL Borealis Inc

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


(21) Kai Jäger

APLAPL: A Programming Library in APL - details

18.00 -19.00

Dinner

19.00 -20.00

(19) John Scholes, Dyalog Ltd
Complex Numbers - details View videos by clicking the icon next to each presentation in the programme below

 

Tuesday 15th September

Time
SESSION A
SESSION B

9.00-10:00

(10) Morten Kromberg, Dyalog Ltd

Tutorial - Building an ODBC Data Source in Dyalog APL - details View videos by clicking the icon next to each presentation in the programme below

(12) John Scholes, Dyalog Ltd

Tutorial - Session Whizzbangs - details

10.00 – 10.30


(9) Gitte Christensen and
Bernard Legrand

A new Introductory Book on APL - details


(17) Robert Pullman, Managed Account Performance Solutions

Building a Web Application with Dyalog APL and ASP.Net - details

10.30-11.00

COFFEE BREAK

11.00-12.00

(23) Keynote - Gert Møller, Array Technologies
- Arrays in Real Life - details View video

12.00-13.00

LUNCH

13.00-13.45

(24) Paul Mansour, The Carlisle Group

The Key West Project - Why my mother-in-law has special serving dishes for corn on the cob and I don't - or - Technology Stack: APL, APL, APL and APL - details

(27) Joachim "JoHo" Hoffmann, J Austria

Emulating an APL+Win Application in Dyalog APL. Details             

13.45 -14.30


(20) Gilgamesh Athoraya, Optima Systems Ltd

Bio-Check using Pocket APL and Bluetooth - details View video


(14) Phil Last

Acre – Apl Code Repository - details

14.30-15.00

COFFEE BREAK

15.00 -15.45

(26) Roger Hui

The Rank Operator - details View video

(13) Alexander Balako

Introduction to Design Patterns for APL Developers - details

15.45 -16.00

SHORT BREAK

16:00-16:15

Worldwide APL Competition - Prize Ceremony View videos by clicking the icon next to each presentation in the programme below


16.15-17.00

(16) Ronald Ping Man Chan - Winning the Dyalog Programming Contest 2009 – details View videos by clicking the icon next to each presentation in the programme below


17:00-18:00

(31) Young  APL'ers Panel – New Views on APL - details View videos by clicking the icon next to each presentation in the programme below


18:45

Cocktail Hour

20:00

Banquet Dinner

 

Wednesday 16th September - morning

Time
SESSION A
SESSION B

09:00-09:45

(25) Chris ‘Ziggi’ Paul, The Childcare Company

Tables, Buttons, Flash and Spinning Images - details

(30) Robert Bernecky, Snake Island Research Inc

Amazing Performance Looms - details

09.45 – 10.30


(28) Steve Halasz, Fiserv

The "Scratch" Multimedia Programming Environment for Children - using APL - Details


(29) Yigal Jhirad and Blay Tarnoff

Cuda Libre: A pioneering approach to parallel array processing in quantitative finance - details

10.30-11.00

COFFEE BREAK

11.00-11.45

(8) Gary Bergquist, Zark Inc
APL In Second Gear - details View video


11.45-12.30

(18) Gitte Christensen, Dyalog Ltd
Selling Proposition for APL - details View videos by clicking the icon next to each presentation in the programme below


12.30-13.00

Gitte Christensen and Morten Kromberg
Closing Session

13.00-14.00

LUNCH

 

Program for Wednesday 16th September - afternoon

Abstracts and Courses

Tutor Afternoon (14.00 -17.30)

Dan Baronet

Source Code Management using  SALT and SubVersions
C9

Morten Kromberg

Multicore Support – Application Tuning Workshop
C10   
                  

John Daintree

Using the Microsoft.Net Framework
C11

Part 1 View videos by clicking the icon next to each presentation in the programme below Part 2 View videos by clicking the icon next to each presentation in the programme below

 

Abstracts and Course details - Sunday and Wednesday

C1 & C5- Introduction to APL Part 1 and Part 2

Bernard Legrand

Want to get a quick look into APL? Sure?

It is our experience that newcomers to APL quickly feel at ease with the notation methodology used in the language. It lends itself to clear explanations, simple examples and strong landmarks.

This course is split in 2 parts, and is developed for beginners who want to become better acquainted with APL. At the end of the day, you should have gained enough insight to make it easy for you to continue your study of APL on your own – with the help of Dyalog’s new Tutorial.

Morning Course (C1)

The course will start off using easy-to-understand expression 2+2 (perhaps 3+3 for advanced attendees!). From that starting point - step by step - you will discover the basic concepts, vocabularies and typical methods of APL, as they are constantly applied to simple daily problems.

Afternoon Course (C5)

In the afternoon, we will discover some more "advanced" features such as: computing techniques which may seem reserved for sophisticated mathematicians. However, you will learn that they can appear to be as simple as they are useful. You should also discover that APL is a tool which helps to open doors, windows and minds. The multiple solutions offered by APL for a single problem are not necessarily better that those offered by other languages, but they’re different. Because they are different, they enrich our thought processes and help us find innovative ways of solving problems for which there are no "out of the box" solution.

This is probably also the reason why APL programmers never get tired of APL. We aim for you to come away from this full day course with the same feeling and an enthusiasm for continuing your venture into the world of Dyalog APL.



C2 - Introduction to Object-Oriented Programming

Daniel Baronet

Version 11 of Dyalog introduced Classes to the APL language. This course takes a pragmatic APL'ers eye view of object orientation and after introducing a little OO theory, the focus of the course will be on showing how OO has been implemented in Dyalog. Some time will be spent creating classes and using them.

Pre-requisites: Dyalog 11.0 or later.




C3 - Introduction to D-Functions (DFNS)

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).

John will start with an easy introduction for the first couple of hours; discuss where the use of dfns is appropriate; and finish with some fireworks. See example here.




C4 - Building a (basic) APL web application – Part I

C7 - Building a (flashy) APL web application – Part II

Paul Grosvenor, Gilgamesh Athoraya, Morten Kromberg

 

Paul GrosvenorGilgamesh AthorayaThis all day workshop will be split into 2 parts in order to allow you to participate in both or just one part as appropriate.

The aim is to take you from the very basics of web application design through to building a dynamic web based application with APL behind with no IIS, no Internet Explorer only a Flash player – about as light as you can get.

Of course there are many ways of coding for the web and this will be just an example of one of them however the use of Flex gives the ability of some interesting new GUI objects and Flash providing alternative delivery options to the developer.

By the end of the day we hope you will understand the essential concepts of Web Applications and be able to modify your own page(s) at will. In addition, by introducing Flex, we hope to open up a whole new world of GUI interfaces for you to explore.
We will be making use of the following;

  • Dyalog V12.1 (or V11)
  • Conga
  • MildServer
  • XML files
  • Rain
  • Flex (XML based Flash) v3.0
  • Flash Player

We will provide as much code as we can to speed things up but will assume that all those taking part will have a suitable Laptop and Dyalog V11 or 12 pre-loaded. You may well require about 250Mb of free space on your hard drive to load everything on but it can all be removed at the end.

Morning Session
We will introduce the key ideas behind a web application and what goes on to make it work. You will be allocated a domain name and by the end of the morning should have a ‘real’ web site up and running.

We start the day with some simple ideas for a basic web page and show you how to publish to the server. Once we can all see the results on the web we follow by the addition of some callbacks and graphical objects. There should be plenty of time for everyone to experiment, modify code and make their domain name, their own.
As part of this work we shall be making use of Conga, Mildserver and Rain and hopefully show how they can all be used to provide a basic web application very easily.

Afternoon Session
We will provide all of the required utilities (Flex, Flash player etc.) which will need to be installed on your Laptop but removal at the end of the session is both easy and safe. Those of you who have not attended the morning session will be provided with working samples so you can start from where we left off.

The afternoon session starts with a review of the mornings work and a look at some of the built applications. We now build up from the morning session to show how a Web App might be constructed using APL, Flex and Flash. To this end we will initially replace the front end GUI so far built with a Flex script and then add a dynamic Flex object to the form. Finally we will compile this script into Flash and show the whole App running with APL behind but with no browser just a Flash player.
This session will make use of XML files, Flex 3.0, and a Flash Player in addition to everything from the morning.



C6 & C9 Source Code Management using SALT and SubVersion

Daniel Baronet

The Simple APL Library Toolkit (SALT) is a mechanism for storing Namespaces and Classes as text files, rather than using internal binary formats. SALT makes it easier to share code and take advantage of a variety of source code management tools developed for users of other programming languages. Dyalog is moving towards the use of SALT as the primary delivery mechanism for code libraries. In version 12.0.3, SALT has been enhanced to support the management of APL code which is not part of namespace of class scripts, so SALT can now be applied to all applications written in Dyalog.

The workshop will introduce SALT and show how it can be used together with an industry standard source code management system.

Pre-requisites: Dyalog 11.0 or later. Ideally, Dyalog 12.0 and SubVersion.




C8 - Office Automation using Dyalog - Combining Excel, Word and other tools with Dyalog applications

Richard Procter, APL Borealis

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.

Pre-requisites: Dyalog APL 10.1, 11.0 or 12.0, Microsoft Excel.




C10 - Multicore Support – Application Tuning Workshop

Morten Kromberg

Performance – and the exploitation of hardware containing multiple processors – has been a focus of Version 12.1 development efforts. The workshop will review the performance enhancements in Version 12.1, show how to use the new "Fork" I-Beam and the PEACH (Parallel Each) workspace. There will also be a general introduction to Dyalog application tuning using APLMON and Dyalog font squareMONITOR.



C11 - Using the Microsoft.Net Framework

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).

Pre-requisites: Dyalog 11.0 or later, Microsoft .Net Framework 2.0 (with SDK), ideally Microsoft Visual Studio 2005 or later.



 

Abstracts – Conference Sessions:

(1) Welcome and Opening Statement

Gitte Christensen, Dyalog Ltd



(2) Technical Roadmap View videos by clicking the icon next to each presentation in the programme below

Morten Kromberg, Dyalog Ltd

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.



(3) Keynote: Vectors – Lightning in the Clouds

Dave Thomas - www.davethomas.net
Bedarra Research Labs, Object Mentor, Carleton University and Queensland University of Technology

Dave Thomas has a wide spectrum of experience in the software industry as an engineer, consultant, architect, executive and investor. He is the Founder and Chairman of Bedarra Research Labs — a company specializing in emerging software technologies and applications. Bedarra provides virtual CTO and CEO, as well as directors, advisors and business mentors to support new initiatives. He is also the Managing Director of Object Mentor — a company specializing in the training and deployment of Agile and Object-Oriented Software Development methodologies.

In this talk we briefly discuss global trends in software development and the barriers facing major software development efforts. Next we discuss Cloud Computing platforms and the programming challenges associated with using them. We argue that there is a large class of business and engineering applications that need a radically different approach. Domain Oriented Programming supports rapid development of high performance applications by small teams of knowledgeable end users. We discuss the essential features of domain oriented infrastructure and application programming. It is our thesis that vector functional computing is a core part of a DOP infrastructure.



(4) A Programming Language – The movie

Catherine Lathwell, Lathwell Productions

Catherine LathwellCatherine Lathwell’s involvement with APL and the APL community is literally a life long experience. As the daughter of Richard Lathwell, one of the original developers of APL recruited by IBM in 1966, she officially started her career at age sixteen as a summer student in the Operations department of IP Sharp in Toronto in 1981. This first job evolved over the years into a full fledged career where she moved through the ranks as a Sharp APL in-house support representative, APL programmer & research and development manager with Reuters. Who remembers MRD?

At the same time, Catherine nurtured a love and interest in the visual arts and story telling, graduating with distinction from the University of Toronto in Fine Arts and English Literature in 1994. Then, in 2003 she entered an exclusive post graduate programme at the Canadian Film Centre specifically designed for people, like herself, with competencies in both technology and the arts. It was while she was in this programme that she fell in love with video and began dreaming of making a film about APL.

APL in Cyberspace

Catherine will talk about APL's presences in cyberspace, and how the byproducts from her film are filling some spaces there. She will also premiere an excerpt from her latest short interview.



(5) Dyalog APL on Unix: QAs and hidden gems

Not applicable



(6) The v12.1 IDE

John Daintree, Dyalog Ltd

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.



(7) Building an APLer (Intro to the online tutorial)

Gary Bergquist, Zark Incorporated

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.

Gary Bergquist will take you through the steps Zark follows to fill an open APL position.  The blueprint and instructions are straightforward, the effort is nominal, and the results are outstanding.  Moreover, by building your own APLer, you get exactly what you’re looking for, a programmer "built to spec."

One of the tools used by Zark in this process is the Zark APL Tutor, a computer-based training program that has been training APLers for years. Now, it’s available on the Internet; it speaks Dyalog APL; and it’s free!

 



(8) APL In Second Gear

Gary Bergquist, Zark Incorporated

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.



(9) A new Introductory Book on APL

Gitte Christensen and Bernard Legrand

For more than two years, Bernard Legrand has been working on a modern "Introduction to APL", based on Dyalog APL. A team of reviewers from SimCorp (Kim Andreasen) and Dyalog (Dan Baronet, Pete Donnelly, Gitte Christensen and Morten Kromberg) have done their best to hinder, er…, assist Bernard in getting the job done. It has taken more than twice as long as expected, but at Dyalog’09 Bernard and Gitte will present a "Final Draft" of the book, explain the goals of the project and hopefully start taking orders for the first edition, which will be printed shortly after the conference.



(10) Tutorial - Building an ODBC Data Source in Dyalog APL

Morten Kromberg, Dyalog Ltd

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.



(11a) Dyalog font squareXML

Richard Smith – Dyalog Ltd

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 Dyalog font squareXML from an APL application by converting to and from an array which is relatively easy to process, as this presentation will demonstrate.

(11b) File Journaling Phase II

Richard Smith – Dyalog Ltd

Component files can now be created which are far more resilient to damage caused by system failures, meaning they can be self-repairing, or repairable using the new system function []FCHK. The various new options available are discussed.



(12) Tutorial - Session Whizzbangs

John Scholes - Dyalog Ltd

John will discuss a ragbag of tricks and techniques accumulated over decades of typing into APL sessions. Please bring along your own favourite tricks to share.



(13) Introduction to Design Patterns for APL Developers

Alexander Balako

With Version 11 Dyalog introduced Object Orientation. This allows for defining Classes in APL. In addition to providing a powerful tool of thought, APL classes provide much better integration with .Net, allowing APL Classes to derive from, or be used as Base Classes of .Net classes written in C# or other languages (for .Net versions 1.1 or 2.0). With the introduction of Object Orientation APL Developers where also faced with the challenge of considering application development using Object Oriented Programming.

Design Patterns are reusable templates of solutions for commonly occurring problems in software design. In this presentation Alex Balako will demonstrate the usability of patterns and how they may help to solve design problems.

P.S. If you haven’t yet had the opportunity to familiarise yourself with the concept of Object Oriented Programming using Dyalog we can recommend that you read Introduction to Object Oriented Programming for APLers which you can download for free here



(14) Acre - Apl Code Repository

Phil Last

Written entirely using dynamic functions, acre is a fully featured source code management system that uses a remote flip?db™ relational database to store functions, operators & namespace & class scripts in a number of tables that (can) reflect the namespace structure of your application. It works via TCP using Conga ™ to manage the efforts of an international team of developers. Protects developments by saving both locally and remotely. Prevents "leapfrogging". Overcomes change conflicts between users by facilitating merging of concurrent changes. Permits multiple concurrent development sessions by a single user. Changes are reversible across consecutive sessions at both local (private) and global (public) levels.



(15) Complex Numbers Implementation Stories

Roger Hui

Dyalog 13.0 will have an ISO Extended APL compliant implementation of complex numbers.  We recount some interesting stories from this implementation, stories that they don't tell you in school.



(16) Winning the Dyalog Programming Contest 2009

Ronald Ping Man Chan

Ronald Ping Man Chan, soon to be Bachelor of Engineering (Mechatronics), University of Auckland

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.



(17) Building a Web Application with Dyalog APL and ASP.Net

Robert Pullman, Managed Account Performance Solutions

Recently Robert Pullman collaborated with an ASP.Net developer to build a web application.  The APL components turned out to be remarkably easy to write.  The learning curve was surprisingly shorter than with other platforms (DOS, Windows, Unix).  The APL components perform financial calculations without any burden of presentation, communication, or data base interaction.  In this presentation Bob will focus on what it takes to create APL components for web applications.



(18) Selling Proposition for APL

Gitte Christensen, Dyalog Ltd

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.



(19) Complex Numbers

John Scholes - Dyalog Ltd

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.



(20) Bio-Check (or, I’m feeling well and can prove it)

Gilgamesh Athoraya – Optima Systems Ltd

Gilgamesh AthorayaGilgamesh is a relatively new entrant into the APL scene but he has, as they say, taken to it like a ‘duck to water’. In the few years he has been working with Optima he has shown an aptitude for the language that is second to none and has great rapport with our customers.

When he is not programming in APL, Gilgamesh works toward his Masters which forms the basis of his talk.

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.



(21) APLAPL: A Programming Library in APL

Kai Jäger

Kai JagerSharing code is something quite unusual in the APL world, and it ever was. For decades technical reasons could be blamed: integrating someone else's code was close to impossible due to potential name clashes and side effects. With the introduction of Classes in Dyalog this is history. It is very easy now to use code written by someone else.

The APLAPL project tries to establish an Open Source Library with classes designed to solve every-day tasks every programmer is likely to face. It follows a number of standards to ensure quality of both, code and documentation.

These standards will be discussed.

In a small sample project Kai will show us how to find, download, get acquainted, test, integrate & use some of the classes available on APLAPL.



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

Richard Procter, APL Borealis Inc

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.



(23) Keynote: Arrays in Real Life

Gert Møller, Array Technology

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.



(24) The Key West Project- Why my mother-in-law has special serving dishes for corn on the cob and I don't - or - Technology Stack: APL, APL, APL and APL

Paul Mansour, The Carlisle Group

Conventional wisdom has it that it is best to use the right tool for the right job. Scorn is heaped upon those troglodytes who, armed only with a hammer, treat every problem as a nail. But every tool comes with costs: a cost to purchase, a cost to learn how to use, a cost to integrate with other tools, and a cost to maintain. These costs are often drastically underestimated and may outweigh any benefits. More importantly, a program is not a hammer, and programming is not carpentry. Programming is programming, software is software, and analogies to all other forms of human endeavor break down on even cursory inspection. However, these observations are only tangential to the point of this presentation, which demonstrates wrapping up the awesome power of the Dyalog APL interpreter in a few trivial cover functions to create a new product without cheating on your license agreement. Topics to be covered include relational database theory, domain specific languages and interpreters, object-oriented programming and of course, dynamic functions. There will be nothing about XML. This is a PowerPoint-free presentation.



(25) Tables, Buttons, Flash and Spinning Images

Chris ‘Ziggi’ Paul, The Childcare Company

After explaining why APL was chosen for a non-traditional APL application last year, Ziggi returns to show how ASP.NET can act as an effective GUI for an APL engine,  using as an example "The LASER", an e-learning system designed for nursery practitioners by The Childcare Company.

He will demonstrate the various techniques used in the "Big & Chunky" visual style to make an APL system look modern and accessible to people with little or no IT experience.  The LASER system was designed to meet the various learning styles so uses video, games, web hyperlinks and good old fashioned text to make sure that everyone is catered for. 

The system uses Flash Plug-in, embedded video and even utilises Visual Basic freeware where useful, all controlled and monitored from Dyalog APL.



(26) The Rank Operator

Roger Hui

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



(27) Emulating an APL+Win Application in Dyalog APL

Joachim "JoHo" Hoffmann, J Austria

In this talk the experiences of emulating an APL+Win GUI application, namely ConDim by Thomas Lorenz ZT GmbH in Europe, are reported. ConDim is an intuitive program, used by civil engineers to check compliance with various structural standards, e.g. Euro Standard. The APL+Win emulator running in DyalogAPL V12 Unicode is presented and the rationales it is base on, in contrast to a complete rewrite. We close with a discussion of future improvements of the APL+Win emulator.


(28) The "Scratch" Multimedia Programming Environment for Children - using APL

Steve Halasz
Fiserv

This talk explores a new way of writing APL inspired the "Scratch" multimedia programming environment for children developed by the Lifelong Kindergarten group at MIT Media Lab A prototype APL programming environment will be demonstrated which supports features found in Scratch: creating and editing expressions using "drag and drop" within independently executing tabbed "workspaces" associated with animated graphical objects.


(29) Cuda Libre - A pioneering approach to parallel array processing in quantitative finance

Yigal Jhirad and Blay Tarnoff

Yigal Jhirad and Blay Tarnoff will discuss the application of CUDA within APL to leverage the NVIDIA GPU parallel processors and supercharge quantitative and derivatives trading and risk models.  APL-CUDA is a powerful means to exploit existing and future multi-processor technology and more efficiently drive mathematical and econometric applications.

Yigal D. Jhirad is a senior vice president at Cohen and Steers.  He is a portfolio manager and director of quantitative and derivatives strategies. Prior to joining Cohen and Steers, he was an executive director and head of portfolio and derivatives strategies at Morgan Stanley.  He was responsible for developing, implementing and marketing quantitative and derivatives products to hedge funds, active and passive funds, pension funds and endowments.

Blay A. Tarnoff is a senior project manager and applications developer. He specializes in array based languages and has developed equity and equity derivatives applications for program trading, proprietary trading, quantitative strategy and risk management.  He was most recently a senior consultant at Morgan Stanley where he developed quantitative and real time trading and risk technology.


(30) Amazing Performance Looms

Robert Bernecky, Snake Island Research Inc

Array languages, despite their proven advantages in time-to-solution and terse expression, continue to have a reputation for poor performance compared to imperative languages, such as C and Fortran. That reputation is about to change, thanks to recent advances in array compilation theory, APL's inherent parallelism, and the many-core computers that are now commonplace.

We will showcase the state of the art of array languages, pitting interpreted APL code against compiled APL against Fortran 77 and Fortran 95, in both serial and parallel environments. We will also outline how we propose to close the remaining performance gap between interpreted APL and compiled array languages.


(31) Young  APL'ers Panel – New Views on APL

 

Panelists:

Ronald Ping Man Chan

Brendan Duncan

Kendall Alvarez Eskew

Moderator: Stephen Taylor

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!

Each of our 3 panelists will have 4-5 minutes to present their "position", leaving 20 minutes for what we hope will be a lively discussion.

Panelists' backgrounds:

Ronald Ping Man Chan – Winner of the Worldwide Computing Programming Competition 2009 -  soon to be Bachelor of Engineering (Mechatronics), University of Auckland. Before the Dyalog Programming Contest, Ronald had no APL experience.

Brendan Duncan - Brendon is a new APL convert, having used it over the past year as a component in risk management software at a Fortune 500 company, SunGard Data Systems.  In his decade in the software industry, he has developed commercial products in 10 different languages on various platforms, all the way from 8-bit microcontrollers, to mobile devices, to enterprise-level PC applications.

Kendall Alvarez Eskew – Kendal is an associate Software developer with Fiserv Investment Services. He started studying computer science at New Jersey Institute of Technology, in Newark , New Jersey in 2004.  After a year of taking Java classes, he switched to a degree in Mathematics of Finance and Actuarial Sciences, graduating cum laude in December of 2008.  Before graduating though, he found he had returned full circle, working as an APL programmer at Fiserv Investment Services.  With little programming experience, and no programming practice for several years, APL baffled him at first glance, but came quickly into focus after a little study.  Kendall has worked at Fiserv for a little over a year, and has used that time to expand his knowledge of APL, Unix, and more recently Dyalog APL for Windows, Python, Haskell, and Ruby.

 

 

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player