A Trip to the FinnAPL User Meeting

Gil AthorayaAPL, EventsLeave a Comment

The FinnAPL meeting this year is hosted just outside Helsinki in Hämeenkylä Manor. Arriving at the manor the night before I couldn't appreciate the beautiful setting until I woke up this morning to a snow covered landscape all around from my room's view.

The seminar was formally opened by Veli-Matti Jantunen who welcomed us all before diving straight into the beauty of code golf competitions. He encouraged us all to participate as code golf inspires and forces you to think outside the box. Wrestling to cut your code short teaches you new ways to use familiar primitives as well as forcing you to explore the more unfamiliar ones. He showed us several examples of problems with their best solutions (so far), culminating with an example of a one-liner complete "Master Mind" game written by the late Reima Naumanen.

{'*'∨.≠(⍴⍵)↑⎕←'*+'/⍨⍵{(⍺+.=⍵),⍺{+/⊃⌊/+/¨(⊂∪⍺)∘.=¨(⍺≠⍵)∘/¨⍺ ⍵}⍵}⍞:∇ ⍵}

Next up was Timo Laurmaa on the subject of D3 and APL. In his impressive presentation he invited us to navigate to his presentation online, providing us with a url, and as he was talking and navigating between charts in his presentation, we could see the current chart reflected on our own browsers, with highlights and annotations synchronised as he stepped through his talk. This was all the more interesting as the charts were dynamic and we could interact with them for as long as he stayed on it, focusing on regions, selecting lines and drilling into the charts. As soon as he moved along and shifted to another chart we were forced to move along, ensuring the audience payed attention to the charts he was talking about.

After a short coffee break Tomas Gustafsson took to the stage and talked about his experience setting up stands in boat shows to show off the Stormwind simulator. In another brave materialisation of his visions, he constructed a 360° simulation experience by mounting 9 projectors in a circle and 3 projectors overhead to create an all-encompassing boating experience. With 4 PC’s to drive the 12 screens he talked about the challenges of building the set as well as synchronising it all to create a seamless playback and a beacon in the showroom as the projected images could be seen through the semitransparent screens.

He concluded the presentation by pointing out how silly Swedes can be with some carefully chosen photographic evidence from his last visit to Stockholm. As the only Swede present I kept my mouth shut for fear they would roll me in the snow, dip me in a frozen lake, whip me with some vihta and steam me in the sauna. Later in the day I cornered him to show me the innards of Stormwind over a pint, so now I just need to get home and start writing my own simulator (it will be a silly one given I’m Swedish).

After lunch, Gitte Christensen gave us a brief summary of news from Dyalog and announced the next user meeting held in Belfast. Morten Kromberg followed on with technical news and demoed some upcoming features in v17 such as the total array ordering (TAO) and a new user command codenamed “link” to manage source code.

With TAO it will become much easier to use grade and sort operations on almost any type of array, very much the way you’d expect it to always have been. He highlighted some limitations, such as it not applying to namespaces and instances, and the fact that the dyadic grade not (yet) being supported.

The “link” user command will allow a seamless interaction with external source code files by “linking” a folder to a namespace in the active workspace. In a practical demonstration he showed how making changes to a function from the interpreter’s editor, from an external editor and by performing actions in the windows explorer or command line (git pull in this case), all changes were immediately reflected both inside the active workspace in the interpreter as well as in the file system.

After another coffee break I ended the day’s presentations with a quick demonstration of the next version of RIDE as well as an introduction to Amazon Alexa. I went through the stages of creating a skill on the Amazon Alexa dashboard, defining how to trigger and interact with the skill and talked about important aspects of designing an audio only user interface. I then demonstrated a simple implementation of an APL endpoint for such a service using the JSONServer tool provided by Dyalog’s tool group. Finally to link them together I showed how to use a free application called ngrok to provide a public, secure URL proxy for Amazon to consume the local service running on my laptop.

This concluded the session for the first day. As a traditional part of FinnAPL, we all filed into the sauna only to find that it was only a few degrees colder than the meeting room. A rather embarrassed group of Finns then blamed the Swedes and demanded a refund for the whole stay until the steam built up and they were soothed.

Dinner with more banter over a good meal and drinks wrapped up a very successful first day of the Forest Seminar 2018.

Share this Post

About the Author
Gil Athoraya

Gil Athoraya

With a background in Electrical Engineering and keen interest in both natural and programming languages, Gil started his career in 2005 when he first came across APL. At Optima he has expanded his expertise from developing business logic in APL to creating end to end solutions using a variety of modern technologies. Today Gil is the lead developer of a graphical, analytical system and holds the R&D role at Optima.