« first day (1844 days earlier)      last day (803 days later) » 

8:39 AM
@KamilaSzewczyk it works:
def index_generator(x):
    if not isinstance(x, list):
        return list(range(int(x)))

    res = list(map(list, it.product(*map(compose(list, range), x))))
    for e in x:
        res = split(res, int(e))
    return res[0]
 
very nice
 
 
1 hour later…
10:07 AM
@BrianBED np
 
 
7 hours later…
5:08 PM
@xpqz idea: link to your books from xpqz.github.io
 
5:34 PM
@Razetime yes, that sounds sensible
 
 
2 hours later…
7:29 PM
@Richard It doesn't like spaces either. Use "s: ]runtime "{⍵≠' '} text"
@rak1507 Why do you say so? Both Bitmap and its File and CBits properties have documentation.
 
7:45 PM
Is it possible to alter ⎕fr and ⎕pp globally?
or at least within the scope of the namespace
 
Yes, just do it!
 
I wish it was this simple
this is the code in question
unfortunately changing fr and pp on the first line doesn't work
and the tradfn result isn't shy for me.
 
(⎕FR⎕PP)←1287 34 should work, but you can put that line outside the tradfn too.
In fact, afaict, you could put the entirety of setup into the namespace script without having to run a function to initialise.
 
      ⎕fix'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
      mm.setup
ok
      ⎕←(⎕fr⎕pp)
645 10
still nothing
:Namespace mm
    ⍝ Default settings. The library works optimally with
    ⍝ higher precision arithmetic.
    (⎕FR⎕PP)←1287 34

    ⍝ Alter to change the precision of operations.
    ⍝ Note: A value too small will carry more error due to
    ⍝       floating point inaccurancy.
    epsilon←0.0000001
    int_prec←0.0001
    tanh_sinh_pf tanh_sinh_m2←⍬ ⍬    ⍝ To be computed by setup.
 
But you're setting them inside mm, not in #!
 
7:49 PM
then fix won't work i think.
      ⎕fix'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
DOMAIN ERROR: The type of code in "/home/palaiologos/workspace/apl-misc-math/mm.
apl" could not be inferred
      ⎕FIX'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
      ∧
 
Does that happen if you put your leading comments inside :Namespace?
 
(⎕FR⎕PP)←1287 34
:Namespace mm
    epsilon←0.0000001
    int_prec←0.0001
    tanh_sinh_pf tanh_sinh_m2←⍬ ⍬    ⍝ To be computed by setup.
    tanh_xk tanh_wkd←⍬ ⍬
temporarily removed the comments
this is the beginning of the file, still throws the same error
 
@Adám Scenario: I'm an APL user, I want to find out how to read the bits of an image from dyalog documentation. How do I arrive at that solution?
 
@KamilaSzewczyk (⎕FR⎕PP)←1287 34 belongs inside the namespace too.
 
then it doesn't error but doesn't alter fr and pp.
 
7:52 PM
@rak1507 Oh, yeah, forget it. The Dyalog documentation is hopeless for finding out how to do things. Searching APLcart for bitmap works, though.
 
aplcart.info/?q=bitmap# no, it finds ⎕WC
 
@KamilaSzewczyk It does, but only inside mm. If you want to set the values somewhere else, simply add the desired namespace path, e.g. ##.(⎕FR⎕PP)← or (#.⎕FR#.⎕PP)← or similar.
@rak1507 And? That's how you'd do it, no?
 
and even then, help.dyalog.com/latest/#GUI/Objects/Bitmap.htm doesn't actually have any docs on how to specify a property
@Adám no, using ⎕NEW is simpler and there's no way to arrive at that without knowing it already
 
Right, that's a major problem with our docs; giving no guidance whatsoever, and assuming you already memorised the entirety of the documentation.
 
yes, exactly
it's more or less completely useless if you don't already have a pretty good idea of what you're doing
 
7:55 PM
      ⎕fix'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
ok
DOMAIN ERROR: There were errors processing the script
      ⎕FIX'file:///home/palaiologos/workspace/apl-misc-math/mm.apl'
      ∧
 
