FinnAPL Meeting in Helsinki, November 26th 2015

Hyvää päivää (good day)

On the last Thursday of November, I had the privilege to meet with with some members of the Finnish APL community in at the Vatt Institute for Economic Research in downtown Helsinki.

Presenting new Dyalog APL features at FinnAPL

Presenting new Dyalog APL features at FinnAPL

The morning was spent engaged in lively conversation about user interfaces and Dyalog APL. In particular we talked about MiServer – Dyalog’s framework for cross-platform user interface development – and the RIDE (Remote Interactive Development Environment). MiServer can run on any platform where Dyalog APL runs. As such, I was able to demonstrate several examples of web sites running under MiServer on a Raspberry Pi. With RIDE, one can access a Dyalog APL development environment via a TCP/IP connection – the development environment can be on the same machine as RIDE or on another machine, as long as it is listening for a RIDE connection. While Dyalog APL for Windows has always had windowed interactive development and debugging capabilities, RIDE brings a comparable level of capability to environments which were previously limited to only TTY-based terminal interaction.

About a dozen more FinnAPL members joined us for the afternoon session where I spoke about some of the recent features of Dyalog. We discussed Function Trains, the Rank operator, the Key operator and user commands. We looked at both recently introduced and some of the long-established user commands. I demonstrated how to create a new user command (command AIKA=TIME in Finnish!) and how to debug it before letting the group conclude their meeting.

The day ended with nearly all of us going out for dinner and a few drinks in Helsinki, which looked wonderful with all its Christmas decorations. It’s always a pleasure to be able to sit down, share time and exchange ideas with fellow APLers.

All in all, a good day!

SWEDAPL Meeting in Malmö, November 11th 2015

The November cycle of APL User Meetings is kicking off; the SWEDAPL meeting in Malmö was first this year, holding a meeting at the top of the famous Turning Torso in Malmö. Since it was just a short trip from our Danish office, Dyalog was represented by Gitte Christensen, Bjørn Christensen and Morten Kromberg – with Brian Becker and Dan Baronet joining the meeting remotely. Next week, Richard Smith and Nick Nickolov will be representing Dyalog at APL Germany in Erfurt and Dan Baronet at FinnAPL in Helsinki – check http://dyalog.com/dates-for-your-diary.htm periodically for a list of APL meetings and Dyalog presentations!

Gilgamesh Athoraya welcomes us to SWEDAPL

Gilgamesh Athoraya welcomes us to SWEDAPL

This turned out to be a very international group – ten Swedes (two of whom were from India but based in Göteborg), six Danes who made the trip across the sound, two from the UK, one German and one delegate from each of Serbia and the Ukraine – plus about five North Americans who joined the afternoon sessions via GoToMeeting. This was the first “themed” SWEDAPL meeting; all of the talks were related to the use of Web Services in APL.

First up was our host Gilgamesh Athoraya from Data Analytics in Malmö, who showed us how he had been using Paul Mansour’s new RUMBA application interface which is built on top of Dyalog’s TCP toolkit (which is known as CONGA). Gil has been experimenting with support for Web Sockets, which are bi-directional connections that allow the server to push data to web client applications, making it possible to have very responsive user interfaces in web applications.

Joakim Hårsman explaining how slippery SOAP can be

Joakim Hårsman explaining how slippery SOAP can be


The next presentation was by Joakim Hårsman of CompuGroup Medical, who have been exposing data held on IBM AIX servers via Microsoft.NET-based Web Services for many years. Joakim had a few interesting stories to tell about getting a grip on and maintaining Web Services based on the protocol known as SOAP, which is supposed to make this easy…

The last talk before lunch was by Stephan Poßberg of Vallourec, who talked about the use of Web Services to make computational code available across a large, global organisation. Lunch was served on the 54th floor; unfortunately the weather didn’t quite allow us to see all the way to Helsingør.

The Turning Torso in the Mist, After Dark

The Turning Torso in the Mist, After Dark

After lunch, it was Morten’s turn, assisted by Brian Becker (who joined the meeting from Rochester NY) to present Dyalog’s brand new support for RESTFul web services, available in MiServer 3.0. Paul Mansour also joined this session and provided valuable insights into REST technology, which seems to be taking over as the preferred Web Service architecture for new applications.

Finally, Peter Simonsson from Aplensia in Göteborg told us how Web Services had become widespread at Volvo Cars, where a couple of hundred APL-based services provide the backbone of a network of applications centered around product data and production planning – with the earliest web services dating back to the days when APL ran under VM on IBM Mainframes.

