« first day (1790 days earlier)      last day (883 days later) » 

12:04 AM
is 'not capable of understanding a brilliant language' referring to something specific?
 
12:33 AM
@Adám are you sleeping?
 
Yes.
 
@Adám really? you are lying
 
12:52 AM
Any advice on loading a binary array saved as a txt file into Dyalog as a boolean matrix?
 
1:04 AM
@user1115629 yes, "The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt." – Rob Pike (creator of Go)
@11Kilobytes wdym by binary array?
as in, the text file has 0 and 1 characters? or stored as bits?
 
1:43 AM
⎕←⎕io←0⋄(⊂(2×2|(?20⍴2)∘.+⍳40)+2|(⍳20)∘.+?40⍴2)⌷'╚╔╝╗'
 
@ViníciusMello
0
╗╔╗╔╗╔╗╚╗╚╗╔╝╔╗╚╝╚╝╚╝╔╝╔╗╔╗╔╝╔╝╔╗╔╝╚╗╔╝╔
╚╝╚╝╚╝╚╗╚╗╚╝╔╝╚╗╔╗╔╗╔╝╔╝╚╝╚╝╔╝╔╝╚╝╔╗╚╝╔╝
╗╔╗╔╗╔╗╚╗╚╗╔╝╔╗╚╝╚╝╚╝╔╝╔╗╔╗╔╝╔╝╔╗╔╝╚╗╔╝╔
╝╚╝╚╝╚╝╔╝╔╝╚╗╚╝╔╗╔╗╔╗╚╗╚╝╚╝╚╗╚╗╚╝╚╗╔╝╚╗╚
╗╔╗╔╗╔╗╚╗╚╗╔╝╔╗╚╝╚╝╚╝╔╝╔╗╔╗╔╝╔╝╔╗╔╝╚╗╔╝╔
╚╝╚╝╚╝╚╗╚╗╚╝╔╝╚╗╔╗╔╗╔╝╔╝╚╝╚╝╔╝╔╝╚╝╔╗╚╝╔╝
╗╔╗╔╗╔╗╚╗╚╗╔╝╔╗╚╝╚╝╚╝╔╝╔╗╔╗╔╝╔╝╔╗╔╝╚╗╔╝╔
╚╝╚╝╚╝╚╗╚╗╚╝╔╝╚╗╔╗╔╗╔╝╔╝╚╝╚╝╔╝╔╝╚╝╔╗╚╝╔╝
╔╗╔╗╔╗╔╝╔╝╔╗╚╗╔╝╚╝╚╝╚╗╚╗╔╗╔╗╚╗╚╗╔╗╚╝╔╗╚╗
╝╚╝╚╝╚╝╔╝╔╝╚╗╚╝╔╗╔╗╔╗╚╗╚╝╚╝╚╗╚╗╚╝╚╗╔╝╚╗╚
╗╔╗╔╗╔╗╚╗╚╗╔╝╔╗╚╝╚╝╚╝╔╝╔╗╔╗╔╝╔╝╔╗╔╝╚╗╔╝╔
╚╝╚╝╚╝╚╗╚╗╚╝╔╝╚╗╔╗╔╗╔╝╔╝╚╝╚╝╔╝╔╝╚╝╔╗╚╝╔╝
 
cool pattern
 
Looks better on terminal.
 
 
5 hours later…
6:58 AM
@11Kilobytes I'm planning on making a video about that and other such things, this week.
@ViníciusMello Looks excellent for me.
 
wanted to ask about <https://chat.stackexchange.com/transcript/message/59923809#59923809> again because either it was missed or I missed the reply, hope it's not frowned upon to do that
 
No, it is fine.
@user1115629 So you're saying that your cmpx result differs?
I'm seeing even more extreme differences:
    data←'ACGT'[?100000⍴4]
    cmpx 'prefix1 data' 'prefix2 data'
prefix1 data → 2.2E0  |   0% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
prefix2 data → 1.6E¯1 | -93% ⎕⎕⎕
 
I was referring to the next example, with times for dyadic ⍳ vs binary search
 
7:17 AM
@user1115629 I get similar results too, although I didn't read the text carefully.
 
