ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.29.0 | 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
<FromGitter> <Blacksmoke16> i suppose
<FromGitter> <girng> love how someone creates an issue in a repo that is requesting somethign that will change/break code for everyone, without even being a contributor, nonetheless a user for very long
<FromGitter> <Blacksmoke16> hm?
<FromGitter> <girng> sorry ranting it was an issue in godot repo i just saw.
<FromGitter> <Blacksmoke16> 👍
<FromGitter> <Blacksmoke16> write you tests yet
<FromGitter> <girng> LOL
<FromGitter> <girng> nah been working on clientside stuff in godot right now
<FromGitter> <girng> server stuff gonna be later tonight
<FromGitter> <Blacksmoke16> sounds like a plan
<FromGitter> <girng> a test wrote a day, keeps the bugs away
<FromGitter> <girng> that sounds weird to say outloud lol
<FromGitter> <Blacksmoke16> you've come a long way
<FromGitter> <girng> writing a test a day, keeps the bugs away!* there we go
<FromGitter> <girng> 👍
<FromGitter> <girng> @Blacksmoke16 thanks for your tolerance and patience
<FromGitter> <Blacksmoke16> still have a feeling its going to be hard to write tests for
<FromGitter> <girng> same for everyone here, i know i'm a bit eccentric in programming so i'm honing in my skills
<FromGitter> <Blacksmoke16> just due to all the diff states each method handles
<FromGitter> <girng> when i do it i'll just ask for help in gitter i fi get stuck lol
<FromGitter> <girng> all roads lead to gitter
<FromGitter> <Blacksmoke16> moreso mean its just going to require a lot of specs for each method
<FromGitter> <Blacksmoke16> and a good amount of setup
<FromGitter> <girng> i wonder if markdown list support is excluded in certain sections in the docs?
<FromGitter> <girng> for readability purposes maybe? i don't know if intended or not
<FromGitter> <Blacksmoke16> might just be something funky with the regex
<FromGitter> <Blacksmoke16> summary only shows the first line/sentance
<FromGitter> <girng> yeah prob
<FromGitter> <girng> i like how i have a contributor tag on github post, for fixing a couple typos
<FromGitter> <girng> LOOOOOOOL
<FromGitter> <Blacksmoke16> our hero
<FromGitter> <girng> :D
<FromGitter> <Blacksmoke16> im bored
<FromGitter> <mwlang> feast your eyes on working docker files: https://gist.github.com/mwlang/258ccb37ad284c2ad0a60c33c0dabcd6
<FromGitter> <mwlang> :-D
<FromGitter> <Blacksmoke16> ` - SECRET_KEY_BASE=p9o8Sy1+t3JPuAck9Zc/U9N7fK+KzIjxZWhGlwxdGl4=` 😬
<FromGitter> <mwlang> finally, finally solved the migration issue I was having.
<FromGitter> <mwlang> whoot! Go hack me.
<FromGitter> <Blacksmoke16> you dont need the `links` section
<FromGitter> <Blacksmoke16> pretty sure its deprecated
<FromGitter> <mwlang> ok, gone
<FromGitter> <mwlang> I haven't gotten to minimizing the image, yet.
<FromGitter> <tenebrousedge> it seems like there's some redundant copying going on
<FromGitter> <Blacksmoke16> if its just a development thing prob not a big deal
<FromGitter> <Blacksmoke16> and prob would want a volume to mount the project into the container, otherwise changes wouldnt be reflected
<FromGitter> <mwlang> was dealing with I spent most of my time bitten by this (unknown to me) bug: https://github.com/gdotdesign/cr-dotenv/issues/10
<FromGitter> <Blacksmoke16> 😬
<FromGitter> <mwlang> where's the copying redundant? If you mean by the last ```COPY . /app``` and the piecemeal copies I made before that...
<FromGitter> <tenebrousedge> yes
<FromGitter> <tenebrousedge> copying package.json separately makes sense
<FromGitter> <mwlang> one thing I tried to do with multistage was build the things that are likely to change least often and progress towards things that would change most often.
<FromGitter> <mwlang> maximizing the cache layers
<FromGitter> <mwlang> seems like I succeeded, but I don't really know since this is my first docker project.
<FromGitter> <Blacksmoke16> prob overkill tbh
<FromGitter> <Blacksmoke16> for what you're using it for at least haha
<FromGitter> <mwlang> well, this is just the beginning.
<FromGitter> <mwlang> I expect the project to get quite big.
<FromGitter> <Blacksmoke16> true, gotta start somewhere
<FromGitter> <Blacksmoke16> wacha making?
<FromGitter> <mwlang> Automated portfolio manager
<FromGitter> <mwlang> i.e. trading bot.
<FromGitter> <Blacksmoke16> gotcha
<FromGitter> <mwlang> I've got about 30k lines of code in a Rails project and I'm going to migrate all that to crystal.
<FromGitter> <Blacksmoke16> jezz
<FromGitter> <Blacksmoke16> sounds like a plan
<FromGitter> <mwlang> I've maxed out what Ruby can do, even with a *ton* of optimizations.
<FromGitter> <mwlang> remember the bollinger band stuff?
<FromGitter> <Blacksmoke16> no? never really used ruby (or that well at least)
<FromGitter> <mwlang> you helped me speed up computations using Dequeue vs. Array and benchmark it.
<FromGitter> <Blacksmoke16> ah wow, yea that was a while ago
<FromGitter> <mwlang> anyway, I can build this chart:
<FromGitter> <mwlang> about 45,000 data points in about 5 seconds or so with Crystal...19 minutes with Ruby.
<FromGitter> <Blacksmoke16> not too shabby
<FromGitter> <Blacksmoke16> worth it id say :P
<FromGitter> <mwlang> indeed.
<FromGitter> <mwlang> I want to start analyzing 1,000's of tickers, not just 100 or so.
<FromGitter> <mwlang> hence the effort to build out my docker knowledge because I'll likely scale horizontally by adding docker containers to do that kind of number crunching.
<FromGitter> <mwlang> *sigh*
<FromGitter> <Blacksmoke16> rip
<FromGitter> <Blacksmoke16> was it working before?
<FromGitter> <mwlang> it was working locally.
<FromGitter> <mwlang> this one's the cloud deploy.
<FromGitter> <mwlang> on Ubuntu server.
<FromGitter> <Blacksmoke16> ah
<FromGitter> <Blacksmoke16> hmm
<FromGitter> <mwlang> the .env file will be easy fix...forgot to create one on the vps
<FromGitter> <mwlang> if I have a .env file, do I even need environment: sections in the docker-compose.yml?
<FromGitter> <Blacksmoke16> mmmm i dont think so?
<FromGitter> <Blacksmoke16> the section would override those in the .env
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5d2158cf8193ce270f378410]
<FromGitter> <Blacksmoke16> took me a good 30 sec to see the issue
duane has quit [Ping timeout: 258 seconds]
<FromGitter> <tenebrousedge> better than IntCatch-22 or Int223
<FromGitter> <mwlang> what? that Int23 deal?
<FromGitter> <mwlang> prime number byte sizes. :-p
<FromGitter> <watzon> I would also like to know this
<FromGitter> <watzon> What's next? UInt7?
<FromGitter> <mwlang> docker in the cloud ran! issue was the missing .env file after all.
<FromGitter> <watzon> Float42?
<FromGitter> <tenebrousedge> I need UInt7 for my 7-bit ASCII
<FromGitter> <mwlang> Float42 should replace JSON::Any. Just sayin'
laaron- has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #crystal-lang
duane has joined #crystal-lang
<FromGitter> <girng> wat is docker
<FromGitter> <Blacksmoke16> *magic*
<FromGitter> <tenebrousedge> virtual machines
ashirase has joined #crystal-lang
<FromGitter> <girng> for what
<FromGitter> <tenebrousedge> generally for server applications
<FromGitter> <girng> test how app performs in diff environments?
<FromGitter> <girng> like a free local vps?
<FromGitter> <tenebrousedge> have a reproducible image of your app and the environment it needs to run
<FromGitter> <tenebrousedge> so you can e.g. spam that to 100 machines
<FromGitter> <girng> interesting
<FromGitter> <tenebrousedge> it's more or less mandatory in production environments
<FromGitter> <tenebrousedge> you need to be able to set up a new prod server in minutes, not days
<FromGitter> <girng> does it have any use-cases for a game server/
<FromGitter> <girng> my os environment is gonna be on debian
<FromGitter> <tenebrousedge> the same as any server application -- so yes
<FromGitter> <girng> right now, i just compile my crystal app with --static, drop that puppy my $2.50/yr 512mb VPS
<FromGitter> <girng> and execute it and it works great
<FromGitter> <girng> basically, with docker, i drop the crystal executable in the docker container and run it there?
<FromGitter> <Blacksmoke16> would be the same idea yes
<FromGitter> <tenebrousedge> no, docker usually has the build steps
<FromGitter> <Blacksmoke16> build the binary, then drop that in a scratch container
* FromGitter * girng trying to find a way to utilize docker
<FromGitter> <Blacksmoke16> if you're on windows it might be a bit trickier
<FromGitter> <Blacksmoke16> as you'd have to run a linux vm to run it, (and i dont think it works in WSL)
<FromGitter> <Blacksmoke16> but its possible
<FromGitter> <girng> lul
<FromGitter> <tenebrousedge> Windows is just a bad idea, but particularly for devs
<FromGitter> <girng> i'd have to use a linux vm, to run another vm
<FromGitter> <girng> that's inside a docker container
<FromGitter> <girng> el oh el
<FromGitter> <Blacksmoke16> you can do via Hyper V i think its called
<FromGitter> <Blacksmoke16> but thats only on edu and pro versions iirc
<FromGitter> <Blacksmoke16> otherwise gotta use like virtualbox
<FromGitter> <tenebrousedge> WSL 2 is coming out
<FromGitter> <girng> really?
<FromGitter> <girng> hypee
<FromGitter> <girng> didy ou see the new windows console video lol
<FromGitter> <girng> looks awesome
<FromGitter> <tenebrousedge> I bet it even has copy and paste :p
<FromGitter> <girng> you have to admit, nicely done video come on
<FromGitter> <girng> looks like it has the aero glossy theme from windows 7 though, w10 doesn't have that lmao
<FromGitter> <girng> my fav theme :/
<FromGitter> <tenebrousedge> the video is very nice. I'm not sure that I want my shell substituting `U+2265` for `>=`
<FromGitter> <tenebrousedge> it still sort of seems 15 years behind the curve, but that's better than 30
<FromGitter> <girng> :D
<FromGitter> <girng> i installed linux mint on this old laptop in my room. was doing some crystal stuff on it. i want to do some development on linux os instead of having w10 as my main dev environment, but i'm just gonna wait a bit for ryzen 2 to come out and just etup another pc in my room
<FromGitter> <tenebrousedge> Mint was my default for years, but I think I'm back to Ubuntu
<FromGitter> <girng> but tbh, i like w10 as a dev environment so far, then test my game on the laptop make sure its working on linux, then use the vps i bought for $2.50/yr for the gameserver. i think this workflow is the best for me
<FromGitter> <girng> i just play path of exile a lot, and some other games. they work on linux, but not as well on windows. so that's my reasoning why i don't want to switch right now
<FromGitter> <tenebrousedge> gaming and Windows are a pretty good fit
<FromGitter> <tenebrousedge> there are a number of branches of programming where Windows is either the default or best available option
<FromGitter> <girng> but i've tested godot's speed on linux, it's way faster. previewing scenes and whatnot is 1-2 seconds faster on linux, quite insane really. same for crystal's compilation times.
<FromGitter> <girng> @tenebrousedge nice, i tried ubuntu before
<FromGitter> <tenebrousedge> Godot may or may not be an exception there; I haven't seen comparisons for e.g. Unreal
<FromGitter> <tenebrousedge> but Windows and Crystal are not best buds, as far as I've heard
<FromGitter> <girng> yeah tcp timeout stuff doesn't get caught on wsl
<FromGitter> <girng> very weird bug
<FromGitter> <girng> but tbh, i dealt with WSL w/ Crystal just fine, i'm still on a roll (coding wise)
<FromGitter> <girng> hell, if that's the only issue i have to deal with, fine with me eh lol
<FromGitter> <girng> i'm lucky ;D
<FromGitter> <tenebrousedge> well, Windows tends to be the red-headed stepchild for a lot of programming languages. More bugs and more persistent ones, simply because few of the core devs for that project use it
<FromGitter> <girng> "red-headed stepchild" LOL
<FromGitter> <girng> haven't heard that phrase in a while, thx
_whitelogger has joined #crystal-lang
_whitelogger has joined #crystal-lang
duane has quit [Ping timeout: 248 seconds]
absolutejam1 has joined #crystal-lang
absolutejam1 has quit [Ping timeout: 248 seconds]
_whitelogger has joined #crystal-lang
_whitelogger has joined #crystal-lang
woodruffw has quit [Ping timeout: 272 seconds]
woodruffw has joined #crystal-lang
gangstacat has joined #crystal-lang
FromGitter has joined #crystal-lang
coderobe has joined #crystal-lang
t1|Mike has joined #crystal-lang
Yxhuvud has joined #crystal-lang
<FromGitter> <rishavs> pretty much. Thats why despite Crystal being my favorite language I am looking at other languages to do windows specific stuff in. I think Dart is actually amazing for a quick 2d game engine.
<FromGitter> <watzon> Dart is pretty great, dlang is pretty cool if your familiar with the C syntax, Rust is awesome
<FromGitter> <rishavs> Dart feels more like JS than C to me. It feels fairly polished
<FromGitter> <rishavs> most importantly it has quick compile mode leading to hot reloading of project and a aot compile mode for release builds
<FromGitter> <watzon> I was taking about D with the C thing
<FromGitter> <watzon> Dart is like a better Java
<FromGitter> <rishavs> I am starting on getting sdl to work with Dart FFI
<FromGitter> <rishavs> want to make a love2d like little game engine
<FromGitter> <rishavs> and Dart currently doesnt have one which isnt dependent on Flutter
<FromGitter> <girng> dlang's web server example looks like javascript lmao
<FromGitter> <rishavs> I actually spent last couple of week going through all major languages including zig, v, dart, f#, dlang, julia, nim (yet again), python3 (after nearly a decade), wren, inko and a few others
<FromGitter> <rishavs> wrote a few hello world programs in each to get a good feeling of it
<FromGitter> <girng> i've done that before
<FromGitter> <girng> all roads lead to crystal-lang
<FromGitter> <rishavs> so far, dart, julia and dlang seem to jive well with me
<FromGitter> <rishavs> @girng i know and that breaks my heart. I have wanted to make a game engine for Crystal for like last 3-4 years
<FromGitter> <rishavs> Been waiting for windows wince 2013
<FromGitter> <rishavs> T_T
<FromGitter> <girng> can't you do something with crystal sdl repo, or crystal's sMFL bindings
<FromGitter> <rishavs> need windows support
<FromGitter> <girng> oooo
<FromGitter> <girng> i was using love2d, thought about swtiching over to it
<FromGitter> <rishavs> love2d was my bae as well
<FromGitter> <rishavs> <3
<FromGitter> <girng> but lack of animation editor and ui nodes that godot has, no way
<FromGitter> <girng> however, if i'm doing a new game now, i'd use it easily
<FromGitter> <girng> just not for my current game
<FromGitter> <girng> god i love love2d
<FromGitter> <girng> @rishavs yep, it's niceeee
<FromGitter> <watzon> Does anyone know if it's possible with the current `HTTP::Client` implementation to fetch only part of a file? I feel like that requires persistent connections which I know `HTTP::Client` does not currently support
<FromGitter> <watzon> Or streaming. Does it support streaming responses?
<FromGitter> <watzon> Ahh yes it does!
<FromGitter> <girng> @rishavs when i first switched from nodejs to crystal, i was blown away. that's how i felt when i first started to write my game in love2d. but then i realized love2d lacked a lot of features that godot has. HOWEVER, when i first switched from nodejs to crystal, crystal didn't lack anything (had mysql module, tcp support, easy hash/object typing) so i stuck with it.
<FromGitter> <girng> weird comparison, but it did experience the same feeling.
<FromGitter> <girng> @watzon nice. yeah, need blacksmoke for that question. glad you found out tho
alex`` has joined #crystal-lang
<oprypin> rishavs, crsfml supports Windows, anyway
<oprypin> if you use a really limited subset of stdlib, it may actually be viable
<oprypin> and especially if you fix things along the way :p
<oprypin> rishavs, i have no idea what you found in Dart
<FromGitter> <girng> @oprypin why aren't you active as much as before on gitter?
rohitpaulk has joined #crystal-lang
ht_ has joined #crystal-lang
<oprypin> girng, well, having a full-time job is soul-crushing to me, but that's been like that for a long time. now i also try to "have a life", whatever the generally accepted definition of that is.
rohitpaulk has quit [Ping timeout: 245 seconds]
<FromGitter> <rishavs> > *<oprypin>* @rishavs, i have no idea what you found in Dart ⏎ ⏎ I have a soft spot for the less well known language. Dart is a fine language by itself but its tooling is really not what it should have been specially with google's backing. but the thing which i like most is that i can compile my prjects in Vm during dev for hot reloading and then compile them using aot for fast execution. ie best of worlds
<FromGitter> <rishavs> only other language which does this well, is Haxe
<FromGitter> <rishavs> use nekoVm for your dev and then use the C++ target for release
olbat[m] has quit [Read error: Connection reset by peer]
<FromGitter> <girng> @oprypin i just was curious cause you seemed more active on gitter n stuff back then. but yeah, totally understandable having a full-time job. i got my first job (ever) in april and it was only part-time, and the time away from the computer is a horrible feeling
<Yxhuvud> oprypin: so have you integrated well enough into the swedish society to take your vacay all at once during the summer yet? ;)
<oprypin> no
<Yxhuvud> good for you!
olbat[m] has joined #crystal-lang
<FromGitter> <girng> new ryzen processors gonna be out soon
<FromGitter> <girng> thjinking about getting 1, but then again, my i7 2600 is working nice still so...
<FromGitter> <girng> and plus, if i wanted to see faster compilation times i'd use a real linux os, instead of WSL
waheedi has joined #crystal-lang
sorcus has joined #crystal-lang
alex`` has quit [Ping timeout: 258 seconds]
laaron has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #crystal-lang
Raimondi has quit [Ping timeout: 258 seconds]
laaron has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #crystal-lang
laaron has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron- has joined #crystal-lang
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 244 seconds]
_whitelogger has joined #crystal-lang
waheedi has quit [Quit: waheedi]
livcd has quit [Ping timeout: 258 seconds]
waheedi has joined #crystal-lang
waheedi has quit [Client Quit]
ashirase has quit [Quit: ZNC - http://znc.in]
<FromGitter> <ffwff> is there anyway to get a list of all heap-allocated classes at compile time? ⏎ i'm working on a precise gc and i need some type information
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 272 seconds]
<FromGitter> <mwlang> making good progress on building smaller docker image.
<FromGitter> <mwlang> got it down to 359MB and it works for running the lucky framework
<FromGitter> <mwlang> but doesn't work for running `lucky db.migrate`
<FromGitter> <mwlang> I end up with this output: ``` ⏎ app_1 | Error in tasks.cr:1: can't find file 'prelude' ⏎ app_1 | ⏎ app_1 | If you're trying to require a shard: ⏎ app_1 | - Did you remember to run `shards install`? ... [https://gitter.im/crystal-lang/crystal?at=5d22141551d87058befa9780]
<FromGitter> <mwlang> so it's definitely rebuilding when invoked, so I reckon I need to figure out preserving the whole lucky_cli project instead of just the compiled ```lucky``` app.
rohitpaulk has joined #crystal-lang
alex`` has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 246 seconds]
rohitpaulk has joined #crystal-lang
alex`` has quit [Ping timeout: 245 seconds]
alex`` has joined #crystal-lang
Raimondi has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 246 seconds]
laaron- has quit [Remote host closed the connection]
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 244 seconds]
lucasb has joined #crystal-lang
rohitpaulk has joined #crystal-lang
livcd has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 245 seconds]
alex`` has quit [Ping timeout: 248 seconds]
laaron has joined #crystal-lang
alex`` has joined #crystal-lang
sorcus has quit [Quit: WeeChat 2.5]
sorcus has joined #crystal-lang
absolutejam1 has joined #crystal-lang
<absolutejam1> what's the state of Crystal TUI libraries?
<absolutejam1> Any good ones?
<absolutejam1> looking at the termbox lib now
<FromGitter> <watzon> I know there's a ncurses wrapper
<FromGitter> <watzon> I don't know the state of it though
<absolutejam1> I've seen an ncurses wrapper, but there's literally no docs. And I'm not really sure how it all works
<absolutejam1> I've only ever used higher level libs (eg. urwid in Python)
<FromGitter> <watzon> Yeah I don't get the complete lack of docs for a lot of libraries
<FromGitter> <watzon> As you can see here (https://github.com/watzon/subnet) docs are important to me
tdog has quit [Quit: Leaving]
lucasb has quit [Quit: Connection closed for inactivity]
alex`` has quit [Quit: WeeChat 2.5]
ht_ has quit [Remote host closed the connection]
<absolutejam1> jesus watzon, nice
<absolutejam1> but even the base bit of documentation is a good start
sagax has joined #crystal-lang
duane has joined #crystal-lang
<FromGitter> <mwlang> @watzon I think you can safely remove the TODO here: https://watzon.github.io/subnet/Subnet.html
return0e has quit [Remote host closed the connection]
return0e has joined #crystal-lang
DTZUZO has quit [Ping timeout: 268 seconds]
duane has quit [Ping timeout: 258 seconds]
sagax has quit [Read error: Connection reset by peer]
<oprypin> 🤣
<FromGitter> <girng> :D
<FromGitter> <mwlang> *sigh* Dealing with exactly this problem: https://github.com/crystal-lang/crystal/issues/6431
<FromGitter> <mwlang> cannot for the life of me figure out where in my code is triggering this.
absolutejam1 has quit [Ping timeout: 246 seconds]
<FromGitter> <Blacksmoke16> planning on doing some more formal announcements coming up but, sneak peak
<FromGitter> <Blacksmoke16> https://github.com/Blacksmoke16/oq
<FromGitter> <Blacksmoke16> will do a blob post soon as well
<FromGitter> <Blacksmoke16> with some benchmarks and stuff
duane has joined #crystal-lang