<FromGitter>
<riffraff169> the circle of life again
Chillfox has quit [Remote host closed the connection]
<raz>
Blacksmoke16: that looks really neat, might try that approach at our company. we are still struggling with many-vs-mono as well. life is better after having migrated _mostly_ to mono, but there are still some outlier that call for separate repos
<raz>
i suppose it may still become annoying when ppl send PRs on one of the split repos? hm
DeBot has quit [Quit: Crystal IRC]
jhass has quit [Quit: Bye]
straight-shoota has quit [Quit: ZNC 1.8.2 - https://znc.in]
<FromGitter>
<Blacksmoke16> 👍 glad to hear! Just got started with it but it deff is pretty slick so far
<FromGitter>
<Blacksmoke16> are they public repos? could look into some sort of automation to comment on/move the PRs over. Is an example of what Symfony did for that
DeBot has joined #crystal-lang
jhass has joined #crystal-lang
<raz>
nope, ours are not public, so the PR thing shouldn't be an issue for us.
<raz>
(famous last words inb4 post-mortem meeting)
<FromGitter>
<Blacksmoke16> well there you go :P
straight-shoota has joined #crystal-lang
<FromGitter>
<Blacksmoke16> i did go thru each repo and update the readme to say send issues/prs to the monorepo
DeBot has quit [Client Quit]
straight-shoota has quit [Client Quit]
jhass has quit [Client Quit]
DeBot has joined #crystal-lang
jhass has joined #crystal-lang
straight-shoota has joined #crystal-lang
<FromGitter>
<jrei:matrix.org> Good approach indeed. In people's minds mono repo means monolith, which is false.
<FromGitter>
<jrei:matrix.org> In fact we have a sort of mono repo already in our local machine. Using a git one has the advantage of standardizing for everyone
<FromGitter>
<jrei:matrix.org> @Blacksmoke16: why not a Matrix room instead of Discord?
<FromGitter>
<Blacksmoke16> i use discord for bunch of other stuff so was just easier for me :shrug:
notzmv has quit [Ping timeout: 240 seconds]
straight- has joined #crystal-lang
DeBot_ has joined #crystal-lang
jhass- has joined #crystal-lang
notzmv has joined #crystal-lang
<raz>
yup, and in the same people's minds SOA or modular means multi-repo, which is equally false. multi-repo is one of those traps we should warn the kids about in school. it tends to take dependency hell to a whole new level.
DeBot has quit [Quit: Crystal IRC]
straight-shoota has quit [Quit: ZNC 1.8.2 - https://znc.in]
jhass has quit [Quit: Bye]
jhass- is now known as jhass
DeBot has joined #crystal-lang
jhass- has joined #crystal-lang
straight-shoota has joined #crystal-lang
<FromGitter>
<jrei:matrix.org> However, here there are still multi repos. There are just also combined into a single one
<FromGitter>
<jrei:matrix.org> Agreed that splitting things prematurely is most of the time harmful
<FromGitter>
<Blacksmoke16> oh and fwiw athena does have a gitter that im pretty sure you could use with matrix
<FromGitter>
<jrei:matrix.org> Yes, I was thinking of this
<FromGitter>
<jrei:matrix.org> You gonna bridge them?
<FromGitter>
<Blacksmoke16> discord and gitter?
<FromGitter>
<jrei:matrix.org> I think it can mostly be harmful to have 2 official chats for such small community
<FromGitter>
<jrei:matrix.org> i.e dividing an already small one
<FromGitter>
<Blacksmoke16> ironically there are diff people in each :P
<FromGitter>
<Blacksmoke16> probably should consolidate them at some point but :shrug:
<FromGitter>
<jrei:matrix.org> That's quite normal, for one guy little point to use 2 accounts
<FromGitter>
<Blacksmoke16> that was my thinking for having the two, make it easier for them to use whichever is more convenient. I'm on both regularly so is np to me
<raz>
multi-chat is at least as bad as multi-repo. all the wasted time on bridges etc...
<FromGitter>
<Blacksmoke16> could be a downside if/when it gets to a point where there is a negative effect on having same topics in two places
<raz>
if crystal had settled for a single irc channel we'd be at v3.0 already :P
<FromGitter>
<jrei:matrix.org> It may not matter if it is passed by value
<FromGitter>
<oprypin:matrix.org> SamantazFox, you will not have copies of your parameters. did you actually determine that you do have copies?
<FromGitter>
<jrei:matrix.org> I don't think it is needed
<FromGitter>
<jrei:matrix.org> Because whatever class inside a struct is still passed as reference
<FromGitter>
<Blacksmoke16> ^ probably would be overwritten on the stack as they become unused is my understanding
<FromGitter>
<jrei:matrix.org> They are not magically copied
<FromGitter>
<oprypin:matrix.org> i realized , in Crystal it's kind of a smell that, for example, `Set` happens to be defined as a `struct` and it would be a breaking change to change it to `class`
<FromGitter>
<jrei:matrix.org> No need to have Set as a class, it is a wrapper around a class
<FromGitter>
<oprypin:matrix.org> it happens to be implemented as a wrapper right now
<SamantazFox>
oprypin yes, I know. I'd like to parse some parameters (for instance those for user preferences) and then deletes them from env.response.params
<FromGitter>
<oprypin:matrix.org> SamantazFox, people in this channel so far are saying that the storage for those parameters wouldn't actually be copied. how can we solve a problem with copying it if we're convinced that it's not copied?
<FromGitter>
<oprypin:matrix.org> only if you provide an example
<SamantazFox>
Blacksmoke16: I'm not sure how dangerous `Box` is...
<FromGitter>
<Blacksmoke16> I wouldn't worry about it
<SamantazFox>
oprypin: say you have `<url>?dark_mode=1`, I want to have a preliminary check for `if params["dark_mode"] == "1"; darkmode = true; params.delete("dark_mode"); end`
<SamantazFox>
And in the end, all unknown parameters are discarded
<FromGitter>
<jrei:matrix.org> Anyway, try to do your things as if it was a class, and hit the actual issue
<FromGitter>
<jrei:matrix.org> It may not happen afterall
<FromGitter>
<oprypin:matrix.org> SamantazFox, i don't see the relevance of this short example
<FromGitter>
<oprypin:matrix.org> need a longer example and you need to point out where you think copying happens
<SamantazFox>
jrei: Should I instead add items to HTTP::Context? So the thing can be a middleware, and downstream functions (routing, ECR) can use it?
<SamantazFox>
oprypin: well, copying happens everywhere where those parameters are acessed and passed to some function.
<FromGitter>
<oprypin:matrix.org> no
hightower2 has quit [Ping timeout: 240 seconds]
<FromGitter>
<oprypin:matrix.org> the data in `HTTP::Params` consists of 1 pointer. that pointer gets copied, that's the equivalent of if it was a class