<    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:00 <fishcakez> micmus: all the trys are in db_connection 😞
00:01 <fishcakez> Catch really got worse usage once it became apparent how expensive generation of stack trace term is
00:07 Guedes joined
00:16 oetjenj joined
00:26 PaReeOhNos joined
00:26 segmond joined
00:26 sid_fules joined
00:29 davidw joined
00:30 hahuang65 joined
00:32 r00tl3ss_ joined
00:34 codestorm joined
00:34 rschmukler joined
00:35 segmond joined
00:39 jhack joined
00:39 codestorm joined
00:39 segmond joined
00:40 travis-ci joined
00:40 <travis-ci> elixir-lang/elixir#13762 (master - c55f92d : José Valim): The build passed.
00:40 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/f80008032ce6...c55f92d78b04
00:40 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/209180768
00:40 travis-ci left
00:46 willyk joined
00:51 nighty joined
00:51 markh joined
00:53 trevoke joined
00:56 racycle joined
00:57 bass_ joined
00:57 sid_fules joined
01:00 nighty joined
01:05 nighty joined
01:05 rschmukler joined
01:05 willyk joined
01:08 nighty- joined
01:11 Guedes joined
01:11 Guedes joined
01:22 johnstorey joined
01:24 alex88 joined
01:27 rschmukler joined
01:28 sid_fules joined
01:29 codestorm joined
01:37 dustinfarris joined
01:37 rranelli joined
01:38 codestorm joined
01:41 hotpancakes joined
01:46 wilo joined
01:50 sfaxon joined
01:50 rschmukler joined
01:52 potatosa_ joined
01:57 PaReeOhNos joined
01:58 jhack joined
01:59 sid_fules joined
02:00 harfangk joined
02:01 rschmukler joined
02:03 myronmarston joined
02:08 travis-ci joined
02:08 <travis-ci> christhekeele/elixir#32 (defguard - 4e8b990 : Chris Keele): The build failed.
02:08 <travis-ci> Change view : https://github.com/christhekeele/elixir/commit/4e8b990fb424
02:08 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209198917
02:08 travis-ci left
02:11 travis-ci joined
02:11 <travis-ci> christhekeele/elixir#31 (master - f800080 : José Valim): The build passed.
02:11 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/2e47d45de89f...f80008032ce6
02:11 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209198764
02:11 travis-ci left
02:13 rschmukler joined
02:16 <Speed> hi, is it possible to have tests in the toplevel of an umbrella app?
02:17 <Speed> I'm trying to test the integration of my umbrella sub-applications, so I'd need all the packages started in the test
02:17 <Speed> I'm currently kind of faking it by having another package that depends on the other 3 and putting the tests there
02:19 craigp joined
02:19 sfbw joined
02:19 craigp joined
02:20 rranelli joined
02:21 amclain joined
02:23 rschmukler joined
02:24 codestorm joined
02:26 amclain_ joined
02:29 sid_fules joined
02:30 tomterl joined
02:38 r00tl3ss joined
02:38 sfbw joined
02:50 johnstorey joined
02:50 dstrunk joined
02:50 willyk joined
02:52 rhnonose joined
02:54 trevoke joined
02:55 rschmukler joined
02:58 marcdel joined
02:58 trevoke joined
03:00 potatosalad joined
03:04 sfbw joined
03:10 montanonic joined
03:11 codestorm joined
03:11 LBRapid joined
03:15 sid_fules joined
03:19 sfbw joined
03:21 rschmukler joined
03:25 marcdel joined
03:26 PaReeOhNos joined
03:36 rschmukler joined
03:37 codestorm joined
03:39 wtetzner joined
03:41 wilo joined
03:44 vendethiel joined
03:44 racycle joined
03:46 cdg joined
03:46 rschmukler joined
03:46 sid_fules joined
03:47 travis-ci joined
03:47 <travis-ci> christhekeele/elixir#33 (defguard - 47107a3 : Chris Keele): The build is still failing.
03:47 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/4e8b990fb424...47107a365645
03:47 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209218062
03:47 travis-ci left
03:51 wilo joined
03:52 zetashift joined
03:54 esainane joined
03:55 travis-ci joined
03:55 <travis-ci> christhekeele/elixir#34 (defguard - ce2595f : Chris Keele): The build has errored.
03:55 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/47107a365645...ce2595fa6f02
03:55 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209218861
03:55 travis-ci left
03:55 zeta joined
04:02 cdg_ joined
04:15 kommen joined
04:17 sid_fules joined
04:19 cemilowski joined
04:28 BeerLover joined
04:31 jerel joined
04:35 refriedchicken joined
04:35 sfbw joined
04:36 refriedchicken joined
04:39 sfbw_ joined
04:43 vendethiel- joined
04:43 icecreamcohen joined
04:47 praveen joined
04:48 sid_fules joined
04:49 w-t-h_ joined
04:50 rschmukler joined
04:51 larshesel joined
04:56 refriedchicken joined
04:57 PaReeOhNos joined
05:01 wilo joined
05:02 edennis joined
05:02 potatosalad joined
05:02 montanonic joined
05:09 weaksauce joined
05:12 praveen joined
05:14 hotpancakes joined
05:17 travis-ci joined
05:17 <travis-ci> christhekeele/elixir#36 (defguard - 53c6733 : Chris Keele): The build was broken.
05:17 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/8924cec7d442...53c673377e63
05:17 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209231777
05:17 travis-ci left
05:18 sid_fules joined
05:20 wilo joined
05:35 oborot joined
05:37 imack joined
05:40 Tica2 joined
05:41 rkazak_ joined
05:47 hotpanca_ joined
05:47 craigp joined
05:49 sid_fules joined
05:59 rschmukler joined
06:02 nighty-_ joined
06:04 raycoll joined
06:06 arathunku joined
06:10 rschmukler joined
06:10 myronmarston joined
06:20 Cohedrin joined
06:20 kommen joined
06:20 kommen joined
06:23 raycoll joined
06:24 dec0n joined
06:27 PaReeOhNos joined
06:30 aniketd joined
06:31 Bharat joined
06:33 praveen joined
06:34 terinjokes joined
06:34 dikaio joined
06:34 hahuang65 joined
06:35 havenwood joined
06:35 havenwood joined
06:35 pragmatism joined
06:36 jhulten joined
06:36 aaronm04 joined
06:44 gvaughn joined
06:45 trevoke joined
06:47 raycoll joined
06:49 dustinfarris joined
06:51 sfbw joined
06:55 MaSven joined
07:02 hotpancakes joined
07:02 willyk joined
07:08 byte512 joined
07:10 craigp joined
07:18 r00tl3ss joined
07:25 nii joined
07:26 voxxit joined
07:33 sahrizv joined
07:33 zabirauf joined
07:33 tuacker joined
07:33 zabirauf joined
07:36 tuacker joined
07:37 tonini joined
07:41 tuacker1 joined
07:42 vmoravec joined
07:44 inoas joined
07:44 knight_ joined
07:48 ionas joined
07:49 tofutoon left
07:51 rschmukler joined
07:52 sfbw joined
07:53 gokr joined
07:57 PaReeOhNos joined
07:58 gokr left
07:58 johanw joined
08:01 kommen joined
08:03 myronmarston joined
08:04 dani0_ joined
08:05 inoas joined
08:05 PaReeOhNos joined
08:07 tomaz_b joined
08:08 acscherp joined
08:09 hotpancakes joined
08:13 zabirauf joined
08:14 arathunku joined
08:15 craigp joined
08:17 luke_nukem joined
08:22 kommen joined
08:23 Guest67_ joined
08:24 edennis joined
08:24 Guest67_ joined
08:27 travis-ci joined
08:27 <travis-ci> christhekeele/elixir#37 (defguard - bf89e37 : Chris Keele): The build was fixed.
08:27 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/53c673377e63...bf89e37edc85
08:27 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209266586
08:27 travis-ci left
08:30 robatosan joined
08:31 mark_66 joined
08:31 dani0_ joined
08:33 gvaughn joined
08:33 zabirauf_ joined
08:33 flaviodesousa joined
08:38 sahrizv joined
08:40 kommen joined
08:43 kommen_ joined
08:44 craigp joined
08:45 dani0_ joined
08:46 trevoke joined
08:47 voltone joined
08:49 zabirauf joined
08:50 myronmarston joined
08:52 <cxadams> \quit
08:55 cxadams joined
08:56 zabirauf joined
09:06 <celyr> it's /quit
09:07 <smeevil> noooo dont quit on us !
09:15 ZippoWeb joined
09:21 hotpancakes joined
09:21 <cxadams> typo :)
09:22 josevalim joined
09:23 travis-ci joined
09:23 <travis-ci> christhekeele/elixir#38 (defguard - 6edce00 : Chris Keele): The build was broken.
09:23 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/bf89e37edc85...6edce00a8162
09:23 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209280209
09:23 travis-ci left
09:28 killtheliterate joined
09:31 cxadams joined
09:31 Liquid_X joined
09:34 nolan_d joined
09:35 dani0_ joined
09:35 M107262[m] joined
09:43 cemilowski joined
09:50 lexmag joined
09:50 GK___1wm____SU joined
09:51 proteusguy joined
09:51 travis-ci joined
09:51 <travis-ci> christhekeele/elixir#39 (defguard - 422e835 : Chris Keele): The build was fixed.
09:51 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/6edce00a8162...422e835b98df
09:51 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209285284
09:51 travis-ci left
09:53 sahrizvi joined
09:53 dstrunk joined
09:53 zv joined
09:56 zabirauf joined
09:58 robatosan joined
10:03 dstrunk joined
10:04 GK___1wm____SU joined
10:04 GK___1wm____SU left
10:05 travis-ci joined
10:05 <travis-ci> christhekeele/elixir#40 (defguard - 7045499 : Chris Keele): The build was broken.
10:05 <travis-ci> Change view : https://github.com/christhekeele/elixir/compare/422e835b98df...7045499b90ab
10:05 <travis-ci> Build details : https://travis-ci.org/christhekeele/elixir/builds/209288354
10:05 travis-ci left
10:08 sid_fules joined
10:08 ZippoWeb2 joined
10:11 craigp joined
10:12 <craigp> s
10:13 marr joined
10:13 dani0_ joined
10:15 acscherp joined
10:16 turbopollux joined
10:18 <Nicd-> craigp: please elaborate
10:21 gvaughn joined
10:26 robatosan joined
10:29 Guedes joined
10:34 dstrunk joined
10:40 <OliverMT> maybe sooooo ?
10:46 alxnlssn joined
10:47 trevoke joined
10:48 john2x joined
10:56 zabirauf joined
10:57 acscherp joined
10:58 ariedler joined
11:04 lexmag joined
11:05 travis-ci joined
11:05 <travis-ci> elixir-lang/elixir#13774 (jv-new-mix-new - 6c8615c : José Valim): The build passed.
11:05 <travis-ci> Change view : https://github.com/elixir-lang/elixir/commit/6c8615c39c69
11:05 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/209307108
11:05 travis-ci left
11:09 ZippoWeb joined
11:18 gmcabrita joined
11:20 l14n joined
11:25 hotpancakes joined
11:29 nighty joined
11:33 robatosan joined
11:35 dstrunk joined
11:36 dustinfa_ joined
11:39 dstrunk joined
11:41 cristianR_ joined
11:42 craigp joined
11:48 r00tl3ss joined
11:51 lexmag joined
11:52 dstrunk joined
11:53 robatosan joined
11:56 zabirauf joined
11:58 robatosan joined
12:04 shadowjack joined
12:07 zabirauf joined
12:08 zvrk joined
12:09 dani0_ joined
12:10 gvaughn joined
12:23 zvrk joined
12:24 robatosan joined
12:29 <hansihe> https://www.reddit.com/r/elixir/comments/5yerls/what_json_would_you_like_to_parse/
12:36 hbraun joined
12:37 <OliverMT> i have a ranch listener as a worker(..) in my phoenix application setup
12:38 <OliverMT> in localdev I saved by accident with some code that didnt compile
12:38 <OliverMT> this brought down the entire application tree, not just the listener for ranch
12:38 <OliverMT> is this only for compile errors? or is this something that could happen in prod?
12:38 <OliverMT> if an edge case gives hundreds of match errors suddenly for example
12:41 <OliverMT> question #2, is there anything wrong with caching _build on CI? other than upgrading elixir versions
12:42 dani0_ joined
12:46 <fishcakez> OliverMT: in prod you would never compile but if worker doesnt run it will always crash and likely bring down the node
12:47 <fishcakez> I am not certain what you are asking
12:48 <fishcakez> ranch listeners would normally trap all errors in the connections
12:49 trevoke joined
12:49 <nyaray> a small question.. how should I go about doing dependency injection? is the right way using module attributes that read from config and then have config values be set depending on environment (dev, integration, stage, prod, ...)?
12:49 <nyaray> OliverMT: how is it an edge case if it's breaking in the way you describe?
12:50 <OliverMT> because I dont have an auto recompiler in a mix release
12:50 <josevalim> nyaray: sounds like a good approach to me
12:51 craigp joined
12:51 <OliverMT> I mean if I manage to bubble up 50 connections that has a match error, if I get some input I didnt foresee or did something wrong
12:51 <OliverMT> so the ranch worker dies again and again, how do I stop that worker from bringing down the phoenix server?
12:51 <nyaray> josevalim: cool, thanks!
12:51 <OliverMT> do I put a supervisor between the worker and my app?
12:52 <fishcakez> OliverMT: ranch wont bubble up the error, can you show it?
12:52 <fishcakez> unless its failing to start a listen socket
12:52 <OliverMT> ok, so this is specificall only because of listener error then
12:52 <OliverMT> lol
12:52 <fishcakez> if it failing to start a listen socket then your application will go down
12:52 <OliverMT> I mean compiler error
12:52 <OliverMT> because compile error will make it not be able to start listener
12:53 <OliverMT> then I got what I need, that wont happen in prod
12:53 <OliverMT> and if it does, I want the node to go down anyways
12:53 <fishcakez> it wont happen because you wont be doing live compiling in prod
12:53 <OliverMT> I meant if the port is taken for some reason
12:53 sfbw joined
12:53 <fishcakez> the phoenix reload feature is just for dev when using phoenix
12:53 <nyaray> if the port is taken, you've got a bigger issue, don't you?
12:53 <fishcakez> yeah itll go down
12:54 <nyaray> that's what I mean
12:54 <OliverMT> thats what I am saying
12:54 <OliverMT> then I want it to go down
12:54 <OliverMT> so the LB will take the node out of the pool
12:59 hotpancakes joined
13:02 dustinfarris joined
13:09 Guest67_ joined
13:11 zvrk joined
13:17 cemilowski left
13:21 rhnonose joined
13:22 zvrk joined
13:26 acscherp joined
13:26 dustinfarris joined
13:27 sfbw joined
13:32 hotpanca_ joined
13:33 teddysmoker joined
13:35 hotpancakes joined
13:37 asabil joined
13:39 teddysmoker joined
13:56 dimitarvp joined
13:58 gvaughn joined
14:00 hbraun joined
14:00 dani0_ joined
14:10 sfbw joined
14:12 <whodidth1s> can you use user_id:references:users(?) with phx.gen.html, i just want to see what it generates
14:12 rschmukler joined
14:16 trevoke joined
14:16 ramortegui joined
14:24 rschmukler joined
14:25 ertgl joined
14:25 r00tl3ss joined
14:31 ariedler joined
14:33 sid_fules joined
14:33 <sahrizvi> Hello! How do you folks deal with AWS AutoScalingGroups when using ex_aws? I tried but couldn't find AutoScaling related functions in the docs. For example, describe AutoScalingGroup instances.
14:33 <sahrizvi> I'll appreciate any pointers. :-)
14:34 ZippoWeb joined
14:34 dani0_ joined
14:34 dch_ joined
14:35 rschmukler joined
14:36 dani0_ joined
14:36 dani0_ joined
14:42 gvaughn joined
14:42 Gringill joined
14:43 dani0_ joined
14:47 arathunku joined
14:49 sid_fules joined
14:50 Or1on joined
14:51 ertgl left
14:52 dani0_ joined
14:52 hashpuppy joined
14:53 myronmarston joined
14:55 milmazz joined
14:55 maxbeizer joined
14:56 danecando joined
14:58 mbwe joined
15:00 dani0_ joined
15:01 nanohest joined
15:05 myronmarston joined
15:05 rschmukler joined
15:11 jerel joined
15:12 rhnonose joined
15:15 rschmukler joined
15:19 danecando joined
15:19 icecreamcohen joined
15:20 potatosalad joined
15:28 racycle joined
15:31 raycoll joined
15:33 mattyw joined
15:34 <hmans> If I want to start a new Phoenix 1.3 Beta app today, can I just use the new app generator I currently have and update deps, or...?
15:34 NeverDie joined
15:36 ariedler joined
15:36 <gjaldon__> hmans: I don't understand your question. if you have the new app generator for Phoenix, then that's all you need to start a new Phoenix 1.3 project
15:38 <hmans> Yeah, but I still had the one I installed in the 1.2 days, so I was assuming it creates a 1.2 specific Phoenix app.
15:38 <hmans> I ended up manually downloading the phoenix_new .ez package for 1.3 and installed/used that
15:38 LBRapid joined
15:43 <hmans> Ah, it's now phx.new, too
15:47 refriedchicken joined
15:49 Guest67_ joined
15:52 <PaReeOhNos> hmans: All of the new phoenix generators are `phx` instead of `phoenix`
15:52 <hmans> Yup, noticed that. Thanks though.
15:52 sekjun9878 joined
15:52 sekjun9878 joined
15:53 <hmans> I stumbled over it because after manually installing the 1.3 generator, I dumbly used phoenix.new
15:54 cemilowski joined
15:55 refriedchicken joined
15:55 ZippoWeb joined
15:59 rschmukler joined
16:06 mattyw joined
16:09 myronmarston joined
16:11 lexmag_ joined
16:13 vmoravec joined
16:14 acscherp joined
16:14 willyk joined
16:19 rschmukler joined
16:23 tuacker joined
16:26 r00tl3ss joined
16:28 mitchellhenke joined
16:34 dani0_ joined
16:35 rhnonose joined
16:35 <sahrizvi> Hello! How do you folks deal with AWS AutoScalingGroups when using ex_aws? I tried but couldn't find AutoScaling related functions in the docs. For example, how can one use ex_aws to list all instances in an AutoScalingGroup?
16:35 <sahrizvi> I saw there was a PR but it was closed due to some missing prerequisites.
16:36 <sahrizvi> Do I need to call AWS CLI from within my application?
16:37 sfaxon joined
16:38 <sahrizvi> paging benwilson512
16:39 willyk joined
16:43 travis-ci joined
16:43 <travis-ci> elixir-lang/elixir#13776 (jv-new-mix-new - c04a241 : José Valim): The build was broken.
16:43 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/6c8615c39c69...c04a2412a762
16:43 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/209415859
16:43 travis-ci left
16:50 stilldavid left
16:51 hbs joined
16:52 hotpanca_ joined
16:52 <scrogson> what's the proper type spec for a function that can raise an exception?
16:53 <fishcakez> the return values that are not an exceptiob
16:53 <scrogson> so just leave off the error type then, eh?
16:53 <fishcakez> always
16:53 <scrogson> so instead of :: Response.t | Error.t
16:53 <scrogson> just :: Response.t
16:54 <fishcakez> oh
16:54 <fishcakez> Error.t would be returning an Error.t
16:54 <fishcakez> raising would mean `no_return`
16:54 <fishcakez> so Error.t can never be returned so is incorrect :(
16:55 <fishcakez> the mistake a lot of people make is doing Response.t | no_return. However then dialyzer won't warn if it believes the code will always raise
16:55 <fishcakez> instead it should be Response.t
16:55 cdg joined
16:55 <scrogson> gotcha
16:56 <scrogson> I've had typespecs in my libs for a long time...never used dialyzer until now :)
16:56 <scrogson> luckily I've only got a few issues
16:57 <scrogson> trying to fix this one:
16:57 <scrogson> lib/oauth2/request.ex:46: The pattern {'error', #{'headers':=_headers@2, 'body':=_body@2, 'status_code':=_code@1}} can never match the type {'error',#{'__exception__':='true', '__struct__':='Elixir.OAuth2.Error', 'reason':=binary()}}
16:58 <scrogson> it's odd...
16:59 willyk joined
17:01 amclain joined
17:02 icecreamcohen joined
17:02 drincruz joined
17:03 <scrogson> fishcakez: any idea?
17:03 <fishcakez> scrogson: whats odd about it?
17:03 sfbw joined
17:03 <scrogson> well..I'm not trying to match on the error type there
17:03 <scrogson> it's a Response.t
17:04 <fishcakez> can you show the line?
17:05 <fishcakez> it seems you have a pattern to match on {:error, %{headers: headers}} etc when dialyzer believes it will always be {:error, OAuth2.Error.t}
17:05 sfbw joined
17:05 <scrogson> sure..one sec
17:06 <scrogson> https://github.com/scrogson/oauth2/blob/master/lib/oauth2/request.ex#L46
17:06 <fishcakez> https://github.com/scrogson/oauth2/blob/master/lib/oauth2/request.ex#L13
17:06 <fishcakez> the swpec of request does not allow that pattern to be returned
17:07 <scrogson> ah!
17:07 <scrogson> I forgot to add {:error, Response.t} there
17:07 <scrogson> thanks
17:08 <scrogson> sweet, that fixed it
17:09 milad joined
17:10 <DeadTrickster> looking for a "showcase" Phoenix 1.3 project - i.e. a couple of views, a couple of rest endpoints and a couple of channels
17:12 <Ankhers> DeadTrickster: You may be hard pressed to find one. Phoenix 1.3.0-rc.0 was only released 7 days ago.
17:12 <DeadTrickster> I know :-)
17:13 <micmus> DeadTrickster: I think hexpm was updated to the new structure https://github.com/hexpm/hexpm
17:13 <Ankhers> It looks like the hex.pm website is running 1.3 though
17:13 <gazler> https://github.com/wojtekmach/acme_bank is pretty good - not Phoenix 1.3, but it uses similar concepts.
17:13 <ericmj> hexpm doesn’t have channels though
17:14 <DeadTrickster> I want to update my prometheus-phoenix integration to the new version (I was waiting for view_name metadata in respective instrument call)
17:15 <DeadTrickster> hmm I'll go with hexpm then
17:15 <DeadTrickster> ericmj, are you sure you don't need channels?
17:15 <gazler> For those real time updates when a package is updated? Worth it. :)
17:15 <ericmj> i’m pretty sure :)
17:15 <DeadTrickster> or for comments
17:15 <ericmj> DeadTrickster: what comments?
17:16 <DeadTrickster> like package-related discussions
17:16 <micmus> for real-time download statistics :D
17:16 <ericmj> hex.pm is not a forum for discussions
17:16 <DeadTrickster> okay
17:16 <gazler> micmus: "real-time"
17:16 <gazler> I assume they are aggregated.
17:17 <DeadTrickster> yes
17:17 <micmus> It should show a feed: "micmus just downloaded phoenix", "josevalim downloaded ecto 5 minutes ago", ... :P
17:17 milad joined
17:17 <ericmj> we can get realtime downloads from fastly but not from s3
17:17 <ericmj> s3 is delayed by a few hours, that’s why we only update stats every 24h
17:17 <DeadTrickster> btw notifications about new versions can be cool
17:18 <ericmj> DeadTrickster: sure, will you build it? :)
17:18 <DeadTrickster> yes
17:18 <DeadTrickster> with channels
17:18 <gazler> I haven't checked the hex stats in a while. "1 553 218 downloads last 7 days" - I remember when we hit 1.5 million total
17:18 potatosa_ joined
17:18 <DeadTrickster> ;-)
17:18 <Ankhers> real time notification through the website, or get an email when something is realeased?
17:18 <Ankhers> released
17:18 <DeadTrickster> why not both?
17:18 <DeadTrickster> desktop notifications probably
17:18 <DeadTrickster> and email
17:19 <ericmj> why not focus on being a package manager?
17:19 <micmus> I get notifications when something is released through dash downloading new docs ;)
17:19 <Ankhers> ^^
17:19 <gazler> Ankhers DeadTrickster: https://github.com/phoenixframework/phoenix/releases.atom https://ifttt.com/connect/feed/email
17:19 <gazler> You're welcome. :)
17:19 <DeadTrickster> hmm
17:20 <DeadTrickster> ok :-)
17:20 <gazler> ericmj: hex has a web API, right?
17:20 <DeadTrickster> what's next? use google as calculator?
17:20 <Ankhers> You don't do that already?
17:20 <ericmj> Yep, here’s the api http://docs.hexpm.apiary.io/#
17:20 <DeadTrickster> I'm an emacs user
17:21 <DeadTrickster> so I use app on my ipad
17:21 <ericmj> that’s what dash uses to find new package versions
17:21 <gazler> Does it poll?
17:21 <ericmj> yeah
17:22 racycle joined
17:22 <ericmj> no one has asked for web hooks yet so i havent built it
17:22 <ericmj> but that’s up for grabs, realtime stats as well
17:22 <ericmj> but i don’t think we need channels on hex.pm for notifications or comments
17:22 <Ankhers> ericmj: I may look into webhooks once I finish some Ecto stuff.
17:23 <ericmj> Ankhers: awesome, that would be appreciated
17:23 <ericmj> right now i am working on supporting multiple repositories on hex.pm which I feel is more important right now
17:23 <Ankhers> Actually, I will also need to get replica sets working before that :(
17:23 <gazler> ericmj: Did you mention private packages at some point?
17:24 <micmus> either webhooks or a public atom feed would work
17:24 <ericmj> gazler: yes, private packages are part of multiple repositories
17:24 oborot joined
17:24 <DeadTrickster> but you can't filter feed?
17:24 hbs left
17:25 markh joined
17:26 <ericmj> DeadTrickster: you can just like you filter on the website search
17:26 <ericmj> micmus: we had feeds at one point but i removed it because i felt it was better to use the api
17:27 <ericmj> is there a use case for feeds that the http api doesn’t cover?
17:27 <micmus> yeah, that's fair
17:27 <micmus> the only use case would be support for software that already integrates with feeds
17:28 <ericmj> i dont have the knowledge to build correct and valid feeds. it seems like the standards are a mess
17:28 <ericmj> micmus: oh, right
17:28 <ericmj> i dont think anyone used the feeds for that
17:29 <micmus> if somebody looks for areas to contribute, my favorite feature for hexpm would be download graphs.
17:30 <ericmj> yes, this ^
17:31 Cohedrin joined
17:36 <bitwalker> I think it'd be nice to have an overview of which versions were the most used in the last week/month
17:37 <bitwalker> You can compile that information yourself kinda, but it's a pain
17:39 kommen joined
17:42 rhnonose joined
17:43 refriedchicken66 joined
17:45 fowlduck joined
17:46 milad joined
17:46 <ericmj> bitwalker: we store all that information, we just need an interface to expose it
17:47 <bitwalker> Wish I had the time :(
17:48 hotpanca_ joined
17:50 myronmarston joined
17:50 <edmz> ericmj : to literally expose it charts?
17:50 <ericmj> charts, graphs or tables
17:50 <edmz> (I don't want to sound obtuse, just wanted clarification :P)
17:50 <ericmj> whatever is most useful and makes most sense
17:51 <ericmj> Right. i havent really thought about what it should look like
17:51 <gazler> Is there a way to escape special forms so I can do h(Kernel..) for example?
17:51 wsieroci joined
17:52 <ericmj> gazler: h ../2 ?
17:53 <gazler> ericmj: Oh - I gave the wrong example. I meant h Kernel.SpecialForms../2
17:53 Cohedrin joined
17:54 <ericmj> gazler: I think the . operator is one of exceptions
17:54 <ericmj> you can unquote it but it doesn’t really help with h in iex
17:56 <gazler> ericmj: Thanks for confirming
17:58 mitchellhenke joined
18:00 rschmukler joined
18:01 hahuang61 joined
18:01 davidw joined
18:03 oborot joined
18:03 maxbeizer joined
18:05 ZippoWeb joined
18:11 <fishcakez> @gazler :erlang.make_fun/3 would work but likely hassle
18:11 <Sigma00> does it make fun of the recipient?
18:12 montanonic joined
18:13 jeffweiss joined
18:14 <gazler> fishcakez: That doesn't work either.
18:15 <fishcakez> gazler I thought we had stubs in docs
18:16 w-t-h_ joined
18:19 kommen joined
18:19 milad joined
18:26 wwwd joined
18:30 hotpancakes joined
18:31 <micmus> Sigma00: :erlang.make_fun(module, function, arity) is what happens when you do &module.function/arity
18:31 <micmus> AFAIK it's a private VM API and is not documented
18:31 <Sigma00> man you're no fun :(
18:32 lexmag joined
18:37 ariedler joined
18:41 <wwwd> I am working on a Phoenix tutorial. I have been using iex -S mix to start the REPL and load the app. Then I have been able to use recompile to reload the code. I just started the section on structs which ahs a line of code that looks like "[r, g, b | _tail] = hex_list" which then returns [r, g, b]. If I change the code to add orremove "_tail" and use recompile the REPL does not see the change. I have to exit and re-start with iex -S
18:41 <wwwd> mix. Anyone have any idea why that would be? I am running IEx 1.4.1 on ubuntu 16.04.
18:42 maxbeizer joined
18:45 dani0_ joined
18:46 <ciawal> in what file is this code, wwwd?
18:47 <ciawal> and what makes you say it's not seeing the chaneg
18:54 <wwwd> The image struct is in lib/image.ex and the code that uses it is in lib/edenticon.ex. And, if I change the code without restarting the REPL the behavior does not change. That is if I take out "_tail" and do recompile or respawn I do not get an error which is what I expect. If I restart I do. Thin if I add "_tail" back in, agin I continue to get the error until I restart...then the code works again.
19:06 aesthetik joined
19:08 <sahrizvi> How do you folks handle cases where an AWS service is not supported by SDKs like ex_aws?
19:08 aesthetik joined
19:09 aesthetik left
19:09 <sahrizvi> I have run into a situation where I need to use AWS Auto Scaling APIs but ex_aws doesn't have it yet.
19:09 acscherp joined
19:09 <dimitarvp> josevalim & micmus & ericmj -- Guys, apologies for direct mention. I am working on 2 OSS Elixir projects myself and I am fully sold; I never want to code non-FP ever again. And I absolutely love Elixir with every line of code I produce. But I need to convince a boss + a customer on not using Rails but going for Phoenix.
19:09 <dimitarvp> in a business sense, both Rails and Phoenix are adequate.
19:10 <dimitarvp> Could you please give me links to posts you would show business people + CTOs advocating a good business case for Elixir/Phoenix? Please?
19:10 <icecreamcohen> dimitarvp: Are you cost constrained at all?
19:11 <dimitarvp> icecreamcohen: Not for at least 6 months. Plus I'd prefer a smaller team because it makes management much easier and quicker (I am the tech lead).
19:11 <dimitarvp> IMO Phoenix will allow a smaller team than Rails.
19:11 <icecreamcohen> but server costs aren’t an issue?
19:11 <icecreamcohen> https://medium.com/@Pinterest_Engineering/introducing-new-open-source-tools-for-the-elixir-community-2f7bb0bb7d8c#.udg2jvda5
19:11 <dimitarvp> icecreamcohen: They aren't, and that's why I can't sue that argument against Rails.
19:12 <icecreamcohen> do they care about user perceived wait time?
19:12 <ciawal> wwwd: odd – if mix is building it then recompile should work. you can try mix clean and rebuild maybe
19:12 <ciawal> have you manually run elixirc perhaps?
19:12 <ciawal> that might cause it to load the wrong object file
19:12 montanonic joined
19:13 <dimitarvp> icecreamcohen: Not much. It'll be a big internal system which will mostly be used by internal personnel. But a big growth is very possible and that's what I want to use as an argument because Rails scales poorly from one point and on.
19:13 <icecreamcohen> is the team comfortable in rails?
19:13 <dimitarvp> icecreamcohen: the CTO of the customer can be convinced using Elixir's big syntactical similarity to Ruby, but nothing much else.
19:14 <icecreamcohen> elixir only bears a passing resemblance to ruby though
19:14 <icecreamcohen> that’s the worst reason to use it
19:14 <dimitarvp> icecreamcohen: Very true but it lowers the barrier to entry which is what wins most of the time.
19:14 <dimitarvp> That's like the initial dose of drugs many people need to be converted to drugs, you know. :D
19:14 <icecreamcohen> not really; you’ll see people doing “ruby in elixir” which is just terrible.
19:15 <dimitarvp> icecreamcohen: That's a risk I am willing to take because I'm the tech lead and I will have to approve each PR.
19:15 <icecreamcohen> are your systems complex?
19:15 <icecreamcohen> like, is debugging them hard?
19:15 <dimitarvp> icecreamcohen: Unclear for now. It'll be an ATS (Applicant tracking system) + extra features initially.
19:15 <dimitarvp> And yes, debugging something like that in Rails would be an epic pain.
19:15 <dimitarvp> Many other systems involved.
19:16 <wwwd> dimitarvp: Michael Schaefermeyer was a until recently a senior engineer at Bleacher Report. I just watched the video at this link http://www.elixirconf.eu/elixirconf2015/michael-schaefermeyer and found his arguments fairly complelling.
19:17 <icecreamcohen> elixir has pretty insane runtime debugging, profiling and recovery features. That might be a way.
19:17 kommen joined
19:17 <alxndr> dimitarvp: fwiw Erlang Solutions just put out a brief PDF explaining how they helped Bleacher Report build replacements for our Rails monolith + related support systems https://www.erlang-solutions.com/resources/case-studies.html (I work at Bleacher Report)
19:18 <dimitarvp> icecreamcohen: Indeed, thanks for reminding me. It's a very strong argument to say: "We can poke in the production system's guts at realtime without crashing it, ever".
19:18 <dimitarvp> wwwd: I am thankful!
19:18 <icecreamcohen> yes; and you can *fix* it in realtime too
19:18 <icecreamcohen> I literally did that just yesterday
19:18 sid_fules joined
19:18 <dimitarvp> alxndr: That looks VERY useful. Thanks a lot!
19:18 <dimitarvp> icecreamcohen: All the better. =)
19:19 <Ankhers> dimitarvp: Fault tolerance is a big selling point.
19:19 <dimitarvp> Ankhers: but I don't know how to sell it to business people. They don't care because for them that's a must anyway. Little do they know that many PHP/Ruby systems are kept alive artificially by diligent TechOps guys/girls.
19:20 <icecreamcohen> they must understand that some small proportion of users see errors, right?
19:20 <dimitarvp> icecreamcohen: They do, but if you give them the real numbers (1-2%) they dismiss that as a rounding error and don't care.
19:20 rschmukler joined
19:21 <icecreamcohen> that’s 1.5 of requests, not users
19:21 <wwwd> ciawal: No to elixirc. It's not a huge deal, just found it strange that it was not acting as I expected. My first inclination in these situations is that I am doing something wrong...I haven't learned much about programming, but my faliability becomes obvious day by day! ;)
19:21 NeverDie joined
19:21 <icecreamcohen> a single webpage might make 30 requests.
19:21 <dimitarvp> icecreamcohen: HOWEVER, now that I think of it, I can sell it to them via "less TechOps expenses".
19:21 <icecreamcohen> yes
19:21 <icecreamcohen> fewer expenses: techops, servers...
19:21 <icecreamcohen> fewer upset users
19:21 <dimitarvp> Yep, business people LOVE such sales pitches.
19:22 <Ankhers> Fewer emergencies when something catastrophic happens.
19:22 <icecreamcohen> our notification system would go for hours without a single failure.
19:22 <dimitarvp> Ankhers & icecreamcohen -- indeed.
19:22 <icecreamcohen> and if something catastophic happens, you can recover more quickly. possibly without stopping.
19:23 <markh> just show them the 2 million connections per server, then show them facebook buying whatsapp
19:23 <dimitarvp> markh: Was that the WhatsApp blog post?
19:23 <icecreamcohen> 2mm per server is hard, but 500k per server isnt'.
19:23 <Ankhers> markh: If it was that easy, I would have been able to use Haskell in my day job too :P
19:23 <markh> :p
19:23 <markh> dimitarvp, this is chris's blog post: http://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections
19:23 <markh> well
19:24 <Ankhers> But yes. If you show that "the big guys" are using Erlang / Elixir, that can definately help.
19:24 <dimitarvp> Ankhers: thank you, that's one of the things I am definitely looking for.
19:24 <markh> technically not chris's, but he references it in one of his keynotes from last year
19:24 <dimitarvp> markh: that's the one, thanks!
19:25 oborot joined
19:25 <icecreamcohen> dimitarvp: how does the team feel about it?
19:26 <dimitarvp> icecreamcohen: We're yet to hire people. My CEO however is a really good old-school techie and was very quickly sold on Elixir + Phoenix.
19:26 <dimitarvp> He told me he would look for Rubyists and would rely on me to "convert" them :D
19:26 <icecreamcohen> just not the CTO
19:26 <dimitarvp> No, the CTO we're talking about is from the customer side.
19:26 <dimitarvp> He needs the best sales pitch.
19:27 <icecreamcohen> So, you can also tell them that elixir isn’t new in the sense that it’s untested
19:27 <dimitarvp> Definitely. Plus several really big organizations are using Erlang / Elixir.
19:27 <dimitarvp> as Ankhers mentioned, that's a powerful argument.
19:27 Gringill joined
19:27 <icecreamcohen> it relies on a venerable, amazing, 30 year old technology that powers stuff people need to _live_
19:27 <Ankhers> ^^
19:27 <dimitarvp> Yep! And most SMS systems are in Erlang, aren't they?
19:27 <icecreamcohen> I don’t know, actually
19:28 <Ankhers> If the CTO doesn't know, Erlang is used in ~50% of the telecomms infrastructure. At least that is the number that I keep reading.
19:28 TarVanim_ joined
19:28 <Ankhers> I have never confirmed it though.
19:28 koneko joined
19:29 <dimitarvp> Ankhers: I couldn't imagine a reason for that being a lie though.
19:29 <dimitarvp> I mean, it's not hard to expose it, maybe?
19:30 montanonic joined
19:30 <icecreamcohen> does ericsson produce 50% of telecom equipment?
19:30 <Ankhers> dimitarvp: This is a small list, but may be useful -- https://www.quora.com/Which-companies-use-the-Erlang-language
19:31 <icecreamcohen> and https://www.quora.com/What-big-projects-use-Elixir
19:31 <dimitarvp> already found that one icecreamcohen :P
19:31 <dimitarvp> Ankhers: thanks
19:33 <icecreamcohen> We’re #1, We’re #1...
19:35 <icecreamcohen> dimitarvp: An example from our servers is that the notification system was able to absorb a 2x increase in queries without scaling up. It just got slower.
19:35 <icecreamcohen> I doubt pretty much any other system could do that.
19:35 <dimitarvp> icecreamcohen: To be fair, I've never seen one myself and I gotta tell you, I've been to places.
19:35 <dimitarvp> Including banks with clusters of Java enterprise app servers.
19:36 <icecreamcohen> java definitely won’t do it
19:36 <icecreamcohen> it’s because of the cooperative scheduler.
19:36 <icecreamcohen> languages like java that are mutable cannot have a cooperative scheduler.
19:37 <icecreamcohen> (or one that’s fair and doesn’t litter your code with “it’s OK to schedule” markers)
19:38 <dimitarvp> icecreamcohen: All true but businessmen don't know that.
19:38 <icecreamcohen> it’s your job to educate them
19:38 <dimitarvp> And sadly, most people are fascists in nature: if something doesn't work, they'll pour more money and/or yelling in it until it starts working.
19:38 <dimitarvp> Changing course is almost never on people's radars. Sad reality about Homo Sapiens. :(
19:39 <icecreamcohen> businessmen won’t like that ^
19:39 <dimitarvp> I know :D we're chatting!
19:39 <Ankhers> dimitarvp: less code = more productivity (This isn't always the case)
19:39 <dimitarvp> Ankhers: in FP this is almost always the case however.
19:39 <dimitarvp> In OOP / imperative languages, it definitely is a very questionable statement though.
19:39 <Ankhers> I'm just saying, you can write bad code in any language.
19:39 <dimitarvp> Of course. Lately I found an Elixir package called `oop`. Ran away screaming.
19:40 <dimitarvp> Like, WHY WOULD YOU DO THAT!
19:41 <Ankhers> Fun?
19:42 <icecreamcohen> IIRC elixir was almost oo at first
19:42 <acscherp> Yes that lightning talk last year at EUC was hilarious, the crowd went nuts :)
19:44 bvcosta joined
19:47 <Ankhers> Okay, that was a great talk though.
19:48 <markh> i started reading this book and i really like it: https://www.manning.com/books/the-little-elixir-and-otp-guidebook
19:49 hotpancakes joined
19:50 <PaReeOhNos> acscherp: Have you got a link for that lightning talk?
19:50 hotpancakes joined
19:50 <Ankhers> PaReeOhNos: https://www.youtube.com/watch?v=5EtV2JUU0Z4
19:50 <PaReeOhNos> awesome thanks Ankhers
19:51 acscherp joined
19:59 kyrix joined
19:59 rschmukler joined
20:01 mattyw joined
20:06 rschmukler joined
20:18 JuanMiguel joined
20:24 wwwd joined
20:25 willyk joined
20:27 sahrizv joined
20:31 hotpanca_ joined
20:33 <wwwd> ciawal: Figured it out. I had recently added lint-elixirc to my atom. I.e when I said I had not loaded elixirc that was not quite correct!
20:34 <wwwd> By they way does anyone know of a good linter that won't break stuff?
20:37 <Ankhers> wwwd: I haven't really used them, but I think Credo and Dogma are the big two.
20:37 <wwwd> Thanks!
20:38 <Ankhers> And they both seem to have active development.
20:42 <wwwd> Here's me succumbing to peer pressure...I looked at credo, but went with the one that had the most installs on atom!
20:44 duane joined
20:47 apotry joined
20:51 montanonic joined
20:53 luke_nukem joined
20:59 squallstter joined
21:00 josevalim_ joined
21:05 dch_ joined
21:10 dch_ joined
21:14 om3ga joined
21:15 <om3ga> I'm trying to follow along with the phoenix framework book and I'm getting the following error trying to implement the 'new' function
21:16 <om3ga> == Compilation error on file web/controllers/user_controller.ex == ** (CompileError) web/controllers/user_controller.ex:5: User.__struct__/1 is undefined, cannot expand struct User (stdlib) lists.erl:1354: :lists.mapfoldl/3 web/controllers/user_controller.ex:4: (module) (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
21:16 <om3ga> def new(conn, _params) do 5 changeset = User.changeset(%User{}) 6 render(conn, "new.html", changeset: changeset) 7 end
21:16 <om3ga> def changeset(model, params \\ %{}) do 5 model 6 |> cast(params, ~w(name username), []) 7 |> validate_length(:username, min: 1, max: 20) 8 end
21:16 <om3ga> Sorry for the wall of text but if anyone can point me in the right direction I would appreciate it :)
21:20 <ericmj> om3ga: you are probably missing an alias
21:20 <adamkittelson> om3ga: User is likely YourApp.User, so you'd either need to do %YourApp.User{} or `alias YourApp.User` to use %User{}
21:20 <om3ga> oh ok, I'll give that a shot
21:25 <bvcosta> I just wrote a recommendation about programming phoenix book, please read and give your opinion ( http://thrownewexception.com/elixir/2017/03/09/phoenix-framework-book-recomendation.html )
21:27 <om3ga> That fixed the issue, thanks!
21:29 laut joined
21:29 alex88 joined
21:34 hahuang61 joined
21:39 nanohest joined
21:57 rschmukler joined
22:05 markh joined
22:26 dan27 joined
22:28 sahrizv joined
22:36 ivan joined
22:37 koneko joined
22:39 ariedler joined
22:39 NeverDie joined
22:44 rschmukler joined
22:47 <weaksauce> how would one do something to associate a letter with the position of the alphabet it occurs? like a = 0, b = 1
22:48 sid_fules joined
22:48 ariedler joined
22:50 <vans163> sorry for the bother, is there a way to write R17 style functions in elixir, i cant seem to find info nor get the syntax right myself (if there is a way). In erlang it looks like. F = (fun Recur([]) -> done; Recur([H|T]) -> Recur(T) end)
22:50 <vans163> F([1,2,3]).
22:52 <josevalim> vans163: no
22:53 <josevalim> ~~ Enum.with_index(?a..?z)
22:53 <josevalim> weaksauce: ^
22:53 <vans163> josevalim: thanks, would there be another solution to the case where you need to reduce until you get a value, then stop the reduction?
22:54 <josevalim> use private functions for doing that
22:54 <josevalim> you just can't do it inline
22:54 <vans163> got it
22:54 <josevalim> you can still recur by defining a private function
22:55 <vans163> josevalim: yea, i just like for smallthings to inline the recursion in erlang, feel like that extra xreference (to the priv func) makes the code slightly harder to follow, im talking about really thin recursive logic here.
22:59 jeffweiss joined
23:00 <ivan> is there a function for getting the cartesian product of two enums?
23:01 <ivan> heh ok simple enough https://github.com/tallakt/comb/blob/master/lib/comb.ex#L20-L23
23:04 montanonic joined
23:15 <weaksauce> Thanks josevalim
23:16 Svenskunganka joined
23:16 <josevalim> ivan: for comprehensions
23:16 <josevalim> for a <- list_a, b <- list_b, do: {a, b}
23:17 <ivan> josevalim: indeed thanks
23:21 samdvr joined
23:21 hahuang65 joined
23:25 rschmukler joined
23:26 mitchellhenke joined
23:26 jeffweiss joined
23:28 Svenskunganka joined
23:30 sahrizv joined
23:30 mitchellhenke joined
23:31 r00tl3ss joined
23:36 Guest___ joined
23:38 jeffweiss joined
23:40 <wwwd> Just out of curiosity, does anyone know when Phoenix 1.3 is scheduled for release?
23:40 PaReeOhNos joined
23:41 <carterparks> wwwd: there's an rc out for it
23:41 cemilowski joined
23:46 willyk joined
23:47 rschmukler joined
23:54 duane joined
23:55 mattyw joined
23:56 willyk left
23:58 wtetzner joined