Employee Spotlight: Bjørn

We have now had the pleasure of working with Bjørn for 20 years, so it seemed like an ideal opportunity to ask him to look back over the last two decades.

Bjørn first discovered APL when Gitte Christensen and Morten Kromberg invited him to participate in an APL course; he also used it in a few courses during his civil engineering degree.

Over the last two decades, Dyalog Ltd has grown from 8 employees to almost 30, has embraced evolving technology and trends, become a more geographically-distributed company with employees across multiple timezones, and seen a change of CEO. However, the combination of freedom and responsibility that Bjørn enjoys has not changed in this time. This has helped him in his role creating interfaces from APL to other APLs – more generally, developing tools that are not written in APL. For example, he wrote an interface from APL to ODBC so that APL user can access SQL databases. Bjørn derives great satisfaction from providing tools that customers need. His proudest achievement is the creation of Conga, Dyalog’s framework for TCP/IP communications (most new applications uses Conga directly or indirectly through other tools). There have been challenges too, such as developing his cryptography skills to a sufficient level to help colleagues and customers, but he has found that good spirits and persistence usually prevail in such situations.

Bjørn’s motivation at work remains his enjoyment in solving interesting problems and helping others. As he states, “I really like helping the customers”! He intends to continue in this role, although is now reducing his hours so that he can spend more time doing the things that he enjoys outside work, such as sailing in the summer and badminton in the winter. He’s also a very good dancer – his tango is legendary amongst his colleagues!

Bjørn is looking forward to many more years of serving Dyalog Ltd’s customers.

[Editor’s note: Morten started at the same time as Bjørn – his retrospective on how Dyalog Ltd and Dyalog have evolved since then will be published soon.]

Announcing Dyalog v19.4.1

Although the core language primitives (also known as squiggles) are closest to our hearts, we spend a lot of time creating interfaces to external components such as the operating system, widely-used APIs, and file and data formats. The core language remains stable with occasional extensions, but the system functions that provide these interfaces need constant enhancements as the world evolves around us.

The last few years have seen dramatic changes to the computing world and the array of things with which an APL application needs to interact. We would like to highlight the following features of version 19.4.1 – released today – that are likely to be very useful in the years to come:

AI-related:

  • ⎕AI      Artificial Intelligence
  • ⎕DF      LLM Degrees of Freedom
  • ⎕DL      Deep Learning level
  • ⎕DQ      Data Query
  • ⎕FIX     Fix code automatically
  • ⎕ML      Machine Learning

Online safety:

  • ⎕CT      Counter-Terrorism event
  • ⎕DR      Disaster Recovery event
  • ⎕PW      Password manager
  • ⎕SHADOW  deep state integration
  • ⎕STATE   official government integration
  • ⎕WC      for when you really need to go
  • ⎕WX      weather control

Communications:

  • ⎕AT      Bluesky protocol
  • ⎕DM      send Direct Message
  • ⎕FCHK    Fact Check
  • ⎕IO      universal Input/Output
  • ⎕RL      Real Life (inverse of ⎕SM)
  • ⎕SM      Social Media access
  • ⎕VR      Virtual Reality support

Miscellaneous:

  • ⎕ATX     motherboard properties
  • ⎕FUNTIE  deliver clothing
  • ⎕FX      toggle special effects
  • ⎕NA      (not applicable)
  • ⎕PP      PowerPoint mode
  • ⎕RTL     order of execution

Download Dyalog (it is free!) and explore these features – let us know what you think. Meanwhile, we at Dyalog Ltd will continue our hard work adding ever more value to Dyalog!

Welcome Andrea Plovgaard Frederiksen

It came as a surprise to Andrea (but not to anybody else) that she wanted to work as an executive assistant. She should have anticipated it; she did write her master’s thesis in rhetoric on how to lay the foundation for a great partnership between the rhetorical adviser and the director that needs assistance!

As in any great story, the goal wasn’t achieved from the beginning. Instead, Andrea spent four years as an external consultant in rhetoric, working her way through the Danish public and private sector. She travelled extensively, and learned how to write speeches, lead workshops, teach rhetoric, and sell consultancy services. It didn’t matter whether the client was top management, a union representative, or a specialised worker – everybody needs to be able to speak well and engage a crowd.

However, Andrea knew that working from the outside wasn’t what she desired. She wanted to be part of the organisation that she was helping, getting to know its members, its strategy, and its challenges and strength in depth. She also wanted to work closely with one or two members of management so that she could refine her ability to anticipate their needs and really be of assistance. This was a discussion that she often had with Stine, whenever the two of them and their partners met up to drink port and catch up. After two years of listening to this, Stine asked her if she wanted to try working with her and Dyalog Ltd. Andrea was sceptical at first as programming had never caught her interest, but her three-week internship passed very quickly. For a person interested in communication, behavioural design, and people, Dyalog Ltd was a wonderful source of learning and development. Advising on communication, helping with administration, and partaking in leadership discussions gave Andrea a new sense of fulfilment; here she got to stay and actually do the work instead of always leaving for the next client. After her internship she submitted a formal application and soon found herself thrown headfirst into a whole new world of programming and APL. Besides tackling administration and communicational tasks, Andrea is also trying to increase the number of memes being circulated in Dyalog Ltd!