Many thanks to Gilgamesh, Data Analytics and Optima Systems for arranging this event, which provided much food for thought, and inspiration for future work by several people at Dyalog – and by the sound of it, a number of users of APL as well! Expect to see more support for Web Services and Sockets in future versions of Dyalog products!

Dyalog ’15 – An Unexpected Viking Challenge

etnaAfter many months of planning and preparation it was finally time to head from the UK to Sicily for Dyalog ’15. Sun, sea and an excellent conference facility were awaiting us at the Atahotel Naxos Beach in Giardini Naxos and this year, because it would be very hot, we had decided to forgo the traditional Viking Challenge team activity for a more relaxed excursion by coach to see the craters at the top of Mount Etna – Europe’s largest active volcano.

water_everywhereDyalog ’15 kicked off on Sunday morning and by Tuesday everything was going to plan and we were stubbornly ignoring the forecast for storms and rain on Wednesday – after all, the forecasters always over-exaggerate don’t they?
In this case it seems not as we woke up Wednesday morning to torrential rain and had to wade from our rooms (sometime through water up to our knees) to the conference centre.

flood_collageThere we were greeted by more floods and rain only this time it was inside the main conference room and perilously close to the desk with all our AV equipment on it. Time for an emergency change of room but where do you fit 80+ people at short notice? A room was found, the projectors and microphones were set up ready for the start of the day – and we were only 15 minutes behind schedule! OK, so maybe it was a tight squeeze but by then everyone was bonding over flood stories and determined not to beaten by a “bit of weather”.

banquetJust when we thought it couldn’t get worse, we then found out that the beautiful seaside terrace restaurant, where the Dyalog ’15 banquet was due to take place that evening, was also flooded so Banquet Plan C (Banquet Plan B was also under water) was implemented and the whole event moved indoors – not such a stunning location but at least we would all be dry.

During the morning the rain eased off, the floods subsided and our planned excursion to Etna during the afternoon was looking more and more likely. We finally got the go ahead and 69 brave souls set off after lunch to battle with the elements, optimistically hoping the weather would improve as the afternoon went on. However, once we reached 1900m we were greeted by yet more torrential rain and a pretty bad thunderstorm. Were we deterred? Oh no, we just headed off into the storm to stomp around the Silvestri Craters for a bit – although one delegate did, rather hysterically, point out that it probably wasn’t very sensible to be waving an umbrella around in a thunderstorm at that height. Eventually a very wet, cold and bedraggled bunch got back on the coaches but we all survived the adventure, made it back to the hotel and most agreed we had had a lot of fun!
etna_collage
And the moral of the story? It was beautifully summed up by Gitte Christensen in her closing speech: “If you don’t have a Viking Challenge at a Dyalog User Meeting then one will be provided for you!”

Tuesday at Dyalog ’15

IMG_5010MiServer UI Controls

Dan Baronet and Adám Brudzewsky continued yesterday’s presentation by Morten Kromberg on Cross-platform User Interfaces by demonstrating a lot of varied interface elements that are available when creating front-ends in MiServer. Especially encouraging were the special controls designed by Dyalog. These make it possible to have arrays render as complete super-elements (e.g. a table). No need to worry about the many underlying HTML elements making up the super-structure (e.g. table rows and their table cells).

IMG_4970The Dyalog Project Project

Morten Kromberg outlined his plans for a brand new tool to ease development and getting started with APL: An online repository for APL code – software packages that may be retrieved and installed on a computer. This is a significant step in ensuring the future, as a newcomer to programming (if ignoring all the other advantages to APL) often looks at amount of easily available pre-existing code when choosing a language.

IMG_5123Data Binding – The Matrix / Waste Time with John Daintree

Light-hearted as always, John Daintree introduced us all to Dyalog’s already implemented capabilities in making user interfaces automatically update when values the datatable are changed. Obviously this is best described in a video, which will be available soon on video.dyalog.com. Meanwhile, there is an excellent demo on APL Wiki. After John’s presentation, a user demonstrated how he with minimal time effort set up a modern-looking dashboard for presenting numerous varied data.

External Workspaces

Morten Kromberg introduced a new facility by which you can save your code and access it as a memory mapped file which can be shared by the users. This is an advantage when you have to watch how much of the workspace is consumed by the code-base. Stig Nielsen from SimCorp told us how they have applied these external workspaces with much success. Not only can many users access the same workspace, but even users on a Citrix farm can access the file simultaneously. Using this facility, enables SimCorp to start using futures and isolates that would otherwise exhaust the memory available on their costumers’ server farms.

