Adám Brudzewsky: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
m (Text replacement - "langauge" to "language")
 
(19 intermediate revisions by one other user not shown)
Line 3: Line 3:


== History ==
== 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<ref>[[Dyalog Ltd.]] DYALOGue  Newsletter. [http://www.dyalog.com/dyalogue-newsletters.htm?nl=26&a=150 "May we introduce Adám Brudzewsky – the newest member of the Dyalog Tools Group"]. Summer 2016.</ref>, and worked closely with [[Dan Baronet]]<ref>Brudzewsky, Adám. Tribute in [http://danielbaronet.rip/ Daniel Baronet 1956 – 2016].</ref>. Brudzewsky quickly had an impact on the langauge, suggesting the [[Nest]] (<source lang=apl inline>⊆</source>), or Enclose if Simple, primitive<ref>[[John Scholes|Scholes, John]]. [https://dfns.dyalog.com/n_eis.htm n_eis] from the [[dfns workspace]].</ref> and later working to design Dyalog's [[array notation]].
Brudzewsky was taught APL by his father, Henri Brudzewsky, who, in the words of then Dyalog CEO [[Gitte Christensen]], "was a really good APLer".<ref>Christensen, Gitte. [https://www.youtube.com/watch?v=pL8OQIR5cB4&t=186s Welcome to Dyalog'15], [[Dyalog '15]]. 2015-09-07.</ref> As a student, Brudzewsky preferred APL to mathematical notation. He was hired by [[Dyalog Ltd.]] in May 2015<ref>[[Dyalog Ltd.]] DYALOGue  Newsletter. [http://www.dyalog.com/dyalogue-newsletters.htm?nl=26&a=150 "May we introduce Adám Brudzewsky – the newest member of the Dyalog Tools Group"]. Summer 2016.</ref>, and worked closely with [[Dan Baronet]]<ref>Brudzewsky, Adám. Tribute in [http://danielbaronet.rip/ Daniel Baronet 1956 – 2016].</ref>. Brudzewsky quickly had an impact on the language, suggesting the [[Nest]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>), or Enclose if Simple, primitive<ref>[[John Scholes|Scholes, John]]. [https://dfns.dyalog.com/n_eis.htm n_eis] from the [[dfns workspace]].</ref> and later working to design Dyalog's [[array notation]].
[[File:Adam speaking.jpg|thumb|left|Speaking at an internal Dyalog meeting.]]
In 2018, Brudzewsky created [[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]] (<syntaxhighlight lang=apl inline>⍤</syntaxhighlight>) and [[Over]] (<syntaxhighlight lang=apl inline>⍥</syntaxhighlight>) 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]] (<syntaxhighlight lang=apl inline>⍮</syntaxhighlight>), [[Select]] (<syntaxhighlight lang=apl inline>⊇</syntaxhighlight>), and [[Reverse Compose]] (<syntaxhighlight lang=apl inline>⍛</syntaxhighlight>).


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]] (<source lang=apl inline></source>) and [[Over]] (<source lang=apl inline>⍥</source>) 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]] (<source lang=apl inline>⍮</source>), [[Select]] (<source lang=apl inline>⊇</source>), and [[Reverse Compose]] (<source lang=apl inline>⍛</source>).
[[Dyalog APL 18.0]] made it impossible for Extended Dyalog to maintain [[backwards compatibility]] due to extending monadic <syntaxhighlight lang=apl inline></syntaxhighlight> to be [[Unique Mask]] rather than its proposed comparison with the [[type]] for all [[comparison function]]s. Therefore, Brudewsky retired Extended Dyalog in favour of his new [[Dyalog APL Vision]], changing some proposals. Notable are the [[system function]]s for creating, updating, and unpacking [[namespace]]s, because this part is being actively considered for inclusion in Dyalog APL.