When she is not at work, Andrea can be found in her garden, her kitchen, or in bed with the newspaper and a pot of coffee! If she must be honest, most of the time she will be found at her own computer, staying in touch with friends and planning the next gathering!

Dyalog ’24 Videos: Week 6 – Remembering the “Old”, Welcoming the “New”

The main theme this week is remembering how we got here – and welcoming a new generation of APL users. There are three talks and a panel discussion looking back on careers spent working on or with APL, and a final panel discussion with members of the new generation, which will hopefully wipe away some of the nostalgia.

John Daintree’s presentation Array Notation: A Journey of Discovery is the exception from the historical theme – the release was delayed until this week due to technical difficulties. However, John does point out that it is nearly a full decade since Phil Last’s initial APL Array Notation presentation at Dyalog ’15 in Sicily, and that Adám Brudzewsky has subsequently given several overviews of the evolution and experimental use of the notation (Literal Notation for Arrays and Namespaces at Dyalog ’17, Array Notation Mk III at Dyalog ’18, and Array Notation RC1 at Dyalog ’20). As Chief Architect at Dyalog Ltd, John has been working on the implementation of array notation within the Dyalog interpreter and IDE, and offers a sneak peek at array notation features that will be in version 20.0 – and some that are probably too adventurous to make it this time.

Veli-Matti Jantunen inherited reasponsibility for PxEdit when the original author decided to join FinnAir as a pilot. (Kimmo Linna is now an Airbus 350 Captain but still finds time to contribute tools to the Dyalog community – for example, RSConnect). In PxEdit to GitHub – Refurbishing a Seasoned APL Application to Open Source, Veli-Matti explains that PxEdit was originally a temporary hack for handling larger-than-usual tables at Statistics Finland, but it grew in popularity as Veli-Matti added functionality that users needed (like Unicode support). To cater to users in developing countries, Veli-Matti avoided using system features that would require the newest versions of operating systems, doing a lot of work in “raw APL” instead. 25 years later, PxEdit is used by 115 organisations in 45 different countries. Veli-Matti’s next task is to make it open source on GitHub, in the hope that a new person will pick it up so that he can retire!

The next retrospective presentation is Charles Brenner’s Some APL Pioneers that I Knew. If you are interested in the history of programming languages and the personalities behind languages like APL, this highly entertaining talk is a treat. On his way, Charles met, or worked with, Larry Breed, Kenneth Iverson, Eugene McDonnell, Adin Falkoff, Garth Foster, Curtis Jones, and Paul Berry – to name a few. Charles’ sense of humour is extra dry, so listen carefully to pick up several jokes that the audience did not get quickly enough to laugh during the presentation…

Geoff Streeter worked on Dyalog APL from the day it was conceived in 1981 until he retired 18 months ago. Key Technical Decisions During the Development of Dyalog APL is a walk through the history of the implementation and critical decisions made, starting with: Should we use C or Assembly Language? Target UNIX? Build a 1st generation (flat) or 2nd generation (nested) interpreter? Should it include productivity tools like ⎕FMT, and if so from which pre-existing APL interpreters? In his own words, expect some nostalgia, some repentance, some triumphalism, and some serendipity. Thankfully, many of those early decisions turned out to be excellent. None of us would have been in Glasgow in September 2024, more than four decades after the release of Dyalog version 1.0, if it had not been for Geoff!

Finally, Stephen Taylor wraps up the historical theme as the host of two panel discussions. In Let’s Put the Future Behind Us, we hear from the team who nursed the company and the product from a very shaky birth, where the company was reconstructed more than once – Pete Donnelly explains how he mortgaged his own house because he believed in the future of the product! Geoff Streeter worked without pay at times, but explains that he was not concerned as he abdicated worrying to management. Andy Shiers remembers how the sales of IBM hardware to British Airways helped pay for continued work on APL. Just past the halfway point in Dyalog Ltd’s current history (this is hard for me to fathom), Pete handed the baton to Gitte Christensen, who tells the story of how she fell in love with APL and “came home” in 2005 to take over the helm of a language vendor after starting her career at one of the original APL vendors, I. P. Sharp Associates (IPSA).

However, we cannot end a Dyalog user meeting looking back! In The New Breed Plugs In, Stephen asks Martina Crippa, Josh David, Sandra Persson, and Gilgamesh Athoraya how they found APL (or how APL found them, as some of them put it). What attracted them to APL? Beauty, having fun, and creativity seem to be important components of many explanations, but I should not say more – listen to the stories!

——————————————

This week’s videos:

Materials for all presentations can be downloaded from the Dyalog ’24 webpage.

Welcome Neil Kirsopp

Neil studied Artificial Intelligence at the University of Edinburgh in the 2000s. At the time this was not a popular option; to the best of his recollection, only three universities in the UK offered degrees in the subject!