7:53 AM
@user1115629 can you explain what you are seeing that’s different? That you get different results from me, or that you don’t think what I show is correct?
Note that my test array was sorted.
 
Well, otherwise you can hardly make a binary search :-)
 
Exactly- but the counter example given was X?X
As I read it, anyway.
 
 
1 hour later…
9:14 AM
@Adám sooo this is a foreshadowing of a Dyalog Link tutorial?
 
No, I was planning on demonstrating the use of ⎕CSV for various types of data in text files.
 
i see
 
9:27 AM
@user1115629 I re-ran my timings and expanded the examples a bit here: gist.github.com/xpqz/ae862364abdceb933fb14de7cb43fd7c
 
@user15522882 Hi Slimey. If you want to participate here, please email access@apl.chat
@xpqz 18.0 had be much faster than both and bsearch but sadly, we had to disable all optimisations as a precaution against certain cases giving wrong results:
    data ← ⍳100000 ⍝ A loooot of numbers
    cmpx 'data ⍳ 17777' 'data ⍸ 17777'
data ⍳ 17777 → 1.2E¯6 |   0% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
data ⍸ 17777 → 1.1E¯7 | -92% ⎕⎕⎕
 
Well, my numbers are from 18.1, which I believe has the same optimisations, still?
 
In 18.2, we're back to the 17.1 performance:
    cmpx 'data ⍳ 17777' 'data ⍸ 17777'
data ⍳ 17777 → 1.2E¯6 |      0%
data ⍸ 17777 → 2.2E¯4 | +17585% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
 
Ouch. I wonder if this is what @user1115629 is seeing?
 
Maybe. I've had this case added to our internal "Most-missed 18.0 optimisations" list.
@hyper-neutrino Can you give chat.stackexchange.com/users/534793/user15522882 access?
 
9:35 AM
@Adám done
 
What's up with that speed lately‽
 
¯\_(ツ)_/¯ sometimes i don't hear pings and idk if it's cuz my computer skipped it or i just tuned it out but the last two i heard and was not doing anything at the time that stopped me from immediately looking lol
 
But isn't it really early by you?
 
if you mean the time of day, more so really late, yes
 
:-)
 
9:37 AM
i am going to sleep soon :p
 
@user15522882 Welcome. Feel free to introduce yourself if you want to. Since you're new to Stack Exchange chat, I recommend having a look at apl.wiki/APL_Orchard#Features
 
@Adám I can confirm that interval index beats even the A∘⍳ hashed lookup on 18.1.
(updated the gist)
 
woo, i have access now. im Fredrik and ive been learning apl for a short while now. i know quite a bit of python and a little c# and c++.
 
Hej Fredrik.
 
@xpqz I'll add a link from our internal page to that.
 
9:42 AM
i need some help:
i have a school task where i have to analyze some csv data using python, simple stuff, but i want to do that in dyalog apl. i would like some help with ⎕CSV. i have a csv-file i want to access, but its got some comments in it marked with #, and i am wondering if theres a way i can filter comment lines out of it. i just want the pure data. any ideas? ive read the ⎕CSV dyalog help page, but seemingly none of it has worked.
 
Right, most descriptions of CSV files don't include comments, but it shouldn't be too hard to filter them out. Are they "line comments", i.e. lines beginning with # or are they "end-of-line comments" with # to the right of the data?
 
line comments.
heres a quick sample:
# Knut Skrindo 2021

#

Indeks;Dato;Antall smittet;Totalt smittet;Andel smittet

1;21.02.2020;1;1;1.85716E-07

2;22.02.2020;0;1;1.85716E-07

there are also these lines in between the data, but i should be able to get rid of that. the issue is that the data wont import. im assuming its because of the comments
 
Are they lines double-spaced or is that just CRLFs and an artefact of pasting here?
 
they are in fact double-spaced.
 
@Adám I'll put this in the book on my next update.
 
9:47 AM
@Adám will any of your functions from dyalog apl extended will be implemented in dyalog?
 
@PyGamer0 Impossible to see, the future is.
@user15522882 Give me a minute to figure this out.
 
alright, thanks
 
