« Back to channel list

#elixir-lang - 24 June 2019

« Back 1 day Forward 1 day »
[00:03:27] atk: has joined #elixir-lang
[00:04:05] Disorganized: has joined #elixir-lang
[00:08:21] Scramblejams: has joined #elixir-lang
[00:11:02] Disorganized: has joined #elixir-lang
[00:30:55] jeffweiss: has joined #elixir-lang
[00:48:09] jeffro: has joined #elixir-lang
[00:51:21] fishcakez: has joined #elixir-lang
[00:51:21] msch: has joined #elixir-lang
[00:51:22] jlpeters: has joined #elixir-lang
[00:51:22] fertapric: has joined #elixir-lang
[00:51:22] Nicd-: has joined #elixir-lang
[00:51:22] bphogan: has joined #elixir-lang
[00:51:22] lackac: has joined #elixir-lang
[00:51:22] sickill: has joined #elixir-lang
[00:53:20] spork: has joined #elixir-lang
[00:53:26] peel: has joined #elixir-lang
[00:53:32] strmpnk: has joined #elixir-lang
[00:53:33] CornishPasty: has joined #elixir-lang
[00:53:33] benoitc: has joined #elixir-lang
[00:53:34] Paradox: has joined #elixir-lang
[01:02:16] dsr: has joined #elixir-lang
[01:24:50] jeffro: has joined #elixir-lang
[01:26:52] cschneid_: has joined #elixir-lang
[01:27:54] tomterl: has joined #elixir-lang
[01:33:07] Disorganized: has joined #elixir-lang
[01:41:02] InternetFriend: has joined #elixir-lang
[01:48:07] jeffro: has joined #elixir-lang
[02:07:04] ariedler: hypercore: the feelz when you find a ticket that has been open for > 3 years; or has been closed
[02:13:59] sevenseacat: has joined #elixir-lang
[02:16:07] jeffro: has joined #elixir-lang
[02:21:10] ariedler: has joined #elixir-lang
[02:26:03] __charly__: has joined #elixir-lang
[02:57:31] hypercore: ariedler: lol to be fair the issue wasn't clearly resolved
[02:57:59] jeffweiss: has joined #elixir-lang
[03:06:12] Disorganized: has joined #elixir-lang
[03:15:01] cschneid_: has joined #elixir-lang
[03:18:34] uranoss: has joined #elixir-lang
[03:26:35] Scramblejams: has joined #elixir-lang
[03:30:06] foggyboi: has joined #elixir-lang
[03:42:28] InternetFriend: has joined #elixir-lang
[03:48:03] siwatpru: has joined #elixir-lang
[03:48:16] foggyboi: has left #elixir-lang: ()
[03:53:34] mdbm_: has joined #elixir-lang
[04:10:41] jeffweiss: has joined #elixir-lang
[04:11:04] InternetFriend: has joined #elixir-lang
[04:16:56] jeffro: has joined #elixir-lang
[04:18:53] cschneid_: has joined #elixir-lang
[04:23:59] mdbm__: has joined #elixir-lang
[04:39:13] proteusguy: has joined #elixir-lang
[04:48:02] voltone: has joined #elixir-lang
[05:00:49] jeffro: has joined #elixir-lang
[05:16:02] Sgeo: has joined #elixir-lang
[05:31:43] Sgeo_: has joined #elixir-lang
[05:32:23] sangoma: has joined #elixir-lang
[05:33:19] blassin2: has joined #elixir-lang
[05:39:33] cschneid_: has joined #elixir-lang
[05:41:42] notzmv: has joined #elixir-lang
[05:42:09] kaniini: has joined #elixir-lang
[05:47:06] esainane: has joined #elixir-lang
[05:48:27] serafeim: good morning
[05:52:34] serafeim: Nicd-: hey do you feel there wouild be any problems if I put my codestats key in my (public) VS Code settigns repo: https://github.com/spapas/vscode-settings ?
[05:53:36] Nicd-: Yes. And please ask on our project's channels in the future.
[05:54:03] serafeim: is it on freenet ?
[05:54:13] Nicd-: Check the site footer for links
[05:54:24] Nicd-: #codestats on this network
[06:02:19] wonko7: has joined #elixir-lang
[06:02:30] deesar: has joined #elixir-lang
[06:06:56] jeffweiss: has joined #elixir-lang
[06:07:36] chazlever_: has joined #elixir-lang
[06:07:37] euphidime_: has joined #elixir-lang
[06:07:37] robramsaynz_: has joined #elixir-lang
[06:07:37] ericentin_: has joined #elixir-lang
[06:07:46] smeevil__: has joined #elixir-lang
[06:07:52] Guest82928___: has joined #elixir-lang
[06:08:01] jpinnix_: has joined #elixir-lang
[06:08:02] benwilson512_: has joined #elixir-lang
[06:08:06] darach_______: has joined #elixir-lang
[06:08:07] scrogson_: has joined #elixir-lang
[06:08:07] jerme__: has joined #elixir-lang
[06:08:08] bytesighs_: has joined #elixir-lang
[06:08:10] asonge_: has joined #elixir-lang
[06:08:17] Scorchin_: has joined #elixir-lang
[06:08:20] akraut_: has joined #elixir-lang
[06:08:23] d10n-work_: has joined #elixir-lang
[06:08:25] dukedave_: has joined #elixir-lang
[06:08:27] dnyy_: has joined #elixir-lang
[06:08:27] affinespaces_: has joined #elixir-lang
[06:08:30] teadrop_____: has joined #elixir-lang
[06:08:47] gvaughn: has joined #elixir-lang
[06:09:00] Ankhers_: has joined #elixir-lang
[06:10:48] comboy: has joined #elixir-lang
[06:10:51] rawtaz_: has joined #elixir-lang
[06:11:04] pankracy: has joined #elixir-lang
[06:13:07] bodie__: has joined #elixir-lang
[06:13:36] chrismccord_: has joined #elixir-lang
[06:14:19] ambrosia_: has joined #elixir-lang
[06:14:23] kzemek_: has joined #elixir-lang
[06:14:26] Dawgora_: has joined #elixir-lang
[06:16:17] amitchellbullard: has joined #elixir-lang
[06:22:27] ariedler: has joined #elixir-lang
[06:22:37] Anders[m]: has joined #elixir-lang
[06:22:39] NicdW: has joined #elixir-lang
[06:23:20] tkarstens[m]: has joined #elixir-lang
[06:23:25] is0x3F: has joined #elixir-lang
[06:27:59] jeffweiss: has joined #elixir-lang
[06:33:06] tuacker: has joined #elixir-lang
[06:33:36] cschneid: has joined #elixir-lang
[06:37:33] ndee: has joined #elixir-lang
[06:41:42] ur5us: has joined #elixir-lang
[07:00:30] dsr: has joined #elixir-lang
[07:01:40] jeffro: has joined #elixir-lang
[07:04:26] gvaughn: has joined #elixir-lang
[07:10:15] Sgeo__: has joined #elixir-lang
[07:17:51] jeffweiss: has joined #elixir-lang
[07:38:22] absolutejam: has joined #elixir-lang
[07:39:16] iamvery: has joined #elixir-lang
[07:44:40] InternetFriend: has joined #elixir-lang
[07:46:12] kapilp: `|> Repo.preload(file_entities: :update_user)` how to order by `file_entities`?
[07:49:09] cschneid: has joined #elixir-lang
[07:52:50] gde33: has joined #elixir-lang
[08:16:30] mdbm__: has joined #elixir-lang
[08:41:39] ur5us: has joined #elixir-lang
[08:44:02] Gika: has joined #elixir-lang
[08:47:27] josevalim: kapilp: order what?
[08:48:20] dysfun: one assumes he'd like to apply an ORDER BY to the list of entries that will get preloaded
[08:48:38] dysfun: so that when he accesses them, they come out in a specific order
[08:48:40] wonko7: has joined #elixir-lang
[08:50:38] ur5us: has joined #elixir-lang
[08:52:39] gvaughn: has joined #elixir-lang
[09:01:04] deesar: has joined #elixir-lang
[09:02:31] jeffro: has joined #elixir-lang
[09:10:19] lexmag: has joined #elixir-lang
[09:17:12] Sgeo__: has joined #elixir-lang
[09:17:41] mdbm__: has joined #elixir-lang
[09:20:41] cschneid: has joined #elixir-lang
[09:22:52] mdbm_: has joined #elixir-lang
[09:53:53] PragTob: has joined #elixir-lang
[10:07:32] kapilp: order by `id` column
[10:12:56] mk[]: what do you use for performance monitoring and logging in Phoenix?
[10:13:03] w1gz: has joined #elixir-lang
[10:23:48] ariedler: has joined #elixir-lang
[10:25:28] jeffro: has joined #elixir-lang
[10:28:48] iamvery: has joined #elixir-lang
[10:35:52] ariedler: has joined #elixir-lang
[10:40:26] absolutejam: has joined #elixir-lang
[10:41:00] gvaughn: has joined #elixir-lang
[10:45:16] Czen: has joined #elixir-lang
[10:50:01] cschneid: has joined #elixir-lang
[11:01:39] dsr: has joined #elixir-lang
[11:02:18] iamvery: has joined #elixir-lang
[11:06:52] lessless: has joined #elixir-lang
[11:10:14] lemald: has joined #elixir-lang
[11:10:39] jeffweiss: has joined #elixir-lang
[11:12:16] absolutejam: has joined #elixir-lang
[11:14:53] wonko7: has joined #elixir-lang
[11:15:07] hypercore: has joined #elixir-lang
[11:21:07] tuacker: has joined #elixir-lang
[11:36:51] gvaughn: has joined #elixir-lang
[11:45:33] nickjj: if you wanted to call the same function in 2 controllers but you didn't want that function to be in a context since it depends on phoenix, where would you place that function?
[11:47:24] serafeim: i'd add a controller_helpers.ex file inside my _web/controllers/
[11:47:37] nickjj: for reference, this isn't a plug either, it's just something i want to do in both controllers but the thing i'm doing isn't related to either controller specifically
[11:48:27] nickjj: thanks, i was thinking something similar by having a utils.ex file in controllers/ but controller_helpers.ex sounds a lot better and follows the style of other similar files
[11:50:01] serafeim: no prob! i'm doing something similar with view_helpers.ex: https://github.com/spapas/phxcrd/blob/master/lib/phxcrd_web/views/view_helpers.ex to hold a bunch of useful global functions for views
[11:52:55] nickjj: serafeim, ah, i have a shared_view.ex doing something similar
[11:54:28] nickjj: but i think seeing your example really just made something click
[11:54:40] nickjj: _helpers.ex is really what it is, it's not a view
[11:55:03] nickjj: because i was struggling what the difference was between the 2, but now i see
[11:55:15] serafeim: nickjj: correct i think you should name it view_helpers or view_utils or something
[11:56:04] nickjj: the functions you have in _helpers.ex are being used in your templates , where as the _view.ex files are really rendering responses for a specific view?
[11:56:57] nickjj: perfect, thanks
[11:58:03] serafeim: i have included an `import xx.ViewHelpers` to my _web.ex so these are easily available to my templates: https://github.com/spapas/phxcrd/blob/master/lib/phxcrd_web.ex
[12:02:47] nickjj: so here's a fun question, taking this 1 step further, if you wanted to share a function between a controller and a channel , where would that go?
[12:03:13] nickjj: or live view for that matter
[12:04:49] Nicd-: in a helpers/utils file in the web app, on a level higher than controllers/channels
[12:05:11] serafeim: Nicd-: yes probably i'd do the same
[12:07:05] nickjj: thanks, this use case is for signing and verifying phoenix tokens -- Phoenix.Token is pretty short, but i'm reading certain things from env variables which makes the call kind of long (especially in case condition 1 liners in my controller)
[12:09:14] BeerLover: has joined #elixir-lang
[12:09:24] serafeim: hm from what I see i've just dumped `Phoenix.Token.verify` in my `user_socket.ex` and `Phoenix.token.sign` in the `layout\app.html.eex`
[12:09:37] serafeim: maybe it's no the best way to do it but i just use the defaults from what i see
[12:09:58] nickjj: i'm currently using phoenix token in my controllers too, because my authentication is done by magic links and phoenix.token handles the token in the link
[12:11:50] nickjj: so i wound up with this in an accounts context https://gist.github.com/nickjj/60992c76fe1c95a74ff1cdb168bd6fb5 , which now i'm seeing is a problem because it still depends on phoenix (i just got to the umbrella app part of the programming phoenix book and it hints that your non-web app shouldn't depend on phoenix)
[12:11:58] nickjj: and i 100% agree with that, even if i don't use umbrellas
[12:12:49] serafeim: nickjj: i think i had a discussion here before some days that the value of the salt you pass doesn't matter
[12:13:07] serafeim: but i can't really recall with whom and why
[12:13:15] nickjj: hmm, so it's safe to commit that salt to version control?
[12:13:41] serafeim: nickjj: actually it's safe to just use "user salt" for your token verification. at least that's what I remember
[12:14:15] serafeim: nickjj: it *does* seem strange though so don't take my word for it maybe somebody else can explain if that's the fact
[12:14:50] nickjj: i'm googling now and the general census seems to be that the salt value is app wide, but it doesn't mention whether or not it should be publicly available (think of an open source project for example)
[12:15:33] griffinbyatt: has joined #elixir-lang
[12:16:11] griffinbyatt: has joined #elixir-lang
[12:16:28] dysfun: no, you should protect it
[12:16:52] serafeim: dysfun: we are not talking about the signing salt
[12:16:53] dysfun: we use environment variables read at runtime through distillery
[12:17:04] dysfun: i know what you're talking about
[12:17:13] serafeim: dysfun: we are talking about the value you pass to the sign/verify token function
[12:17:19] dysfun: note that it's called a salt rather than a nonce
[12:17:36] nickjj: Phoenix.Token.sign(MyApp.Endpoint, "user salt", user_id) , from the docs
[12:17:54] nickjj: in my case, "user salt" is coming from an env variable that is then set in a config file -- so it's app wide but out of version control
[12:18:07] dysfun: that's fine
[12:19:31] cschneid: has joined #elixir-lang
[12:19:59] nickjj: but the interesting thing is https://elixirforum.com/t/phoenix-token-for-api-auth-salt-per-user-or-per-app/13361
[12:20:42] nickjj: some of those replies hint that maybe it's just a namespace and not really a traditional salt
[12:21:27] griffinbyatt: It's just used in key generation, not in the actual signing process
[12:21:36] jeffweiss: has joined #elixir-lang
[12:22:24] griffinbyatt: I think calling in "namespace" is probably equally confusing
[12:23:10] griffinbyatt: It's best practice not to re-use secrets in different contexts, so there is key generation functionality to generate different keys based on the same secret key base
[12:24:18] nickjj: what is a context in this case? would you be expected to use different values for generating an email auth token for a magic link vs. a channel auth token?
[12:24:28] nickjj: different "user salt" values i mean
[12:24:56] griffinbyatt: If you're using Phoenix.Token.sign, it would all be the same context
[12:25:10] griffinbyatt: DIfferent context would be an encryptor vs a signer
[12:25:33] nickjj: ok, so when in doubt keep doing what i'm doing -- since you probably can't go too wrong keeping it private in the end?
[12:25:58] mdbm_: has joined #elixir-lang
[12:25:59] griffinbyatt: Yeah, you can definitely keep it private
[12:26:19] jeffro: has joined #elixir-lang
[12:26:22] griffinbyatt: Unlike traditional "salts" it's not part of the output or anything
[12:27:49] proteusguy: has joined #elixir-lang
[12:32:26] serafeim: yes but would that be a problem if i just used "user salt" and put it on version control or even publish it on the internet ?
[12:32:41] serafeim: because i remembered from the discussion here that it wouldn't matter at all
[12:32:58] griffinbyatt: The salt does not need to be secret
[12:33:26] serafeim: cool that's what i remembered
[12:33:32] griffinbyatt: ACTION :thumbsup:
[12:36:11] nickjj: thanks, that's all clear
[12:36:13] BeerLover: has joined #elixir-lang
[12:36:52] nickjj: well, clear in the sense that either option is equally as safe, encryptor vs signer is black hole of wiki articles for another day hah a
[12:40:48] isHavvy: has joined #elixir-lang
[12:52:43] hypercore: has joined #elixir-lang
[12:56:55] samrose: has joined #elixir-lang
[13:01:02] jeffweiss: has joined #elixir-lang
[13:13:55] duane: has joined #elixir-lang
[13:18:22] keathley: josevalim: One of my services runs a nightly CI build using ecto master (amongst other things) and I think I just discovered a regression around the PARTITION syntax for postgres. I saw that there was some changes done to partition in ecto recently. Didn't know if you wanted me to open an issue and if so what repo it should be on.
[13:23:36] gvaughn: has joined #elixir-lang
[13:25:06] jeffro: has joined #elixir-lang
[13:36:09] gvaughn: has joined #elixir-lang
[13:47:03] drincruz: has joined #elixir-lang
[13:50:15] cschneid: has joined #elixir-lang
[13:55:07] jeffweiss: has joined #elixir-lang
[13:55:54] jeffweiss: has joined #elixir-lang
[13:57:17] kapilp: has left #elixir-lang: ()
[13:57:30] hypercore: has joined #elixir-lang
[14:00:38] mikker: has joined #elixir-lang
[14:01:19] BitBot: has joined #elixir-lang
[14:17:25] jeffro: has joined #elixir-lang
[14:18:33] jeregrine: has joined #elixir-lang
[14:19:52] josevalim: keathley: awesome ,please open up an issue in ecto
[14:19:57] josevalim: i can't migrate if necessary
[14:20:00] josevalim: errr, i can
[14:21:10] keathley: Cool will do
[14:38:40] m1dnight_: has joined #elixir-lang
[14:40:21] wsieroci: has joined #elixir-lang
[14:41:28] m1dnight1: has joined #elixir-lang
[14:49:00] m1dnight_: has joined #elixir-lang
[14:54:54] hypercore: has joined #elixir-lang
[14:59:12] cschneid: has joined #elixir-lang
[15:04:16] gvaughn: has joined #elixir-lang
[15:10:23] gvaughn: has joined #elixir-lang
[15:15:02] lexmag: has joined #elixir-lang
[15:16:44] tuacker: has joined #elixir-lang
[15:17:07] mdbm_: has joined #elixir-lang
[15:20:17] drrty: has joined #elixir-lang
[15:33:21] josevalim: tristan__: i don't know if you are notified when it goes from draft to reaedy for review, but this is good to go! https://github.com/howistart/howistart-hakyll/pull/5
[15:34:27] aalmazan: has joined #elixir-lang
[15:42:27] tristanm_: annoying, I am not :). thanks!
[15:56:25] dimitarvp: has joined #elixir-lang
[16:00:35] lauromoura: has joined #elixir-lang
[16:15:21] InternetFriend: has joined #elixir-lang
[16:19:54] BitBot: has joined #elixir-lang
[16:21:15] eudocimus_r: has joined #elixir-lang
[16:22:47] cschneid: has joined #elixir-lang
[16:23:14] BitBot: has joined #elixir-lang
[16:28:59] orbyt_: has joined #elixir-lang
[16:29:12] Lyubo1: has joined #elixir-lang
[16:39:37] Disorganized: has joined #elixir-lang
[16:40:01] uranoss: has joined #elixir-lang
[16:43:04] jnoon2: has joined #elixir-lang
[16:52:42] kaun_: has joined #elixir-lang
[16:52:46] laut: has joined #elixir-lang
[16:53:01] Lyubo1: has joined #elixir-lang
[16:54:03] kaun_: has left #elixir-lang: ()
[17:07:09] jeffro: has joined #elixir-lang
[17:16:55] Disorganized: has joined #elixir-lang
[17:25:13] Disorganized: has joined #elixir-lang
[17:28:19] hypercore: has joined #elixir-lang
[17:30:05] greengriminal: has joined #elixir-lang
[17:30:54] Disorganized: has joined #elixir-lang
[17:39:37] Disorganized: has joined #elixir-lang
[17:41:11] squalloster: has joined #elixir-lang
[17:41:45] pera: has joined #elixir-lang
[17:49:05] wonko7: has joined #elixir-lang
[17:51:34] foggyboi: has joined #elixir-lang
[17:58:13] hifly: has joined #elixir-lang
[17:58:22] cschneid: has joined #elixir-lang
[17:59:24] hifly_goose: has joined #elixir-lang
[18:01:34] hifly_goose: Hi all. I'm wondering if I found a bug with the static module. Using Phoenix 1.4.5, I'm serving (perhaps incorrectly) usual bunch of site static items, but additionally my app's "upload" dir, for which I have NOT created digests. After some period of time my app consumes all available file handles opening these non digested files
[18:02:27] hifly_goose: The specifics of consuming file handles appears to be: Not in the digest, request to download the file is made by a robot which kills the connection before fully downloading the file (does not happen if you download the full file).
[18:02:54] hifly_goose: Possibly relevant, nginx in front of the app. I can see the "disconnected" events on this robot which correlate with the open files on our server.
[18:32:29] jeffro: has joined #elixir-lang
[18:42:48] Gazler: has joined #elixir-lang
[18:49:00] jeregrine: josevalim: what will you talk about in all those keynotes without major features? :-)
[18:50:29] jeregrine: also did you qualify for Fortnite World Cup with all your free time now that Elixir/Ecto are finished?
[18:50:47] serafeim: for anybody interested: https://news.ycombinator.com/item?id=20265031
[18:51:52] jeregrine: Great work though. I think your next talk should be philosophical, "Elixir is Omasake" style where you call out other projects for always adding new features
[18:52:11] jeregrine: hopefully the people over at React listen and stop already
[18:52:28] serafeim: there's a discussion there about Elixir's "We don’t have any major user-facing feature in the works nor planned."
[18:52:49] jeregrine: yea I have that site blocked, i'll have to check it out later
[18:55:21] serafeim: this statement seems a little strange now at 2019
[18:55:22] gamache: here's my worry about Elixir 1.9 releases: I don't want core support for `mix release` to snuff out interest in the Distillery project, even if Elixir does reach feature parity with Distillery (i.e., hot code upgrades, config providers, etc)
[18:56:42] gamache: I think Distillery is a more fertile ground for experimentation around release engineering than core Elixir will ever be, and I also suspect that bitwalker/Paul has thought very deeply about releases in a way that other people, even José, will not be able to match
[18:57:20] gamache: I have a small amount of skin in this game, as I'm using upgrades and config providers in prod and I don't intend to change that part of my workflow
[19:05:44] jeregrine: I believe Paul was involved. Look its a tiny community, Jose and Paul see each other often at conference and it is likely Jose is in a chat or DM with him every day :P
[19:06:56] gamache: That is true and it is nice but it does not address my concern that Distillery will lose its community of users.
[19:07:03] jeregrine: distillery not going anywhere
[19:07:28] gamache: We don't know that.
[19:07:30] jeregrine: if it does, then you are in luck you can turn your fear, uncertainty and doubt into action! and fork it
[19:07:39] jeregrine: experiment away
[19:07:58] gamache: I am not worried about the code disappearing, I am worried about the users moving away
[19:07:59] jeregrine: more likely is Paul gets busy with life and hands the prject off
[19:08:29] gamache: don't play me off as FUD when I am raising a valid concern
[19:09:18] jeregrine: anyways its a good day for Elixir. the config changes will make everyone's life so much better
[19:09:36] jeregrine: serafeim: is blocking HN weird in 2019, or is "no more major features" weird in 2019?
[19:09:55] serafeim: unfurtunately distillery seems like too much of a PITA to be used so the problem won't be existing users moving away but new users moving in
[19:10:17] serafeim: jeregrine: l o l both are weird :) but i was talking about the "no more major features"
[19:10:34] OliverMT: that hacker news article comment field
[19:10:48] OliverMT: there are so many elixir core group supported projects to work on
[19:10:53] serafeim: i know that there are languages that don't have major features for tens of years and they are great (C, fortran, lisp)
[19:10:57] OliverMT: liveview none the less
[19:11:06] OliverMT: it's not like josevalim will run out of stuff to fix
[19:11:23] jeregrine: lol HN is largely unproductive these days, and its treated like a "democratic user submitted/voted articles" but really the mod's highly edit the postings, also the comments are very uninformed
[19:11:35] serafeim: but unfurtunately the current trend is for languages to add features to "stay afloat"... even java does it (!)
[19:11:38] jeregrine: OliverMT: right, he needs to qualify for Fortnite worlds.
[19:12:04] serafeim: jeregrine: well some articles/comments are good. also a front page HN will boost your visitors
[19:12:08] OliverMT: I treat HN as a analogue to reddit r/programming with a way higher percentage of entitled agressive neckbeards
[19:12:10] OliverMT: there is some good stuff
[19:12:15] OliverMT: but god damn, it's so toxic overall
[19:12:23] jeregrine: signal to noise ratio is worth than a forum
[19:12:33] jeregrine: used to be better
[19:12:38] OliverMT: elixirforum on the other hand is one of the best online communities I've ever participated in
[19:12:49] jeregrine: idk it has it's own problems
[19:12:56] jeregrine: (all forums do)
[19:13:05] serafeim: OliverMT: yes i also like elixir forum but something doesn't "stick" for me
[19:13:08] OliverMT: main problem is that OvermindDL1 is half my digest email
[19:13:17] serafeim: maybe its the UI/UX i can't make it out
[19:13:17] jeregrine: better to just do work and hang out in IRC
[19:13:26] OvermindDL1: ACTION coughs
[19:13:29] serafeim: and yes i also prefer irc
[19:13:31] jer: you'll always have people who say "$LANG is dead because there were no commits made yesterday!!#!@#$@"
[19:13:34] OliverMT: it's funny that I have this irc channel as my "main elixir place"
[19:13:39] OliverMT: but we're like 5% the users on slack
[19:13:58] jer: OliverMT, 5% or 1%? I want to be in the 1% of something =D
[19:14:09] serafeim: i really can't undestand why does anybody prefer slack than irc ?
[19:14:13] OliverMT: last I checked a year ago I seem to remember the slacks were on about 20k
[19:14:27] OliverMT: serafeim: app for free for anyone, including in a web tab
[19:14:31] OliverMT: irc has a higher bar of entry
[19:14:43] gamache: serafeim: logs? history? images? code snippets? yes, emoji?
[19:14:50] serafeim: OliverMT: have you tried irccloud ? i used to use it and its similar to slack
[19:15:05] jer: OliverMT, ok, so 2.235% =D
[19:15:12] gamache: I love IRC too but it was definitely designed like three decades ago
[19:15:14] foggyboi: survivability of messages seems unecessary when the forums are such a good resource
[19:15:19] jeregrine: slack is a nightmare
[19:15:27] jeregrine: i wish it would stop
[19:15:28] jer: i've not been able to get off irc since 1989 =[
[19:15:48] jeregrine: slack is the worst place for OSS. you lose message history faster than you create it there
[19:15:54] jer: but oddly enough, while i continue to use irc, i haven't used usenet in 20 years.
[19:15:54] serafeim: for the logs and history it's the same as with irccloud... or you can run a weechat relay
[19:16:21] jeregrine: and moderation is somehow less useful than irc
[19:16:42] gamache: if Slack were free for OSS communities, I would eat it up
[19:17:03] jeregrine: i've run a fairly large slack and I had a troll, impossible to mute or shadow ban them. Only tool is banning them and they just make new accounts.
[19:17:12] serafeim: gamache: but even if it was free for OSS communities you'd still get your chats behind a walled garden
[19:17:21] serafeim: which OSS community would like to give away that ?
[19:17:31] jeregrine: its way more usable
[19:17:49] gamache: ok, link me to public logs of this channel
[19:18:38] serafeim: gamache: ha ha i don't know if such logs exist. but it's not difficult to run a bot that would capture and publish it
[19:19:00] gamache: yes we are very smart people who can run software
[19:19:13] serafeim: gamache: maybe nobody's bothered to set it up. but if you want to do it you can.
[19:19:25] jeregrine: https://lmgtfy.com/?q=freenode+elixir+logs
[19:19:36] gamache: logs used to exist, actually, but the spectre of GDPR made them all shut down
[19:19:42] gamache: jeregrine: quit being an asshole
[19:20:02] gamache: lmgtfy is rude and you know it is rude
[19:20:11] jeregrine: that was a bit harsh but there are dozens of logs
[19:20:15] gamache: that should not be the tone of this channel even if I *am* saying things you don't like
[19:21:01] gamache: also, try googling it yourself, and you will see that indeed there are *not* current logs for this channel
[19:21:59] jeregrine: you're right
[19:22:36] gamache: I get that we all want to root for the longstanding open standard, but lack of logs is 100% definitely a problem with OSS communities on IRC
[19:23:01] gamache: if Slack offered full message retention for OSS communities, there would be a real reason to use it
[19:23:23] mahmudov: has joined #elixir-lang
[19:24:12] serafeim: why does GDPR forbids me publishing the logs of this channel ?
[19:24:43] jeregrine: we all haven't agree to be logged or something
[19:24:46] praveenperera: has joined #elixir-lang
[19:25:00] jeregrine: the channel motd says > This channel is logged but uncertain where
[19:25:09] gamache: serafeim: some readings of the law could interpret users' comments as content that they own and that another platform (the logging utility) owns, and under GDPR those users would have a right to purge the logs of that information
[19:25:22] jeregrine: liability ^
[19:25:51] gamache: so rather than expose themselves to potential legal liability, the logging sites just shut down
[19:26:15] serafeim: can't they remove IPs or anonymize the nicknames ?
[19:26:25] nickjj: what's interesting is a lot of IRC clients are set to log channels locally, so i guess anyone who does that is in violation of gdpr
[19:26:56] gamache: nickjj: the laws don't cover private+noncommercial use, GDPR is set up as a trade agreement legally speaking
[19:27:04] serafeim: nickjj: thats true i have setup a weechat relay so i can see the logs before a month. am i going to be sued ?
[19:27:16] gamache: serafeim: nothing stops a user from posting "My name is John Q. Sample and my favorite color is blue"
[19:27:29] gamache: anonymize the nick and IP, and you still have PII to deal with :/
[19:27:41] gamache: (can you tell GDPR compliance is part of my job?)
[19:27:45] jeregrine: more than likely fine :P
[19:28:19] gamache: until a lawyer decides it isn't
[19:28:25] jeregrine: but if you're making money off those logs and or publishing them then yea
[19:28:50] serafeim: i think that GDPR creates more problems than it actually solves
[19:28:55] cschneid: has joined #elixir-lang
[19:29:13] gamache: I'll say this, people think it has teeth. Unlike Safe Harbor which came before it
[19:29:26] nickjj: i wonder where the line is drawn when it comes to making money or publishing the logs
[19:29:28] gamache: Whether it actually has teeth is yet to be determined
[19:29:37] gamache: nickjj: publishing
[19:30:01] nickjj: like if someone says something that results in helping you fix a bug in an app that generates money, technically you profited from what they wrote
[19:30:14] jeregrine: I mentioned the money thing because you wouldn’t want to steak your livelihood on something that can be taken away
[19:34:22] jeregrine: Really love the “this is done” mentality
[19:34:32] jeregrine: Love it with ecto too
[19:36:22] cbw[m]: late to the show, but i just started using https://riot.im as my irc client and its fantastic so far... even keeps logs for me so i can read what i missed while i was offline
[19:36:57] jeregrine: Matrix is interesting. Always feels a little but finicky to get setup
[19:37:09] serafeim: cbw[m]: i used to use irccloud but now i've moved to a weechat relay
[19:37:17] serafeim: with glowing-bear
[19:37:32] foggyboi: riot's most supported backend, synapse, is a nightmare to run on a server
[19:37:35] nickjj: gamache, i just saw your comment on HN -- is appcues running on a single server?
[19:38:52] nickjj: i know you mentioned multiple servers later in our comment, but i mean during the earlier days, did you have it all just up and running for months or a year while releasing a ton of patches but never missing a beat?
[19:39:38] cbw[m]: serafeim: that looks nice
[19:40:25] serafeim: cbw[m]: if you have a 24/7 running server then running a weechat relay is the single best way to use irc these days
[19:42:43] gamache: nickjj: hah i wish! Appcues runs between 25 and 75 boxes at a time, give or take
[19:43:15] gamache: in the old days it was two, then six, then twelve
[19:43:32] gamache: then we started autoscaling like normal people
[19:43:48] gamache: but in all cases we primarily deploy upgrades
[19:44:05] josevalim: gamache: breath in and breath out :)
[19:44:14] josevalim: let's talk about this
[19:44:22] josevalim: first, what do you mean about config providers? Elixir does support those?
[19:47:14] jmcgnh: has joined #elixir-lang
[19:48:48] gamache: josevalim: hello! don't worry, I'm not polishing up my Scala resume just yet :)
[19:49:05] gamache: the config providers I am speaking of are described here: https://hexdocs.pm/distillery/extensibility/config_providers.html
[19:50:02] gamache: the functionality is pure Elixir, of course, but Distillery makes it easy to set up such config providers. I use it in prod to sync our configs with an online config parameter store that we use for all our services
[19:50:24] josevalim: I mean, elixir supports it
[19:50:40] josevalim: The docs have a section on config providers
[19:51:06] gamache: HAH was this not there in the 1.9 RC? I didn't realize this was implemented
[19:51:10] gamache: I am filled with shame
[19:51:20] josevalim: It was there all along :)
[19:51:48] gamache: In that case, I am a fool for missing it
[19:51:50] josevalim: Np! Give them a try and let me know if you have questions
[19:52:40] gamache: I won't be likely to take the Elixir implementation of releases out for a spin in production until upgrades are implemented, but I am glad this is there on day one
[19:53:46] josevalim: right, about hot code upgrades, i did a longer reply on hacker news, but when talking to different people, there was no agreement on how hot code upgrades should work
[19:54:07] josevalim: there are different options with different trade-offs and picking anything now would be premature
[19:54:52] josevalim: you were correct above: adding things to core will make them move slow, or simply not change, which is why hot code upgrades aren't here
[19:55:41] josevalim: i have talked to paul and we discussed the possibility of distillery moving to work on top of elixir releases with an extra feature set
[19:56:07] gamache: I'd like that, I think having a testbed for release eng in Elixir is very desirable
[19:56:10] josevalim: but you would have to ask him if he is going to work on that and how you can help
[19:56:49] josevalim: or maybe since you depend on it, you can venture yourself
[19:56:56] josevalim: i will be glad to have discussions and answer any questions
[19:56:58] gamache: I appreciate your measured approach on Elixir core adopting ecosystem features
[19:57:03] gde33: has joined #elixir-lang
[19:57:38] josevalim: i actually got basic hot upgrades working but once i started considering all of the possible scenarios, windows, etc, i couldnt make it all tick, so i scrapped that
[19:58:16] josevalim: so our whole structure follows what is necessary for hot code upgrades
[19:58:24] josevalim: but the front-end is not there
[19:58:33] gamache: That's a thing with upgrades, it would be very hard to make them work 100% of the time in an automated fashion
[19:58:37] josevalim: and the other part missing is autoomatic .appup generation, which you can just borrow from distillery
[19:58:53] josevalim: right, so maybe the feature is two diff packages with diff. trade-offs
[19:58:54] josevalim: hard to say
[20:00:02] josevalim: so if you want really want to make sure you are not left behind, which i understand is your main concern (and quite valid), i think you look into this a bit to have more control about things
[20:00:11] josevalim: i understatnd this is not a possiblity for everyone though
[20:00:29] gamache: I'm not worried about myself as much as the community at large
[20:00:31] josevalim: but this is what i can "offer" for now
[20:01:02] josevalim: i am not worried about the cocmmunity at large. they will either solve what they need, or they likely don't need it
[20:01:14] gamache: But it sounds like there will be a niche for Distillery going forward, which makes me feel like the community will stick around as well
[20:01:17] josevalim: distillery is a much bigger effort than hot code upgradess, and it *exists*
[20:02:46] josevalim: gamache: but yeah, we envisioned distillery being a collection of missing things
[20:02:57] josevalim: s/envisioned/disscussed
[20:02:59] gamache: Stepping up a level, I've always been a bit disappointed that hot upgrades have the spotty reputation they do, because using them has been an overwhelmingly positive experience for me
[20:03:10] josevalim: but there are things i think should be moved out
[20:03:32] josevalim: for example distillery has the thing that writes and watches a file to restart the system
[20:03:40] josevalim: and it could totally be a small llibrary
[20:04:18] Disorganized: has joined #elixir-lang
[20:11:12] jeffro: has joined #elixir-lang
[20:13:33] nineczar: has joined #elixir-lang
[20:17:10] rawtaz_: has joined #elixir-lang
[20:27:20] jeffro: has joined #elixir-lang
[20:32:23] jeffro: has joined #elixir-lang
[20:38:06] Disorganized: has joined #elixir-lang
[20:38:44] ur5us: has joined #elixir-lang
[20:42:20] edeferia: has joined #elixir-lang
[20:46:41] edeferia: should the elixir homebrew formula already reflect 1.9? seems to still be pointing to 1.8.x
[20:52:18] PragTob: has joined #elixir-lang
[20:53:20] micmus: gamache: if your services are truly stateless and all the libraries you use are stateless, it's probably fine & easy to use. As soon as you introduce state it's another story. Most libraries don't come with proper appups, so any upgrade to them is almost impossible, if you have servers you need to migrate them properly, ... it's just a lot of extra things you need to do, over stapping on some standard blue-green thingy
[20:56:59] gamache: When I adopted Elixir and its hot upgrades, I didn't have time to set up blue/green :)
[20:57:36] gamache: We generally only do upgrades when our code is the only code that's changed, for the reason you describe
[20:58:12] gamache: it's not hard to audit individual pull requests for "did any fields disappear from this struct? did any genservers have incompatible changes to their state?"
[20:58:38] cschneid: has joined #elixir-lang
[21:00:10] micmus: gamache: what do you do when you have some of those harder upgrades? like libraries, etc? Do you accept the downtime?
[21:04:58] gamache: micmus: we do a rolling deploy across the fleet, there is no downtime of the overall system but we do drop connections in that case
[21:05:20] gamache: we try to do those off-hours if we can, but it's not a big deal even if we can't
[21:06:04] gamache: we also apply upgrades in a rolling fashion -- even with the lack of downtime, there is a performance hit to each server while it is performing the upgrade switcheroo
[21:08:24] nickjj: that is a topic that mildly concerns me after finally seeing the light on how useful gen servers and ets can be
[21:08:55] nickjj: i haven't deployed anything yet but if you go with the approach of a rolling restart, and you lose all of that, how do you handle that during normal business hours?
[21:09:11] OliverMT: gamache: what does "performance hit" entail?
[21:10:28] tristanm_: why blue/green instead of just rolling?
[21:11:18] OliverMT: I let aws do my rolling for me
[21:11:24] OliverMT: full connection drain and roll
[21:11:48] foggyboi: has joined #elixir-lang
[21:12:04] tristanm_: blue/green isntead of rolling restart I mean, I see you do rolling for the live ugprades
[21:12:05] jeffweiss: has joined #elixir-lang
[21:13:30] tristanm_: and basically zero community applications come with appups
[21:29:13] tristanm_: ah nm, saw in the HN comments the issue is millions of websockets
[21:43:55] gamache: OliverMT: a server slows down when it's mid-upgrade
[21:44:15] gamache: it doesn't last long and it doesn't become completely unresponsive, but it's a thing
[21:44:21] gamache: I can't give you a percentage
[21:44:28] gamache: let's call it Noticeable
[21:52:01] duane: has joined #elixir-lang
[21:58:35] ankhers: Trying to publish a new version of a lib, getting an error when building docs. "module MyModule was not compiled with flag --docs", any ideas? I don't believe anything was changed there.
[22:01:13] jeffweiss: has joined #elixir-lang
[22:03:41] Disorganized: has joined #elixir-lang
[22:04:14] __charly__: has joined #elixir-lang
[22:11:43] jnoon2: anyone know when setting a custom serializer for a socket, what the format is? i guess the default is: serializer: [{V1.JSONSerializer, "~> 1.0.0"}, {V2.JSONSerializer, "~> 2.0.0"}]. what are these versions of, and if i use my own, what is it doing with the version id tell it? curious if this is documented anywhere and still not great at navigating the docs for this sort of thing
[22:13:29] josevalim: Ankhers: which elixir version are you oon?
[22:13:55] josevalim: those are the versions sent by the client
[22:14:09] josevalim: the messages the client receive and send are slightly different
[22:14:19] josevalim: but if you are changing the client, then you don't care
[22:23:28] ankhers: josevalim: 1.8.1 right now.
[22:23:56] josevalim: jnoon2: ^the last three messages above were for you, sorry
[22:24:02] josevalim: Ankhers: so update ExDoc? which version is it on?
[22:24:48] jnoon2: josevalim: ah, thanks!
[22:26:05] ankhers: josevalim: Just updated ex_doc, now I'm getting an error about ExDoc.Config.default/1 is undefined when running mix hex.publish.
[22:26:24] ankhers: It installed 0.20.2 when updating.
[22:26:29] josevalim: `rm -rf _build` i have been chasing this bug forever
[22:26:40] josevalim: but it disappears when i try to inspect it
[22:27:12] josevalim: Ankhers: oh, I know
[22:27:15] ankhers: That is really unfortunate.
[22:27:39] josevalim: i ssolved it lasst week but i forgot
[22:27:52] josevalim: is :ex_doc listed only under a certain enviromment?
[22:27:56] josevalim: like the docs environment?
[22:28:36] josevalim: and are you invoking only `mix hex.publish` wihout an env flag?
[22:28:46] josevalim: ok, so i don't know why
[22:28:49] josevalim: did removing _build work?
[22:29:19] ankhers: Thanks for the help there. If I come across that issue again, I will try and look deeper into it.
[22:29:25] cschneid: has joined #elixir-lang
[22:30:08] josevalim: it is something specific to mix tasks, i think that it loads one version of the code when you invoke `mix docs`
[22:30:27] josevalim: and then `mix docs` calls compile, which causes the `mix docs` version to change as it is recompiled
[22:41:13] drincruz: has joined #elixir-lang
[22:42:18] orbyt_: has joined #elixir-lang
[22:45:59] Sgeo: has joined #elixir-lang
[22:49:58] InternetFriend: has joined #elixir-lang
[22:50:29] jnoon24[m]: has joined #elixir-lang
[22:54:17] Disorganized: has joined #elixir-lang
[23:03:36] drincruz_: has joined #elixir-lang
[23:09:59] SingingBoyo: has joined #elixir-lang
[23:20:00] SingingBoyo: Hi, so, question re: having a supervisor's children access each other. Is there any harm in having child #1 use which_children to find child #2 whenever #2 is needed?
[23:20:23] drincruz: has joined #elixir-lang
[23:20:45] SingingBoyo: Or would it be better to just get child #2 when #1 starts, and use one_for_all as the supervisor strategy?
[23:26:37] systemd0wn: has joined #elixir-lang
[23:29:04] cschneid: has joined #elixir-lang
[23:49:17] holymountain: has joined #elixir-lang
[23:51:42] jeregrine: has joined #elixir-lang