<    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:04 mauricio1 joined
00:07 tetiana joined
00:11 markh joined
00:15 chriswarren joined
00:16 bigkevmcd joined
00:17 cschneid_ joined
00:18 kgkg_ joined
00:22 dm1try joined
00:24 ZippoWeb2 joined
00:31 DLSteve joined
00:32 <iFire> fishcakez: what are you usually around
00:33 <iFire> when*
00:33 chriswarren joined
00:33 <fishcakez> iFire: I am here right now
00:33 <iFire> Ah
00:34 <iFire> Yeah it's weird I don't get the data inside of describe until after I encode and I don't know why
00:34 <iFire> there's a travis setup
00:34 <iFire> so if you want to play around
00:35 <iFire> https://travis-ci.org/fire/snappyex
00:39 sfbw joined
00:40 jbranchaud joined
00:40 pHcF joined
00:41 <fishcakez> iFire: travis isnt telling me why, it just has a call timeout?
00:41 <iFire> what i mean is you can copy the .travis see I've setup the server
00:41 <iFire> Since the problem is a execution time bug
00:42 <fishcakez> ah ok
00:42 <fishcakez> I will have a look in 10mins
00:44 v0j joined
00:45 chrismccord joined
00:47 codestorm joined
00:51 chriswarren joined
00:54 superherointj joined
00:55 jhack joined
00:55 <superherointj> hI.
00:55 <superherointj> Hi.
00:56 <superherointj> http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-or-erlang-is-ghetto.html
00:56 <superherointj> What do you guys think of this article?
00:56 <superherointj> I´m interested in knowing the limits of Erlang/Elixir.
00:57 <jhack> superherointj, there is no limits.
00:58 wtetzner joined
01:01 nahtnam joined
01:01 <ivan> superherointj: we've got structs in elixir so the record problems don't really apply
01:02 Gringill joined
01:03 <ivan> superherointj: copying messages to a process is probably not going to be the bottleneck in an erlang system
01:03 <superherointj> I´m mostly concerned about limits of scalability. And understanding the limitations. For managing state. Or doing immutable DevOps pratices.
01:03 <superherointj> Actually I am having a hard time understanding how Erlang/Elixir does persistence.
01:04 <superherointj> And how the process can be killed and restarted without losing data.
01:04 <superherointj> I could save everything to a database. But is that the way I should be doing it?
01:04 <ivan> superherointj: hard to trust someone who writes 'The only facility provided by the language for dealing with shared state in Erlang is called "Erlang Term Storage"' - you can keep state in a process that just recursively calls itself e.g. an elixir Agent
01:05 <ivan> superherointj: that's the way I do it
01:05 <ivan> postgrex and ecto are good libraries
01:06 <superherointj> Ecto is a client library, right?
01:07 <ivan> https://github.com/elixir-ecto/ecto basically a composable way to write database queries
01:07 <superherointj> So, persistence should be done on database. Not by Erlang own means, right?
01:08 <ivan> e.g. you can write a function that sets up some part of the query and then continue adding more query to it
01:09 <iFire> superherointj: Does anyone actual azul from a pratical point of view?
01:09 <ivan> superherointj: I think some people use mnesia but I have not looked into it
01:09 <iFire> actually use*
01:10 <iFire> it doesn't look to be opensource
01:10 <superherointj> iFire, I don´t know.
01:10 <superherointj> I´ve just started learning Elixir, And I dont want to get into something if not for the long run.
01:10 <ivan> I don't think most applications need an in-memory database unless they're doing tens of thousands of things a second
01:10 <ivan> when I tried DETS it immediately corrupted itself
01:11 <iFire> ivan: I'm playing with inmemory ql databases it's fast
01:11 <iFire> sql*
01:11 <superherointj> But how do you persist it?
01:11 <iFire> superherointj: it's got async writing
01:12 <superherointj> Do you do CI/CD with Elixir?
01:12 <iFire> anyways superherointj I like the community of elixir, if you want pure performance go with c++ or write c/c++ drivers for elixir
01:12 <superherointj> I´m not talking on performance.
01:12 <iFire> superherointj: where are you going with this?
01:13 <superherointj> Sorry?
01:13 <iFire> travis is technically a ci solution
01:14 <iFire> obviously if you know how to shell script you can use jenkins or gocd
01:15 nighty- joined
01:17 <iFire> https://github.com/scylladb/seastar <- this is a interesting C++ performance project
01:19 matcouto joined
01:21 Guedes joined
01:22 <superherointj> Actually I think the main doubt I have is related to use an external database or not.
01:22 <superherointj> Where to store state and persist it.
01:23 <superherointj> I was lead to believe I should do everything even database/state persistence on Erlang.
01:23 <superherointj> I could indeed use an external database.
01:25 <superherointj> WhatsApp use Erlang. Anyone knows which database they use? And how they persist data?
01:27 <alisdair> they use freebsd and mysql
01:29 praveen joined
01:30 duane joined
01:30 MotherFlojo joined
01:30 sfbw joined
01:32 <fishcakez> iFire: sorry forgot what to look for
01:32 <iFire> fishcakez: you might have to come back to me
01:32 <iFire> I'll try to update travis to 0.8
01:33 <iFire> fishcakez: when are you usually around?
01:34 robotika joined
01:34 <fishcakez> you are describing inside prepare
01:34 <fishcakez> thats fine
01:35 <robotika> I've started playing around with phoenix - just wondering if it's possible to get the model name from a changeset?
01:35 <iFire> robotika: it's the name of the struct right?
01:35 <chrismccord> robotika : %name{} = changeset.data
01:36 <fishcakez> iFire: random when not asleep but now is sleep time
01:36 <robotika> chrismccord: awesome, thanks!
01:36 zabirauf joined
01:37 chriswarren joined
01:41 codestorm joined
01:41 luke_nukem joined
01:45 pHcF joined
01:46 <Gringill> Anyone here have an above average understanding of the internals of poison (i.e. hackney)? Got a question regarding recv_timeout.
01:46 <Gringill> httpoison*
01:51 cdg joined
01:54 chriswarren joined
01:55 nomicflux joined
01:55 am55_ joined
01:57 sfbw joined
02:08 seth joined
02:08 alex88 joined
02:13 chriswarren joined
02:13 The-Kid joined
02:16 chrismccord joined
02:19 jbranchaud joined
02:19 cdg joined
02:21 cdg_ joined
02:29 rkazak_ joined
02:30 tomterl joined
02:31 chriswarren joined
02:35 codestorm joined
02:37 johnstorey joined
02:40 justicefries left
02:40 sfbw joined
02:41 wong2 joined
02:42 raycoll joined
02:42 pHcF joined
02:49 chriswarren joined
02:54 myronmarston joined
02:54 <asonge> that thing where typespecs and the erlang docs are out of sync :/
02:55 markh joined
02:56 m_m joined
02:56 hahuang61 joined
02:56 codestorm joined
02:57 v0j joined
03:05 hahuang61 joined
03:07 chriswarren joined
03:10 milad joined
03:14 Duckily joined
03:15 jbranchaud joined
03:16 MotherFlojo joined
03:26 chriswarren joined
03:26 <ryanwinchester> can I put multiple arguments in a protocol method?
03:29 cschneid_ joined
03:37 zabirauf joined
03:39 codestorm joined
03:43 myronmarston joined
03:43 systemfault joined
03:44 chriswarren joined
03:53 racycle joined
03:57 john2x joined
04:02 chriswarren joined
04:12 wilo joined
04:13 john2x joined
04:14 wilo[m] joined
04:20 chriswarren joined
04:21 Svenskunganka joined
04:34 hotpancakes joined
04:38 chriswarren joined
04:50 aniketd joined
04:51 gvaughn joined
04:58 m_m joined
05:00 bambanx joined
05:07 proteusguy joined
05:11 cschneid_ joined
05:16 bambanx joined
05:18 craigp joined
05:24 chriswarren joined
05:32 hotpanca_ joined
05:32 MotherFlojo joined
05:34 chriswarren joined
05:38 zabirauf joined
05:43 chriswarren joined
05:53 chriswarren joined
05:53 arathunku joined
05:54 john2x joined
06:04 dec0n joined
06:10 sfbw joined
06:12 w-t-h_ joined
06:14 nahtnam joined
06:21 johanw joined
06:22 mrus joined
06:25 nithinbekal joined
06:26 voltone joined
06:31 MotherFlojo joined
06:36 MotherFlojo joined
06:37 hotpanca_ joined
06:40 gvaughn joined
06:45 hotpancakes joined
06:47 m_m joined
06:48 pHcF joined
06:48 chriswarren joined
06:54 naldi joined
06:54 <naldi> hi
06:55 <Nicd-> hello
06:55 <naldi> i'm naldi
06:56 <naldi> i wan't ask about elixir & phoenix
06:56 chriswarren joined
06:59 <Nicd-> this is the place :)
06:59 <naldi> ok, iwant make a chat room in my website
06:59 <naldi> but i'm newbie in elixir and phoenix
07:00 hotpancakes joined
07:00 <naldi> can you give me references? how to make it?
07:00 sfbw joined
07:03 <Nicd-> that's a pretty big question
07:03 <Nicd-> have you tried Phoenix at all yet?
07:03 <Nicd-> I think you should start by starting a new project with it and seeing how it works
07:05 <naldi> i'm just search in internet
07:05 <naldi> but i'm confused how to insert my website
07:07 <naldi> i never using phoenix in my program
07:07 <naldi> i'ts the first
07:09 <Nicd-> I think you should start with Elixir then
07:09 <Nicd-> work through the getting started guide and then install Phoenix
07:09 <Nicd-> there's no way to just jump into making stuff if you don't know how
07:10 Cohedrin joined
07:11 <naldi> hemm, i'm ready to install phoenix and elixir
07:12 <naldi> i'm ready too for reading guide in phoenix
07:14 hotpancakes joined
07:14 chriswarren joined
07:14 imack joined
07:16 icanhazbroccoli joined
07:22 nanohest joined
07:24 chriswarren joined
07:25 hotpancakes joined
07:31 cemilowski joined
07:37 imack joined
07:39 zabirauf joined
07:42 chriswarren joined
07:50 hotpancakes joined
07:51 tuacker joined
07:52 teacup-on-rc joined
07:54 icanhazbroccoli joined
07:54 celyr joined
07:54 celyr joined
07:57 norbertka joined
07:58 duane joined
08:00 chriswarren joined
08:02 fabjan_ joined
08:02 sfbw joined
08:05 codestorm joined
08:07 truami joined
08:08 vendethiel- joined
08:09 chriswarren joined
08:09 gokr joined
08:11 <OliverMT> anyone ever tried amazon aurora?
08:11 <OliverMT> they are using big nice words
08:11 <OliverMT> wonder if it has much to give over postgres
08:11 <OliverMT> with mysql compability it should work just fine with ecto
08:16 arathunku joined
08:16 <celyr> OliverMT, it has also postgreSQL compatibility tho
08:17 ZippoWeb2 joined
08:17 nithinbekal joined
08:18 chriswarren joined
08:20 <celyr> OliverMT, also their claims about performances is based upon hw optimization as specified in the documentation
08:20 <celyr> OliverMT, and price is nowhere close to cheap
08:21 hotpancakes joined
08:21 kbot joined
08:21 <celyr> OliverMT, well it's not even that expensive after all
08:22 <OliverMT> Yeah not that pricey
08:22 colrack joined
08:22 <OliverMT> Compared to a full redundancy aws rds postgres
08:23 <OliverMT> I am looking at dybamodb as well
08:23 <OliverMT> Need to back a chat engine, not sure if we should just stay on postgres to start
08:27 chriswarren joined
08:28 gvaughn joined
08:29 milad joined
08:31 mark_66 joined
08:31 <celyr> OliverMT, looks a bit an overkill to use this for a chat :)
08:32 <OliverMT> a chat is incredibly write heavy
08:32 <celyr> OliverMT, I tought you were putting in the database just the "metadata" not the whole flow
08:33 <OliverMT> we're using SIP right now, not storing history
08:34 <celyr> I'm not sure that a RDBMS is suitable to store chat history
08:34 nithinbekal joined
08:35 <OliverMT> my attitude is that you use postgres until it starts to perform worse
08:36 <celyr> Well I guess it depends how many users are you planning to have
08:36 <celyr> on*
08:37 chriswarren joined
08:43 <OliverMT> that "until" is usually a looooooot more further in time than most people think :p
08:45 flaviodesousa joined
08:46 PaReeOhNos joined
08:47 Guest67__ joined
08:48 acscherp joined
08:58 stephen_m joined
09:00 codestorm joined
09:03 sfbw joined
09:03 vmoravec joined
09:07 kbot joined
09:07 Tetiana joined
09:09 jadlr joined
09:10 v0j_ joined
09:11 <jadlr> Hi all, is there a way to read the documentation of a function in an erlang library besides opening the source? Really annoying that one cannot do `h Blu.blubber/2`
09:13 v0j joined
09:13 chriswarren joined
09:20 nithinbekal joined
09:20 josevalim joined
09:21 hotpancakes joined
09:21 <tuacker> jadlr: I tend to use erl -man in a terminal (ie 'erl -man crypto)
09:21 <tuacker> not sure if there is a better way
09:23 m_m joined
09:23 <jadlr> tuacker: Thanks!
09:24 <hmans> Is there a specific reason why Phoenix doesn't have generators for resources _without_ the actual controller function implementations and .eex templates?
09:25 <gazler> hmans: You mean like https://hexdocs.pm/phoenix/Mix.Tasks.Phoenix.Gen.Model.html ?
09:26 <hmans> gazler: I'd like a generator that will generate the new 1.3-style context, the controller module, the view module, the template directory, but not fill those with actual implementation/templates/tests/et al.
09:26 v0j_ joined
09:27 <hmans> When using the available generators, I often end up deleting 95% of the generated code, which has sort of made me stop using generators altogether. Setting things up by hand is not the end of the world, but it is boring cruft that a generator could do for me.
09:27 <hmans> The Phoenix generators are essentially the equivalent to the scaffold generators in you know where
09:27 <gazler> hmans: Oh, I see. Well, the logic with the generators is that they are learning tools. So the are optimized for that use case. I don't really use the generators now.
09:27 <gazler> You can override the templates
09:28 <hmans> Yeah, I know I can -- I was just wondering that the rationale was behind the current implementation. Intended as learning tools, check -- I get that
09:29 <hmans> So I assume most Phoenix developers (who're beyond the point of where they need to learn the structure) just simply don't use generators. Noted.
09:29 <hmans> It's all good, I was just wondering.
09:29 <OliverMT> I use the generators a lot
09:29 <OliverMT> so thast not true
09:30 <gazler> hmans: If you wondered about using your own templates btw https://github.com/phoenixframework/phoenix/pull/1927#issuecomment-280330362
09:30 <gazler> OliverMT: Don't you do that actually?
09:30 <micmus> Generators are meant primarily as a learning resource, not for covering all aspects of building applications
09:31 <OliverMT> gazler: not yet, but I plan to :)
09:31 <micmus> They are intentionally simple
09:31 <tuacker> sanity check: this defines a/the function depending on the mix env at compile time correct? https://gist.github.com/anonymous/44d64650c24cc1d2aa8ad52c8975e91d (is there a better way?, gotchas?)
09:31 <micmus> Oh that was already covered... I should have read the whole backlog first
09:31 chriswarren joined
09:32 <OliverMT> correct tuacker
09:32 <OliverMT> but that is the wrong way to do it
09:32 <OliverMT> set a config that you get with Application.get/fetch _env
09:32 <OliverMT> instead of using the Mix module in your code
09:32 <gazler> That matters less at compile time. It's more of a documentation thing.
09:33 <gazler> At runtime in a release, you can't be sure that Mix is available.
09:33 <gazler> I'd definitely use config to toggle it though.
09:33 <OliverMT> if Application.get_env(:your_app, :do_other_function, false) do def function(..) do #other stuff end else def function(..) do normal stuff end end
09:33 <OliverMT> etc
09:34 <tuacker> Hah, I actually already have the config set ^^ just need to use it. Thanks OliverMT, gazler
09:34 nithinbekal joined
09:39 nithinbekal_ joined
09:41 zabirauf joined
09:45 truami joined
09:50 chriswarren joined
09:51 travis-ci joined
09:51 <travis-ci> elixir-lang/elixir#13887 (master - d1babd7 : Eksperimental): The build passed.
09:51 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/b191f6bf1f76...d1babd70e6bb
09:51 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210877311
09:51 travis-ci left
09:54 marr joined
09:54 codestorm joined
09:56 optikfluffel joined
10:00 lexmag joined
10:01 travis-ci joined
10:01 <travis-ci> elixir-lang/elixir#13889 (master - cc52fed : Thijs Klaver): The build passed.
10:01 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/d1babd70e6bb...cc52fedcd76c
10:01 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/210877750
10:01 travis-ci left
10:02 hotpancakes joined
10:05 nithinbekal joined
10:06 vendethiel joined
10:07 proteusguy joined
10:08 gmcabrita joined
10:08 chriswarren joined
10:10 nithinbekal joined
10:17 gvaughn joined
10:27 chriswarren joined
10:29 kbot joined
10:32 codestorm joined
10:33 cemilowski joined
10:36 Tetiana joined
10:36 truami joined
10:37 scarfacedeb joined
10:39 nithinbekal joined
10:43 nighty joined
10:43 optikfluffel_ joined
10:45 chriswarren joined
10:47 sfbw joined
10:48 nkantar joined
10:48 terinjokes joined
10:51 johnstorey joined
11:00 scarfacedeb joined
11:02 norbertka joined
11:03 chriswarren joined
11:09 terinjokes joined
11:12 vadviktor left
11:15 bttf joined
11:15 jpterry joined
11:15 <ikopico> Hey, I'm browsing the code for `mix` and trying to understand why does `mix` treat `rebar` and `rebar3` the same on some cases? They are two very different build tools
11:20 duane joined
11:21 harfangk joined
11:24 l14n joined
11:25 m_m joined
11:26 codestorm joined
11:27 cristianR_ joined
11:28 cschneid_ joined
11:33 Guedes joined
11:37 Lyubo1 joined
11:39 <ikopico> Also, for some reason, mix decides to put the rebar3 plugin, which belongs to application A (i.e. under A's rebar.config) in jsx, which is a totally different dependency.
11:39 <ikopico> /private/tmp/<elixir_app>/deps/jsx $ cat rebar.config
11:39 <ikopico> {edoc_opts, [{preprocess, true}]}.
11:39 <ikopico> /private/tmp/<elixir_app>/deps/jsx ✔ $ ls _build/default/plugins/<plugin_name>
11:39 <ikopico> README.md docs include rebar.config src
11:40 <ikopico> mix is too smart
11:40 <ikopico> (and that's where it hangs btw)
11:41 chriswarren joined
11:42 zabirauf joined
11:47 celyr joined
11:48 rschmukler joined
11:50 gokr joined
11:53 sfbw joined
11:57 chriswarren joined
12:05 gvaughn joined
12:05 v0j joined
12:08 scarfacedeb joined
12:09 DEvil0000 joined
12:09 <DEvil0000> hi there
12:11 <Nicd-> hey DEvil0000
12:11 <DEvil0000> mix release is creating release tars but it also writes the files mtime to the tar. Because of that i can not compare the tar by hash later. Is there a way to tell mix release to create the tar without mtime? Or turn off creating the tar at all?
12:12 <DEvil0000> for creating a tar manually I can do so with the parameter --mtime
12:13 nithinbekal joined
12:13 <DEvil0000> The idea is to get the same tar out of the same code
12:14 rhnonose joined
12:21 codestorm joined
12:25 <OliverMT> you need to compile to beam files to make a release
12:25 <OliverMT> so even if the code is the same, the compile will be different
12:26 nithinbekal joined
12:33 rodolfojcj joined
12:33 ubuntufreak joined
12:33 koneko joined
12:33 scarfacedeb joined
12:33 l14n joined
12:35 <scarfacedeb> Hello everyone, I'm starting a new project in phoenix 1.3 and I'm a bit unsure what's the preferred way to make composable queries using the contexts.
12:35 <scarfacedeb> Specifically, I'm referring to the following way of query composition: https://blog.drewolson.org/composable-queries-ecto/
12:36 <scarfacedeb> It works because functions in Post return queries that can be piped together. And I'm only calling the Repo function at the end. (inside the controller)
12:36 <scarfacedeb> But Phoenix 1.3 got rid of the models and introduced new concept - bounded context. And judging by the examples in a keynote, now I'm supposed to hide most of the business logic inside the context. Therefore I'm not sure how to refactored that code.
12:36 <scarfacedeb> I suppose the cleaner way to compose it would be smth like this: https://gist.github.com/scarfacedeb/41b1a6df747554b73f0ddc39d5d7c929
12:36 <scarfacedeb> That way I can keep it composable and don't have Repo calls in the controller.
12:36 <scarfacedeb> Am I on the right track here?
12:37 truami joined
12:43 chriswarren joined
12:46 pHcF joined
12:46 gokr joined
12:49 <micmus> scarfacedeb: yes, that's exactly the way
12:49 <micmus> you expose a function per different query/data you need in your controllers
12:49 <micmus> from the context
12:49 proteusguy joined
12:50 <micmus> inside the context you can compose queries, etc
12:51 nomicflux joined
12:52 <scarfacedeb> I see. And I can extract common query functions into a separate module and import it in multiple places.
12:52 <scarfacedeb> thank you, I'll try to write it this way
12:53 chriswarren joined
12:53 <scarfacedeb> Are you aware of any phoenix 1.3 open source application? I'm familiar with firestorm, but it mostly kept the structure the same after the migration to 1.3
12:54 <micmus> hexpm got updated to 1.3 recently
12:57 <OliverMT> am I just damaged from years and years of enterprise java since I feel that "Blog" sounds so wrong as a modulename there
12:57 <OliverMT> BlogService
12:57 <OliverMT> :D
12:57 <scarfacedeb> thanks, I'll take a look
12:57 <scarfacedeb> BlogService looks more like a rails-driven convention to me :)
12:59 <Nicd-> AbstractSingletonBlogFactoryBean
13:00 <scarfacedeb> don't forget about Handler)
13:00 <scarfacedeb> don't forget about Handler
13:01 execb5 joined
13:04 Guedes joined
13:07 nithinbekal joined
13:13 jhack joined
13:15 codestorm joined
13:25 mattyw joined
13:27 m_m joined
13:31 chriswarren joined
13:32 poops joined
13:34 chrismccord joined
13:36 <poops> Hey guys, loving the new changes in phoenix 1.3. Sorry if this has been asked before, but was just wondering if my methods that commit to a database should have a ! suffix , like Accounts.register_user!()
13:37 <Nicd-> the ! is a convention that denotes that the function raises on error
13:37 <Nicd-> so register_user() would return either {:ok, value} or {:error, error_value} and register_user!() would just return value and raise on error
13:37 sfbw joined
13:37 <poops> ok gotcha, so there’s no convention to denote that a function is not pure?
13:38 <Nicd-> not that I know of
13:38 duane joined
13:43 zabirauf joined
13:43 wtetzner joined
13:47 optikfluffel joined
13:53 jbranchaud joined
13:54 gvaughn joined
13:57 maxbeizer joined
13:58 Tetiana joined
13:59 rhnonose joined
14:00 kbot joined
14:00 dimitarvp joined
14:01 pHcF joined
14:05 RexM joined
14:08 chriswarren joined
14:11 wong2 joined
14:11 codestorm joined
14:16 alex88 joined
14:16 mitchellhenke joined
14:19 cdg joined
14:20 mitchellhenke joined
14:21 MarioBranco joined
14:23 Zek joined
14:23 jhack_ joined
14:26 meh` joined
14:28 myronmarston joined
14:29 <DEvil0000> @OliverMT the compile should result in the same files if the code stays the same (at least in my eyes)
14:32 cdg joined
14:32 jhack joined
14:34 rschmukler joined
14:37 benji joined
14:40 jhack_ joined
14:43 racycle joined
14:49 gvaughn joined
14:51 m_m joined
14:51 jhack__ joined
14:51 cschneid_ joined
14:53 <m_m> Hi I have a strange bug and after almost 2 days of fighting I've lost my hope. I'm using exrm for releases. It's quite simple. I have good sys.config with propel values taken from my system enviroment. After myappname console my app take values from ...I dont know...from compiled beams ? from nowhere? from config.exs ? He takes default values from config.exs but not from his sys.config. Why?
14:54 alex88_ joined
14:54 m_m joined
14:57 nanohest joined
15:04 jhack joined
15:04 jhack joined
15:05 zabirauf joined
15:05 codestorm joined
15:05 zabirauf_ joined
15:07 craigger joined
15:10 gvaughn joined
15:11 gvaughn_ joined
15:12 icecreamcohen joined
15:13 <Ankhers> m_m: Do you also have a my_app.schema.exs and my_app.conf files?
15:15 Gasher joined
15:18 chrismccord joined
15:18 wwwd joined
15:18 <chrismccord> poops only use ! functions if you intend on raising on failure
15:19 <chrismccord> poops : so bang functions vs non bang are both okay. It depend son what kind of apis you want to expose for your callers
15:20 chriswarren joined
15:21 <poops> chrismccord: thanks, that makes sense, i just wasn’t sure if impure functions should be marked somehow as well
15:24 raycoll joined
15:25 <chrismccord> poops in general we don't use a convention for pure vs impure in eliixr
15:26 <wwwd> Hey all, I'm working on an online class. I found 'Redirect to: "/path" but the author used 'redirect to: context_path(conn, :action). Is the advantage of the helper that it skips the router and directly calls the action from the controler?
15:27 <poops> ok great, thanks chris
15:27 <chrismccord> wwwd : no, it still does the normal http redirect. The benefit is whe you change the path in the router, you don't have to hunt down all the hard-coded "/path" strings and rewrite them
15:28 keathley joined
15:28 chriswarren joined
15:29 m_m__ joined
15:29 <wwwd> Ah! That makes sense. Thanks!
15:29 Guedes joined
15:35 zabirauf joined
15:36 Tetiana joined
15:37 duane joined
15:37 poops left
15:37 poops joined
15:42 chriswarren joined
15:43 arathunku joined
15:44 nomicflux joined
15:44 threedee joined
15:45 rschmukler joined
15:45 jerel joined
15:46 rhnonose joined
15:48 Or1on joined
15:49 codestorm joined
15:50 amclain joined
15:51 teddysmoker joined
15:52 IIID joined
15:52 refriedchicken joined
15:55 davidw joined
15:55 nanohest joined
15:57 <scrogson> what's the best approach for configuring the mnesia directory for a release?
15:58 <scrogson> should the files be stored outside the release so your data doesn't get accidentally destroyed?
15:58 cdg joined
15:59 <scrogson> was thinking about storing it in `/var/data/my_app/`
16:00 threedee joined
16:01 <m_m> Ankhers: no. Why i need them ?
16:01 <Ankhers> m_m: https://exrm.readme.io/docs/release-configuration
16:01 <Ankhers> I'm not entirely sure. I haven't used exrm personally. But I just read some docs and it sounds like you will need it.
16:02 koneko joined
16:04 <iFire> fishcakez: morning
16:06 refriedchicken joined
16:12 chriswarren joined
16:12 racycle joined
16:12 jeffweiss joined
16:16 <Ankhers> Does Elixir 1.4.x work with Erlang 18? I think I remember a conversation in here that it does not. But would anyone know for sure?
16:16 <josevalim> it does
16:17 MrSaints joined
16:18 <josevalim> the goal is to always support the last 3 erlang versions. so Erlang 18 should be supported until Erlang 21 is out (which is in a year). unless there are major benefits on 19 that would justify us dropping support for 18 a bit earlier.
16:19 codestorm joined
16:19 <iFire> can someone help me with my recursion problem https://gist.github.com/fire/15b6fc77633f4e80d73186c353996851
16:19 <iFire> input is
16:19 <iFire> types: [:integer, :varchar] params [43, "fortythree"]
16:20 <josevalim> don't you want to rathe recurse them side by side?
16:20 <iFire> yah
16:20 <josevalim> def encode_values([type | types], [param | params], acc) do ...
16:20 <josevalim> and the last clause is
16:20 <josevalim> def encode_values([], [], acc) do
16:21 <Ankhers> Thanks.
16:22 <iFire> josevalim: hmm
16:23 <iFire> josevalim: still getting lost :(
16:23 <josevalim> can you update the gist?
16:23 <iFire> https://gist.github.com/fire/15b6fc77633f4e80d73186c353996851
16:24 keathley joined
16:24 cdg_ joined
16:24 <josevalim> you don't need encode_params anymore
16:24 <josevalim> def encode_values([type | types], [param | params], acc),
16:24 <josevalim> do: encode_values(types, params, [encode_field(param, type) | acc])
16:24 <josevalim> def encode_values([], [], acc), do: Enum.reverse(acc)
16:24 myronmarston joined
16:25 <iFire> \o/
16:26 <iFire> https://gist.github.com/fire/13e062046b8154076fb0dface8c8baca
16:27 icecreamcohen joined
16:27 <m_m> Wow. Strange thing. How I can use Application.get_env in my code after compilation ? I mean by change sys.config in exrm release ? In iex console I see value from sys.config but by application have value from compilation time.
16:27 nithinbekal joined
16:27 cemilowski joined
16:29 duggiefresh joined
16:29 <iFire> josevalim: thank you so much, now I have the basis for encoding database types by type instead of hard coding. This is the final piece.
16:30 tuacker joined
16:30 <fishcakez> iFire: oh so itts working now?
16:35 markh joined
16:36 <iFire> fishcakez: got the prepare + insert one working, but not the query(SQL, params) one
16:38 nanohest joined
16:38 <iFire> so prepare and insert seperately works, but not prepare_execute
16:40 <iFire> https://travis-ci.org/fire/snappyex/builds/211010335
16:41 <iFire> got to go. talk to you later
16:46 rschmukler joined
16:48 asabil joined
16:48 l14n joined
16:51 <iFire> fishcakez: any ideas?
16:54 flopsec joined
16:55 keathley joined
16:59 Guedes joined
17:04 rpip_ joined
17:06 hahuang61 joined
17:08 koneko joined
17:08 gokr joined
17:13 codestorm joined
17:17 w1gz joined
17:17 rozap joined
17:28 cdg joined
17:28 rhnonose joined
17:30 bambanx joined
17:30 duane_ joined
17:31 maxbeizer_ joined
17:34 w1gz joined
17:35 nanohest joined
17:36 zabirauf joined
17:38 scarfacedeb joined
17:39 lexmag joined
17:42 potatosalad joined
17:42 fxrs_ joined
17:46 pHcF joined
17:46 sumi joined
17:48 bigkevmcd joined
17:54 bilal80 joined
17:54 scarfacedeb joined
17:56 rschmukler joined
17:58 bitshift joined
17:58 oborot joined
18:01 cemilowski joined
18:02 jbranchaud joined
18:02 nanohest joined
18:05 m_m joined
18:05 jhack_ joined
18:06 rschmukler joined
18:07 codestorm joined
18:13 colrack joined
18:17 poops joined
18:19 chriswar_ joined
18:22 Cohedrin joined
18:26 Ioyrie joined
18:27 icanhazbroccoli joined
18:30 Duckily joined
18:33 benji joined
18:35 jhack__ joined
18:36 rodolfojcj joined
18:37 jhack joined
18:39 racycle joined
18:39 dustinfarris joined
18:40 sumi joined
18:46 bitshift joined
18:46 chriswarren joined
18:46 chriswar_ joined
18:47 scarfacedeb joined
18:48 DTZUZU joined
18:48 duane joined
18:51 bitmod joined
18:51 luke_nukem joined
18:56 nanohest joined
18:58 chrismccord joined
18:59 arathunku joined
19:02 codestorm joined
19:02 JuanMiguel joined
19:07 rschmukler joined
19:10 jdrab joined
19:10 rhnonose joined
19:10 sumi joined
19:13 acscherp joined
19:14 gokr joined
19:15 jbrancha_ joined
19:15 Tetiana joined
19:19 codestorm joined
19:22 hotpancakes joined
19:22 |1li joined
19:25 Ioyrie joined
19:25 <iFire> fishcakez: is there a reason prepare_execute doesn't run prepare?
19:26 <fishcakez> iFire: it always runs prepare
19:26 gokr joined
19:27 <iFire> I'm not seeing the prepare part in my code returning the meta data
19:27 <iFire> :|
19:29 <fishcakez> iFire: prepare_execute is equivalent to prepare and execute
19:30 cmk_zzz joined
19:31 hotpancakes joined
19:37 zabirauf joined
19:41 LangeOortjes joined
19:42 keathley joined
19:42 <iFire> fishcakez: so query("INSERT INTO SNAPPYEX_TEST.TEST_INSERT (id, text) VALUES (?, ?)", [43, "fortythree"]) doesn't prepare the statement correctly :|
19:42 <iFire> even though it calls prepare I wonder why
19:43 Ioyrie joined
19:43 <iFire> prepare should give me metadata
19:43 <fishcakez> iFire: does it work when you prepare and execute separately?
19:43 <iFire> yes
19:46 LangeOortjes joined
19:51 rkazak_ joined
19:52 sumi joined
19:53 rschmukler joined
19:57 hahuang61 joined
19:57 codestorm joined
19:59 squallstter joined
19:59 kyrix joined
20:00 wsieroci joined
20:01 jbranchaud joined
20:04 refriedchicken joined
20:05 MotherFlojo joined
20:06 davidw joined
20:06 <hahuang61> \quit
20:12 cdg joined
20:18 m_m joined
20:18 <iFire> fishcakez: so this stack doesn't have a prepare :/ https://gist.github.com/fire/781029c24845ce0448b032b755488b3e
20:18 <iFire> [] is not a valid type for [43, "fortythree"]
20:19 <fishcakez> I dont think prepare would appear in the stacktrace
20:20 <fishcakez> describe_run is only called after a handle_prepae
20:26 <scrogson> having trouble setting columns to NULL with ecto...
20:27 <scrogson> fishcakez: change(struct, %{reserved_at: nil}) |> Repo.update! doesn't persist that change...
20:27 <scrogson> it keeps the previous value
20:29 <iFire> fishcakez: any suggestions on how to debug this?
20:29 arathunku joined
20:36 <fishcakez> scrogson: turn on logging, what query is run?
20:36 rodolfojcj joined
20:37 <fishcakez> iFire: unsure what he issue could be...is the query already prepared on the connection?
20:38 <iFire> fishcakez: is there any way the prepare statement is ignored
20:39 <iFire> like cached
20:39 <fishcakez> iFire: wdym?
20:39 <iFire> Like is the caching system based on a name?
20:39 <iFire> So it just skips preparing and goes directly using the id and params
20:40 <fishcakez> yes
20:40 <fishcakez> theres a bug in your code on line 178
20:40 <iFire> which source?
20:40 <fishcakez> you set the types to [] when they could already be set
20:41 <micmus> scrogson: have you tried inspecting the changeset before the repo operation? What is the value of changes?
20:41 <fishcakez> f702d67
20:41 MotherFlojo joined
20:41 <scrogson> micmus: I have
20:41 <scrogson> I'm using the ecto_mnesia adapter...
20:42 <scrogson> trying to figure out if its ecto or the adapter
20:42 apotry joined
20:42 <fishcakez> mnesia doesnt have columns or NULL :P
20:42 <micmus> if the value is in the changes map of the changeset, it will be passed down to the adapter
20:42 nanohest joined
20:43 <scrogson> yeah...the changes show a map of keys with nil as the values
20:43 <scrogson> so I don't understand
20:44 <iFire> hm
20:44 <fishcakez> iFire: but im not usre about the logic there
20:44 <fishcakez> i think you should copy the mariaex logic for your cache
20:44 hexus0 joined
20:45 <fishcakez> i.e. prepare always does a fresh prepare, and may close an old query with same name
20:45 <fishcakez> execute will prepare unless query with same name and reference exists in cache
20:46 apotry joined
20:46 <fishcakez> Also Ecto will assume query structs are immutable once prepared
20:47 <fishcakez> https://github.com/xerions/mariaex/blob/master/lib/mariaex/protocol.ex#L334-L341 https://github.com/xerions/mariaex/blob/master/lib/mariaex/protocol.ex#L405-L409 https://github.com/xerions/mariaex/blob/master/lib/mariaex/protocol.ex#L448-L458
20:48 <iFire> fishcakez: they are considered immutable at what point?
20:48 <iFire> Say I'm still in the handle_prepare function
20:48 <iFire> Or the handle_execute
20:49 gokr joined
20:49 <iFire> I need to move some data from the server's response into the query struct
20:51 m_m joined
20:51 <iFire> fishcakez: so yes, it goes into a already prepared state
20:52 codestorm joined
20:52 Duckily joined
20:52 PaReeOhN_ joined
20:53 chrismccord joined
20:53 <iFire> So if I tell it to prepare even if prepared, there's no error
20:54 <iFire> https://github.com/fire/snappyex/blob/master/lib/snappyex/protocol.ex#L181
20:56 <iFire> https://github.com/fire/snappyex/blob/master/lib/snappyex/protocol.ex#L249 <- I have entirely forgotten how this logic works.
20:59 lamer14895246260 joined
21:00 josevalim_ joined
21:02 MotherFlojo joined
21:06 Tallys__ joined
21:08 vendethiel- joined
21:08 duane joined
21:09 <scrogson> k...I found the source of the issue: https://github.com/Nebo15/ecto_mnesia/blob/master/lib/ecto_mnesia/table.ex#L70
21:09 icanhazbroccoli joined
21:11 rozap joined
21:11 Ioyrie joined
21:13 MotherFlojo joined
21:14 <fishcakez> iFire: once Ecto sees it
21:14 <fishcakez> i will try a PR to fix your logic
21:14 rschmukler joined
21:14 <iFire> I updated master.
21:14 <iFire> but I think the logic is that prepare shouldn't do any caching
21:15 <iFire> or inserts to the cache
21:15 <fishcakez> yeah prepare should always replace the any query
21:15 <fishcakez> so you'll want to close the old query if one with same name exists
21:15 <fishcakez> and on success it should insert into the cache
21:16 <fishcakez> then in execute it either executes if it exists, or follows prepare logic, and then executes
21:16 jbranchaud joined
21:16 <iFire> I'll wait for the pr then
21:20 kbot joined
21:20 <fishcakez> iFire: oh you made the changes I suggested about the cache
21:21 <iFire> hmm?
21:21 <fishcakez> iFire: I was looking at old version i think
21:23 <fishcakez> iFire: can you explain what the issue is now?
21:23 pHcF joined
21:23 <iFire> It passes my tests, but https://github.com/fire/snappyex/blob/master/lib/snappyex/protocol.ex#L181 <- this logic is wrong. It says if I'm prepared or not prepared, it will always prepare.
21:24 <iFire> which is logically wrong
21:24 <iFire> I don't even know if the cache works D:
21:25 <fishcakez> https://github.com/fire/snappyex/blob/master/lib/snappyex/protocol.ex#L252
21:25 <fishcakez> ah i see
21:25 <fishcakez> this clause should be {:close_prepare, id, query}
21:25 <fishcakez> the :prepare clause from mariaex is when the query is unnamed
21:25 <fishcakez> and that situation doesnt exist here
21:26 <fishcakez> you want to do: https://github.com/xerions/mariaex/blob/master/lib/mariaex/protocol.ex#L337
21:28 <fishcakez> Um I meant the :prepared clause in mariaex is for its LRU cache, and there isn't one in snappyex
21:30 icecreamcohen joined
21:31 hahuang61 joined
21:31 hexus0 joined
21:32 <iFire> looking the wrong statement:
21:32 <iFire> {:close_prepare, statement_id, query} ->
21:32 <iFire> close_prepare(statement_id, query, state)
21:34 <fishcakez> iFire: yeah
21:36 hotpancakes joined
21:37 zabirauf joined
21:41 <iFire> fishcakez: I need state for the token
21:42 <fishcakez> iFire: the token is stored in the state?
21:42 <iFire> yeah
21:42 <iFire> I think that's the correct place...
21:44 <iFire> oh
21:44 <iFire> hah
21:44 m_m joined
21:44 kbot joined
21:45 <iFire> updated
21:45 <iFire> fishcakez: I wonder how postgrex tests all the types
21:46 codestorm joined
21:46 scarfacedeb joined
21:46 pHcF joined
21:47 <iFire> https://github.com/elixir-ecto/postgrex/blob/master/test/query_test.exs#L442 got it
21:48 klltkr joined
21:49 rschmukler joined
21:51 wtetzner joined
22:00 <iFire> added tests for encoding varchar, int and clob
22:02 raycoll joined
22:02 cdg joined
22:04 chriswarren joined
22:05 chriswarren joined
22:05 chriswarren joined
22:06 chriswarren joined
22:07 chriswarren joined
22:08 chriswarren joined
22:09 chriswarren joined
22:09 chriswarren joined
22:10 hexus0 joined
22:10 chriswarren joined
22:11 jeffweiss joined
22:12 scarfacedeb joined
22:13 PaReeOhNos joined
22:13 MotherFlojo joined
22:14 markh joined
22:14 duane joined
22:16 chriswar_ joined
22:16 Tetiana joined
22:25 Uniaika joined
22:26 bitshift joined
22:28 pHcF joined
22:30 scarfacedeb joined
22:33 acscherp joined
22:40 codestorm joined
22:40 mitchellhenke joined
22:42 hotpanca_ joined
22:43 chriswarren joined
22:45 <wwwd> Hey all, I am working through a tutorial and getting "function Discuss.TopicController.show/2 is undefined or private". My code is here: https://gist.github.com/johnhitz/0dd527e319c6963ddee6ed1feb788b83. Can anyone see what I am doing wrong?
22:47 <hq1> hey, out of curiosity, where can I read about design decisions leading to elixir not implementing gen_fsm? was it that gen_server in most cases is good enough?
22:47 hexus0 joined
22:53 chriswarren joined
22:58 <havenwood> hq1: See: https://github.com/elixir-lang/elixir/commit/455eb4c4ace81ce60b347558f9419fe3c33d8bf7
22:59 <havenwood> hq1: Maybe give the Elixir gen_statem wrapper a try?: https://github.com/antipax/gen_state_machine
22:59 <havenwood> http://erlang.org/doc/man/gen_statem.html
23:01 <fishcakez> hq1: if module exists in erlang, but less pressure to provide it, unless it is definitely required. the function names and callbacks are quite intersting in gen_fsm
23:02 <fishcakez> it seemed likely there could be a nicer solution
23:02 <fishcakez> gen_statem its quite a bit nicer
23:02 <hq1> haha, my question was a consequence of an idea to write an elixir adapter to gen_statem, I didn't find the one you linked :P
23:02 <tristan__> no point in gen-fsm now that gen-statem exists
23:02 chriswarren joined
23:02 <fishcakez> community provide support for gen_statem
23:02 <fishcakez> why do anything :P
23:02 <hq1> haha
23:03 <iFire> that's so lazy, I like it :)
23:04 <iFire> is this a correct way of casting a float to a int :erlang.float_to_binary(field) ?
23:04 stephen_m joined
23:04 <fishcakez> to an int?
23:04 <iFire> yeah...
23:04 <hq1> fishcakez: could you tell me about db_connection? I'd expect all the DB-connectors / stateful protocol handlers could benefit from gen_fsm
23:04 <fishcakez> thats to binary
23:04 <iFire> http://http.developer.nvidia.com/Cg/floatToRawIntBits.html
23:04 <hq1> or gen_statem for that matter
23:05 <iFire> they pretend a float is a int
23:05 <fishcakez> float to binary isnt going to do what you think it does..
23:05 <fishcakez> or if it does o.O
23:05 <fishcakez> hq1: well Connection lib was more useful to async connect and reconnect cycle
23:06 <fishcakez> but if gen_statem existed in a usable fashion then ofc it would be used instead
23:06 <fishcakez> gen_statem has breaking changes during 19
23:06 <fishcakez> so it'd mean requiring an OTP 20+ lib to handle it
23:06 <fishcakez> er
23:07 <fishcakez> OTP 20+ elixir release
23:07 <iFire> https://github.com/SnappyDataInc/snappy-store/blob/6e18e745094849f72739bbf924a64b777c9fcba7/native/src/snappyclient/headers/Utils.h#L132
23:07 <hq1> so.. "async connect/disconnect cycle" -- hold my hand please, keep reconnecting while still receiving client requests instead of dropping them on the floor immediately?
23:07 <iFire> they literally cast a float to an int...
23:08 <fishcakez> hq1: the first thing is, if uisng poolboy, dont want to block to connect on init/1
23:08 <fishcakez> (or any pool, or no pool)
23:09 hahuang61 joined
23:09 <fishcakez> the Connection lib provides a simple mechanism to do that
23:10 <fishcakez> also if the connection fails to connect it provides a backoff mechanism to retry
23:10 <fishcakez> if the connection disconnects it provides a disconnect callback to handle that and ensure connect is the next call
23:10 <hq1> gotcha, so connection lib proxies client requests to poolboy workers while they manage the connection details?
23:10 <fishcakez> er
23:11 <hq1> ah I think I get it
23:11 <fishcakez> it is much more complex :(
23:11 <fishcakez> but the Connection lib has a GenServer like API
23:11 chriswarren joined
23:11 <iFire> I attest to connection being complicated :P
23:11 <hq1> yeah I'll dig into the source, this_is_fine
23:11 <fishcakez> and the connection specific details are handle in a nested callback inside the Connection callback module
23:12 <fishcakez> so we have GenServer -> Connection -> DBConnection.Connection -> MyDBConnection
23:12 <fishcakez> a single DBConnection.Connection acts as a pool of 1 in its own right, a pool of a socket+state
23:13 <fishcakez> and it will reconnect//backoff etc
23:13 <hq1> ah2
23:13 <hq1> ah* :)
23:13 <iFire> fishcakez: yeah that chain is pretty fun :)
23:13 <fishcakez> so when using poolboy the pool is checked out from poolboy, and the socket is checked out from the pool
23:13 <iFire> I remember our problems at the connection end breaking the MyDBConnection end
23:13 pHcF joined
23:13 <iFire> because of timeouts and reconnections
23:14 <fishcakez> then the socket is stored in the pdict of the caller and accessed locally
23:15 <hq1> oh wow
23:15 <hq1> real world pdict usages never cease to amaze me
23:15 <fishcakez> and when done the socket is sent back to the DBConnection.Connection pool, and then that pool is check into poolboy (if using poolboy)
23:16 <fishcakez> and the pdict entry is deleted
23:16 <hq1> ok, this is quite a bit to digest
23:18 <hq1> thank you for the intro, I hope to get enough spare cycles to dig deeper
23:19 <fishcakez> I think the main thing to understand in DBConnection is that is a pool of socket/state, and not a pool of connection processes
23:19 <iFire> hq1: making anything with it? Understanding helps when you're working through problems.
23:20 chriswarren joined
23:21 <iFire> curious, what happened to dirty schedulers
23:22 perkins joined
23:22 <hq1> not really no, started sniffing around gen_statem for no good reason and that made me dive into the rabbit hole
23:23 <hq1> I'd like to contribute some day, and lower-level stuff sounds much more appealing ;-)
23:24 <iFire> hq1: for me diving into this is just a sidetrack on my goal :)
23:24 <fishcakez> if i had time again I would only support sbroker'ed connections, and switch alarm_handler for ealarm in sbroker
23:24 <hq1> iFire: what's the goal?
23:24 <fishcakez> it would have made things a lot simpler, even the sandbox pool
23:25 <hq1> oh my, alarm handler
23:25 <iFire> hq1: oh I'm trying built up a tech base for a multiplayer game server in elixir
23:25 <iFire> build up*
23:25 <hq1> gotcha
23:26 dimitarvp joined
23:26 <hq1> there was a nice game server demo, built in erlang, a few years back.. hmm /me browses youtube
23:27 <iFire> yeah
23:27 <iFire> doesn't support unreal engine
23:27 <iFire> the team the ported it there didn't finish
23:27 <iFire> that*
23:28 <hq1> was it some FPP world handling a record value of shit tons of players at the same time?
23:29 <hq1> I vaguely remember a broken record or something
23:29 <iFire> hq1: pm'd you
23:30 alexj_ joined
23:34 codestorm joined
23:34 <iFire> https://zdatainc.com/2015/02/gemfire-performance-evaluation-aws/
23:35 <iFire> working on a connector for this
23:37 <iFire> fishcakez: What should I do if the database doesn't fully support quoted identifiers?
23:37 <iFire> for instance it breaks in the index creation syntax
23:38 zabirauf joined
23:39 chriswarren joined
23:41 <fishcakez> iFire: this is causing issue in Ecto?
23:41 <iFire> Well, not exactly
23:41 Svenskunganka left
23:41 <iFire> I'm just wondering what I should do.
23:41 <iFire> I can upper case everything.
23:41 <iFire> or remove the quoting
23:43 <fishcakez> well the adapter controls quoting, so you can pick what you want
23:43 <fishcakez> i would suggest speaking to jose or michal about this
23:44 aeliton joined
23:47 <aeliton> can anybody help me understand the recv_timout option of httpoison? The documentation says ":recv_timeout - timeout used when receiving a connection. Default is 5000". Does that mean the entire request should produce a response in 5 seconds?
23:48 chriswarren joined
23:48 <alisdair> no
23:48 <alisdair> it means it should be allocated a connection from the internal pool in 5000ms
23:48 hotpancakes joined
23:49 <iFire> fishcakez: are they on irc?
23:49 <iFire> There's also some questions about what to do with the schema definitions
23:50 pHcF joined
23:52 <fishcakez> alisdair: the timeout for that is :infinity, its the time used to recv data from a socket
23:52 <fishcakez> i.e. :gen_tcp.recv
23:52 <fishcakez> iFire: yes but didnt highlight as late for them :)
23:52 <fishcakez> j0s5val1m and m1cmu5 without the numbers :P
23:53 <aeliton> alisdair: I'm asking that because I'm using httpoison to send a 15MB file in a 1Mbit connection and httpoison is returning {:error, %HTTPoison.Error{id: nil, reason: :timeout}} around the 9th minute of the connection. In that case, do you know what would explain the timeout error?
23:53 duane joined
23:54 <fishcakez> aeliton: it means each time doing a receive on a socket it should get data within 5 seconds
23:55 <alisdair> how come the entire elixir core team is in europe? that's like, continentalism
23:56 <fishcakez> half the core team work for the same company lol
23:56 <aeliton> got it, so :timeout is for the time the connection must be established and :recv_timeout is the frequency the socket must produce data for reading, is that correct?
23:57 chriswarren joined
23:57 <tristan__> huh, what company?
23:58 <fishcakez> football addicts
23:58 <tristan__> is that wehere you work?
23:58 <fishcakez> thats where aleksei, eric and andrea work
23:59 strykerkkd joined