Adám Brudzewsky

Adám Gall Brudzewsky is a lifelong APL programmer, founder of the APL Orchard, and the creator of Extended Dyalog APL and APLcart. An employee of Dyalog Ltd., Brudzewsky has made several contributions to the Dyalog APL language in addition to his work on components of the interpreter written in APL such as user commands.

History
Brudzewsky was taught APL by his father, Henri Brudzewsky, and preferred it to mathematical notation as a student. He was hired by Dyalog Ltd. in May 2015, and worked closely with Dan Baronet. Brudzewsky quickly had an impact on the langauge, suggesting the Nest, or Enclose if Simple, primitive and later working to design Dyalog's array notation.

Since creating it in 2018, Brudzewsky maintains Extended Dyalog APL, a cover over Dyalog APL which uses APL models to extend existing primitives and implement new ones. The extensions include both functionality taken from other APLs and new functionality, and are sometimes adopted by Dyalog or dzaima/APL. The Constant operator appeared first in Extended Dyalog, as did the versions of Atop and Over  later implemented by Dyalog (Brudzewsky's changes relative to Sharp APL were to exchange the glyphs, and remove the concept of close composition). dzaima/APL has adopted Extended Dyalog's Pair, Select , and Reverse Compose.

Activities
Brudzewsky is active Stack Exchange's Code golf site (as Adám), where he started the APL Orchard chat room in 2017, and where he often invites and welcomes newcomers, as well assisting existing users with technical and programming help. Through this, he was involved in Dyalog's hiring of interns Marinus Oosters, Will Robertson, as well as employees Nathan Rogers , Rodrigo Girão Serrão (who started as an intern) , and Karta Kooner.

Brudzewsky frequents BAA sessions and often presents at Dyalog webinars and user meetings, where he usually leads at least one workshop, in addition to leading corporate workshops and presenting APL at schools. He occasionally broadcasts live programming sessions on Twitch. In 2021, Brudzewsky began as a recurring panellist on the Array Cast podcast, and started the APL Campfire meetup.

Publications

 * "TAO Axioms" (with Jay Foad and Roger Hui).
 * APLcart, a searchable list of answers on "how-to" questions.
 * APL style guide to improve readability and maintainability.
 * Tips for using Dyalog APL.
 * Dyalog Blog: Enhanced Debugging with Function Keys
 * Dyalog Blog: Enhanced Debugging with Function Keys – Evaluate selection

Dyalog user meetings

 * Dyalog '15 D05: User Commands Update (with Dan Baronet)
 * Dyalog '15  D10: MiServer UI Controls (slides) (with Dan Baronet)
 * Dyalog '16 D04: Tools Group Update (with Brian Becker and Dan Baronet)
 * Dyalog '17 D11: Literal Notation for Arrays and Namespaces (slides)
 * Dyalog '17  D12: Try APL Online (slides) (with Brian Becker)
 * Dyalog '17  D16: User Command Developments (slides) (with Michael Baas)
 * Dyalog '18 D04: Array Notation Mk III (slides)
 * Dyalog '18  D12: Jupyter Notebooks (slides)
 * Dyalog '19 D05: Link (materials (zip file)) (with Morten Kromberg)
 * Dyalog '19  U14: APLcart: A Novel Approach to Finding Your Way in APL (slides (zip file))
 * Dyalog '20 D09: Array Notation RC1 (slides)
 * Dyalog '21 D06: Highlights of Dyalog v18.2 (slides)

Dyalog webinars

 * APL CodeGolf Autumn Tournament
 * Namespace-Directory Synchronisation (with Morten Kromberg )
 * Total Array Ordering (with Jay Foad)
 * Creating and managing your own User Commands
 * Jupyter Notebook support for Dyalog APL
 * Progressive set functions
 * Language Features of Dyalog version 18.0 in Depth: Part 1, Part 2, Part 3, Part 4, Part 5
 * Error Handling: Part 1, Part 2, Part 3, Part 4, Part 5

Array Cast episodes

 * Why We Like Array Languages
 * What Challenges Face the Array Languages?
 * What is an Array?
 * Henry Rich’s Deep Dive into J
 * Marshall Lochbaum and the BQN array language
 * Attila Vrabecz and the k group of programming languages
 * Tacit Programming
 * Eric Iverson Eric Iverson
 * Roger Hui (1953-2021)

Other talks

 * Live-programming: Load-on-Demand, Delayed status message, A new user command
 * BAA Webinar: Meet the new APL Wiki, aplcart.info turns 1
 * APL Germany: Array Notation RC1