TamStat, a Statistical Package

Blog post from presentation by Stephen M Mansour PhD, The Carlisle Group as well as the University of Scranton,  and Jerry Brennan PhD, A former teacher of Statistics in Hawaii, who has now moved being a fulltime Psycologist.

By Vibeke Ulmann #Dyalog15

Last year I managed to squeeze in a mention of TamStat in a blog post. This year we will do a bit more on this new application which has been developed by Stephen Mansour. The name TamStat stems from ‘Taming Statistics’ and Stephen willingly admitted that he stole the paradigm from Ken Iversson who once talked about ‘Taming Maths’.

Stephen teaches Statistics at the University of Scranton – outside as working at the Carlisle Group. The basis for the development of TamStat was that he wanted to create a one or two semester stats course at the University. In order to create what he considers to be an easy to use, APL based statistics programme, he has included a seamless interface to R.

TamStats functionality can be divided into four different groups:
Summary statistics
Probability Distributions – based on theoretical models,
Relations and
Logic

The underlying implementation is a set of operators representing the different distributions with operands specifying the conditions and the Relations, or Logical conditions which apply

As an example Stephen then conducted a comparison of a Movie Theatre with 130 seats, with an average of 100 attendees  and a 20 seat deviation. He ran the comparison in Excel, Minitab, R and TamStat to show the audience how easy it was to create a close to normal English language expression in TamStat to get the statistical result.

Since last year Stephen has been adding a lot of new features and not least documentation. There is now a 60 page user guide both in print and as a PDF download, a Reference Card  in fold out hardcopy, based on the same structure as the Dyalog APL reference card. The reference card is also available as a download. There is an Excel import functions, and operational R interface. It is now possible to work with Bayesian statistics – a request from last year.

TamStat is now available in 3 versions (almost 4) namely

  • A Dyalog workspace for APL users
  • A downloadable standalone App for students and non-APL users (with ASCII input).No set-up required just get it and start.
  • A Web application  – similar to TryAPL – using MiServer for casual users
  • A Computer programme for professional users (currently under development in Carlisle Group)

Jerry Brennan then took over demonstrating his JMB.APLcloud.com, which is an educational site teaching APL. Implemented in APL of course and using MiServer as the vehicle to bring the content to the web.

Jerry is currently running on MiServer 2.1 and he is in the process of moving to MiServer 3.0.

As Stephen, Jerry has made available documentation, and examples, in the form of games and other ‘fun’ examples to attract the attention of a young audience. He has included drag and drop facilities, to make it even easier for people who have no prior knowledge of Dyalog APL to get going.

Jerry has included TamStat on his website including all the examples from Stephen’s User Guide allowing the users to interactively experiment with the statistics.

Outside of this, he is working with ‘Hacker Highschool’ who work with security awareness for teens and have 1.4 Million subscribers. Hacker Highschool takes an extremely ethical approach, so he is not concerned about making the application available to students.

Stephen Mansour would like to run a workshop on his “Statistical Language” at the Dyalog User meeting next year if there is sufficient interest, so asked delegates and blog readers to let Dyalog know if we should include this in the next User Meeting.

Using Co-dfns to Accelerate APL Code

Blog post from Aaron Hsu’s (Indiana University, USA) presentation Wednesday 9th September.

By Vibeke Ulmann #Dyalog15

For the past 2-3 years Aaron and Dyalog have been collaborating on creating a new compiler. This is an Open Source project and the compiler – which is currently in ‘Version 0.5’, is available as a zip download from Github. Aaron started by showing us how to download, unzip and set-up the compiler. It is available for both Windows and Linux platforms.

This was a live coding session (working on the Window platform) where Aaron demonstrate some of the feature/functionality expected to go into Version 1 of the compiler. He then proceeded to do a number of blackscholes benchmark, working various Co-dfns implementations, in order to demonstrate the order of magnitude of speedup’s for chosen expressions. The performance speedup’s achieved were  60% -93% or, as Aaron prefers to see it, 3 – 10 times speed-,up , so significant improvements can be had by using the compiler. However, there is still work to be done in terms of implementing more expressions, and Aaron encouraged everyone to download the compiler, play with it, and most importantly – try to break it – as he needs feedback in order to start bug fixing.

The compiler is targeted solely at dfns and you will need access to a c-compiler on your machine. Also only 0-origin code is accepted for now.

There is a lot of additional information available on the Github wiki, so please visit Github, get hold of the Compiler and start playing!!