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
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
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
Competition prize ceremony and winners talk by Ronald Ping Man Chan
Young APLers Panel by
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.
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.
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.
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.
Roger will give a talk about the Rank Operator - an Idea Worth Borrowing from J.
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.
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.
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 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.
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.
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.
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.
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).
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).
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).
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).
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.
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.
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.
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!