off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
2020-10-08T00:02:08.180500Z

Is there some shortcut/easy way with AWS, beyond firing up an actual EC2 server, to log all messages from a public websocket API?

Luis Santos 2020-10-08T19:17:26.184900Z

@jjttjj Not sure if I understand the problem. But you could try Lambda->Kinesis Firehose-> S3. Little to no code using serverless solutions . You could even query the data on S3 using Athena.

2020-10-08T19:44:32.185300Z

That's useful, sounds like it would work for me, thanks!

👍 1
dominicm 2020-10-08T08:52:14.182700Z

Is there a term for doing an optimized search of a map for certain conditions? e.g. if I have 2 maps to use as patterns {:foo 10 :bar 20} and {:foo 30}, it would automatically figure out that it should check :foo first, rather than looping through patterns one at a time?

dominicm 2020-10-08T08:54:40.183Z

I guess I want a core-match that's not a macro 🙂

borkdude 2020-10-08T21:02:52.186800Z

When using a LGPL (clojure-lanterna) or LGPL3 (lanterna) library in a compiled binary (which contains that library): what are things to pay attention to? Can those binaries be distributed? The use case here is babashka, which has a EPL 1.0 license itself

dominicm 2020-10-08T21:04:27.187700Z

LGPL is supposed to be for this kind of case afaik.

dominicm 2020-10-08T21:04:41.188300Z

I should probably make notes next time I look into this

borkdude 2020-10-08T21:05:36.189300Z

I read LGPL as: binary must be dynamically linked against library. That's nice for C++ libraries, but not for GraalVM binaries which compiles the code into one thing

phronmophobic 2020-10-08T21:06:30.190300Z

is the source of the application* that uses lanterna open source? IANAL, but from what I've read, it's ok if the software is all open source

borkdude 2020-10-08T21:07:07.190800Z

yes, it is open source (it's public on github)

borkdude 2020-10-08T21:07:39.191100Z

(cc @kevin.van.rooijen)

phronmophobic 2020-10-08T21:15:29.191800Z

I was trying to find a better link and it's not very straightforward: https://copyleft.org/guide/comprehensive-gpl-guidech19.html#x24-15000018.1 https://copyleft.org/guide/comprehensive-gpl-guidech16.html

phronmophobic 2020-10-08T21:26:07.192700Z

https://www.softwarefreedom.org/resources/2014/SFLC-Guide_to_GPL_Compliance_2d_ed.html#lgpl > [You must] Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable “work that uses the Library”, as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) > Under §6(c), this source code may be offered in writing rather than provided, or it may be distributed by network under the terms of §6(d). In addition, under §6(e) the distributor may “verify” that the user has already received, or at least that the distributor has already sent to this particular user, the relevant source. This is evidently intended to prevent requiring duplicate deliveries in “whole distribution” situations.

dominicm 2020-10-08T21:31:09.194400Z

A lot of lgpl is setting dynamic linking rules for proprietary. I think they don't apply to open source projects though.

phronmophobic 2020-10-08T21:37:01.196Z

what's unclear to me is what is required to distribute a statically linked binary that was built using lgpl software. do you need to also distribute the source code? the license? other links or information?

jsn 2020-10-08T21:56:03.198300Z

IANAL, but I think it says that you must provide the means to relink your binary with modified LGPL library you're linking against. It can be the source, or the object code, or whatever, and it can be pre-packaged with the binary or just offered in writing / made available over network / etc.

jsn 2020-10-08T21:59:31.199200Z

(of course, you also need to provide / make available / etc the source of the LGPL library you are using)