@PyGamer0 I'm certainly hoping for Depth, Select, back-compose, and sorting functions.
 
hm yeah those certainly sound useful
 
@user15522882 OK, so if you enable Ragged and specify that there are 5 columns, you can import the data. You can then filter away any rows that have # or a space as first element of the leftmost column:
      ⎕CSV⍠'Ragged' 1⍠'Separator' ';'⊢csv ⍬(5⍴4)
 # Knut Skrindo 2021

                   #

              Indeks  Dato        Antall smittet  Totalt smittet  Andel smittet

                   1  21.02.2020               1               1     1.85716E¯7

                   2  22.02.2020               0               1     1.85716E¯7

      ⊃¨⊣/⎕CSV⍠'Ragged' 1⍠'Separator' ';'⊢csv ⍬(5⍴4)
# # I  1   2
      {⍵⌿⍨~'# '∊⍨⊃¨⊣/⍵}⎕CSV⍠'Ragged' 1⍠'Separator' ';'⊢csv ⍬(5⍴4)
 Indeks  Dato        Antall smittet  Totalt smittet  Andel smittet
The reason we can check for spaces too, is that missing cells will become empty character vectors, and ⊃'' gives a space.
 
9:58 AM
im still just a newbie, so i dont really know what all of this is. ill have to look at it a little closer. its like magic, but it worked
 
I'm happy to explain each step. Do you want me to?
 
that would be great
 
OK, so ⎕CSV⍠'Ragged' 1⍠'Separator' ';'⊢csv ⍬(5⍴4) reads in the data, allowing the data to have inconsistent number of ;s per row (we set the separator, because the default is ,, while Norwegians tend to use ;). skips the data description because we're reading a file. We then have to specify how many columns we expect: 5⍴4 (which is 4 4 4 4 4) declares 5 columns and that things that look like numbers should be converted to numbers, while other cells remain text.
Now we have a table (matrix), and ⊣/ gives us the leftmost column (lit. left-reduction, but a⊣b⊣c⊣d⊣e gives a) and ⊃¨ takes the first element from each, padding empty text cells with a space.
I used a small dfn because we want to use the matrix twice, once for identifying which rows to keep, and one as that actual data to filter.
~'# '∊⍨⊃¨⊣/⍵ checks which first-elements of each row are NOT (~) comment symbols or spaces, and ⍵⌿⍨ uses that Boolean mask to filter the matrix.
@user15522882 Makes sense?
 
what is quad colon?
 
yes, i understand it! thank you very much, @Adám!
@PyGamer0 its called variant, and as far as i can tell its used to define some "keyword-arguments" (as youd call it in python), which means just some modifying terms to the main function ⎕CSV
 
10:13 AM
oh
@Razetime your language bar on android doesn't work
on aplgolf
 
10:25 AM
@PyGamer0 (*cough* APLcart *cough*). Yeah, as Fredrik said, it allows setting name-value pairs that modify behaviour. Technically speaking, it is a dyadic operator which takes a function to be modified as left operand, and has a right operand which is either a scalar "principal" option, a name-value pair, or a vector of name-value pairs.
 
@Adám I think using Fredrik's phrase 'keyword arguments' might be helpful there as part of the search index on apl cart for variant.
 
Will do.
Can't wait for array notation: ⎕CSV⍠(Ragged:1 ⋄ Separator:' ')
 
11:02 AM
today's advent of code was a nice one, top tip for anyone doing it (for speed) {2⊥,⍵}⌺ is the same as {+/,X×⍵} where X is 3 3⍴⌽2*⍳9 but it's a special form so much faster
 
I'm lagging behind...
Haven't done yesterday's yet.
 
me neither, still got a bunch to catch up on
 
me having done only 4 days
i did day 5 too but java was too slow so i started rewriting my language in c++
 
@Adám {xy} is indeed realy usefull!
 
11:23 AM
@Adám (0=X|¨⊂Y)/¨⊂Y
 
11:49 AM
@PyGamer0 let me test
are you clicking a text field first
because you need to give it a target to type into
ok seems like mobile just doesn't like the keyboard..
 
