<    April 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 24 25 26 27 28 29  
30
00:11 wong2 joined
00:25 InternetFriend joined
00:26 ultra|lazer joined
00:39 codestorm joined
00:40 Cohedri__ joined
00:50 chrismccord joined
00:57 sevenseacat joined
00:59 steffkes joined
00:59 steffkes joined
01:02 <ultra|lazer> Does anyone talk here, or is it mostly a place to stay afk
01:02 nighty-- joined
01:02 <sevenseacat> people talk when they have stuff to say :)
01:03 <ultra|lazer> I said hello an hour ago and no one was home ;)
01:04 <asonge> ultra|lazer: a lot of the activity is higher during the workday in EU and US
01:04 <ultra|lazer> Ahh, gotcha
01:04 <asonge> if you answer a question that someone knows the answer to, you'll usually get a quick reply
01:04 <asonge> *ask a question
01:04 <asonge> anyone here doing much stuff on google cloud services compared to AWS?
01:11 Cohedrin joined
01:21 whharris joined
01:22 bpmcd joined
01:27 Cohedrin joined
01:27 codestorm joined
01:33 refriedchicken joined
01:36 marcdel joined
01:36 mika_ joined
01:39 tomterl joined
01:41 kronicdeth joined
01:44 junsuijin joined
01:44 LastWhisper____ joined
01:44 <LastWhisper____> evening friends
01:54 mika_ joined
01:58 smferris joined
01:59 chrismccord joined
02:04 bpmcd joined
02:04 smferris joined
02:07 stevecohen joined
02:23 kushal_k` joined
02:24 sfbw joined
02:26 <ultra|lazer> LastWhisper____: hello
02:28 raycoll joined
02:29 <ultra|lazer> raycoll: you must be in my neighborhood
02:30 <LastWhisper____> hey there. for the 1.3 phoenix upgrade, im following chris's gist and I'm wondering about something like `alias Tuna.Repo`, do I rename to `alias Tuna.Web.Repo` ?
02:31 <sevenseacat> that would make sense, if thats what your Repo now is
02:31 <LastWhisper____> Tuna.Repo is completely made up name btw haha.
02:31 <LastWhisper____> An elixir distributor for Tuna hahaha
02:31 <chrismccord> LastWhisper____ Repo lives outside of the web namespace
02:31 <chrismccord> so it should remain Tuna.Repo
02:31 <LastWhisper____> ok
02:32 <chrismccord> Web is for the web interface of your app
02:32 smferris joined
02:32 <asonge> chrismccord: weird question i've been meaning to ask for months. do you think phoenix core will be "finished" at some point? not talking about pubsub, but i mean just the core of it and phoenix_html and such.
02:34 <chrismccord> asonge : it will be finished like plug is finished
02:34 <chrismccord> so never finished, but most interesting things will happen outside core
02:34 <asonge> forgot about plug. i can't help but think that plug might have one of the most stable interfaces in the community
02:35 <chrismccord> asonge : yeah indeed. I don't forsee massive changes to our apis anytime soon, so future releases won't go the way of angular 2, if tha'ts what you mean :)
02:36 <asonge> well, mostly i was just remembering what it was like when i first got into erlang. where perfectly good software had like...2-3 years without major commits, and people were still using it in new products
02:36 <chrismccord> asonge : but lots of interesting things to solve under the phoenix umbrella around distributed systems, but of course that won't happen in core
02:37 <chrismccord> asonge : hehe yes if I find a seemingly "abandoned" erlang lib, I treat it much differently compared to other langs
02:37 <sevenseacat> lol, in Ruby if something hasnt been touched in a month 'its abandoned, i can't use it anymore, whats the new shiny'
02:38 <asonge> sevenseacat: i think in a lot of other languages/libs, there's just always something lurking and broken, and often in some nether-region of the API where someone executes something in an unusual order or something.
02:39 <sevenseacat> aye
02:41 <LastWhisper____> another question about the upgrade... in my config.exs -- do I modify Tuna.PubSub to include the .Web. in there or is that really just for Web facing imports, and pub sub is its own lib ?
02:45 jeramyRR joined
02:47 zacts joined
02:48 <asonge> LastWhisper____: basically, web is for all the controllers and views
02:51 raycoll joined
02:55 InternetFriend joined
02:55 Sgeo_ joined
02:56 Sgeo__ joined
02:57 meandi_2 joined
03:00 steffkes joined
03:13 marcdel joined
03:18 nxtlvl joined
03:18 <nxtlvl> Is there a variant of elixir that uses symbolic-expr syntax ? i.e ()'s for everything.
03:35 <LastWhisper____> hey guys i'm looking at http://stackoverflow.com/questions/42462080/what-is-context-in-elixir-phoenix-html-generator -- and I'm a bit confused, is the context a necessary argument to pass?
03:39 <sevenseacat> yes.
03:40 <LastWhisper____> I'm not sure I follow what my context should be :(
03:40 <LastWhisper____> I should prob watch chris's keynote
03:41 <sevenseacat> :)
03:42 pesnk joined
03:44 <asonge> nxtlvl: not really, what are you looking for exactly?
03:45 <asonge> nxtlvl: lisp-flavored erlang is totally a thing though
03:55 <toastytheog> chrismccord: just got your book in the mail today. this is crazy awesome. i remember you talking about starting phoenix in '14
03:55 <sevenseacat> he's written more than one ;)
03:57 <toastytheog> re: programming phoenix
03:57 <toastytheog> crap, i got hosed on amazon, i see there is a 1.3 out
03:58 <sevenseacat> for programming phoenix? no there isnt
03:58 <LastWhisper____> u can pre order
03:58 <toastytheog> ohh, ok *phew*
03:58 <sevenseacat> surprised pragprog isnt advertising it, if thats so
03:59 <sevenseacat> I'd always buy from pragprog anyway, because you get free ebook updates for incremental versions like 1.3 ;)
04:00 sfbw joined
04:00 <toastytheog> yeah, will do that for the upgrade, prevent the wife from yelling at me for buying the same book multiple times xD
04:03 <toastytheog> excited to crack open elixir again, found myself using case statements in ruby with tuples for no reason other than missing pattern matching
04:05 sfbw joined
04:07 Ioyrie joined
04:08 codestorm joined
04:20 Cohedrin joined
04:23 arquebus joined
04:35 LastWhisper____ joined
04:41 jeramyRR joined
04:42 <LastWhisper____> hey guys if I'm creating a migration and I would like to add a field that is in a time format... e.g. "20 seconds", or "60 seconds" should I just treat it as a string and then parse it to a Timex object?
04:42 <LastWhisper____> database wise
04:44 <sevenseacat> I'd use a time field and store the proper value, eg 00:00:20
04:45 <LastWhisper____> where can i find some docs on what symbols .exs migrations accept when passing add :symbol ?
04:45 raycoll joined
04:45 <LastWhisper____> sorry -- add :field, :symbol
04:45 <Nicd-> postgresql also has an interval type
04:46 <Nicd-> if that makes more sense for a duration?
04:47 <sevenseacat> ooh I always forget about that one
04:47 <LastWhisper____> hmm i think time without timezone is fine
04:48 <LastWhisper____> i'm creating a "fitness_exercise" table
04:48 <LastWhisper____> and some will have a duration field
04:48 aunwin joined
04:51 <Nicd-> try interval then
04:51 <Nicd-> (if pgsql)
04:51 craigp joined
04:52 <LastWhisper____> it is psql!
04:52 andrew joined
04:54 Cidan joined
04:55 <Nicd-> disclaimer: I have never used interval
04:55 <Nicd-> but it sounds like it would be good
04:58 sfbw joined
04:58 wsieroci joined
05:01 steffkes joined
05:09 Cohedrin joined
05:12 gvaughn joined
05:28 smferris left
05:54 Cohedrin joined
05:58 Cohedrin joined
05:59 ffi_merlin joined
06:11 ffi_merlin joined
06:15 robinsjdotcom joined
06:17 m_m joined
06:21 Vez joined
06:22 imack joined
06:23 jkreeftmeijer joined
06:23 ffi_merlin joined
06:36 Cohedrin joined
06:39 asabil joined
06:39 imack joined
06:45 robinsjd_ joined
06:51 gokr joined
06:51 Cohedrin joined
06:52 codestorm joined
06:55 jkreeftmeijer joined
06:57 sevenseacat joined
07:01 gvaughn joined
07:01 steffkes joined
07:05 tuacker joined
07:10 milad joined
07:13 ZippoWeb joined
07:15 mark_66 joined
07:15 milad joined
07:15 milad joined
07:15 stephen_m joined
07:22 robinsjdotcom joined
07:23 harfangk joined
07:31 <Theophane> o/
07:32 robinsjdotcom joined
07:32 <Theophane> Am I the only one who can't browse ExDoc pages without internet access?
07:33 <Theophane> I'm using 0.15.1
07:33 flaviodesousa joined
07:37 asabil joined
07:40 nd__ joined
07:44 dastagg joined
07:46 codestorm joined
07:52 tuacker1 joined
07:57 asabil joined
08:00 nbg joined
08:01 craigp joined
08:04 Guest67_ joined
08:07 gregman_ joined
08:07 lexmag joined
08:10 akeating joined
08:13 <hq1> Hello, I need the ability to serialize/deserialize %Plug.Conn{} using some human-readable format (term_to_binary/1 is not an option). Has anyone implemented such codec? What would be the recommended approach?
08:14 jkreeftmeijer joined
08:16 jkreeftmeijer joined
08:17 jkreeftm_ joined
08:19 <PaReeOhNos> hq1: When you say human readable, what kind of output are you expecting, and how are you wanting to serialize it? You could always implement to `String.Chars` protocol, then just call to_string on in
08:21 <ffi_merlin> Theophane: I can browse the ExDoc without the internet probably you haven't loaded all the doc pages
08:21 <hq1> PaReeOhNos: I want to dump Plug.Conn to a file so it's readable in VCS. And then the ability to load it back for further processing.
08:22 <Theophane> ffi_merlin: I'm talking about exdoc, not hexdocs.pm :P
08:22 <hq1> And I only care about request/response specific attributes, private/assigns/etc. can be omitted
08:22 <Theophane> everything should be local
08:22 <Theophane> I'm seing weird stuff in the debugging console anyway
08:22 <Theophane> might open a PR
08:22 <OliverMT> hq1: use @derive Poison.Encoder and list the fields you want
08:22 <PaReeOhNos> hq1: I'd create a protocol and then implement it on the Plug.Conn module. You can then output whatever you want from it
08:22 <OliverMT> and then serialize to json
08:23 <OliverMT> readable and vcs'able
08:23 <hq1> OliverMT: Yeah, but I believe that won't work for request headers for example since it's a proplist (not a proper Keyword)
08:24 <OliverMT> make a proper defimpl proto then :)
08:24 <hq1> So I guess I'll just be explicit about the keys I need and encode/decode each value separately if needed
08:24 <hq1> hmm
08:25 colrack joined
08:25 <hq1> how would I fall back do default List protocol implementation in case it's not a proplist?
08:27 mattyw joined
08:30 <OliverMT> the protocol is for the Conn
08:30 <OliverMT> not for each field, cant you just iterate the keys on the struct and pattern match various functions depending on what the key is?
08:30 <OliverMT> match specifically on the hard ones
08:31 <hq1> yep, can do
08:31 <hq1> thanks
08:32 <OliverMT> :)
08:34 <hq1> I'll look for an example of some custom struct Encoder implementation to make sure it makes sense
08:39 <hq1> I mean the Encoder deals with iolists and that could be a bit too low level for what I need. Perhaps to_map / from_map implementations will be more readable.
08:40 <hq1> unless I'm expected to call Poison.encode! from within Encoder.encode implementation. Then the protocol doesn't get me much, right?
08:41 <Nicd-> Theophane: have you checked with your browser's devtools what happens when you open the docs?
08:41 codestorm joined
08:42 <Theophane> yeah I have two errors
08:42 <Theophane> Uncaught DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
08:43 <Theophane> :/
08:45 <Nicd-> does it work if you disable javascript?
08:45 ddrmanxbxfr joined
08:47 steffkes joined
08:47 steffkes joined
08:49 gvaughn joined
08:49 <micmus> hq1: you could use :io.format("~p", [conn]) and read it with :file.consult/1 (or using elixir terms, inspect(conn, limit: :infinity, structs: false) and read with Code.eval_file/2. Not everything in conn is deserialisible, though - it will contain some refs, pids and funs.
08:51 <hq1> micmus: perfect!
08:51 <micmus> the inspect + eval thing is used, for example, for mix.lock
08:52 <hq1> awesome, I was thinking "I wish I had file:consult/1" :P Thanks!
08:55 vmoravec joined
08:58 marr joined
08:59 jkreeftmeijer joined
08:59 asabil joined
09:03 codestorm joined
09:07 jkreeftmeijer joined
09:11 josevalim joined
09:13 lexmag joined
09:18 proteusguy joined
09:30 tazjin joined
09:37 codestorm joined
09:39 proteusguy joined
09:40 arekinath_ joined
09:42 kiltzman joined
09:43 kiltzman joined
09:45 kiltzman joined
09:47 kiltzman joined
09:48 kiltzman joined
09:49 kiltzman joined
10:07 hbraun joined
10:24 jkreeftmeijer joined
10:25 jkreeftmeijer joined
10:29 nighty-- joined
10:31 codestorm joined
10:32 craigp joined
10:38 gvaughn joined
10:43 josevalim joined
10:48 steffkes joined
10:48 steffkes joined
10:56 bturnbull joined
11:09 gmcabrita joined
11:23 jkreeftmeijer joined
11:23 dimitarvp joined
11:25 d10n-work joined
11:25 jkreeftmeijer joined
11:25 <craigp> arg, did a deps clean and upgrade on a project and now it's stuck trying to compile mimerl
11:25 <craigp> cpu is sitting at 100% after downloading the "pc" pkg .. for ages now
11:25 <craigp> is this normal, anyone seen this before?
11:25 codestorm joined
11:26 kiltzman joined
11:27 inoas joined
11:28 ffi_merlin joined
11:30 TinkerTyper joined
11:34 <craigp> I've deleted the deps and _build folder, I've even deleted the cached pc-1.5.0.tar
11:34 <ivan> craigp: that happened to me and then I upgraded rebar3 to master and it stopped happening
11:34 <ivan> I don't know how new rebar3 has to be, sorry
11:35 <craigp> i also reinstalled rebar3 with mix local.rebar .. how did you upgrade to master?
11:35 <craigp> ===> Fetching pc ({pkg,<<"pc">>,<<"1.5.0">>})
11:35 <craigp> ===> Downloaded package, caching at /Users/craig/.cache/rebar3/hex/default/packages/pc-1.5.0.tar
11:35 <craigp> y
11:35 <craigp> that's where i get stuck
11:36 <ivan> I bootstrapped it the hard way
11:36 <ivan> what do you see for rebar3 --version?
11:36 <craigp> rebar 3.3.5 on Erlang/OTP 18 Erts 7.2.1
11:37 <craigp> hmm, that might be the issue
11:37 <craigp> for my other projects I've been working on 19.2
11:37 <micmus> mix doesn't use system rebar
11:38 <micmus> it uses one in ~/.mix/rebar and ~/.mix/rebar3
11:38 <craigp> hmm, once I switched erlang version to 19.2 it worked
11:39 <craigp> thanks for the help .. works fine now and all tests pass
11:39 <craigp> didn't think to look at my .tool-version file
11:40 cevado joined
11:44 jkreeftmeijer joined
11:50 Guest67__ joined
11:53 jkreeftmeijer joined
11:54 jkreeftmeijer joined
11:54 jkreeftm_ joined
11:55 mr_bmt joined
12:04 cristianR_ joined
12:11 nomicflux joined
12:12 kronicdeth joined
12:18 steffkes joined
12:18 steffkes joined
12:19 jkreeftmeijer joined
12:19 codestorm joined
12:22 ffi_merl1n joined
12:23 milad joined
12:25 jkreeftmeijer joined
12:26 gvaughn joined
12:36 nomicflux joined
12:41 jkreeftmeijer joined
12:51 raycoll joined
12:58 chrismccord joined
13:00 harfangk joined
13:00 jkreeftmeijer joined
13:00 <kvbx> Hi is there a function to find out if a given map is a subset of another map?
13:01 ramortegui joined
13:04 JEG2 joined
13:07 proteusguy joined
13:07 dmilith joined
13:14 codestorm joined
13:16 jkreeftmeijer joined
13:17 sfbw joined
13:18 bitmod joined
13:19 smferris joined
13:20 sevenseacat joined
13:24 whharris joined
13:28 seancribbs joined
13:31 pesnk joined
13:31 bpmcd joined
13:33 akeating joined
13:35 <benwilson512> kvbx: hey there, it depends on what you mean
13:35 micro` joined
13:35 jkreeftmeijer joined
13:35 <benwilson512> maps aren't really sets. map keys form a set, but for maps themselves you have to consider values
13:35 <benwilson512> how do you want values to be handled?
13:35 <kvbx> benwilson512: I think I found a way.
13:36 <benwilson512> particularly if they too are maps
13:36 jkreeftmeijer joined
13:36 akeating joined
13:37 <kvbx> benwilson512: I do Enum.all?(subset, fn kv -> Enum.member?(superset, kv) end)
13:38 <kvbx> Seems to work for me
13:38 akeating joined
13:39 <kvbx> benwilson512: But thanks!
13:41 jkreeftmeijer joined
13:46 Gasher joined
13:47 <kvbx> Another question. There's List.delete/2 and List.delete_at/2 but only List.pop_at/2, no List.pop/2. Or am I missing something?
13:47 InternetFriend joined
13:48 <kvbx> Ahhh, that doesn't make any sense. Facepalm. I've already got the value, no need to return it.
13:49 LastWhisper____ joined
13:50 jkreeftmeijer joined
14:04 maxbeizer joined
14:08 pesnk joined
14:08 codestorm joined
14:15 gvaughn joined
14:15 seancribbs joined
14:18 gokr joined
14:22 jkreeftmeijer joined
14:22 akeating joined
14:28 gvaughn_ joined
14:30 bturnbull joined
14:32 InternetFriend joined
14:34 robinsjdotcom joined
14:35 cdg joined
14:36 talklittle joined
14:40 jkreeftmeijer joined
14:44 jkreeftmeijer joined
14:45 robinsjdotcom joined
14:45 robinsjd_ joined
14:46 nepiktaz joined
14:47 v0j joined
14:50 <m1dnight_> Hey guys, is there some existing bash stuff that allows me to easily start nodes on other machines over ssh?
14:51 <m1dnight_> or, what's a common solution to this problem, starting iex repls on serveral machines
14:52 jkreeftmeijer joined
14:55 <seancribbs> m1dnight_: not sure it will do everything you want but check out the :slave module from Erlang
14:55 <seancribbs> m1dnight_: also, :ct_ssh can be used to spawn nodes on other machines
14:59 jkreeftm_ joined
15:02 codestorm joined
15:03 asabil joined
15:06 codestorm777 joined
15:12 nighty-- joined
15:12 ZippoWeb joined
15:13 jkreeftmeijer joined
15:15 maxbeizer_ joined
15:16 jkreeftmeijer joined
15:16 stevecohen joined
15:21 raycoll joined
15:22 uamana joined
15:28 seancribbs joined
15:33 nepiktaz joined
15:36 <iFire> would it be worthwhile to stick a protobuffer document as a parameter or just use structs
15:37 <iFire> pros and cons?
15:37 imack joined
15:43 cevado joined
15:44 cdg joined
15:44 stevecohen joined
15:45 tuacker joined
15:46 <stevecohen> iFire: gave up on thrift?
15:49 amclain joined
15:50 dsimon joined
15:54 davidw joined
16:10 ejpcmac joined
16:21 arekinath joined
16:29 jkreeftmeijer joined
16:30 jkreeftm_ joined
16:31 sfbw joined
16:31 nurey joined
16:31 steffkes joined
16:31 steffkes joined
16:31 refriedchicken66 joined
16:32 stevecohen joined
16:32 mika_ joined
16:33 icecreamcohen joined
16:35 Cohedrin joined
16:35 <notriddle> iFire: What does the function do, exactly?
16:37 <asonge> iFire: can't say anything about what you're doing specifically, but generally you want to do all your coercion between serialization details and the more natural types at the borders of your system.
16:41 bturnbull joined
16:47 refriedchicken joined
16:57 mika_ joined
16:57 codestorm joined
16:58 refriedchicken joined
17:00 akeating joined
17:08 <iFire> stephen_m: nah
17:08 <iFire> stevecohen that system works like at alpha quality
17:09 <iFire> asonge: well I'm trying to make a distributed hash table that accepts location and returns either struct or protocol buffer documents
17:09 <iFire> like a spatial database
17:10 asabil joined
17:11 cevado joined
17:12 elixir-lang114 joined
17:14 hahuang65 joined
17:16 hahuang65 joined
17:16 nd__ joined
17:17 <iFire> think gis systems
17:18 jleon joined
17:23 Cohedrin joined
17:25 <jleon> hey, I am currently getting introduced with the Plug library, is there an example of sending a 200 response with a json playload i can look at?
17:26 <ivan> replace that send_resp(200, "Hello world") in the README with something that calls Poison.encode!
17:26 dratir joined
17:30 <jleon> You know what, that makes sense. Thanks
17:30 maxbeizer joined
17:35 <ultra|lazer> Does anyone here work as an elixir developer for a company?
17:36 <OliverMT> I run an elixir company, is that good enough? :P
17:37 mhutter joined
17:37 LastWhisper____ joined
17:37 <ultra|lazer> No
17:38 <micmus> There are quite of few of us ;)
17:38 <micmus> s/of/a/
17:38 <OliverMT> you work fulltime as a dev now micmus ?
17:38 <OliverMT> thought you had a year left as student
17:38 jkreeftmeijer joined
17:38 <adamkittelson> I've been doing elixir at work full time for a few years now, it's not all that uncommon anymore
17:39 <ultra|lazer> Not talking about startups or single person companies,
17:39 <ultra|lazer> Nice
17:39 <micmus> OliverMT: Yeah, I work as a dev 20-30h/week and go to uni, and some other things
17:39 <ultra|lazer> I graduate in June, mostly java dev but I really am digging elixir/Phoenix
17:39 jkreeftm_ joined
17:40 <ultra|lazer> Just wondered how common it is to have an actual elixir job, sounds like it's mostly a hobby language
17:40 <OliverMT> huh, we're 7 people
17:40 <micmus> ultra|lazer: if you're looking for who's using elixir there's https://github.com/doomspork/elixir-companies
17:40 <OliverMT> I wonder if I should bother writing up something for that list
17:40 <OliverMT> we've got three separate companies running their entire business on elixir in three completely different markets and businesses now :p
17:42 <ultra|lazer> Is that what you do, olivermt? Switch clients from Ruby to elixir?
17:42 <OliverMT> no, we have two projects migrated from java/groovy and one greenfield (technically a rewrite from a horrible abomination of fast cgi C (not joking))
17:42 <OliverMT> and currently waiting on last round of funding confirmations for a new greenfield ERP
17:43 <OliverMT> I *hate* ruby
17:43 <OliverMT> because I got it showed down my throat when I had to deal with puppet :D
17:43 <ultra|lazer> Wow nice, must be a real challenge to go from java to elixir
17:43 <OliverMT> not at all, I've both had haskell at uni and coded in a sort of functional imperative style for a long time
17:43 <LastWhisper____> wasn't one of the speakers at the orlando conf a guy from mexico who's company ported java to elixir?
17:43 <OliverMT> going from Spring enforced IoC to a functional pipeline is not a lot of a mental leap
17:44 <OliverMT> the biggest mental disconnect was having to gather up everything before you send it down your pipe
17:44 <OliverMT> especially for ACL for a rest api
17:44 <OliverMT> need to think about stuff at different places because the natural boundaries are very different
17:44 <ultra|lazer> Yes
17:45 <OliverMT> you operate on data, so you need all that data readily available
17:45 <OliverMT> instead of just sending a bunch of references down the chain and then every place collects its own data
17:45 <OliverMT> the functional way is orders of magnitude easier to maintain in the long term, I love it
17:45 <OliverMT> even though I am coding less and less these days :<
17:46 sfbw joined
17:46 <* notriddle> also points out that not having cross-process references allows BEAM to Never Ever Stop The World.
17:46 <ultra|lazer> I'm still figuring it out, my first project is a restful api using guardian/ueberauth for auth
17:47 <ultra|lazer> Figuring it out slowly but surely
17:47 <OliverMT> I made a udp load balancer in netty that pushed thousands of packets a second for about a year with no downtime, so you can do pretty nice stuff in java as well though notriddle
17:47 <OliverMT> I re-implemented spring security in elixir as a plug, havent had time to release it yet ultra|lazer
17:47 <ultra|lazer> I wish that elixir packages had better documentation, that is my only complaint so far
17:48 <OliverMT> you use module attributes on the controller for declarative acl
17:48 sfbw joined
17:49 <ultra|lazer> There's this beautiful and powerful documentation tool that seems to go largely unused
17:50 <notriddle> OliverMT: Did you have to use object pooling?
17:51 codestorm joined
17:52 squallstter joined
17:53 lexmag joined
17:54 <iFire> Should I be worried about struct's data footprint? Is there anything that describe the various erlang / elixir structures?
17:54 <Nicd-> describe in what way?
17:55 pesnk joined
17:55 ZippoWeb joined
17:56 seancribbs joined
17:56 drincruz joined
17:57 <OliverMT> struct is a map with one extra field
17:57 <iFire> well I'm basically using a key value store to store a huge stuct
17:57 <OliverMT> __struct__ key
17:57 <iFire> and I'm wondering is that a problem
17:58 <iFire> sometimes the various keys will be empty
17:58 <iFire> https://github.com/basho/riak_ensemble <- this thing
17:58 <OliverMT> notriddle: not sure tbh, netty does the heavy lifting there
17:59 <notriddle> Makes sense.
18:00 <Ankhers> Does anyone know where I can find information on Elixir GSoC? Specifically what projects students have submitted / looking to work on?
18:01 <OliverMT> some crazy dude did mongodb for ecto last year
18:02 <ultra|lazer> How many full time elixir guys you have, OliverMT?
18:06 <icecreamcohen> ultra|lazer: I’ve been working with elixir for a number of years
18:07 <ultra|lazer> That's pretty cool
18:08 m_m joined
18:11 cdg_ joined
18:14 mhutter` joined
18:15 mhutter joined
18:20 jkreeftmeijer joined
18:22 <ciawal> has anyone implemented anything for creating a versioned rest API in phoenix with autogenerated documentation?
18:23 <chrismccord> ciawal : there are a couple projects. One produces api docs from tests
18:23 <chrismccord> names are slipping my mind atm
18:24 <ciawal> do you know of anything offering a nice solution for versioning APIs?
18:26 jeffweiss joined
18:27 <Nicd-> iFire: how huge? structs are just maps
18:30 <micmus> Ankhers: most information is here https://github.com/beamcommunity/beamcommunity.github.com/wiki
18:31 <Ankhers> micmus: So there is no information about which projects people have applied for?
18:31 <micmus> Ankhers: that's available only to org admins/mentors
18:32 <micmus> We're currently waiting for google to allocate slots to the org
18:32 steffkes joined
18:32 cemilowski joined
18:33 cemilowski left
18:39 <Ankhers> Alright, I guess I will hold out until the projects are announced.
18:43 Guest55 joined
18:43 imack joined
18:46 codestorm joined
18:52 pandabo joined
18:52 pandabo left
18:52 ignacio_ joined
18:57 ZippoWeb joined
19:03 wsieroci joined
19:09 pesnk joined
19:09 Ilyes512 joined
19:10 <Ilyes512> does anyone here use fakers with elixir?
19:10 <Ilyes512> I was wondering how I could prevent the faker from being started once you decide to go live ie https://github.com/GesJeremie/faker-elixir
19:11 milmazz joined
19:11 <Ilyes512> Or is it neglectable for production ?
19:12 codestorm joined
19:15 <notriddle> You can have dependencies that only show up in prod mode. https://gist.github.com/notriddle/3d7195ef380ceaf446e4b7a56b535a84
19:16 <Ankhers> Ilyes512: What version of Elixir are you using?
19:18 dch_ joined
19:18 <Ilyes512> latest
19:18 <Ilyes512> 1.4.2
19:20 clay joined
19:24 <Ankhers> Ilyes512: Just doing what notriddle showed will work. When using elixir 1.4+, you will not need to tell your project to start the other various applications.
19:25 <iFire> ciawal: well elixir-thrift is good
19:25 <Ilyes512> ow somehow i didn't saw his line
19:25 whharris joined
19:25 <iFire> icecreamcohen: Btw the database driver is working, I'm slowly getting the sql functionality in. Think ecto.
19:26 <iFire> I was able to use phoenix to run the techempower tests
19:26 <Ilyes512> so yes i know about that but what about the application: "def application do [applications: [:faker_elixir_octopus]] end"
19:27 <Ilyes512> wont it error out because the deps wasn't added and you are trying to reference an app that does not exist?
19:27 dastagg joined
19:27 <Ilyes512> or is the way to go to add some kind of logic to that function that will return something different in production?
19:29 ramortegui joined
19:29 <Ankhers> Ilyes512: If you are using Elixir 1.4+, you don't need that line.
19:30 <Ilyes512> ow? hmm i need to do some more research then
19:31 <Ankhers> Ilyes512: https://github.com/elixir-lang/elixir/blob/v1.4/CHANGELOG.md#application-inference
19:31 m_m joined
19:31 m_m joined
19:32 <Ilyes512> ah tnx :)
19:32 jdqx joined
19:33 hbraun joined
19:42 codestorm joined
19:53 cevado joined
19:55 cdg joined
19:59 milad joined
20:00 milad joined
20:03 hxegon joined
20:03 pesnk joined
20:11 hahuang65 joined
20:11 Cohedrin joined
20:15 mfb2 joined
20:15 <mfb2> Hello all! Quick dirty question - is there a way to get from ".034" to a proper float without doing a bunch of text parsing?
20:15 milad joined
20:16 <mfb2> I'd like to be able to do soemthing like this: Decimal.parse(".34")
20:16 <mfb2> I haven't found anything right away in the docs, so I was just curious if anybody knew off-hand
20:17 <adam12> mfb2: How about String.to_float/1
20:17 <mfb2> nope, argument error
20:17 <mfb2> complains at the erlang part
20:17 <dimitarvp> well, I think that method converts a float to a string.
20:17 <adam12> Oh I see. No leading 0.
20:17 <dimitarvp> or that :D
20:17 <mfb2> yep exactly - the lack of a leading zero is throwing it off
20:18 <mfb2> Rather than going through and doing text manipulation, I was hoping that would be natively handled by some parser, as it seems like a very common scenario
20:18 seancribbs left
20:19 cevado joined
20:19 <OliverMT> the "manipulation" could be done with an extra function head though
20:20 <OliverMT> def your_function_name_here("." <> rest), do: your_function_name_here("0" <> rest)
20:20 <OliverMT> or something similar
20:20 <OliverMT> its a very clean and idiomatic way to clean input
20:20 milad joined
20:20 gokr joined
20:22 <mfb2> oh interesting - I didn't realize you could concatenate in a function head
20:22 <OliverMT> you are not doing it in the function head
20:22 <OliverMT> the first one is a pattern match
20:22 <OliverMT> the second one is simply concatenating in the argument
20:22 <adam12> String.replace_leading(".034", ".", "0.") |> String.to_float
20:23 <OliverMT> oh it should be , do: your_function_name_here("0." <> rest) ofc
20:23 <OliverMT> typo
20:23 <mfb2> OliverMT: gotcha, yeah that's why I was a bit confused :)
20:24 <OliverMT> any service/context that deals with input from REST will have a lot of these
20:24 <mfb2> adam12: looks like that's what I'll need to do... Was hoping to avoid going the string manipulation route, but cest la vide
20:24 <OliverMT> String.to_integer etc
20:25 <adam12> mfb2: Yeah.
20:25 <mfb2> precisely, I'm dealing with a hideous XML endpoint that enrages even the best of us
20:25 ignacio_ joined
20:26 gvaughn__ joined
20:31 PaReeOhNos joined
20:32 <mfb2> That did the trick! Thank you all!!! (highfive)
20:32 PaReeOhNos joined
20:33 PaReeOhNos joined
20:33 steffkes joined
20:33 steffkes joined
20:34 PaReeOhNos joined
20:34 PaReeOhNos joined
20:35 rschmukler joined
20:35 PaReeOhNos joined
20:36 PaReeOhNos joined
20:36 rschmukler joined
20:37 codestorm joined
20:37 PaReeOhNos joined
20:38 PaReeOhNos joined
20:38 PaReeOhNos joined
20:39 PaReeOhNos joined
20:40 PaReeOhNos joined
20:41 PaReeOhNos joined
20:41 PaReeOhNos joined
20:42 milad joined
20:42 PaReeOhNos joined
20:43 PaReeOhNos joined
20:44 PaReeOhNos joined
20:44 refriedchicken joined
20:45 PaReeOhNos joined
20:49 asabil joined
20:49 cdg joined
20:51 cdg joined
20:52 sfbw joined
20:52 ejpcmac left
20:53 cdg joined
21:00 cdg_ joined
21:06 <iFire> micmus: fishcakez am I running the ecto tests wrong? they're not running on a database, so I broke prepapred statements but 20 tests pass
21:08 gvaughn_ joined
21:09 cdg joined
21:11 m_m joined
21:12 <micmus> iFire: only the integration tests touch the database, the regular tests don't
21:13 <iFire> is it recommended to turn the regular tests into integration tests?
21:14 <iFire> actually I don't know what I was going for there
21:20 <micmus> iFire: the regular tests run on ecto the library without any adapter - so it would be hard to hit a database there - which one would it hit?
21:29 rschmukler joined
21:31 codestorm joined
21:34 ignacio_ joined
21:36 <OliverMT> whats ~N[datetime stuff]
21:36 <OliverMT> ecto sigil?
21:37 <micmus> OliverMT: it's NaiveDateTime sigil, built-in since 1.4
21:38 <OliverMT> hm
21:38 <OliverMT> ** (FunctionClauseError) no function clause matching in DateTime.to_string/1
21:38 <OliverMT> (elixir) lib/calendar.ex:1753: DateTime.to_string(~N[2017-04-11 16:39:36.139864])
21:38 <OliverMT> oh lol, its literally NaiveDateTime module
21:39 jkreeftmeijer joined
21:46 PaReeOhNos joined
21:46 rschmukler joined
21:47 whharris joined
21:54 Gasher joined
22:00 icapurro joined
22:07 <Ilyes512> is there an easy way of knowing what the minimal required erlang version is for elixir 1.4?
22:14 sfbw joined
22:15 PaReeOhN_ joined
22:18 coatezy joined
22:23 aeliton joined
22:23 sfbw joined
22:24 Ilyes512 joined
22:25 codestorm joined
22:27 <drewolson> Ilyes512: it's erlang 18.0 or later
22:27 <drewolson> (according to the readme)
22:34 steffkes joined
22:41 kronicdeth joined
22:50 steffkes joined
22:50 jimmyrcom joined
22:53 josevalim joined
23:03 icapurro joined
23:07 whharris joined
23:10 PaReeOhNos joined
23:10 <fishcakez> iFire: well youd need to link the tests to know but you would likely want to write your own SQL generation tests, integration tests you can call ectos
23:10 milad joined
23:19 codestorm joined
23:20 rschmukler joined
23:27 jeffweiss joined
23:29 Cohedrin joined
23:30 gvaughn_ joined
23:30 mika_ joined
23:43 jkreeftmeijer joined
23:49 hakunin joined
23:53 bturnbull joined