<    March 2017    >
Su Mo Tu We Th Fr Sa  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 _2_4 25  
26 27 28 29 30 31
00:06 siruf joined
00:12 racycle joined
00:14 jhack_ joined
00:17 raycoll joined
00:18 sven__ joined
00:20 hakunin joined
00:28 hotpanca_ joined
00:31 execb5 joined
00:44 hakunin joined
00:47 wtetzner joined
00:48 oborot joined
00:48 sfbw joined
00:48 nahtnam joined
00:52 gvaughn joined
00:53 gvaughn_ joined
00:57 w-t-h_ joined
01:03 TattdCodeMonkey joined
01:07 pHcF joined
01:09 nighty- joined
01:10 wilo joined
01:10 MikaAK joined
01:11 <MikaAK> Hey guys, if I have to use phantomjs to scrape a website due to ajax content, is hound (elixir) library ok to use or would using nodejs be better
01:18 rkazak_ joined
01:24 sfbw joined
01:30 wilo joined
01:38 cdg joined
01:40 MotherFlojo joined
01:45 hakunin joined
01:49 hakunin joined
01:50 <carterparks> benwilson512: hey, i've got a quick question about absinthe... seems like most examples of mutations deal with returning a single field but i know graphql allows for returning multiple types (as does the absinthe dsl). what format is expected for this from teh resolver?
01:54 jbranchaud joined
01:55 <carterparks> nm i just found it in the docs
01:57 hakunin joined
02:02 wtetzner joined
02:08 cdg joined
02:12 oetjenj joined
02:22 chrismccord joined
02:23 hahuang65 joined
02:25 sfbw joined
02:26 sfbw joined
02:27 sfbw joined
02:30 tomterl joined
02:30 systemfault joined
02:32 sfbw_ joined
02:35 oborot joined
02:36 bitshift joined
02:37 harfangk joined
02:45 oetjenj joined
02:45 pHcF joined
02:48 hahuang65 joined
02:49 Guest45613 joined
02:54 jbranchaud joined
02:56 refriedchicken joined
02:59 hakunin joined
03:02 pHcF joined
03:08 nicka joined
03:10 mauricio_ joined
03:13 refriedchicken joined
03:16 hakunin joined
03:20 MotherFlojo joined
03:27 samgranieri joined
03:32 chrismccord joined
03:33 sfbw joined
03:36 pHcF joined
03:39 chrismccord joined
03:50 v0j joined
03:54 jerel joined
03:54 hakunin joined
03:55 <ryanwinchester> anybody here familiar with protocols and/or behaviours?
04:01 codestorm joined
04:05 myronmarston joined
04:06 pHcF joined
04:14 zabirauf joined
04:14 zabirauf joined
04:16 v0j joined
04:18 myronmarston joined
04:20 pHcF joined
04:23 jbranchaud joined
04:33 alex88 joined
04:33 hotpancakes joined
04:34 sfbw joined
04:35 hotpancakes joined
04:41 chrismccord joined
04:44 cdg_ joined
04:46 hakunin joined
04:47 codestorm joined
04:51 asabil joined
05:11 azlan joined
05:12 asabil_ joined
05:12 <azlan> Hi guys, I need to connect to multiple services and interface with native OS processes. Where in phoenix should I put my code in?
05:14 <Havvy> azlan: I would make those their own otp apps and then make your phoenix app depend on them.
05:15 myronmarston joined
05:18 <azlan> Havvy: That is a good idea. Thanks for the advice
05:20 gvaughn joined
05:22 scarlex joined
05:22 praveen joined
05:24 raycoll joined
05:24 jbranchaud joined
05:37 MotherFlojo joined
05:47 MotherFlojo joined
05:51 chrismccord joined
06:07 dec0n joined
06:08 bitshift joined
06:09 codestorm joined
06:09 raycoll joined
06:15 hotpancakes joined
06:18 m_m joined
06:22 bitshift joined
06:25 milad joined
06:26 hotpancakes joined
06:26 codestorm joined
06:33 dec0n joined
06:39 arathunku joined
06:55 mcspud joined
07:03 chrismccord joined
07:08 gvaughn joined
07:15 hotpancakes joined
07:24 icanhazbroccoli joined
07:24 jbranchaud joined
07:26 zabirauf joined
07:30 craigp joined
07:53 gokr joined
07:53 l14n joined
07:55 l14n joined
07:57 tuacker joined
08:01 josevalim joined
08:05 codestorm joined
08:06 m_m joined
08:06 acscherp joined
08:14 jeznet2 joined
08:14 chrismccord joined
08:16 arathunku joined
08:20 colrack joined
08:23 milad joined
08:30 hotpancakes joined
08:33 milad joined
08:33 vmoravec joined
08:37 hbraun joined
08:38 Yelp joined
08:38 l14n_ joined
08:41 codestorm joined
08:42 craigp_ joined
08:43 travis-ci joined
08:43 <travis-ci> elixir-lang/elixir#13853 (emj/expose-seed - 2548fe3 : Eric Meadows-Jönsson): The build passed.
08:43 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/1f53d24c32e9...2548fe3a7a35
08:43 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210479688
08:43 travis-ci left
08:51 ebcz joined
08:52 bigkevmcd joined
08:55 travis-ci joined
08:55 <travis-ci> elixir-lang/elixir#13855 (emj/expose-seed - 23a34d9 : Eric Meadows-Jönsson): The build passed.
08:55 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/2548fe3a7a35...23a34d9bc311
08:55 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210480291
08:55 travis-ci left
08:56 w-t-h_ joined
08:57 gvaughn joined
09:02 Guest67_ joined
09:10 justicefries joined
09:11 MotherFlojo joined
09:13 v0j joined
09:13 Tetiana joined
09:16 johanw joined
09:17 v0j joined
09:21 v0j joined
09:24 v0j joined
09:26 jbranchaud joined
09:27 v0j joined
09:28 chrismccord joined
09:29 zabirauf_ joined
09:33 v0j joined
09:34 stephen_m joined
09:35 codestorm joined
09:37 v0j joined
09:38 hotpancakes joined
09:41 v0j joined
09:41 nithin joined
09:45 v0j joined
09:50 v0j joined
09:51 cdg joined
09:53 mark_66 joined
09:54 cdg joined
09:57 l14n_ joined
10:00 asabil joined
10:03 cemilowski joined
10:05 marr joined
10:06 hotpancakes joined
10:07 v0j joined
10:08 asabil joined
10:12 TarVanim_ joined
10:13 v0j joined
10:16 stephen_m joined
10:19 v0j joined
10:22 v0j joined
10:29 v0j joined
10:30 codestorm joined
10:32 cdg_ joined
10:32 chrismccord joined
10:34 Tetiana joined
10:36 v0j joined
10:39 proteusguy joined
10:42 v0j joined
10:45 v0j joined
10:45 gvaughn joined
10:51 gmcabrita joined
10:54 nithin joined
10:56 kgkg joined
10:56 v0j joined
10:58 Uniaika joined
11:03 lexmag joined
11:06 codestorm joined
11:11 MotherFlojo joined
11:12 Guedes joined
11:13 v0j joined
11:17 inoas joined
11:18 v0j joined
11:20 norbertka joined
11:20 milafrerichs joined
11:21 v0j joined
11:25 l14n_ joined
11:26 jbranchaud joined
11:28 v0j joined
11:30 pHcF joined
11:30 LangeOortjes joined
11:30 zabirauf_ joined
11:33 teddysmoker joined
11:34 v0j joined
11:34 cristianR_ joined
11:37 nithin joined
11:41 <OliverMT> http://fsharpforfunandprofit.com/posts/recipe-part2/
11:41 <OliverMT> the with keyword makes this so much more elegant in elixir
11:42 chrismccord joined
11:43 dm1try joined
11:47 <nox> OliverMT: Than what?
11:47 <OliverMT> the article
11:47 <OliverMT> its a writeup on fsharp pipe chains
11:47 <OliverMT> they have a switch at the end instead to have with-like behavior
11:48 <nox> I would rather have the pipe chains of F#.
11:48 v0j joined
11:48 <OliverMT> too explicit
11:48 <OliverMT> you need to have a pipe through pattern in every chain element
11:48 <OliverMT> like elixir before with
11:49 <OliverMT> but, yes I like f# a lot myself
11:50 <OliverMT> just dont like the .NET ecosystem that much. I think its very neat that you can be a interface compatible lib provider writing in F# for the C# guys to use though
11:52 <nox> You can add whatever operators you want in F# to improve the pipe.
11:53 v0j joined
11:59 nithin joined
12:00 codestorm joined
12:01 nicka joined
12:01 v0j joined
12:06 v0j joined
12:10 sfbw_ joined
12:12 nomicflux joined
12:22 hotpancakes joined
12:26 nithin joined
12:26 greengriminal joined
12:27 sfbw joined
12:30 <zidoh> what would be the recommended way to add have metadata on through tables in phoenix? adding it to the table is no issue, but preload does not load the extra metadata in any way as far as i can tell?
12:34 gvaughn joined
12:35 agit0 joined
12:38 v0j joined
12:48 execb5 joined
12:51 agit0 joined
12:52 pHcF joined
12:54 codestorm joined
12:55 <iFire> huh?
12:55 <iFire> I mean that's not relational.
12:55 Tetiana joined
12:55 alex88 joined
13:00 hotpancakes joined
13:01 mitchellhenke joined
13:07 <zidoh> huh? say you have a many to many relationship between Group and User, but you want to add date joined or something to the relationship, it's no longer relational?
13:08 nithin joined
13:09 mauricio joined
13:10 <whodidth1s> how do i recompile other projects from umbrella
13:10 <whodidth1s> in iex
13:13 MotherFlojo joined
13:13 LangeOortjes joined
13:20 greengriminal joined
13:21 nithin joined
13:24 flaviodesousa joined
13:26 mitchellhenke joined
13:27 <whodidth1s> or can i make iex remember history somehow
13:29 <Fenne> whodidth1s: https://github.com/ferd/erlang-history
13:30 execb5 joined
13:31 zabirauf joined
13:34 pHcF joined
13:34 wilo joined
13:35 hotpancakes joined
13:35 sfbw joined
13:38 nithin joined
13:40 dimitarvp joined
13:43 maxbeizer joined
13:45 <celyr> Am I missing something ? Because to me iex has history out of the box
13:46 <Nicd-> the history is lost when you close it
13:46 <celyr> ah ok yes
13:48 codestorm joined
13:50 koneko joined
13:54 arathunku joined
13:55 gvaughn joined
13:57 nighty joined
13:57 milafrerichs joined
13:58 myronmarston joined
13:59 cdg joined
14:01 RexM joined
14:06 keathley joined
14:07 grapheti joined
14:07 grapheti left
14:09 jbranchaud joined
14:12 duane joined
14:15 l14n_ joined
14:17 chrismccord joined
14:21 rodolfojcj joined
14:22 <ikopico> Hey, I'm compiling a dependency with `mix`, I've defined a `manager: :rebar3` for the dep and the dep has a rebar3 plugin. When the dep is being built, it's trying to fetch the rebar plugin and just hangs while doing so. Did someone encounter something similar?
14:23 norbertka joined
14:23 <ikopico> ===> Compiling poolboy
14:23 <ikopico> ===> Fetching some_plugin ({git,
14:23 <ikopico> "git@<git_host>:<org>/<plugin_repo>.git",
14:23 <ikopico> {tag,"0.2.0"}})
14:23 <ikopico> And just hangs
14:25 embik joined
14:26 raphaelmro joined
14:26 <ikopico> Worth mention maybe that when I'm cd'ing to `deps/<app>` and run `rebar3 compile` manually it's working...
14:27 racycle joined
14:27 BenMorganIO joined
14:30 chriswarren joined
14:31 sfbw joined
14:33 <ikopico> OK, turns out it didn't hang, rather takes A LOT of time, I wonder if it's my damn Mac
14:33 treeman joined
14:35 hbraun joined
14:37 ramortegui joined
14:39 chriswar_ joined
14:42 codestorm joined
14:44 fhoffmann joined
14:48 travis-ci joined
14:48 <travis-ci> elixir-lang/elixir#13866 (master - cf5f764 : Eric Meadows-Jönsson): The build passed.
14:48 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/526b1ce76b4d...cf5f764a1faf
14:48 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210579200
14:48 travis-ci left
14:50 sfbw joined
14:54 potatosalad joined
14:57 nanohest joined
15:00 hotpancakes joined
15:09 myronmarston joined
15:11 travis-ci joined
15:11 <travis-ci> elixir-lang/elixir#13869 (master - bc78815 : Eksperimental): The build passed.
15:11 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/cf5f764a1faf...bc78815247a9
15:11 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210590741
15:11 travis-ci left
15:12 wong2 joined
15:12 <micmus> ikopico: have you tried updating rebar with mix local.rebar ?
15:12 srodeme joined
15:14 MotherFlojo joined
15:14 icecreamcohen joined
15:22 travis-ci joined
15:22 <travis-ci> elixir-lang/elixir#13871 (master - 3047d4f : Eksperimental): The build passed.
15:22 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/bc78815247a9...3047d4fa3ae9
15:22 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210594736
15:22 travis-ci left
15:25 hotpancakes joined
15:27 jbranchaud joined
15:27 Cohedrin joined
15:28 norbertka joined
15:31 alex88 joined
15:34 laut joined
15:34 cdg joined
15:35 nithin joined
15:35 nithin left
15:36 nithinbekal joined
15:36 codestorm joined
15:40 jbranchaud joined
15:42 <ikopico> Thank micmus , I am running a latest version of `rebar3` on my system. Does `mix local.rebar` updates with a different version?
15:42 RexM joined
15:42 <micmus> ikopico: mix uses it's own rebar copy from ~/.mix/rebar(3)
15:43 <ikopico> micmus: is it different than the upstream version?
15:43 <micmus> no
15:43 <micmus> but mix won't use the global rebar if you have it installed
15:43 hotpancakes joined
15:44 RexM joined
15:44 <ikopico> So ~/.mix/rebar3 version => 3.3.2 and my own installation is 3.3.3.
15:44 execb5 joined
15:44 <ikopico> Hmm, so if I remove ~/.mix it'll fail?
15:44 codestorm joined
15:46 <micmus> yes, it will ask to install a new version
15:47 <ikopico> Thanks micmus. Still hangs :)
15:47 <ikopico> (after updating with mix local.rebar)
15:49 hotpanca_ joined
15:49 <micmus> could it be that the plugin repo is just large and it takes a long time to clone it?
15:51 MaSven joined
15:52 <ikopico> Nope. It's a plugin that we wrote, it's super simple, the whole repo (incl. git refs etc.) is less then 500K
15:53 <ikopico> It shouldn't but, is it possible that it's waiting for some kind of stdin input?
15:53 oborot joined
15:53 <ikopico> Is there a way to start mix with verbose logging?
15:54 <chrismccord> tristan__ ping
15:54 <tristan__> yo
15:55 <chrismccord> tristan__ : ^ another report of unexplainable rebar hanging, this time from something other than fs/pc
15:55 amclain joined
15:57 davidw joined
15:57 <tristan__> run with DEBUG=1 so we know where it is actualyl hanging
15:58 <ikopico> Worth mentioning.. I'm using Elixir (et al) v1.3.3, OTP 18.3, MacOS (unfortunately) Sierra and git 2.9.3 (Darwin)
15:58 <tristan__> if it is hanging on fetching that git@ repo maybe it is a ssh passphrase issue? but would want to see the debug logs
15:58 <ikopico> Nah, because cd'ing to deps/repo and running rebar3 compile works
15:58 <tristan__> ah
15:58 <ikopico> Unless there's an git trick in Mix that I'm not aware of
15:59 <tristan__> pretty hard to debug when it isn't reproduced outside of mix :(
15:59 <ikopico> True
16:00 <ikopico> I think that DEBUG=1 does not do anything with `mix`, is it?
16:01 <okeuday_bak> ikopico: you have a firewall blocking git clones as git:// but not as https://?
16:01 racycle joined
16:01 <ikopico> Nope, also, it's working OK with running ~/.mix/rebar3 compile manually from the deps dir
16:01 jerel joined
16:01 <ikopico> Only running from within mix causes a problem
16:02 <ikopico> Thing is that I'm not sure that rebar3 is the problem, but mix, number of deps maybe for the main application?
16:03 <tristan__> ikopico: DEBUG=1 does for rebar3
16:03 <tristan__> I'd be interestd in seeing what happens if mix used rebar3 as a library instead of shelling out
16:04 <ikopico> tristan__: yes, but I think (and correct me if I'm wrong) that mix does not pass the stdout from rebar3
16:04 sfbw joined
16:04 <tristan__> oh, I thought that output you pasted was just the normal rebar3 output
16:05 sfbw joined
16:05 hotpancakes joined
16:06 sfbw joined
16:06 <ikopico> Nope, it's where it hangs using mix
16:07 sfbw joined
16:07 <tristan__> right, I mean I thought tha twas just rebar3s output as normal when run in mix
16:07 <tristan__> I've got to go for a little bit. it is probably too much work but the only thing I can think of right now is how mix runs rebar3 somehow being the issue and using it as a library or fiddling with whatever is done to run rebar3 from mix
16:08 sfbw joined
16:08 <ikopico> I'm pretty certain it's a mix problem and not rebar3. Thanks tristan__
16:09 sfbw joined
16:10 sfbw joined
16:11 drincruz joined
16:11 sfbw joined
16:12 sfbw_ joined
16:13 sfbw joined
16:14 pHcF joined
16:14 sfbw joined
16:15 sfbw_ joined
16:15 myronmarston joined
16:16 <ikopico> Thanks peeps anyway, I'll continue debugging it and will post here if any interesting findings
16:16 sfbw joined
16:17 chriswarren joined
16:17 sfbw joined
16:18 sfbw_ joined
16:19 sfbw joined
16:20 sfbw_ joined
16:21 cemilowski joined
16:21 sfbw joined
16:22 cemilowski left
16:22 Tetiana joined
16:22 nithinbekal joined
16:22 codestorm joined
16:22 sfbw joined
16:23 cschneid_ joined
16:23 sfbw_ joined
16:25 sfbw joined
16:26 sfbw_ joined
16:26 tuacker joined
16:27 sfbw joined
16:27 myronmarston joined
16:28 sfbw joined
16:28 jeffweiss joined
16:28 ramortegui joined
16:29 sfbw joined
16:30 sfbw joined
16:30 nanohest joined
16:31 sfbw joined
16:32 sfbw joined
16:33 Or1on joined
16:36 rodolfojcj joined
16:36 <micmus> ikopico: MIX_DEBUG=1 turns on verbose output in mix
16:37 sfbw joined
16:42 LangeOortjes joined
16:43 teacup-on-rc joined
16:43 keathley joined
16:44 <vircung> got phoenix question, is it possible to connect to phoenix's sockets from external application ?
16:46 Guedes joined
16:47 pHcF joined
16:48 <vircung> i've got this application so far on heroku
16:50 <chrismccord> vircung yes
16:50 <chrismccord> vircung : it speaks websockets by default so you can connect via anything that can speak the protocol
16:52 <vircung> when i try to probe websocket that runs locally on localhost it works
16:52 <vircung> but when i try to probe heroku app it doesn't
16:53 myronmarston joined
16:53 <vircung> i'm using some chrome extension to probe websocket
16:53 mauricio1 joined
16:53 hotpancakes joined
16:55 jbranchaud joined
16:58 DeadTrickster joined
16:59 truami joined
17:01 <Ankhers> vircung: Can you please explain more about what you are doing?
17:02 codestorm joined
17:03 <vircung> i have phoenix application that will work as backend for other services
17:04 gokr joined
17:04 <Ankhers> And you want to talk through websockets instead of a REST API?
17:04 <vircung> additionally i want to have ability to consume phoenix's websocket as api by, let's say irc bot
17:05 <chrismccord> vircung all doable
17:05 <chrismccord> vircung : what is happening? A 400? A 403? SOmething else?
17:05 <vircung> i'm sure of that
17:05 koneko joined
17:05 <chrismccord> keep in mind, phoenix uses its own protocol over websockets, so you need a channels client after you successfully complete the ws handshake
17:07 <ikopico> Update: have tried compiling the same on a Debian machine, same OTP/Elixir versions and it went through. It looks like a MacOS thing. Not sure what, just another reason to drop box to the sea :|
17:09 <vircung> got this error http://imgur.com/a/XsDxU
17:09 <vircung> but for localhost:4000 status is connected
17:10 hotpancakes joined
17:12 mcspud joined
17:14 <vircung> chrismccord, is somewhere described phenix's socket protocol ?
17:15 MotherFlojo joined
17:15 <chrismccord> vircung : Not sure what that simple ws client is doing. What does the "undefined" alert mean?
17:15 <vircung> dunno :)
17:16 <chrismccord> vircung : we check origin by default so it could be the chrome tool is sending an origin header
17:16 <chrismccord> you could try setting `check_origin: false` temporarily in your prod config
17:16 rschmukler joined
17:17 <chrismccord> vircung: you can check the transport docs for an example of buildin gyour own client, but we have clients in the community for most platforms
17:17 rodolfojcj joined
17:18 Uniaika joined
17:22 sfbw joined
17:27 rschmukler joined
17:28 wsieroci joined
17:32 <whodidth1s> what's a nice way to md5 hash a file before sending it out to S3?
17:32 montanonic joined
17:33 zabirauf joined
17:33 keathley joined
17:33 markh joined
17:34 hotpancakes joined
17:37 rschmukler joined
17:40 cdg_ joined
17:45 kzemek joined
17:52 jeffweiss joined
17:53 keathley joined
17:54 Ven joined
17:56 codestorm joined
17:57 Cohedrin joined
18:00 wsieroci joined
18:02 hotpancakes joined
18:02 hotpancakes joined
18:04 ZippoWeb joined
18:05 zenware left
18:06 icanhazbroccoli joined
18:12 steffkes joined
18:12 MotherFlojo joined
18:13 <benwilson512> whodidth1s: the crypto module can let you hash md5, but what do you need to do it manually for?
18:13 Ven joined
18:13 <benwilson512> ExAws generates all the required hashes internally
18:14 stephen_m joined
18:15 Or1on joined
18:19 racycle joined
18:19 cdg joined
18:21 colrack joined
18:22 <asonge> anyone have experience with developing in an umbrella app where you want to release a couple of the apps as hex packages? anything to look out for?
18:22 <asonge> benwilson512: do it locally so you can know if it made it across right.
18:22 <ericmj> asonge: that seems like the wrong way to do it
18:22 <asonge> oh, you mean the lib
18:22 <ericmj> asonge: if they are hex packages they shouldn’t be in an umbrella
18:22 <asonge> ericmj: just use path dependency stuff?
18:23 <ericmj> if they are hex packages then use them as hex packages?
18:23 <ericmj> i think i am missing the use case
18:23 <asonge> i'm developing them, and they're interconnected
18:23 <tristan__> why can't hex packages be umbrella apps?
18:24 <ericmj> tristan__: i think they can, but i havent tested
18:24 <tristan__> with rebar3 if you run publish on an umbrella it will ask which apps you want to publish
18:24 <ericmj> tristan__: asonge wants a child in the umbrella to publish
18:24 <tristan__> right, that is what I'm talking about
18:24 <ericmj> asonge: if they are interconnected they shouldn’t be hex packages, then they are something internal for you
18:25 <asonge> ericmj: well, it's a one-way dependency thing
18:25 <ericmj> can you explain the use case?
18:25 <tristan__> rebar3 will publish each individual app, or just the ones you want it too
18:25 <ericmj> you want them in a monorepo?
18:26 <ericmj> tristan__: the problem is that mix or hex has to translate some of the umbrella internal dependencies to hex dependencies before publishing
18:26 <ericmj> and it has to figure the order to publish them in
18:26 <asonge> so, my main project right now is doing some pki management that isn't bash script wrappers around openssl and openssl config files, but i've got to add libraries to wrap public_key (because it just doesn't handle everything)
18:26 <ericmj> and then figure out the requirements because you dont have requirements on umbrella deps
18:27 <ericmj> i dont know how rebar3 figures all that out, but kudos if you do
18:27 <asonge> and then i'm making another app that's related to that that can take certificates and pass them on to nerves to sign firmware
18:28 <asonge> ericmj: i don't mind going into each app directory and publishing individually, it's mostly making sure mix.exs is informative enough to publish the deps accurately
18:28 <ericmj> asonge: i am saying hex packages shouldn’t be in an umbrella at all
18:28 apotry joined
18:28 <ericmj> because mix cannot automatically translate an umbrella dependency to a hex dependency
18:28 <ericmj> there is information missing
18:29 <ericmj> and when you are testing things locally there is no guarantee it will work when you publish because the dependency tree and requirements is different and made up
18:29 <ericmj> you are not testing what you will actually be publishing
18:29 <asonge> if i do some logic in mix.exs deps(), i could get around this, no?
18:29 <tristan__> rebar3 probably has less it needs to do because of how it works on deps. it just treats them as indivudal apps, up to the user to get the deps list right in each subapps rebar.config
18:29 <ericmj> yes, but please dont :(
18:30 <asonge> one of the things i want to avoid is constantly editing the dependency to read from path vs read from hex
18:31 <asonge> because for a while development will happen in parallel and the API between the deps will not be stable
18:31 <ericmj> why would you be constantly updating? fetch from hex instead
18:31 <ericmj> if they are not stable why are you publishing them? it sounds like they are not ready
18:31 <asonge> true
18:32 <tristan__> I can think of a number of use cases for this
18:32 <tristan__> like elli and its middlewares
18:33 add^_ joined
18:33 <tristan__> or plug and its providers
18:33 <tristan__> can be nice to have a monorepo
18:33 m_m__ joined
18:34 <tristan__> it isn't done with Erlang at all because everyone is used to git deps
18:34 <ericmj> they can be monorepo without using umbrellas
18:34 Ven joined
18:34 <tristan__> oh
18:34 <tristan__> I use "umbrella" to just mean a project with multiple apps
18:35 <ericmj> im not a fan of what you are testing is not what you are publishing
18:35 lexmag joined
18:35 <ericmj> you can publish a dependent app without publishing the dependency
18:35 <tristan__> how is it not what you are testing
18:35 <asonge> because the versions would be pretty hard-pinned on each other at first
18:35 <ericmj> because you may not publish the dependency and you have breaking changes in it
18:36 <asonge> you could also force users to upgrade really quickly
18:36 <ericmj> but if you fetch the dependency from hex you know that it will work with it is actually published instead of your random local changes :)
18:36 <tristan__> one publish command would publish all the new apps
18:36 <ericmj> you said you could chose
18:36 mcspud joined
18:37 <tristan__> yea, the user can always go out of their way to fuck it up
18:37 <asonge> (i mean, i'd always be deploying all the apps)
18:37 colrack joined
18:37 <asonge> anything i don't publish wouldn't be a dependency
18:37 <tristan__> yea, i actually see this more as a use case in private repos
18:37 <asonge> like, maybe some example projects
18:38 <asonge> they wouldn't be pushed to hex, but they wouldn't be a dependency of anything
18:39 <ericmj> It sounds like a bad thing when you have so tightly coupled hex packages that they are annoying to keep individually
18:39 <ericmj> it would be possible to support it, but since the use case is so specific i dont see a priority in working on it personally
18:39 <asonge> yeah, i might just do separate repos and still put some logic somewhere that will block me from committing a path dependency to git
18:40 <ericmj> i can definitely see it as useful for private repos
18:40 <asonge> oh, i'm not looking for support or a super-nice experience
18:40 <asonge> i'm just wondering how much mangling i'd have to do
18:40 <asonge> both options seem like mangling at this point, to me.
18:40 maxbeizer joined
18:40 <barttenbrinke> I'm writing some controller tests, but the authentication pipeline is extremely verbose to mock. Is there a simple way to use a different pipeline to test the controller or should I not do that :)?
18:41 <ericmj> but i think you should consider them being a single app while they are so tightly coupled and have breaking changes so often that `mix deps.update` is a nuisance :)
18:41 <ericmj> you can break them out later when the api is more stable
18:41 <ericmj> or keep as umbrella for now and then break them out into individual hex packages when they are production quality
18:41 <asonge> the nuisance for me is more in accidentally leaving a path dependency around in git
18:42 <ericmj> but if they are an umbrella they would be path deps by design
18:42 <asonge> i think i might do the latter. it shouldn't be that hard to clone the git repo and git move the files around and "split" it and preserve history
18:42 <barttenbrinke> asonge: Or you can put them in vendor
18:42 icanhazbroccoli joined
18:43 rschmukler joined
18:43 <asonge> oh, also, what's the most recent or the closest to the next release branch in the github erlang/otp repo?
18:43 <asonge> is it master?
18:43 <tristan__> sounds also like a usecase for _checkouts :)
18:43 <tristan__> thats how we do codevelopment of non-umbrella'ed apps
18:44 <asonge> i can add support for some missing pieces in public_key after i'm sure about the code (should be trivial to convert from elixir to erlang when i have it working)
18:44 <ericmj> asonge: master is next major version, maint is next minor/patch/sub-patch version
18:44 <asonge> got it, master was what i was reading
18:45 chriswar_ joined
18:45 <asonge> i can add support for public_key to read aes-192-gcm and aes-256-gcm encrypted pem certificates
18:45 <ericmj> _checkouts is also easy to make mistakes with
18:46 <ericmj> asonge: i think aes-gcm is already supported. or is not supported for pem certificates?
18:46 <tristan__> it does need a small change
18:46 <iFire> How do you name your foreign keys? in ecto / phoenix
18:46 <tristan__> checkouts removes the dep
18:46 <asonge> tristan__: a single private function needs to be modified
18:46 <tristan__> but it relies on the user to check the output of 'rebar3 hex publish' before hittin g'Y' to ensure their deps it is publishing are right
18:47 <ericmj> iFire: the same way as the ecto defaults
18:47 <tristan__> it should instead compare the pubishing deps to the rebar.config and .app file and complain
18:47 <ericmj> tristan__: and that has been working out well in my experience :)
18:47 <tristan__> ericmj: hm? has that been an issue?
18:47 <asonge> ericmj: it's supported in :crypto, but if you encrypt a private key with aes > 128, the key expansion algorithm can't produce enough bytes in the erlang version
18:47 <micmus> asonge: you could have an env var that would switch the deps between hex/local
18:47 <ericmj> printing package information and asking people to read and confirm it has been the biggest waste of time in my life
18:47 <micmus> so you could use LOCAL_DEPS=1 mix test to run locally, but without it it would use regular hex deps
18:48 <ericmj> no one reads that
18:48 <iFire> ericmj: where can I see what those are?
18:48 <ericmj> micmus: please, please dont
18:48 <micmus> ok, sorry
18:48 <tristan__> oh, well yea, I can't think of _checkouts having been at fault for broken packages though
18:48 <* micmus> hides
18:48 <asonge> micmus: that's what i was planning to do...seems to be the best way, imho. and monorepo has the benefit of not having to have someone set up the other deps to test for breaking changes if they check out from git
18:48 <asonge> i like this the best for very specific reasons
18:48 <tristan__> and with a small change i plan to make it'll basically be impossible for them to be at fault
18:48 <ericmj> tristan__: _checkouts isnt so bad for packages since the plugin can check if it’s correct
18:49 <ericmj> tristan__: it’s worse for git commits though
18:49 <tristan__> oh yea, people shouldn't use git for dependenices :)
18:49 <micmus> one thing that bothers me with rebar deps is that plugins are downloaded only on mix compile :(
18:49 <micmus> mix deps.get does not download them
18:49 <ericmj> i mean that you cannot check _checkouts when doing git commit
18:49 <micmus> it hurts the most in CI
18:50 <ericmj> without some git shenanigans
18:50 <tristan__> I hate rebar3 plugins in general
18:50 <fishcakez> me too
18:50 <tristan__> they are bad in so many ways
18:50 <micmus> because caching happens between getting deps & compiling
18:50 <ericmj> micmus: not much we can do about that
18:50 <micmus> so they end up being uncached
18:50 <micmus> is there a rebar command to download plugins explixitly?
18:50 <ericmj> rebar3 plugins are also not in hex deps
18:50 <asonge> D:
18:50 codestorm joined
18:51 <iFire> What's a recent example of many to many into ecto
18:51 <ericmj> so hex can make no guarantees if they will even be available
18:51 <tristan__> ericmj: because they aren't locked :(
18:51 <tristan__> it is just a big pile of shitty problems
18:51 <ericmj> tristan__: yeah :(
18:51 <fishcakez> iFire: you pinged me while i was sleeping
18:51 <micmus> I'm fine running the commands manually as additional steps after deps.get in CI
18:51 <fishcakez> yes no lock *shakes fist*
18:51 <iFire> ah
18:51 <ericmj> iFire: the default is ASSOCNAME_id
18:51 <tristan__> but I think slighlty better than rebar2 plugins!
18:51 <ericmj> iFire: for foreign key names
18:51 <fishcakez> my favourite is when a lib is configured for rebar2 plugins but i am using rebar3
18:53 weaksauce joined
18:53 Ven joined
18:54 <weaksauce> So I have an odd issue on something that I hope I can get some insight to... also I am new to elixir so this is probably very un-idiomatic code so suggestions would be nice.
18:54 <weaksauce> https://gist.github.com/anonymous/e019043a3f06a51bf5763c19f03ed98f
18:55 <weaksauce> I am just playing around with this hackerrank problem to learn a bit of elixir
18:59 acscherp joined
19:00 wong2 joined
19:01 wong2 joined
19:01 Arcsech joined
19:01 hotpancakes joined
19:01 <weaksauce> what's interesting is that if I don't drop the last item it works fine and returns [8, 16]
19:01 wong2 joined
19:02 wong2 joined
19:03 mauricio1 joined
19:03 wong2 joined
19:04 wong2 joined
19:04 wong2 joined
19:05 <micmus> weaksauce: try "i '\b\v'" in iex - it should explain it
19:05 wong2 joined
19:06 wong2 joined
19:06 <micmus> weaksauce: short answer is '\b\v' is [8, 11] just displayed in a different way
19:06 <weaksauce> oh i see thanks
19:07 wong2 joined
19:07 gokr joined
19:07 wong2 joined
19:08 <weaksauce> micmus is there a way to force inspect to respect that it's integers and not try to make a string rep out of it?
19:08 wong2 joined
19:08 icanhazbroccoli joined
19:09 Arcsech joined
19:09 wong2 joined
19:09 <weaksauce> any other suggestions for this trivial script?
19:09 <iFire> to_integer?
19:09 <Ankhers> weaksauce: IO.inspect([8,11], charlists: :as_lists)
19:10 wong2 joined
19:10 <Ankhers> weaksauce: Instead of `fn x -> String.to_integer(x) end`, you can just write `&String.to_integer/1`.
19:10 Arcsech joined
19:10 wong2 joined
19:11 wong2 joined
19:12 wong2 joined
19:12 <weaksauce> ah cool. yeah I tried that but got an error and forgot you had to specify arity
19:13 wong2 joined
19:13 Ven joined
19:13 wong2 joined
19:14 wong2 joined
19:14 hotpancakes joined
19:15 wong2 joined
19:16 wong2 joined
19:16 wong2 joined
19:17 hotpancakes joined
19:17 wong2 joined
19:18 wong2 joined
19:19 wong2 joined
19:19 wong2 joined
19:20 mauricio2 joined
19:20 wong2 joined
19:21 pHcF joined
19:21 wong2 joined
19:22 wong2 joined
19:22 codestorm joined
19:22 <barttenbrinke> Writing controller tests for Phoenix is causing way more headaches than it should :(
19:22 wong2 joined
19:23 <chrismccord> barttenbrinke what problems are you having?
19:23 <barttenbrinke> chrismccord: Sessions :)
19:23 wong2 joined
19:23 <chrismccord> barttenbrinke : what issues with sessions specifically? :)
19:24 <chrismccord> also, have you seen the docs on Phoenix.ConnTest.bypass_through?
19:24 oborot joined
19:24 <barttenbrinke> I either want a simple way to put some stuff into a conn session before calling the router OR I want a way to skip parts of a pipeline.
19:24 wong2 joined
19:24 <barttenbrinke> chrismccord: The docks on bypass_through are not very clear imho.
19:24 <chrismccord> how can we make them better?
19:25 <barttenbrinke> I've read them 3 times the last half hour and I still don't quite understand what bypass_through does.
19:25 <chrismccord> bypass_through is what you want, but I think we should include an example of writing the session
19:25 <chrismccord> if you want to write something in the session and prime it or a request you can do:
19:25 <barttenbrinke> chrismccord: First off: How do I set something in the assings of a conn. Do I really need to do the bypass |> get("/") |> recycle thing?
19:26 Guedes joined
19:27 <chrismccord> conn |> bypass_through(Router, [:browser]) |> get("/") |> put_session(:user_id, 123) |> send_resp("") |> recycle()
19:27 <chrismccord> barttenbrinke : if you want to put something in the assigns, just put it in the assigns are you are done
19:27 <chrismccord> the session is the special case because it is encoded in the cookie
19:27 keathley joined
19:27 <fishcakez> and in v1.4 phoenic is going to be written all on one line
19:27 <chrismccord> if we just talking assigns you can do `conn |> assign(:foo, bar) |> get("/some_path")` in your test
19:27 <fishcakez> :P
19:28 <chrismccord> fishcakez don't spoil the reveal!
19:28 <fishcakez> haha
19:28 <barttenbrinke> chrismccord: The second issue (which is related to the first) is that debugging is REALLY hard. This project has about 25 plugs in the standard request pipeline, and my controller just gives me a 401.
19:28 <chrismccord> now I have nothing to talk about in barcelona!
19:28 <chrismccord> Phoenix's progression after 1.0
19:29 <chrismccord> PRESENCE, mv web lib/, no more newlines
19:29 <barttenbrinke> chrismccord: Okay, I think I'll just rewrite some of the plugs to check assigns, before doing any magic :)
19:30 <barttenbrinke> chrismccord: But this is terrible imho: onn |> bypass_through(Router, [:browser]) |> get("/") |> put_session(:user_id, 123) |> send_resp("") |> recycle() I understand why you need it, it is not nice
19:30 chriswar_ joined
19:30 <chrismccord> barttenbrinke : my usual flow is instead of placing something in the session, I place it in the assigns in the test
19:31 <chrismccord> then at runtime I check assigns, and fallback to sesion in my plug stack
19:32 <barttenbrinke> chrismccord: Maybe ConnTest can provide a method that does the session magic for people.
19:32 <chrismccord> josevalim perhaps we should consider Logger.debug'ing when a conn halts?
19:32 <barttenbrinke> chrismccord: YES PLEASE!
19:32 <chrismccord> barttenbrinke : it's tricky because the session relies on what the endpoint and router plugs are doing
19:32 <josevalim> barttenbrinke: i am pretty sure we do that by default?
19:33 <chrismccord> and it even could rely on the path of the route
19:33 <josevalim> sorry
19:33 <josevalim> chrismccord: i am pretty sure we do that by default
19:33 <josevalim> there is a log: true option
19:33 <josevalim> we just need to build that when building the plug chain
19:33 Ven joined
19:33 <josevalim> chrismccord: https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/controller/pipeline.ex#L78
19:33 <josevalim> maybe we are not doing it in the router pipeline
19:33 <chrismccord> * `:log_on_halt` - accepts the level to log whenever the request is halted
19:34 <chrismccord> barttenbrinke we've been down this path before apparently :)
19:34 <barttenbrinke> chrismccord: Which version of Phoenix is this in?
19:34 zabirauf joined
19:35 <barttenbrinke> chrismccord: Because mine test just ends in RuntimeError, Forbidden :)
19:35 <chrismccord> barttenbrinke your tests also set the log level to error by default
19:35 mauricio2 joined
19:36 <chrismccord> so it wouldn't help you unless you changed the level. Is your app raising in the test?
19:36 mcspud joined
19:37 wilo joined
19:37 <barttenbrinke> chrismccord: It's calling assert json_response(conn, 200) == %{}
19:38 <barttenbrinke> chrismccord: Also, changing the level in test doesn't show the where the pipeline stopped for some reason.
19:39 <barttenbrinke> I do get a lot of extra request and query logging, so the level is set correctly.
19:40 Svenskunganka joined
19:42 <OliverMT> is GenEvent == gen_statem?
19:42 drincruz joined
19:43 <OliverMT> no, there is :gen_event
19:45 <fishcakez> GenEvent and :gen_event are not quite the same
19:46 <fishcakez> but you should use :gen_event in new code
19:48 Svenskunganka joined
19:51 MotherFlojo joined
19:53 Ven joined
19:56 <barttenbrinke> https://www.irccloud.com/pastebin/TZw5nwl8/
19:56 <barttenbrinke> chrismccord: The only log I get is ^^
19:57 icecreamcohen joined
19:58 cdg joined
19:58 bitshift joined
19:58 <barttenbrinke> chrismccord: Thanks for your help so far. I'll try to do this again tomorrow. I think I'll try my hand at a doc pull request for this, because this is the second time I ran into this while working on an existing Phoenix app.
19:59 di3twater joined
19:59 kyrix joined
20:01 rozap joined
20:01 <rozap> does anyone know how i can "end" a stream when using GenStage.stream?
20:02 <rozap> when the producer exits with a normal status the stream process also exits, rather than emitting a :halt in the stream resource
20:04 ZippoWeb2 joined
20:04 <OliverMT> is there any analogue to statem in elixir?
20:04 wsieroci joined
20:05 <beatpanic> OliverMT: a wrapper https://github.com/antipax/gen_state_machine
20:05 <OliverMT> coolio
20:08 icanhazbroccoli joined
20:08 rschmukler joined
20:13 Ven joined
20:16 codestorm joined
20:16 acscherp joined
20:17 wilo joined
20:20 hotpanca_ joined
20:22 <tuacker> when using ExUnit.CaptureLog shouldn't capture_log override the log level set in config? Do I have a mistake here: https://gist.github.com/anonymous/ed253cca555c46983849be42e70bc269
20:24 <bitshift> I'm trying to get couchdb to run via a supervisor, where the supervisor is preferably written in elixir. I'm having a real tough time even figuring out how I'd programmatically start the couchdb server.
20:24 <bitshift> I'd use barrel-db, but I'm not sure it targets couch2.0
20:27 drincruz joined
20:29 arathunku joined
20:31 rschmukler joined
20:33 Ven joined
20:33 JuanMiguel joined
20:41 MotherFlojo joined
20:42 squallstter joined
20:45 keathley joined
20:47 truami joined
20:51 hahuang65 joined
20:53 Ven joined
20:53 execb5 joined
20:54 MotherFlojo joined
21:00 nanohest joined
21:00 josevalim_ joined
21:02 rschmukler joined
21:04 klltkr joined
21:05 Arcsech joined
21:05 Ven joined
21:07 duane joined
21:08 sfbw joined
21:28 rschmukler joined
21:30 Svenskunganka joined
21:35 zabirauf joined
21:37 josevalim joined
21:41 duane joined
21:46 rkazak_ joined
21:47 Guest67_ joined
21:47 nicka joined
21:51 m_m joined
22:01 execb5 joined
22:01 griffinbyatt joined
22:03 chriswarren joined
22:04 chriswarren joined
22:04 codestorm joined
22:05 chriswarren joined
22:05 chriswarren joined
22:06 chriswarren joined
22:07 chriswarren joined
22:08 chriswarren joined
22:09 chriswarren joined
22:13 griffinbyatt left
22:16 chriswarren joined
22:19 travis-ci joined
22:19 <travis-ci> elixir-lang/elixir#13881 (master - b191f6b : José Valim): The build passed.
22:19 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/3047d4fa3ae9...b191f6bf1f76
22:19 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210739962
22:19 travis-ci left
22:21 <tristan__> does anyone here work at timber by chance
22:22 <tristan__> it would be nice to have a logging interface that understood erlang stacktraces. maybe there is one that is programmable? I looked at stackdriver's support for error reporting stuff and you can only send it a blob and the type
22:26 chriswarren joined
22:27 nicka joined
22:35 chriswarren joined
22:39 jdrab joined
22:39 ddrmanxbxfr joined
22:53 chriswarren joined
22:58 codestorm joined
23:01 rkazak_ joined
23:05 icecreamcohen joined
23:08 mauricio_ joined
23:11 chriswarren joined
23:14 ramortegui joined
23:18 wtetzner joined
23:29 chriswarren joined
23:30 MotherFlojo joined
23:31 nomicflux joined
23:36 rkazak_ joined
23:42 Tetiana joined
23:44 rodolfojcj joined
23:50 raycoll joined
23:52 codestorm joined
23:53 m_m joined