APL Orchard: Difference between revisions

Jump to navigation Jump to search
1,265 bytes added ,  20:58, 7 March 2023
bot is MIA
No edit summary
(bot is MIA)
 
(12 intermediate revisions by 3 users not shown)
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''' ([https://apl.chat apl.chat]) 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 1.000 messages per week. It passed a total of a 100.000 messages by 200 users in July 2020, 150.000 messages by 250 users in February 2021, and reached 300 users in August 2021. Code can be executed directly in the chat room.
'''The APL Orchard''' (website: [https://apl.chat apl.chat]) 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. It was at one point the most active APL chat room, with over 1.000 messages per week. It passed a total of a 100.000 messages by 200 users in July 2020, 150.000 messages by 250 users in February 2021, reached 300 users in August 2021, and 200.000 messages by 350 users in December 2021. Code can be executed directly in the chat room.


Many participants arrive as complete beginners when it comes to APL, some not even knowing what APL is. Instead, they are attracted by the room being among the most active on Stack Exchange. Other participants are APL veterans. [[Morten Kromberg]] has written a [[blogs|blog]] post about the chat room, focusing on Dyalog Ltd.'s relationship with newcomers and established users.<ref>[[Morten Kromberg]]. [https://www.dyalog.com/blog/2021/02/the-apl-orchard/ The APL Orchard]. [[Dyalog Ltd.|Dyalog]] Blog. 21 February 2021.</ref>
Many participants arrive as complete beginners when it comes to APL, some not even knowing what APL is. Instead, they are attracted by the room being among the most active on Stack Exchange. Other participants are APL veterans. [[Morten Kromberg]] has written a [[blogs|blog]] post about the chat room, focusing on Dyalog Ltd.'s relationship with newcomers and established users.<ref>[[Morten Kromberg]]. [https://www.dyalog.com/blog/2021/02/the-apl-orchard/ The APL Orchard]. [[Dyalog Ltd.|Dyalog]] Blog. 21 February 2021.</ref>
Line 8: Line 8:
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:
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
# [https://apl.chat Go to the chat room]
# Click the giant lower-left avatar
# Click the giant lower-left avatar
# Click "user profile"
# Click "user profile"
Line 18: Line 18:
== Features ==
== Features ==
=== Messages ===
=== 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. The [https://chat.stackexchange.com/rooms/1/sandbox Sandbox] room can be used to experiment with the chat system without bothering anyone.
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. Users with at least 20 Stack Exchange reputation points can use the [https://chat.stackexchange.com/rooms/1/sandbox Sandbox] room can be used to experiment with the chat system without bothering anyone.


To write a message, type into the input field and press <kbd>Enter</kbd> or click the <kbd>send</kbd> button to submit.
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.
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> button to the right of the <kbd>send</kbd> button, 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.
A user can be pinged (audio is played on their device) by writing <syntaxhighlight lang=md inline>@</syntaxhighlight>, 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 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.
Line 32: Line 32:
=== Replies ===
=== 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. -->
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 <syntaxhighlight lang=md inline>name:</syntaxhighlight> 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.
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.


=== Basic formatting ===
=== Basic formatting ===
* '''Italics''': <source lang=md inline>*italics*</source> or <source lang=md inline>_italics_</source>
* '''Italics''': <syntaxhighlight lang=md inline>*italics*</syntaxhighlight> or <syntaxhighlight lang=md inline>_italics_</syntaxhighlight>
* '''Bold''': <source lang=md inline>**bold**</source> or <source lang=md inline>__bold__</source>
* '''Bold''': <syntaxhighlight lang=md inline>**bold**</syntaxhighlight> or <syntaxhighlight lang=md inline>__bold__</syntaxhighlight>
* '''Strike through''': <source lang=md inline>---strike through---</source>
* '''Strike through''': <syntaxhighlight lang=md inline>---strike through---</syntaxhighlight>
* {{Anchor|inline|'''Inline code:'''}} <source lang=md inline>`inline code`</source> <ref>Backticks can be escaped with a backslash (<source lang=md inline>`\`x\`y`</source> renders as <code>`x`y</code>). Alternatively, <code>```multiple``backticks\```</code>, which also disable <code>\</code>-escaping, can be used, giving <code>multiple``backticks\</code> - use a delimiter with one more backtick than the longest run of backticks in the code. Note that inline code cannot have leading white-space.</ref>
* {{Anchor|inline|'''Inline code:'''}} <syntaxhighlight lang=md inline>`inline code`</syntaxhighlight> <ref>Backticks can be escaped with a backslash (<syntaxhighlight lang=md inline>`\`x\`y`</syntaxhighlight> renders as <code>`x`y</code>). Alternatively, <code>```multiple``backticks\```</code>, which also disable <code>\</code>-escaping, can be used, giving <code>multiple``backticks\</code> - use a delimiter with one more backtick than the longest run of backticks in the code. Note that inline code cannot have leading 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>
* '''Link''': <syntaxhighlight lang=md inline>https://example.com</syntaxhighlight> or <syntaxhighlight lang=md inline>[display me](https://example.com)</syntaxhighlight> or <syntaxhighlight lang=md inline>[display me](https://example.com "hover text")</syntaxhighlight><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])
* '''Spoiler''': <syntaxhighlight lang=md inline>[spoiler](ftp:// "text hidden until hovered over")</syntaxhighlight>
* '''Tags''': <syntaxhighlight lang=md inline>[tag:code-golf]</syntaxhighlight> or <syntaxhighlight lang=md inline>[meta-tag:discussion]</syntaxhighlight> (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.
* '''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.


