APL Orchard: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
[[File:APL Orchard activity.png|thumb|right|Typical activity over a 24-hour period (UTC)]]
[[File:APL Orchard activity.png|thumb|right|Typical activity over a 24-hour period (UTC)]]
'''The APL Orchard''' is a [[wikipedia:Stack Exchange|Stack Exchange]] chat room dedicated to learn and teach APL, and to ask and answer questions about both golfing and general coding in APL. It began on January 24, 2017, and remains the most active APL chat room today, with over a thousand messages per week. It passed a total of a hundred thousand messages, and two hundred users, in July 2020. The [[#Chat_bot|chat bot]] synchronises the Stack Exchange room with the [[wikipedia:Freenode|Freenode]] #apl IRC room.
'''The APL Orchard''' is a [[wikipedia:Stack Exchange|Stack Exchange]] chat room dedicated to learn and teach APL, and to ask and answer questions about both golfing and general coding in APL. It was opened by [[Adám Brudzewsky]] on January 24, 2017, and has since developed its own community, remaining the most active APL chat room today, with over a thousand messages per week. It passed a total of a hundred thousand messages, and two hundred users, in July 2020. The [[#Chat_bot|chat bot]] synchronises the Stack Exchange room with the [[wikipedia:Freenode|Freenode]] #apl IRC room. Many participants arrive as complete beginners when it comes to APL, some not even knowing what APL is, instead being attracted by the room being among the most active on Stack Exchange, others are APL veterans.


=== Access ===
== Access ==
 
[[File:Generic avatar.png|thumb|right|The giant avatar]]
While anyone can read the ongoing and past conversations, write access requires a Stack Exchange account and either 20 Stack Exchange reputation points or having been granted explicit write access by a moderator. The procedure for getting explicit write access is as follows:
While anyone can read the ongoing and past conversations, write access requires a Stack Exchange account and either 20 [https://stackoverflow.com/help/whats-reputation Stack Exchange reputation] points or having been granted explicit write access by a moderator. The procedure for getting explicit write access is as follows:


# Go to the chat room
# Go to the chat room
Line 11: Line 11:
# Copy the URL of the page that opens (e.g. "<nowiki>https://chat.stackexchange.com/users/123456/johndoe</nowiki>")
# Copy the URL of the page that opens (e.g. "<nowiki>https://chat.stackexchange.com/users/123456/johndoe</nowiki>")
# Email that URL to support@dyalog.com
# Email that URL to support@dyalog.com
== Features ==
=== Messages ===
In the chat you can use a simplified subset of [[wikipedia:markdown|markdown]] for simple formatting like ''italics'', '''bold''' and <s>strikethrough</s>. You can include [[wikipedia:Easter_egg_(media)|links]] in your messages, or post an image. See [[{{PAGENAME}}#Basic Formatting|below]] for details.
To write a message, type into the input field and press <kbd>Enter</kbd> or click the <kbd>send</kbd> button to submit.
To post an image which is already hosted online, submit a message consisting exclusively of the URL to the image. Users with sufficient Stack Exchange reputation, see an <kbd>upload…</kbd> to the right <kbd>send</kbd>, allowing uploading images directly from their computer.
A user can be pinged (audio is played on their device) by writing <source lang=md inline>@</source>, followed by the username without spaces. On the top-right, to the left of <kbd>all rooms</kbd> you can configure the sound of notifications. If the user hasn't been in the room before, or hasn't been in it for long enough, they might not be pingable. The Stack Exchange Android app allows receiving ping notifications as push notifications regardless of whether you're in the room. There is no way to ping everyone in the room, although <code>@all</code> is used as a non-pinging convention when addressing everyone.
To mark a message as potentially valuable for others, hover over it and and click the dark grey star (<span style=color:#222222>★</span>). This will cause it to turns yellow (<span style=color:#f3c200>★</span>) and the message will be visible on the starboard (the right sidebar) for some time. Click again to un-star.
To enter APL characters, see the article on [[typing glyphs]].
=== Replies ===
To reply to a specific message, hover over the message you want to reply to and click <kbd>↳</kbd> in the bottom-right corner of that message. This will insert a code similar to <code>:12345678</code> into the input field. Proceed to type your response and press enter or click <kbd>send</kbd> to send it. Note that replying to a message pings the user who wrote the message. To reply to users posting from IRC, via the chat bot, it is preferred to use <source lang=md inline>name:</source> instead of <code>@name</code>. Note that IRC users do not see edits, deletions, or formatting.
You can view what a message was a reply to by clicking the reply indicator icon <kbd>↰</kbd> to the left of a message, which will either focus the target message on the screen, or, if the target message is too far in the past, open up the transcript pointing to the target message. Alternatively, hovering over a message will highlight the message it is replying to, and all its replies.
Some use a reply of <source lang=md inline>+←1</source> to indicate agreement or appreciation,<ref>Thus is a pun on the APL expression <source lang=apl inline>counter+←1</source> increasing the counter (of "likes") by one.</ref> similar to how "+1" or "👍" is used in other social media.
=== Basic formatting ===
* '''Italics''': <source lang=md inline>*italics*</source> or <source lang=md inline>_italics_</source>
* '''Bold''': <source lang=md inline>**bold**</source> or <source lang=md inline>__bold__</source>
* '''Strike through''': <source lang=md inline>---strike through---</source>
* '''Inline code:''' <source lang=md inline>`inline code`</source> <ref>Use <code>``double`backticks\``</code> for code that includes a backtick or a trailing backslash. If using 1 layer of backticks, backticks can be escaped with a backslash (<code>`\`x\`y`</code> renders as <source lang=md inline>`x`y</source>. If using more than 1 layer of backticks, slashes have no special behavior. To include multiple consecutive backticks, use more than that many to enclose the code. Note that inline code cannot have leading or white-space.</ref>
* '''Link''': <source lang=md inline>https://example.com</source> or <source lang=md inline>[display me](https://example.com)</source> or <source lang=md inline>[display me](https://example.com "hover text")</source><ref>Long URLs will be truncated with an ellipsis. A URL that exceeds the maximum message length of 500 characters can still be posted as a raw URL (without markdown): Follow it by <kbd>Shift</kbd>+<kbd>Enter</kbd>.</ref>
* '''Tags''': <source lang=md inline>[tag:code-golf]</source> or <source lang=md inline>[meta-tag:discussion]</source> (tags from Stack Exchange's [[code golf]] community, [https://codegolf.stackexchange.com/ Code Golf & Coding Challenges])
* '''Oneboxes:''' When posted alone in a message, optionally preceded by a reply indicator (<code>:12345678</code>), some links (images, Wikipedia pages, Stack Exchange links, etc.) get "oneboxed", giving them an expanded display with special formatting.
=== Multiline messages ===
It's possible to insert write line breaks in messages with <kbd>Shift</kbd>+<kbd>Enter</kbd>, however, this disables normal markdown.
If each line of a message is preceded by 4 spaces (can automatically be inserted with with <kbd>Ctrl</kbd>+<kbd>k</kbd> or with the <kbd>fixed font</kbd> button once multiple lines have been entered), the whole message will appear in monospace font. Note that individual lines cannot be formatted this way, and that there is no support for "code fences" (triple backticks before and after code).
To post a mixture of body text and code blocks, simply posting multiple messages in quick succession. The chat will render them as if merged into a single message.
=== After posting ===
Within 2 minutes of posting a message, it can be edited or deleted. The edit history of a message (unless it has been deleted) is publicly visible ― see "history" when clicking <kbd>▼</kbd> actions on the left of a message.
A [[wikipedia:permalink|permalink]] of a message can be gotten by copying the link on the <kbd>▼</kbd> actions panel.
The user interface doesn't directly allow replying to oneself. However, there is a work-around: Click <kbd>▼</kbd> actions on the left of your message and copy the permalink. The message number is after the pound sign <code>#</code> in the URL. Copy it and start your message with a colon and the pasted number immediately after, for example <code>:1234568 Really?</code>.
In the transcript, the edit history is available for all messages, and this view includes the source of a message. The easiest way to reach it is to middle-click the <kbd>▼</kbd> action menu on the left of the wanted message to open the transcript in a new tab (or click, then click "permalink", if you don't have a middle mouse button), then click <kbd>▼</kbd> and then "history".


=== Chat bot ===
=== Chat bot ===


The room features a chat bot which can evaluate safe APL. To use it, prefix a chat message, inline code, or a code block with <source lang=apl inline>⋄</source>. Using markdown (for example <source lang=md inline>`⋄ 2+3`</source>) or fixed-width (4 or more initial spaces on each line, which can be inserted by pressing <kbd>Ctrl</kbd>+<kbd>K</kbd>) is recommended to ensures proper rendering with monospace font, and avoids interpretation of APL symbols as markdown.
The room features a chat bot, '''Dyalog APL''', which can evaluate a safe subset of APL.<ref>Using [[Adám Brudzewsky]]'s [https://github.com/abrudz/dyalog-safe-exec Safe Execute for Dyalog APL] tool.</ref> To use it, prefix a chat message, inline code, or a code block with <source lang=apl inline>⋄</source>. Using markdown (for example <source lang=md inline>`⋄ 2+3`</source>) or fixed-width (4 or more initial spaces on each line, which can be inserted by pressing <kbd>Ctrl</kbd>+<kbd>k</kbd>) is highly recommended for readability and to avoids interpretation of APL symbols as markdown.


=== Live sessions ===
== Live sessions ==
==== APL Cultivation ====
 
=== APL Cultivation ===
:{{Main|APL Cultivation}}
:{{Main|APL Cultivation}}
From 18 October 2017 until 16 May 2018, [[Adám Brudzewsky]] ran a series of 29 weekly 90-minute study sessions, covering most aspects of basic APL programming. Beginning 28 November 2019, he resumed the series with 20 more in-depth lessons every two weeks, ending 25 August, 2020.
From 18 October 2017 until 16 May 2018, [[Adám Brudzewsky]] ran a series of 29 weekly 90-minute study sessions, covering most aspects of basic APL programming. Beginning 28 November 2019, he resumed the series with 20 more in-depth lessons every two weeks, ending 25 August, 2020.


==== APL Seeds ====
=== APL Seeds ===
:{{Main|APL Seeds}}
:{{Main|APL Seeds}}
Beginning 10 June 2020, [[Marshall Lochbaum]] ran a mini-series of chat lessons on implementing APL.
Beginning 10 June 2020, [[Marshall Lochbaum]] ran a mini-series of chat lessons on implementing APL, especially focusing on [[BQN]].


== External links ==
== External links ==
Line 30: Line 78:
* [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard Room info]
* [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard Room info]
* [https://chat.stackexchange.com/transcript/52405 Full transcript]
* [https://chat.stackexchange.com/transcript/52405 Full transcript]
{{APL community}}[[Category:Online forums]]
 
== Notes==
<references/>
{{APL community}}[[Category:Online forums]][[Category:Tutorials]]

Revision as of 03:54, 21 December 2020

Typical activity over a 24-hour period (UTC)

The APL Orchard is a Stack Exchange chat room dedicated to learn and teach APL, and to ask and answer questions about both golfing and general coding in APL. It was opened by Adám Brudzewsky on January 24, 2017, and has since developed its own community, remaining the most active APL chat room today, with over a thousand messages per week. It passed a total of a hundred thousand messages, and two hundred users, in July 2020. The chat bot synchronises the Stack Exchange room with the Freenode #apl IRC room. Many participants arrive as complete beginners when it comes to APL, some not even knowing what APL is, instead being attracted by the room being among the most active on Stack Exchange, others are APL veterans.

Access

The giant avatar

While anyone can read the ongoing and past conversations, write access requires a Stack Exchange account and either 20 Stack Exchange reputation points or having been granted explicit write access by a moderator. The procedure for getting explicit write access is as follows:

  1. Go to the chat room
  2. Click the giant lower-left avatar
  3. Click "user profile"
  4. Copy the URL of the page that opens (e.g. "https://chat.stackexchange.com/users/123456/johndoe")
  5. Email that URL to support@dyalog.com

Features

Messages

In the chat you can use a simplified subset of markdown for simple formatting like italics, bold and strikethrough. You can include links in your messages, or post an image. See below for details.

To write a message, type into the input field and press Enter or click the send button to submit.

To post an image which is already hosted online, submit a message consisting exclusively of the URL to the image. Users with sufficient Stack Exchange reputation, see an upload… to the right send, allowing uploading images directly from their computer.

A user can be pinged (audio is played on their device) by writing @, followed by the username without spaces. On the top-right, to the left of all rooms you can configure the sound of notifications. If the user hasn't been in the room before, or hasn't been in it for long enough, they might not be pingable. The Stack Exchange Android app allows receiving ping notifications as push notifications regardless of whether you're in the room. There is no way to ping everyone in the room, although @all is used as a non-pinging convention when addressing everyone.

To mark a message as potentially valuable for others, hover over it and and click the dark grey star (). This will cause it to turns yellow () and the message will be visible on the starboard (the right sidebar) for some time. Click again to un-star.

To enter APL characters, see the article on typing glyphs.

Replies

To reply to a specific message, hover over the message you want to reply to and click in the bottom-right corner of that message. This will insert a code similar to :12345678 into the input field. Proceed to type your response and press enter or click send to send it. Note that replying to a message pings the user who wrote the message. To reply to users posting from IRC, via the chat bot, it is preferred to use name: instead of @name. Note that IRC users do not see edits, deletions, or formatting.

You can view what a message was a reply to by clicking the reply indicator icon to the left of a message, which will either focus the target message on the screen, or, if the target message is too far in the past, open up the transcript pointing to the target message. Alternatively, hovering over a message will highlight the message it is replying to, and all its replies.

Some use a reply of +←1 to indicate agreement or appreciation,[1] similar to how "+1" or "👍" is used in other social media.

Basic formatting

  • Italics: *italics* or _italics_
  • Bold: **bold** or __bold__
  • Strike through: ---strike through---
  • Inline code: `inline code` [2]
  • Link: https://example.com or [display me](https://example.com) or [display me](https://example.com "hover text")[3]
  • Tags: [tag:code-golf] or [meta-tag:discussion] (tags from Stack Exchange's code golf community, Code Golf & Coding Challenges)
  • Oneboxes: When posted alone in a message, optionally preceded by a reply indicator (:12345678), some links (images, Wikipedia pages, Stack Exchange links, etc.) get "oneboxed", giving them an expanded display with special formatting.

Multiline messages

It's possible to insert write line breaks in messages with Shift+Enter, however, this disables normal markdown.

If each line of a message is preceded by 4 spaces (can automatically be inserted with with Ctrl+k or with the fixed font button once multiple lines have been entered), the whole message will appear in monospace font. Note that individual lines cannot be formatted this way, and that there is no support for "code fences" (triple backticks before and after code).

To post a mixture of body text and code blocks, simply posting multiple messages in quick succession. The chat will render them as if merged into a single message.

After posting

Within 2 minutes of posting a message, it can be edited or deleted. The edit history of a message (unless it has been deleted) is publicly visible ― see "history" when clicking actions on the left of a message.

A permalink of a message can be gotten by copying the link on the actions panel.

The user interface doesn't directly allow replying to oneself. However, there is a work-around: Click actions on the left of your message and copy the permalink. The message number is after the pound sign # in the URL. Copy it and start your message with a colon and the pasted number immediately after, for example :1234568 Really?.

In the transcript, the edit history is available for all messages, and this view includes the source of a message. The easiest way to reach it is to middle-click the action menu on the left of the wanted message to open the transcript in a new tab (or click, then click "permalink", if you don't have a middle mouse button), then click and then "history".

Chat bot

The room features a chat bot, Dyalog APL, which can evaluate a safe subset of APL.[4] To use it, prefix a chat message, inline code, or a code block with . Using markdown (for example `⋄ 2+3`) or fixed-width (4 or more initial spaces on each line, which can be inserted by pressing Ctrl+k) is highly recommended for readability and to avoids interpretation of APL symbols as markdown.

Live sessions

APL Cultivation

Main article: APL Cultivation

From 18 October 2017 until 16 May 2018, Adám Brudzewsky ran a series of 29 weekly 90-minute study sessions, covering most aspects of basic APL programming. Beginning 28 November 2019, he resumed the series with 20 more in-depth lessons every two weeks, ending 25 August, 2020.

APL Seeds

Main article: APL Seeds

Beginning 10 June 2020, Marshall Lochbaum ran a mini-series of chat lessons on implementing APL, especially focusing on BQN.

External links

Notes

  1. Thus is a pun on the APL expression counter+←1 increasing the counter (of "likes") by one.
  2. Use ``double`backticks\`` for code that includes a backtick or a trailing backslash. If using 1 layer of backticks, backticks can be escaped with a backslash (`\`x\`y` renders as `x`y. If using more than 1 layer of backticks, slashes have no special behavior. To include multiple consecutive backticks, use more than that many to enclose the code. Note that inline code cannot have leading or white-space.
  3. Long URLs will be truncated with an ellipsis. A URL that exceeds the maximum message length of 500 characters can still be posted as a raw URL (without markdown): Follow it by Shift+Enter.
  4. Using Adám Brudzewsky's Safe Execute for Dyalog APL tool.
APL community [edit]
Conferences and activities Advent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL ShowAPL Problem Solving CompetitionAPL ChallengeAPL QuestAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson Award
Chat rooms and forums APL FarmAPL Orchard
User groups APL et J (France) ∙ APL Germany (terminology) ∙ APL ∊ BCN (Spain) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ SIGAPL (USA) ∙ Tokyo APL/J/K Meetup (Japan)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterArthur Whitney
Other APL Quote QuadAPL WikiBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels