jhass changed the topic of #crystal-lang to: The Crystal programming language | https://crystal-lang.org | Crystal 0.35.1 | Fund Crystal's development: https://crystal-lang.org/sponsors | GH: https://github.com/crystal-lang/crystal | Docs: https://crystal-lang.org/docs | Gitter: https://gitter.im/crystal-lang/crystal
<oprypin> src/ isn't even a requirement for top level apps
<FromGitter> <mixflame> sweet thanks guys
<FromGitter> <mixflame> crystal power!
<FromGitter> <mixflame> how do I make crystal build the shard.yml file? sorry for so many questions
<FromGitter> <Blacksmoke16> hm?
<FromGitter> <Blacksmoke16> you mean build the target?
<FromGitter> <Blacksmoke16> s
<oprypin> mixflame, shard.yml file is not a solution to any of your problems so far, feel free to disregard
<FromGitter> <mixflame> oh
<FromGitter> <mixflame> k
<oprypin> mixflame, if in the future you choose to ""conveniently"" package your app, declare its dependencies and entry points in shard.yml, then u use `shards` command to make it happen
<FromGitter> <mixflame> ahh
<FromGitter> <mixflame> yeah that's what I'm trying to do
<FromGitter> <mixflame> the actual server code is running nicely, I just want to make this easier for people to install and run
<FromGitter> <Blacksmoke16> docker?
<oprypin> mixflame, wel then start from the beginning https://github.com/crystal-lang/shards#readme
<FromGitter> <Blacksmoke16> `docker run your-image`
<oprypin> ..............................................
<FromGitter> <Blacksmoke16> as a supplement to systemd, give the people options :p
<FromGitter> <mixflame> kk
oddp has quit [Ping timeout: 264 seconds]
<FromGitter> <mixflame> does crystal have globals?
<FromGitter> <Blacksmoke16> not directly, use class variables in a module
<FromGitter> <mixflame> k
<FromGitter> <Blacksmoke16> heres a head scratcher, why does https://play.crystal-lang.org/#/r/9fc4 compile but https://play.crystal-lang.org/#/r/9fc6 doesnt?
<FromGitter> <Blacksmoke16> only thing i can think of is something conflicting with the names
f1refly has joined #crystal-lang
f1reflyylmao has quit [Ping timeout: 258 seconds]
<FromGitter> <mixflame> yay I hacked bcrypt hashing guys
<FromGitter> <Blacksmoke16> hm?
<FromGitter> <mixflame> so far my chat client has E2E encryption and bcrypt hashing
<FromGitter> <mixflame> it's a chat server with a built in multiplayer drawing pad, written in crystal
<FromGitter> <mixflame> WIP
<FromGitter> <mixflame> i'm doing major upgrades tomorrow but I added yaml and a script to generate the yaml file today, and hashed the passwords with bcrypt and made admin login
<FromGitter> <mixflame> there's several clients there but only the kotlin, crystal and swift is maintained right now really. I just dropped support for the ruby server and clients
<FromGitter> <mixflame> if I were to want to replace my socket with a https://crystal-lang.org/api/0.35.1/OpenSSL.html socket, how would I go about testing that? I tried a few different self signed keys and got errors. I didn't add the key to my key store. I forgot how all this works. I don't have a server with a domain name online for certbot.
<FromGitter> <mixflame> here's the error I'm getting if anyone's up `Unhandled exception in spawn: SSL_accept: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown (OpenSSL::SSL::Error)`
_whitelogger has joined #crystal-lang
<FromGitter> <mixflame> well. I got the handshake not to fail.
<FromGitter> <mixflame> had to add the certificate and trust it
postmodern has joined #crystal-lang
<FromGitter> <mixflame> well, I failed again. I found out there were problems in GCDAsyncSocket's TLS implementation that cause reads to fail.. or I did something wrong
_whitelogger has joined #crystal-lang
_whitelogger has joined #crystal-lang
sorcus has quit [Ping timeout: 260 seconds]
sorcus has joined #crystal-lang
<raz> j8r: `get "example", query_parameters: [G::String.new(:id, required: true, min_len: 8, max_len: 42, regex: ...)] do |params|`
<raz> i feel like gripen should let me write this (or something like it). but current version takes params as classes. hmm.
<raz> (haven't looked at it in a while, perhaps i just forgot how to do it)
<raz> tldr: don't wanna write a struct/class for each individual param. want to write generic ones and use them in parametrized form for most cases.
<raz> s/most/many/
alexherbo2 has joined #crystal-lang
oddp has joined #crystal-lang
HumanG33k has quit [Ping timeout: 240 seconds]
HumanG33k has joined #crystal-lang
HumanG33k has quit [Max SendQ exceeded]
HumanG33k has joined #crystal-lang
alexherbo2 has quit [Quit: The Lounge - https://thelounge.chat]
Human_G33k has joined #crystal-lang
HumanG33k has quit [Ping timeout: 240 seconds]
oddp has quit [Ping timeout: 240 seconds]
oddp has joined #crystal-lang
postmodern has quit [Read error: Connection reset by peer]
postmodern has joined #crystal-lang
postmodern has quit [Quit: Leaving]
sagax has quit [Ping timeout: 246 seconds]
sorcus has quit [Ping timeout: 272 seconds]
sorcus has joined #crystal-lang
sagax has joined #crystal-lang
sorcus has quit [Ping timeout: 260 seconds]
sorcus has joined #crystal-lang
sorcus has quit [Ping timeout: 260 seconds]
sorcus has joined #crystal-lang
andremedeiros has quit [Quit: ZNC 1.8.1 - https://znc.in]
andremedeiros has joined #crystal-lang
<FromGitter> <mixflame> ok hey guys. it appears last night I succeeded in securing my server with OpenSSL but ran into problems in my client side TLS implementation
<FromGitter> <mixflame> it chokes somehow reading when the server password is correct
<FromGitter> <mixflame> doesn't seem related to the crystal server
<FromGitter> <mixflame> I opened this issue https://github.com/robbiehanson/CocoaAsyncSocket/issues/729
<FromGitter> <mixflame> now I sort of wished I used crystal on my front end... if it were possible. Thoughts?
rocx has joined #crystal-lang
<FromGitter> <Blacksmoke16> Probably easier to use like nginx for SSL
<FromGitter> <mixflame> you're probably right, but I'm a long way down this non HTTP path
<FromGitter> <mixflame> the crystal openSSL stuff works perfectly I think just my swift/cocoa stuff is messed up
<FromGitter> <mixflame> also it would have been nice to bake this in
<FromGitter> <mixflame> I'm fine with moving on and seeing if they solve it, they're an active project since SSL is so simple to implement
<FromGitter> <mixflame> it also might not make sense to encrypt a drawing speed wise
<FromGitter> <mixflame> yeah I didn't expect to fall into hell in it, but I want to give someone the chance to fix the problem with the opportunity of open code
rocx has quit [Ping timeout: 260 seconds]
<FromGitter> <mixflame> can you share binaries as shards?
<FromGitter> <Blacksmoke16> hm?
<FromGitter> <Blacksmoke16> you can set shards up to add a binary into the projects ./bin on intsall
<FromGitter> <Blacksmoke16> if thats what you mean
sorcus has quit [Ping timeout: 260 seconds]
sorcus has joined #crystal-lang
sorcus has quit [Ping timeout: 272 seconds]
sorcus has joined #crystal-lang
sorcus has quit [Ping timeout: 260 seconds]
sorcus has joined #crystal-lang
sorcus has quit [Ping timeout: 272 seconds]
chachasmooth_ has joined #crystal-lang
chachasmooth has quit [Ping timeout: 260 seconds]
<FromGitter> <mixflame> that might be what I want for the short term, long term I want packages and docker containers like you said
<FromGitter> <Blacksmoke16> look into like GH actions or something then. Can listen on when a release is created to build the binaries and upload them to the release/registry
<FromGitter> <mixflame> nice
<FromGitter> <j8r> raz you can have a base class/struct, then use inheritance
<FromGitter> <j8r> Using a type Class is necessary. In the swagger docs, it tells the schema. In Gripen, it allows to create a object instance from a mold
<FromGitter> <j8r> Maybe a macro, it was just feeling more right to have `get "test", SomeClass` than `get "test", SomeClass.new`
<FromGitter> <j8r> (Same for query of course). I can change that