<    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:03 bvcosta joined
00:06 smeevil_ joined
00:24 <Ankhers> Given some variable `x = :tags`. How would I rewrite this query to use `x` instead of p.tags. `from p in Post, where: "elixir" in p.tags`. Or is this not possible currently?
00:28 <benwilson512> Ankhers: from p in Post, where: ^x in p.tags
00:28 <Ankhers> benwilson512: No, I want to replace p.tags with x. Not check if x is in the list.
00:28 <benwilson512> oh
00:28 <benwilson512> sorry
00:28 <ciawal> what do you mean?
00:29 <benwilson512> where: "elixir" in field(p, ^x)
00:29 <benwilson512> Ankhers: ^
00:29 <ciawal> you want the field from Post referenced by x, like above ^?
00:31 <Ankhers> benwilson512: Thanks. I'll give that a go.
00:32 mikeyhew joined
00:36 rschmukler joined
00:41 craigger joined
00:41 codestorm joined
00:54 Guedes joined
00:58 eimantas joined
01:00 PaReeOhNos joined
01:01 Cohedrin joined
01:02 eimantas joined
01:03 larshesel joined
01:09 nighty joined
01:22 Guedes joined
01:30 myronmarston joined
01:35 codestorm joined
01:35 <Ankhers> A normal oush query looks like `from p in Post, update: [push: [field: value]]`. How would I go about specifying field as a variable? `push: [{^field, value}]` complains that it is expecting a keyword list.
01:40 codestorm joined
01:43 mikeyhew left
01:44 zetashift joined
01:50 dimitarvp joined
01:51 hahuang65 joined
01:51 <benwilson512> Ankhers: you can just use regular data there IIRC
01:51 <benwilson512> push: [{field, value}]
01:52 <eimantas> Hello there everyone. Does anyone know if it is possible (or how) to change the value of ref attribute of phoenix messages? I get ref:null somehow (I use custom client side) and I think it breaks my json parser
01:54 <eimantas> Basically If I could always send "ref" : "1" as a quick fix
01:56 drjfreeze joined
02:02 marciol joined
02:14 markh joined
02:16 markh joined
02:24 drjfreeze joined
02:25 hotpancakes joined
02:30 codestorm joined
02:30 PaReeOhNos joined
02:37 rschmukler joined
02:41 tomterl joined
02:43 hotpanca_ joined
02:46 wtetzner joined
02:49 oetjenj joined
02:50 rschmukler joined
02:50 <Ankhers> benwilson512: That is still giving me an "expected a keyword list" error.
02:53 fowlduck joined
03:05 dustinfarris joined
03:07 rschmukler joined
03:08 icecreamcohen joined
03:08 potatosalad joined
03:12 cdg joined
03:18 FIFOd joined
03:20 codestorm joined
03:22 hotpancakes joined
03:23 raycoll joined
03:36 cdg_ joined
03:39 cdg joined
03:41 cdg joined
03:41 dustinfarris joined
03:51 cdg joined
04:01 PaReeOhNos joined
04:02 hotpanca_ joined
04:05 myronmarston joined
04:06 hotpancakes joined
04:12 z1mvader joined
04:14 hotpancakes joined
04:20 imranismail joined
04:21 rschmukler joined
04:21 kanishka joined
04:21 codestorm joined
04:22 racycle joined
04:31 rschmukler joined
04:35 raycoll joined
04:38 icecreamcohen joined
04:42 myronmarston joined
04:43 imack joined
04:46 lessless joined
04:47 Gringill joined
05:01 hotpancakes joined
05:08 w-t-h_ joined
05:11 t-ce joined
05:15 Or1on joined
05:15 Guest___ joined
05:16 rschmukler joined
05:19 marcdel joined
05:21 potatosalad joined
05:24 codestorm joined
05:29 col joined
05:31 PaReeOhNos joined
05:36 nithinbekal joined
05:37 sahrizv joined
05:40 marciol joined
05:42 w-t-h_ joined
05:46 gremly joined
05:47 wsieroci joined
05:50 cemilowski joined
05:52 codestorm joined
06:00 rschmukler joined
06:01 hotpancakes joined
06:02 Tica2 joined
06:04 dec0n joined
06:09 trying_scalabili joined
06:11 harfangk joined
06:14 <trying_scalabili> I am planning to come with a scalable architecture for a web app. I want to keep things as small as possible and the intent is to do have minimal footprint and load. For the front end I am planning to use typescript, RxJS, functional reactive paradigm approach. I want to know, should I choose Elixir or Go lang or Node.js. There will not be processing but can in a few internal api calls to fetch data from different so
06:15 rschmukler joined
06:16 <markh> trying_scalabili, seeing as you're in #elixir-lang...
06:17 voltone joined
06:17 <fowlduck> "There will not be processing" -- curious what the API will do, in that case
06:18 <fowlduck> just pulling together other API requests and smashing the results together?
06:18 <trying_scalabili> by processing, I mean DB query. I plan to have this a standonle app, handling only the front end and managing ssr and first response for the client
06:19 kommen joined
06:19 <trying_scalabili> from there on, it will be a Single Page App, so the front end can directly call backeend
06:19 kommen joined
06:20 systemfault joined
06:23 gvaughn joined
06:24 potatosalad joined
06:26 hotpancakes joined
06:28 hotpanca_ joined
06:31 raycoll joined
06:32 trying_scalabilt joined
06:34 cemilowski joined
06:36 Cohedrin joined
06:40 rschmukler joined
06:44 stnly joined
06:53 imack joined
06:56 proteusguy joined
07:00 icanhazbroccoli joined
07:02 PaReeOhNos joined
07:11 cemilowski joined
07:18 inoas joined
07:25 craigp joined
07:26 hahuang61 joined
07:26 craigp joined
07:34 <nyaray> fowlduck: a routing service would shuffle data/requests, wouldn't it?
07:37 inoas joined
07:42 cemilowski joined
07:50 nithinbekal joined
07:50 codestorm joined
07:55 byte512 joined
08:01 tuacker joined
08:08 Guest67_ joined
08:09 gokr joined
08:09 ZippoWeb joined
08:10 proteusguy joined
08:11 rschmukler joined
08:12 gvaughn joined
08:12 kommen joined
08:16 PaReeOhNos joined
08:21 codestorm joined
08:26 dani0_ joined
08:31 tom[m] joined
08:32 robinsjdotcom joined
08:32 kommen joined
08:33 kommen joined
08:34 flaviodesousa joined
08:34 tom[m] left
08:40 hotpancakes joined
08:42 dani0_ joined
08:45 vmoravec joined
08:46 dani0_ joined
08:47 hbraun joined
08:50 acscherp joined
08:51 drjfreeze joined
08:52 josevalim joined
08:53 simonoram joined
08:59 bigkevmcd joined
09:00 drjfreeze joined
09:02 lexmag joined
09:05 dani0_ joined
09:06 nithinbekal joined
09:13 hotpancakes joined
09:15 hotpanca_ joined
09:15 blahdodo joined
09:16 codestorm joined
09:16 <whodidth1s> is there some eex library for creating searchable, filterable tables
09:17 <whodidth1s> seems like a lotta work to do all those sorts and searches etc based on get params and whatnot
09:17 marciol joined
09:18 <whodidth1s> could it be done in a reusable way
09:18 <gazler> whodidth1s: Never used it, but I saw this posted the other day https://medium.com/@aditya7iyengar/searching-sorting-and-pagination-in-elixir-phoenix-with-rummage-part-1-933106ec50ca#.rhd5jnwnd
09:20 mark_66 joined
09:21 <whodidth1s> sweet, ill lok into it
09:26 vmoravec joined
09:28 robinsjdotcom joined
09:35 bigkevmcd joined
09:37 bigkevmcd joined
09:42 _2easy joined
09:42 _2easy joined
09:43 shadowjack joined
09:49 DeadTrickster joined
09:50 bigkevmcd joined
09:59 rschmukler joined
10:00 gvaughn joined
10:01 robinsjdotcom joined
10:01 dani0_ joined
10:03 robinsjd_ joined
10:06 sid_fules joined
10:07 DeadTrickster joined
10:08 sid_fules joined
10:09 talklittle joined
10:10 codestorm joined
10:15 codestorm joined
10:16 hotpancakes joined
10:18 Bounga joined
10:19 <Bounga> Hi!
10:20 <Bounga> I'm trying to write something were I want to match a string with multiple regex and my goal is only to return the "match data" of the first one matching
10:20 <Radar> Bounga: do you have some code you can share?
10:21 <Bounga> As of now, I use cond, match my string with named_capture then in anymous unction I recreate a tuple. I want to avoid the need to recreate the tuple.
10:21 <Bounga> yes, one sec
10:22 <Bounga> http://pastebin.com/AGzRyGYw
10:23 DeadTrickster joined
10:23 <Bounga> There two things that I don't like, the need of storing result in capt, then using it to recreate a tuple
10:38 DeadTrickster joined
10:41 nithinbekal joined
10:45 Guest67_ joined
10:51 codestorm joined
10:54 rschmukler joined
11:02 awea joined
11:02 egis joined
11:02 tomaz_b joined
11:06 <awea> Hi there, I'm working on a phoenix based application and I want to add specific documentation for it. I got one problem, I want to prevent a documentation to be generated for the module MyApp.Router.Helpers. I see that module is defined in a quoted expressions inside the phoenix lib. Any way arround this ?
11:10 gmcabrita joined
11:11 robinsjdotcom joined
11:13 <josevalim> awea: you will need to open up a feature request for phoenix
11:13 codestorm joined
11:14 robinsjd_ joined
11:15 <awea> josevalim: okay ^^
11:16 nighty joined
11:16 drjfreeze joined
11:16 nithinbekal joined
11:19 robinsjdotcom joined
11:23 Guedes joined
11:24 dustinfarris joined
11:24 inoas joined
11:31 cristianR_ joined
11:35 simonoram joined
11:40 simonoram joined
11:44 dani0_ joined
11:46 robinsjdotcom joined
11:46 bvcosta joined
11:47 codestorm joined
11:48 simonoram joined
11:49 gvaughn joined
11:50 travis-ci joined
11:50 <travis-ci> elixir-lang/elixir#13746 (master - 2daf582 : José Valim): The build passed.
11:50 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/767f7ee2bb3f...2daf5829d9da
11:50 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/208556451
11:50 travis-ci left
11:50 teddysmoker joined
11:51 sid_fule_ joined
11:58 hotpancakes joined
12:01 robinsjdotcom joined
12:02 rhnonose joined
12:05 simonoram joined
12:06 <craigp> meh, ecto rollback doesn't honour the -n flag
12:06 <craigp> anyone know why?
12:06 <craigp> is it because I'm using it in the root of an umbrella?
12:06 <craigp> just rolled back all the way, ignoring the -n 1
12:12 cemilowski joined
12:16 rhnonose joined
12:18 <craigp> confirmed
12:18 robinsjdotcom joined
12:18 <craigp> if i rollback from my app dir it works fine
12:19 <craigp> migrate works ok in the root of the umbrella
12:19 GK___1wm____SU joined
12:22 ctp joined
12:26 arathunku joined
12:29 dustinfarris joined
12:32 hotpancakes joined
12:34 hotpanca_ joined
12:34 dani0_ joined
12:34 <whodidth1s> how do i create more of the non-phoenix app thingies inside an umbrella? i like the dev/test/etc configs 'mix phx.new' does that don't come with regular 'mix new'
12:39 <barttenbrinke> Why was mix phoenix.new renamed to phx.new btw? This breaks all Phoenix howto's :X
12:42 codestorm joined
12:42 rschmukler joined
12:43 simonoram joined
12:46 robinsjdotcom joined
12:53 dch_ joined
12:54 <micmus> barttenbrinke: to keep backwards compatibility. phoenix.new (that is still available) creates an app with the old template, phx.new with the new one
12:55 <barttenbrinke> micmus: Will this be dropped when 1.3 is released?
12:55 <micmus> i would expect at 2.0 if backwards compatibility is a concern
12:55 marciol joined
12:55 <micmus> (whenever that might be)
12:55 <barttenbrinke> micmus: Okay :) Carry on then :D
13:00 <cristianR_> Hello
13:06 <cristianR_> I'm looking for a way to gather metrics in my elixir/phoenix application. I have previously used Fluxter to store the metrics into InfluxDB. AFAIK, Fluxter uses a gen_server to gather all the counters updates, and it regularly pushes the data over UDP to InfluxDB. However, I'm worried regarding the scalability of the approach. Given that it is a single actor, I suspect that the mailbox of the actor will become a bottleneck, and I won't be able to
13:06 <smeevil> cristianR_ there is exometer , that might help ?
13:07 <cristianR_> Exometer uses an ETS table to gather metrics, isn't it?
13:08 <smeevil> cristianR_ IIRC maybe for temp storage, but you should offlload that to an graphite or some other rdb
13:08 <cristianR_> I played with it a bit (in combination with Elixometer) but I had many dependency problems (lager, exometer_core). I got it compiling, there are still some runtime issues that I wasn't able to solve.
13:10 <cristianR_> smeevil: exometer has an influx reporter, but I've got the impression it was not up to date regarding dependencies
13:10 <smeevil> hmm
13:11 <cristianR_> More importantly I wanted to double check that my intentions were actually realistic
13:11 <cristianR_> Maybe it is not the way to go at all to measure throughput
13:12 <smeevil> cristianR_ what do you want te measure exactly ? i know that appsignal has launched last week with some Phoenix instrumentations, you might want to look into their source and see how they did it ?
13:13 <smeevil> https://github.com/appsignal/appsignal-elixir
13:16 <cristianR_> Basically, I have actors that perform certain calculations periodically. I want to measure how many of those calculations we can do per second
13:16 <smeevil> would something like benchee not help with that ? https://github.com/PragTob/benchee
13:16 <cristianR_> Basically, I need a way to dimension the infrastructure we're gonna need to run the service
13:17 drjfreeze joined
13:18 <smeevil> or maybe take a look at flow, where you have producers and consumers. https://github.com/elixir-lang/gen_stage
13:18 <smeevil> thats about the things i can think of that might help :)
13:19 <cristianR_> smeevil: have you used exometer before?
13:19 <smeevil> yeah i did
13:20 <smeevil> using https://www.datadoghq.com as output
13:20 <cristianR_> exometer alone or combined with elixometer?
13:21 <smeevil> exometer alone
13:22 <smeevil> but that was way back :) as in about a year ago
13:26 cdg joined
13:28 cdg joined
13:35 <cristianR_> lexmag: I've noticed that you are one of the Fluxter authors. If you have many gen_servers trying to increment a counter, is it possible that the mailbox of the counter becomes the bottleneck? (i.e. to measure throughput of the app)
13:35 dani0_ joined
13:36 codestorm joined
13:38 gvaughn joined
13:38 <lexmag> cristianR: it could
13:38 <lexmag> though it would be better to use counter per each process then
13:39 <cristianR_> any suggestions? maybe wrapping the counter with poolboy?
13:40 <acscherp> cristianR_, there is also an influxdb backend for exometer
13:40 <lexmag> using per each process is a preferable way I'd say
13:40 <lexmag> as you'll get more points reported in that case
13:40 <lexmag> with better precision
13:40 rschmukler joined
13:41 <cristianR_> I see, I did not considered having one counter per actore, but it's possible
13:41 <lexmag> if reporting is not really intensive
13:41 <lexmag> not like 10k per second
13:42 <lexmag> than even simple `write` call would be enough
13:42 <cristianR_> I'm trying to measure exactly that volumes
13:42 <lexmag> cool
13:42 <lexmag> then counter per each process
13:42 <lexmag> that's how we use it right now
13:42 <lexmag> at 115k writes per second
13:43 <cristianR_> how do you link each counter with the process?
13:43 <cristianR_> do you monitor them?
13:44 <lexmag> liking is happening by default
13:44 <lexmag> we don't monitor, but wrap in `try` and `flush` it in `after` clause
13:45 <cristianR_> Uhmm, I'm gonna check the code and docs again. Thank you for the valuable input.
13:46 <lexmag> cristianR_: glad to help
13:46 <craigp> is there a way to update an ecto schema that uses timestamps() without triggering the updated_at change?
13:46 <lexmag> cristianR_: if it won't work in your case feel free to open an issue and we discuss the solution there :)
13:47 cemilowski joined
13:47 <cristianR_> lexmag: awsome!
13:51 alex88 joined
14:01 hotpancakes joined
14:01 harfangk joined
14:03 arathunku joined
14:03 marr joined
14:06 wong2 joined
14:09 jerel joined
14:11 tomaz_b joined
14:12 sfbw joined
14:13 sfbw joined
14:13 Guedes joined
14:14 ramortegui joined
14:23 cdg_ joined
14:23 <craigp> found it, update_all(queryable, set: [field: value])
14:25 robinsjdotcom joined
14:26 robinsjdotcom joined
14:27 sahrizv joined
14:30 codestorm joined
14:38 gremly joined
14:39 gokr joined
14:41 cfreeze joined
14:42 <cfreeze> I'm writing a little app that does periodic concurrent operations
14:42 dustinfarris joined
14:42 <cfreeze> I do the concurrent operations with tasks
14:43 <cfreeze> But I'm trying to set up my OTP tree so that if one of the tasks errors, it also throws an error in the worker that spawned it and the supervisor restarts it
14:43 <cfreeze> it seems that Task.start_link isn't enough for this
14:44 marciol joined
14:45 <cfreeze> I probably need to do this with a Task.Supervisor...
14:46 <cfreeze> But how do I add the Task.Supervisor to my supervision tree from a worker?
14:46 keathley joined
14:46 <cfreeze> Or do I need to predefine the supervisor
14:52 hotpancakes joined
14:52 gvaughn joined
14:52 dustinfarris joined
14:54 hotpanca_ joined
15:01 myronmarston joined
15:04 ddrmanxbxfr joined
15:15 keathley joined
15:16 hotpancakes joined
15:17 drjfreeze joined
15:22 marciol joined
15:24 racycle joined
15:24 codestorm joined
15:29 codestorm joined
15:33 laut joined
15:34 dani0_ joined
15:35 robinsjdotcom joined
15:36 mattyw joined
15:37 mattyw_ joined
15:39 dani0_ joined
15:40 GK___1wm____SU joined
15:40 myronmarston joined
15:44 cdg joined
15:44 rhnonose joined
15:51 GK___1wm____SU joined
15:51 GK___1wm____SU left
15:51 GK___1wm____SU joined
15:52 drjfreeze joined
15:54 GK___1wm____SU joined
15:55 GK___1wm____SU left
15:55 GK___1wm____SU joined
15:56 minus joined
16:03 celyr joined
16:05 icecreamcohen joined
16:07 sid_fules joined
16:07 nanohest joined
16:09 marciol joined
16:14 bvcosta joined
16:15 potatosalad joined
16:18 GK___1wm____SU joined
16:23 refriedchicken joined
16:23 hahuang61 joined
16:23 codestorm joined
16:25 myronmarston joined
16:26 drjfreeze joined
16:26 wsieroci joined
16:28 davidw joined
16:31 drjfreeze joined
16:33 potatosalad joined
16:34 codestorm joined
16:35 GK___1wm____SU joined
16:38 hotpanca_ joined
16:38 amclain joined
16:40 hahuang65 joined
16:43 hotpancakes joined
16:43 tuacker joined
16:46 meh` joined
16:48 wtetzner joined
16:48 imack joined
16:53 racycle joined
16:55 hotpancakes joined
16:56 sid_fules joined
16:57 sid_fules joined
16:59 Guest___ joined
17:04 GK___1wm____SU joined
17:05 gokr joined
17:06 rschmukler joined
17:06 wsieroci joined
17:08 w-t-h_ joined
17:09 lexmag joined
17:09 Lyubo1 joined
17:12 fowlduck joined
17:13 myronmarston joined
17:15 nanohest joined
17:15 GK___1wm____SU joined
17:16 jbhannah joined
17:16 <drjfreeze> beatpanic[m]: /exit
17:17 myronmarston joined
17:17 <beatpanic> drjfreeze: ?
17:18 rschmukler joined
17:22 hotpancakes joined
17:24 cdg_ joined
17:25 markholmes joined
17:28 steffkes_ joined
17:29 rschmukler joined
17:30 sfbw joined
17:30 sfbw joined
17:30 GK___1wm____SU joined
17:31 sfbw joined
17:32 samdvr joined
17:32 sfbw joined
17:33 zetashift joined
17:34 sfbw_ joined
17:35 sfbw joined
17:36 sfbw_ joined
17:37 sfbw joined
17:38 sfbw_ joined
17:39 sfbw joined
17:40 sfbw joined
17:40 squallstter joined
17:41 sfbw_ joined
17:41 w-t-h_ joined
17:42 cemilowski joined
17:46 sivsushruth joined
17:47 <sivsushruth> Successfully running phoenix 1.3.0-rc in production. Damn fine build! Great job folks
17:47 ctp joined
17:47 <sivsushruth> action_fallback was much needed
17:50 codestorm joined
17:53 sfbw joined
17:59 z1mvader joined
17:59 bitcrusher joined
18:03 wsieroci joined
18:04 montanonic joined
18:04 ZippoWeb joined
18:10 PaReeOhN_ joined
18:10 <micmus> josevalim: ping
18:13 wsieroci joined
18:14 <micmus> pinged in the relevant issue https://github.com/michalmuskala/mongodb_ecto/issues/113#issuecomment-284806176
18:14 robinsjdotcom joined
18:14 refriedchicken joined
18:17 ep joined
18:18 rhnonose joined
18:18 vendethiel joined
18:21 GK___1wm____SU joined
18:21 GK___1wm____SU left
18:24 sahrizv joined
18:26 GK___1wm____SU joined
18:27 hahuang65 joined
18:28 Cohedrin joined
18:29 Ven joined
18:33 dch_ joined
18:34 jeffweiss joined
18:42 dch_ joined
18:43 myronmarston joined
18:45 codestorm joined
18:48 imack joined
18:49 wsieroci joined
18:49 Ven joined
18:52 sid_fules joined
18:53 kommen joined
18:54 hotpancakes joined
18:54 acscherp joined
18:54 gokr joined
18:57 rhnonose joined
19:02 ctp joined
19:09 markh joined
19:09 Ven joined
19:10 steffkes joined
19:10 kommen joined
19:10 steffkes joined
19:11 montanonic joined
19:17 hotpancakes joined
19:19 nanohest joined
19:20 <icecreamcohen> is there a way to quiet the warning: redefining module while running tests?
19:22 cdg joined
19:24 GK___1wm____SU joined
19:27 <smeevil> o/
19:27 <* GK___1wm____SU> you bot
19:28 hotpancakes joined
19:29 Ven joined
19:29 <ciawal> icecreamcohen: why are you getting the warning?
19:30 <icecreamcohen> I have a router that regenerates itself from a database and builds a module
19:32 Or1on joined
19:36 <Zarathu> does elixir have a logical/boolean xor?
19:36 <Zarathu> e.g., `true xor false #=> true`, `true xor true #=> false`
19:37 montanonic joined
19:38 <fishcakez> icecreamcohen: is it purely dynamic? you could use :code.purge+delete in on_exit/1
19:38 <icecreamcohen> There’s a placeholder module to start.
19:39 codestorm joined
19:40 <fishcakez> icecreamcohen: ok, i think you can do the purging manually to silence it using those functions
19:40 <icecreamcohen> k
19:40 <icecreamcohen> I’ll give it a shot, fishcakez
19:41 <icecreamcohen> I was just wondering if I could change a flag to make the warning not display.
19:41 <fishcakez> Elixir doesnt like to support warning flags
19:42 <Ankhers> josevalim: If possible, do you just want to have the conversation here, and either one of us can put a summary on that ticket?
19:43 <josevalim> Ankhers: I am on and off the computer though so the ticket will be better for now :)
19:43 <Zarathu> :erlang.xor() does it
19:43 <Zarathu> nvm
19:43 <Zarathu> too bad Kernel.xor/2 was removed :/
19:44 <Ankhers> josevalim: ok.
19:44 <icecreamcohen> fishcakez: can I do it before I re-generate the module?
19:44 <fishcakez> icecreamcohen: yes
19:45 <icecreamcohen> hmm
19:45 <fishcakez> icecreamcohen: heres an example: https://github.com/elixir-ecto/postgrex/blob/master/test/custom_extensions_test.exs#L89-L98
19:46 cdg joined
19:46 damjan left
19:47 <icecreamcohen> it’s not working
19:47 <icecreamcohen> this isn’t a big deal, it’s just noise.
19:48 Ioyrie joined
19:49 fantomik joined
19:49 Ven joined
19:51 wsieroci joined
19:51 dch_ joined
19:53 skunkwerks joined
19:59 kyrix joined
20:00 dani0_ joined
20:04 tomaz_b joined
20:07 arathunku joined
20:07 sid_fules joined
20:09 Ven joined
20:11 skunkwerks joined
20:18 codestorm joined
20:18 l14n joined
20:19 hotpanca_ joined
20:21 bvcosta joined
20:22 montanonic joined
20:24 wsieroci joined
20:29 Ven joined
20:30 skunkwerks joined
20:34 rschmukler joined
20:37 kommen joined
20:42 acscherp joined
20:48 zodiak joined
20:49 Ven joined
21:00 sid_fules joined
21:00 josevalim_ joined
21:02 Ven joined
21:10 dch_ joined
21:10 dch_ joined
21:12 codestorm joined
21:13 icecreamcohen joined
21:17 wsieroci joined
21:18 <tomaz_b> hi
21:18 <Ankhers> tomaz_b: Hey!
21:19 <tomaz_b> i am somehow confused, as elixir newbie... the majority of all examples... show how to run your code from iex>
21:19 <tomaz_b> but how you actually run your code (long running daemon) on a remote server.. .if it is not let say a web server
21:19 <tomaz_b> how do you start it?
21:20 montanonic joined
21:22 <micmus> tomaz_b: the Mix & OTP guide goes (among other things) though building a long-running server over simple TCP http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html
21:28 <tomaz_b> micmus: so if i put start_permanent in mix.exs, and i execute in shell "MIX_ENV=prod mix compile" ... does this starts my app?
21:28 <tomaz_b> how do you start it?
21:28 <micmus> mix run is the task to run the apo
21:28 <micmus> s/apo/app
21:29 <tomaz_b> doh...
21:29 <micmus> or build a release and run as a release for larger projects
21:29 PaReeOhNos joined
21:29 <tomaz_b> how do you run a release?
21:29 <tomaz_b> i found how you make one...
21:29 <tomaz_b> but again... they all show... in iex>
21:30 <tomaz_b> how do you run it from shell?
21:30 <tomaz_b> unix shell
21:32 <benwilson512> ./bin/my_app start
21:33 <tomaz_b> i just found it ... :) thanks
21:33 <tomaz_b> ok...
21:33 <tomaz_b> cool
21:35 refriedchicken joined
21:37 nanohest joined
21:42 <Ankhers> micmus, josevalim: I can take on the belongs_to_many relationship. I will probably need some help with the fields the struct shoudl have though.
21:42 <Ankhers> s/shoudl/should
21:45 refriedchicken66 joined
21:45 <josevalim> awesome
21:45 <josevalim> Ankhers: https://github.com/elixir-ecto/ecto/commit/b9b50cf3698889773a5ea075737c6a29e084959a
21:45 <josevalim> https://github.com/elixir-ecto/ecto/commit/3930d6dc7626f27de29d400352aa9c56443f2b19
21:45 <josevalim> those are likely good starting points
21:47 <Ankhers> josevalim: Thanks. I'll look those over.
21:49 <micmus> josevalim, Ankhers what would be on the other side of a belongs_to_many association?
21:50 <Ankhers> micmus: I thought it would be a has_one. Probably need a flag to state that it looks in an array or something though.
21:51 <micmus> so maybe we should make it work with regular has_many and belongs_to, when the field type is {:array, _} ?
21:53 codestorm7 joined
21:55 <Ankhers> That may be a better option.
21:55 refriedchicken joined
22:01 Gringill joined
22:02 sid_fules joined
22:03 marciol joined
22:04 sfbw joined
22:05 <josevalim> Ankhers: i would prefer an explicit belongs_to_many
22:05 markh joined
22:05 <micmus> josevalim: have_to_many_many for the other side looks silly, though :P
22:06 <josevalim> oh
22:06 Ilyes512 joined
22:06 <josevalim> i forgot about the other side
22:06 codestorm joined
22:06 <OliverMT> its easy to forget elixir is a dynamic interpreted language sometimes because it does concurrent stuff so speedy
22:07 <josevalim> it is not interpreted
22:07 <OliverMT> I just hotloaded some legacy data onto a db by writing old data to json
22:07 <OliverMT> interpreted is wrong word I gues
22:07 <OliverMT> the erlang bytecode is?
22:07 <josevalim> maybe that's why it is easy to forget :)
22:07 <markh> +1
22:08 <OliverMT> I would like to claim that saying bytecode is not interpreted code is a bit misleading
22:08 <josevalim> OliverMT: yes, it is VM interpreted
22:08 <OliverMT> even with a long track record in java, I still think that
22:08 <OliverMT> aaaaaaaaaaanyways, that wasnt the point
22:08 <josevalim> hahahah
22:08 <josevalim> indeed it wasn't
22:08 <OliverMT> its so sexy that I could hack up some code
22:08 <OliverMT> then Code.load_file and get it into prod db
22:08 <OliverMT> through an exrm remote_console
22:08 <OliverMT> that is *incredibly* powerful
22:09 <josevalim> i think though people expect interpreted languages to not require a compilation step or generate artifacts
22:09 <OliverMT> testing the code against a copy of prod on my pc, and simply putting the file on disk over ssh and load it there to do the import
22:09 <micmus> josevalim: maybe we could have something like multi_belongs_to, multi_has_many and multi_has_one? Though at that point I would possibly extract them to some other module than Ecto.Schema not to confuse new users
22:09 <josevalim> hence my pedantry
22:09 <josevalim> :)
22:09 cdg_ joined
22:09 <OliverMT> in my book I like to chuck most languages where you can have a repl ala iex with a persistent context into the interpreted gang
22:10 <micmus> There's an interpreter as well, though, if you run in iex or in general outside of modules
22:10 <josevalim> OliverMT: well, in such cases languages end-up implementing an evaluator
22:10 <OliverMT> lets focus on the awesome part here :D
22:10 <micmus> erlang has both a simple interpreter and a to-bytecode-compiler
22:11 <OliverMT> I'm just happy I saved myself 10 hours of sql finicking
22:11 <josevalim> OliverMT: :D
22:11 <josevalim> micmus: i don't like multi because of Ecto.Multi
22:11 <OliverMT> since its nested data, so I had to read values out of insert_all
22:11 <OliverMT> what would multi_has_many mean in terms of sql?
22:11 <OliverMT> out of curiosity
22:12 <josevalim> micmus: maybe we should change the prefix? we have embeds_many and has_many...
22:12 <micmus> OliverMT: has_many, but the foreign key is an array of ids.
22:12 PaReeOhNos joined
22:12 <OliverMT> an array on the parent side?
22:13 <OliverMT> or in a jointable
22:14 <micmus> OliverMT: without a join table
22:14 <josevalim> array on the parent side
22:14 <OliverMT> I thought postgres didnt support fk's inside arrays
22:14 <josevalim> micmus: keep in mind there is no referencial integrity for PG
22:14 <josevalim> it doesn't
22:15 <OliverMT> I asked about just this on #postgresql
22:15 <OliverMT> and the general sentiment was that here be dragons and bad things
22:15 <OliverMT> including a core dev who chimed in :D
22:15 <OliverMT> when ecto dsl handles it for you its less error prone, but whats the usecase? what does it optimize over many_to_many?
22:15 <josevalim> micmus: so I would like a name that potentially implies "here be dragons"
22:16 <OliverMT> here_be_many_dragons?
22:16 <Ankhers> ^^ +1
22:16 <OliverMT> jose is really gearing up his standup routine today :D
22:17 <OliverMT> I am not really opposed to the idea, just so that is clear
22:17 <OliverMT> but I would think it might be a bit nonsensical to implement something that is somewhat considered bad pratice
22:18 <Ankhers> OliverMT: Just for some background, it stemmed from https://github.com/michalmuskala/mongodb_ecto/issues/113
22:18 <micmus> josevalim: that's why I wanted to have it in a separate module
22:18 <OliverMT> oh, you're the guy with millions of stuff in mongo I talked to a few weeks ago maybe? :D
22:18 <micmus> nope
22:19 <micmus> at least not me, if you're asking me
22:19 <OliverMT> no, Ankhers
22:19 <OliverMT> I know who you are
22:19 <micmus> (and now I realise probably not :D)
22:19 <OliverMT> I even know that google paid for mongodb to be the second official db supported by elixir
22:19 <OliverMT> which I find a bit amusing :p
22:20 <OliverMT> or was there a proper ecto binding for mysql before mongo?
22:20 <OliverMT> (is there even now?)
22:20 <micmus> though Google Summer of Code they pay for a lot of wired open source stuff :D
22:20 <micmus> yes, mysql was there
22:20 <josevalim> micmus: btw, dynamic pool configuration, what is the status?
22:21 <josevalim> micmus: i think we can merge the PR once we address those comments?
22:21 <josevalim> or do you want to go all the way?
22:21 <tomaz_b> what would be suggested JSON package nowdays... to handle JSONs in Elixir (arbitrary JSONs)?
22:21 <josevalim> poison
22:21 <tomaz_b> josevalim: thanks!
22:21 <micmus> josevalim: I haven't got a lot of time :( I started doing the dynamic repo, but realized I need to make the cache table runtime configurable and made a big mess changing everything. I need to go back and do this step-by-step
22:22 <Ankhers> OliverMT: That doesn't sound like me. I don't use Mongo very often.
22:23 <ivan> why does `mix compile --warnings-as-errors` return exit code 0 if I get a `warning: variable "post_install_unit" is unused`?
22:24 <ivan> (in a dependency. is that it?)
22:24 <josevalim> ivan: --warnings-as-errors does not affect deps
22:24 <josevalim> micmus: yes, let's do the dynamic pool, then ets and we will have a better idea going step by step
22:24 <OliverMT> mix deps.compile --warning-as-errors ?
22:24 <ivan> heh, in my case I wish it did; I am automatically generating projects that depend on things
22:24 <ivan> OliverMT: thanks
22:24 <OliverMT> josevalim: they did before
22:24 <OliverMT> did you change that?
22:25 <OliverMT> if deps werent compiled the flag would error the compile out
22:25 <OliverMT> on a warning in a dep
22:25 <ivan> OliverMT: nope that returns 0 too
22:25 <josevalim> we generally disabled it
22:25 <josevalim> unless it was a rebar3 package which we do only recently afaik
22:27 <* ivan> just checks the output, doesn't seem too bad
22:28 montanonic joined
22:30 rhnonose joined
22:39 FIFOd joined
22:39 travis-ci joined
22:39 <travis-ci> elixir-lang/elixir#13748 (master - 07dc59d : José Valim): The build passed.
22:39 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/2daf5829d9da...07dc59d55721
22:39 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/208769273
22:39 travis-ci left
22:39 <alisdair> josevalim: for dynamic pool registration can ecto just accept a pid/register tuple and leave it up to the application to manage the registration rather than taking it over?
22:40 maxbeizer joined
22:41 <Ankhers> josevalim, micmus: Where do we stand with the belongs_to_many and whatever inverse relation? Is it something wanted in Ecto proper? Or should it be in a separate library?
22:41 bvcosta joined
22:43 codestorm joined
22:45 refriedchicken joined
22:50 <josevalim> alisdair: what do you mean "leave it up to the applicatin to manage the registration"?
22:50 universa1 joined
22:50 <josevalim> alisdair: are you saying that any value that needs to be dynamically kept will be kept by the application instead of us handling it for you?
22:50 <alisdair> josevalim: rather than ecto starting dynamic pools and managing their registration just let ecto know a repo is dynamic and then have ecto expect a pid/registration tuple
22:51 <alisdair> leave it up to the user/application to start and register the repos
22:51 <josevalim> alisdair: that's what we plan to do
22:51 <alisdair> oh ok, i misunderstood the stuff about ets tables then, sorry
22:51 <josevalim> Ankhers: probably ecto proper but pending a good name. maybe some research on how other drivers and libraries call it can help?
22:51 <josevalim> alisdair: it is because we need to keep internal stuff, like ets tables
22:52 <josevalim> alisdair: and it is hard to tell you to keep this yourself because start_link doesn't allow data to be returned on the side afaik?
22:53 <alisdair> right, ok
22:53 <alisdair> you can return additional data from start_link tho
22:55 <josevalim> i mean, not if the start link is being called inside a supervisor
22:56 <alisdair> oh, true
22:57 cdg joined
23:07 refriedchicken joined
23:07 universa1 joined
23:14 bambanx joined
23:14 jeffweiss joined
23:16 hotpancakes joined
23:17 hahuang65 joined
23:17 skace_ joined
23:18 montanonic joined
23:20 rschmukler joined
23:20 todder joined
23:21 nonninz joined
23:23 PaReeOhNos joined
23:24 <hotpancakes> Would this be applicable to Phoenix when running `mix phoenix.server`?: https://github.com/charliesome/better_errors/issues/350
23:24 dnorris joined
23:24 jamick joined
23:26 nonninz joined
23:27 mrx1 joined
23:27 universa1 joined
23:28 minus joined
23:29 josevalim joined
23:31 abassetto joined
23:32 rschmukler joined
23:32 minus joined
23:35 <benwilson512> hotpancakes: I don't see any prima facie reasons to believe it would
23:35 <benwilson512> I mean the issue says "if you are running better errors."
23:40 craigp joined
23:42 rschmukler joined
23:43 universa1 joined
23:47 sid_fules joined
23:51 montanonic joined
23:52 hotpanca_ joined
23:54 r00tl3ss joined
23:54 <r00tl3ss> Hey guys. Curious, can I use Socket to connect to a remote socket (not a phoenix app)
23:54 <r00tl3ss> meaning from my Phoenix App's Socket, connect to a remove service running a websocket
23:55 codestorm777 joined
23:55 <r00tl3ss> s/remove/remote
23:56 wtetzner joined
23:58 rschmukler joined
23:59 cdg joined