Dyalog ’19: Monday 9 September

Dyalog ’19 talks begin

As usual, we began the series of User Meeting talks with a warm welcome from Managing Director Gitte Christensen. This year Gitte’s message felt somewhat spiritual as she described the lore of Thor’s hammer Mjölnir and its place in formal ceremonies. The choice of logo for this year’s User Meeting feels appropriate to the current zeitgeist: the desire to make some order from the chaos we may feel around us. You could feel a sense of hope in hard times.

Gitte welcomes us to Dyalog ’19

Hard and sad times have certainly befallen us recently and we remember two APLers who have sadly passed away this year. Harriett Neville who was supposed to attend the User Meeting, and John Scholes who left us in February. However, we also say hello to new faces at this User Meeting – Josh David and Nathan Rogers who were hired to form our new US consulting team.

In consideration of new APLers, Gitte also gave a call to arms that we should “spread the gospel” about APL. She expressed how Dyalog is making it easier to introduce people to APL by having unregistered copies of Dyalog available for non-commercial users in the near future, and also by encouraging people to share their APL tools freely online using services such as GitHub.

Morten shows us the road ahead

This was shortly followed by a road map of future Dyalog development from Technical Director Morten Kromberg. He also emphasised how Dyalog is making APL easier to find for new people, this time mentioning the APL Orchard Chat room; the Dyalog Webinars which have been running for about 2 years now; our talks in the wider programming community at events like LamdaConf and FunctionalConf; and of course the open source APL projects as Gitte had mentioned.

Morten also described how we have been working and continue to work to make APL applications easier to deploy, maintain, test and integrate with other frameworks and development processes.

There were no surprises in JD’s demonstration of the .NET Core Bridge. The functionality in terms of the .NET Framework remained, but JD showed us what it would look like if .NET “was as portable as they tell us it should be” and could be used on Windows, MacOS and Linux with the same APL code.

Marshall took us in a more technical direction, although still pointed towards the future of APL. He showed us the new operators constant , atop and over which we can look forward to in version 18.0. He also gave the suggested new nomenclature for the several types of function composition which will be available when these function-composition operators are released.

Marshall introduces new operators for Dyalog v18.0

Tommy Johannessen has been running his one-man company for some decades now, and we got to see a great user story as he demonstrated the interface to his school lunch system SkoleMad. It enables the delivery of 20,000 meals daily to 100,000 students!

Morten and Adam teamed up again to bring ]LINK to a wider audience and emphasize the importance of using text-based APL source files to modernize your APL development workflows. This is also a vital tool if you want to share your code easily with services like GitHub.

Paul Mansour demonstrates Git integration with AcreTools

The theme of modern APL development continued seamlessly as Paul Mansour of The Carlisle Group presented a Git workflow for Dyalog APL using the Acre project management system. He demonstrated using AcreTools user commands and broke down a Git workflow into something accessible even to people who are new to Git and may find it slightly daunting to use.

The co-dfns compiler is a staple of the Dyalog User Meetings at this point. Aaron Hsu’s PhD project allows APL code to run fast on GPUs, and this year he was clearly excited to show us some of the revelations that have come from the development of co-dfns. These revelations came in the form of some quite high level development concepts for us to chew on and there are sure to be some interesting conversations as a result.

Aaron Hsu pontificates

The future is here, the future is now and the future is cross-platform. Richard Smith brought us yet another tool in the future tool box for Dyalog: Cross-Platform Configuration Files. The project is in early development and so the majority of the talk became an interesting debate into the pros and cons of various ideas for the format. XML, JSON, YAML or another – who will win? Only time will tell…

Geoff Streeter regales and informs about shared code files

Geoff told us the story of how a request to have functions loaded on demand led him to the germ of the idea and eventual implementation of shared code files. The audience was attentively, silently listening and the air of the Damgårdsalen was that of a village gathered around listening to their elder.

Richard Smith returned to show us some datetime functions to help us find out whether or not it is yet Christmas (SPOILER: It’s not Christmas yet). His slick demonstration reassured us that handling dates and times in Dyalog can and will be as painless as the idiosynchrosies of time and calendars permit – again after some details have been worked out.

Now we are adjurning for dinner. Later this evening we will be puzzling some puzzles in the APL Team Contest, hosted by members of Liceo Scientifico GB Grassi Saronno (a scientific high school in Italy). Don’t forget to check out tomorrow’s blog post to see how things went!

Dyalog ’19: Sunday 8 September

Welcome back

This year once again the Dyalog User Meeting returns to beautiful Elsinore in Denmark. The historic seaside city is home to Kronborg castle, famously immortalised in Shakespeare’s Hamlet – and Kromberg castle, where Morten lives. We are holding the user meeting at Konventum in the western outskirts of Elsinore. It features winding corridors adorned with contemporary Danish art and many comfortable seating areas conducive to social engagement, so we hope that delegates will find themselves meeting new people and conjuring beautiful new ideas as the week progresses.

Social spaces are everywhere at Konventum


Today six half-day workshops were held, with topics ranging from source code management and graphical interfaces to cutting-edge APL techniques which have become available in the last decade of APL extensions in Dyalog.

Morten and Adam’s morning workshop focused on helping users collaborate on code with text-based source files. Adám introduced the ]LINK user command and Morten showed the way with Git – both guided the adoption of these technologies with worked examples.

We saw the delegates shine with their understanding of APL in the workshop on grouping and processing text. Nic helped us to understand the differences between partition and partitioned enclose. Powerful search and replace with ⎕R and ⎕S was elucidated by Richard Smith and, in this section, the ability of the participants to ask exactly the expected questions made the progression to understanding relatively smooth.

Brian Becker of the tools group and new recruit Josh David teamed up to introduce users to the new HTMLRenderer, which allows APLers to use web technologies to create cross-platform graphical user interfaces in Dyalog.

Adám points us in the right direction with function trains

Function trains are a relatively recent addition to the APL syntax, and with their terseness people can find them daunting both to read and write. However, once again we saw delegates stepping up to the challenge and finding creative ways to solve problems. It was a joy to see the creativity on display and the variety of approaches people took to solving the problems using only function trains. Marshall gave some details on the use of the rank operator , and despite this formidable challenge of understanding, by the end people were starting to grasp the power of this operator.

The morning’s HTMLRenderer workshop was mirrored by another GUI workshop in the afternoon. Michael and Chris Hughes worked to help people take their ⎕WC graphical interfaces, for Microsoft Windows, and get them to work on MacOS and Linux by using their qWC functions.

The mainframe is now the cloud, and with the ability to share great computing resources has come the need to learn another sizeable set of technologies. Morten and Norbert Jurkiewicz helped to clear some of the fog on this recent computing paradigm.

Things to come

For the rest of this week there will be many presentations from Dyalog employees and users – as well as an APL Team Challenge, the Viking Challenge, and of course the Banquet dinner on Wednesday evening.

We will be continuing to publish short daily recapitulations to give you a flavour of the talks and events of each day. However, if you are too impatient even for that, we will be streaming Monday morning’s talks live from 09:00 to 10:45 (07:00 to 08:45 UTC). Also, on Wednesday morning between 11:00 and 12:00 (09:00 to 10:00 UTC), the 2019 APL Problem Solving Competition will be concluded as this year’s grand prize winner Jamin Wu will be presented with his prize and will talk about his experience with the competition. These streams will be available to watch live on dyalog.tv, so make sure to tune in if you don’t want to wait until the talks are published later this year.

Welcome Josh David

Josh David is a recent graduate from the University of Scranton with a degree in Computer Science. He minored in Philosophy at college and headed The Philosophy Society, so feel free to strike up a philosophical discussion with him at any time!

He is no stranger to APL. In Scranton, he was introduced to APL during an internship with The Carlisle Group. From there, he continued learning and developing in APL and was one of the three grand prize winners in the 2016 APL problem solving competition. Throughout his college career he sporadically worked on other APL projects. He has done frequent pair programming with Stephen Mansour, who was conveniently teaching statistics at the same university! His interest is in Computer Science, and he has also done non-APL related software development at his University and professionally during another internship with MetLife.

He will primarily be a contractor for North American clients. Some of his time will also be spent with Dyalog’s Tools group, developing tools to make APL programming easier, more powerful, and current with new technologies.

One particular area he wants to tackle is creating more libraries and interfaces in APL. With the recent push towards git and source code in text files among the Dyalog APL community, he believes that now is a prime time to do this.

Welcome Nathan Rogers

Based in Denver, Colorado, Nathan Rogers is a new member of the Dyalog team. In previous lives, Nathan spent six years as a member of the United States Armed Services as a Satellite Communications Operator, studied music theory and performance at the University of Northern Colorado, and built desktop and web applications across numerous languages and frameworks in a variety of domains.

Nathan first came into contact with APL when discussing code obfuscation with other programmers, and a coworker mentioned K and APL. APL became an immediate obsession, and Nathan became a regular in the Stack Exchange chat room “The APL Orchard”. He quickly began spending all of his free time learning APL, building familiar applications and tools using this quirky language, and reading about its fascinating history. He finds it funny in hindsight that he was introduced to the language in a conversation about code obfuscation, only to now be an APL evangelist, believing the concepts of APL to be as fundamental to elevating the world of computer programming as the Arabic numerals were to the study of Mathematics. After a year or so, Nathan was put in touch with Morten Kromberg at Dyalog. The two began pair-programming projects, which quickly proved fruitful and led to Nathan joining the team soon after.

When Nathan isn’t working on consulting projects, or tools for Dyalog, you can typically find him behind his keyboard building his own tools and toy functions in APL, with two aims in mind: convert as many traditional programmers as possible to APL, and bring his knowledge and experience to bear on modernizing APL and its tools for the current and next generation of new programmers.

Welcome Richard Park

Richard Park is the latest addition to the Dyalog team and is based at Dyalog HQ in the UK. Richard has been living in the same house in Bramley his entire life and recently returned to the village after one successful degree in physics at the University of Manchester, and one unsuccessful degree in education at Manchester Metropolitan University.

How Richard and Dyalog came to meet is a story that deserves to be told, albeit a bit embarrassing for poor Richard!

One day, while walking his dog and father, Richard rang the office doorbell to inquire about any software-related opportunities that might be available. He had developed an interest in computers from using them at young age, building circuits for A-level electronics and learning about the physics of computers (as well as computational physics) at University. If only Richard had been able to convey any of that to Jay Foad, who answered the door, instead of standing like a “gormless idiot” (his words) whilst his father jumped in and asked about internships and job opportunities…

Richard went home that evening and browsed the Dyalog website… the Pandora’s box of APL edged ajar and he began to imbibe the symbols. He also sent an amusing email explaining the earlier awkward encounter and clearly showing that he was not a “gormless idiot”. This resulted in a meeting with the CEO and CXO, Gitte and Morten, in October 2018. After that meeting Richard showed enough aptitude and interest, while pair-programming a simplistic physics simulation with Morten, that they decided to keep him.

Given that Richard’s previous experience includes programming an autonomous robot for the QMC team in the 2012 and 2013 Student Robotics competitions and using MATLAB and CERN’s ROOT library to process experimental data and run simulations, he was very surprised that he had never heard of APL before. He sees a potential in APL to develop domain specific programming languages and software packages to help teachers convey concepts in a way which more closely matches the syntax and jargon in which problems are already described.

In his new role at Dyalog, Richard is developing teaching materials and demos to promote APL.

Pool Stories: Fergus back on Form

It has been almost 2 years since our last post about Jo Fergus (daughter of our Customer Account Manager, Karen Shaw) the pool player who Dyalog have sponsored in the past. When we last updated you, Jo had just had her daughter, Remy, and made the difficult decision to take some time out from pool to concentrate on her new family.

On June 30th 2018 she married Tom Fergus, Remy’s Dad, in a small ceremony at Trowbridge County Hall and became Jo Fergus. The wedding came as a bit of a surprise to friends and family who thought they were attending a birthday lunch but the sun shone and a fantastic day was had by all. Jo started to miss playing pool and in 2018 she went to the Wiltshire county pool trials and was invited back into the Wiltshire Ladies A county team. After a successful season, in which they didn’t lose a match, the team has qualified for National County Finals taking place at the beginning of March. Jo has also joined a team playing in her local pool league.

In 2019 Jo took the decision to test herself and her pool skills and signed up to the 2019 IPA Ladies Tour which will see her play at 5 events across the UK. There are only 32 places on this Ladies tour and it will give Jo a chance to play against high level opposition, which she feels will improve her game. Ranking points will be awarded and the top 8 in the rankings after Tour 5 will automatically qualify for the first ever IPA Ladies Blackball Premier League.

Dyalog are proud to be sponsoring Jo for this tour and it is planned that all Ladies finals will be live streamed on freesports.tv so we have our fingers crossed she makes at least one final!