@Richard Remember that scalar functions have ¨ built in, and | is scalar!
 
@PyGamer0 sorry but i'm not adding support for it. Since it's intrusive, I'll hide it on smaller screens. Use play.google.com/store/apps/details?id=com.athoraya.aplkeys instead
github.com/dzaima/hackerskeyboard is another option you have for an apl keyboard on mobile
 
Any merit to this?
 
actually looks good
 
@Adám as you already explained :) thanks
@Adám and using the symbols ⍝⍴⌊ in your apple?
 
12:04 PM
@Adám oh, this one is fantastic actually
 
@Richard ^
Or maybe, since everything is circles here, the letters should have circular caps?
user image
2
 
@Adám Yes, great!! APL has no sharp edges but is as smooth as ...
 
12:20 PM
Hello folks (long time no see! :) ), are you aware of a pattern that would allow me to replace the "zero" padding in stencil with a specific value? I'm aware of ⍺↓⍵ to drop the padding and of the "surround matrix with scalar" pattern but it looks like I need an inverse of ↓ - something that would be aware of negative indices meaning "from the end" ...
 
Someone asked that recently. Let me see if I can find it.
 
It's related to today's Advent of Code so I imagine it might be a common question today :D
 
@Adám this is actually pretty nice. I see that APL cannot escape from the aPL/apple pun though right ? :D
I like it perhaps even more than the matrix versions. I'm pretty fond of the red color and the little green circle does a nice contrast too.
 
@milia Well, if you want to interpreter it as an apple, be my guest, but I'll deny it when Apple Inc calls.
 
@Adám haha fair enough xD
I like its minimalism.
and the glyphs :)
 
12:24 PM
@MartinJaniczek I can't seem to find it, but I can surely re-code it. I should add it to APLcart too. Give me a couple of mins.
 
Thank you @Adám. I keep thinking something like ⍺↑(⍴⍵)⍴x where x is the wanted padding element could be combined with ⍺↓⍵ but can't figure out the specifics
 
@MartinJaniczek ⎕←{⊂a⊣⍺{(⍺↑[⍵]a)←42}¨⍳≢⍺⊣a←⍵}⌺3 3⊢4 5⍴⎕A
 
@Adám
┌────────┬────────┬────────┬────────┬────────┐
│42 42 42│42 42 42│42 42 42│42 42 42│42 42 42│
│42  A  B│ A  B  C│ B  C  D│ C  D  E│ D  E 42│
│42  F  G│ F  G  H│ G  H  I│ H  I  J│ I  J 42│
├────────┼────────┼────────┼────────┼────────┤
│42 AB   │ABC     │BCD     │CDE     │DE 42   │
│42 FG   │FGH     │GHI     │HIJ     │IJ 42   │
│42 KL   │KLM     │LMN     │MNO     │NO 42   │
├────────┼────────┼────────┼────────┼────────┤
│42 FG   │FGH     │GHI     │HIJ     │IJ 42   │
│42 KL   │KLM     │LMN     │MNO     │NO 42   │
 
Oh I didn't notice ↑[axes], hmm... and the assignment. Interesting. So we can sidestep needing to produce indices that @ etc. would need... Thank you!
 
@MartinJaniczek Well, this is general for any number of dimensions. If you know your rank, you may be able to unroll the loop.
 
1:23 PM
@MartinJaniczek personally I trimmed the result of stencil rather than replacing padding
⎕←(⌽1↓⍉)⍣4{⊂⍵}⌺3 3⊢5 5⍴⎕A
 
@rak1507
┌───┬───┬───┐
│ABC│BCD│CDE│
│FGH│GHI│HIJ│
│KLM│LMN│MNO│
├───┼───┼───┤
│FGH│GHI│HIJ│
│KLM│LMN│MNO│
│PQR│QRS│RST│
├───┼───┼───┤
│KLM│LMN│MNO│
│PQR│QRS│RST│
│UVW│VWX│WXY│
└───┴───┴───┘
 
@Adám looks like a bauble
 
@rak1507 Is that good or bad?
 
good considering it's december, bad for the rest of the year :P
 
2:17 PM
Say you have a dfn schematically like: dfn←{g{...}⍣f⊢⍵} and you want to make it into a a dop dop such that ≤ dop ⍵ <-> g{...≤...}⍣f⊢⍵ for example. How do you go about this, I want to pass a function argument down two scopes more or less.
 
@11Kilobytes Either the inner brace just needs to be an operator, and get the outer operand passed, or you can name the operand in the outer brace and use that name in the inner: dop←{⍺⍺{...⍺⍺...}⍣f⊢⍵} or dop←{g←⍺⍺ ⋄ {...g...}⍣f⊢⍵}
 
Thanks @Adám
 
2:53 PM
Yah, I'm feeling a tiny conflict between a drive to figure out why this isn't exactly working for me, and my drive to catch up with the advent of code calendar. What I did for now is to use a data representation of the action of ⍺⍺, so that I use a simple operand instead. A benefit of this approach is that v1 v2 dfn¨⍵ works without waiting for y'all's to embrace the Haskell ethos and make function into first class values.
The problem is that bringing in Haskell/Lisp style stuff into APL doesn't fit with what Aaron W. Hsu calls the mechanical sympathy of APL. The benefit of using arrays/masks/etc. instead of higher order functions (and esp. functions as first class values) is that you often get high performance code for free.
 
3:09 PM
Is there a way to avoid "Can't change nameclass on assignment" errors if I really do want to change nameclass on assignment?
 
@xpqz ⎕EX
 
3:26 PM
@Adám I'm trying the linux apl typing instructions and the command here isn't working. why?
 
@Razetime "not working" is what - an error? altgr+keys not typing things?
 
yep
right alt+key is not typing stuff
i already have a compose key set for bqn
would that interfere with this
 
try setxkbmap -layout us,apl -variant ,dyalog -option -option grp:switch (wll clear xcompose key for now)
 
yep that works
yeah, the compose key ceases to work now
 
then do compose:rwin,grp:switch as the last arg
 
3:33 PM
problem: do not have a right windows key
 
ah. what are you assigning to compose then?
 
same right alt
i guess i'll have to use ctrl or something
 
ah, that'd probably indeed mess things up
well, you can cat /usr/share/X11/xkb/rules/evdev.lst | grep 'compose:' to see your options
 
3:46 PM
yep now all is well
 
@Adám can i learn multi dimensional arrays?
 
@Fmbalbuena Let's try!
 
@Adám [[1, 2], [3, 4]] in APL?
(a lot of langs syntax)
 
First you have to understand something about APL's array model.
 
@Adám ok
 
4:00 PM
Just talking with someone. I'll be right there.
 
4:13 PM
@Adám What does the jot do in the entry for range on APL cart (⌈/-⌊/)∘,N
I can omit it, and even with the ravel it forms a function I think.
 
@PaulMansour You're right. But to be a stand-alone function, the entry would need to be ((⌈/-⌊/)∘,)N
@PaulMansour Sorry, that made no sense: ((⌈/-⌊/),)N
 
So ((⌈/-⌊/),)N is equivalent to (⌈/-⌊/)∘,N, correct? And if we elide the extra parens in the first or the jot in the second, we are applying two separate functions (ravel and range) rather than one function. Is that right?
 
@PaulMansour Correct. And I strive for APLcart to contain stand-alone functions you can copy, paste, and name.
 
4:30 PM
Yes, I think we talked about this a while ago. Thanks.
I probably asked the same thing before.
 
That's fine. What should I prefer (f g) or f∘g or f⍤g?
 
I don't know. Maybe the first one. Because if one is assigning it to a name, it's a little clearer that the outer parens can be removed?
 
Yeah, my thinking too. My uncertainty about this shows in APLcart.
 
As a general rule, the set of outmost parens in an APL Cart expression may be removed if assigning the function. I think its harder to explain or have a general rule of when can you remove a jot in the middle ...
 
Good point.
 
4:46 PM
@Adám Also, I like the circle logo. But not a fan of the APL symbols for letters. For me they look somewhat childish as letters- like comic sans. Plus the lamp symbol really off-centers the whole thing. Traditional font is much more centered, even more so if italiczed.
Wonder how a del would look instead of small circle.
 