I'm not sure how long it would take someone to figure out `
(⎕NEW 'Bitmap' (⊂'File' 'filename')).CBits` purely from dyalog docs, but far longer than it should
 
can I somehow check why does this happen
 
@rak1507 The most glaring example of such hostility towards our users is the CamelCasing of environment variables throughout, assuming that the user knows about that one place in the docs that says that whenever we spell those in CamelCase, we actually mean uppercase!
 
convenient :/
 
@KamilaSzewczyk Don't you get a status window?
 
7:56 PM
doesn't seem like it
 
including a single example would be extremely useful
 
although it seems like it pops up whether i uncomment a call to setup at the end of the namespace
 
@KamilaSzewczyk Oh, on Windows, you do, and it shows what went wrong. That's bad. I'll log an issue.
 
should i just put the setup function contents in the namespace and force the user to edit the library files if they want to change the precisions
 
@rak1507 Yes. I'm pushing hard for opening the documentation to contributions. Currently, fixing documentation issues is hampered by an awkward pipeline.
 
7:59 PM
Yeah
 
that'd be neat
 
adding something like

For a common use case, reading bytes from a bitmap you can do:
'bmp'⎕WC'Bitmap'('File' 'test bitmap.bmp')
bmp.CBits
Alternative the more modern solution using ⎕NEW:
(⎕NEW 'Bitmap' (⊂'File' 'filename')).CBits

would make a *huge* difference
@Adám to be honest, that sounds like a cop out, dyalog pays people to write docs no? maybe they should do their jobs properly rather than relying on the users to fix everything
 
@KamilaSzewczyk Even if you put it in setup, how would the user alter settings?
 
the user can set int_prec or epsilon and then call setup again to recalculate some constants.
 
@rak1507 It's more about having an easy system to change documentation, currently it's a whole ordeal to get even a single space removed
 
8:01 PM
for performance reasons, I precompute the constants for the tanh-sinh quadrature.
 
@rak1507 and idk how the dyalog website build system or whatever works but presumably anyone with source access could add this like, right now
@FawnLocke what? how is it a 'whole ordeal' to edit a text file
 
@KamilaSzewczyk Ah, I see. Sounds almost like you need a class with properties where code kicks in upon setting them.
 
is there any human-consumable documentation on this ;)?
 
Cultivation on OO properties
 
@rak1507 Like Adám said, there's an awkward pipeline. It's hard to explain shortly over text; I don't think it's really justifiable either but /shrug
 
8:02 PM
@rak1507 It isn't a text file — but I'll be fighting for it to become one.
 
the http comes from somewhere
 
Yeah, the site is generated from a source that is also used to generate PDFs.
 
well, whatever
there's a string somewhere that has the data
presumably that can be changed
unless it is on tape or something wouldn't be surprised
 
Think of a word document. The text in your doc isn't a string somewhere.
 
it's pretty easy to edit a word doc
 
8:05 PM
@rak1507 There are several issues in that. The entirety of our documentation team consist of one full-time worker who also does many other things, but doesn't know APL — and one mostly-retired APLer who has to do all the technical writing, and is the only one who knows how to add cross-references to the docs.
@rak1507 Not if you don't have Word installed.
Our docs are in a format that is locked down in a proprietary system :-(
 
wtf lol
 
they feel like these old chm files
 
surely converting it to a non proprietary system should be like priority number ⎕IO
 
That's my point. But easier said than done, of course.
 
it would be pretty easy to write a script to crawl all of dyalog's docs and store the http
circumventing the need to even deal with that system atm anyway
 
8:08 PM
Then you'd break the rule of "don't repeat yourself" as the documentation is screwed together of modules, each of which can show up in multiple places.
 
don't repeat yourself < don't store your docs in a proprietary uneditable system
 
¯\_(⍨)_/¯
 
Also, a lot of the documentation is not available at help.dyalog.com; only at docs.dyalog.com in PDF form!
Trust me, I know it is horrible. I'm the first one to want it changed.
 
> .chm files
i knew it!
 
8:10 PM
The tool of thought for software solutions
 
lol
 
8:22 PM
Well, it is easy to laugh at it all, but keep in mind that Dyalog's documentation has had to move from platform to platform, and technology to technology over decades. When the first words were written, HTML didn't even exist yet.
 
I would have expected things to improve slightly in 40 years or so but maybe that's optimistic
 
Well, they have, just not enough.
 
I actually doubt that it was harder to edit things 40 years ago than it is now by the sounds of it
 
No, it was probably easier. Word processing applications have gotten significantly worse over the years. MS-Word 5.0 for DOS was amazingly productive.
 
 
1 hour later…
9:34 PM
@rak1507 I'm dreaming of moving everything to mkDocs. Would you want to do an internship for the explicit purpose of trying to migrate our docs to to something open and easy to edit?
 
i assume this isn't possible so but i'm curious. is there any way of sharing my game i made in APL to other people that don't have dyalog installed? i might even consider making a website for people to play on if that's possible but that seems annoying
 
You can create a bound executable, however, I'd check with sales@dyalog.com before redistributing such exe files.
 
:60410655I I don't think it is correct to say the Dyalog documentation is hopeless for finding out how to do things. For example, the GUI reference is a GUI reference, and then there is GUI user guide, tutorial, etc.
Could some things be improved? No doubt, but the caterwauling is a little overwrought.
 
9:51 PM
I think it's justified considering documentation and navigation of docs is probably the most important thing to a new user
 
I think saying it's useless is kind of over the top. There is GUI user guide and a tutorial. Its right there. Could it better, no doubt.
 
Well it is useless if nobody can find it, which is a common issue. But right, that isn't exactly productive rhetoric
 
I don't understand why it's hard to find. If you have interpreter installed, it's on the menu. If you google, it pops up.
 
I was being more general
 
The documentation is in fact the least of Dyalog's problems with new users. A much bigger problem is that the workspace has been declared dead and nothing has been offered to replace it.
 
10:04 PM
They're both equally large issues imo
 
10:18 PM
@Adám I don't know what the best practice for docs are but I'd certainly like to help out where I can yes
 
@rak1507 I suggest writing to careers@dyalog.com explaining who you are, what your experience is, and that you'd like to intern for the explicit purpose of… etc.
 
10:46 PM
A great way to get a job at a company is to constructively suggest how to improve something. Better yet is to actually do something productive on GitHub and have it noticed. Generally not a good strategy to ridicule said company.
 
@PaulMansour I have constructively suggested things. It's tough love ;)
I'm coming at it from the point of view of a user who gets %*$%*£& frustrated when I can't use a brilliant language to do anything without consulting 23 different pdfs and 43 different user manuals
Maybe if you've been doing apl for decades you haven't noticed how easy it is to look up things in other languages.
 
doing ONLY apl
 
@Adám Why use MkDocs? Why not just APL? It's a perfect opportunity to develop a stack of useful packages. HTML generation, Markdown to APL, etc. It's really not hard to to do.
 
Because why reinvent the wheel?
We don't have in-house capacity to develop such tools.
 
Writing documentation is super fun - can't wait to contribute
 
11:54 PM
i was actually thinking of contributing to the apl wiki. it has lots of needed pages
but I'm hesitant because i'm pretty new
 
Go for it! When someone starts a page, others step in to polish their work.
 
:o
imma try tomorrow... maybe one today but we'll see. it's getting late
 

« first day (1844 days earlier)      last day (803 days later) »