Line 63: Line 64:


=== Executing code ===
=== Executing code ===
 
[[TryAPL#Chat box exec|Chat box exec]] is a userscript which evaluates code directly in the message input field.
<!--
The APL Orchard features two ways of executing code directly in the chat room, both based on [[TryAPL]]:
The APL Orchard features two ways of executing code directly in the chat room, both based on [[TryAPL]]:


* [[TryAPL#Chatbot|A chatbot]] which responds to code in posted messages.
* [[TryAPL#Chatbot|A chatbot]] which responds to code in posted messages.
* [[TryAPL#Chat box exec|A userscript]] which evaluates code directly in the message input field.
* [[TryAPL#Chat box exec|A userscript]] which evaluates code directly in the message input field.
-->


== Conventions ==
== Conventions ==
Line 73: Line 76:
Since a lot of questions are repeated, it is courteous to search for an answer on [[APLcart]] before asking in the APL Orchard.
Since a lot of questions are repeated, it is courteous to search for an answer on [[APLcart]] before asking in the APL Orchard.


Announcements are made with the initial markdown <source lang=md inline>**Announcement:**</source> rendering the text in bold.
Announcements are made with the initial markdown <syntaxhighlight lang=md inline>**Announcement:**</syntaxhighlight> rendering the text in bold.


Some abbreviations are ubiquitous, like ''TMN'' for ''[[Comparison with traditional mathematics|Traditional Mathematical Notation]]'', and ''CMC'' for ''Chat Mini Challenge'' which usually implies an informal [[code golf]] competition. Additional terms an abbreviations are shared with [https://codegolf.meta.stackexchange.com/questions/12537/what-are-our-specific-abbreviations-and-terms/12538#12538 those of the Stack Exchange code golf community]. When posting such a chat mini challenge, the task specification is prefaced with the markdown <source lang=md inline>**CMC:**</source>, rendering the text in bold.
Some abbreviations are ubiquitous, like ''TMN'' for ''[[Comparison with traditional mathematics|Traditional Mathematical Notation]]'', and ''CMC'' for ''Chat Mini Challenge'' which usually implies an informal [[code golf]] competition. Additional terms an abbreviations are shared with [https://codegolf.meta.stackexchange.com/questions/12537/what-are-our-specific-abbreviations-and-terms/12538#12538 those of the Stack Exchange code golf community]. When posting such a chat mini challenge, the task specification is prefaced with the markdown <syntaxhighlight lang=md inline>**CMC:**</syntaxhighlight>, rendering the text in bold.


Some use a reply of <source lang=md inline>+←1</source> to indicate agreement or appreciation,<ref>This 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.
Some use a reply of <syntaxhighlight lang=md inline>+←1</syntaxhighlight> to indicate agreement or appreciation,<ref>This is a pun on the APL expression <syntaxhighlight lang=apl inline>counter+←1</syntaxhighlight> increasing the counter (of "likes") by one.</ref> similar to how "+1" or "👍" is used in other social media.


=== Emoticons ===
=== Emoticons ===


{|
{|
| <source lang=md inline>○/</source> || greeting, farewell
| <syntaxhighlight lang=md inline>○/</syntaxhighlight> || greeting, farewell
|-
|-
| <source lang=md inline>⍨</source> || frown, displeasure, "hmpf"
| <syntaxhighlight lang=md inline>⍨</syntaxhighlight> || frown, displeasure, "hmpf"
|-
|-
| <source lang=md inline>\○/</source> || despair, wonderment, "wow"  (be careful as this can be positive or negative)
| <syntaxhighlight lang=md inline>\○/</syntaxhighlight> || despair, wonderment, "wow"  (be careful as this can be positive or negative)
|-
|-
| <source lang=md inline>¯\_(⍨)_/¯</source> || "oh well"
| <syntaxhighlight lang=md inline>¯\_(⍨)_/¯</syntaxhighlight> || "oh well"
|-
|-
| <source lang=md inline>∘.○</source> || "I'm confused"
| <syntaxhighlight lang=md inline>∘.○</syntaxhighlight> || "I'm confused"
|}
|}


Line 110: Line 113:
| S3 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-s3-parsing-expressions-with-parentheses Parsing expressions with parentheses] || July 8, 2020
| S3 || [https://chat.stackexchange.com/rooms/52405/conversation/lesson-s3-parsing-expressions-with-parentheses Parsing expressions with parentheses] || July 8, 2020
|}
|}
=== APL Quest ===
{{Main|APL Quest}}
Since 4 February 2022, Adám Brudzewsky hosts a weekly chat event, each session having as subject a single problem from Phase 1 of a past [[APL Problem Solving Competition]] round.


== External links ==
== External links ==


* [https://chat.stackexchange.com/rooms/52405/the-apl-orchard Chat room] (short URL: [https://apl.chat apl.chat])
* [https://chat.stackexchange.com/rooms/52405/the-apl-orchard Chat room] (short URL: [https://apl.chat apl.chat])
* [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard Room info]
* [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard Room info] (statistics and message search)
* [https://chat.stackexchange.com/rooms/info/52405/the-apl-orchard?tab=schedule Schedule] (includes registration for event reminders)
* [https://chat.stackexchange.com/transcript/52405 Full transcript]
* [https://chat.stackexchange.com/transcript/52405 Full transcript]
* [https://github.com/dzaima/chatlogs Downloadable transcript]


== Notes==
== Notes==
<references/>
<references/>
{{APL community}}[[Category:Online forums]][[Category:Tutorials]]
{{APL community}}[[Category:Online forums]][[Category:Tutorials]]

Navigation menu