@PaulMansour ^?
@PaulMansour How would the del be placed?
@Fmbalbuena Sorry about that. I'm here now for a little.
So, the important thing is extending your current notion of APL arrays.
So far, we've informally been dealing with lists (of numbers, but equally strings) and single items (letters or numbers).
 
@Adám Yes, I like that.
 
In reality, these are two instances of a larger family of arrays. In APL, even single atomic pieces of data (like a letter or a number) is an array, but since it is lone, you don't need any indices to pick out the data. We call it zero-dimensional, or "rank 0". List need a single index to pick out an item, so we call them 1-dimensional, or "rank 1".
 
As for the del, exactly where the green circle is now, with the bottom point of the del pointing to the center of the circle.
 
How big, though? Should the triangle extend outside of the square bounding box of the large red circle?
 
4:55 PM
No
About the size of the current circle, maybe a bit bigger.
I'm not even sure anything is needed other than the main circle.
 
@Adám nvm but i can't learn, this time. Maybe later?
 
Also, I like this because I think at small sizes, the size of the font can be increased relative to the circle.
 
@Fmbalbuena I'll try. I might be going early to bed. Don't worry, we'll find time at some point.
@PaulMansour ^
 
Looks like a cherry.
 
I think I like the round leaf better.
 
5:07 PM
Yes, maybe not. I'd probably vote for no "leaf" at all.
I do think its critical that the letters APL are front and center and simple, with no distraction.
 
Fair enough. This is basically a variant of Plain Ellipse which you've expressed fondness for before.
 
do you really want to have any similarity at all to PHP?!
 
heh
 
Yes. I also like the display matrix.
 
5:10 PM
That I think is the simplest yet has direct APL distinctiveness.
 
These two are my favourite
 
display matrix is my fav I think
 
APL matrix looks the best imo, but would scale poorly.
 
I would like display matrix stylized a bit, perhaps using the font Adam used above.
 
Quad APL is the most creative, but same issue
 
5:12 PM
Would it scale better if styled a bit?
 
@rak1507 Good point. Ellipse or italics. Doing both is too much like PHP.
 
@FawnLocke Is the problem scaling up or down or both?
 
@PaulMansour I've tried a lot of things with it, and I simply cannot make it work with thicker lines/alternative arrows/connected arrows/…
 
Down, scaling up is fine.
I think Adám is right
 
i like the one with the dot more
 
5:14 PM
Anyone is welcome to take a stab, of course.
 
@Adám this one is great
 
Yeah, I'm adding that to the Wiki now.
 
Maybe when scaling down to the boxing goes away...
 
I place my money on Quad APL atm. The lines in the center will blur together when far away, but it still looks the best at a low resolution imo. The APL matrix is awesome, but I don't think you could make it work for a icon - the font is simply too small.
There's probably a reason most logos don't use many characters :)
 
@FawnLocke I think APL Matrix (my current favourite) just works as an icon, even if you have to squint. And then again, how many PL logos work as 16px icons?
 
5:22 PM
Not Erlang.
 
Not Raku either. Mush.
 
I've always liked Racket's stylised lambda.
 
Eh, I think the font will become unreadable. At least you can still tell it's APL from the gradient matrix
 
@xpqz But I can never remember which one of the stylised lambdas is which.
 
my stylised lambda is the best :')
 
5:24 PM
Racket is the one that is not Haskell :)
 
@xpqz You mean Scheme?
 
Or common lisp :)
 
@KamilaSzewczyk ?
 
kamilalisp
 
5:25 PM
yeah.
 
I don't remember seeing kamilalisp's logo.
 
APL is fortunate that it's name actually fits on a logo.
its
 
Yes, and we should leverage that.
 
It should look good on the front of a hat, or a golf shirt.
 
Agreed, and the APL matrix is problematic due to having more colours than custom prints normally allow. Although it might work in single mid-green.
 
5:29 PM
APL is too long, It'd need to be closer to 1:1 to be readable at lower resolutions. I suppose you can sacrifice the smallest icons.
 
Lamp Rho Downstile works well scaled down. Maybe it could be white on a plain green square?
 
