https://aplwiki.com/api.php?action=feedcontributions&user=Fiona&feedformat=atomAPL Wiki - User contributions [en-gb]2024-03-29T06:24:47ZUser contributionsMediaWiki 1.38.2https://aplwiki.com/index.php?title=Talk:Jobs&diff=8567Talk:Jobs2022-05-21T10:17:27Z<p>Fiona: Removed role at Daylog Ltd as no longer available</p>
<hr />
<div>{{#css:[rel="discussion"],#ca-addsection a{visibility:hidden}[rel="discussion"]:before{visibility:visible;content:"Job listings";position:absolute}.mw-redirectedfrom{display:none}#ca-addsection a:before{visibility:visible;content:"Add item";position:absolute} }}{{DISPLAYTITLE:Job listings}}<br />
This page is open for declarations of ability to provide APL consultancy, availability for hire, and job openings.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Needed:%20%5Bshort%20description%20here%5D%20(added:%20{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}})}} Click here to add a new listing for an open job position.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Available:%20%5Bshort%20description%20here%5D%20(added:%20{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}})}} Click here to add a new listing advertising an available programmer.]'''<br />
<br />
Note that this page is not for communication about the listing, so make sure to include contact information. <br />
<br />
While this page is monitored and moderated, as per the [[APL_Wiki:general disclaimer|general disclaimer]]s, APL Wiki takes no responsibility for its content, nor is any listing here endorsed by APL Wiki, its contributors, or its sponsors.<br />
__TOC__<br />
<!-- == Careers at Dyalog Ltd. (added: 2021-03-04) ==<br />
<br />
[[Dyalog Ltd.|We]] do not currently have any open positions. However, if you think you might have the right skills for roles like the ones that we have most recently filled (described on [https://www.dyalog.com/careers.htm our careers page]), please forward your resume to [mailto:careers@dyalog.com careers@dyalog.com]. We may need to grow [https://www.dyalog.com/meet-team-dyalog.htm the team] again at short notice, and it would be good to know you are out there!<br />
--><br />
== Available: APL programmer with extensive experience (added: 2021-03-04) ==<br />
<br />
I have been interested in APL for 42 years, and have been a programmer for 35 years, using NARS2000 APL for the last decade and half or so.<br />
<br />
I'm in Baltimore, Maryland, USA, and I'm not really able to travel. Since our department imploded, I haven't been able to find a job in my field because the languages I know, no one hires for, and the ones they are looking for, I don't have job experience in. No one wants to take me on as entry level, because I have too much experience, so I have been working as a math tutor since the summer of '19. I do, however, know APL. For example, I solved 121 of the project Euler problems using it.<br />
<br />
Contact [https://www.linkedin.com/in/michael-turniansky-057604177/ me on LinkedIn] if you have an opening for me.<br />
<br />
== Needed: APL Developer with strong working knowledge of APL (added: 2021-03-08) ==<br />
<br />
The APL Developer works with a group of associates within the Technical Operations and Product Engineering teams who advise InvestCloud financial management clients on industry best practices related to trading proposal, reporting and workflow while also providing daily support for existing customized solutions. Under general supervision, our developers follow standard practices and procedures to analyze, modify, test and support application software systems. The ideal candidate is a self-starter, motivated and brings enthusiasm to his/her work with "can do" attitude to join our growing team. This role will expose you to a wide variety of technologies and you can expect to be helping to provide solutions to complex problems.<br />
<br />
[https://recruiting.ultipro.com/TEG1001TEGR/JobBoard/ad4204e8-c7f7-47f1-8177-c9f64730dccc/OpportunityDetail?opportunityId=4c42bc41-0d11-4a5f-a3d0-71e7934c9909 Details…]<br />
<br />
== Available: workshops in APL (added: 2021-04-03) ==<br />
<br />
Despite working for [[Dyalog Ltd.]] almost full-time, Rodrigo also organises and promotes academic workshops on subjects related to mathematics and programming. Some of those workshops are a great way of introducing people to APL. Feel free to take a look at [https://mathspp.com/education/workshops some past workshops Rodrigo has led] if you need inspiration or [https://mathspp.com/about#contacts contact him] if you would like Rodrigo to organise one of these workshops for you/a group you represent.<br />
<br />
== Needed: APL Developer (added: 2021-06-07) ==<br />
<br />
Hi,<br />
<br />
This is Vinny Sanchez from Genzeon Corporation.<br />
<br />
We are looking to fill a APL developer with one of our Direct clients. If you are interested, please share your updated resume ASAP.<br />
<br />
Job Title: APL developer<br />
Location: Remote/ Occasional travel to Philadelphia, PA for meetings<br />
Duration: 12–24 Months contract<br />
<br />
Job Description:<br />
Searching for an APL developer, mostly maintenance/support but some new coding for enhancements, etc.. <br />
<br />
The client runs an older COLI/BOLI system (SOLAR) that still pays out on policies bought during the 80’s and 90’s. COLI/BOLI is corporate/bank owned life insurance. Companies/banks/etc bought life insurance policies on their employees and customers as long-term investments. They don’t sell them anymore, but they must pay out on them until they all expire. The solar system manages all those policies and was written in APL. It scrapes the social security database every night to see if any policy holder names died the day before and then processes the policy payout. <br />
<br />
Regards,<br />
<br />
Vinny Sanchez | Sr Technical Recruiter <br />
Direct: 484-713-8976<br />
Email: Vinny.Sanchez@genzeon.com<br />
<br />
== Needed: Video editing volunteer (added: 2021-07-05) ==<br />
<br />
[[BAA]] needs help editing the recordings of [[BAA Webinar|their webinars]] so they may be published on YouTube. If you have even basic video editing skills and are interested in watching these recordings anyway, then this may well be a good task for you. '''Note that this is an unpaid volunteer job.'''<br />
<br />
Contact: [mailto:editor@britishaplassociation.org editor@britishaplassociation.org]<br />
<br />
== Needed: APL programmers in various locations (added: 2022-05-16) ==<br />
<br />
[[wikipedia:SimCorp|SimCorp]] needs several positions filled in various locations (current as of 2022-05-16 — [https://www.simcorp.com/en/search-results?q=apl%20job search current positions here]):<br />
{| class=wikitable<br />
! Title !! Location(s) !! Deadline<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/devops-engineer-r202817 DevOps Engineer] || Manila, PH; Warsaw, PL <br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/senior-software-engineer-quality-assurance-for-investment-operations-r202982 Senior Software Engineer (QA)] || Warsaw, PL || 2022-06-30 07:00 <br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/software-engineer-development-for-investment-operations-r202974 Software Engineer (devt)] || Warsaw, PL || 2022-06-30 07:00<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/software-engineer-for-collateral-management-r203077 Software Engineer for Collateral Management] || Warsaw, PL || 2022-05-22 07:00 <br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/software-engineer-c-ocamland-apl-r202453 Software Engineer, C#, OCaml and APL] || Warsaw, PL<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/senior-software-engineer-r201422 Senior Software Engineer] || Kyiv, UA<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/senior-software-engineer-r202395 Senior Software Engineer] || Kyiv, UA<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/business-oriented-software-engineer-r201805 Business oriented Software Engineer] || Kyiv, UA<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/senior-software-engineer-c--alternative-investments-frankfurt-r202812 (Senior) Software Engineer C#] || Frankfurt/Bad Homburg, DE<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/lead-software-engineer-r202882 Lead Software Engineer] || Copenhagen, DK (headquarters) || 2022-06-30 07:00<br />
|-<br />
| [https://www.simcorp.com/en/career/find-a-job/graduate-software-engineer--functional-programming-r202935 Graduate Software Engineer] || Copenhagen, DK (headquarters)<br />
|-<br />
|}<br />
<br />
== Needed: Senior Software Engineer (added: 2022-05-20) ==<br />
<br />
InvestCloud is looking for an APL-experienced Senior Software Engineer with additional skills in MSSQL/Oracle, Java, AIX, & Linux or Shell scripting.<br />
Leadership position.<br />
<br />
The Job Posting can be found [https://www.linkedin.com/jobs/view/3062740205/ here].</div>Fionahttps://aplwiki.com/index.php?title=John_Scholes%27_Conway%27s_Game_of_Life&diff=8263John Scholes' Conway's Game of Life2022-03-16T15:15:27Z<p>Fiona: Making link to recording more prominent</p>
<hr />
<div>[https://www.youtube.com/watch?v=a9xAKttWgP4 Watch John Scholes' Conway's Game of Life on YouTube]<br />
<br />
Perhaps the most famous APL video is [[John Scholes]] explaining his own implementation of [[Conway's Game of Life]] in [[Dyalog APL]].<ref>[[John Scholes|Scholes, John]]. [https://www.youtube.com/watch?v=a9xAKttWgP4 "Conway's Game of Life in APL"]. 2009-01-26.</ref> In the video, Scholes develops the following [[dfn]] one step at a time:<br />
<source lang=apl><br />
life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}<br />
</source><br />
<br />
Scholes also published notes<ref>[[John Scholes|Scholes, John]]. [http://dfns.dyalog.com/n_life.htm life] in the [[dfns workspace]].</ref> on the Game of Life, including alternate implementations, in his [[dfns workspace]]. The workspace includes a function which differs in a few small details.<br />
<source lang=apl><br />
Life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}<br />
</source><br />
<br />
In this page we will break down the function <source lang=apl inline>Life</source> to see how each part operates. If you're completely new to APL, you probably won't understand all of it right away—consider also reading some [[Simple examples]] or APL [[introductions]]. However, you should be able to follow the general ideas. Bear in mind that APL evaluates expressions from [[Evaluation order|right to left]] unless you use parentheses.<br />
<br />
The code here is written for [[Dyalog APL]]. It also works in [[ngn/apl]], and other [[Nested array theory|nested]] array languages allow similar implementations: see [[#Translations]].<br />
<br />
In 2021, Conor Hoekstra remade the video with additional explanations.<ref>Hoekstra, Conor. [https://www.youtube.com/watch?v=pMslgySQ8nc APL + Game of Life = ❤️] in the [https://www.youtube.com/channel/UC1kBxkk2bcG78YBX7LMl9pQ code_report YouTube channel]. 2021-04-25.</ref><br />
<br />
== The Glider ==<br />
<br />
One interesting pattern that occurs in Life is a [[wikipedia:Glider (Conway's Life)|Glider]]:<br />
<source lang=apl><br />
glider←3 3⍴1 1 1 1 0 0 0 1 0<br />
glider<br />
1 1 1<br />
1 0 0<br />
0 1 0<br />
</source><br />
<br />
To see how the Glider evolves over the generations, we need to give it some space to move around. The Game of Life takes place on an infinite two-dimensional grid, but that might be a bit large for our computer! Let's start the Glider off in the bottom right-hand corner of a 10 x 10 grid:<br />
<source lang=apl><br />
grid←¯10 ¯10↑glider<br />
grid<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 1 1 1<br />
0 0 0 0 0 0 0 1 0 0<br />
0 0 0 0 0 0 0 0 1 0<br />
</source><br />
<br />
After one generation the pattern becomes:<br />
<source lang=apl><br />
Life grid<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 1 0<br />
0 0 0 0 0 0 0 1 1 0<br />
0 0 0 0 0 0 0 1 0 1<br />
0 0 0 0 0 0 0 0 0 0<br />
</source><br />
<br />
The Glider has slightly changed shape and also moved up and to the left.<br />
<br />
=== Visualising it ===<br />
<br />
To make the pattern easier to see, we can use [[Bracket indexing|indexing]] to place a <source lang=apl inline>⌺</source> symbol where there's a cell and a <source lang=apl inline>·</source> otherwise, for example (note that <source lang=apl inline>⎕IO</source> is [[Index Origin]]):<br />
<source lang=apl><br />
Show←{'·⌺'[⎕IO+⍵]}<br />
Show grid<br />
··········<br />
··········<br />
··········<br />
··········<br />
··········<br />
··········<br />
··········<br />
·······⌺⌺⌺<br />
·······⌺··<br />
········⌺·<br />
</source><br />
<br />
Here's how the Glider evolves over the first ten generations, computed using the [[Power operator]] for iteration:<br />
<source lang=apl><br />
Show¨{Life⍣⍵⊢grid}¨0,⍳9<br />
┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐<br />
│··········│··········│··········│··········│··········│··········│··········│··········│··········│··········│<br />
│··········│··········│··········│··········│··········│··········│··········│··········│··········│··········│<br />
│··········│··········│··········│··········│··········│··········│··········│··········│··········│··········│<br />
│··········│··········│··········│··········│··········│··········│··········│··········│··········│··········│<br />
│··········│··········│··········│··········│··········│··········│··········│··········│··········│······⌺···│<br />
│··········│··········│··········│··········│··········│·······⌺··│······⌺⌺··│······⌺⌺··│·····⌺⌺⌺··│·····⌺⌺···│<br />
│··········│········⌺·│·······⌺⌺·│·······⌺⌺·│······⌺⌺⌺·│······⌺⌺··│······⌺·⌺·│·····⌺⌺···│·····⌺····│·····⌺·⌺··│<br />
│·······⌺⌺⌺│·······⌺⌺·│·······⌺·⌺│······⌺⌺··│······⌺···│······⌺·⌺·│······⌺···│·······⌺··│······⌺···│··········│<br />
│·······⌺··│·······⌺·⌺│·······⌺··│········⌺·│·······⌺··│··········│··········│··········│··········│··········│<br />
│········⌺·│··········│··········│··········│··········│··········│··········│··········│··········│··········│<br />
└──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘<br />
</source><br />
<br />
== How it works ==<br />
To compute a new generation in the Game of Life we first need to find out how many neighbours each live cell has. To keep things simple let's consider the following 5-by-5 grid:<br />
<br />
<source lang=apl><br />
currentGeneration←5 5⍴0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0<br />
currentGeneration<br />
0 0 0 0 0<br />
0 0 1 1 0<br />
0 1 1 0 0<br />
0 0 1 0 0<br />
0 0 0 0 0<br />
</source><br />
=== Rotation ===<br />
If we rotate each row of the grid one place left by using APL's [[Rotate]] function <source lang=apl inline>⌽</source>, each element is replaced by its right-hand neighbour. In other words, the new grid will have a 1 for all cells whose right-hand neighbour was 1:<br />
<br />
<source lang=apl><br />
1⌽currentGeneration<br />
0 0 0 0 0<br />
0 1 1 0 0<br />
1 1 0 0 0<br />
0 1 0 0 0<br />
0 0 0 0 0<br />
</source><br />
<br />
Similarly we can rotate right to find the left-hand neighbour by using <source lang=apl inline>¯1⌽currentGeneration</source>. By using APL's [[Outer Product]] operator <source lang=apl inline>∘.</source> together with the Rotate function we can get a set of three grids containing the left-hand neighbour, the original grid, and the right-hand neighbour:<br />
<br />
<source lang=apl><br />
¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┬─────────┬─────────┐<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
│0 0 0 1 1│0 0 1 1 0│0 1 1 0 0│<br />
│0 0 1 1 0│0 1 1 0 0│1 1 0 0 0│<br />
│0 0 0 1 0│0 0 1 0 0│0 1 0 0 0│<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
└─────────┴─────────┴─────────┘<br />
</source><br />
<br />
Here <source lang=apl inline>currentGeneration</source> must be [[enclose]]d before applying the outer product so that it is treated as a single [[element]] rather than rotating each of its Boolean elements (which would have no effect).<br />
<br />
=== Extending to two dimensions ===<br />
Now we can use a similar trick but rotate up and down by using APL's First Axis Rotate function <source lang=apl inline>⊖</source>. Used with an Outer Product this gives us a series of 9 grids:<br />
<br />
<source lang=apl><br />
¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┬─────────┬─────────┐<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
│0 0 0 1 1│0 0 1 1 0│0 1 1 0 0│<br />
│0 0 1 1 0│0 1 1 0 0│1 1 0 0 0│<br />
│0 0 0 1 0│0 0 1 0 0│0 1 0 0 0│<br />
├─────────┼─────────┼─────────┤<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
│0 0 0 1 1│0 0 1 1 0│0 1 1 0 0│<br />
│0 0 1 1 0│0 1 1 0 0│1 1 0 0 0│<br />
│0 0 0 1 0│0 0 1 0 0│0 1 0 0 0│<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
├─────────┼─────────┼─────────┤<br />
│0 0 0 1 1│0 0 1 1 0│0 1 1 0 0│<br />
│0 0 1 1 0│0 1 1 0 0│1 1 0 0 0│<br />
│0 0 0 1 0│0 0 1 0 0│0 1 0 0 0│<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
│0 0 0 0 0│0 0 0 0 0│0 0 0 0 0│<br />
└─────────┴─────────┴─────────┘<br />
</source><br />
<br />
The grid in the centre is our original grid, and the others give the neighbours above, below, left, right and diagonally.<br />
=== Summing it up ===<br />
Now we can find out how many neighbours each cell in the original grid has by summing ([[Plus]] [[Reduce]]) the corresponding elements in each of the 9 grids. We sum all the grids at once by [[ravel]]ling the [[shape]] <source lang=apl inline>3 3</source> [[matrix]] of grids to obtain a 9-element [[vector]]; otherwise [[Reduce]] would only allow us to sum rows or columns. Here APL's representation of [[Boolean]]s as numbers is advantageous, since otherwise counting the number of true values would require converting them to numbers or using conditional logic. For a live cell the sum is 1 more than the number of neighbours—for example, a 4 in the result means a cell has three neighbours. For a dead cell the result is just the number of neighbours:<br />
<br />
<source lang=apl><br />
+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┐<br />
│0 1 2 2 1│<br />
│1 3 4 3 1│<br />
│1 4 5 4 1│<br />
│1 3 3 2 0│<br />
│0 1 1 1 0│<br />
└─────────┘<br />
</source><br />
<br />
For a cell to exist in the next generation, one of two rules must be met:<br />
<br />
* Any live cell with two neighbours lives, unchanged, to the next generation<br />
* Any cell, live or dead, with exactly three neighbours is live in the next generation<br />
<br />
This means that all cells which might be live in the next generation will have a sum of 3 (from the first rule) or 3 or 4 (from the second rule).<br />
<br />
So we're interested in cells with a sum of 3 or 4. We can find these cells with a simple application of [[Equal to]], relying on [[pervasion]] and [[scalar extension]] to distribute the data properly. The result of the last step was a [[scalar]] containing one grid; when paired with the [[vector]] <source lang=apl inline>3 4</source> it is extended to give two grids. Within each grid 3 and 4 are compared with every element by scalar extension again. If the right argument were a flat array rather than being [[enclose]]d, we could obtain a similar, but flat, result using another [[Outer Product]].<br />
<br />
<source lang=apl><br />
3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┬─────────┐<br />
│0 0 0 0 0│0 0 0 0 0│<br />
│0 1 0 1 0│0 0 1 0 0│<br />
│0 0 0 0 0│0 1 0 1 0│<br />
│0 1 1 0 0│0 0 0 0 0│<br />
│0 0 0 0 0│0 0 0 0 0│<br />
└─────────┴─────────┘<br />
</source><br />
<br />
The next step is best understood by first considering the two scores 4 and 3 separately.<br />
<br />
(a) A score of 4 corresponds either to a live cell with three neighbours or a dead cell with four neighbours. Only in the former case do we get a cell in the next generation - i.e. we get a cell if the score is 4 ''and'' the cell is currently live. Here we're using APL's [[And]] function, <source lang=apl inline>∧</source><br />
<source lang=apl><br />
(⊂currentGeneration)∧4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┐<br />
│0 0 0 0 0│<br />
│0 0 1 0 0│<br />
│0 1 0 0 0│<br />
│0 0 0 0 0│<br />
│0 0 0 0 0│<br />
└─────────┘<br />
</source><br />
<br />
(b) A score of three corresponds either to a live cell with two neighbours or a dead cell with three neighbours. In either case we get a cell in the next generation:<br />
<source lang=apl><br />
3=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┐<br />
│0 0 0 0 0│<br />
│0 1 0 1 0│<br />
│0 0 0 0 0│<br />
│0 1 1 0 0│<br />
│0 0 0 0 0│<br />
└─────────┘<br />
</source><br />
<br />
We can write this slightly redundantly by ''and''-ing with 1 (meaning "''and'' the cell is alive or dead") for reasons which will become apparent shortly:<br />
<source lang=apl><br />
1∧3=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┐<br />
│0 0 0 0 0│<br />
│0 1 0 1 0│<br />
│0 0 0 0 0│<br />
│0 1 1 0 0│<br />
│0 0 0 0 0│<br />
└─────────┘<br />
</source><br />
<br />
So the next step is to say that a cell is live if either test (a) ''or'' test (b) is met. We need to use APL's [[Or]] function, <source lang=apl inline>∨</source>. We could write this rather long-windedly as:<br />
<source lang=apl><br />
(1∧3=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration)∨(⊂currentGeneration)∧4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┐<br />
│0 0 0 0 0│<br />
│0 1 1 1 0│<br />
│0 1 0 0 0│<br />
│0 1 1 0 0│<br />
│0 0 0 0 0│<br />
└─────────┘<br />
</source><br />
<br />
=== Refactoring ===<br />
But we can take advantage of APL's [[Inner Product]] operator to do the ''and'' operations of each test and then ''or'' the result - the <source lang=apl inline>∨.∧</source> in the following:<br />
<br />
<source lang=apl><br />
1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration<br />
┌─────────┐<br />
│0 0 0 0 0│<br />
│0 1 1 1 0│<br />
│0 1 0 0 0│<br />
│0 1 1 0 0│<br />
│0 0 0 0 0│<br />
└─────────┘<br />
</source><br />
<br />
The final expression ends with a bit of housekeeping using [[Mix]] (<source lang=apl inline>↑</source>) to turn the result back into a simple array (it's currently nested).<br />
<br />
== Translations ==<br />
<br />
=== GNU APL ===<br />
<br />
In [[GNU APL]] the [[Inner Product]] <source lang=apl inline>∨.∧</source> results in a twice-[[enclose]]d matrix, rather than once-enclosed as in [[Dyalog APL]]. This can be fixed either by [[mix]]ing twice, or by using a [[Reduce|reduction]] instead of an inner product.<br />
<source lang=apl><br />
Life←{↑↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}<br />
Life←{↑∨/1 ⍵∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}<br />
</source><br />
<br />
=== dzaima/APL ===<br />
<br />
In [[dzaima/APL]] the [[Reduce|reduction]] <source lang=apl inline>+/</source> [[mix]]es its result, which defeats our use of [[scalar extension]] causing a [[LENGTH ERROR]]. Because the sum has only one (matrix) result, enclosing it corrects this issue.<br />
<source lang=apl><br />
Life←{↑1 ⍵∨.∧3 4=⊂+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}<br />
</source><br />
The computation of our example <source lang=apl inline>grid</source> also fails, because dzaima's [[Take]] does not allow overtaking. Instead we can insert the glider into a matrix of zeros using [[structural Under]]:<br />
<source lang=apl><br />
grid ← ¯10 ¯10↑glider ⍝ DomainError<br />
grid ← glider⍢(¯3 ¯3∘↑) 10 10⍴0 ⍝ This works<br />
</source><br />
<br />
=== Ruby ===<br />
<br />
Github user zverok has translated Scholes' dfn to [[wikipedia:Ruby (programming language)|Ruby]] by first creating an <source lang=ruby inline>apl</source> module to implement parts of APL. The code is shown [https://github.com/zverok/ruby_as_apl on Github] and explained [https://zverok.github.io/blog/2020-05-16-ruby-as-apl.html on zverok's blog].<br />
<br />
== Performance ==<br />
<br />
Although it uses [[nested]] arrays to organize the computation, Scholes' Game of Life implementation can still be a fairly fast algorithm on medium and large matrices, competitive with straightforward C implementations. This is because the [[simple]] arrays stored in the outer nested array all have the same size as the argument. There are only nine of these arrays, so the overhead associated with nesting is constant and small. Until they are summed, these arrays are [[Boolean]], allowing them to be stored in a packed representation and [[rotate]]d quickly ([[Roger Hui]] states that the Game of Life motivated some improvements to Boolean functions in [[Dyalog APL 13.2|Dyalog 13.2]] and [[Dyalog APL 14.0|14.0]]<ref>[[Morten Kromberg]] and [[Roger Hui]]. D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] at [[Dyalog '13]] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance/perfscript1.htm#2 script]). 2013-10.</ref>). When adding them, recent versions of Dyalog APL use [[vector instructions]], enabling many numbers to be added at once.<br />
<br />
The following code times how long it takes to perform 1000 iterations of the Game of Life on a shape <source lang=apl inline>1000 1000</source> array. This computation performs a billion cell updates, so the total time in seconds is equal to the time taken per update in nanoseconds.<br />
<source lang=apl><br />
)copy dfns cmpx<br />
b←1=?1e3 1e3⍴2<br />
1 cmpx 'Life⍣1000 ⊢b'<br />
</source><br />
The timings below were taken with various versions of [[Dyalog APL]] on an Intel Kaby Lake i7. The largest change appears in 17.0, when [[Boolean]]-integer [[addition]] was implemented using vector instructions (on this processor, AVX2).<br />
{|class=wikitable<br />
! Version !! Time (s)<br />
|-<br />
| [[Dyalog APL 15.0|15.0]] || 14.0<br />
|-<br />
| [[Dyalog APL 16.0|16.0]] || 13.5<br />
|-<br />
| [[Dyalog APL 17.0|17.0]] || 1.32<br />
|-<br />
| [[Dyalog APL 17.1|17.1]] || 1.31<br />
|-<br />
| [[Dyalog APL 18.0|18.0]] (pre-release) || 0.75<br />
|}<br />
<br />
== References ==<br />
<references /><br />
[[Category:Examples]][[Category:Dyalog APL examples]]</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7645Talk:APL logo2021-11-23T10:29:55Z<p>Fiona: /* Cube apple comment by Fiona (talk) */</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted a slight variation of this for use as the APL Seeds logo (user meetings, events and information specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me – I prefer the shape of the (otherwise similar) 50 Years one further down the page.<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know (the same comment applies to the "Lamp Rho Downstile" and "APL matrix" logos).<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read unless you already know what it said, wouldn't render well when small, and wouldn't work in black-and-white.<br />
<br />
== General comment by MichaelBaas ==<br />
<br />
It would be useful if the icons were shown in the same size(s), perhaps 32x32 as a miniature version (favicon etc.) and 192 x 192, and maybe each on a black and on a white background - so 4 versions per icon.<br />
<br />
== Plain Ellipse comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
Very nice. Simple, clean, should be good at all sizes. Gets my vote!<br />
<br />
== Display matrix comment by [[User:DanHirschi|DanHirschi]] ([[User talk:DanHirschi|talk]]) ==<br />
<br />
I actually like this one. If placed in the matrix of other logos above, it would stand out a bit because of its simplicity (I think the white space actually helps). <br />
Possible changes (that might improve it):<br />
- make the letters and box a bit thicker<br />
- use the older font where the characters are more italicized<br />
- use the old underscored font<br />
- as mentioned, adjust the spacing between the letters<br />
<br />
== Plain Ellipse comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I agree with Paul's comment on the clarity and simplicity of this design but would suggest that it is not taken forward in this colour due to its similarity to an existing logo: APL Media's logo is a lower case "apl" in a red circle – https://twitter.com/apl_media – but perhaps a different single colour (green?) would introduce more differentiation.<br />
<br />
== APL Rotated Array comment by [[Adám Brudzewsky]] ==<br />
<br />
I quite like this one. It is simple and timeless.<br />
<br />
However, I will dispute that the [[APL Wiki logo]] is "the most established APL logo to date". It was in fact recently changed from its previous logo, as seen on [https://old.aplwiki.com old.aplwiki.com], which was shared with [https://aplteam.github.io/ APL Team].<br />
<br />
Furthermore, APL isn't a well-recognised language, and so I think it is important that the logo spells out "APL" such that people can at least go search for it.<br />
<br />
== APL Wiki comment by [[User:KSK|KSK]] ([[User talk:KSK|talk]]) ==<br />
<br />
The APL Wiki would be my preference, followed by the Display matrix (which would be nicer if it were boxed up without breaks and maybe slightly slanted), then the Cube Apple.</div>Fionahttps://aplwiki.com/index.php?title=Roger_Hui&diff=7502Roger Hui2021-10-28T10:21:03Z<p>Fiona: birth date added</p>
<hr />
<div>[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]<br />
'''Roger Kwok Wah Hui''' (December 29 1953 - October 16, 2021<ref name=death>[[Eric Iverson]]. [http://www.jsoftware.com/pipermail/programming/2021-October/059091.html Roger Hui - 1953 - 2021]. [[Jsoftware]] programming forum. 2021-10-17.</ref>) was a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]]. He ran and maintained the [[Jsoftware]] website.<br />
__TOC__<br />
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]<br />
== History ==<br />
Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" ([[Ken Iverson|Iverson]], 1976, 1980), and [[Adin Falkoff|Falkoff]] and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and [[A Dictionary of APL|A Dictionary of the APL Language]], as it was then named. In 1996, Hui received the [[Iverson Award]] for his work on the design, implementation, and commercial development of J.<br />
<br />
[[File:Screenshot 2021-10-18 at 02-07-15 Hacker News.png|thumb|right|Hacker News honouring Roger Hui with a black bar across the top banner.]]<br />
== Death ==<br />
Hui's death was announced by [[Eric Iverson]] on October 16, 2021.<ref name=death/> It was subsequently noted in various media, including [[wikipedia:Hacker News|Hacker News]] (which displayed a black banner in his honour),<ref>Hacker News. [https://news.ycombinator.com/item?id=28898045 Roger hui has died]. 2021-10-17.</ref> [[wikipedia:Reddit|Reddit]],<ref>Reddit. [https://www.reddit.com/r/apljk/comments/qa23td/roger_hui_1953_2021/?utm_source=share&utm_medium=web2x&context=3 Roger Hui (1953 - 2021)]. apljk subreddit. 17 Oct 2021.</ref> Jsoftwares's chat,<ref>Raul Miller. [https://www.jsoftware.com/pipermail/chat/2021-October/008937.html Roger Hui - 1953 - 2021]. Jsoftware chat forum. 2021-10-17.</ref>, and Dyalog news.<ref>Dyalog Ltd. [https://www.dyalog.com/news/148/420/Roger-Hui.htm Roger Hui]. Dyalog news. 2021-10-18.</ref><br />
<br />
== Publications ==<br />
<br />
=== APL conferences ===<br />
<div style="column-width:40em"><br />
* [[APL85]]: Design: a financial modelling system. With Fred Appleyard.<br />
* [[APL87]]: [https://www.jsoftware.com/papers/from.htm Some uses of { and }].<br />
* [[APL90]]: [https://www.jsoftware.com/papers/J1990.htm APL\?]. With [[Ken Iverson|Kenneth E. Iverson]], [[Eugene McDonnell|E. E. McDonnell]], and [[Arthur Whitney|Arthur T. Whitney]].<br />
* [[APL91]]: [https://www.snakeisland.com/gerunds.ps Gerunds and representations]. With [[Bob Bernecky|Robert Bernecky]].<br />
* [[APL91]]: [https://www.jsoftware.com/papers/TacitDefn.htm Tacit definition]. With [[Ken Iverson|Kenneth E. Iverson]] and [[Eugene McDonnell|Eugene E. McDonnell]].<br />
* [[APL94]]: TAGS: trains, agendas, and gerunds. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL95]]: [https://www.jsoftware.com/papers/rank.htm Rank and uniformity].<br />
* [[APL95]]: Representations of recursion. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL97]]: Mathematical roots of J. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL99]]: [https://www.jsoftware.com/papers/sparse.htm Sparse arrays in J].<br />
</div><br />
<br />
=== Dyalog user meetings ===<br />
<div style="column-width:40em"><br />
* [[Dyalog '08]] 05: [https://dyalog.tv/Dyalog08/?v=k8Wt5sDDzgI Performance Improvements in Dyalog: A Case Study] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/05_Hui_Performance materials])<br />
* [[Dyalog '09]] 15: Complex Numbers Implementation Stories ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/15_Hui_ComplexNumbers.ZIP materials])<br />
* Dyalog '09 26: [https://dyalog.tv/Dyalog09/?v=ui76NE5cMWo The Rank Operator] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/26_Hui_RankOperator.ZIP materials])<br />
* [[Dyalog '10]] P07: Hashing for Tolerant Index-Of ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P07_Hui_Hashing.htm materials])<br />
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[John Scholes]])<br />
* Dyalog '11 D05: [https://dyalog.tv/Dyalog11/?v=CkaQQYcxpfM Rational Numbers] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D05_rational_numbers materials])<br />
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[John Scholes]])<br />
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[John Scholes]])<br />
* Dyalog '12 D08: Dyalog APL Benchmarks and Performance Enhancements ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D08_Performance materials])<br />
* [[Dyalog '13]] D08: [https://dyalog.tv/Dyalog13/?v=J05FEbqDsZM Rank and Friends] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D08_Rank_and_Friends materials])<br />
* Dyalog '13 D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials]) (with [[Morten Kromberg]])<br />
* [[Dyalog '14]] D06: [https://dyalog.tv/Dyalog14/?v=7GDya-E3pxI The Tuning Pipeline] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D06_Tuning_Pipeline materials]) (with Kimmo Kekäläinen)<br />
* [[Dyalog '15]] D04: [https://dyalog.tv/Dyalog15/?v=AJzY4DgUVws Core Performance] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Foad.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Hui.zip materials_RH]) (with [[Jay Foad]])<br />
* Dyalog '15 D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[John Scholes]])<br />
* Dyalog '16 D08: [https://dyalog.tv/Dyalog16/?v=2AeONlTj1aY Performance: The Neverending Story] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_JF.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_RH.zip slides_RH]) (with [[Jay Foad]])<br />
* [[Dyalog '17]] D07: [https://dyalog.tv/Dyalog17/?v=69ncBGN3YiI Index-Of on Multiple Floats] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip materials])<br />
* Dyalog '17 D10: [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 Tolerant Unique] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials])<br />
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '18]] D14: [https://dyalog.tv/Dyalog18/?v=IOWDkqKbMwk Inverted Tables] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D14_Inverted_Tables.zip slides])<br />
* [[Dyalog '20]] D07: [https://dyalog.tv/Dyalog20/?v=GgXS0zpboAM Rational Arithmetic] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D07_Rational_Arithmetic.zip materials])<br />
</div><br />
=== Other talks ===<br />
* Functional Conf 2016: [https://www.youtube.com/watch?v=e0rywC7-i0U&list=PL9Z-JgiTsOYTdi91N_DlcpWqkCYvMrhA4&index=8 A Tour de Force of APL in 16 Expressions]<br />
* Functional Conf 2017: [https://www.youtube.com/watch?v=EJONZpNA81s Tests, Derivations, Proofs]<br />
* HOPL IV: [https://www.pldi21.org/prerecorded_hopl.2.html APL Since 1978] ([https://dl.acm.org/doi/pdf/10.1145/3386319 paper])<br />
<br />
== External links ==<br />
<br />
* [[wikipedia:Roger Hui|Roger Hui]]<br />
* [https://www.jsoftware.com/ Jsoftware website]<br />
* [https://dl.acm.org/profile/81100593990 ACM Digital Library]<br />
<br />
== References ==<br />
<references /><br />
{{APL community}}{{DEFAULTSORT:Hui}}[[Category:People]][[Category:Jsoftware employees]][[Category:Dyalog Ltd. employees]][[Category:I.P. Sharp Associates employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]</div>Fionahttps://aplwiki.com/index.php?title=Roger_Hui&diff=7501Roger Hui2021-10-28T10:05:44Z<p>Fiona: Added 2 more presentations</p>
<hr />
<div>[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]<br />
'''Roger Kwok Wah Hui''' (1953 - October 16, 2021<ref name=death>[[Eric Iverson]]. [http://www.jsoftware.com/pipermail/programming/2021-October/059091.html Roger Hui - 1953 - 2021]. [[Jsoftware]] programming forum. 2021-10-17.</ref>) was a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]]. He ran and maintained the [[Jsoftware]] website.<br />
__TOC__<br />
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]<br />
== History ==<br />
Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" ([[Ken Iverson|Iverson]], 1976, 1980), and [[Adin Falkoff|Falkoff]] and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and [[A Dictionary of APL|A Dictionary of the APL Language]], as it was then named. In 1996, Hui received the [[Iverson Award]] for his work on the design, implementation, and commercial development of J.<br />
<br />
[[File:Screenshot 2021-10-18 at 02-07-15 Hacker News.png|thumb|right|Hacker News honouring Roger Hui with a black bar across the top banner.]]<br />
== Death ==<br />
Hui's death was announced by [[Eric Iverson]] on October 16, 2021.<ref name=death/> It was subsequently noted in various media, including [[wikipedia:Hacker News|Hacker News]] (which displayed a black banner in his honour),<ref>Hacker News. [https://news.ycombinator.com/item?id=28898045 Roger hui has died]. 2021-10-17.</ref> [[wikipedia:Reddit|Reddit]],<ref>Reddit. [https://www.reddit.com/r/apljk/comments/qa23td/roger_hui_1953_2021/?utm_source=share&utm_medium=web2x&context=3 Roger Hui (1953 - 2021)]. apljk subreddit. 17 Oct 2021.</ref> Jsoftwares's chat,<ref>Raul Miller. [https://www.jsoftware.com/pipermail/chat/2021-October/008937.html Roger Hui - 1953 - 2021]. Jsoftware chat forum. 2021-10-17.</ref>, and Dyalog news.<ref>Dyalog Ltd. [https://www.dyalog.com/news/148/420/Roger-Hui.htm Roger Hui]. Dyalog news. 2021-10-18.</ref><br />
<br />
== Publications ==<br />
<br />
=== APL conferences ===<br />
<div style="column-width:40em"><br />
* [[APL85]]: Design: a financial modelling system. With Fred Appleyard.<br />
* [[APL87]]: [https://www.jsoftware.com/papers/from.htm Some uses of { and }].<br />
* [[APL90]]: [https://www.jsoftware.com/papers/J1990.htm APL\?]. With [[Ken Iverson|Kenneth E. Iverson]], [[Eugene McDonnell|E. E. McDonnell]], and [[Arthur Whitney|Arthur T. Whitney]].<br />
* [[APL91]]: [https://www.snakeisland.com/gerunds.ps Gerunds and representations]. With [[Bob Bernecky|Robert Bernecky]].<br />
* [[APL91]]: [https://www.jsoftware.com/papers/TacitDefn.htm Tacit definition]. With [[Ken Iverson|Kenneth E. Iverson]] and [[Eugene McDonnell|Eugene E. McDonnell]].<br />
* [[APL94]]: TAGS: trains, agendas, and gerunds. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL95]]: [https://www.jsoftware.com/papers/rank.htm Rank and uniformity].<br />
* [[APL95]]: Representations of recursion. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL97]]: Mathematical roots of J. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL99]]: [https://www.jsoftware.com/papers/sparse.htm Sparse arrays in J].<br />
</div><br />
<br />
=== Dyalog user meetings ===<br />
<div style="column-width:40em"><br />
* [[Dyalog '08]] 05: [https://dyalog.tv/Dyalog08/?v=k8Wt5sDDzgI Performance Improvements in Dyalog: A Case Study] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/05_Hui_Performance materials])<br />
* [[Dyalog '09]] 15: Complex Numbers Implementation Stories ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/15_Hui_ComplexNumbers.ZIP materials])<br />
* Dyalog '09 26: [https://dyalog.tv/Dyalog09/?v=ui76NE5cMWo The Rank Operator] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/26_Hui_RankOperator.ZIP materials])<br />
* [[Dyalog '10]] P07: Hashing for Tolerant Index-Of ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P07_Hui_Hashing.htm materials])<br />
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[John Scholes]])<br />
* Dyalog '11 D05: [https://dyalog.tv/Dyalog11/?v=CkaQQYcxpfM Rational Numbers] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D05_rational_numbers materials])<br />
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[John Scholes]])<br />
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[John Scholes]])<br />
* Dyalog '12 D08: Dyalog APL Benchmarks and Performance Enhancements ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D08_Performance materials])<br />
* [[Dyalog '13]] D08: [https://dyalog.tv/Dyalog13/?v=J05FEbqDsZM Rank and Friends] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D08_Rank_and_Friends materials])<br />
* Dyalog '13 D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials]) (with [[Morten Kromberg]])<br />
* [[Dyalog '14]] D06: [https://dyalog.tv/Dyalog14/?v=7GDya-E3pxI The Tuning Pipeline] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D06_Tuning_Pipeline materials]) (with Kimmo Kekäläinen)<br />
* [[Dyalog '15]] D04: [https://dyalog.tv/Dyalog15/?v=AJzY4DgUVws Core Performance] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Foad.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Hui.zip materials_RH]) (with [[Jay Foad]])<br />
* Dyalog '15 D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[John Scholes]])<br />
* Dyalog '16 D08: [https://dyalog.tv/Dyalog16/?v=2AeONlTj1aY Performance: The Neverending Story] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_JF.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_RH.zip slides_RH]) (with [[Jay Foad]])<br />
* [[Dyalog '17]] D07: [https://dyalog.tv/Dyalog17/?v=69ncBGN3YiI Index-Of on Multiple Floats] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip materials])<br />
* Dyalog '17 D10: [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 Tolerant Unique] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials])<br />
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '18]] D14: [https://dyalog.tv/Dyalog18/?v=IOWDkqKbMwk Inverted Tables] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D14_Inverted_Tables.zip slides])<br />
* [[Dyalog '20]] D07: [https://dyalog.tv/Dyalog20/?v=GgXS0zpboAM Rational Arithmetic] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D07_Rational_Arithmetic.zip materials])<br />
</div><br />
=== Other talks ===<br />
* Functional Conf 2016: [https://www.youtube.com/watch?v=e0rywC7-i0U&list=PL9Z-JgiTsOYTdi91N_DlcpWqkCYvMrhA4&index=8 A Tour de Force of APL in 16 Expressions]<br />
* Functional Conf 2017: [https://www.youtube.com/watch?v=EJONZpNA81s Tests, Derivations, Proofs]<br />
* HOPL IV: [https://www.pldi21.org/prerecorded_hopl.2.html APL Since 1978] ([https://dl.acm.org/doi/pdf/10.1145/3386319 paper])<br />
<br />
== External links ==<br />
<br />
* [[wikipedia:Roger Hui|Roger Hui]]<br />
* [https://www.jsoftware.com/ Jsoftware website]<br />
* [https://dl.acm.org/profile/81100593990 ACM Digital Library]<br />
<br />
== References ==<br />
<references /><br />
{{APL community}}{{DEFAULTSORT:Hui}}[[Category:People]][[Category:Jsoftware employees]][[Category:Dyalog Ltd. employees]][[Category:I.P. Sharp Associates employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7499Talk:APL logo2021-10-27T09:06:01Z<p>Fiona: /* Plain Ellipse comment by Fiona (talk) */</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted a slight variation of this for use as the APL Seeds logo (user meetings, events and information specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me – I prefer the shape of the (otherwise similar) 50 Years one further down the page.<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know (the same comment applies to the "Lamp Rho Downstile" logo).<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read unless you already know what it said, wouldn't render well when small, and wouldn't work in black-and-white.<br />
<br />
== General comment by MichaelBaas ==<br />
<br />
It would be useful if the icons were shown in the same size(s), perhaps 32x32 as a miniature version (favicon etc.) and 192 x 192, and maybe each on a black and on a white background - so 4 versions per icon.<br />
<br />
== Plain Ellipse comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
Very nice. Simple, clean, should be good at all sizes. Gets my vote!<br />
<br />
== Display matrix comment by [[User:DanHirschi|DanHirschi]] ([[User talk:DanHirschi|talk]]) ==<br />
<br />
I actually like this one. If placed in the matrix of other logos above, it would stand out a bit because of its simplicity (I think the white space actually helps). <br />
Possible changes (that might improve it):<br />
- make the letters and box a bit thicker<br />
- use the older font where the characters are more italicized<br />
- use the old underscored font<br />
- as mentioned, adjust the spacing between the letters<br />
<br />
== Plain Ellipse comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I agree with Paul's comment on the clarity and simplicity of this design but would suggest that it is not taken forward in this colour due to its similarity to an existing logo: APL Media's logo is a lower case "apl" in a red circle – https://twitter.com/apl_media – but perhaps a different single colour (green?) would introduce more differentiation.</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7498Talk:APL logo2021-10-27T09:03:04Z<p>Fiona: /* Plain Ellipse comment by ~~~ */ new section</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted a slight variation of this for use as the APL Seeds logo (user meetings, events and information specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me – I prefer the shape of the (otherwise similar) 50 Years one further down the page.<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know (the same comment applies to the "Lamp Rho Downstile" logo).<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read unless you already know what it said, wouldn't render well when small, and wouldn't work in black-and-white.<br />
<br />
== General comment by MichaelBaas ==<br />
<br />
It would be useful if the icons were shown in the same size(s), perhaps 32x32 as a miniature version (favicon etc.) and 192 x 192, and maybe each on a black and on a white background - so 4 versions per icon.<br />
<br />
== Plain Ellipse comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
Very nice. Simple, clean, should be good at all sizes. Gets my vote!<br />
<br />
== Display matrix comment by [[User:DanHirschi|DanHirschi]] ([[User talk:DanHirschi|talk]]) ==<br />
<br />
I actually like this one. If placed in the matrix of other logos above, it would stand out a bit because of its simplicity (I think the white space actually helps). <br />
Possible changes (that might improve it):<br />
- make the letters and box a bit thicker<br />
- use the older font where the characters are more italicized<br />
- use the old underscored font<br />
- as mentioned, adjust the spacing between the letters<br />
<br />
== Plain Ellipse comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I agree with Paul's comment on the clarity and simplicity of this design but would suggest that it is not taken forward in this colour due to its similarity to an existing logo: https://aplmedia.co.uk/ – perhaps a different single colour (green?) would introduce more differentiation.</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7496Talk:APL logo2021-10-26T07:10:49Z<p>Fiona: /* Cube apple comment by Fiona (talk) */</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted a slight variation of this for use as the APL Seeds logo (user meetings, events and information specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me – I prefer the shape of the (otherwise similar) 50 Years one further down the page.<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know (the same comment applies to the "Lamp Rho Downstile" logo).<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read unless you already know what it said, wouldn't render well when small, and wouldn't work in black-and-white.<br />
<br />
== General comment by MichaelBaas ==<br />
<br />
It would be useful if the icons were shown in the same size(s), perhaps 32x32 as a miniature version (favicon etc.) and 192 x 192, and maybe each on a black and on a white background - so 4 versions per icon.<br />
<br />
== Plain Ellipse comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
Very nice. Simple, clean, should be good at all sizes. Gets my vote!<br />
<br />
== Display matrix comment by [[User:DanHirschi|DanHirschi]] ([[User talk:DanHirschi|talk]]) ==<br />
<br />
I actually like this one. If placed in the matrix of other logos above, it would stand out a bit because of its simplicity (I think the white space actually helps). <br />
Possible changes (that might improve it):<br />
- make the letters and box a bit thicker<br />
- use the older font where the characters are more italicized<br />
- use the old underscored font<br />
- as mentioned, adjust the spacing between the letters</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7448Talk:APL logo2021-10-08T14:47:40Z<p>Fiona: /* Script apple comment by Fiona */</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted a slight variation of this for use as the APL Seeds logo (user meetings, events and information specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me – I prefer the shape of the (otherwise similar) 50 Years one further down the page.<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know.<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read unless you already know what it said, wouldn't render well when small, and wouldn't work in black-and-white.</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7447Talk:APL logo2021-10-08T13:01:53Z<p>Fiona: /* Script apple comment by Fiona */</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted an adaption of this for use as the APL Seeds logo (specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me – I prefer the shape of the (otherwise similar) 50 Years one further down the page.<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know.<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read unless you already know what it said, wouldn't render well when small, and wouldn't work in black-and-white.</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7444Talk:APL logo2021-10-08T11:09:34Z<p>Fiona: /* Parallel lines comment by ~~~ */ new section</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted an adaption of this for use as the APL Seeds logo (specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me!<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know.<br />
<br />
== Parallel lines comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
This might appeal to those who have fond memories of the rather brilliant book, but it looks very dated, is hard to read ubless you already know what it sayd, wouldn't render well when small, and wouldn't work in black-and-white.</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7443Talk:APL logo2021-10-08T11:07:10Z<p>Fiona: /* Cube apple comment by ~~~ */ new section</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted an adaption of this for use as the APL Seeds logo (specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me!<br />
<br />
== Cube apple comment by [[User:Fiona|Fiona]] ([[User talk:Fiona|talk]]) ==<br />
<br />
I like the cube representation and its array implications but it's maybe a tad too similar to the [https://aplwiki.com/wiki/Dyalog_APL| Dyalog product logo]. I really dislike the text – on first impression it looked odd, and when realising that it's APL glyphs instead of letters it just seemed a bit of an inside joke that might alienate those who are not in the know.</div>Fionahttps://aplwiki.com/index.php?title=Talk:APL_logo&diff=7442Talk:APL logo2021-10-08T11:01:45Z<p>Fiona: /* Script apple comment by Fiona */ new section</p>
<hr />
<div>On this page, you can leave feedback or submit ideas.<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=%5Blogo%20name%5D%20comment%20by%20~~<noinclude></noinclude>~}} Click here to comment on an existing proposal.]'''<br />
<br />
* '''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=General%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave a general comment.]'''<br />
<br />
== Nested bitmaps comment by LdBeth ==<br />
<br />
I love the bitmap style font used in this logo, and this one comes with many variations.<br />
Might be great if combined with the dot halftone style logo used for APL Wiki.<br />
<br />
== Parallel lines comment by RGS ==<br />
<br />
The “parallel lines” logo is very hard to read and it's hard to understand that there's an “APL” written in there.<br />
In general, I would go for things that are easy to read.<br />
<br />
== Display matrix comment by [[User:PaulMansour|PaulMansour]] ([[User talk:PaulMansour|talk]]) ==<br />
<br />
This is an excellent starting point, but rather than the exact output of the DISPLAY function, a good graphic designer could stylize it a bit, perhaps removing some white space, a little kerning on the letters, some color, etc.<br />
<br />
== Cube apple comment by [[User:Ros|Ros]] ([[User talk:Ros|talk]]) ==<br />
<br />
Stylistically, I like this logo the best - but it is my least preferred option: for me, it is too reminiscent of the [[Dyalog APL|Dyalog]] application logo to be a general and independent APL logo. [[User:Ros|Ros]] ([[User talk:Ros|talk]]) 09:17, 8 October 2021 (UTC)<br />
<br />
== Script apple comment by Fiona ==<br />
<br />
Although I rather like the "hollow" version of this, Dyalog Ltd have already adopted an adaption of this for use as the APL Seeds logo (specifically for new APLers) – [https://www.dyalog.com/apl-seeds-user-meetings/aplseeds21.htm see here for an example] and the detail makes it harder to shrink. The filled version is slightly more reminiscent of a bell pepper than an apple to me!</div>Fionahttps://aplwiki.com/index.php?title=APL_logo&diff=7438APL logo2021-10-08T09:34:39Z<p>Fiona: /* 50 Years Apple */</p>
<hr />
<div>As of {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, APL does not have a logo like many other programming languages do. After a consensus at their September 9th 2021 [[BAA webinar|webinar]], [[BAA]] will head an effort to adopt a universal [[vendor]]-agnostic logo for APL. This article collects draft proposals for the universal APL logo. Feel free to [{{fullurl:{{FULLPAGENAME}}|action=edit&section=1}} add your own].<br />
<br />
To leave feedback on or ideas for the existing proposals, see the [[{{TALKPAGENAME}}|Discussion page]].<br />
<br />
== Proposals ==<br />
<br />
{{clear}}<br />
=== Cube Apple ===<br />
[[File:APL_logo_light.png|120px|frameless|left]]<br />
This is a cube, which is a common APL motif, e.g. used for [[APL2]] (including the book [[Books#APL2_at_a_Glance|APL2 at a glance]]), [[APL*PLUS]] and [[Dyalog APL]]. However, one quarter has been modified to resemble a leaf, thus making the cube into an [[apple]], another common association with APL. The leaf is supposed to hint at the [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The green colours come from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The lettering spells out "APL" while also hinting at APL's usage of special [[glyphs]]; here <code>⍝⍴⌊</code> which look very close to the forms found in the widespread ''APL385 Unicode'' [[font]].<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Cube%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Nested Bitmaps ===<br />
[[File:Nested bitmaps logo dark.png|120px|frameless|left]]<br />
[[File:Alternative nested bitmaps.png|frameless|right|Alternative nested bitmap logos]][[File:Nested bitmaps logo.png|120px|frameless|left]]<br />
This logo is a reinterpretation based on the classic APL [[apple]] with the leaf styled as a filled [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The green colour comes from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The apple is subdivided into a rectangular pattern which is supposed to invoke a [[matrix]] and the middle row in turn holds three 4-row, 3-column [[Boolean]] matrices to spell out "APL" as bitmaps. This matrix of matrices hints at APL's multi-dimensional [[nested array]]s. The logo exists in various variations, and each comes has a version for light backgrounds and one for dark backgrounds.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Nested%20bitmaps%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
{{clear}}<br />
=== Script apple ===<br />
[[File:Script logo.png|120px|frameless|left]]<br />
[[File:Script logo filled.png|120px|frameless|right]]<br />
This [[apple]] logo is a basic update of [[IBM]]'s classic "I like APL" promotional, but with the leaf styled as a filled [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The colours comes from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The script lettering commemorates APL's origins as handwritten notation and at the same time symbolises the ease with which APL is written. On dark backgrounds, the lettering would be produced in white rather than black. The logo also exists as a filled green version.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Script%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Parallel Lines ===<br />
[[File:Parallel Lines.png|120px|frameless|left]]<br />
This logo is from the cover of the original edition of Paul Berry's [[SHARP APL]] Reference Manual.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Parallel%20lines%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Ligatures ===<br />
[[File:Ligature Original.jpg|120px|frameless|left]]<br />
<div style=float:right><br />
[[File:Ligature Separated.jpg|120px|frameless]]<br />
[[File:Ligature Separated Aligned.jpg|120px|frameless]]<br />
[[File:Ligature AP.jpg|120px|frameless]]<br />
</div><br />
This is Jon McGrew's reworks of an original design by Joseph DeKerf that used the [[wikipedia:ITC Avant Garde|ITC Avant Garde]] font. The original is arguably ambiguously APL/ALP, hence the alternative versions.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Ligatures%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Display matrix ===<br />
[[File:Display matrix.png|120px|frameless|left]]<br />
This is the output from the classic <source lang=apl inline>DISPLAY</source> function when applied to the matrix <source lang=apl inline>1 3⍴APL</source>.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Display%20matrix%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Quad APL ===<br />
[[File:QuadAPLAlt.png|90px|frameless|left]]<br />
[[File:QuadAPL.png|90px|frameless|right]]<br />
This is the design by LdBeth that plotted by the MetaPost program below. It is composed visually by Quad, And, Circle (Pi), Left Tack, and forms the stylized "APL". One day he needs an icon for his APL keyboard layout, and he spent an hour to do the sketching and wrote the code in his favorite font design tool MetaFont. The right one is the old, original one. There might be alternative glyphs, and he will gladly accept any interesting suggestions for improvements.<br />
<br />
{{Collapse|MetaFont code converted to MetaPost for vectorized output.|<pre><br />
% show bound box<br />
prologues := 2;<br />
beginfig(1);<br />
% edge<br />
e=5;<br />
a=40;b=28;<br />
% misc points<br />
m=0.3a;n=0.5b;t=2;<br />
% center<br />
z0=(e+n,e+0.4a);r=7;<br />
% quad<br />
z1=(e,e);z2=(e,a+e);z3=(b+e,a+e);z4=(b+e,e);<br />
% and<br />
z5=(e+t,e+m);z6=(e+n,e+0.8a);z7=(e+b-t,e+m);<br />
% pi<br />
z8=z0+(0,r);z9=z0+(r,0);<br />
z10=z0-(0,r);z11=z0-(r,0);<br />
% left<br />
z12=(z1+z4)/2;z13=z10-(0.3b,0);<br />
% draw<br />
pickup pencircle scaled 3;<br />
draw z1--z2--z3--z4--cycle;<br />
draw z5--z6--z7;<br />
draw z8..z9..z10..z11..cycle;<br />
draw z0--z12; draw z10--z13;<br />
endfig;<br />
end<br />
</pre><br />
}}<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Quad%20APL%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Direction and Magnitude ===<br />
[[File:DirectionAndMagnitude.png|120px|frameless|left]]<br />
The colors are taken from the Canadian flag.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Direction%20and%20Magnitude%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== 50 Years Apple ===<br />
[[File:50yearsapple.png|120px|frameless|left]]<br />
This is based on the logo that [[Dyalog Ltd.]] commissioned for APL's 50th anniversary (see https://www.dyalog.com/50-years-of-apl.htm), which was inspired by the <br />
[[:File:I_like_APL_graphic.jpg|original "I like APL" apple motif]]; the green colour also recognises this original motif. As with some of the other suggestions, the simplicity and single colour means that it would still work well when shrunk to the size of a favicon and could be rendered in black and white without loss of detail.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=50%20years%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''</div>Fionahttps://aplwiki.com/index.php?title=APL_logo&diff=7437APL logo2021-10-08T09:31:48Z<p>Fiona: </p>
<hr />
<div>As of {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, APL does not have a logo like many other programming languages do. After a consensus at their September 9th 2021 [[BAA webinar|webinar]], [[BAA]] will head an effort to adopt a universal [[vendor]]-agnostic logo for APL. This article collects draft proposals for the universal APL logo. Feel free to [{{fullurl:{{FULLPAGENAME}}|action=edit&section=1}} add your own].<br />
<br />
To leave feedback on or ideas for the existing proposals, see the [[{{TALKPAGENAME}}|Discussion page]].<br />
<br />
== Proposals ==<br />
<br />
{{clear}}<br />
=== Cube Apple ===<br />
[[File:APL_logo_light.png|120px|frameless|left]]<br />
This is a cube, which is a common APL motif, e.g. used for [[APL2]] (including the book [[Books#APL2_at_a_Glance|APL2 at a glance]]), [[APL*PLUS]] and [[Dyalog APL]]. However, one quarter has been modified to resemble a leaf, thus making the cube into an [[apple]], another common association with APL. The leaf is supposed to hint at the [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The green colours come from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The lettering spells out "APL" while also hinting at APL's usage of special [[glyphs]]; here <code>⍝⍴⌊</code> which look very close to the forms found in the widespread ''APL385 Unicode'' [[font]].<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Cube%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Nested Bitmaps ===<br />
[[File:Nested bitmaps logo dark.png|120px|frameless|left]]<br />
[[File:Alternative nested bitmaps.png|frameless|right|Alternative nested bitmap logos]][[File:Nested bitmaps logo.png|120px|frameless|left]]<br />
This logo is a reinterpretation based on the classic APL [[apple]] with the leaf styled as a filled [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The green colour comes from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The apple is subdivided into a rectangular pattern which is supposed to invoke a [[matrix]] and the middle row in turn holds three 4-row, 3-column [[Boolean]] matrices to spell out "APL" as bitmaps. This matrix of matrices hints at APL's multi-dimensional [[nested array]]s. The logo exists in various variations, and each comes has a version for light backgrounds and one for dark backgrounds.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Nested%20bitmaps%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
{{clear}}<br />
=== Script apple ===<br />
[[File:Script logo.png|120px|frameless|left]]<br />
[[File:Script logo filled.png|120px|frameless|right]]<br />
This [[apple]] logo is a basic update of [[IBM]]'s classic "I like APL" promotional, but with the leaf styled as a filled [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The colours comes from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The script lettering commemorates APL's origins as handwritten notation and at the same time symbolises the ease with which APL is written. On dark backgrounds, the lettering would be produced in white rather than black. The logo also exists as a filled green version.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Script%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Parallel Lines ===<br />
[[File:Parallel Lines.png|120px|frameless|left]]<br />
This logo is from the cover of the original edition of Paul Berry's [[SHARP APL]] Reference Manual.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Parallel%20lines%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Ligatures ===<br />
[[File:Ligature Original.jpg|120px|frameless|left]]<br />
<div style=float:right><br />
[[File:Ligature Separated.jpg|120px|frameless]]<br />
[[File:Ligature Separated Aligned.jpg|120px|frameless]]<br />
[[File:Ligature AP.jpg|120px|frameless]]<br />
</div><br />
This is Jon McGrew's reworks of an original design by Joseph DeKerf that used the [[wikipedia:ITC Avant Garde|ITC Avant Garde]] font. The original is arguably ambiguously APL/ALP, hence the alternative versions.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Ligatures%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Display matrix ===<br />
[[File:Display matrix.png|120px|frameless|left]]<br />
This is the output from the classic <source lang=apl inline>DISPLAY</source> function when applied to the matrix <source lang=apl inline>1 3⍴APL</source>.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Display%20matrix%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Quad APL ===<br />
[[File:QuadAPLAlt.png|90px|frameless|left]]<br />
[[File:QuadAPL.png|90px|frameless|right]]<br />
This is the design by LdBeth that plotted by the MetaPost program below. It is composed visually by Quad, And, Circle (Pi), Left Tack, and forms the stylized "APL". One day he needs an icon for his APL keyboard layout, and he spent an hour to do the sketching and wrote the code in his favorite font design tool MetaFont. The right one is the old, original one. There might be alternative glyphs, and he will gladly accept any interesting suggestions for improvements.<br />
<br />
{{Collapse|MetaFont code converted to MetaPost for vectorized output.|<pre><br />
% show bound box<br />
prologues := 2;<br />
beginfig(1);<br />
% edge<br />
e=5;<br />
a=40;b=28;<br />
% misc points<br />
m=0.3a;n=0.5b;t=2;<br />
% center<br />
z0=(e+n,e+0.4a);r=7;<br />
% quad<br />
z1=(e,e);z2=(e,a+e);z3=(b+e,a+e);z4=(b+e,e);<br />
% and<br />
z5=(e+t,e+m);z6=(e+n,e+0.8a);z7=(e+b-t,e+m);<br />
% pi<br />
z8=z0+(0,r);z9=z0+(r,0);<br />
z10=z0-(0,r);z11=z0-(r,0);<br />
% left<br />
z12=(z1+z4)/2;z13=z10-(0.3b,0);<br />
% draw<br />
pickup pencircle scaled 3;<br />
draw z1--z2--z3--z4--cycle;<br />
draw z5--z6--z7;<br />
draw z8..z9..z10..z11..cycle;<br />
draw z0--z12; draw z10--z13;<br />
endfig;<br />
end<br />
</pre><br />
}}<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Quad%20APL%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Direction and Magnitude ===<br />
[[File:DirectionAndMagnitude.png|120px|frameless|left]]<br />
The colors are taken from the Canadian flag.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Direction%20and%20Magnitude%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== 50 Years Apple ===<br />
[[File:50yearsapple.png|120px|frameless|left]]<br />
This is based on the logo that [[Dyalog Ltd.]] commissioned for APL's 50th anniversary (see https://www.dyalog.com/50-years-of-apl.htm), which was inspired by the original "I like APL" apple motif; the green colour also recognises this original motif. As with some of the other suggestions, the simplicity and single colour means that it would still work well when shrunk to the size of a favicon and could be rendered in black and white without loss of detail.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=50%20years%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''</div>Fionahttps://aplwiki.com/index.php?title=File:I_like_APL_graphic.jpg&diff=7436File:I like APL graphic.jpg2021-10-08T09:28:44Z<p>Fiona: Original "I Like APL" motif</p>
<hr />
<div>== Summary ==<br />
Original "I Like APL" motif</div>Fionahttps://aplwiki.com/index.php?title=APL_logo&diff=7434APL logo2021-10-08T09:16:08Z<p>Fiona: /* Proposals */</p>
<hr />
<div>As of {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, APL does not have a logo like many other programming languages do. After a consensus at their September 9th 2021 [[BAA webinar|webinar]], [[BAA]] will head an effort to adopt a universal [[vendor]]-agnostic logo for APL. This article collects draft proposals for the universal APL logo. Feel free to [{{fullurl:{{FULLPAGENAME}}|action=edit&section=1}} add your own].<br />
<br />
To leave feedback on or ideas for the existing proposals, see the [[{{TALKPAGENAME}}|Discussion page]].<br />
<br />
== Proposals ==<br />
<br />
{{clear}}<br />
=== Cube Apple ===<br />
[[File:APL_logo_light.png|120px|frameless|left]]<br />
This is a cube, which is a common APL motif, e.g. used for [[APL2]] (including the book [[Books#APL2_at_a_Glance|APL2 at a glance]]), [[APL*PLUS]] and [[Dyalog APL]]. However, one quarter has been modified to resemble a leaf, thus making the cube into an [[apple]], another common association with APL. The leaf is supposed to hint at the [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The green colours come from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The lettering spells out "APL" while also hinting at APL's usage of special [[glyphs]]; here <code>⍝⍴⌊</code> which look very close to the forms found in the widespread ''APL385 Unicode'' [[font]].<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Cube%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Nested Bitmaps ===<br />
[[File:Nested bitmaps logo dark.png|120px|frameless|left]]<br />
[[File:Alternative nested bitmaps.png|frameless|right|Alternative nested bitmap logos]][[File:Nested bitmaps logo.png|120px|frameless|left]]<br />
This logo is a reinterpretation based on the classic APL [[apple]] with the leaf styled as a filled [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The green colour comes from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The apple is subdivided into a rectangular pattern which is supposed to invoke a [[matrix]] and the middle row in turn holds three 4-row, 3-column [[Boolean]] matrices to spell out "APL" as bitmaps. This matrix of matrices hints at APL's multi-dimensional [[nested array]]s. The logo exists in various variations, and each comes has a version for light backgrounds and one for dark backgrounds.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Nested%20bitmaps%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
{{clear}}<br />
=== Script apple ===<br />
[[File:Script logo.png|120px|frameless|left]]<br />
[[File:Script logo filled.png|120px|frameless|right]]<br />
This [[apple]] logo is a basic update of [[IBM]]'s classic "I like APL" promotional, but with the leaf styled as a filled [[Del]] which symbolises [[function]] definition and has been used in application icons for [[APL+]] and [[APLX]]. The colours comes from [[IBM]]'s modern '''Carbon''' design to honour IBM's role APL's history. The script lettering commemorates APL's origins as handwritten notation and at the same time symbolises the ease with which APL is written. On dark backgrounds, the lettering would be produced in white rather than black. The logo also exists as a filled green version.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Script%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Parallel Lines ===<br />
[[File:Parallel Lines.png|120px|frameless|left]]<br />
This logo is from the cover of the original edition of Paul Berry's [[SHARP APL]] Reference Manual.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Parallel%20lines%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Ligatures ===<br />
[[File:Ligature Original.jpg|120px|frameless|left]]<br />
<div style=float:right><br />
[[File:Ligature Separated.jpg|120px|frameless]]<br />
[[File:Ligature Separated Aligned.jpg|120px|frameless]]<br />
[[File:Ligature AP.jpg|120px|frameless]]<br />
</div><br />
This is Jon McGrew's reworks of an original design by Joseph DeKerf that used the [[wikipedia:ITC Avant Garde|ITC Avant Garde]] font. The original is arguably ambiguously APL/ALP, hence the alternative versions.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Ligatures%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Display matrix ===<br />
[[File:Display matrix.png|120px|frameless|left]]<br />
This is the output from the classic <source lang=apl inline>DISPLAY</source> function when applied to the matrix <source lang=apl inline>1 3⍴APL</source>.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Display%20matrix%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Quad APL ===<br />
[[File:QuadAPLAlt.png|90px|frameless|left]]<br />
[[File:QuadAPL.png|90px|frameless|right]]<br />
This is the design by LdBeth that plotted by the MetaPost program below. It is composed visually by Quad, And, Circle (Pi), Left Tack, and forms the stylized "APL". One day he needs an icon for his APL keyboard layout, and he spent an hour to do the sketching and wrote the code in his favorite font design tool MetaFont. The right one is the old, original one. There might be alternative glyphs, and he will gladly accept any interesting suggestions for improvements.<br />
<br />
{{Collapse|MetaFont code converted to MetaPost for vectorized output.|<pre><br />
% show bound box<br />
prologues := 2;<br />
beginfig(1);<br />
% edge<br />
e=5;<br />
a=40;b=28;<br />
% misc points<br />
m=0.3a;n=0.5b;t=2;<br />
% center<br />
z0=(e+n,e+0.4a);r=7;<br />
% quad<br />
z1=(e,e);z2=(e,a+e);z3=(b+e,a+e);z4=(b+e,e);<br />
% and<br />
z5=(e+t,e+m);z6=(e+n,e+0.8a);z7=(e+b-t,e+m);<br />
% pi<br />
z8=z0+(0,r);z9=z0+(r,0);<br />
z10=z0-(0,r);z11=z0-(r,0);<br />
% left<br />
z12=(z1+z4)/2;z13=z10-(0.3b,0);<br />
% draw<br />
pickup pencircle scaled 3;<br />
draw z1--z2--z3--z4--cycle;<br />
draw z5--z6--z7;<br />
draw z8..z9..z10..z11..cycle;<br />
draw z0--z12; draw z10--z13;<br />
endfig;<br />
end<br />
</pre><br />
}}<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Quad%20APL%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== Direction and Magnitude ===<br />
[[File:DirectionAndMagnitude.png|120px|frameless|left]]<br />
The colors are taken from the Canadian flag.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=Direction%20and%20Magnitude%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''<br />
<br />
<br />
{{clear}}<br />
=== 50 Years Apple ===<br />
[[File:50yearsapple.png|120px|frameless|left]]<br />
This is based on the logo that [[Dyalog Ltd.]] commissioned for APL's 50th anniversary (see https://www.dyalog.com/50-years-of-apl.htm), which was inspired by the original "I like APL" apple motif. As with the "Cube Apple" suggestion, the green colour comes from [[IBM]]'s modern Carbon design to honour IBM's role APL's history. As with some of the other suggestions, the simplicity and single colour means that it would still work well when shrunk to the size of a favicon and could be rendered in black and white without loss of detail.<br />
<br />
::'''[{{fullurl:{{TALKPAGENAME}}|action=edit&section=new&preloadtitle=50%20years%20apple%20comment%20by%20~~<noinclude></noinclude>~}} Click here to leave feedback on this logo.]'''</div>Fionahttps://aplwiki.com/index.php?title=File:50yearsapple.png&diff=7433File:50yearsapple.png2021-10-08T09:13:08Z<p>Fiona: Suggestion for the APL logo</p>
<hr />
<div>== Summary ==<br />
Suggestion for the APL logo</div>Fionahttps://aplwiki.com/index.php?title=Iverson_Award&diff=7356Iverson Award2021-09-15T09:48:05Z<p>Fiona: Added reference for 2016 Iverson Award winners</p>
<hr />
<div>The '''Kenneth E. Iverson Award for Outstanding Contribution to APL''' is presented by the Special Interest Group on APL ([[SIGAPL]]) of the Association for Computing Machinery (ACM). It is presented to a person who has made significant contributions to the APL programming language or to the APL community. These contributions may be Technical (i.e. new developments in the APL language itself) or Service (assistance or support to SIGAPL or the APL community generally). The award consists of a plaque and a certificate, and is accompanied by a cash prize and a lifetime membership in SIGAPL.<br />
<br />
The award is named in honor of [[Kenneth E. Iverson]], the creator of APL.<br />
<br />
Recipients of the award by year:<br />
<br />
* 2016 [[Morten Kromberg]] and [[Gitte Christensen]]<ref>[[Dyalog Ltd.]] DYALOGue Newsletter. [https://www.dyalog.com/dyalogue-newsletters.htm?nl=27&a=158 "2016 Iverson Award Recognises Dyalog's CEO and CXO"]. Summer 2017.</ref><br />
* 2007 [[IBM]] [[APL2]] Products and Services Team<br />
* 2001 [[Jon McGrew]]<br />
* 2000 Lynne Shaw<br />
* 1999 [[William Rutiser ]]<br />
* 1998 [[Roy Sykes]], Jr.<br />
* 1997 John McPherson<br />
* 1996 [[Roger Hui]]<br />
* 1995 [[Peter Donnelly]] and [[John Scholes]]<br />
* 1994 [[Donald McIntyre]]<br />
* 1993 [[Jim Brown]]<br />
* 1991 [[Phil Abrams]]<br />
* 1990 [[Ray Polivka]]<br />
* 1989 Philip Van Cleave<br />
* 1988 [[Al Rose]]<br />
* 1987 [[Gene McDonnell]]<br />
* 1986 Raymond Tisserand, Clark Wiedmann, and Alex Morrow<br />
* 1985 Dan Dyer and [[Ian Sharp]]<br />
* 1984 [[Garth Foster]]<br />
* 1983 [[Adin Falkoff]]<br />
<br />
== External links ==<br />
* [[wikipedia:Iverson Award|Iverson Award]]<br />
* [http://sigapl.org/award.php Website] ([[SIGAPL]])<br />
<br />
== References ==<br />
<br />
<references /><br />
<br />
{{APL community}}[[Category:APL history]]</div>Fionahttps://aplwiki.com/index.php?title=APL_Campfire&diff=7322APL Campfire2021-09-07T06:49:58Z<p>Fiona: </p>
<hr />
<div>[[File:APL Campfire Logo.png|thumb|right|[[humour#apples|Humorous]] promotional logo.]]<br />
The '''APL Campfire''' is a recurring meeting hosted by [[Adám Brudzewsky]] every fourth Sunday at 18:00 UTC, since 9 May, 2021, with each session lasting about an hour. The event focuses on the history of APL programming, inviting participants to tell stories of their experiences, and is recorded for future reference.<br />
<br />
APL Campfires are held using [[wikipedia:Zoom (software)|Zoom]]:<br />
<br />
* '''Meeting ID:''' [https://us02web.zoom.us/j/83123786010 831 2378 6010]<br />
* '''Passcode:''' The result of [https://tryapl.org/?clear&q=%C3%97%2F1966%2011%2027&run <source lang=apl inline>×/1966 11 27</source> evaluated as APL]<br />
<br />
== History ==<br />
The series started after Joel Wittenberg contacted [[Dyalog Ltd.]], wanting to reconnect with the APL community. He started the [[APL Dinosaurs]] Facebook group, and suggested a live meeting. Via Zoom, he met with his friend Harry Saal and Dyalog employee Adám Brudzewsky for an hour on May 9, 2021. The meeting was deemed so enjoyable, that the group decided to make it a scheduled recurring event.<br />
<br />
== 2021 ==<br />
{| class=wikitable<br />
! Date !! Speakers !! Subjects discussed !! text-align:center | Recording<br />
|-<br />
| May 9 || Harry Saal, Joel Wittenberg, Adám Brudzewsky || APL on mainframes, <source lang=apl inline>⎕FMT</source>'s <source lang=apl inline>G</source>,<ref>"Joel Wittenberg made critical assessments of that design and suggested important <br />
elaborations which were incorporated in later designs." [[Adin Falkoff]]: ''[https://doi.org/10.1145/800142.805342 A pictorial format function for patterning decorated numeric displays]''. [[APL81]].</ref> and more || ―<br />
|-<br />
| Jun 6 || Joel Wittenberg, Ron Murray || Murray's history with APL, including [[APL/700]] and the [[APL Machine]], and at Microsoft. Wittenberg's early exposure to [[Iverson Notation]] and [[PAT]]. || [https://www.youtube.com/watch?v=GlUa1vz2OSM 1:06:28]<br />
|-<br />
| Jul 4 || [[wikipedia:Len Shustek|Len Shustek]], Joey Tuttle, Joel Wittenberg || Shustek at [[IBM]], Standord, SLAC, making APL\360 a multi-user system, running it under other OSs, [[wikipedia:https://en.wikipedia.org/wiki/OS/360_and_successors#MFT|MFT]] & (Experimental) [[wikipedia:https://en.wikipedia.org/wiki/OS/360_and_successors#MVT|MVT]], the [[wikipedia:Computer History Museum|Computer History Museum]], [[APL.SV]], [[Phil S. Abrams]] || [https://www.youtube.com/watch?v=q1MqfzilWX0 1:06:24]<br />
|-<br />
| Aug 1 || [[Gitte Christensen]]<ref>2016 [[Iverson Award]] winner.</ref>, Joey Tuttle, Joel Wittenberg || Working at [[IPSA]], [[Ian Sharp]], [[666 BOX]] (early email), MagicStore, meeting people online (including [[Morten Kromberg]]), Christensen's first APL application, [[APL conference]]s, the [[boxed]]/[[nested]] split, [[Ken Iverson]]'s [[Rationalized APL]] and [[J]], the [[Rank operator]], [[IBM]]/Insight Systems/Adaytum/Cognos/Dyadic Systems/[[Dyalog Ltd.]], [[Alex Morrow]] || [https://www.youtube.com/watch?v=OAu03M5fLck 1:06:22]<br />
|-<br />
| Aug 29 || [[Ray Polivka]]<ref>1990 [[Iverson Award]] winner and co-author of three authoritative APL textbooks.</ref>, [[Jon McGrew]], [[Joey Tuttle]], Walter Fil, Joel Wittenberg || [[ILLIAC]], at [[IBM]], [[wikipedia:Fred Brooks|Fred Brooks]], [[Adin Falkoff]], [[APL\360]], [[wikipedia:IBM 7030 Stretch|IBM 7030 Stretch]], [[IVSYS/7090]], [[Ken Iverson]], [[wikipedia:Science Research Associates|Science Research Associates]], [[wikipedia:computer assisted instruction|computer assisted instruction]], [[wikipedia:IBM 1500|IBM 1500]], teaching APL, [[books]] (own and others'), [[SIGAPL]], [[wikipedia:SHARE (computing)|SHARE]], [[APL conference]]s, [[Iverson Award]], [[Garth Foster]], [[APL Quote Quad]], [[Minnowbrook]], upcoming fourth book, [[APL 5100]], <source lang=apl inline>)MSG</source>, [[wikipedia:MCM/70|MCM/70]] || [https://www.youtube.com/watch?v=w1VMeSzJLyE 1:47:56]<br />
|-<br />
| Sep 26 || TBD || TBD ||<br />
|}<br />
<br />
== Notes ==<br />
<references/><br />
<br />
{{APL community}}[[Category:Online sessions]]</div>Fionahttps://aplwiki.com/index.php?title=Morten_Kromberg&diff=6985Morten Kromberg2021-06-22T13:05:30Z<p>Fiona: ACM external link added</p>
<hr />
<div>[[File:MK at Google.png|thumb|right|Morten Kromberg [https://youtu.be/PlM9BXfu7UY talks at Google], 2015.]]<br />
'''Morten John Kromberg''' is the current CTO, and former CXO, of [[Dyalog Ltd.]] Having a decade-long history as APL consultant, followed by years as CTO and developer at Adaytum (now Cognos), he is also an active member of Dyalog's team of APL developers, a prolific speaker at various events, and a frequent author on Dyalog's [[blog]].<ref>[https://www.dyalog.com/blog/author/mkrom/ Author archives: Morten Kromberg]. Dyalog Blog.</ref><br />
<br />
== History ==<br />
<br />
In 1979, Kromberg met some people who were setting up an office for [[I.P. Sharp Associates]] (IPSA) in Oslo, Norway. There, he had unlimited access to APL timesharing. During the 1980's, he attempted multiple times to become an academic, repeatedly but repeatedly ended up in paid work, implementing databases, crew scheduling systems and modelling North Sea oil production.<br />
<br />
He met [[Gitte Christensen]] via the IPSA Mailbox (also written in APL, before the Internet) and moved to the IPSA Copenhagen, Denmark, office in 1984. Upon the birth of his son in 1985, he gave up the idea of getting a degree, and learned how to install and maintain [[SHARP APL]] applications on mainframe computers — working on this until IPSA was bought by Reuters — finally leaving to form Insight Systems together with Gitte Christensen and Kim Andreasen in 1990. For a while they combined SHARP APL work with work in [[APL*PLUS]] and [[Dyalog APL]] on PCs.<br />
<br />
[[File:Iverson Morten.png|thumb|left|Morten Kromberg's Iverson Award]]<br />
<br />
During a period with little billable work, Insight Systems implemented SQAPL (also known as APL Link Pro in the APL*PLUS community) which quickly became the de-facto standard ODBC interface within the APL community.<br />
<br />
Around 1995, Insight Systems became part of Adaytum Software, and Kromberg became the new CTO. The Insight Systems division took over responsibility for the development of Adaytum Planning, a budgeting and performance measurement application which uses Dyalog APL at its core. The application was eventually sold to Cognos in 2002. In 2008, Cognos was bought by [[IBM]] which continues the marketing of the original Adaytum product.<br />
<br />
Morten Kromberg became the CTO of [[Dyalog Ltd.]] in 2005 and has held the position since, except for 2015–June 2019 during which he served as CXO.<ref>'''[https://www.dyalog.com/blog/about-the-cto/ About The CTO…]'', Dyalog Blog.</ref> In 2016, Morten Kromberg and CEO Gitte Christensen received a joint [[Iverson Award]] for the substantial leaps forward in APL technology that have been made under their leadership.<ref>''[http://www.dyalog.com/dyalogue-newsletters.htm?nl=27&a=158 2016 Iverson Award Recognises Dyalog's CEO and CXO]'', DYALOGue Newsletter 27.</ref><br />
<br />
== Publications ==<br />
<br />
=== Dyalog user meetings ===<br />
<br />
==== Road Map presentations ====<br />
<br />
Kromberg has given a presentation on Dyalog's technical direction every year in his role as CTO or CXO, mirroring the opening statements by CEO [[Gitte Christensen]].<br />
<div style="column-width:30em"><br />
* [[Dyalog '07]] 02: Dyalog for Enterprise Applications (Technical Keynote)<br />
* [[Dyalog '08]] 02: [https://dyalog.tv/Dyalog08/?v=qlEhmDIa0Bs Technical Keynote] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/02_Kromberg_TechnicalKeynote.ppt materials])<br />
* [[Dyalog '09]] 02: [https://dyalog.tv/Dyalog09/?v=GGwJO1yMK8M Technical Roadmap] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/02_Kromberg_TechRoadMap.ppt materials])<br />
* [[Dyalog '10]] V12: Dyalog Technical Keynote<br />
* [[Dyalog '11]] D02: [https://dyalog.tv/Dyalog11/?v=kfEX_BhOzkg Road Map Part 1 – The Blue Hills]<br />
* [[Dyalog '12]] D02: Technical Keynote ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D02_TechKey materials])<br />
* [[Dyalog '13]] D02: [https://dyalog.tv/Dyalog13/?v=zL_34THViLk Technical Keynote] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D02_Technical_Keynote.pptx slides])<br />
* [[Dyalog '14]] D02: [https://dyalog.tv/Dyalog14/?v=rRRyDWaU1fA Technical Road Map] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D02_Technical_Road_Map.pptx slides])<br />
* [[Dyalog '15]] D02: [https://dyalog.tv/Dyalog15/?v=FiCGnsGjTC8 Technical Road Map] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D02_Technical_Road_Map.pptx slides])<br />
* [[Dyalog '16]] D02: [https://dyalog.tv/Dyalog16/?v=bUFFTDCCjAs Technical Road Map: The User Experience] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D02_Technical_Road_Map_User_Experience.pptx slides])<br />
* [[Dyalog '17]] D02: [https://dyalog.tv/Dyalog17/?v=K4V8vVgAihY Technical Road Map: The User Experience] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D02_Technical_Road_Map_The_User_Experience.pptx slides])<br />
* [[Dyalog '18]] D02: [https://dyalog.tv/Dyalog18/?v=_--beTyqzzg The Road Ahead] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D02_The_Road_Ahead.pdf slides])<br />
* [[Dyalog '19]] D02: [https://dyalog.tv/Dyalog19/?v=cW6mW_nMYQI The Road Ahead] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D02_The_Road_Ahead.pdf slides])<br />
* [[Dyalog '20]] D02: [https://dyalog.tv/Dyalog20/?v=M-3w0g4EWk0 The Road Ahead] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D02_The_Road_Ahead.pdf slides])<br />
</div><br />
<br />
==== Other presentations ====<br />
<div style="column-width:30em"><br />
* [[Dyalog '06]] 01: "Open" Source Code Management ([https://www.dyalog.com/uploads/conference/dyalog06/presentations/01_Kromberg_OpenSourceCodeMgt.ppt materials])<br />
* [[Dyalog '07]] 04: Introduction to Unicode<br />
* Dyalog '07 07: New Tools for Distributed Applications ([https://www.dyalog.com/uploads/conference/dyalog07/presentations/07_Taylor_UltralightWeb.zip materials])<br />
* [[Dyalog '10]] P01: APL# – An APL for Microsoft .NET, Mono, Silverlight and Moonlight ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P01_KrombergScholesManktelow_APLSharp.pdf materials]) (with [[John Scholes]] and Jonathan Manktelow)<br />
* Dyalog '10 P02: [https://dyalog.tv/APL2010/?v=Tq144y6DrME Unifying Traditional Functions and Dfns in APL#] ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P02_KrombergScholesManktelow_UnifyingFns.pdf materials]) (with [[John Scholes]] and Jonathan Manktelow)<br />
* Dyalog '10 P11: Parallel Computation Using Peach, Prank and Pouter ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P11_KrombergHughes_Parallel.pdf materials]) (with Michael Hughes)<br />
* Dyalog '10 ST1: APL – why, when and where<br />
* Dyalog '10 V14: Your Application as an SQL Data Source<br />
* [[Dyalog '11]] D08: [https://dyalog.tv/Dyalog11/?v=mZ_qkXb_tV8 APL#] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D08_apl_sharp materials]) (with [[John Scholes]] and Jonathan Manktelow)<br />
* Dyalog '11 D10: Dyalog in the Enterprise<br />
* [[Dyalog '12]] D11: [https://dyalog.tv/Dyalog12/?v=OzMp-N7ef1E Secure, High Performance Component Files using The Dyalog File Server] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D11_DFS materials])<br />
* Dyalog '12 D13: [https://dyalog.tv/Dyalog12/?v=9AMj77tuDAg The Story of tryapl.org] (with [[Brian Becker]])<br />
* [[Dyalog '13]] D00: [https://dyalog.tv/Dyalog13?v=9Nk2H5z-ytg Robot Wars] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D00_Robot_Wars.pptx slides])<br />
* Dyalog '13 D07: [https://dyalog.tv/Dyalog13/?v=Bmx_yUKxVv0 Parallel Language Features in Version 14.0] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D07_Parallel_Language_Features_in_Version_14.pptx slides]) (with [[Jay Foad]])<br />
* Dyalog '13 D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials]) (with [[Roger Hui]])<br />
* Dyalog '13 D12: [https://dyalog.tv/Dyalog13?v=80m5AKX0Wfc Dyalog File Server Version 2.0] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D12_Dyalog_File_Server_Version_2.pptx slides])<br />
* Dyalog '13 D14: [https://dyalog.tv/Dyalog13?v=NhGRTRKNzB8 Interfaces to R, Q and NAG] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D14_Interfaces_to_R_Q_and_NAG.pptx slides])<br />
* [[Dyalog '14]] D08: [https://dyalog.tv/Dyalog14/?v=JvLWvyG7JEs Parallel Programming with Dyalog v14.0] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D08_Parallel_Programming_with_v14 materials])<br />
* Dyalog '14 D15: [https://dyalog.tv/Dyalog14/?v=naxY5_KF0lo WPF Third Party Controls: Syncfusion and the APLGrid] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D15_WPF_Third_Party_Controls materials]) (with Michael Hughes)<br />
* [[Dyalog '15]] D07: [https://dyalog.tv/Dyalog15/?v=HbVXWes1Fps Cross-platform User Interfaces] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D07_CrossPlatform_User_Interfaces.pdf slides])<br />
* Dyalog '15 D11: [https://dyalog.tv/Dyalog15/?v=76_wqInqkXw DP2 – The Dyalog Project Project] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D11_The_Dyalog_Project_Project.pdf slides])<br />
* Dyalog '15 D13: [https://dyalog.tv/Dyalog15/?v=aInyvTdMHMo External Workspaces] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D13_External_Workspaces_Kromberg.pdf slides_MK], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D13_External_Workspaces_Nielsen.pptx slides_SN]) (with Stig Nielsen)<br />
* [[Dyalog '16]] D05: [https://dyalog.tv/Dyalog16/?v=eUbpj3Cof0M vecdb] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D05_vecdb.pptx slides])<br />
* Dyalog '16 D09: [https://dyalog.tv/Dyalog16/?v=r2-GCi3iOCs Web Stack of the Future] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D09_Web_Stack_of_the_Future.pptx slides]) (with Bjørn Christensen)<br />
* Dyalog '16 D10: [https://dyalog.tv/Dyalog16/?v=uHTwPWAAsn0 Open Front Ends] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D10_Open_Front_Ends.pdf slides_MK]) (with [[Nick Nickolov]])<br />
* [[Dyalog '17]] D05: [https://dyalog.tv/Dyalog17/?v=yX2AyJa375k APL Source Code in Text Files] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D05_APL_Source_Code_in_Text_Files.pdf slides])<br />
* [[Dyalog '18]] D11: [https://dyalog.tv/Dyalog18/?v=LkXKUm9ffKA Cloud Computing with APL] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D11_Cloud_Computing.pdf slides])<br />
* [[Dyalog '19]] D05: [https://dyalog.tv/Dyalog19/?v=4cEqsBRMdW0 Link] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D05_Link.zip materials (zip file)]) (with [[Adám Brudzewsky]])<br />
* [[Dyalog '20]] D08: [https://dyalog.tv/Dyalog20/?v=DeNkIYRehSs Dyalog's Docker Containers] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D08_Dyalog_Docker_Containers.pdf slides])<br />
</div><br />
<br />
=== Webinars ===<br />
<div style="column-width:30em"><br />
* [https://dyalog.tv/Webinar/?v=cPwlaEaTm4Y Something Old, Something New & Something Experimental] (with Richard Smith)<br />
* [https://dyalog.tv/Webinar/?v=2zBE8dByWo4 Celebrating the release of Dyalog Version 16.0 and RIDE 4.0]<br />
* [https://dyalog.tv/Webinar/?v=OeOpdGF1bnc A closer look at the new primitives in version 16.0] (with [[John Scholes]])<br />
* [https://dyalog.tv/Webinar/?v=S3JBHDayVjU Source Code Management with GitHub and APL] (with [[Brian Becker]])<br />
* [https://dyalog.tv/Webinar/?v=KKJMeGAWGaE Microservices in Dyalog APL]<br />
* [https://dyalog.tv/Webinar/?v=8zcUYjdEPG0 Pre-Release User Commands] (With [[Adám Brudzewsky]])<br />
* [https://dyalog.tv/Webinar/?v=bpP99KEfUxI APL Processes and Isolates in the Clouds]<br />
* [https://dyalog.tv/Webinar/?v=yDpRGaheEH4 Acquiring online data using HttpCommand, ⎕JSON and ⎕XML]<br />
* [https://dyalog.tv/Webinar/?v=de-eVOkxzrg Source Code Management with Dyalog v17.1]<br />
* [https://dyalog.tv/Webinar/?v=BSQr203sbWc Introducing Dyalog version 18.0]<br />
</div><br />
<br />
=== Other talks ===<br />
<div style="column-width:30em"><br />
* [[APL87]]: [https://doi.org/10.1145/28315.28374 How to win the respect and admiration of the rest of the DP world]. With Kim S. Andreasen and Svend Elkjaer Frandsen.<br />
* [[APL90]]: [https://doi.org/10.1145/97808.97849 An application development platform]. With Martin Gfeller.<br />
* Herding Code: [https://herdingcode.com/herding-code-140-lightning-round-with-morten-kromberg-on-apl/ Lightning Round on APL] (podcast)<br />
* Talks at Google 2015: [https://www.youtube.com/watch?v=PlM9BXfu7UY Pragmatic Functional Programming Using Dyalog APL]<br />
* Functional Conf 2014: [https://www.youtube.com/watch?v=4lSJTh_-NN0 Pragmatic Functional Programming using Dyalog]<br />
* Functional Conf 2015: [https://www.youtube.com/watch?v=JvLWvyG7JEs Parallel Programming in Dyalog using Futures and Isolates]<br />
* PLDI 2016: [https://www.youtube.com/watch?v=mb4McHiU5ck ARRAY Workshop Keynote]<br />
* Functional Conf 2016: [https://www.youtube.com/watch?v=PlM9BXfu7UY Array Oriented Functional Programming with Dyalog]<br />
* Functional Geekery 2016: [https://www.functionalgeekery.com/episode-65-morten-kromberg/ Episode 65] (podcast)<br />
* Functional Conf 2017: [https://www.youtube.com/watch?v=1A1Kh-Ij99o Code Jugalbandi] (with Dhaval Dalal)<br />
* Jio talks 2019: [https://jiotalks.com/watch/204/category/Morten_Kromberg_&_Aaron_Hsu/Pragmatic_Array_Oriented_Functional_Programming Pragmatic Array Oriented Functional Programming] (with [[Aaron Hsu]])<br />
</div><br />
<br />
== External links ==<br />
<br />
* [https://dl.acm.org/profile/81100489261 ACM Digital Library]<br />
<br />
<br />
== References ==<br />
<references/><br />
<br />
{{APL community}}{{DEFAULTSORT:Kromberg}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:I.P. Sharp Associates employees]][[Category:Executives]][[Category:Founders]]</div>Fionahttps://aplwiki.com/index.php?title=Roger_Hui&diff=6984Roger Hui2021-06-22T13:03:39Z<p>Fiona: Added ACM external link</p>
<hr />
<div>[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]<br />
'''Roger Kwok Wah Hui''' (born 1953) is a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]]. He runs and maintains the Jsoftware website.<br />
__TOC__<br />
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]<br />
== History ==<br />
Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" ([[Ken Iverson|Iverson]], 1976, 1980), and [[Adin Falkoff|Falkoff]] and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and [[A Dictionary of APL|A Dictionary of the APL Language]], as it was then named. In 1996, Hui received the [[Iverson Award]] for his work on the design, implementation, and commercial development of J.<br />
<br />
== Publications ==<br />
<br />
=== APL conferences ===<br />
<div style="column-width:40em"><br />
* [[APL85]]: Design: a financial modelling system. With Fred Appleyard.<br />
* [[APL87]]: [https://www.jsoftware.com/papers/from.htm Some uses of { and }].<br />
* [[APL90]]: [https://www.jsoftware.com/papers/J1990.htm APL\?]. With [[Ken Iverson|Kenneth E. Iverson]], [[Eugene McDonnell|E. E. McDonnell]], and [[Arthur Whitney|Arthur T. Whitney]].<br />
* [[APL91]]: Gerunds and representations. With [[Bob Bernecky|Robert Bernecky]].<br />
* [[APL91]]: [https://www.jsoftware.com/papers/TacitDefn.htm Tacit definition]. With [[Ken Iverson|Kenneth E. Iverson]] and [[Eugene McDonnell|Eugene E. McDonnell]].<br />
* [[APL94]]: TAGS: trains, agendas, and gerunds. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL95]]: [https://www.jsoftware.com/papers/rank.htm Rank and uniformity].<br />
* [[APL95]]: Representations of recursion. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL97]]: Mathematical roots of J. With [[Ken Iverson|Kenneth E. Iverson]].<br />
* [[APL99]]: [https://www.jsoftware.com/papers/sparse.htm Sparse arrays in J].<br />
</div><br />
=== Dyalog user meetings ===<br />
<div style="column-width:40em"><br />
* [[Dyalog '08]] 05: [https://dyalog.tv/Dyalog08/?v=k8Wt5sDDzgI Performance Improvements in Dyalog: A Case Study] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/05_Hui_Performance materials])<br />
* [[Dyalog '09]] 15: Complex Numbers Implementation Stories ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/15_Hui_ComplexNumbers.ZIP materials])<br />
* Dyalog '09 26: [https://dyalog.tv/Dyalog09/?v=ui76NE5cMWo The Rank Operator] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/26_Hui_RankOperator.ZIP materials])<br />
* [[Dyalog '10]] P07: Hashing for Tolerant Index-Of ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P07_Hui_Hashing.htm materials])<br />
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[John Scholes]])<br />
* Dyalog '11 D05: [https://dyalog.tv/Dyalog11/?v=CkaQQYcxpfM Rational Numbers] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D05_rational_numbers materials])<br />
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[John Scholes]])<br />
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[John Scholes]])<br />
* Dyalog '12 D08: Dyalog APL Benchmarks and Performance Enhancements ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D08_Performance materials])<br />
* [[Dyalog '13]] D08: [https://dyalog.tv/Dyalog13/?v=J05FEbqDsZM Rank and Friends] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D08_Rank_and_Friends materials])<br />
* Dyalog '13 D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials]) (with [[Morten Kromberg]])<br />
* [[Dyalog '14]] D06: [https://dyalog.tv/Dyalog14/?v=7GDya-E3pxI The Tuning Pipeline] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D06_Tuning_Pipeline materials]) (with Kimmo Kekäläinen)<br />
* [[Dyalog '15]] D04: [https://dyalog.tv/Dyalog15/?v=AJzY4DgUVws Core Performance] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Foad.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Hui.zip materials_RH]) (with [[Jay Foad]])<br />
* Dyalog '15 D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[John Scholes]])<br />
* Dyalog '16 D08: [https://dyalog.tv/Dyalog16/?v=2AeONlTj1aY Performance: The Neverending Story] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_JF.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_RH.zip slides_RH]) (with [[Jay Foad]])<br />
* [[Dyalog '17]] D07: [https://dyalog.tv/Dyalog17/?v=69ncBGN3YiI Index-Of on Multiple Floats] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip materials])<br />
* Dyalog '17 D10: [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 Tolerant Unique] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials])<br />
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[John Scholes]])<br />
* [[Dyalog '18]] D14: [https://dyalog.tv/Dyalog18/?v=IOWDkqKbMwk Inverted Tables] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D14_Inverted_Tables.zip slides])<br />
* [[Dyalog '20]] D07: [https://dyalog.tv/Dyalog20/?v=GgXS0zpboAM Rational Arithmetic] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D07_Rational_Arithmetic.zip materials])<br />
</div><br />
=== Other talks ===<br />
* Functional Conf 2017: [https://www.youtube.com/watch?v=EJONZpNA81s Tests, Derivations, Proofs]<br />
<br />
== External links ==<br />
<br />
* [[wikipedia:Roger Hui|Roger Hui]]<br />
* [https://www.jsoftware.com/ Jsoftware website]<br />
* [https://dl.acm.org/profile/81100593990 ACM Digital Library]<br />
<br />
{{APL community}}{{DEFAULTSORT:Hui}}[[Category:People]][[Category:Jsoftware employees]][[Category:Dyalog Ltd. employees]][[Category:I.P. Sharp Associates employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]</div>Fionahttps://aplwiki.com/index.php?title=John_Scholes&diff=6968John Scholes2021-06-15T13:53:49Z<p>Fiona: </p>
<hr />
<div>[[File:01 gen 010-2014 staff photo.jpg|thumb|right|John Scholes]]<br />
{| class=wikitable style="float:right"<br />
|{{quote | "Humour is but the exercise of abstraction."|John Scholes. [http://dfns.dyalog.com/n_humour.htm ''Humour''], dfns workspace.}}<br />
|}<br />
'''John Morley Scholes''' (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He was the first lead developer at what eventually became [[Dyalog Ltd.]] and kept working for the company until his death, since when he has dedicated himself to the art of writing perfect programs.<ref>[http://dfns.dyalog.com/n_beyond.htm ''The Beyond''], dfns workspace.</ref> He was the designer and implementer of [[Dyalog APL]]'s direct functions ([[dfn]]s, pronounced "dee funs"), a major distinguishing advance which was since copied by all new APLs; [[NARS2000]], [[GNU APL]], [[ngn/apl]], [[dzaima/APL]], etc. He also advocated for simplicity in computer systems.<br />
<br />
In 1995 he and [[Pete Donnelly]] received the [[Iverson Award]] for their role in creating and promoting Dyalog APL.<br />
<br />
In 2009, Scholes produced an explanatory video of his implementation of John Conway's "Game of Life". It has since gathered over 200 000 views. He has also produced numerous, always well-received, presentation and papers on various subjects from the technical to the [[humor]]ous.<br />
<br />
== Publications ==<br />
<br />
* [https://doi.org/10.1145/75144.75159 "YSM: a full-screen manager for Dyalog APL"] at [[APL89]]. With S. D. Curtin.<br />
<br />
=== Dyalog user meetings and webinar ===<br />
<div style="column-width:30em"><br />
* [[Dyalog '06]] 04: Language Extensions<br />
* Dyalog '06 07: Functions as Results ([https://www.dyalog.com/uploads/conference/dyalog06/presentations/07_Scholes_FuncsAsResults materials])<br />
* [[Dyalog '07]] 09: Version 12.0 Performance Enhancements (with [[Nic Delcros]])<br />
* Dyalog '07 10: An Investigation into Higher Level Operators<br />
* [[Dyalog '08]] 06: Interpreter Performance (with [[Nic Delcros]])<br />
* Dyalog '08 08: [https://dyalog.tv/Dyalog08/?v=TwvgyNOtoK8 Journaled Files] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/08_SmithScholes_JournaledFiles.ppt materials]) (with [[Richard Smith]])<br />
* Dyalog '08 [https://dyalog.tv/Dyalog08/?v=SqTO9eZ4zg4 A Plea for Simplicity]<br />
* [[Dyalog '09]] 19: [https://dyalog.tv/Dyalog09/?v=8ic0ctto1HU Complex Numbers]<br />
* Dyalog '09 C03: Introduction to D-Functions (dfns) ([https://dyalog.tv/Dyalog09/?v=OZARVrGQQho VIDEO 1 (124 mins)], [https://dyalog.tv/Dyalog09/?v=RQNSe9s_3eE VIDEO 2 (67 mins)])<br />
* [[Dyalog '10]] P01: APL# – An APL for Microsoft .NET, Mono, Silverlight and Moonlight ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P01_KrombergScholesManktelow_APLSharp.pdf materials]) (with [[Morten Kromberg]] and Jonathan Manktelow)<br />
* Dyalog '10 P02: [https://dyalog.tv/APL2010/?v=Tq144y6DrME Unifying Traditional Functions and Dfns in APL#] ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P02_KrombergScholesManktelow_UnifyingFns.pdf materials]) (with [[Morten Kromberg]] and Jonathan Manktelow)<br />
* Dyalog '10 WS2: Introduction to Dfns ([https://dyalog.tv/APL2010/?v=-xsP154fE0o VIDEO 1 (67 mins)], [https://dyalog.tv/APL2010/?v=DkLxe9z1BKs VIDEO 2 (34 mins)])<br />
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[Roger Hui]])<br />
* Dyalog '11 D06: Function Trains for Dyalog APL<br />
* Dyalog '11 D07: Closures<br />
* Dyalog '11 D08: [https://dyalog.tv/Dyalog11/?v=mZ_qkXb_tV8 APL#] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D08_apl_sharp materials]) (with [[Morten Kromberg]] and Jonathan Manktelow)<br />
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[Roger Hui]])<br />
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[Roger Hui]])<br />
* Dyalog '12 D06: [https://dyalog.tv/Dyalog12/?v=L5rYVxPXV70 State-free Programming]<br />
* [[Dyalog '13]] D09: [https://dyalog.tv/Dyalog13/?v=7-93GzDqC08 Train Spotting in Version 14.0] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D09_Train_Spotting_in_Version_14.pdf slides])<br />
* Dyalog '13 D13: [https://dyalog.tv/Dyalog13/?v=3qGsCrkWT-4 Social Skills for Programmers]<br />
* [[Dyalog '14]] D09: [https://dyalog.tv/Dyalog14/?v=pVrNT2lGUUo Distractions] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D09_Distractions.pptx slides])<br />
* [[Dyalog '15]] D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[Roger Hui]])<br />
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[Roger Hui]])<br />
* Dyalog '16 L04: [https://dyalog.tv/Dyalog16/?v=WsmS4XBFvH0 Dyalog Implementation – The Early Years] (with Stephen Taylor and [[Geoff Streeter]])<br />
* [[Dyalog webinar]]: [https://dyalog.tv/Webinar/?v=OeOpdGF1bnc A closer look at the new primitives in version 16.0] (with [[Morten Kromberg]])<br />
* [[Dyalog '17]] D04: [https://dyalog.tv/Dyalog17/?v=74xrZkVlns0 A Case Study – Recoding from Procedural to Denotative Style] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D04_Recoding_from_Procedural_to_Denotative_Style.pdf slides])<br />
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[Roger Hui]])<br />
* Dyalog '17 D17: Prefix Agreement: A Proposal for an Extension to the <source lang=apl inline>@</source> Operator ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D17_Extension_to_the_At_Operator.pdf slides])<br />
* [[Dyalog '18]] D10: [https://dyalog.tv/Dyalog18/?v=y33XDD6ANt0 Dfns – Past, Present and Future] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D10_Dfns_Past_Present_Future.pdf slides])<br />
</div><br />
<br />
== External links ==<br />
<div style="column-width:30em"><br />
<br />
=== Websites ===<br />
<br />
* [[wikipedia: John_M._Scholes_(computer_scientist)|Wikipedia: John Scholes]]<br />
* [[Wikipedia: Direct functions]]<br />
* [http://johnscholes.rip/ Memorial website]<br />
<br />
=== Selected works ===<br />
<br />
* [https://www.youtube.com/watch?v=a9xAKttWgP4 Video: ''Game of Life'']<br />
* [https://www.youtube.com/watch?v=DmT80OseAGs Video: ''A Sudoku Solver in APL'']<br />
* [https://www.youtube.com/watch?v=DsZdfnlh_d0 Video: ''Depth-first search in APL'']<br />
* [http://dfns.dyalog.com/downloads/howcomp.pdf Article: ''How to Write Computer Programs'']<br />
</div><br />
<br />
== References ==<br />
<references/><br />
{{APL community}}{{DEFAULTSORT:Scholes}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]</div>Fionahttps://aplwiki.com/index.php?title=APL_Campfire&diff=6831APL Campfire2021-05-24T12:42:25Z<p>Fiona: </p>
<hr />
<div>[[File:APL Campfire Logo.png|thumb|right|[[humour#apples|Humorous]] promotional logo.]]<br />
The '''APL Campfire''' is a recurring [[wikipedia:Zoom (software)|Zoom]] meeting hosted by [[Adám Brudzewsky]] every fourth Sunday at 18:00 UTC, since 9 May, 2021, with each session lasting about an hour. The event focuses on the history of APL programming, inviting participants to tell stories of their experiences, and is recorded for future reference.<br />
<br />
== History ==<br />
The series started after Joel Wittenberg contacted [[Dyalog Ltd.]], wanting to reconnect with the APL community. He started the [[APL Dinosaurs]] Facebook group, and suggested a live meeting. Via Zoom, he met with his friend Harry Saal and Dyalog employee Adám Brudzewsky for an hour on May 9, 2021. The meeting was deemed so enjoyable, that the group decided to make it a scheduled recurring event.<br />
<br />
== Sessions ==<br />
{| class=wikitable<br />
! Date !! Speakers !! Subjects discussed<br />
|-<br />
| May 9, 2021 || Harry Saal, Joel Wittenberg, Adám Brudzewsky || APL on mainframes, <source lang=apl inline>⎕FMT</source>'s <source lang=apl inline>G</source>, and more (was not recorded)<br />
|-<br />
| Jun 6, 2021 || TBD || TBD (will be recorded)<br />
|-<br />
| Jul 4, 2021 || TBD || TBD (will be recorded)<br />
|}<br />
<br />
== External links ==<br />
* [https://us02web.zoom.us/j/83123786010 Zoom meeting] (831 2378 6010) ― passcode is the result of [https://tryapl.org/?clear&q=%C3%97%2F1966%2011%2027&run <source lang=apl inline>×/1966 11 27</source> evaluated as APL]<br />
{{APL community}}[[Category:Online resources]]</div>Fionahttps://aplwiki.com/index.php?title=APL_Campfire&diff=6830APL Campfire2021-05-24T12:33:32Z<p>Fiona: </p>
<hr />
<div>[[File:APL Campfire Logo.png|thumb|right|[[humour#apples|Humorous]] promotional logo.]]<br />
The '''APL Campfire''' is a recurring [[wikipedia:Zoom (software)|Zoom]] meeting hosted by [[Adám Brudzewsky]] every fourth Sunday at 18:00 UTC, since 9 May, 2021, with each session lasting about an hour. The event focuses on the history of APL programming, inviting participants to tell stories of their experiences, and is recorded for future reference.<br />
<br />
== History ==<br />
The series started after Joel Wittenberg contacted [[Dyalog Ltd.]], wanting to reconnect with the APL community. He started the [[APL Dinosaurs]] Facebook group, and suggested a live meeting. Via Zoom, he met with his friend Harry Saal and Dyalog employee Adám Brudzewsky for an hour on May 9, 2021, he met. The meeting was deemed so enjoyable, that the group decided to make it a scheduled recurring event.<br />
<br />
== Sessions ==<br />
{| class=wikitable<br />
! Date !! Speakers !! Subjects discussed<br />
|-<br />
| May 9, 2021 || Harry Saal, Joel Wittenberg, Adám Brudzewsky || APL on mainframes, <source lang=apl inline>⎕FMT</source>'s <source lang=apl inline>G</source>, and more (was not recorded)<br />
|-<br />
| Jun 6, 2021 || TBD || TBD (will be recorded)<br />
|-<br />
| Jul 4, 2021 || TBD || TBD (will be recorded)<br />
|}<br />
<br />
== External links ==<br />
* [https://us02web.zoom.us/j/83123786010 Zoom meeting] (831 2378 6010) ― passcode is the result of [https://tryapl.org/?clear&q=%C3%97%2F1966%2011%2027&run <source lang=apl inline>×/1966 11 27</source> evaluated as APL]<br />
{{APL community}}[[Category:Online resources]]</div>Fionahttps://aplwiki.com/index.php?title=John_Scholes&diff=6672John Scholes2021-04-15T08:07:31Z<p>Fiona: new video added</p>
<hr />
<div>[[File:01 gen 010-2014 staff photo.jpg|thumb|right|John Scholes]]<br />
{| class=wikitable style="float:right"<br />
|{{quote | "Humour is but the exercise of abstraction."|John Scholes. [http://dfns.dyalog.com/n_humour.htm ''Humour''], dfns workspace.}}<br />
|}<br />
'''John Morley Scholes''' (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He was the first lead developer at what eventually became [[Dyalog Ltd.]] and kept working for the company until his death, since when he has dedicated himself to the art of writing perfect programs.<ref>[http://dfns.dyalog.com/n_beyond.htm ''The Beyond''], dfns workspace.</ref> He was the designer and implementer of [[Dyalog APL]]'s direct functions ([[dfn]]s, pronounced "dee funs"), a major distinguishing advance which was since copied by all new APLs; [[NARS2000]], [[GNU APL]], [[ngn/apl]], [[dzaima/APL]], etc. He also advocated for simplicity in computer systems.<br />
<br />
In 1995 he and [[Pete Donnelly]] received the [[Iverson Award]] for their role in creating and promoting Dyalog APL.<br />
<br />
In 2009, Scholes produced an explanatory video of his implementation of John Conway's "Game of Life". It has since gathered almost 200 000 views. He has also produced numerous, always well-received, presentation and papers on various subjects from the technical to the [[humor]]ous.<br />
<br />
== Publications ==<br />
<br />
* [https://doi.org/10.1145/75144.75159 "YSM: a full-screen manager for Dyalog APL"] at [[APL89]]. With S. D. Curtin.<br />
<br />
=== Dyalog user meetings and webinar ===<br />
<div style="column-width:30em"><br />
* [[Dyalog '06]] 04: Language Extensions<br />
* Dyalog '06 07: Functions as Results ([https://www.dyalog.com/uploads/conference/dyalog06/presentations/07_Scholes_FuncsAsResults materials])<br />
* [[Dyalog '07]] 09: Version 12.0 Performance Enhancements (with [[Nic Delcros]])<br />
* Dyalog '07 10: An Investigation into Higher Level Operators<br />
* [[Dyalog '08]] 06: Interpreter Performance (with [[Nic Delcros]])<br />
* Dyalog '08 08: [https://dyalog.tv/Dyalog08/?v=TwvgyNOtoK8 Journaled Files] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/08_SmithScholes_JournaledFiles.ppt materials]) (with [[Richard Smith]])<br />
* Dyalog '08 [https://dyalog.tv/Dyalog08/?v=SqTO9eZ4zg4 A Plea for Simplicity]<br />
* [[Dyalog '09]] 19: [https://dyalog.tv/Dyalog09/?v=8ic0ctto1HU Complex Numbers]<br />
* Dyalog '09 C03: Introduction to D-Functions (dfns) ([https://dyalog.tv/Dyalog09/?v=OZARVrGQQho VIDEO 1 (124 mins)], [https://dyalog.tv/Dyalog09/?v=RQNSe9s_3eE VIDEO 2 (67 mins)])<br />
* [[Dyalog '10]] P01: APL# – An APL for Microsoft .NET, Mono, Silverlight and Moonlight ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P01_KrombergScholesManktelow_APLSharp.pdf materials]) (with [[Morten Kromberg]] and Jonathan Manktelow)<br />
* Dyalog '10 P02: [https://dyalog.tv/APL2010/?v=Tq144y6DrME Unifying Traditional Functions and Dfns in APL#] ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P02_KrombergScholesManktelow_UnifyingFns.pdf materials]) (with [[Morten Kromberg]] and Jonathan Manktelow)<br />
* Dyalog '10 WS2: Introduction to Dfns ([https://dyalog.tv/APL2010/?v=-xsP154fE0o VIDEO 1 (67 mins)], [https://dyalog.tv/APL2010/?v=DkLxe9z1BKs VIDEO 2 (34 mins)])<br />
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[Roger Hui]])<br />
* Dyalog '11 D06: Function Trains for Dyalog APL<br />
* Dyalog '11 D07: Closures<br />
* Dyalog '11 D08: [https://dyalog.tv/Dyalog11/?v=mZ_qkXb_tV8 APL#] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D08_apl_sharp materials]) (with [[Morten Kromberg]] and Jonathan Manktelow)<br />
* Dyalog '11 D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[Roger Hui]])<br />
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[Roger Hui]])<br />
* Dyalog '12 D06: [https://dyalog.tv/Dyalog12/?v=L5rYVxPXV70 State-free Programming]<br />
* [[Dyalog '13]] D09: [https://dyalog.tv/Dyalog13/?v=7-93GzDqC08 Train Spotting in Version 14.0] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D09_Train_Spotting_in_Version_14.pdf slides])<br />
* Dyalog '13 D13: [https://dyalog.tv/Dyalog13/?v=3qGsCrkWT-4 Social Skills for Programmers]<br />
* [[Dyalog '14]] D09: [https://dyalog.tv/Dyalog14/?v=pVrNT2lGUUo Distractions] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D09_Distractions.pptx slides])<br />
* [[Dyalog '15]] D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[Roger Hui]])<br />
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[Roger Hui]])<br />
* Dyalog '16 L04: [https://dyalog.tv/Dyalog16/?v=WsmS4XBFvH0 Dyalog Implementation – The Early Years] (with Stephen Taylor and [[Geoff Streeter]])<br />
* [[Dyalog webinar]]: [https://dyalog.tv/Webinar/?v=OeOpdGF1bnc A closer look at the new primitives in version 16.0] (with [[Morten Kromberg]])<br />
* [[Dyalog '17]] D04: [https://dyalog.tv/Dyalog17/?v=74xrZkVlns0 A Case Study – Recoding from Procedural to Denotative Style] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D04_Recoding_from_Procedural_to_Denotative_Style.pdf slides])<br />
* Dyalog '17 D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[Roger Hui]])<br />
* Dyalog '17 D17: Prefix Agreement: A Proposal for an Extension to the <source lang=apl inline>@</source> Operator ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D17_Extension_to_the_At_Operator.pdf slides])<br />
* [[Dyalog '18]] D10: [https://dyalog.tv/Dyalog18/?v=y33XDD6ANt0 Dfns – Past, Present and Future] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D10_Dfns_Past_Present_Future.pdf slides])<br />
</div><br />
<br />
== External links ==<br />
<div style="column-width:30em"><br />
<br />
=== Websites ===<br />
<br />
* [[wikipedia: John_M._Scholes_(computer_scientist)|Wikipedia: John Scholes]]<br />
* [[Wikipedia: Direct functions]]<br />
* [http://johnscholes.rip/ Memorial website]<br />
<br />
=== Selected works ===<br />
<br />
* [https://www.youtube.com/watch?v=a9xAKttWgP4 Video: ''Game of Life'']<br />
* [https://www.youtube.com/watch?v=DmT80OseAGs Video: ''A Sudoku Solver in APL'']<br />
* [https://www.youtube.com/watch?v=DsZdfnlh_d0 Video: ''Depth-first search in APL'']<br />
* [http://dfns.dyalog.com/downloads/howcomp.pdf Article: ''How to Write Computer Programs'']<br />
</div><br />
<br />
== References ==<br />
<references/><br />
{{APL community}}{{DEFAULTSORT:Scholes}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]</div>Fionahttps://aplwiki.com/index.php?title=Fonts&diff=6576Fonts2021-03-08T13:50:52Z<p>Fiona: </p>
<hr />
<div>With the prevalence of [[Unicode]], many systems render APL legibly out-of-the-box. However, for a uniform appearance, the font should be designed with APL in mind.<ref>Phil Chastney: ''[http://www.chastney.com/~philip/SImPL/APL_fonts_are_different.pdf APL fonts are different]''<br />
</ref> This article lists some fonts that are suited for APL.<br />
== Monospace ==<br />
{|class=wikitable<br />
!Name<br>(website) !! Source<br>(download) !! Description !! Sample<br />
|-<br />
| [https://www.ibm.com/us-en/marketplace/apl2 APL2 Unicode] || [https://www.ibm.com/account/reg/us-en/signup?formid=urx-32206 IBM] || Straight from IBM typewriter terminals with oblique letters. ||<br />
[[File:APL2 Unicode.png|none]]<br />
|-<br />
|[http://apl385.com/fonts/index.htm APL385 Unicode]||[http://apl385.com/fonts/apl385.zip Adrian Smith]||Inspired by Comic Sans Serif.||<br />
[[File:APL385 Unicode.png|none]]<br />
|-<br />
|[https://abrudz.github.io/APL386/ APL386 Unicode]||[https://github.com/abrudz/APL386/raw/master/APL386.ttf GitHub]||APL385 Unicode with fewer issues and more accented characters.||<br />
[[File:APL386 Unicode.png|none]]<br />
|-<br />
|[https://github.com/dzaima/BQN386 BQN386 Unicode]||[https://github.com/dzaima/BQN386/blob/master/BQN386.ttf?raw=true GitHub]||Re-hinted APL386 Unicode with harmonised glyphs and support for [[BQN]].||<br />
[[File:APL386 Unicode.png|none]]<br />
|-<br />
| [http://www.microapl.com/apl/learn_apl.html APLX Upright] || [http://www.microapl.co.uk/download/aplx_unicode.ttf MicroAPL] || A monospaced grotesque font, reminiscent of Akzidenz-Grotesk.||<br />
[[File:APLX Upright.png|none]]<br />
|-<br />
| [https://www.ibm.com/us-en/marketplace/apl2 Courier APL2 Unicode] || [https://www.ibm.com/account/reg/us-en/signup?formid=urx-32206 IBM] || The classic Courier typewriter font, extended with APL symbols.||<br />
[[File:Courier APL2 Unicode.png|none]]<br />
|-<br />
|[https://mlochbaum.github.io/BQN/fonts.html DejaVu BQN Sans Mono]||[https://github.com/mlochbaum/BQN/blob/master/docs/DejaVuBQNSansMono.ttf?raw=true GitHub]||DejaVu Sans Mono with support for [[BQN]].||<br />
[[File:DejaVu Sans Mono.png|none]]<br />
|-<br />
|[https://dejavu-fonts.github.io/ DejaVu Sans Mono]||[https://github.com/senotrusov/dejavu-fonts-ttf/raw/master/ttf/DejaVuSansMono.ttf GitHub]||Wide range of characters with original look and feel of Vera.||<br />
[[File:DejaVu Sans Mono.png|none]]<br />
|-<br />
|[https://github.com/chrismwendt/bront DejaVu Sans Mono Bront]||[https://github.com/chrismwendt/bront/raw/master/DejaVuSansMono-Bront.ttf GitHub]|| DejaVu Sans Mono tweaked to be better geared for programming.||<br />
[[File:DejaVu Sans Mono Bront.png|none]]<br />
|-<br />
|[https://www.nerdfonts.com/ DejaVu Sans Mono Nerd]||[https://raw.githubusercontent.com/ryanoasis/nerd-fonts/v2.0.0/patched-fonts/DejaVuSansMono/Regular/complete/DejaVu%20Sans%20Mono%20Nerd%20Font%20Complete%20Mono.ttf AUR]|| DejaVu Sans Mono patched with a high number of extra glyphs.||[[File:DejaVu Sans Mono.png|none]]<br />
|-<br />
| [https://www.evertype.com/emono/ Everson Mono] || [https://www.evertype.com/emono/evermono-beta.zip Evertype] (shareware) || A simple font, quite legible at sizes as small as 4 points. || [[File:Everson Mono.png|none]]<br />
|-<br />
| [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax] || rowspan=2|[https://www.kreativekorp.com/swdownload/fonts/relaybm/fairfax.zip KreativeKorp] || Regular/Bold/Italic 6×12 bitmap font supporting many characters. || [[File:Fairfax.png|none]]<br />
|-<br />
| [https://www.kreativekorp.com/software/fonts/fairfax.shtml Fairfax Serif] || Serif 6×12 bitmap font supporting many characters. || [[File:Fairfax_Serif.png|none]]<br />
|-<br />
| [https://www.kreativekorp.com/software/fonts/fairfaxhd.shtml Fairfax HD] || [https://www.kreativekorp.com/swdownload/fonts/core/fairfaxhd.zip KreativeKorp] || Plotter-like font supporting many characters. || [[File:Fairfax HD.png|none]]<br />
|-<br />
| [https://github.com/rbanffy/3270font IBM 3270] || [https://github.com/rbanffy/3270font/releases/download/v2.2.1/3270_fonts_70de9c7.zip GitHub] || Modern version of a classic [[IBM]] terminal font. || [[File:IBM 3270.png|none|500px]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Anonymous Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss02-5.0.4.zip GitHub]||rowspan=7|A slender, highly customisable monospace sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono. This list includes seven ready-made versions, but it is easy to build one's own version too. ||[[File:Iosevka Anonymous Pro.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Fira Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss05-5.0.4.zip GitHub] || [[File:Iosevka Fira Mono.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Pragmata Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss08-5.0.4.zip GitHub] || [[File:Iosevka Pragmata Pro.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Source Code Pro Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss09-5.0.4.zip GitHub] || [[File:Iosevka Source Code Pro.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] JetBrains Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss14-5.0.4.zip GitHub] || [[File:Iosevka JetBrains Mono.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] IBM Plex Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss15-5.0.4.zip GitHub] || [[File:Iosevka IBM Plex Mono.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka] Recursive Mono Style || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss17-5.0.4.zip GitHub] || [[File:Iosevka Recursive Mono.png|none]]<br />
|-<br />
| [https://codeberg.org/Wezl/fonts poultreMono] || [https://codeberg.org/attachments/80ef79e8-a589-4e30-98bd-9382e8555a76 Codeberg] || A 5×9 pixel font. || [[File:PoultreMono.png|none]]<br />
|-<br />
| [https://www.fsd.it/shop/fonts/pragmatapro/ PragmataPro] || (commercial) || A condensed font optimized for coding, mathematics and engineering.||<br />
[[File:PragmataPro.png|none]]<br />
|-<br />
| [https://abrudz.github.io/SAX2/ SAX2] || [https://github.com/abrudz/SAX2/raw/master/SAX2.ttf GitHub]||Curly font with italic letters, based on Sharp APL for Unix.||<br />
[[File:SAX2.png|none]]<br />
|-<br />
|[http://archive.vector.org.uk/art10002160 SImPL] ||[http://archive.vector.org.uk/resource/simpl02.zip Vector]||Courier-based, but thicker.||<br />
[[File:SImPL.png|none]]<br />
|}<br />
<br />
== Proportional ==<br />
{|class=wikitable<br />
!Name<br>(website) !! Source<br>(download) !! Description !! Sample<br />
|-<br />
|[http://apl385.com/fonts/index.htm APL333]|| [http://apl385.com/fonts/apl333.zip Adrian Smith] || Proportionally spaced version of APL385 Unicode||<br />
[[File:APL333.png|none]]<br />
|-<br />
| [https://en.wikipedia.org/wiki/Code2000 Code2000] || [https://www.fontspace.com/code2000-font-f13284 FontSpace] || Wedge-serif pan-Unicode font. || <br />
[[File:Code2000.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka Aile] || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-aile-5.0.4.zip GitHub]|| Proportionally spaced version of Iosevka. ||<br />
[[File:Iosevka Aile.png|none]]<br />
|-<br />
| [https://typeof.net/Iosevka/ Iosevka Etoile] || [https://github.com/be5invis/Iosevka/releases/download/v5.0.4/ttf-iosevka-fixed-ss02-5.0.4.zip GitHub]|| Proportionally spaced slab-serif version of Iosevka. ||<br />
[[File:Iosevka Etoile.png|none]]<br />
|-<br />
| [http://www.quivira-font.com/ Quivira] || [http://www.quivira-font.com/files/Quivira.otf Website] || Serif font supporting many symbols, similar to Garamond. || <br />
[[File:Quivira.png|none]]<br />
|-<br />
| [https://www.fonts.com/font/microsoft-corporation/segoe-ui-symbol Segoe UI Symbol] || (commercial) || Microsoft's humanist interface and corporate font. || [[File:Segoe UI Symbol.png|none]]<br />
|-<br />
|[https://www.stixfonts.org/ Stix Two Math]||[https://github.com/stipub/stixfonts/archive/v2.0.2.zip GitHub]|| Serif font, broadly compatible with Times New Roman.||<br />
[[File:Stix Two Math.png|none]]<br />
|}<br />
<br />
[[File:APLTypeBall.jpg|thumb|right|The APL typeball]]<br />
<br />
== Historical anecdote ==<br />
Using [[IBM]]'s [[APL\360]] required the use of the [[wikipedia:IBM_2741#APL\360|IBM 2741]] or [[wikipedia:IBM 1050|IBM 1050]] printing terminal with an APL [[wikipedia:type ball|type ball]]. The APL2741 font is based directly on this type ball.<br />
<br />
== References ==<br />
<references/><br />
{{APL development}}[[Category:APL character set]][[Category:Lists]]</div>Fionahttps://aplwiki.com/index.php?title=Typing_glyphs&diff=6437Typing glyphs2021-02-16T14:19:56Z<p>Fiona: /* Hardware */</p>
<hr />
<div>APL uses a large range of [[glyphs|special graphic symbols]] to represent most functions and operators. While keyboard mappings become memorized over time, entering APL characters can frustrate the beginner. However, a study involving high school students found that typing and using APL characters did not hinder the students in any measurable way. There are several convenient ways to enter the glyphs.<br />
<br />
[[File:Dyalog US keyboard.jpg|thumb|right|US keyboard with [[Dyalog APL]] glyphs]]<br />
== Hardware ==<br />
<br />
A couple of keyboards are being sold with APL symbols pre-printed onto the key caps:<br />
<br />
* Dyalog sells [https://www.dyalog.com/apl-font-keyboard.htm#mainContent US English, UK English, Danish and German keyboards].<br />
<br />
* Unicomp sells both [https://www.amazon.com/Unicomp-Classic-Buckling-Spring-Keyboard/dp/B01M7V3M61/ref=sr_1_8 entire keyboards] and [https://www.pckeyboard.com/page/product/USAPLSET separate key caps] for their keyboard range.<br />
<br />
Note that these devices only are visual modifications on regular keyboards; they do not automatically enable entry of APL glyphs into software. For this, one of the below methods is required.<br />
<br />
== By platform ==<br />
<br />
[[File:Adám Brudzewsky's in-browser language bar.png|thumb|right|The in-browser language bar]]<br />
=== Web ===<br />
<br />
[[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] adds APL keyboard functionality to most web pages on demand.<br />
<br />
=== Text editors ===<br />
<br />
Keyboard layout extensions exist for several popular [[text editors]] like VS Code, Emacs and Vim. This can be an alternative, or complementary, to system-wide settings.<br />
<br />
=== Linux ===<br />
{{Main|Typing glyphs on Linux}}<br />
<br />
Most Linux distributions released after mid-2012 have Dyalog keyboard support included with the distribution.<br />
<br />
[[File:Hacker's Keyboard + APL language.png|thumb|right|Hacker's Keyboard + APL language]]<br />
=== Android ===<br />
<br />
dzaima's [https://github.com/dzaima/hackerskeyboard Hacker's Keyboard + APL language] uses a [[wikipedia:Pointing_device_gesture#Touchpad_and_touchscreen_gestures|long-press]] to access APL glyphs.<br />
<br />
=== Windows ===<br />
<br />
* [[Adám Brudzewsky]] has [https://github.com/abrudz/Kbd various keyboard English layouts for Windows], which allow <kbd>AltGr</kbd> as shifting key, <kbd>`</kbd> as prefix key, or ASCII symbol composition.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd>. Unless unselected, this [[wikipedia:Input_method|IME]] is installed by default with [[Dyalog APL]]:<br>[[File:Dyalog_APL_Installer.png|frameless|Dyalog APL IME selected in installer]]<br />
<br />
== By method ==<br />
<br />
Most of today's APLs use a mapping which derives from the original [[APL\360]] terminals' keyboard layout. For example, Dyalog APL's standard US English layout for is as follows:<br />
<pre><br />
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬─────────┐<br />
│~ ⌺ │! ⌶ │@ ⍫ │# ⍒ │$ ⍋ │% ⌽ │^ ⍉ │& ⊖ │* ⍟ │( ⍱ │) ⍲ │_ ! │+ ⌹ │Backspace│<br />
│` ⋄ │1 ¨ │2 ¯ │3 < │4 ≤ │5 = │6 ≥ │7 > │8 ≠ │9 ∨ │0 ∧ │- × │= ÷ │ │<br />
├────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬──────┤<br />
│Tab │Q │W │E ⍷ │R │T ⍨ │Y │U │I ⍸ │O ⍥ │P ⍣ │{ ⍞ │} ⍬ │| ⊣ │<br />
│ │q ? │w ⍵ │e ∊ │r ⍴ │t ~ │y ↑ │u ↓ │i ⍳ │o ○ │p * │[ ← │] → │\ ⊢ │<br />
├───────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴──────┤<br />
│Caps │A │S │D │F │G │H │J ⍤ │K ⌸ │L ⌷ │: ≡ │" ≢ │Enter │<br />
│Lock │a ⍺ │s ⌈ │d ⌊ │f _ │g ∇ │h ∆ │j ∘ │k ' │l ⎕ │; ⍎ │' ⍕ │ │<br />
├────────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──────────┤<br />
│Shift │Z ⊆ │X │C │V │B │N │M │< ⍪ │> ⍙ │? ⍠ │Shift │<br />
│ │z ⊂ │x ⊃ │c ∩ │v ∪ │b ⊥ │n ⊤ │m | │, ⍝ │. ⍀ │/ ⌿ │ │<br />
└───────────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────────────┘<br />
</pre><br />
Additional charts for other layouts are [https://dfns.dyalog.com/n_keyboards.htm available].<br />
<br />
There are multiple ways to access the glyphs associated with a particular key.<br />
<br />
=== Shifting key ===<br />
<br />
It is quite common to use <kbd>Ctrl</kbd> or <kbd>Alt</kbd> or <kbd>AltGr</kbd> (right-side <kbd>Alt</kbd>) as an additional shifting key. For example, <kbd>AltGr</kbd>+<kbd>AltGr</kbd>+<kbd>4</kbd> would give <source lang=apl inline>≤</source> while <kbd>AltGr</kbd>+<kbd>Shift</kbd>+<kbd>4</kbd> would give <source lang=apl inline>⍋</source>.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd><br />
<br />
* [[NARS2000]] uses <kbd>Alt</kbd><br />
<br />
* [[APLX]] uses <kbd>AltGr</kbd> with an option to also use <kbd>Alt</kbd><br />
<br />
=== Prefix key ===<br />
<br />
A prefix key is a special key or character which is entered immediately before typing the corresponding key.<br />
<br />
* [[TryAPL]] and [[ngn/apl]]'s scripted demo interface support <kbd>`</kbd> as prefix key.<br />
<br />
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] and the [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) uses <kbd>`</kbd> by default, but allows choosing any key as prefix key.<br />
<br />
* [[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] recognises all the following as prefix keys: <kbd>`</kbd>, <kbd>½</kbd>, <kbd>²</kbd>, <kbd>^</kbd>, <kbd><s>º</s></kbd>, <kbd>§</kbd>, <kbd>ù</kbd>, <kbd>µ</kbd>, <kbd>°</kbd>.<br />
<br />
[[File:RIDE keyword lookup.png|thumb|right|RIDE keyword lookup]]<br />
<br />
=== Long-press ===<br />
<br />
dzaima's [https://github.com/dzaima/hackerskeyboard Hacker's Keyboard + APL language] reacts to a [[wikipedia:Pointing_device_gesture#Touchpad_and_touchscreen_gestures|long-press]], popping up a palette that allows selecting any of the APL glyphs associated with that button.<br />
<br />
=== Keyword look-up ===<br />
<br />
* The [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) allows hitting the prefix key (<kbd>`</kbd> by default, but configurable) twice, followed by the (beginning of the) name of a symbol or a functionality. It then displays a drop-down of choices with arrow keys to indicate choice and the Tab key to insert the symbol. E.g. <kbd>`</kbd>,<kbd>`</kbd>,<kbd>d</kbd>,<kbd>i</kbd>,<kbd>v</kbd>,<kbd>Tab↹</kbd> inserts <source lang=apl inline>÷</source>.<br />
<br />
=== ASCII symbol composition ===<br />
<br />
* Many APL glyphs can be approximated by overlaying or juxtaposing two ASCII characters. [[ngn/apl]]'s scripted demo interface and [https://abrudz.github.io/lb/apl Adám Brudzewsky's in-browser language bar] allow such a pair of characters and hitting the <kbd>Tab↹</kbd> key to replace them with the corresponding APL character. For example, <kbd><</kbd>,<kbd>-</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>←</source> and <kbd>T</kbd>,<kbd>o</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>⍕</source>.<br />
<br />
[[File:NARS2000 language bar.png|thumb|right|NARS2000 language bar]]<br />
=== On-screen language bar ===<br />
<br />
Several APL IDEs allow the display of a toolbar with a button for each APL glyph:<br />
<br />
* [[Dyalog APL]], [[NARS2000]], [[APL2]] and [[ngn/apl]]'s scripted demo interface all have this feature.<br />
<br />
=== LaTeX ===<br />
<br />
In order to typeset APL using LaTeX, you need to be sure your LaTeX engine has full Unicode support. At the time of writing, LuaLaTeX and XeLaTeX are two of the most popular such alternatives, both included with TeX Live.<br />
<br />
After ensuring you have a LaTeX engine that is Unicode capable, you need to make sure your .tex document is using a [[Fonts|font]] that has the APL glyphs you want to type. One way to do this is through the fontspec package, as seen in the example template below.<br />
<br />
To check your setup is fully functional you can try compiling the following template:<br />
[[File:LaTeX APL template.png|thumb|right|Screenshot of the typeset document]]<br />
<source lang=latex><br />
\documentclass[11pt]{article}<br />
<br />
\usepackage{fontspec}<br />
\setmainfont{APL385 Unicode}<br />
\setmonofont{APL385 Unicode}[Scale=MatchLowercase]<br />
<br />
\begin{document}<br />
<br />
I just want some ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\textbackslash⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤⍥@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇\& ¯⍬<br />
<br />
\texttt{The ``setmonofont'' was needed because of this, otherwise ⍺⌊¯→⍬ wouldn't show properly}.<br />
<br />
\end{document}<br />
</source><br />
<br />
Depending on whether you want the whole document to use the APL font or not, you may remove the command to set the main font. If you do so, APL glyphs will be rendered correctly inside code listings and similar environments, but not in the main body of the document.<br />
<br />
==== Listings ====<br />
<br />
LuaLaTeX and XeLaTeX can use the [https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings ''listings'' package] to include APL source with the following document preamble:<ref>Baker, John D. [https://analyzethedatanotthedrivel.org/2011/08/15/typesetting-utf8-apl-code-with-the-latex-lstlisting-package/ Typesetting UTF8 APL code with the LaTeX lstlisting package]. Analyze the Data not the Drivel. August 15, 2011.</ref><br />
<source lang=latex><br />
% set lstlisting to accept UTF8 APL text<br />
\makeatletter<br />
\lst@InputCatcodes<br />
\def\lst@DefEC{%<br />
\lst@CCECUse \lst@ProcessLetter<br />
^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%<br />
^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%<br />
^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%<br />
^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%<br />
^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%<br />
^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%<br />
^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%<br />
^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%<br />
^^^^20ac^^^^0153^^^^0152%<br />
^^^^20a7^^^^2190^^^^2191^^^^2192^^^^2193^^^^2206^^^^2207^^^^220a%<br />
^^^^2218^^^^2228^^^^2229^^^^222a^^^^2235^^^^223c^^^^2260^^^^2261%<br />
^^^^2262^^^^2264^^^^2265^^^^2282^^^^2283^^^^2296^^^^22a2^^^^22a3%<br />
^^^^22a4^^^^22a5^^^^22c4^^^^2308^^^^230a^^^^2336^^^^2337^^^^2339%<br />
^^^^233b^^^^233d^^^^233f^^^^2340^^^^2342^^^^2347^^^^2348^^^^2349%<br />
^^^^234b^^^^234e^^^^2350^^^^2352^^^^2355^^^^2357^^^^2359^^^^235d%<br />
^^^^235e^^^^235f^^^^2361^^^^2362^^^^2363^^^^2364^^^^2365^^^^2368%<br />
^^^^236a^^^^236b^^^^236c^^^^2371^^^^2372^^^^2373^^^^2374^^^^2375%<br />
^^^^2377^^^^2378^^^^237a^^^^2395^^^^25af^^^^25ca^^^^25cb%<br />
^^00}<br />
\lst@RestoreCatcodes<br />
\makeatother<br />
</source><br />
<br />
== References ==<br />
<references/><br />
{{APL development}}<br />
{{APL glyphs}}<br />
[[Category:APL character set]][[Category:Lists]]</div>Fionahttps://aplwiki.com/index.php?title=Morten_Kromberg&diff=2020Morten Kromberg2019-11-21T14:46:23Z<p>Fiona: </p>
<hr />
<div>[[File:MK at Google.png|thumb|right|Morten Kromberg [https://youtu.be/PlM9BXfu7UY talks at Google], 2015.]]<br />
In 1979, '''Morten Kromberg''' met some people who were setting up an office for [[I.P.Sharp Associates]] (IPSA) in Oslo, Norway. There, he had unlimited access to APL timesharing. During the 1980's, he attempted multiple times to become an academic, repeatedly but repeatedly ended up in paid work, implementing databases, crew scheduling systems and modelling North Sea oil production.<br />
<br />
He met [[Gitte Christensen]] via the IPSA Mailbox (also written in APL, before the Internet) and moved to the IPSA Copenhagen, Denmark, office in 1984. Upon the birth of his son in 1985, he gave up the idea of getting a degree, and learned how to install and maintain [[SHARP APL]] applications on mainframe computers — working on this until IPSA was bought by Reuters — finally leaving to form Insight Systems together with Gitte Christensen and Kim Andreasen in 1990. For a while they combined SHARP APL work with work in [[APL*PLUS]] and [[Dyalog APL]] on PCs.<br />
<br />
[[File:Iverson Morten.png|thumb|left|Morten Kromberg's Iverson Award]]<br />
<br />
During a period with little billable work, Insight Systems implemented SQAPL (also known as APL Link Pro in the APL*PLUS community) which quickly became the de-facto standard ODBC interface within the APL community.<br />
<br />
Around 1995, Insight Systems became part of Adaytum Software, and Kromberg became the new CTO. The Insight Systems division took over responsibility for the development of Adaytum Planning, a budgeting and performance measurement application which uses Dyalog APL at its core. The application was eventually sold to Cognos in 2002. In 2008, Cognos was bought by [[IBM]] which continues the marketing of the original Adaytum product.<br />
<br />
Morten Kromberg became the CTO of [[Dyalog Ltd.]] in 2005 and has held the position since, except for 2015–June 2019 during which he served as CXO.<ref>'''[https://www.dyalog.com/blog/about-the-cto/ About The CTO…]'', Dyalog Blog.</ref> In 2016, Morten Kromberg and CEO Gitte Christensen received a joint [[Iverson Award]] for the substantial leaps forward in APL technology that have been made under their leadership.<ref>''[http://www.dyalog.com/dyalogue-newsletters.htm?nl=27&a=158 2016 Iverson Award Recognises Dyalog's CEO and CXO]'', DYALOGue Newsletter 27.</ref><br />
== References ==<br />
<references/><br />
<br />
{{APL community}}[[Category:People|Kromberg]]<br />
<br />
<br />
http://www.dyalog.com/dyalogue-newsletters.htm?nl=27&a=158</div>Fionahttps://aplwiki.com/index.php?title=Dyalog_Ltd.&diff=2019Dyalog Ltd.2019-11-21T14:39:56Z<p>Fiona: </p>
<hr />
<div>[[File:Dyalog head office.jpg|thumb|right|Dyalog's head office]]<br />
'''Dyalog Ltd.''' (originally Dyadic Systems Ltd.) is a British company that specialises in APL products, especially developing [[Dyalog APL]] and providing consultancy services to Dyalog APL users.<br />
<br />
== History ==<br />
<br />
=== Dyadic Systems consulting ===<br />
<br />
Dyadic Systems was formed in 1976 by Ted Hare, Phil Goacher and David Crossley, a breakaway group of APL consultants from time-sharing bureau W.S. Atkins Computing. The group had been working on the [[Sigma APL]] processor, and was joined by other Atkins employees including [[Geoff Streeter]] and John Stembridge. Dyadic provided independent design and development services unaffiliated with any specific vendor. The steadily growing group of analysts gained a broad collective experience over numerous flavours of APL. While the emphasis remained with [[SHARP APL]], [[APL*PLUS]] and Sigma APL, they also worked with APLs from IBM, DEC, Honeywell, Burroughs, and others, in addition to some non-APL languages. IBM was promoting [[VSAPL]] as its primary personal and departmental computing platform; this was a potential source of further demand for consulting.<br />
<br />
During this period Dyadic hired [[Pauline Brand]] and [[Pete Donnelly]].<br />
<br />
=== Dyalog APL ===<br />
<br />
The market for personal computers was quickly growing at the beginning of the 1980s. As a consulting rather than a timesharing business, Dyadic was not tied to the mainframe model, but was hindered by the small number of APL implementations for PC. One such implementation was in the firmware of the MCM micro. It had an idiosyncratic reverse implementation of the [[scan]] operator and limited the size of arrays to 255 elements along each [[axis]]. It provided the facilities to generate a GUI interface, at least in providing form-based input and output, but was slow. More substantial APLs had been implemented for the IBM 5110 and for the Motorola 68000 chip, available as Wicat computers. Even Bill Gates of Microsoft contemplated writing one, and talk to Ian Sharp of [[I.P. Sharp Associates]] about a reduced APL–how little one could get away with, but the project was cancelled before a product was released.<br />
<br />
Dyadic Systems met with Zilog UK regarding the upcoming System 8000, or Z8000, microcomputer in 1981. Zilog wanted an APL for the Z8000, since the Swedish Ministry of Defence, in a call for tenders from Unix suppliers, had listed APL as a software requirement.<br />
<br />
Dyalog (Europe) Ltd. was registered for this purpose in 1981. The new company blended both names, as mentioned in the press release:<br />
<blockquote><br />
This company is DYALOG (EUROPE) LIMITED,<br />
the name Dyalog being a hybrid derived from Dyadic and Zilog.<br />
</blockquote><br />
The “Marketing Strategy” paper read:<br />
<blockquote><br />
Our plan is to develop a low-price:<br />
* Industry-standard APL interpreter (Sharp look-alike but more comprehensive)<br />
* Running on an industry-standard 16-bit chip (Z8000)<br />
* Under an industry-standard operating system (UNIX)<br />
</blockquote><br />
<br />
Zilog provided Dyadic a dedicated Z8000 minicomputer and generous development facilities to develop Dyalog. Dyadic hired [[John Scholes]], another former Atkins employee who had previously left to work as a developer on another APL implementation (for the ICL 2900) as designer and chief programmer for the project. [[Geoff Streeter]] and David Crossley joined Scholes as Dyalog implementors.<br />
<br />
The choice to implement Dyalog in C on a UNIX system would later enable Dyalog APL to be ported to many other systems. The choice to make Dyalog a [[Nested array model|nested]] APL like [[NARS]] and the in-process [[APL2]] would also have a major effect on Dyalog's development as a company.<br />
<br />
== External links ==<br />
<br />
=== Websites ===<br />
<br />
* [https://dyalog.com Website]<br />
<br />
* [https://dyalog.tv dyalog.tv]<br />
<br />
=== Events ===<br />
<br />
Dyalog arranges several annual events (for dates see Dyalog's [https://www.dyalog.com/dates-for-your-diary.htm Event calendar]):<br />
<br />
* [https://www.dyalog.com/student-competition.htm APL problem solving competition ]<br />
<br />
* [https://www.dyalog.com/user-meetings/index.htm Dyalog User Meeting] (many of the sessions are recorded and later released on [https://dyalog.tv dyalog.tv])<br />
<br />
=== Social media ===<br />
<br />
* [https://www.dyalog.com/blog/ Blog]<br />
<br />
* [https://twitter.com/DyalogAPL Twitter]<br />
<br />
* [https://www.facebook.com/DyalogAPL Facebook]<br />
<br />
* [https://www.linkedin.com/company/dyalog-ltd-/ LinkedIn]<br />
<br />
=== Functional programming conferences ===<br />
<br />
In recent years, Dyalog has continuously presented at the following functional programming conferences:<br />
<br />
* [https://lambdaconf.zohobackstage.com/ LambdaConf]<br />
<br />
* [https://functionalconf.com/ FunctionalConf]<br />
<br />
{{APL community}}</div>Fionahttps://aplwiki.com/index.php?title=Dyalog_Ltd.&diff=2018Dyalog Ltd.2019-11-21T14:38:34Z<p>Fiona: </p>
<hr />
<div>[[File:Dyalog head office.jpg|thumb|right|Dyalog's head office]]<br />
'''Dyalog Ltd.''' (originally Dyadic Systems Ltd.) is a British firm which specialises in APL products, especially developing [[Dyalog APL]] and providing consultancy services to Dyalog APL users.<br />
<br />
== History ==<br />
<br />
=== Dyadic Systems consulting ===<br />
<br />
Dyadic Systems was formed in 1976 by Ted Hare, Phil Goacher, and David Crossley, a breakaway group of APL consultants from time-sharing bureau W.S. Atkins Computing. The group had been working on the [[Sigma APL]] processor, and was joined by other Atkins employees including [[Geoff Streeter]] and John Stembridge. Dyadic provided independent design and development services unaffiliated with any specific vendor. The steadily growing group of analysts gained a broad collective experience over numerous flavours of APL. While the emphasis remained with [[SHARP APL]], [[APL*PLUS]] and Sigma APL, they also worked with APLs from IBM, DEC, Honeywell, Burroughs, and others, in addition to some non-APL languages. IBM was promoting [[VSAPL]] as its primary personal and departmental computing platform; this was a potential source of further demand for consulting.<br />
<br />
During this period Dyadic hired [[Pauline Brand]] and [[Pete Donnelly]].<br />
<br />
=== Dyalog APL ===<br />
<br />
The market for personal computers was quickly growing at the beginning of the 1980s. As a consulting rather than a timesharing business, Dyadic was not tied to the mainframe model, but was hindered by the small number of APL implementations for PC. One such implementation was in the firmware of the MCM micro. It had an idiosyncratic reverse implementation of the [[scan]] operator and limited the size of arrays to 255 elements along each [[axis]]. It provided the facilities to generate a GUI interface, at least in providing form-based input and output, but was slow. More substantial APLs had been implemented for the IBM 5110 and for the Motorola 68000 chip, available as Wicat computers. Even Bill Gates of Microsoft contemplated writing one, and talk to Ian Sharp of [[I.P. Sharp Associates]] about a reduced APL–how little one could get away with, but the project was cancelled before a product was released.<br />
<br />
Dyadic Systems met with Zilog UK regarding the upcoming System 8000, or Z8000, microcomputer in 1981. Zilog wanted an APL for the Z8000, since the Swedish Ministry of Defence, in a call for tenders from Unix suppliers, had listed APL as a software requirement.<br />
<br />
Dyalog (Europe) Ltd. was registered for this purpose in 1981. The new company blended both names, as mentioned in the press release:<br />
<blockquote><br />
This company is DYALOG (EUROPE) LIMITED,<br />
the name Dyalog being a hybrid derived from Dyadic and Zilog.<br />
</blockquote><br />
The “Marketing Strategy” paper read:<br />
<blockquote><br />
Our plan is to develop a low-price:<br />
* Industry-standard APL interpreter (Sharp look-alike but more comprehensive)<br />
* Running on an industry-standard 16-bit chip (Z8000)<br />
* Under an industry-standard operating system (UNIX)<br />
</blockquote><br />
<br />
Zilog provided Dyadic a dedicated Z8000 minicomputer and generous development facilities to develop Dyalog. Dyadic hired [[John Scholes]], another former Atkins employee who had previously left to work as a developer on another APL implementation (for the ICL 2900) as designer and chief programmer for the project. [[Geoff Streeter]] and David Crossley joined Scholes as Dyalog implementors.<br />
<br />
The choice to implement Dyalog in C on a UNIX system would later enable Dyalog APL to be ported to many other systems. The choice to make Dyalog a [[Nested array model|nested]] APL like [[NARS]] and the in-process [[APL2]] would also have a major effect on Dyalog's development as a company.<br />
<br />
== External links ==<br />
<br />
=== Websites ===<br />
<br />
* [https://dyalog.com Website]<br />
<br />
* [https://dyalog.tv dyalog.tv]<br />
<br />
=== Events ===<br />
<br />
Dyalog arranges several annual events (for dates see Dyalog's [https://www.dyalog.com/dates-for-your-diary.htm Event calendar]):<br />
<br />
* [https://www.dyalog.com/student-competition.htm APL problem solving competition ]<br />
<br />
* [https://www.dyalog.com/user-meetings/index.htm Dyalog User Meeting] (many of the sessions are recorded and later released on [https://dyalog.tv dyalog.tv])<br />
<br />
=== Social media ===<br />
<br />
* [https://www.dyalog.com/blog/ Blog]<br />
<br />
* [https://twitter.com/DyalogAPL Twitter]<br />
<br />
* [https://www.facebook.com/DyalogAPL Facebook]<br />
<br />
* [https://www.linkedin.com/company/dyalog-ltd-/ LinkedIn]<br />
<br />
=== Functional programming conferences ===<br />
<br />
In recent years, Dyalog has continuously presented at the following functional programming conferences:<br />
<br />
* [https://lambdaconf.zohobackstage.com/ LambdaConf]<br />
<br />
* [https://functionalconf.com/ FunctionalConf]<br />
<br />
{{APL community}}</div>Fionahttps://aplwiki.com/index.php?title=Dyalog_Ltd.&diff=2017Dyalog Ltd.2019-11-21T14:34:47Z<p>Fiona: /* Social media */</p>
<hr />
<div>[[File:Dyalog head office.jpg|thumb|right|Dyalog's head office]]<br />
'''Dyalog Ltd.''' (originally Dyadic Systems Ltd.) is a British firm which specialises in APL products, especially developing [[Dyalog APL]] and providing consultancy services to Dyalog APL users.<br />
<br />
== History ==<br />
<br />
=== Dyadic Systems consulting ===<br />
<br />
Dyadic Systems was formed in 1976 by Ted Hare, Phil Goacher, and David Crossley, a breakaway group of APL consultants from time-sharing bureau W.S. Atkins Computing. The group had been working on the [[Sigma APL]] processor, and was joined by other Atkins employees including [[Geoff Streeter]] and John Stembridge. Dyadic provided independent design and development services unaffiliated with any specific vendor. The steadily growing group of analysts gained a broad collective experience over numerous flavours of APL. While the emphasis remained with [[SHARP APL]], [[APL*PLUS]] and Sigma APL, they also worked with APLs from IBM, DEC, Honeywell, Burroughs, and others, in addition to some non-APL languages. IBM was promoting [[VSAPL]] as its primary personal and departmental computing platform; this was a potential source of further demand for consulting.<br />
<br />
During this period Dyadic hired [[Pauline Brand]] and [[Pete Donnelly]].<br />
<br />
=== Dyalog APL ===<br />
<br />
The market for personal computers was quickly growing at the beginning of the 1980s. As a consulting rather than a timesharing business, Dyadic was not tied to the mainframe model, but was hindered by the small number of APL implementations for PC. One such implementation was in the firmware of the MCM micro. It had an idiosyncratic reverse implementation of the [[scan]] operator and limited the size of arrays to 255 elements along each [[axis]]. It provided the facilities to generate a GUI interface, at least in providing form-based input and output, but was slow. More substantial APLs had been implemented for the IBM 5110 and for the Motorola 68000 chip, available as Wicat computers. Even Bill Gates of Microsoft contemplated writing one, and talk to Ian Sharp of [[I.P. Sharp Associates]] about a reduced APL–how little one could get away with, but the project was cancelled before a product was released.<br />
<br />
Dyadic Systems met with Zilog UK regarding the upcoming System 8000, or Z8000, microcomputer in 1981. Zilog wanted an APL for the Z8000, since the Swedish Ministry of Defence, in a call for tenders from Unix suppliers, had listed APL as a software requirement.<br />
<br />
Dyalog (Europe) Ltd. was registered for this purpose in 1981. The new company blended both names, as mentioned in the press release:<br />
<blockquote><br />
This company is DYALOG (EUROPE) LIMITED,<br />
the name Dyalog being a hybrid derived from Dyadic and Zilog.<br />
</blockquote><br />
The “Marketing Strategy” paper read:<br />
<blockquote><br />
Our plan is to develop a low-price:<br />
* Industry-standard APL interpreter (Sharp look-alike but more comprehensive)<br />
* Running on an industry-standard 16-bit chip (Z8000)<br />
* Under an industry-standard operating system (UNIX)<br />
</blockquote><br />
<br />
Zilog provided Dyadic a dedicated Z8000 minicomputer and generous development facilities to develop Dyalog. Dyadic hired [[John Scholes]], another former Atkins employee who had previously left to work as a developer on another APL implementation (for the ICL 2900) as designer and chief programmer for the project. [[Geoff Streeter]] and David Crossley joined Scholes as Dyalog implementors.<br />
<br />
The choice to implement Dyalog in C on a UNIX system would later enable Dyalog APL to be ported to many other systems. The choice to make Dyalog a [[Nested array model|nested]] APL like [[NARS]] and the in-process [[APL2]] would also have a major effect on Dyalog's development as a company.<br />
<br />
== External links ==<br />
<br />
=== Websites ===<br />
<br />
* [https://dyalog.com Website]<br />
<br />
* [https://dyalog.tv dyalog.tv]<br />
<br />
=== Events ===<br />
<br />
Dyalog arranges multiple recurring events:<br />
<br />
* [https://www.dyalog.com/dates-for-your-diary.htm Event calendar]<br />
<br />
* [https://www.dyalog.com/student-competition.htm Dyalog problem solving competition ]<br />
<br />
* [https://www.dyalog.com/user-meetings/index.htm Dyalog User Meeting] (many of the sessions are recorded and later released on [https://dyalog.tv dyalog.tv])<br />
<br />
=== Social media ===<br />
<br />
* [https://www.dyalog.com/blog/ Blog]<br />
<br />
* [https://twitter.com/DyalogAPL Twitter]<br />
<br />
* [https://www.facebook.com/DyalogAPL Facebook]<br />
<br />
* [https://www.linkedin.com/company/dyalog-ltd-/ LinkedIn]<br />
<br />
=== Functional programming conferences ===<br />
<br />
For several years in a row, Dyalog has continuously been presenting at these:<br />
<br />
* [https://lambdaconf.zohobackstage.com/ LambdaConf]<br />
<br />
* [https://functionalconf.com/ FunctionalConf]<br />
<br />
{{APL community}}</div>Fionahttps://aplwiki.com/index.php?title=John_Scholes&diff=2016John Scholes2019-11-21T14:32:10Z<p>Fiona: </p>
<hr />
<div>[[File:01 gen 010-2014 staff photo.jpg|thumb|right|John Scholes]]<br />
{| class=wikitable style="float:right"<br />
|{{quote | "Humour is but the exercise of abstraction."|John Scholes. [http://dfns.dyalog.com/n_humour.htm ''Humour''], dfns workspace.}}<br />
|}<br />
John Morley Scholes (1948–2019) was a British computer scientist. His professional career was devoted to the development of APL. He was the first lead developer at what eventually became [[Dyalog Ltd.]] and kept working for the company until his death, since when he has dedicated himself to the art of writing perfect programs.<ref>[http://dfns.dyalog.com/n_beyond.htm ''The Beyond''], dfns workspace.</ref> He was the designer and implementer of [[Dyalog APL]]'s direct functions ([[dfn]]s, pronounced "dee funs"), a major distinguishing advance which was since copied by all new APLs; [[NARS2000]], [[GNU APL]], [[ngn/apl]], [[dzaima/APL]], etc. He also advocated for simplicity in computer systems.<br />
<br />
In 2009, Scholes produced an explanatory video of his implementation of John Conway's "Game of Life". It has since gathered almost 200 000 views. He has also produced numerous, always well-received, presentation and papers on various subjects from the technical to the humorous.<br />
<br />
== External links ==<br />
<br />
=== Websites ===<br />
<br />
* [[wikipedia:John_M._Scholes_(computer_scientist)|Wikipedia: John Scholes]]<br />
* [[Wikipedia: Direct functions]]<br />
* [http://johnscholes.rip/ Memorial website]<br />
<br />
=== Selected works ===<br />
<br />
* [https://www.youtube.com/watch?v=a9xAKttWgP4 Video: ''Game of Life'']<br />
* [https://www.youtube.com/watch?v=qSVR4Z3DA24 Video: ''A Plea for Simplicity'']<br />
* [http://dfns.dyalog.com/downloads/howcomp.pdf Article: ''How to Write Computer Programs'']<br />
<br />
== References ==<br />
<references/><br />
{{APL community}}[[Category:People|Scholes]]</div>Fiona