
@shu—hung has joined the channel

@bill_temps has joined the channel

Stupid question: (1) how do I get all the bytes from a port, so I can sha it? (2) why can’t I sha the port directly, so I don’t have to GC lots of data?

finds port->bytes for the first part

(3) how do racketeers maintain quality standards in common libraries?

(4) how do I go from hex to byte string? I see various hex-string->bytes in various lilbraries — shouldn’t there be a more common version?

@fahree for 4, that sounds like a good idea

@fahree for 2, sha1
from openssl/sha1 does exactly that

@fahree Previously quality standards were maintained by just including a vast number of common libraries in the main distribution, so you didn’t often need user-provided libraries for simple tasks

Now with the growing package system, the package build server and documentation hosting goes a long way to encouraging tests and docs

@tov has joined the channel

@samth thanks. However, SHA1 is widely considered as deprecated and “not for use for new applications”. Can the openssl module be updated to support algorithms currently considered “good”?

(I understand that this is a volunteer effort; I’m just trying to understand how the community is organized)

Is that supported by widely-distributed versions of openssl?

I’m pretty sure sha256 is widely supported

and has been for years

also, the code there falls back to an in-racket version if openssl isn’t there, I think

(I’m also taking this as an exercise for how much “ready for production” racket is or isn’t.)

also, a pull request for adding sha256 to that library would be useful if you were building that anyway

(racket keeps impressing me in many ways, and not at all in others — same thing with Haskell and Scala, that I’m evaluating also)

I think I wrote sha256 bindings not too long ago, against the racket-provided openssl lib, I think

(the problem is not just what kind of poison and dogfood I can tolerate, but also, what I can reasonably convince $coworkers of adopting)

ah, the sha
pkg already provides what you want

yes, kind of, and I’m using it

except not with autobuffering, so I have to slurp the entire file in a byte vector.

which is acceptable for my current application, though maybe not for others.

I’m extra-sure that greg would accept pull requests adding that functionality, which seems pretty easy to add

Yup. One thing at a time.

My current project is writing an acmart package, for which I’m cargo-culting @stamourv ’s acmsmall class package.

I finished debugging the download-and-make script.

OK, where is the doc for capturing options from the #lang line, so I may pass them to the \documentclass ?

and/or what is the proper idiom for that?

(I never liked having to put @nocopyright etc. right next to the #lang, and I remember having issues with some scribble styles regarding that.)

@fahree that’s implemented here: https://github.com/stamourv/acmsmall-scribble/blob/master/acmsmall.rkt#L29-L46

Yes, that’s the code I’m starting from. By acmart has some differences with acmsmall. Actually, acmsmall is an option of the new acmart.