ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.24.2 | 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> <girng> ```code paste, see link``` ⏎ ⏎ There has to be an easier way to get all thedata from my `rpg_characters` table. I don't have to select each one, by one do I? is it possible to use `select *` ? all i want to do is select all the characters and put them in `result` and add in the `max_char_slots` from my `client.user_data` hash/key type [https://gitter.im/crystal-lang/crystal?at=5ac022cfc4d0ae80072191f1]
<FromGitter> <girng> i just feel like i keep using the Types all over the place, feels like i'm making my code messy :(
<FromGitter> <Qwerp-Derp> Yay, I fully converted the examples/controlgallery.cr completely to OOP! https://github.com/Qwerp-Derp/icosahedron
<FromGitter> <faustinoaq> > You ever see this in granite? ⏎ ⏎ @Blacksmoke16 Yeah, I guess is a known issue, we should open a new one though 😅
<FromGitter> <faustinoaq> ^ping @drujensen
<FromGitter> <Blacksmoke16> -_- welp thats not good
<FromGitter> <Blacksmoke16> was testing it, seems to only happen with after a bulk import once, i.e.
<FromGitter> <Blacksmoke16> bulk import records run like `Item.all.size` error
<FromGitter> <Blacksmoke16> bulk import, rerun script w/o bulk impot, run `Item.all.size` no error
qard has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
qard has joined #crystal-lang
Guest1156 has quit [Quit: switching servers]
Cyrus1 has joined #crystal-lang
yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
yxhuvud has joined #crystal-lang
<crystal-gh> [crystal] MakeNowJust opened pull request #5893: Format: fix indentation in collection with comment after beginning delimiter (master...fix/crystal-format/indent-in-collection-literal-after-comment) https://git.io/vxKSn
<crystal-gh> [crystal] MakeNowJust opened pull request #5894: Remove duplicated indefinite articles 'a a' in char.cr doc (master...fix/char-a-a) https://git.io/vxKS4
qard_ has joined #crystal-lang
qard_ has quit [Ping timeout: 240 seconds]
yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
yxhuvud has joined #crystal-lang
<FromGitter> <faustinoaq> Hey community, take a look! 👉 https://github.com/briansteffens/btest/pull/4 😄
yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
yxhuvud has joined #crystal-lang
heaven31415 has joined #crystal-lang
<heaven31415> merry christmas everybody!
<FromGitter> <faustinoaq> ?
<FromGitter> <faustinoaq> http://myst-lang.org/get-started/index.html ⏎ ⏎ ^ Hey a dynamic, strong typed language made using crystal 😄 🎉
<FromGitter> <faustinoaq> ^ Myst-Lang
<heaven31415> it is crystal DSL?
<FromGitter> <faustinoaq> no, is a complete new language 😄
<FromGitter> <faustinoaq> ^ Proposal: merge single-msqueue into master
<FromGitter> <faustinoaq> @bararchy your issue is gaining followers ⏎ ⏎ Already on top most +1 issues 😅
<heaven31415> faustinoaq, how hard is it to develop vs code extension using typescript?
<heaven31415> because I wanted to help, just wondering how much effort it will take
<heaven31415> with your plugin
yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
<FromGitter> <faustinoaq> heaven31415, actually is very easy IMO, some time ago was a bit difficult, but now is far easier 😄
<FromGitter> <faustinoaq> ^ VSCode has a reaaally nice documentation https://code.visualstudio.com/docs/extensions/example-hello-world
yxhuvud has joined #crystal-lang
<heaven31415> ok, thank you for information
qard has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter> <bararchy> @faustinoaq just hoping we can get it merged in, I like the idea of `--with-threads`
heaven31415 has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
heaven31415 has joined #crystal-lang
alex`` has quit [Quit: WeeChat 2.1]
<FromGitter> <bew> @faustinoaq what is this `btest` thing?
heaven31415 has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
baweaver_away is now known as baweaver
<FromGitter> <bararchy> Yeha, the readme doesn't say much
That_Guy_Anon has joined #crystal-lang
<FromGitter> <Qwerp-Derp> how do I overcome overdoing DRY
alex`` has joined #crystal-lang
<FromGitter> <bew> YAGNI
<FromGitter> <bew> :) anyway, do you have an example?
<yxhuvud> ask yourself if it is actually happenstance that the code looks similar
<yxhuvud> also, ask yourself if it is likely that one spot will change without changing the other.
rohitpaulk has joined #crystal-lang
t0nyandre is now known as t0nyaway
<FromGitter> <Jens0512> RX14 What makes my makefile terrible? (
<FromGitter> <Jens0512> )
<FromGitter> <Jens0512> Gitter sucks on iOS...
<FromGitter> <bararchy> @bew still waiting for your feedback regarding multi-threading
rohitpaulk has quit [Ping timeout: 240 seconds]
rohitpaulk has joined #crystal-lang
<oprypin> ~~on iOS~~
<FromGitter> <bararchy> Yeha, in android it isn't much better
<FromGitter> <bararchy> Lots of missed messages and reload/refresh inconsistency
Jenz has joined #crystal-lang
<FromGitter> <bararchy> oprypin what do you think regarding #5886 ?
<DeBot> https://github.com/crystal-lang/crystal/issues/5886 (Proposal: merge single-msqueue into master)
<FromGitter> <bararchy> Seems like core dev team are actively avoiding commenting on that topic
<oprypin> bararchy, i think that they have several good reasons not to merge it, just in terms of the quality of the code, that would be hard for us to understand
<oprypin> one thing I remember is needing a custom libgc, so it would make distribution of crystal more complicated
<oprypin> there's probably more
<Groogy> Morning! o/
Ven`` has joined #crystal-lang
<FromGitter> <bararchy> Morning Groogy :)
<Jenz> Morning fellow crystal lovers
<Groogy> o/
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Jenz has quit [Ping timeout: 260 seconds]
<FromGitter> <bararchy> Interesting to see new benchmarks on this https://www.stefanwille.com/2015/05/redis-clients-crystal-vs-ruby-vs-c-vs-go/
rohitpaulk has quit [Remote host closed the connection]
<Groogy> What's redis?
<FromGitter> <bararchy> one of the most known databases ever
<FromGitter> <bararchy> :)
<FromGitter> <bararchy> it's in memory key-value db
<Groogy> in-memory? What's the point of something like that?
<yxhuvud> it is for example used for queues.
<yxhuvud> or as a cache
<FromGitter> <bararchy> Groogy: https://redis.io/topics/persistence
<Groogy> oh so it always keeps everything loaded
<Groogy> but it is still persistent
<FromGitter> <bararchy> yeha
<FromGitter> <bararchy> so it's lightning fast
<FromGitter> <bararchy> and the best is using AWS\GCP for redis cluster
<FromGitter> <bararchy> if you really need something massive
Jenz has joined #crystal-lang
<FromGitter> <bararchy> oh, seeing this once in a while makes me happy https://github.com/UteroOS/utero
<Groogy> oh wow 307 commits so actually work put in
<FromGitter> <strigonLeader> is it possible to create an inline C union or do I have to create a type for it?
<FromGitter> <strigonLeader> also is there any way to specify field alignment when declaring a c struct?
<FromGitter> <strigonLeader> ^ questions about crystal lib bindings
<Jenz> That Utero looks super awesome
<Jenz> Though probably nothing i'd never (seriously) use
<FromGitter> <bararchy> Its a pet project Jenz, I don't think anyone actually thinks anyone will use something other then Linux/Mac/Windows
Papierkorb has joined #crystal-lang
Papierkorb has left #crystal-lang ["Konversation terminated!"]
<Groogy> @strigonleader how does the struct look that you are trying to bind?
Jenz has quit [Ping timeout: 240 seconds]
<FromGitter> <strigonLeader> I'm trying to bind this thing
<FromGitter> <strigonLeader> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ac0c9975f188ccc151ba310]
<FromGitter> <strigonLeader> its a posix work of art
<FromGitter> <strigonLeader> I can probably get over the inline unions
<FromGitter> <strigonLeader> defining them is cleaner anyway
<FromGitter> <strigonLeader> but I'm worried about the alignment
<Groogy> hmmm that looks like C std library
<Groogy> think that's already written under LibC?
<FromGitter> <strigonLeader> no
<FromGitter> <strigonLeader> we have signal
<FromGitter> <strigonLeader> we don't have sigaction
<FromGitter> <strigonLeader> I'm trying to fix signal handling in crystal
<FromGitter> <strigonLeader> at the moment traps don't really work
<FromGitter> <strigonLeader> and official linux docos say you should really use sigaction instead of signal especially if you're multithreading
<FromGitter> <strigonLeader> which we are planning to do
<FromGitter> <strigonLeader> not to mention the garbage collector seems to pthread_start
<Groogy> they don't work placing in structs directly?
<FromGitter> <strigonLeader> I'll play around, I think that defines a union type
<Groogy> YEah but you should be able to place it inside of a struct?
<Groogy> I think
<Groogy> if not you just name the member inside the struct
<FromGitter> <strigonLeader> yeah that's fine like I said
<FromGitter> <strigonLeader> the big problem is allignment
<Groogy> oooh you mean anonymus unions
<Groogy> When you were saying "inline" I didn't get what you meant since you normally just write them inline and not globally
<FromGitter> <strigonLeader> yeah its fine I think the binding will work even with an anon union
<FromGitter> <strigonLeader> I got sigaction to trap interrupts
<FromGitter> <strigonLeader> and I needed to bind to an anon union there
<FromGitter> <strigonLeader> so that should be ok
<FromGitter> <strigonLeader> the other part I'm a bit hazy on is how preprocessing works in crystal
<FromGitter> <strigonLeader> you have to define macros basically?
<RX14> but don't we already have signal handlers?
<Groogy> yeah that's what I thought as well?
<FromGitter> <strigonLeader> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ac0cc12bb1018b37a4964af]
<FromGitter> <strigonLeader> ctrl-c does nothing for me on master
<FromGitter> <strigonLeader> with this code
<FromGitter> <strigonLeader> and I'm not alone, theres some issues in the tracker
<RX14> yeah because you never return to the event loop
<FromGitter> <strigonLeader> yeah I thought that too
<RX14> just whack a Fiber.yield in the loop and you'll be fine
<FromGitter> <strigonLeader> here's my full test code
<FromGitter> <strigonLeader> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ac0cc9be3d0b1ff2c8d6d8a]
<FromGitter> <strigonLeader> also I would like ctrl-c to raise an interrupt exception as it does in ruby
<FromGitter> <strigonLeader> but thats a separate issue
<Groogy> this is safe right? x, y = -y, x
<Groogy> think I remember something about that it would work the same as std::swap
<Groogy> i.e it has an intermediary when swapping around
<FromGitter> <strigonLeader> also theres generally something a bit bad about having to Fiber.yield to execute your trap handler
<FromGitter> <strigonLeader> It might be a limitation of single threadedness but I think there might be a way around it with the way signals actually get delivered to applications
<yxhuvud> groogy: yes, it is safe
<FromGitter> <bararchy> Anyone knows If I can somehow save structures `Hash(Array(UInt8), Array(Int32))` into a DB or some storage ? ⏎ I know i can do it via messagepack but is there a way using a DB of some kind ?
<FromGitter> <bararchy> using Redis make sense but then I need `my_type.to_msgpack.to_s` or something
<FromGitter> <bararchy> which seems wierd
<FromGitter> <ArtLinkov> @bararchy more specifically, we need Hash(Array, Array(Array(Int32)))
<FromGitter> <bararchy> yeha :)
That_Guy_Anon has quit [Remote host closed the connection]
Jenz has joined #crystal-lang
<Jenz> RX14 do you have time to tell me what makes my makefile terrible, and how I can improve it?
<RX14> The practical thing is that you don't have to run shards each time
<Jenz> That I can easily fix
<Jenz> Really never use shards
<RX14> You can have a target for the lib folder that depends on shards.yml and shards.lock
<RX14> And then touch the folder to make sure after you run shards
<Jenz> Ok, thanks! Will do
<RX14> The rest is just my opinion that a "one size fits all" makefile doesn't exist and that the makefile is bloated
<RX14> I would ignore posix and I would remove most of the variables
<Jenz> Ok, that is very reasonable, but i felt that I was just pretty much rewriting the base of every makefile for my crystal projects
<Jenz> Variables I do just for extensibility
<RX14> Extensibility is just bloat until you're sure you need it
<Jenz> Im just a noob enjoying crystal, and makefiles ¯\_(ツ)_/¯
<RX14> For most projects I wouldn't use make files because shards build does the job
<Jenz> Yeah lol, I have a huge makefile for a super simple cli
<RX14> Well if you're learning make files than its a great makefile
<RX14> But I wouldn't make something so robust if I wasn't learning
<Jenz> Thanks :D
<Jenz> I am always learning
Jenz has quit [Ping timeout: 264 seconds]
Jenz has joined #crystal-lang
return0e has quit []
<FromGitter> <sdogruyol> Ugh, this should be a compile-time error https://play.crystal-lang.org/#/r/3t4q
<Jenz> I wonder what the compiler does there
<Groogy> it flips the table and walks away it looks like
<FromGitter> <Jens0512> Hmm, exits normally
hightower2 has joined #crystal-lang
<Groogy> Crystal compiler -> (ノ `Д´)ノ ~~~┻━┻)`ν゜)
hightower3 has quit [Ping timeout: 248 seconds]
<FromGitter> <sdogruyol> using them with external names is OK
<FromGitter> <sdogruyol> however without them shouldn't be
<crystal-gh> [crystal] Sija opened pull request #5896: Refactor out variable name (master...refactor-out-as-variable-name) https://git.io/vx6vB
Jenz has quit [Ping timeout: 248 seconds]
<Groogy> ranges support going reverse right? I.e 64...0 right?
<oprypin> Groogy, yes but not with that syntax .downto
Groogy has quit [Quit: WeeChat 2.0.1]
Groogy has joined #crystal-lang
<Groogy> i.e the #each on range will always go upwards?
That_Guy_Anon has joined #crystal-lang
<oprypin> no
<Groogy> because doing large_number...smaller_number does seem to create a correct range object
heaven31415 has joined #crystal-lang
<oprypin> Groogy, wait actually yeah, there are no ranges that have reverse order intrinsically
<heaven31415> hello
<oprypin> > the #each on range will always go upwards
<heaven31415> merry christmas
<oprypin> yes
<heaven31415> everybody
<oprypin> Groogy, when you say "correct" order it doesn't really mean much, all you can use it as is a pair of numbers, not any normal operations, cuz it's like an empty range
return0e has joined #crystal-lang
<Groogy> yeah found a way to do what I wnated requiring less code anyway
<heaven31415> if I have created a new branch in my fork and my PR from this branch was merged in origin, what should I do to synchronize my fork with origin? Can I just merge that new branch into my fork master branch?
<oprypin> heaven31415, I recommend ignoring what github displays
<heaven31415> im not even reading what githubs says
<oprypin> heaven31415, here's how i do it https://gist.github.com/5bb0a8cbe51e337adce335b3cf68ec39
<heaven31415> thank you
<oprypin> heaven31415, the way the remotes are laid out is the important part. it's not typical to do this, but it's much better imo
<Groogy> is there a way to cut out a subsection of a tuple? Like I only want the first two elements in it
<Groogy> and of course return it as another tuple
<oprypin> Groogy, {a[0], a[1]}
<FromGitter> <faustinoaq> > Ugh, this should be a compile-time error https://play.crystal-lang.org/#/r/3t4q ⏎ ⏎ @sdogruyol lol 😆
<oprypin> hey this works tho https://play.crystal-lang.org/#/r/3t58
<Groogy> wat
Ven`` has joined #crystal-lang
Ven`` has quit [Client Quit]
heaven31415 has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
DTZUZU has quit [Ping timeout: 268 seconds]
qard has joined #crystal-lang
<FromGitter> <sdogruyol> @oprypin it's perfectly fine with external names
DTZUZU has joined #crystal-lang
heaven31415 has joined #crystal-lang
cremes has joined #crystal-lang
Jenz has joined #crystal-lang
<FromGitter> <bararchy> Trying to create an Ethernet server, this wont compile and I can't understand why ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ac128de27c509a774c83473]
return0e has quit [Read error: Connection reset by peer]
ua has quit [Ping timeout: 240 seconds]
<Jenz> Still here RX14?
return0e has joined #crystal-lang
ua has joined #crystal-lang
heaven31415 has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
<RX14> yeah
<Jenz> Why would should i touch the lib folder after running shards install in the lib target?
<Jenz> (In a makefile 'lib' target that depends on shard.yml and shard.lock)
<FromGitter> <bew> @bararchy `s.accept?` ?
<FromGitter> <bew> If not what's the error?
<FromGitter> <bararchy> nah, I changed a bunch of stuff, it seems I need other params for bind, as ETHERNET uses mac addr and not IP addr. ⏎ Crystal socket interface isn't really dynemic, you step down to LibC quite fast
<FromGitter> <bararchy> @bew ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ac136a77c3a01610d9932ce]
cremes has quit [Quit: cremes]
<RX14> Jenz, because make works of file and folder modification times
<RX14> make runs a rule when any of the inputs have newer modification times than the outputs
<RX14> you want to touch the lib folder because it's making sure that the folder mtime has been updated
<RX14> which shards tool might not do
cremes has joined #crystal-lang
<Jenz> Aha! I thought a target ran if a target had been modified since last time it was runned. Thanks for clearing up!
Jenz has quit [Ping timeout: 256 seconds]
<FromGitter> <bararchy> RX14 or maybe @bew and ideas ? ⏎ ⏎ Trying to recreate this: https://gist.github.com/k-sone/8036832 ⏎ ⏎ I got here: ... [https://gitter.im/crystal-lang/crystal?at=5ac1449a2b9dfdbc3a461aea]
heaven31415 has joined #crystal-lang
<FromGitter> <bararchy> Oh, I think I got into a bug https://github.com/crystal-lang/crystal/issues/5897
gate has joined #crystal-lang
gate has quit [Client Quit]
cremes has quit [Quit: cremes]
gate has joined #crystal-lang
gate has quit [Quit: Page closed]
Ven`` has joined #crystal-lang
Ven` has joined #crystal-lang
alex`` has quit [Quit: WeeChat 2.1]
Ven`` has quit [Ping timeout: 260 seconds]
Ven` has quit [Ping timeout: 260 seconds]
Ven`` has joined #crystal-lang
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven`` has joined #crystal-lang
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven`` has joined #crystal-lang
<Groogy> Been a 4 day weekend :P been just coding crystal all of it
<oprypin> i've been watching stupid videos and sleeping D:
<heaven31415> i have been coding racecar game using crsfml
<oprypin> that's nice :)
<heaven31415> your userbase
<heaven31415> has increased
<heaven31415> would you consider adding some addons to crsfml?
<oprypin> nope
<heaven31415> cool
<oprypin> nothing prevents you from just making them in a separate repo
<oprypin> i mean, this is bindings to sfml and nothing more
<heaven31415> i know
heaven31415_ has joined #crystal-lang
<Groogy> When I couldn't get multi texture render targets added to SFML I just made my own repo that had it
<Groogy> thanks to github it's pretty easy to stay "onboard" with the latest version so
<heaven31415_> it is good that you can just open somebody else class and add something to it
<heaven31415_> otherwise making addons would suck a little bit
heaven31415 has quit [Ping timeout: 255 seconds]
<Groogy> Well preferably you shouldn't open up the class again
<Groogy> Probably better to add if you need something new
<heaven31415_> but if I want to add for example serializing to YAML, I can just define interface to crystal and use it
<heaven31415_> otherwise I would have to create new class just for it
<Groogy> `I would have to create a new class just for it`
<Groogy> you say as if that is a bad thing :P
<heaven31415_> it is, because when I serialize stuff
<heaven31415_> I need to remember whether I need to use wrapper or can serialize it directly
<Groogy> Well for game since I want to be able to use persistent objects I do seperate it out
<Groogy> keep the classes clean, also let's me provide references to the serialization by ID a bit easier than the builtin stuff
<FromGitter> <bew> @RX14 can you take a look at https://github.com/briansteffens/btest/pull/4#comment-377819779 ? I thought we had a docker image for this kind of usecase
<Groogy> usage of this is: serializer.marshal world
<Groogy> and it does everything for me :)
<heaven31415_> I'm sorry for a newbie question, but what do you mean by persistent object?
<Groogy> swhen you press save, you reload the game it will still be there
<Groogy> it's what we refer to it at work so it just stuck with me.
<heaven31415_> ohh, okay
<heaven31415_> it looks nice, what are you working on now?
<Groogy> and then you have of course let's say "Entity Bob, who has hat #23" but #23 hat is saved in a different place in the save.
<Groogy> so you have to refer to it indirectly
<Groogy> been working on user interface all day. Sort of
<Groogy> blob:https://imgur.com/5a1bdce1-a628-4451-bd1f-1527fc6fa5fb
<Groogy> oh whoops
<Groogy> there you go
<Groogy> been working specifically on making sure the tiles and the layers are rendered in correct order, that when you click it responds as you think etc.
<heaven31415_> so it is going to be some sort of tile level editor?
<Groogy> the tile is only the square on the top, but have hit test vertices you can't see that stretches all the way down to the next tile
<Groogy> ah no god game
<heaven31415_> god game?
<Groogy> Management game but more perspective on divine powers I guess
<Groogy> :P
<heaven31415_> just making sure :P
<Groogy> It's not the same but guess that would be the closest description. Both usually feature free agents that you have indirect control over
<Groogy> though there are some god games with direct control as well
<heaven31415_> and your is going to be?
<Groogy> indirect
<Groogy> more Dwarf Fortress meets Crest sort of
<Groogy> currently porting most stuff from my C++ project and at the same time improving things and utilizing new stuff Crystal makes possible
<Groogy> right now the game is just a simulation with groups of people gathering resources autonomously, crafting stuff and inventing new stuff to craft
<heaven31415_> you left C++ for good or just creating this in Crystal as an experiment?
<Groogy> Hahaha I can't leave C++ for good
<heaven31415_> I know
<heaven31415_> you are dev
<Groogy> Well not only that but they do good things very opposite from each other
<Groogy> and besides, Crystal still don't support Windows so
<heaven31415_> Can you elaborate on those `good things` you mentioned?
<heaven31415_> I really hate c++ standard lib, do you even use it in your work?
<Groogy> Yeah only when your own standard library is missing a thing
<Groogy> which is really rare nowdays
<heaven31415_> so you have your own homebrew std?
<Groogy> but our own library is compliant with the standard library so you can hook it easily in with anything the standard lbirary provides
<Groogy> and vice versa
<Groogy> yepp
<heaven31415_> that's really nice
<heaven31415_> and it is easier to use a bit than c++ std?
<Groogy> But like one thing I do miss is being able to declare ownership, It's not a thing for Crystal or a feature crystal would benefit from
<heaven31415_> I just love when people tell about "remove-erase" idiom
<Groogy> but we have various tools for that in our library
<Groogy> we mix remove and delete
<Groogy> in some cases delete means remove, and sometimes we have methods called RemoveAndDelete
<heaven31415_> isn't this sad?
<Groogy> also if you go really deep into the history of the code, to the old nether parts nobody visits anymore
<Groogy> we have functions like "GetPosition, GetActualPosition, GetPositionActually"
<Groogy> and they all do different things
<heaven31415_> jezus... XD
<heaven31415_> the first 2 are okay
<heaven31415_> but that third is really messed up
<heaven31415_> maybe adding some offset
<heaven31415_> or something
<Groogy> Well we also have GetAbsolutePosition
<Groogy> which is what I thought GetActualPosition gave you
<Groogy> but it isn't
<Groogy> code hygiene, it's a thing
<Groogy> even on small projects
<heaven31415_> and how well is it documented?
<heaven31415_> Did you have to look through source code to figure it out or you had enough info in docs?
<Groogy> no just didn't touch it D:
<Groogy> code base is 15 years old so
<heaven31415_> that is healthy
<Groogy> Actually think there is a file from the previous engine that is as old as some of my coworkers
<heaven31415_> so it can easily remember the days of no graphics hardware acceleration :P
<Groogy> oh yeah previous engine had it's own software renderer
<heaven31415_> have you heard about this? https://en.wikipedia.org/wiki/Fast_inverse_square_root
<Groogy> ow yeah
<heaven31415_> maybe you can find it somewhere in your old engine :P
<Groogy> nobody fakes it like game devs :D
<FromGitter> <faustinoaq> Hey @bew Thank you for your help! 😄 https://github.com/briansteffens/btest/pull/4
<heaven31415_> can you imagine that in Box2D implementation it is still present there?
<heaven31415_> I really don't why, when fpu hardware doesn't need software emulation anymore
<FromGitter> <faustinoaq> @bew About the docker issue, I think crystal has already a pretty usable docker image, I didn't understand well what was his issue 😅
<FromGitter> <faustinoaq> Seems they are using D-lang because part of their projects is already written in D, so, no problem with that 😉
heaven31415_ has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Paulos33 has joined #crystal-lang
<Paulos33> I made a little app using the raze and I want to deploy it on a VPS, how would I do that?
<oprypin> "the raze"?
<Paulos33> Raze, sorry
<oprypin> oh https://github.com/samueleaton/raze good choice
<oprypin> Paulos33, i dunno, whatever you did locally
<oprypin> install an OS, install crystal etc etc
<Paulos33> Yeah I like it alot, but it doesn't run on the vps I brought
<oprypin> Paulos33, how so?
<Paulos33> I get an error missing libssl
<oprypin> install it
<oprypin> Paulos33, what OS is that, centos by chance?
<Paulos33> Yep centos
<oprypin> :|
<oprypin> well install a different os now
<Paulos33> I tried debian too and there was an error missing libpcre
<oprypin> oh come on..
<oprypin> that has to work
<oprypin> you just install libpcre, you know
<Paulos33> I had libpcre installed, Dev and all
<oprypin> then you did something wrong. or the distro is ancient
<oprypin> what version?
<oprypin> https://crystal-lang.org/docs/installation/ should surely work
<Paulos33> Debian 9
<Paulos33> Crystal installed perfectly
<oprypin> yeah that's great
<Paulos33> I can't compile on the vps because it runs out of memory too often
<oprypin> yeah that's a problem
<oprypin> gotta get some swap space. OR compile on your machine and put the binary on the vps
<Paulos33> I went the binary route but, well, that's where the library errors come in
<oprypin> Paulos33, what OS do you have locally?
<Paulos33> Manjaro
<oprypin> yeha that'll do it
<Paulos33> I should compile in a vm?
<oprypin> you could try that lol
<Paulos33> I'm gonna do that and report back
<oprypin> Paulos33, that's so unsustainable in the long term :(
cremes has joined #crystal-lang
cremes has quit [Quit: cremes]
Groogy has quit [Read error: Connection reset by peer]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_whitelogger has joined #crystal-lang
<oprypin> RX14, you mentioned casting method args to their type annotation. could that, in combination with more frequent type annotations, solve compile time problems?
<RX14> Yes that was the idea
<oprypin> it doesn't even seem hard to do
<RX14> Exactly
<oprypin> Number seems like a special case somehow
<RX14> But ary says it is
<RX14> And I'd rather trust him
<oprypin> ok cool so we're screwed
<RX14> Nah
<RX14> Its still far easier than the other solutions
<RX14> Its doable
<RX14> Its just not a 100 line diff
<oprypin> sure, but nobody's gonna do it anyway
cremes has joined #crystal-lang
<Paulos33> The vps prevents me from adding swap