He found his way to APL due to a fascination with programming languages – not so much programming language development, but more the affordances that different languages provide and reasons why you’d choose one over another in various circumstances. His interest in APL remained for many years after his initial discovery of the language, nurtured by watching presentations and reading articles. Eventually, he found himself talking for two hours about APL with experienced APLer Kai Jaeger, who is a family friend. Neil subsequently tried solving some problems in APL, and the two struck up an email conversation. One day Kai sent Neil an email asking whether he knew JavaScript as Dyalog Ltd were recruiting for a JavaScript toolsmith – Neil did, and was interested in working for an APL company so that he could continue to feed his APL curiosity.

Although Neil is now mostly writing JavaScript to enable APL developers – he’s currently concentrating on eWC, but plans to also evolve Ride and other projects –  he’s also excited to be a member of the Tools Group with the potential to further enhance his APL skills.

Neil grew up in the UK, but he lives in his family’s hometown in Franconia (northern Bavaria). He decided to move to the Bavarian mountains almost exactly at the time that the Covid lockdown started, but managed to enjoy the snow anyway.

Outside APL, Neil considers his most surprising hobbies to be crochet and lock-picking. On one of his regular trips from Germany to the UK, he was taken to the side by border control for the dangerous crochet hooks he was carrying; eventually they let him through whilst congratulating him on his current project! He has not yet dared to travel with lockpicks…

Just to be different, Neil has a parrot called Pauli (pow-lee). This is a convenient conversation starter, if needed.

Dyalog ’24 Videos: Week 5 – Best Practices

Most of the recordings that we are releasing in week 5 concern “best practices” for the use of APL in large or complex systems. Many of these are mentioned in the invited keynote Dyalog APL in the Biggest Data Centres at the Heart of the Investment Management Industry by Oliver Lanz from the product development team at SimCorp, one of the biggest users of Dyalog.

In his talk, Oliver gives an overview of the architecture of Simcorp Dimension, which is the backbone of more than 50% of the top investment management firms worldwide; it manages over €35 trillion combined. Oliver explains the position that Dyalog has within their architecture, and how shared code files, the .NET bridge, multi-threading, and Simcorp’s homemade type checking system, all contribute to making the system secure and efficient. He introduces many of the topics discussed in the other talks released this week, and explains why it is important to Simcorp that Dyalog Ltd and the APL community develop and use such tools.

One of the points raised by Oliver Lanz in his talk is that developers are increasingly required to use automated tools to measure code quality, and document this to auditors. As applications are exposed to the outside world over the internet, an important goal of automated analysis is to detect and prevent vulnerabilities that would allow attackers to access or modify data without permission. In his talk Static Analysis of APL in APL, Brandon Wilson describes the work that he is doing with Aaron Hsu to teach the co-dfns parser about traditional functions so that it can parse existing APL application code and enable static analysis of APL code. Aaron follows up his compiler and parser status in Co-dfns Roadmap and Updates.

As APL applications become part of elaborate architectures where APL code provides and/or makes use of other services, another requirement that is emerging is the provision of telemetry to support the monitoring. This can be used to track performance over time and – when things go wrong – troubleshoot system failures that involve calls between multiple components, potentially implemented using different technologies. In their presentation on Telemetry and Protobuf, Gilgamesh Athoraya presents how OpenTelemetry can be used from Dyalog and demonstrates a sample application that emits telemetry data. Telemetry data can, optionally, be emitted using Protobuf (Protocol Buffers), a mechanism for serialising structured data. Sandra Persson joined him to present an APL implementation of Protobuf and a plugin that generates APL code from schema files.

Kai Jaeger is the most prolific tool builder in the Dyalog community. He is the author of many useful tools, both for use at runtime and during development. He has contributed the vast majority of the packages available on the Tatin package manager (which is also his work). In Developing in Dyalog with Modern Tools, Kai takes us through “a day in the life of an APL developer”, demonstrating the most important tools that he uses on a daily basis, to make development both easier and safer. Amongst other things, Kai demonstrates Git, GitHub, Cider, Tatin, Snippets, CommTools, FiRe, APLGit2, Testing (with code cverage), and CodeBrowser for code review.

I must admit that Brandon Wilson’s Data Parallel Proof Verification was not something I thought that I would fully appreciate, as my understanding of proofs and how to use them is extremely limited. However, I was still intrigued by the insight (obvious once Brandon has pointed it out) that proofs are tree structures, with a top-level proof being constructed from several smaller proofs. Brandon has been experimenting with using co-dfns/Hsu-style tree wrangling to validate proofs in parallel, and the results are very promising. As mathematicians move in the direction of software systems to make proofs more reliable, it matters a lot whether your new proof can be verified in a split second or it takes hours or even days. Although there are few current APLers who need a proof verification system, this could help make APL more visible to communities who are currently unaware of it.

——————————————

This week’s videos:

Materials for all presentations can be downloaded from the Dyalog ’24 webpage.