In contrast with Monday night’s brain-bending puzzles, last night there was some lighter entertainment as Richard Park presented his molecular dynamics framework APLPhys. He showed us how elegantly APL could express mathematical equations and we joined in his fascination watching simulations of little balls flying around on his MiServer based graphical interface.
APL for every kid
This morning we got to hear from Roberto and his students again. Pietro, Alessandro and Gabriele told us how after they were shown APL in school their interest was sparked to the point that they would write APL in other, slightly more dull lessons. They gave us more details on their competitive league scoring algorithm which was used in Monday evening’s contest. Lastly they expressed how APL’s ability to have you think differently led them to develop their puzzle competition platform called MathMaze. They had familiarity with Python but were new to APL, so they used Py’n’APL to make Dyalog communicate with a python-based Django server. In that way, MathMaze contestants could enter either a direct puzzle solution, or an APL statement which is evaluated on the server to solve the puzzle.
Afterwards Stephen Taylor led the Young APLers panel. To begin he introduced us to Josh David from the small town of Scranton, PA. We learned how he started working with APL at 15 years old after being introduced to it by his neighbour Paul Mansour of The Carlisle Group. Next was James Heslip from Optima, telling of his discovery of programming through Visual Basic. During and after university he wanted to pursue computing but keep the maths aspect of his work in the future. After meeting Paul Grosvenor he managed to convince Paul to take him on as an apprentice at Optima, and now APL allows him to write programs using mathematical notation. Yuliia Serhiienko from Ukraine came next to the stage, and said how she loved mathamatics in school but never imagined becoming a programmer. She had been an actuary in a previous life but, in the end, her transition from Excel macros to APL turned out wonderfully. Alve Björk, last year’s competition winner, claimed to spend more time reading about programming languages than actually programming. He said that in many languages he will think of a program but not write it. However, since APL is terse he actually sometimes tries it out when he thinks of a program. Alve also stated that he found it interesting that when you have a problem, in APL it’s not the first thing you do to go online looking for a ready made solution.
All of the panelists discussed the importance of having a teacher and being able to ask questions. It was suggested that some kind of mentor system for APL could be fostered. Once again the idea of “spreading the gospel” and getting APL in front of more people was brought up, and how it may be necessary to do this in order for the community to grow – as much as some of us would like it to remain niche.
The 2019 APL Problem Solving Competition
Finally, the moment we’d all been waiting for: the prize ceremony for this year’s problem solving competition. Brian Becker talked about how we had made the leap to “eat our own dog food”, having built and hosted the competition website using MiServer (you can still see it at dyalogaplcompetition.com). Many technologies came together so that Dyalog could have the Phase I “one-liner” problems automatically validated in collaboration with TiO.Run. We saw some stastics about registrations and submissions, and heard about the extremely high quality of both Phase I and Phase II entries this year.
Then Gitte presented the top professional and student competition winners with their prizes. Torsten Grust expressed how much fun he had thinking about the problems and how clever he felt when he managed to come up with his solutions.
The Grand Prize winner Jamin Wu told us about how he discovered programming when he was looking into ways to solve problems using computers – something he still needs to do despite being a medical student – and how he had found the APL family of lanugages via the project Euler website. Jamin then took us through some of his solutions, including his incredible invertible tacit functions for tap encoding and decoding. He expressed how nice it had been to think about his implementation of the Romberg method of integration by solving the problem with a pen and paper first, and then implementing the refined solution at the end, since writing the APL was so cheap in terms of effort. We were enthralled by his brilliant explanations and incredibly impressed by his well considered problem solutions.
After lunch we were made extremely busy in the Viking Challenge. The delegates were split into teams and had to make short commercials emphasising a certain aspect of APL to a particular audience. We expect to see some oscar-winning performances at the screening after the banquet dinner – so now it’s time to get on my Sunday Best ready for the prize acceptance speech I expect to make.