<watzon>
So I'm sure there's been discussion about this before, but what are everyone's thoughts on package management and creating a rubygems like environment? It would be nice to be able to have uniquely named packages in a central repository
<FromGitter>
<ShalokShalom> i think there is one
<FromGitter>
<ShalokShalom> i think your IRC bot is broken
<FromGitter>
<ShalokShalom> i can find my messages from my former IRC session here not, containing the phrase "why do you mind about asking here" as an example
<FromGitter>
<ShalokShalom> our whole conversation about the QML bindings is in the IRC and not here
<watzon>
crystalshards isn't a repo, but rather a layer on top of the github search api
<FromGitter>
<ShalokShalom> ah i see
ShalokShalom has quit [Remote host closed the connection]
dannyAAM has quit [Ping timeout: 246 seconds]
dannyAAM has joined #crystal-lang
Philpax_ has joined #crystal-lang
Philpax_ has quit [Read error: Connection timed out]
Philpax_ has joined #crystal-lang
Disrecollection has joined #crystal-lang
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<FromGitter>
<bararchy> watzon , the current "gems" system is shards , the only thing missing is centralized control (rubygems) , but I don't really miss it , I use shards.xyz to find what I need , and then add the relevant stuff to shards.yml
<FromGitter>
<crisward> Is it possible to generate ssl certs from crystal, without calling out the the shell?
mark_66 has quit [Quit: Leaving.]
<FromGitter>
<crisward> Sorry I mean SSH certs, as in pub/priv keys
<FromGitter>
<crisward> Same as ssh-keygen
<Papierkorb>
what's wrong with shelling out? I'd actually have a bad feeling doing that in pure Crystal (as in, it's not battle tested compared to ssh-keygen)
<FromGitter>
<crisward> ssh-keygen writes to the file system, I'd like to encrypt the private key and stuff it in a database, without saving to disk first.
<Papierkorb>
Can't it output to stdout?
<FromGitter>
<crisward> I don't believe so.
<FromGitter>
<crisward> It generates the public key too, not sure if thats the reason....
<Papierkorb>
`-f /dev/stdout` worked .. for the private key. It can't open stdout.pub though >_>
<Papierkorb>
In any case, you can use UNIX permissions to restrict access to those temporary keys. You can have a tmpfs mount which you kill afterwards, so it never actually sees a physical disk
<Papierkorb>
Heck you could in theory even then use ecryptfs on top of tmpfs with a temporary random key in your program. Talking of FUSE, use a FUSE tmpfs. FUSE mounts can only opened by the user that created them: even root is denied access by default.
<Papierkorb>
And root might as well hijack your process at that point
<Papierkorb>
But tbh, I'd rely on unix permissions, and a tmpfs at max most likely.
<FromGitter>
<crisward> Thanks for those ideas, will give it some thought.
Philpax__ has quit [Ping timeout: 240 seconds]
<FromGitter>
<elorest> Since everything in the crystal world is pretty much MIT license and crystal is compiled what is the recommended way of bundling the shard and crystal licenses with the binary?
<Papierkorb>
No idea what MIT actually expects from you, but if it requires a copyright notice (or you want to add it anyway), most programs have an about dialog or help text, at least hinting at that many other libraries were used, a points where to find these libraries' licenses. You can package those alongside your binary, e.g. in a "licenses" directory. The LFS style path would be share/licenses/YOUR_PROGRAM/ where you'd put those files
<FromGitter>
<crisward> fuse
<Papierkorb>
But: IANAL. that's how most free software programs do it. Graphical programs usually have a hugely long help text embedded in an about dialog of sorts. E.g., see Firefox: They have a "License information" link in their about dialog, which then opents a huge list of licenses for various libs they use
<FromGitter>
<johnjansen> interesting … that looks like the magic ;-)
<FromGitter>
<elorest> Thanks.
<FromGitter>
<johnjansen> thanks @Papierkorb
<FromGitter>
<johnjansen> probably should take the time to get my head completely into mappings sometime soon
<FromGitter>
<elorest> I wonder if there's an MIT variant that only requires licenses with source code. I would assume that 99% of people using crystal right now are in violation of th MIT license terms.
<Papierkorb>
Well, much of my stuff is MPL-2, so ... yeah, I fear nobody cares
<Papierkorb>
elorest, though this really only applies to binary distributions. I honestly don't see much wrong when libraries (distributed as source) do this, it's easy to look up the deps licenses.
<FromGitter>
<elorest> Sure but anyone who is running a binary on a server or docker containter without the accompanying licenses are violating the license...
<Papierkorb>
Most just don't care either way, and simply leave in the default MIT license without thinking about it I guess. It's mostly there to ensure you're not at fault when a product that uses your stuff goes on a rampage..
<Papierkorb>
Eeeyup
<Papierkorb>
As is the case with most other things in the OSS world. Less in the FOSS world.
<FromGitter>
<dbackeus_twitter> In ruby I've had a solution for tailing log files using `IO.select` which appears to not exist in Crystal, according to discussion at https://github.com/crystal-lang/crystal/issues/3169#issuecomment-241134923 fibers/channels should be used instead, but I'm a noob and have no clue what that refers to
<FromGitter>
<dbackeus_twitter> any pointers? :)
<Papierkorb>
Honestly, if it was actually viable in Crystal, I'd license most of my stuff under the LGPL. But as we can only reasonably "link" against source libraries in Crystal, MPL-2 it is.
snsei has quit [Remote host closed the connection]
<Papierkorb>
elorest, heck, look at node.js projects, or at rails: Do any of those actually explicitly tell you the sub-licenses?
<Papierkorb>
Couldn't even tell you for rails programs like redmine
<Yxhuvud>
no, there are separeate gems to figure out the licenses of the dependency graph
snsei has joined #crystal-lang
ron___ has joined #crystal-lang
ron___ has quit [Client Quit]
snsei has quit [Remote host closed the connection]
<FromGitter>
<sdogruyol> Simple, practical recipes for common tasks
<FromGitter>
<sdogruyol> Feel free to open issues / PRs
flaviodesousa has quit [Remote host closed the connection]
snsei has joined #crystal-lang
Poeticode has quit [Changing host]
Poeticode has joined #crystal-lang
<FromGitter>
<fridgerator> nice 👍
<FromGitter>
<johnjansen> i dont know about you, but 90% of my crystal time goes to porting code from somewhere else today its `NumberToHumanSizeConverter` from `ActiveSupport`
<FromGitter>
<sdogruyol> @johnjansen that's good 👍
<FromGitter>
<johnjansen> it does make me feel like im going sideways almost constantly though … and it can be kind of easy to forget what the point was
<FromGitter>
<johnjansen> anyone got any thoughts on a standardized naming scheme for shards which are ports from ruby … i was thinking about `XYZ.cr` but naming a lib like that screws up when you use the generator - would appreciate your thoughts
<oprypin>
johnjansen, ? then make the generator not screw up
<FromGitter>
<elorest> <papierkorb> Rails gets around this issue because gems with their licenses are all bundled on the server with the code. Rendering to html doesn’t count as distributing. We run into this issue again because we’re compiling and possibly shipping binaries without the license. I’ve spent way more time than I ever wanted with a copyright attorny this week due to a partnership at my company.
<FromGitter>
<johnjansen> @oprypin the generator doesnt screw up per se, but the resulting directory and classes arent really usable … changing out the `.` for a `-` creates an equally bizarre result (neither are wrong, but both are not intended) you kind of need to try it to see the situation you end up in
<oprypin>
so make them usable
<FromGitter>
<johnjansen> of course i can do that … and of course i have. ;-)
<Papierkorb>
elorest, no it's the same exact issue. The user is the administrator, who still needs to check licenses
<FromGitter>
<johnjansen> there are times i really hate ruby developers … then i look in the mirror
<FromGitter>
<luislavena> @elorest placing a binary that contains MIT code requires you to include, along the binary or as part of the binary, a bills of materials/licenses used to make the software.
<FromGitter>
<luislavena> If is a CLI, you might want to add a `--licenses` option/flag to display them.
<FromGitter>
<luislavena> By sending the binary to any server is considered *distributing*, and by that, the MIT condition about including the license applies.
<FromGitter>
<luislavena> (not a lawyer but married to one, been over this for the last 18 years)
<FromGitter>
<elorest> @luislavena Yeah that’s what I was saying. In the case of rails the gems along with their licenses already exist on the server.
<Yxhuvud>
bew: that link doesn't mention working with file handles though, as far as I can see
<FromGitter>
<bew> For io select, you can use `select` instead, look at my last comment of #4822.
<brycek>
<txdv> but the section overload is an issue id ont know how to solve
<brycek>
txdv: that wasn't too bad, the `.arm.extab` section was just missing from the ld script, so i added it :P
rocky has joined #crystal-lang
sz0 has quit [Quit: Connection closed for inactivity]
Groogy has quit [Disconnected by services]
Groogy has joined #crystal-lang
<FromGitter>
<konovod> @johnjansen about naming - i think it can be named just `XYZ`, but change repository name to `XYZ.cr`. This way link to the github clearly shows that it's a Crystal stuff, and in code you just do `XYZ::Something`.
Groogy has quit [Disconnected by services]
Groogy2 is now known as Groogy
Groogy_ has joined #crystal-lang
<Groogy>
Hello!
<FromGitter>
<konovod> Hi!
<FromGitter>
<johnjansen> thats what im doing, thanks @konovod … it was more of a discussion point than a request for help … but i appreciate the comment anyway, thank you
Groogy has quit [Quit: WeeChat 1.9]
<FromGitter>
<luislavena> @elorest not many open-source projects that distribute binaries get concerned about vendored licenses. But when you start building a business around your project, that is the point it starts to matter.
<FromGitter>
<elorest> Ok.
sz0 has joined #crystal-lang
<FromGitter>
<mgarciaisaia> There's a CocoaPod (for iOS developments) that compiles each of your dependencies' licenses and autogenerates a license view on the app. Maybe we could make a shard that does that same work with a `--license` subcommand