== Activities ==
== 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<ref>[[Dyalog Ltd.]] [[Blog]]. [https://www.dyalog.com/blog/2016/10/winning-the-apl-programming-contest-bioinformatics-category/ "Winning the APL Programming Contest – Bioinformatics Category"]. October 11, 2016.</ref>, Will Robertson, as well as employees Nathan Rogers<ref>Dyalog Ltd. Blog. [https://www.dyalog.com/blog/2019/08/welcome-nathan-rogers/ "Welcome Nathan Rogers"]. August 13, 2019.</ref>, Rodrigo Girão Serrão (who started as an intern)<ref>Dyalog Ltd. Blog. [https://www.dyalog.com/blog/2021/03/welcome-rodrigo-girao-serrao/ "Welcome Rodrigo Girão Serrão"]. March 9, 2021.</ref>, and Karta Kooner<ref>Dyalog Ltd. Blog. [https://www.dyalog.com/blog/2021/08/welcome-karta-kooner/ "Welcome Karta Kooner"]. August 23, 2021.</ref>.
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<ref>[[Dyalog Ltd.]] [[Blog]]. [https://www.dyalog.com/blog/2016/10/winning-the-apl-programming-contest-bioinformatics-category/ "Winning the APL Programming Contest – Bioinformatics Category"]. October 11, 2016.</ref>, Will Robertson, and Kamila Szewczyk, as well as employees Nathan Rogers<ref>Dyalog Ltd. Blog. [https://www.dyalog.com/blog/2019/08/welcome-nathan-rogers/ "Welcome Nathan Rogers"]. August 13, 2019.</ref>, Rodrigo Girão Serrão (who started as an intern)<ref>Dyalog Ltd. Blog. [https://www.dyalog.com/blog/2021/03/welcome-rodrigo-girao-serrao/ "Welcome Rodrigo Girão Serrão"]. March 9, 2021.</ref>, and Karta Kooner<ref>Dyalog Ltd. Blog. [https://www.dyalog.com/blog/2021/08/welcome-karta-kooner/ "Welcome Karta Kooner"]. August 23, 2021.</ref>.


Brudzewsky frequents [[BAA sessions]] and often presents at [[Dyalog webinar]]s, [[Dyalog user meeting|user meetings]], and [[:Category:user groups|user group]] meetings, where he usually leads at least one workshop, in addition to leading corporate workshops and presenting APL at schools and other venues. He occasionally broadcasts live programming sessions on [[wikipedia:Twitch|Twitch]], later to publish them on [[wikipedia:YouTube|YouTube]] together with his other APL videos. He ran the [[APL Cultivation]]s from 2017 to 2020, began as a recurring panellist on the [[Array Cast]] podcast and started the [[APL Campfire]] meetup in 2021, and launched the [[APL Quest]] chat and video series in 2022, with the goal of completing 100 consecutive weekly episodes.
Brudzewsky frequents [[BAA sessions]] and often presents at [[Dyalog webinar]]s, [[Dyalog user meeting|user meetings]], and [[:Category:user groups|user group]] meetings, where he usually leads at least one workshop, in addition to leading corporate workshops and presenting APL at schools and other venues. He occasionally broadcasts live programming sessions on [[wikipedia:Twitch|Twitch]], later to publish them on [[wikipedia:YouTube|YouTube]] together with his other APL videos. He ran the [[APL Cultivation]]s from 2017 to 2020, began as a recurring panellist on the [[Array Cast]] podcast and started the [[APL Campfire]] meetup in 2021. In 2022, he launched the [[APL Quest]] chat and video series in 2022 and the APL Notation As A Tool Of Thought podcast, later renamed to the [[APL Show]].<ref>[https://abrudz.github.io/aplnaatot/ APLNAATOT podcast]</ref>


== Publications ==
== Publications ==
Line 37: Line 39:
*  Dyalog '19  U14: [https://dyalog.tv/Dyalog19/?v=r3owA7tfKE8 APLcart: A Novel Approach to Finding Your Way in APL] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/U14_APLcart.zip slides (zip file)])
*  Dyalog '19  U14: [https://dyalog.tv/Dyalog19/?v=r3owA7tfKE8 APLcart: A Novel Approach to Finding Your Way in APL] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/U14_APLcart.zip slides (zip file)])
* [[Dyalog '20]] D09: [https://dyalog.tv/Dyalog20/?v=5drncJiWOM4 Array Notation RC1] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D09_Array_Notation_RC1.pdf slides])
* [[Dyalog '20]] D09: [https://dyalog.tv/Dyalog20/?v=5drncJiWOM4 Array Notation RC1] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D09_Array_Notation_RC1.pdf slides])
* [[Dyalog '21]] D06: Highlights of Dyalog v18.2 ([https://www.dyalog.com/uploads/conference/dyalog21/presentations/D06_Highlights_of_Dyalog_v18.2.pdf slides])
* [[Dyalog '21]] D06: [https://dyalog.tv/Dyalog21/?v=etEhV2ZDuyA Highlights of Dyalog v18.2] ([https://www.dyalog.com/uploads/conference/dyalog21/presentations/D06_Highlights_of_Dyalog_v18.2.pdf slides])
* [[Dyalog '22]] D15: [https://dyalog.tv/Dyalog22/?v=itGiA56NSl8 Filling the Core Language Gaps] ([https://www.dyalog.com/uploads/conference/dyalog22/presentations/D15_Filling_the_Core_Language_Gaps.pdf slides])
* [[Dyalog '23]] D04: [https://dyalog.tv/Dyalog23/?v=eya2FlHinHE Setting and Getting Variable Values] ([https://www.dyalog.com/uploads/conference/dyalog23/materials/D04_SettingAndGettingVariableValues.pdf slides])
* [[Dyalog '23]] D13: [https://dyalog.tv/Dyalog23/?v=BXUpQUS9pQE Giving Key a Vocabulary] ([https://www.dyalog.com/uploads/conference/dyalog23/materials/D13_GivingKeyAVocabulary.pdf slides])
</div>
</div>


=== Dyalog webinars ===
=== Dyalog webinars ===
{{Main|Dyalog webinar}}
{{Main|Dyalog webinar}}
<div style="column-width:30em">
* [https://dyalog.tv/Webinar/?v=3FjYly2G_QI APL CodeGolf Autumn Tournament]
* [https://dyalog.tv/Webinar/?v=3FjYly2G_QI APL CodeGolf Autumn Tournament]
* [https://dyalog.tv/Webinar/?v=8zcUYjdEPG0 Namespace-Directory Synchronisation] (with [[Morten Kromberg]] )
* [https://dyalog.tv/Webinar/?v=8zcUYjdEPG0 Namespace-Directory Synchronisation] (with [[Morten Kromberg]])
* [https://dyalog.tv/Webinar/?v=8cbPLRAcC7M Total Array Ordering] (with [[Jay Foad]])
* [https://dyalog.tv/Webinar/?v=8cbPLRAcC7M Total Array Ordering] (with [[Jay Foad]])
* [https://dyalog.tv/Webinar/?v=LWJzRGrOC3k Creating and managing your own User Commands]
* [https://dyalog.tv/Webinar/?v=LWJzRGrOC3k Creating and managing your own User Commands]
* [https://dyalog.tv/Webinar/?v=P7rGW5ZMq9w Jupyter Notebook support for Dyalog APL]
* [https://dyalog.tv/Webinar/?v=P7rGW5ZMq9w Jupyter Notebook support for Dyalog APL]
* [https://dyalog.tv/Webinar/?v=6SAsgEvUmkU Progressive set functions]
* [https://dyalog.tv/Webinar/?v=6SAsgEvUmkU Progressive set functions]
* Language Features of Dyalog version 18.0 in Depth: [https://dyalog.tv/Webinar/?v=Hln3zryunsw Part 1], [https://dyalog.tv/Webinar/?v=9sSFdQcu2dU Part 2], [https://dyalog.tv/Webinar/?v=OA-a04-mJ04 Part 3], [https://dyalog.tv/Webinar/?v=Me5hhP07ySw Part 4], [https://dyalog.tv/Webinar/?v=HU8jebyXKqc Part 5]
* [https://www.youtube.com/playlist?list=PLA9gQgjzcpKGD4HTiKjA3fe9NStmPMf1Q Language Features of Dyalog version 18.0 in Depth] (5 parts)
* Error Handling: [https://dyalog.tv/Webinar/?v=tDK0AKXXRAk Part 1], [https://dyalog.tv/Webinar/?v=PSrXyk5tN6o Part 2], [https://dyalog.tv/Webinar/?v=jkD-iQfjo_Q Part 3], [https://dyalog.tv/Webinar/?v=G7Ht8iKvDMo Part 4], [https://dyalog.tv/Webinar/?v=WP6R7VRmHfc Part 5]
* [https://www.youtube.com/playlist?list=PLA9gQgjzcpKHi3OtHPTq7Z2LTzG6ZwMY7 Error Handling] (5 parts)
* [https://dyalog.tv/Webinar/?v=kufxBzDfB4Y Computing Check Digits – Fast]
* [https://dyalog.tv/Webinar/?v=kufxBzDfB4Y Computing Check Digits – Fast]
* [https://dyalog.tv/Webinar/?v=jBxQZemmA1w User-Defined Operators]
</div>


=== Array Cast episodes ===
=== Array Cast episodes ===
Line 74: Line 82:
* [https://www.arraycast.com/episodes/episode29-transpose Transpose]
* [https://www.arraycast.com/episodes/episode29-transpose Transpose]
* [https://www.arraycast.com/episodes/episode30-our-first-year Looking Back at Our First Year]
* [https://www.arraycast.com/episodes/episode30-our-first-year Looking Back at Our First Year]
* [https://www.arraycast.com/episodes/episode31-jeremy-howard Jeremy Howard - Data Scientist]
* [https://www.arraycast.com/episodes/episode32-control-structures Control Structures in the Array Languages]
* [https://www.arraycast.com/episodes/episode35-lib-gibson Lib Gibson - IP Sharp’s ‘Zookeeper’]
* [https://www.arraycast.com/episodes/episode36-what-makes-an-array-language What Makes a Language an Array Programming Language?]
* [https://www.arraycast.com/episodes/episode39-iverson-or-array-language Iversonian language or Array language?]
* [https://www.arraycast.com/episodes/episode40-michal-wallace Michal Wallace, k programmer and J video producer]
* [https://www.arraycast.com/episodes/episode41-john-earnest John Earnest and Versions of k]
</div>
</div>


Line 80: Line 95:
* [[BAA Webinar]]: [https://www.youtube.com/watch?v=6qygPslrXnM Meet the new APL Wiki], ''aplcart.info turns 1''
* [[BAA Webinar]]: [https://www.youtube.com/watch?v=6qygPslrXnM Meet the new APL Wiki], ''aplcart.info turns 1''
* [[APL Germany]]: [http://apl-germany.de/wp-content/uploads/2020/11/Brudzewski20201124ArrayNotationRC1.pdf Array Notation RC1]
* [[APL Germany]]: [http://apl-germany.de/wp-content/uploads/2020/11/Brudzewski20201124ArrayNotationRC1.pdf Array Notation RC1]
* Informational videos: [https://www.youtube.com/watch?v=AHoiROI15BA Parsing content from text files using Dyalog APL's <source lang=apl inline>⎕CSV</source>] ([https://github.com/abrudz/parsing companion code repository])
* Informational videos: [https://www.youtube.com/watch?v=AHoiROI15BA Parsing content from text files using Dyalog APL's <syntaxhighlight lang=apl inline>⎕CSV</syntaxhighlight>] ([https://github.com/abrudz/parsing companion code repository])
* [[FinnAPL]]: [https://www.dyalog.com/uploads/files/presentations/FinnAPL_APLAN_and_Vision.pdf Array Notation and Language Vision]


== External links ==
== External links ==
* Video channels: [https://www.youtube.com/user/abrudz YouTube], [https://www.twitch.tv/adambrudz/ Twitch]
* Video channels: [https://www.youtube.com/user/abrudz YouTube], [https://www.twitch.tv/adambrudz/ Twitch]
* Social media profiles: [https://www.linkedin.com/in/adám-brudzewsky-0322b373 LinkedIn], [https://twitter.com/a_brudz Twitter]
* Social media profiles: [https://www.linkedin.com/in/adám-brudzewsky-0322b373 LinkedIn], [https://twitter.com/a_brudz Twitter], [https://vmst.io/@abrudz Mastodon], [https://stackexchange.com/users/3114363/ad%C3%A1m Stack Exchange], [https://discord.com/users/651823008347979793 Discord]
* GitHub: [https://github.com/abrudz/ Profile], [https://abrudz.github.io Pages]
* GitHub: [https://github.com/abrudz/ Profile], [https://abrudz.github.io Pages]
== References ==
== References ==


<references />
<references />
{{APL community}}{{DEFAULTSORT:Brudzewsky}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]]
{{APL community}}{{DEFAULTSORT:Brudzewsky}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]]

Latest revision as of 22:10, 26 August 2024

During APL86 at age 1

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, who, in the words of then Dyalog CEO Gitte Christensen, "was a really good APLer".[1] As a student, Brudzewsky preferred APL to mathematical notation. He was hired by Dyalog Ltd. in May 2015[2], and worked closely with Dan Baronet[3]. Brudzewsky quickly had an impact on the language, suggesting the Nest (), or Enclose if Simple, primitive[4] and later working to design Dyalog's array notation.

Speaking at an internal Dyalog meeting.

In 2018, Brudzewsky created 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 ().

Dyalog APL 18.0 made it impossible for Extended Dyalog to maintain backwards compatibility due to extending monadic to be Unique Mask rather than its proposed comparison with the type for all comparison functions. Therefore, Brudewsky retired Extended Dyalog in favour of his new Dyalog APL Vision, changing some proposals. Notable are the system functions for creating, updating, and unpacking namespaces, because this part is being actively considered for inclusion in Dyalog APL.

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[5], Will Robertson, and Kamila Szewczyk, as well as employees Nathan Rogers[6], Rodrigo Girão Serrão (who started as an intern)[7], and Karta Kooner[8].

Brudzewsky frequents BAA sessions and often presents at Dyalog webinars, user meetings, and user group meetings, where he usually leads at least one workshop, in addition to leading corporate workshops and presenting APL at schools and other venues. He occasionally broadcasts live programming sessions on Twitch, later to publish them on YouTube together with his other APL videos. He ran the APL Cultivations from 2017 to 2020, began as a recurring panellist on the Array Cast podcast and started the APL Campfire meetup in 2021. In 2022, he launched the APL Quest chat and video series in 2022 and the APL Notation As A Tool Of Thought podcast, later renamed to the APL Show.[9]

Publications

Dyalog user meetings

Main article: Dyalog user meeting

Dyalog webinars

Main article: Dyalog webinar

Array Cast episodes

Main article: Array Cast

Other talks

External links

References

  1. Christensen, Gitte. Welcome to Dyalog'15, Dyalog '15. 2015-09-07.
  2. Dyalog Ltd. DYALOGue Newsletter. "May we introduce Adám Brudzewsky – the newest member of the Dyalog Tools Group". Summer 2016.
  3. Brudzewsky, Adám. Tribute in Daniel Baronet 1956 – 2016.
  4. Scholes, John. n_eis from the dfns workspace.
  5. Dyalog Ltd. Blog. "Winning the APL Programming Contest – Bioinformatics Category". October 11, 2016.
  6. Dyalog Ltd. Blog. "Welcome Nathan Rogers". August 13, 2019.
  7. Dyalog Ltd. Blog. "Welcome Rodrigo Girão Serrão". March 9, 2021.
  8. Dyalog Ltd. Blog. "Welcome Karta Kooner". August 23, 2021.
  9. APLNAATOT podcast
APL community [edit]
Activities ConferencesUser groups and meetupsIverson AwardExercises
Chat rooms and forums APL FarmAPL OrchardAPL Wiki
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisRaghu RanganathanHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterJoey TuttleArthur Whitney
Other APL TrustAPL Quote QuadBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels