ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.23.1 | Fund Crystal's development: http://is.gd/X7PRtI | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Gitter: https://gitter.im/crystal-lang/crystal
<watzon> I agree that a js backend would be great
<watzon> Or even web assembly
<FromGitter> <ShalokShalom> they have no GC yet
<FromGitter> <ShalokShalom> webassembly
<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
<ShalokShalom> watzon: https://crystalshards.xyz/
<watzon> Not what I'm talking about
<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
Disrecollection has quit [Quit: Leaving.]
<brycek> (still slugging away at getting crystal to compile a thing for teensy 3.2 (arm-none-eabi))
<brycek> this is a huge improvement, it used to be hundreds of lines of errors
mark_66 has joined #crystal-lang
<txdv> looks liek you are just missing a few thnigs
<txdv> the undefined references are not a problem
<txdv> but the section overload is an issue id ont know how to solve
Groogy has quit [Disconnected by services]
Groogy_ is now known as Groogy
<Groogy> <sdogruyol> @mgarciaisaia I can help you with that 😄
Groogy2 has joined #crystal-lang
<Groogy> Aren't you already kind of trying to be the face/evangelist of Crystal? xD
alex`` has joined #crystal-lang
<txdv> thats what his github page says
<Groogy> true
<Groogy> though honestly I wouldn't be suprised if he tried to become official PR person or something :P
<Groogy> also Good morning! o/
<txdv> is there an official entity which approves these kind of things?
<Groogy> I was mostly joking but I mean I guess Manas? If you mean official as in something like the ISO C++ Committee then no
<txdv> a company in argentina
<txdv> ruby from japan, crystal from south america
<txdv> super interesting
<Groogy> Well C++ is from Denmark :P It's a big world with a lot of talented people
<txdv> most programming languages are from the west
saadq has quit [Ping timeout: 240 seconds]
saadq has joined #crystal-lang
<FromGitter> <sdogruyol> morning everyone
<FromGitter> <Fanna1119> good morning
<FromGitter> <solisoft> Hello
<FromGitter> <solisoft> any one can have a look at this issue ? https://github.com/crystal-community/jwt/issues/5 not sure I can fix it myself
maxpowa has quit [Ping timeout: 252 seconds]
<FromGitter> <Fanna1119> trying to build a cr file using the --release flag, but seems to run into a fail doing so (works without the flag ) ? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=599fe63bba0f0f6e38df9165]
maxpowa has joined #crystal-lang
<FromGitter> <Fanna1119> though as a comment i found on github ⏎ ⏎ ```crystal build parsing.cr --release --no-debug``` ⏎ ⏎ adding a no debug flag does not effect this 💭 [https://gitter.im/crystal-lang/crystal?at=599fe89a210ac26920bd4d21]
jokke has quit [Quit: WeeChat 1.7.1]
jokke has joined #crystal-lang
<FromGitter> <sdogruyol> @Fanna1119 LLVM 3.8.1 might be the cause
<Groogy> what's dailydrip?
<FromGitter> <sdogruyol> a website for daily small bite video training
<Groogy> Like destroyallsoftware?
<Groogy> also one of my all time favorite videos
<txdv> the same guys has a video on how javascript will be awesome
bmcginty has quit [Ping timeout: 248 seconds]
bmcginty has joined #crystal-lang
bmcginty has quit [Ping timeout: 255 seconds]
bmcginty has joined #crystal-lang
maxpowa has quit [Ping timeout: 240 seconds]
maxpowa has joined #crystal-lang
maxpowa has quit [Ping timeout: 252 seconds]
maxpowa has joined #crystal-lang
alex-edf has joined #crystal-lang
Philpax__ has joined #crystal-lang
maxpowa has quit [Ping timeout: 252 seconds]
Philpax_ has quit [Ping timeout: 248 seconds]
maxpowa has joined #crystal-lang
snsei has joined #crystal-lang
daemonwrangler has quit [*.net *.split]
jhass has quit [*.net *.split]
bazaar has quit [*.net *.split]
pabs has quit [*.net *.split]
daemonwrangler has joined #crystal-lang
jhass has joined #crystal-lang
pabs has joined #crystal-lang
bazaar has joined #crystal-lang
yopp has quit [Ping timeout: 240 seconds]
Poeticode has quit [Ping timeout: 260 seconds]
salvor has quit [Ping timeout: 260 seconds]
salvor has joined #crystal-lang
Poeticode has joined #crystal-lang
yopp has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<FromGitter> <mgarciaisaia> It's been really fun to do the dailydrip videos, so I hope you enjoy them :)
<FromGitter> <sdogruyol> @mgarciaisaia to do? Who did that :D
<FromGitter> <mgarciaisaia> Take a look at the shard.yml :P
snsei has joined #crystal-lang
<FromGitter> <sdogruyol> @mgarciaisaia yeah I've noticed that
<FromGitter> <sdogruyol> who's the voice though? Maria?
<FromGitter> <mgarciaisaia> Nope - Vale, our official Best English Speaker™
<FromGitter> <sdogruyol> oh, ok :)
<FromGitter> <mgarciaisaia> It certainly wasn't me :P
<FromGitter> <sdogruyol> yeah, I've also noticed that :D
<FromGitter> <drujensen> @mgarciaisaia Nice job! We need more of these videos.
<FromGitter> <sdogruyol> definitely!
<FromGitter> <drujensen> can you do one for Amber? :-)
<FromGitter> <drujensen> btw, the details in the video are very well done. I love the explanation of `@@` and types.
<FromGitter> <drujensen> did you write the script?
<FromGitter> <mgarciaisaia> Not myself, but it was written by us (here at Manas) with feedback from DailyDrip :)
<FromGitter> <luislavena> @mgarciaisaia very well done videos!
<FromGitter> <luislavena> Please pass along the congratulations to the team at Manas!
<FromGitter> <mgarciaisaia> I'll do :)
<FromGitter> <sdogruyol> @mgarciaisaia same please do congrats everyone :)
<FromGitter> <mgarciaisaia> This was like our first take on this. I'd love to do more videos about Crystal, but hadn't had the chance yet - until now.
<FromGitter> <mgarciaisaia> Icebreaking, he
<FromGitter> <mgarciaisaia> I'd first need to *learn* Amber before showing it - but that's doable :)
<FromGitter> <drujensen> :-D
<FromGitter> <eliasjpr> :)
<FromGitter> <eliasjpr> The topic dropdown should be sorted in alphabetical order :)
<FromGitter> <fridgerator> the crystal team is doing an AMA on dev.to ?!? cool
<FromGitter> <sdogruyol> what?
<FromGitter> <mgarciaisaia> An AUA, actually :P Aks *Us* Anything :)
<FromGitter> <mgarciaisaia> Early september
<FromGitter> <codenoid> hi, :D https://youtu.be/EXTYDlBdLUA
<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
<Papierkorb> `fuse`?
<FromGitter> <johnjansen> anyone got a hint on JSON.mapping for something like this ⏎ ⏎ ```{ ⏎ “xyz.abc” : “hello" ⏎ }``` [https://gitter.im/crystal-lang/crystal?at=59a049519acddb2407cae4f9]
<Papierkorb> johnjansen, `JSON.mapping(the_thing: { type: String, key: "foo.bar.baz"})`
<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> Hey guys I've just launched Kemal Cookbook http://kemalcr.com/cookbook/cors/
<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
Disrecollection has joined #crystal-lang
alex-edf has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
<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.
<FromGitter> <bew> @dbackeus_twitter you might want to look at the docs on how Concurrency work in Crystal https://crystal-lang.org/docs/guides/concurrency.html
<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
<FromGitter> <mgarciaisaia> CocoaPods compiles the lists, the other pod allows you to easily show them: https://github.com/vtourraine/AcknowList
Disrecollection has quit [Ping timeout: 252 seconds]
greengriminal has joined #crystal-lang
alex`` has quit [Ping timeout: 255 seconds]
rocky has quit [Quit: Leaving...]
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang