RX14 changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.27.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> <girng> @Blacksmoke16 see my new name? πŸ˜†
jemc has quit [Quit: WeeChat 2.2]
<FromGitter> <kevinelliott> ha
DTZUZO_ has joined #crystal-lang
DTZUZO has quit [*.net *.split]
CommanderViral has quit [*.net *.split]
moei has quit [*.net *.split]
junland has quit [*.net *.split]
<FromGitter> <Blacksmoke16> xD
laaron- has quit [Remote host closed the connection]
laaron has joined #crystal-lang
<FromGitter> <girng> from this day forward, i am going to be a better developer. it's time.
<FromGitter> <Blacksmoke16> ayy, sounds like a plan
<FromGitter> <Blacksmoke16> ayy, works like a charm
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5c41431d8ce4bb25b8cc3f75]
<FromGitter> <Blacksmoke16> `UserController.test_action action parameter 'id' is not defined in route or query parameters.` better
<FromGitter> <Blacksmoke16> includes controller/action name now
DTZUZO_ has quit [Ping timeout: 244 seconds]
jemc has joined #crystal-lang
<FromGitter> <Blacksmoke16> `UserController.test_action has 2 parameters defined, while there are 3 route and query parameters defined. Did you forget to add one?`
<FromGitter> <Blacksmoke16> also did that for if there are more than 2 route/query params defined and less action params
jemc has quit [Ping timeout: 246 seconds]
DTZUZO_ has joined #crystal-lang
jemc has joined #crystal-lang
_whitelogger has joined #crystal-lang
<FromGitter> <girng> nice
<FromGitter> <dscottboggs_gitlab> @maiha you should use the block version of File.open ⏎ ⏎ `````` [https://gitter.im/crystal-lang/crystal?at=5c415ff9f780a1521f2abaf2]
<FromGitter> <dscottboggs_gitlab> @maiha you should use the block version of File.open ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5c416110c45b986d117bbfff]
<FromGitter> <dscottboggs_gitlab> also, @codenoid, write me some go as pretty as that ☝️
fanta7531 has joined #crystal-lang
<FromGitter> <dscottboggs_gitlab> the block ensures that `usb0#close` is called. also, I just tried it, and you can do `Bytes [ 5, 0x40, 0x10, 8, 0xA3 ]`
spacemanspam has joined #crystal-lang
baweaver has quit [Ping timeout: 264 seconds]
marmotini has joined #crystal-lang
<FromGitter> <proyb6> Q
spacemanspam has quit [Read error: Connection reset by peer]
_whitelogger has joined #crystal-lang
<FromGitter> <girng> Q
laaron has quit [Remote host closed the connection]
laaron has joined #crystal-lang
Yxhuvud has quit [Quit: No Ping reply in 180 seconds.]
<FromGitter> <bew> R
<FromGitter> <girng> hi @bew
<FromGitter> <bew> @girng what @codenoid says about beautiful crystal code has nothing to do with formatting, it's about the actual code!.. @codenoid I suggest you to read the code of the stdlib and part of the compiler, it inspired me in many cases :)
<FromGitter> <bew> Hi hopeful dev :)
<FromGitter> <girng> i see
ashirase has quit [Ping timeout: 250 seconds]
marmotini_ has joined #crystal-lang
marmotini has quit [Ping timeout: 246 seconds]
ashirase has joined #crystal-lang
<FromGitter> <j8r> does someone as an explanation of https://carc.in/#/r/612x
<FromGitter> <j8r> https://carc.in/#/r/6132
<FromGitter> <j8r> wow, changing struct to class solves the issue
<FromGitter> <j8r> https://carc.in/#/r/6136
<FromGitter> <j8r> I still don't get why
devil_tux has joined #crystal-lang
gangstacat has quit [Quit: Ĝis!]
<FromGitter> <j8r> I understand why
<FromGitter> <j8r> That's the `if *var = @nillable*var` nil checks that pass by value instead reference
<FromGitter> <j8r> logic
<FromGitter> <j8r> it modifies the reference
mps has quit [Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number]
laaron has quit [Remote host closed the connection]
<FromGitter> <bew> oooh..
devil_tux has quit [Ping timeout: 244 seconds]
<FromGitter> <bew> @j8r I think this might be good to open an issue, I think it may be related to #3073, or more specifically to the root cause of that issue: being that doing `a = b.c` gets you a copy when we're talking about structs..
<DeBot> https://github.com/crystal-lang/crystal/issues/3073 (Chained assignment to struct members (bug+suggestion))
<FromGitter> <j8r> @bew thanks for the issue :)
<FromGitter> <j8r> @bew I'm looking forward of your RFC https://github.com/crystal-lang/crystal/issues/6069
gangstacat has joined #crystal-lang
<FromGitter> <bew> Ahah well i don't think it'll ever be done since as rx14 said it's way way way too magic ^^
jemc has quit [Quit: WeeChat 2.2]
jemc has joined #crystal-lang
marmotini has joined #crystal-lang
marmotini_ has quit [Remote host closed the connection]
<FromGitter> <j8r> I'm for using structs wherever possible, allocating memory to the heap with `class` isn't cheap; it's welcomed to avoid that
marmotini has quit [Ping timeout: 246 seconds]
spacemanspam has joined #crystal-lang
marmotini has joined #crystal-lang
return0e_ has quit []
return0e has joined #crystal-lang
marmotini has quit [Ping timeout: 240 seconds]
marmotini has joined #crystal-lang
marmotini has quit [Ping timeout: 244 seconds]
jemc has quit [Ping timeout: 250 seconds]
<FromGitter> <drum445> If anyone considers using cassandra; don't
<FromGitter> <j8r> @drum445 doesn't surprise me - what's your experience?
jemc has joined #crystal-lang
Yxhuvud has joined #crystal-lang
<z64> well, generally speaking, cassandra is most effective at very, very large scale. for most things, better off sticking with something more practical
spacemanspam has quit [Read error: Connection reset by peer]
<FromGitter> <drum445> We've got a table that is 100gb
<FromGitter> <drum445> It's still worse than sql server would be
<FromGitter> <drum445> The querying is just hurrendous, I struggle to find a use case that isn't just a log store. @j8r our use case is trying to filter on timeuuids
<FromGitter> <drum445> But because the table was setup without this in mind, the sort part of the primary key is causing us issues. TLDR: Stick to a proper db
<FromGitter> <j8r> i've touched TiDB recently
jemc has quit [Ping timeout: 240 seconds]
Raimondi has quit [Ping timeout: 240 seconds]
marmotini_ has joined #crystal-lang
baweaver has joined #crystal-lang
marmotini has joined #crystal-lang
marmotini_ has quit [Ping timeout: 246 seconds]
spacemanspam has joined #crystal-lang
moei has joined #crystal-lang
<FromGitter> <matthewmcgarvey> If I have an absolute path to a file, and a relative path to another file from that file, is there an easier way to resolve the path to the relative file than: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5c421bbe746d4a677ad3acc8]
fanta7531 has quit [Quit: ...]
Raimondi has joined #crystal-lang
<oprypin> matthewmcgarvey, dont need the join, can use the two arg version of `expand_path`
spacemanspam has quit [Read error: Connection reset by peer]
<FromGitter> <matthewmcgarvey> ahh much better πŸ‘ ⏎ ⏎ it becomes ⏎ ⏎ ```result = File.expand_path(y, File.dirname(x))``` [https://gitter.im/crystal-lang/crystal?at=5c4220030721b912a59f4ecd]
<FromGitter> <j8r> @drum445 cassandra is notoriously slow :/
marmotini has quit [Ping timeout: 240 seconds]
<FromGitter> <drum445> @j8r it is indeed mate, I won't be using it again if I can avoid it
<FromGitter> <j8r> It was a choice
<FromGitter> <j8r> Of your team?
<FromGitter> <drum445> An SA from a third party
<FromGitter> <drum445> We voiced our concerns, but they chose to go ahead with it anyway
<FromGitter> <drum445> Such is life
<FromGitter> <drum445> This is true, but there are very few companies out there that need that kind of storage
<FromGitter> <drum445> I'd wager < 1%. People seem to be obsessed with copying what the "big boys" are doing, without realising it will hurt you
spacemanspam has joined #crystal-lang
<FromGitter> <drum445> @z64 thanks for that article, was an interesting ready
<FromGitter> <drum445> I do appreciate when big companies release blog posts like that. One of my favourites was the gitlab one when they deleted their prod db
<z64> welcome. yeah its great; they have a few others up of similar quality and detail too about their backend and frontend experiences. and yeah, i remember that GL one.. aha
sagax has joined #crystal-lang
spacemanspam has quit [Read error: Connection reset by peer]
spacemanspam has joined #crystal-lang
<FromGitter> <j8r> Using dynamic/bytecode interpreted languages costs a lot at scale
<FromGitter> <j8r> And unpredictable performance hurts
<FromGitter> <drum445> It sure can, if I see another type error sneak its way into pre-prod I might cry
<FromGitter> <j8r> You don't why a X time everything was so slow – and after hours of investigation, this was a full GC
<FromGitter> <drum445> Indeed mate, Elasticsearch's GC was hideous at one point. Although I guess that is to be expected, it does run on a JVM after all.
<FromGitter> <j8r> That's totally that :(
<FromGitter> <j8r> They picked Go, but now they struggle with CGo FFI overhead
<FromGitter> <j8r> They should have done like TiKV – use Rust
<FromGitter> <j8r> Or eventually Crystal :)
<FromGitter> <drum445> haha, let's hope. How is Crystal's GC?
<FromGitter> <drum445> Never really looked into it tbh
<FromGitter> <j8r> I don't know either if bdwgc provides guarantees for performing GC no more than x seconds
spacemanspam has quit [Quit: WeeChat 2.3]
<FromGitter> <theretromaniac> @j8r crystal needs a lot of such a use.
<FromGitter> <talbergs> This raise exception did not happen: https://play.crystal-lang.org/#/r/619y Why?
<FromGitter> <Blacksmoke16> hm, link isnt working for me @talbergs
Raimondi has quit [Ping timeout: 240 seconds]