@Adám There are 3 logos here with 3 letter characters I didn't recognzie because they're so mushed
 
@FawnLocke Wax, Lua, PHP? You didn't notice BQN, did you? ;-)
 
heh, there's also awk.
Can't tell what this is :)
 
 
5:41 PM
Lamp Rho Downstile is very pretty :)
I can read APL at 16/24px with this iteration. So there's still hope :)
 
This works, but any decoration makes it tough to read.
 
Yeah
 
And funny enough, even a real font makes it hard to read. This ⍝⍴⌊ is very legible at tiny sizes.
 
So, the options are to sacrifice lower resolutions or go with a character-less design. (Or hire a magic graphics designer :) )
 
6:09 PM
I think its fine to have a modified image for really low resolution. Isn't that done all the time? I think you have to have the letters APL in some form.
In low res, maybe the chars are omitted. For example, the display matrix could reduce to the two arrows only...
 
6:22 PM
@PaulMansour Yes, and the APL Matrix could reduce to 9 squares.
 
That's a nice idea :)
 
Well, the Wiki already has APL Matrix in a letter-less 16px version.
The above Lamp Rho Downstile in a green box is extremely amenable to pixel art:
 
@Adám I like that at large size. I like the pixel letters more than lamp, rho....
I like the faint grid on a large format image...
 
Huh, that's interesting.
Wouldn't it be better to fill in all corners of letters and the box, though?
 
I like the minimalism
 
6:36 PM
Not for me. For some reason, the more pixelated look is better. Plus i like the gray lines.
 
The lines were an artefact of my editing program :-)
@Adám I still like this best, but I'll add the variations to the wiki.
 
Sometimes that happens! (Like the George Washington Bridge)
The non-pixelated version looks... Soviet.
 
Brutalist?
 
Yes.
 
Heh, I like brutalism :)
 
6:49 PM
@Adám I still prefer the red disk with the nice curvy APL glyphs inside and the small green disk on top left :).
 
@Adám done?
 
@Fmbalbuena with what?
 
@Adám teach me?
 
Oh, you mean "ready?" Well, did you read what I wrote above?
 
@Adám ?
 
7:01 PM
> So far, we've informally been dealing with lists (of numbers, but equally strings) and single items (letters or numbers).
In reality, these are two instances of a larger family of arrays. In APL, even single atomic pieces of data (like a letter or a number) is an array, but since it is lone, you don't need any indices to pick out the data. We call it zero-dimensional, or "rank 0". List need a single index to pick out an item, so we call them 1-dimensional, or "rank 1".
 
@Adám i don't understand
 
OK, think of it like this: We have the list 3 1 4 1 5 How can we get the 4?
 
@Adám 3 1 4 1 5[3 1 4 1 5⍳4]
 
Good.
But say we know it is in position 3, then it is just 3 1 4 1 5[3]
If we have this table:
3 1 4 1 5
2 7 1 8 1
And we want the 7…
 
then we need to flatten?
 
7:05 PM
We could do that, or we could choose the second element from the second row using [2;2]
If we wanted the 8, we'd use [2;4]
 
In fact, we can have many dimensions. Here's a 3D array:
3 1 4 1 5
2 7 1 8 1

1 6 1 8 0
6 0 2 2 1
You can see it as two "layers" on top of each other.
 
@Adám i'm busy now, but i will join in about a hour.
 
OK.
 
 
1 hour later…
8:32 PM
@Adám [[[3, 1, 4, 1, 5], [2, 7, 1, 8, 1]], [[1, 6, 1, 8, 0], [6, 0, 2, 2, 1]]]?
@Adám i'm back
 
 
2 hours later…
10:37 PM
@Adám why not now?
 
How are folks reading in the input for the advent of code? I'm using ⍎¨...⎕NGET fname and ⎕CSV⍠'Separator' ' 'but I'm wondering if there's less fussy ways to read the input. More often than not I have to do a line or two of post-processing that I would like to get rid of.
 
10:59 PM
@11Kilobytes generally just nget and stuff
my solutions are on github so you can take a look if you want
 

« first day (1790 days earlier)      last day (883 days later) »