<  February 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
00:00 definiv joined
00:02 <Gringill> I am running into some strange behavior using supervised tasks via async_nolink (/2 and /4) in combination with the restart: :transient option. If my task terminates in a way that should cause a restart, rather than the task being restarted and executing the function again it waits 5 seconds and times out at lib/task/supervised.ex:60 (elixir 1.4.0). That
00:02 <Gringill> area of code has a large comment about what might cause that timeout to happen but it seems to really emphasize cross-node communication which I am not doing in my case. The restart + timeout happens perpetually. Has anyone encountered anything like this before?
00:02 <mayppong> exit
00:03 srxa_ joined
00:08 definiv joined
00:09 harfangk joined
00:11 <josevalim> micmus: unlikely because it would bring external dependencies
00:11 <josevalim> ok for plug, quite hard for elixir
00:12 <micmus> yeah, for inclusion in elixir, I would assume the property checking library would need to ship as part of elixir itself
00:14 davidw joined
00:14 rschmukler joined
00:18 DTZUZU joined
00:20 rschmukler joined
00:24 chriswarren joined
00:26 jhack joined
00:31 nighty joined
00:31 definiv joined
00:31 edgurgel joined
00:32 jhack joined
00:40 Sgeo joined
00:42 DLSteve joined
00:47 definiv joined
00:47 srxa joined
00:48 chriswarren joined
00:50 ur5us joined
00:50 jhack joined
00:57 cdg joined
01:09 refriedchicken joined
01:09 symmetric joined
01:10 <symmetric> Can somebody point me to some resources for meta programming in elixir ?
01:11 kommen joined
01:16 <dimitarvp> josevalim: you around?
01:16 mitchellhenke joined
01:17 chriswarren joined
01:23 definiv joined
01:26 unpack joined
01:27 wiesel joined
01:38 laut joined
01:57 chriswarren joined
01:59 chriswar_ joined
02:05 montanonic joined
02:06 chriswarren joined
02:15 chriswarren joined
02:16 codestorm joined
02:18 tekhneek joined
02:20 r00tl3ss_ joined
02:21 codestorm joined
02:24 chriswarren joined
02:26 chriswar_ joined
02:27 r00tl3ss joined
02:31 ur5us joined
02:33 raycoll joined
02:35 ur5us_ joined
02:36 wong2 joined
02:36 systemfault joined
02:37 rschmukler joined
02:40 edgurgel joined
02:41 tomterl joined
02:49 rschmukler joined
02:52 Gringill joined
02:54 cherrot joined
03:09 rschmukler joined
03:11 chriswarren joined
03:16 myronmarston joined
03:18 edgurgel joined
03:19 coatezy joined
03:24 bambanx joined
03:28 deepbook5broo joined
03:28 deepbook5broo left
03:29 chriswarren joined
03:32 <cmk_zzz> )/win2
03:33 nomicflux joined
03:37 karmajunkie joined
03:37 rschmukler joined
03:38 chriswarren joined
03:40 Cohedrin joined
03:41 alexlourenco joined
03:45 meh` joined
03:47 chriswarren joined
03:47 racycle joined
03:54 kazimuth joined
03:55 rschmukler joined
03:56 chriswarren joined
03:58 r00tl3ss joined
04:04 rkazak joined
04:05 chriswarren joined
04:13 z1mvader joined
04:13 <z1mvader> hey guys! i've been trying to use alchemist with emacs but i cannot get to enable alchemist-mode when opening an .exs file
04:13 <z1mvader> if i open an .exs file and then i run alchemist-mode everything is fine, but i cannot make it work from my .el config file
04:14 codestorm joined
04:14 cherrot joined
04:15 cdg joined
04:18 chriswar_ joined
04:22 dewa19 joined
04:32 alex88 joined
04:35 chriswarren joined
04:36 alexlourenco joined
04:42 myronmarston joined
04:42 systemfault joined
04:44 chriswarren joined
04:48 alexlourenco joined
04:51 myronmarston joined
04:53 chriswarren joined
04:58 srxa_ joined
05:02 chriswarren joined
05:11 chriswarren joined
05:11 kommen joined
05:14 tekhneek joined
05:20 jerel joined
05:25 alexlourenco joined
05:31 alexlourenco joined
05:36 montanonic joined
05:37 kommen joined
05:41 craigp joined
05:50 alexlourenco joined
05:51 chriswarren joined
05:51 cemilowski joined
06:00 chriswarren joined
06:01 cherrot joined
06:02 dec0n joined
06:06 meh` joined
06:08 alexlourenco joined
06:09 mytrile joined
06:11 triangles joined
06:13 raycoll joined
06:14 r00tl3ss joined
06:15 gvaughn joined
06:20 cemilowski joined
06:22 <r00tl3ss> Hallo!
06:22 zv joined
06:22 <r00tl3ss> Let's say I have a User with id and a Invitation with id. I want to connect an Invitation to the inviter (User) and an invitee (also User)
06:23 <r00tl3ss> hang on, I think I've seen this some where
06:23 <r00tl3ss> self referential associations or something
06:24 alexlourenco joined
06:26 <r00tl3ss> Ok, so what I want to do is custom foreign keys, which I'd do with has_many :something, foreign_key: :something_else_id
06:26 <r00tl3ss> But when I want to generate a migration for this, how would I do it?
06:28 <r00tl3ss> normally, ifyou wanted to use the default id you'd do : mix Phoenix.gen.html Invitation invitations user_id:references:users , etc
06:28 <r00tl3ss> but let's say I wanted it to use 'inviter_id' but still references users
06:30 cherrot joined
06:37 icanhazbroccoli joined
06:42 definiv joined
06:44 chriswarren joined
06:45 <elbow-jason> r00tl3ss: in your migration file you would have something like `add :invitee_id, references(:users)` and another line like `add :invited_id, references(:users)`
06:46 <r00tl3ss> I've got that so far
06:47 <r00tl3ss> Now when I'm creating an invite
06:47 <craigp> heya all
06:47 <r00tl3ss> Invite.changeset(%Invite{inviter_id: user.id})
06:47 <r00tl3ss> it complains:
06:47 <craigp> is there a way in gen_state to reject a subscriber in handle_subscribe?
06:47 <craigp> the only options documented are {:manual, state} and {:automatic, state}
06:48 <r00tl3ss> oh hang on, I think it might be adifferent error
06:48 <elbow-jason> changeset takes a struct as the first arg and a map of the changes as the second arg
06:48 <r00tl3ss> Hey, it works!
06:48 <elbow-jason> :)
06:48 <r00tl3ss> earlier it was giving an error because I was referencing a nonexisting id
06:49 <elbow-jason> well done
06:51 <r00tl3ss> This stuff is so much simpler than Rails
06:53 chriswarren joined
07:02 chriswarren joined
07:10 refriedchicken joined
07:11 chriswarren joined
07:18 unlaudable joined
07:36 tomaz_b joined
07:48 r00tl3ss joined
07:53 agit0 joined
07:58 john2x joined
08:00 alexlourenco joined
08:02 tuacker joined
08:02 kommen joined
08:02 lexmag joined
08:03 cherrot joined
08:04 gvaughn joined
08:08 Guest67 joined
08:09 <t-ce> with stream, how do I take the following elements? I mean:
08:10 <t-ce> stream = 1..10 |> Stream.filter(&Math.prime?/1)
08:10 <t-ce> stream |> Enum.take(2)
08:10 <t-ce> gives [2, 3]
08:10 chriswarren joined
08:11 <t-ce> but then eithen a second stream |> Enum.take(2) or even using stream = stream |> Enum.take(2) always repeat the output [2,3] instead of giving [5,7]
08:12 mattyw joined
08:15 <isHavvy> primes = Enum.take(stream, 2) \n stream = Enum.drop(stream, 2)
08:16 <t-ce> isHavvy: cool! thank you
08:16 <isHavvy> (There may be a better way)
08:16 DeadTrickster joined
08:18 <isHavvy> Like, for instance, Stream.chunk(stream, 2) and then doing stuff with that.
08:21 <t-ce> Stream.drop gives the shortened stream back
08:21 <t-ce> so I can pull any number of the element any time
08:29 mark_66 joined
08:35 gokr joined
08:37 milad joined
08:49 craigp joined
08:49 areski joined
08:54 josevalim joined
08:55 nd__ joined
09:00 nd___ joined
09:09 areski joined
09:09 stephen_m joined
09:17 vmoravec joined
09:20 PaReeOhNos joined
09:24 chriswarren joined
09:30 PaReeOhNos joined
09:39 codestorm joined
09:46 travis-ci joined
09:46 <travis-ci> elixir-lang/elixir#13514 (master - 9d2263a : Michał Muskała): The build passed.
09:46 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/5dd1fec13b25...9d2263a9b393
09:46 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/202558018
09:46 travis-ci left
09:48 hahuang61 joined
09:52 gvaughn joined
09:52 Guedes joined
09:52 Guedes joined
09:53 shadowjack joined
09:56 marr joined
09:59 lexmag joined
10:06 srxa joined
10:08 nd__ joined
10:21 develop7 joined
10:24 fantomik joined
10:24 rawtaz joined
10:26 rawtaz joined
10:29 rawtaz joined
10:30 rschmukler joined
10:31 rawtaz joined
10:32 fredsir joined
10:34 srxa_ joined
10:37 MoskitoHero joined
10:38 alexlourenco joined
10:39 chriswarren joined
10:43 superherointj joined
10:44 mattyw joined
10:57 nd__ joined
11:08 goyox86 joined
11:10 <smeevil> o/
11:11 ndeet joined
11:13 chriswarren joined
11:14 <ciawal> I need to recursively go through a data structure and convert structs in it to maps (so poison can encode the data)
11:14 <ciawal> anyone have an easy solution for this?
11:18 <ciawal> hm, actually seems the problem is with encoding keyword lists
11:22 Ven joined
11:24 rschmukler joined
11:27 cherrot joined
11:27 codestorm joined
11:34 mattyw joined
11:37 hylh joined
11:39 alexlourenco joined
11:40 <smeevil> it's quite amazing how fast the team responds to pull requests <3
11:41 gvaughn joined
11:46 hahuang61 joined
11:48 codestorm joined
11:49 <tomaz_b> i'm having problems with config.exs file. (to learn what is proper way of using). I would like to set some configurations in there. As I understood all you do is something like this in config (config :myappname, myvar: "value")
11:49 <tomaz_b> then I somehow can't get this in my code. in lib/myappname/somefile.ex
11:49 <josevalim> how are you trying to read it?
11:49 <tomaz_b> do I use some kind of use Mix.config at the top or not?
11:50 <josevalim> do this in your configuration file
11:50 <josevalim> raise "oops"
11:50 <tomaz_b> i've tried various approacthes
11:50 <smeevil> tomaz_b do you mean Application.get_env(:myappname, :myvar) ?
11:50 <josevalim> does it raise? if it doesn't raise the config file is not being loaded
11:50 <tomaz_b> yes
11:50 Ven joined
11:50 <ciawal> show us your get_env call and the config call
11:50 <tomaz_b> yes for use Mix.config in my config file
11:51 <tomaz_b> what do you mean with raise "oops"
11:51 <tomaz_b> ?
11:51 <josevalim> paste your config file and the caller in a gist please
11:51 <ciawal> just copy/paste that into your config file
11:53 <tomaz_b> https://gist.github.com/ulutomaz/c4a0f04b6fb0b384c59066352aa790b7
11:53 <stephen_m> Capital C `:Configurations` -> `:configurations`
11:53 gmcabrita joined
11:55 <tomaz_b> my bad, but still doesn't work
11:55 <tomaz_b> i recompiled and called like iex> Configurations.App.print
11:55 <tomaz_b> empty line and :ok in second line of output
11:56 <ciawal> it looks like that should work once you've fixed the case
11:56 <ciawal> try mix clean and then run it
11:56 <stephen_m> `mix do clean, compile`
11:56 <ciawal> wait
11:56 <ciawal> how are you calling iex
11:56 <tomaz_b> iex -S mix
11:57 <tomaz_b> mix do clean, mix compile, iex -S mix, Configurations.App.print ... nothing
11:57 chriswarren joined
11:58 <tomaz_b> would it be something with this.... that I haven't started 'my app' in mix.exs?
11:59 <tomaz_b> do you always have to do this?
12:00 <stephen_m> `mix do clean, compile && iex -S mix`
12:00 MoskitoHero joined
12:01 <tomaz_b> tried that too... doesn't help. I just wanted to include some config in config and print it out in app code... but can't do this. I tried this... clean, etc but there is no change
12:01 <stephen_m> should work...
12:02 <ciawal> did you try the 'raise' call, tomaz_b?
12:04 <tomaz_b> my bad.... when I changed as you suggested, i made a typo. It works now. Thank you && sorry for this
12:04 <tomaz_b> and this ... with Application.get_env(.... is the most proper way to do this?
12:05 <ciawal> yes
12:06 <tomaz_b> and if you would have more settings... you put them in list?
12:06 chriswarren joined
12:06 <stephen_m> tomaz_b: yes - keyword lists.
12:07 <stephen_m> https://hexdocs.pm/elixir/Keyword.html `A keyword is a list of two-element tuples where the first element of the tuple is an atom and the second element can be any value`
12:07 <ciawal> note that you already have a list, just with one key in (:url)
12:13 <tomaz_b> hmm... ok
12:16 kkalinin joined
12:24 codestorm joined
12:29 webdev007 joined
12:34 Guedes joined
12:34 Guedes joined
12:35 axiomiety joined
12:40 alexlourenco joined
12:45 chriswarren joined
12:48 laut joined
12:48 dimitarvp joined
12:53 <r00tl3ss> Hallo!
12:54 chriswarren joined
12:55 <r00tl3ss> So I had that Invitation struct, then I thought, I don't want invitations to be sent over and over to the same fella, so I tried "unique index constraint", which works so far with the 2 id reference fields, but let's say I also want to unique the "email that was invited" or :invitee_email which is a string. How?
12:55 nighty joined
12:56 <r00tl3ss> Do I create index :invitee_email, then create index [:org_id, :inviter_id, :invitee_email] ?
12:56 <r00tl3ss> I'm gonna try this out first
12:59 Jukka_ joined
13:00 <Nicd-> you don't need the first index
13:01 <Nicd-> you need a unique index with all the columns you want to check for a unique combination
13:08 tonini joined
13:09 Elmseld joined
13:12 chriswarren joined
13:13 rschmukler joined
13:16 nomicflux joined
13:17 definiv joined
13:18 codestorm joined
13:18 Guest67 joined
13:18 <r00tl3ss> roger dodger
13:18 craigp joined
13:18 inoas joined
13:18 <r00tl3ss> I've already managed to get it to work, thank you!
13:19 <r00tl3ss> Now to get it to give an error instead of raising
13:19 <r00tl3ss> which I think should be unique_constraint in the schema somewhere
13:19 <r00tl3ss> gonna try this, someone let me know if I'm going the wrong way!
13:21 Guest67 joined
13:22 chriswarren joined
13:23 <micmus> fishcakez: would it make sense to add some comments about the elixir experience of default functions? If OTP is going to do this, maybe we should revise the new GenServer implementation? https://github.com/erlang/otp/pull/1346
13:28 <m1dnight_> Hey guys, quick noob PLE question. Do you compile a minial language to BEAM bytecode, or do you compile elixir to valid erlang that then gets compiled?
13:29 <m1dnight_> I was thinking about designing a super-tiny-micro language that compiles to BEAM.
13:29 <m1dnight_> (For fun)
13:29 gvaughn joined
13:31 <micmus> m1dnight_: elixir compilation goes basically like this: Elixir Source -> Elixir AST -> Erlang AST -> Erlang Core -> BEAM assembly -> BEAM bytecode
13:31 <fishcakez> micmus: the defaults are changing in 1.5 at the moment to crash on everythign except init/1
13:31 chriswarren joined
13:31 <m1dnight_> Oh, so the Erlang Core is a subset of erlang that can be compiled by erlc? correct?
13:31 <micmus> it's a separate, much simpler language
13:31 <micmus> LFE compiles directly to core
13:31 <fishcakez> micmus: maybe we will change the plans based n feedback there
13:31 <m1dnight_> I think I have the spec about that lying around here somewhere.
13:32 <micmus> fishcakez: I had in mind, mostly sharing our experience there and why we decided to change the defaults
13:32 <OliverMT> has there even been a discussion to make an elixir replacement for cowboy?
13:32 <fishcakez> micmus: oh sorry i thought you meant adding comments to our docs
13:33 <OliverMT> or is the plug abstraction deemed to work so well it would be just work for the sake of working?
13:33 <OliverMT> the only worry I have about phoenix is that it leans on cowboy that has one single developer doing all maintenance and dev :p
13:34 <fishcakez> there are other erlang webservers that can be used directly
13:34 <OliverMT> isnt cowboy considered the gold standard?
13:34 <fishcakez> im not sure there is a need for an "elixir" replacemenr
13:34 <OliverMT> phoenix uses ranch as well
13:34 <fishcakez> elli is the gold standard imo
13:34 <fishcakez> so opinion vary
13:35 <OliverMT> aha
13:35 <fishcakez> but plug has adapters
13:35 <fishcakez> and cowboy is open source
13:35 <OliverMT> I am still amazed at Plug
13:36 <fishcakez> so im not sure its an issue until its issue and then its much easier for someone else to take over
13:36 <OliverMT> I think its one of the best abstractions I have met in my entire professional career
13:36 <fishcakez> than write an webserver
13:36 <harfangk> can i do binary comprehension with index/counter?
13:36 <fishcakez> s/takeover/fork
13:37 areski joined
13:39 <fishcakez> im looking forward to when it uses cowboy 2 so it fixes conn state issue
13:39 nomicflux joined
13:40 chriswarren joined
13:41 alexlourenco joined
13:41 <OliverMT> fishcakez: I ended up scrapping using genserver for ranch btw :P
13:41 <OliverMT> the worker model just sending messages to a genserver after some easy binary filtering was a lot easier
13:42 <OliverMT> which I will change to sending messages to a genstage producer if I need to parallellize
13:42 pcre joined
13:42 <fishcakez> OliverMT: oh no I should have said the webserver i wrote was the gold standard :P
13:42 <fishcakez> ah thats good
13:47 hahuang61 joined
13:49 chriswarren joined
13:53 Guedes joined
13:58 chriswarren joined
14:03 goyox86_ joined
14:07 chriswarren joined
14:08 <gazler> hippo webserver <3
14:09 <gazler> OliverMT: I have had plug phoenix working with cowboy 2 btw based on the work that potatosalad did
14:09 <gazler> that should be plug and phoenix btw
14:10 rschmukler joined
14:10 ramortegui joined
14:11 <gazler> Since both are very configurable, no forking was required - just libraries and a small config change.
14:11 mpsag joined
14:12 <m1dnight_> I am writing a simple webservice that requires some local data. So when you setup the application you would need to read in that data from disk. Would I make a mix task to do this? Or at a startup phase? I want to read lines from a textfile and then insert those in the database for phoenix to server.
14:12 codestorm joined
14:20 <josevalim> m1dnight_: if you need to do it once, then it is a mix task that you run on your first deploy
14:21 <m1dnight_> Yeah, only once. Concretely: I want to populate the database with all the Fortune files found on the OS.
14:22 definiv joined
14:25 gvaughn joined
14:25 <r00tl3ss> Do I have to do something to I can see my local dev server on machines in the same network?
14:25 gokr joined
14:26 <r00tl3ss> as in, open the site with 192.168.0.22:4000 from another machine
14:26 <OliverMT> m1dnight_: if you need to distribute these files in your release, what about just doing it in a migration?
14:26 <OliverMT> ensures that it runs only once per database as well
14:26 <m1dnight_> I don't want to distribute them on porpuse
14:27 <m1dnight_> But they should be present on most distros, or after a package install, so then I can just import thenm
14:27 <m1dnight_> them*
14:27 spinningtopsofdo joined
14:27 chriswarren joined
14:27 <m1dnight_> I also only have one day of experience with phoenix so Im still learning :p
14:28 <micmus> phoenix has the concept of a seed task
14:28 io_bora joined
14:28 <micmus> this is basically just running a script file
14:28 <micmus> you could put your logic there
14:29 <micmus> by default it's in priv/repo/seeds.exs
14:29 <OliverMT> I am a big believer in having any kind of seed be tied to a migration
14:30 <OliverMT> its the only guarantee you have that your data is imported once only
14:30 <OliverMT> or not the only one, but its an easy one
14:31 z1mvader joined
14:36 chriswarren joined
14:36 gokr1 joined
14:40 jhack joined
14:40 PaReeOhNos joined
14:41 <whodidthis> how do i check or pattern match if list a starts with [1,2,3]
14:43 alexlourenco joined
14:43 <OliverMT> [1,2,3 | _] = foo
14:43 <OliverMT> or
14:43 <OliverMT> [1,2,3 | rest ] = foo
14:43 <OliverMT> if you want to bind the remainder
14:44 <OliverMT> if its just a check, you can do Kernel.match?
14:45 cemilowski joined
14:45 chriswarren joined
14:45 wiesel joined
14:49 mitchellhenke joined
14:52 Gringill joined
14:54 chriswarren joined
14:55 <whodidthis> woops right, i mean how do i check if list a starts with b
14:55 <whodidthis> and b is list
14:56 rschmukler joined
14:58 Guest67 joined
14:59 danecando joined
15:00 craigp joined
15:00 maxbeizer joined
15:04 chriswarren joined
15:05 <micmus> I don't think you can with pattern matching if the initial list is in a variable
15:06 codestorm joined
15:11 hylh joined
15:12 <whodidthis> gotta do some enum.takes instead
15:14 <nox> OliverMT: Or [1, 2, 3] ++ _ = foo
15:15 <nox> josevalim: There is no http://erlang.org/doc/man/lists.html#prefix-2 in Elixir stdlib,
15:15 <nox> ?*
15:17 nd__ joined
15:20 racycle joined
15:22 <whodidthis> oh noice, prefix
15:22 renanoronfle joined
15:23 <renanoronfle> anyone can answer if this works with ecto 2 http://blog.plataformatec.com.br/2015/08/working-with-ecto-associations-and-embeds/
15:24 gvaughn joined
15:25 <josevalim> renanoronfle: it does
15:25 <josevalim> it is right there in the article:
15:25 <josevalim> Note: this article has been updated to Ecto 2.0 by using the new cast_assoc and cast_embed APIs.
15:25 <josevalim> :)
15:25 elbow-jason joined
15:27 <renanoronfle> humm i ask because i update my project to acto 2 and now when i try delete association i got error no case clause matching: :raise
15:32 gvaughn joined
15:33 rschmukler joined
15:38 droid joined
15:41 Haydos joined
15:41 Haydos joined
15:43 alexlourenco joined
15:44 goyox86__ joined
15:45 jhack joined
15:48 rschmukler joined
15:49 hahuang61 joined
15:51 rschmukler joined
15:52 raycoll joined
15:53 icecreamcohen joined
15:54 celyr joined
15:55 <celyr> Hi!
15:56 elixir joined
15:56 <elixir> why shall I learn Elixir?
15:56 refriedchicken joined
15:56 <celyr> I don't think that there is anyone here willing to answer any answer :P
15:57 <elixir> Why should I stop using my current language and switch to Elixir?
15:57 <elixir> What are the reasons to do so? Why does Elixir exist?
15:58 <celyr> you forgot to ask what is the meaning of life I guess
15:59 <elixir> Fuck off!
16:00 <celyr> Lol
16:01 <ciawal> wow
16:01 codestorm joined
16:01 <elixir> Answer the damn questions.
16:01 <ciawal> why should we when you talk like that?
16:02 <celyr> Well, put aside that you are a bit impolite I'm actually here to seek answers as well so I'm not in the spot to give you any answer
16:02 <elixir> because I am the one who gives a little care about elixir when nobody else does.
16:02 <ciawal> lol
16:03 <elixir> Seriously, functional syntax is very confusing and difficult.
16:03 <elixir> Sucks
16:03 <ciawal> don't let this guy dissuade you from asking your question, celyr
16:04 <marceldegraaf> elixir: if you don't like it, program in another language?
16:04 <elixir> marceldegraaf, yes! That sounds smart.
16:05 <celyr> Well, I have to develop a very small project. It's a web application and few months ago I would have done it in PHP because it's trivial. Anyway since I've started to play with elixir I tought to give a try to Phoenix.
16:05 <elixir> celyr, yes what?
16:06 <celyr> It's just a textbox and a SELECT to a firebird database. What I'm asking to myself is if phoenix+elixir is the way to go if it can do the job or if I'll be stuck
16:06 <celyr> Like in the fact that there is an apparent lack of drivers for Interbase\Firebird
16:06 codestorm joined
16:07 <elixir> celyr, no you typed my nickname
16:07 <ciawal> I've never heard of firebird
16:07 <marceldegraaf> celyr: doesn't look like there is a driver for Firebird in Elixir
16:07 <ciawal> google shows an erlang driver which you can easily use from elixir
16:07 <ciawal> but without an ecto driver following tutorials would be less easy
16:07 <marceldegraaf> I wonder how that integrates with Ecto though?
16:08 <ciawal> if you could use another database instead it would be a lot simpler
16:08 <celyr> Well i tought i could just ignore ecto completely since I don't need any persistence and just use: https://github.com/nakagami/efirebirdsql directly
16:08 <elixir> Why is everyone types my nickname?!
16:08 <celyr> is this feasible ?
16:08 alex88 joined
16:08 <nox> elixir: "Seriously, functional syntax is very confusing and difficult." what?
16:09 <ciawal> celyr: correct, you could, it's just that phoenix tutorials will likely use ecto
16:09 <ciawal> so you'll have to diverge there
16:09 <nox> Oh never mind, you are a troll. 👍
16:09 <ciawal> you'll also miss out on the ORM layer
16:09 <elixir> nox, elixir and functional programming are difficult
16:10 <gazler> elixir the person certainly is.
16:10 <nox> Learn something else then if you don't like it. Problem solved.
16:10 <ciawal> I think it's probably the person benwilson512 already banned recently
16:10 <icecreamcohen> celyr: is there a reason you’re using this database?
16:10 <ciawal> are you required to use firebird for this celyr?
16:11 <marceldegraaf> celyr: you _could_ skip Ecto but I'm not sure if that's going to be fun, given you're new to the language and the framework
16:11 <celyr> Yes, it's the production database of the business I'm working for
16:11 <marceldegraaf> Most of the tutorials/examples won't work for you in that case
16:11 <celyr> so I can't change it
16:12 <elixir> Is an Elixir program as fast as C?
16:12 karmajunkie joined
16:12 <micmus> no
16:12 <ciawal> it would be entirely feasible, celyr, but not the nicest way to learn Phoenix
16:13 <celyr> ciawal: You say this because I'll have to hack something or just because the tutorials won't apply ?
16:14 <ciawal> the tutorials won't apply, and you'll need to interact with an erlang lib
16:14 <ciawal> which although very straightforward is maybe a confusing way to learn
16:14 <nox> celyr: Are you French?
16:14 <ciawal> you'll also have no ORM layer which is what Ecto gives, but if the project is as simple as you say that might not be an issue
16:14 <celyr> nox: Italian, sorry for the low quality english :)
16:14 cdg joined
16:14 <nox> celyr: No problem!
16:14 <nox> celyr: Just asked because you put spaces before your question marks, not because your English was bad. :)
16:15 <icecreamcohen> celyr: your english is great.
16:15 elixir left
16:15 <nox> Yep.
16:15 <celyr> It's really super easy, and this is the reason I'm committing it to elixir.. Because if I fail I can rewrite it in a language that I know in few hours
16:16 <celyr> But I've the feeling that if I don't start to use it in a real case scenario I'll never start to
16:18 <celyr> I tought that the best way to do it was to first develop the web side as a page showing just a textbox and handling the request... I can do this even following blindly the tutorials, then I'll start writing the query to the database. At this point I hope I'll be able to put things together...
16:18 <marceldegraaf> celyr: what I normally do with these things is take 1-2 hours to try something out and see if it's feasible. That is usually enough time to decide if it's going to work, but not too much time wasted if it doesn't
16:19 <ciawal> celyr: if you have phoenix set up you can do this: mix phoenix.new --no-ecto your-project-name
16:19 <icecreamcohen> celyr: If I were you, I’d play along with the tutorials at home until you had a little operational knowledge, then you can try and integrate the database stuff.
16:19 <ciawal> note the --no-ecto which is what the tutorial won't show
16:19 <marceldegraaf> In your case I'd start with the database part because that's the hardest. See if you can get that Erlang driver for Firebird working from a simple Elixir script
16:19 <ciawal> this will set up an empty phoenix project you can play with
16:19 <celyr> Well I've already set up phoenix
16:19 <marceldegraaf> Haha, two exactly opposite advices from me and icecreamcohen
16:19 <celyr> with no ecto and also no brunch
16:20 <icecreamcohen> marceldegraaf: I’m just hedging the bets a little.
16:20 <icecreamcohen> I agree with you though.
16:20 <marceldegraaf> And I with you <3
16:20 <icecreamcohen> I just didn’t want celyr to get bogged down with the details of using an erlang driver in an Elixir project
16:21 <marceldegraaf> I have no idea how hard that is, never used an Erlang lib from Elixir
16:21 <icecreamcohen> before he/she had any grasp on elixir.
16:21 <marceldegraaf> Yeah, that sounds like a sane idea
16:21 <icecreamcohen> marceldegraaf: generally pretty easy, unless you deal with strings, then you need to know about single quotes
16:22 Guest67 joined
16:23 cdg_ joined
16:24 <icecreamcohen> celyr: I’m looking at the erlang driver, and if you want to use this in production, you’ll have to provide your own pooling as well. Not super hard, but not an absolute beginner thing either.
16:25 goyox86_ joined
16:25 jerel joined
16:29 Guest67 joined
16:30 s_kilk joined
16:30 jhack joined
16:32 <fishcakez> micmus: I replied for you
16:33 PaReeOhNos joined
16:35 tuacker joined
16:36 <celyr> icecreamcohen: What do you mean you own pooling ?
16:37 <celyr> icecreamcohen: Can't I just throw a query at it and expect back a result ?
16:37 <icecreamcohen> celyr: Yes sure; but I’m assuming you have more than one user ;)
16:37 <icecreamcohen> so, if you do, you’ll need to maintain a pool of connections to the database
16:38 <icecreamcohen> when each request comes in, you pull a connection from the pool and execute a query using it, then return it to the pool.
16:39 <celyr> icecreamcohen: Well I think I can use one connection only
16:39 <celyr> icecreamcohen: there will be like 1-2 request every 5 seconds
16:39 <icecreamcohen> celyr: you can certainly start out that way, yes.
16:39 <celyr> icecreamcohen: just because it seems easier... And I think that It's better than opening a connection every time anyway
16:39 <schaary> I want in my project that not implemented tests should be signed as pending. So I write the line `ExUnit.configure(trace: true, exclude: [pending: true])` in the test_helper file but it does not work as expected. trace: true works, but my not implemented tests are still shown as failed. How can I improve the configure statement"
16:39 bigkevmcd joined
16:39 <schaary> ?
16:40 <icecreamcohen> celyr: I’m not suggesting you open a connection per request ;)
16:41 <fishcakez> if my talk for EUC gets accepted and you are attending, you will get to see an Elixirist tell a bunch of Erlangers they are all doing things (connection pooling) completely wrong :)
16:42 <icecreamcohen> I’m going for sure.
16:42 <icecreamcohen> fishcakez: what’s completely wrong in this case?
16:42 <fishcakez> they didnt use sbroker ;P
16:43 <icecreamcohen> fishcakez: you probably told them not to!
16:43 <fishcakez> haha
16:43 <icecreamcohen> schaary: I’m assuming you want some indication that a test is pending?
16:44 <schaary> yes
16:44 <icecreamcohen> like a P printed out when they run?
16:44 <icecreamcohen> (I don’t know how to do that, unfortunately)
16:44 <schaary> I have a lot of test "foo bar" lines in my code
16:44 <icecreamcohen> you can do: test “foo bar”, do: IO.write(“P”)
16:45 <fishcakez> do you want to `exclude: [:not_implemented]` ?
16:45 <schaary> when I start the tests with `mix test --exclude --not_implemented` it works
16:45 <micmus> fishcakez: <3 for the comment in OTP PR
16:45 <schaary> fishcakez: I will try
16:45 <icecreamcohen> ah, in that case, fishcakez’s comment is what you want.
16:45 <icecreamcohen> I thought you wanted some artifact that a test was pending during the run.
16:45 root__ joined
16:45 <fishcakez> it will say X skipped
16:46 <icecreamcohen> yeah, other frameworks will print something like “…S….”
16:46 <schaary> thanks guys - it works ;)
16:47 root__ joined
16:47 <icecreamcohen> schaary: https://hexdocs.pm/ex_unit/ExUnit.Case.html#test/1 <- that’s where the :not_implemented comes in
16:47 lopex joined
16:48 <celyr> Tickets for the conference are "not cheap" :P
16:49 <icecreamcohen> cheap, good, fun, pick two.
16:49 root__ joined
16:50 root__ joined
16:50 <celyr> icecreamcohen: are you going to the conference ?
16:50 <icecreamcohen> yes
16:51 nonis joined
16:51 <icecreamcohen> We’re sending two, possibly, three people.
16:51 <micmus> euc and eef must be extremely good and extremely fun, then :P
16:51 <icecreamcohen> I’m a fan of barcelona
16:51 nonis joined
16:51 <icecreamcohen> Haven’t had good boqueones in five years.
16:51 wsieroci joined
16:52 <micmus> ElixirConfEU is going to be awesome, especially one workshop :D
16:52 <icecreamcohen> yours?
16:52 <celyr> icecreamcohen: So I guess you are from Spain ?
16:52 <icecreamcohen> I’m 1/4 spanish, but I’m from the USA.
16:52 <micmus> icecreamcohen: yup :D
16:53 <icecreamcohen> celyr: I’m also a HUGE fan of italy.
16:54 <celyr> icecreamcohen: Do you mean the italian soccer team ?
16:54 <icecreamcohen> Not really; the food, culture, and country.
16:55 <icecreamcohen> I think it’s my favorite place in Europe so far.
16:55 <celyr> Oh I see, where have you been ?
16:56 <icecreamcohen> Rome, Parma, Sienna, Firenze, Milan.
16:56 <icecreamcohen> I need to go skiing there too.
16:56 <celyr> I live near Venice
16:56 <icecreamcohen> Haven’t been there yet.
16:56 <icecreamcohen> How’s the food?
16:57 <celyr> but if you have to go skiing I would suggest Aosta
16:57 <celyr> You can find very good food, it's just a matter of finding it
16:58 <icecreamcohen> Agreed; my italian consists mainly of spanish :-/
16:58 racycle joined
16:58 <fishcakez> icecreamcohen: ah I meant at the stockholm one
16:58 <celyr> Also it depends on your tastes, if you like more the domestic kind of dishes or if you enjoy that kind of revisited local cousine of some very good resturants
16:59 <icecreamcohen> celyr: I’m pertty partial to regional foods; I’ll eat anything. I loved Parma for that reason.
17:00 <icecreamcohen> fishcakez: send a video then; I await the shock
17:00 <celyr> So you will have a lot of fun :)
17:00 codestorm joined
17:00 <icecreamcohen> We always do in Italy.
17:00 <celyr> I've never been in the states
17:01 <icecreamcohen> come by and I’ll take you on a tour. Right fishcakez ?
17:01 <fishcakez> right, he'll even hire a friendly chauffeur
17:01 <celyr> ahahah
17:01 <icecreamcohen> And I’ll keep you out to 1 AM on a weekday.
17:02 amclain joined
17:02 <celyr> Well, it's friday
17:03 <celyr> I'll study over the weekend for that small project, I'll eventually return back with question on Monday. Thank you very much for your support
17:04 refriedchicken joined
17:04 <celyr> Have a nice day!
17:04 <fishcakez> good luck
17:05 <icecreamcohen> have fun, cely
17:05 <icecreamcohen> celyr, even.
17:06 mattyw joined
17:09 agit0 joined
17:12 fhunleth joined
17:13 PaReeOhNos joined
17:13 davidw joined
17:14 PaReeOhNos joined
17:14 MoskitoHero joined
17:14 PaReeOhNos joined
17:15 PaReeOhNos joined
17:16 PaReeOhNos joined
17:17 PaReeOhNos joined
17:17 definiv joined
17:17 PaReeOhNos joined
17:18 PaReeOhNos joined
17:19 PaReeOhNos joined
17:19 nd__ joined
17:20 PaReeOhNos joined
17:20 goyox86 joined
17:21 PaReeOhNos joined
17:21 PaReeOhNos joined
17:22 PaReeOhNos joined
17:22 DFilipeS joined
17:23 <alisdair> can i use ecto without using repo (or without writing my own adapter)? i just want to get sql statements and parameters out of it
17:23 <alisdair> i can't really find an entry point for just passing a query and params to a function and getting that back
17:23 PaReeOhNos joined
17:23 <micmus> adapter is the one responsible for generating the sql
17:24 definiv joined
17:24 PaReeOhNos joined
17:24 <alisdair> right but i mean it seems like adapter is only used from within repo, there's no way for me to pass a query struct to the adapter directly that i can find
17:25 PaReeOhNos joined
17:25 <fishcakez> Does to_sql allow it?
17:25 <fishcakez> It's in Adapters.SQL
17:25 <micmus> to_sql would work, but it needs the repo as well
17:26 PaReeOhNos joined
17:26 <micmus> the repo is responsible for massaging the query before passing it onto the adapter
17:26 PaReeOhNos joined
17:26 <fishcakez> Right but repo is ok just not connected pool?
17:27 <alisdair> can i have a null repo like that? there's nothing i could find in the docs about setting up a repo that isn't also an active connection pool
17:27 <fishcakez> I think there is couple libraries just doing SQL syntax
17:27 PaReeOhNos joined
17:27 <nox> Which SQL? :)
17:27 <alisdair> i'm using spark sql, and i want to use ecto to generate my queries dynamically before submitting them to a cluster
17:28 <alisdair> but ecto is not really cooperating
17:28 <fishcakez> nox: it depends on adapter
17:28 <alisdair> nox: sql92, the only one that matters if you ask the hadoop world :(
17:28 PaReeOhNos joined
17:28 <fishcakez> I think the other libs do postgres
17:29 rschmukler joined
17:29 PaReeOhNos joined
17:29 <micmus> if you don't put the repo in supervision tree, it won't be started
17:29 mhib joined
17:29 PaReeOhNos joined
17:30 <micmus> the adapters generate the db-specific flavour of sql, so it may also be a problem for you
17:30 craigp joined
17:35 <alisdair> postgres is really close
17:35 <alisdair> i'm only generating SELECT ... statements too, so it's mostly just plain sql92
17:36 craigp joined
17:38 hahuang61 joined
17:39 rschmukler joined
17:41 pbrooko joined
17:41 jhack joined
17:43 milad joined
17:43 alexlourenco joined
17:46 definiv joined
17:48 trusion joined
17:48 pbrooko joined
17:50 rschmukler joined
17:51 ramortegui joined
17:53 meh` joined
17:54 codestorm joined
18:00 codestorm joined
18:00 rschmukler joined
18:11 definiv joined
18:11 rschmukler joined
18:16 gokr joined
18:17 dimitarvp joined
18:17 Guedes joined
18:19 ramortegui joined
18:20 icanhazbroccoli joined
18:24 FIFOd joined
18:25 definiv joined
18:27 rschmukler joined
18:29 <OliverMT> micmus: want to see an abomination?
18:29 codestorm joined
18:30 <OliverMT> I've been meaning to post this on the elixir forum as an example of what happens when you need a feature done before you have time to learn ecto dsl properly .D
18:32 milad joined
18:33 PaReeOhNos joined
18:33 <OliverMT> I am finally, after about 1.5 years revisiting it to try to make it more idiomatic elixir
18:33 <OliverMT> https://gist.github.com/olivermt/6f5ae57a09508e92a0ee468ec4ad79aa
18:34 <notriddle> About :lists.prefix, would something like https://gist.github.com/notriddle/2f6ccb656aaca88b086beb415014e942 make a good PR to add it to Elixir's standard library?
18:34 <notriddle> It's generic for any Enumerable.
18:34 <OliverMT> iex> Enum.starts_with?([:alpha], [])
18:34 <OliverMT> true
18:34 <OliverMT> is that a typo or am I not getting what the api is
18:35 PaReeOhNos joined
18:35 cemilowski joined
18:36 <notriddle> Not a typo.
18:36 <notriddle> The list [:alpha] does, indeed, start with the empty list.
18:36 goyox86 joined
18:36 <notriddle> Same way [1, 2, 3] starts with [1, 2], but as a degenerate case.
18:37 <* notriddle> might have been better off just using numbers for all of it.
18:37 <OliverMT> oh I was reading the api the wrong way around
18:37 wsieroci joined
18:38 <notriddle> The prefix has to be a list, while the haystack can be any enumerable. Since this is the Enum module, I figured the enumerable should go first.
18:39 montanonic joined
18:39 mhib joined
18:48 squallstter joined
18:50 milad joined
18:52 Cohedrin joined
18:57 wsieroci joined
18:58 josevalim_ joined
18:59 mattyw joined
18:59 codestorm777 joined
19:01 rschmukl_ joined
19:02 definiv joined
19:02 angersock joined
19:03 <angersock> afternoon folks!
19:03 <angersock> Question...is there any compelling reason to keep timex or calendar around after 1.3 has arrived with DateTime?
19:05 <adamkittelson> the date stuff in 1.3 provides structs to unify the data type used by dates, but provides very few functions using those data types, a lot of functions using them would still come from timex or calendar if you need them
19:05 <micmus> OliverMT: aaaaaaaaa!!! :D
19:05 <elbow-jason> some time detlas and other functionalities are easier to deal with in Timex
19:05 <* micmus> runs away and hides
19:08 lexmag joined
19:09 goyox86 joined
19:13 craigp joined
19:16 d10n-work joined
19:20 <OliverMT> micmus: the main problem I need to figure out that is needed to translate that thing is how to compose using named joins
19:21 <OliverMT> if I do an optional |> left_join(...) how do I refer specifically to that join alias in a later where
19:21 <OliverMT> or outside of the api way, how can you do that with keywords
19:21 <OliverMT> I have about 10 bookmarks gathered over the last year to tackle this
19:22 <laut> @angersock yes, if you need time zones. Which you do if you need to validate non-UTC datetimes
19:22 davidw joined
19:24 Guedes joined
19:24 Guedes joined
19:26 <elbow-jason> OliverMT: I too have tried to do that to no avail
19:27 codestorm joined
19:29 <OliverMT> elbow-jason: elaborate please
19:30 <OliverMT> it is one of the very very few things I miss from spring, the groovy dsl for hibernate criteria queries made it incredibly powerful in optional query composition
19:31 <elbow-jason> i have no been able to access the `w` in the example `from(w in Word)` if I go outside the `from` which keeps me from composing some queries the way i would like to
19:31 unlaudable joined
19:31 <micmus> joins are positional in ecto, not named
19:32 <micmus> This has advantages and disadvantages, but "it is what it is" - at least for now.
19:33 <micmus> In case of complex queries involving multiple joins, you can join all the tables upfront - this makes you know where the particular table will be in subsequent queries when composing
19:35 <elbow-jason> I’ve only run into this issue twice so it’s not a huge deal for me. I just had to be a little more verbose in the query in question
19:35 nd__ joined
19:37 <OliverMT> I think that will end up as less readable than my binary composition above tbh
19:38 PaReeOhNos joined
19:38 <OliverMT> I did some quick profiling and the actual query building is less than 5% of the execution time anyways
19:38 teilert joined
19:40 edgurgel joined
19:40 uhrovat joined
19:40 <micmus> One advantage with ecto may be that ecto will prepare the queries and cache them for reuse, so you only do query planning once in database
19:42 <elbow-jason> is that in reference to the engine that picks how to do a query?
19:43 goyox86 joined
19:44 <micmus> well, the planner will choose how to do the query - what indexes to use, how to do joins, etc
19:49 <OliverMT> I seem to remember that ericmj said postgrex does query cache on the binary level
19:49 <OliverMT> but I might be misremembering that
19:49 <OliverMT> doesnt it go from ecto to binary before postgrex gets it?
19:52 <micmus> it might be... I know that ecto has it's own cache too
19:54 milad joined
20:01 ur5us joined
20:02 areski joined
20:07 srxa joined
20:13 ZippoWeb2 joined
20:15 davidw joined
20:19 danecando joined
20:26 danecando joined
20:27 mitchellhenke joined
20:32 rschmukler joined
20:33 <codestorm> any thoughts on GraphQL vs jsonAPI for Phoenix?
20:34 <angersock> codestorm, maybe stop being a hipster and just write your APIs manually?
20:34 <angersock> <3
20:34 angersock left
20:35 <OliverMT> haha
20:35 <codestorm> helpful!
20:35 <OliverMT> even with benwilson512 speaking warmly about it, I am still not at all convinced graphsql really solves anything as opposed to just moving the complexity
20:35 <OliverMT> hieararchical ACL especially just seems to be more confusing
20:38 tomaz_b joined
20:42 cmk_zzz joined
20:44 PaReeOhNos joined
20:44 alex88 joined
20:46 wsieroci_ joined
20:46 maxbeizer joined
20:47 io_bora joined
20:47 <codestorm> seems like jsonapi and graphsql just gives more granular control of what you are requesting. I haven't looked into either too much
20:47 <codestorm> seems like a nice alternative to REST
20:50 <benwilson512> OliverMT: hey!
20:50 <OliverMT> ho
20:50 <OliverMT> !
20:50 <codestorm> let's go!
20:50 <benwilson512> :D
20:51 <benwilson512> OliverMT: honestly it sort of depends on what you mean by "the" complexity
20:51 <benwilson512> the way I see it there are 3 kinds of complexity a given controller action is trying to manage
20:51 <OliverMT> I think my main gripe is that it sort of obfuscates the inherent acl and ownership hierarchy
20:52 <benwilson512> the HTTP connection itself, basic validity checks on inputs, and then using those to actually get the stuff
20:52 <benwilson512> graphql definitely moves those pieces of complexity apart, but my argument is that those bits of complexity are much simpler when not intertwined with one another
20:52 <benwilson512> OliverMT: I'm curious how it obfuscates hierarchy
20:52 <benwilson512> given that the query language is itself hierarchical
20:53 <OliverMT> sorry, been a long day
20:53 <OliverMT> I mean ownership hierarchy
20:53 <benwilson512> no worries
20:53 <benwilson512> the ownership of what by whom? sorry I'm not following
20:53 <benwilson512> long day here as well :)
20:53 <OliverMT> to be honest, I struggle a little to explain what I feel is wrong
20:53 <OliverMT> it just doesn't feel right
20:53 <OliverMT> :D
20:53 <benwilson512> fair enough
20:53 <OliverMT> it is a lot of work to go to graphsql without having a MAJOR benefit
20:53 <benwilson512> codestorm: did you have any particular questions?
20:53 <OliverMT> I agree with most of the smaller ones
20:54 <OliverMT> it makes prototyping a helluva lot faster it seems for one
20:54 <benwilson512> OliverMT: see there's where I disagree. It's honestly been no more effort than REST and is often less
20:54 <OliverMT> I mean a lot of work to understand a new paradigm
20:54 <OliverMT> not the actual typing
20:54 <benwilson512> ah
20:54 tomazb joined
20:54 <OliverMT> I think I am also using api design as a way to drive the business development in my company
20:55 <benwilson512> ok
20:55 <OliverMT> I am the architect and do some parts of backend impl
20:55 <OliverMT> then our frontend guys make the shiny pieces the end user sees
20:55 <benwilson512> FWIW we've found graphql query documents an exceptionally great way for different teams to come together and talk about what data an API should expose
20:55 <benwilson512> or how that data relates to one another
20:55 <OliverMT> I havent written it off completely
20:55 <benwilson512> you gonna be at elixirconf eu?
20:56 <OliverMT> mostly I think I should have a look at it when I actually have time to dig deep
20:56 <OliverMT> maybe, I am sending haste at least
20:56 <* OliverMT> pokes haste
20:56 <OliverMT> he's my backend amigo
20:56 <benwilson512> awesome! I'll be giving a talk there that's a bit more hands on than my previous one
20:56 <benwilson512> we'll be walking through building a graphql API that wraps a REST api
20:56 <OliverMT> we have a 2nd baby arriving within a few weeks, so I'll see if the house is in order enough for me to go :D
20:56 <benwilson512> with some suplementary postgres stuff
20:56 <benwilson512> congratulations!
20:57 <benwilson512> yeah that's a pretty good excuse ;)
20:57 <OliverMT> but now, time to play some overwatch with said backend amigo before bedtime
20:57 <OliverMT> have a good weekend everyone
20:57 <benwilson512> ah nice
20:57 <codestorm> no specific questions, just looking for a general sense of preference. And may whether one or the other is further evolved in the elixir world
20:57 <benwilson512> you too!
20:57 <codestorm> may=maybe
20:57 <benwilson512> codestorm: there are packages for both on hex, I'm one of the authors of http://absinthe-graphql.org/
20:58 <codestorm> oh, cool!
20:59 <benwilson512> there is a lot of activity around graphql in the elixir community, although in fairness I think i'd say it's still more common to see json api used; it's a much smaller leap from regular rest
21:00 jhack joined
21:00 rschmukler joined
21:01 <codestorm> if graphQL is a bigger leap, what additional benefits does ithave?
21:02 srxa joined
21:02 <codestorm> and btw, the project we're working on will be build from the ground up
21:02 montanonic joined
21:03 <benwilson512> unfortunately I've gotta run but
21:03 <benwilson512> I did do a talk at the last conference that may be helpful
21:03 <benwilson512> the audio is pretty bad though unfortunately
21:03 <codestorm> benwilson512: I'll do some more research and hit you up next time, thanks for the help today
21:03 <benwilson512> no problem
21:03 <codestorm> I'll look for it
21:03 <codestorm> (the talk)
21:03 r00tl3ss joined
21:04 <benwilson512> http://confreaks.tv/videos/elixirconf2016-no-rest-for-the-wicked-building-a-graphql
21:06 axiomiety joined
21:06 drewolson joined
21:08 rschmukler joined
21:18 rschmukler joined
21:19 markholmes joined
21:20 ur5us joined
21:23 <micmus> laut, bitwalker since all timex, calendar and ecto use the new types, would it make sense to add a add a notice to calecto and timex_ecto that they usually are not needed now?
21:24 <bitwalker> micmus: could do, though I think they are still needed for DateTimes
21:24 <micmus> yeah, for a true datetime with a timezone
21:25 <micmus> I wonder if we could get a common package just for that - it doesn't seem to be a need to differentiate at that level. It would just provide an ecto type and a migration
21:26 isHavvyGhosting joined
21:27 danecando joined
21:29 webdev007 joined
21:29 <bitwalker> it could be a single package with tzdata as a dep, yes
21:29 mholmes joined
21:29 <bitwalker> I'm all for moving that direction
21:31 ur5us joined
21:41 srxa joined
21:41 <laut> @micmus See https://github.com/lau/calecto/issues/30#issuecomment-274300302 Yes I want to do a new Calecto release with deprecation warnings to help people migrate to the new Ecto 2.1 types. Calecto would only be used for saving non-UTC DateTimes then.
21:43 <laut> @micmus and probably that version of Calecto would not need to depend on the Calendar package - just Ecto 2.1+ and Elixir 1.3+
21:44 <micmus> that would be ideal - to have only the type and a postgres migration without extra deps.
21:44 mloy joined
21:44 <laut> @micmus well maybe it would need a future version of Elixir that can do time zone stuff with only tzdata as a dependency
21:44 <laut> Elixir 1.5 might have that
21:45 <micmus> yeah, I think tzdata is fine - you'll going to end up with it anyway, if you want to do anything with timezones
21:45 <micmus> and if you want to save datetime with a timezone, you clearly want to do stuff with timezones.
21:45 <laut> yeah
21:46 srxa joined
21:47 milad joined
21:47 nd__ joined
21:48 PaReeOhNos joined
21:49 edmz joined
21:54 danecando joined
22:05 tomaz_b joined
22:06 ZippoWeb2 joined
22:20 r00tl3ss joined
22:25 travis-ci joined
22:25 <travis-ci> elixir-lang/elixir#13517 (master - 604c24d : Andrea Leopardi): The build passed.
22:25 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/9d2263a9b393...604c24dd2e86
22:25 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/202788393
22:25 travis-ci left
22:29 maxbeizer joined
22:43 chriswarren joined
22:44 chriswarren joined
22:44 chriswarren joined
22:45 chriswarren joined
22:46 chriswarren joined
22:47 <smeevil> o/
22:47 chriswarren joined
22:48 chriswarren joined
22:48 chriswarren joined
22:49 josevalim joined
22:49 ur5us joined
22:51 PaReeOhNos joined
22:58 Dakora joined
22:58 io_bora joined
22:58 chriswarren joined
22:59 <Dakora> hey, i'm trying to implement a many_to_many relationship between tables, however i get https://gist.github.com/dabaer/e9ca70f2a848812bfac7661a3b1ea7e5 while attempting to migrate the table.
23:00 <Dakora> documentation on the subject simply says that this should be handled by Ecto, and i have used the uuid command line option when generating the phoenix project
23:00 io_bora joined
23:01 <josevalim> can you please paste your migration?
23:01 <josevalim> in gist preferably :)
23:01 <Dakora> josevalim: https://gist.github.com/dabaer/764938322c67265b5a9ad91502cf1c5d
23:02 <josevalim> i think you need to pass a type or something to references
23:02 <josevalim> since the primary key is an :uuid
23:02 <josevalim> https://github.com/elixir-ecto/ecto/blob/master/lib/ecto/migration.ex#L756
23:03 <Dakora> hmm okay, i'll try that, thanks ^^
23:03 teilert joined
23:03 <Dakora> it worked \o/
23:04 <josevalim> awesome, if you think the docs could be clearer, please send a PR :)
23:05 dmin7b5 joined
23:07 definiv joined
23:07 chriswarren joined
23:08 <ivan> why does 'when map_size(value) < 1 or tuple_size(value) < 1' parse if it doesn't work right?
23:09 <ivan> oh, it fails early because of the exception, I see
23:09 <josevalim> ivan: because the job of parsing is not to take care of the semantics
23:09 <ivan> "a failed element means the whole guard fails" confused me
23:09 <josevalim> a type system would have caught it :)
23:16 chriswarren joined
23:17 <smeevil> hi josevalim, was there anything i need to update for the Ecto.Multi.insert_or_update ? i saw you accepted it, but not sure if there is anything i should do now, or if its fine as it is :)
23:19 <josevalim> it should be good. i am just waiting for micmus to review and merge it :)
23:20 <smeevil> ok :)
23:21 <smeevil> have not seen the pr review feature in action as of yet, so just wanted to make sure
23:31 jhack joined
23:33 travis-ci joined
23:33 <travis-ci> elixir-lang/elixir#13518 (master - d09d587 : José Valim): The build passed.
23:33 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/604c24dd2e86...d09d5874a990
23:33 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/202808131
23:33 travis-ci left
23:35 teilert joined
23:40 davidw joined
23:53 PaReeOhNos joined
23:53 systemfault joined
23:56 teilert joined
23:58 pramsky joined
23:59 zv joined