<    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:14 inspecteh_deck joined
00:19 Duckily joined
00:20 Ven joined
00:21 gvaughn_ joined
00:23 milad joined
00:44 chrismccord joined
00:47 robotika left
00:49 scarfacedeb joined
00:56 aedigix joined
01:07 MotherFlojo joined
01:08 chrismcc_ joined
01:09 jerel joined
01:12 steffkes joined
01:12 steffkes joined
01:14 chrismccord joined
01:15 chrismcc_ joined
01:15 griffin_nod joined
01:17 milad joined
01:19 cschneid_ joined
01:21 griffinbyatt joined
01:26 inspecteh_deck joined
01:28 raycoll joined
01:30 PaReeOhNos joined
01:30 chrismccord joined
01:35 inspecteh_deck joined
01:37 ctp joined
01:40 Guest_ joined
01:49 ratapaca joined
01:50 gvaughn joined
01:50 espam joined
01:50 <espam> Hello?
01:51 <PeregrinePDX> Hello
01:51 <espam> Aha how goes it? I just discovered Elixir and I'm quite curious about it.
01:52 <espam> I read through the entire Guide section. Pretty cool~
01:52 chrismccord joined
01:53 chrismcc_ joined
02:01 chrismccord joined
02:03 chrismcc_ joined
02:03 jbranchaud joined
02:04 <benwilson512> espam: welcome! glad you find it interesting
02:06 <espam> I'm probably going to start with some basic demo apps and figure out if it's a good fit for what I usually work with. ~It'll be interesting regardless~
02:07 chrismccord joined
02:09 siruf joined
02:09 oborot joined
02:10 chrismcc_ joined
02:12 milad joined
02:29 tomterl joined
02:34 zabirauf joined
02:43 zabirauf_ joined
02:44 cemilowski left
02:45 racycle joined
02:47 raycoll joined
02:59 hakunin joined
03:06 milad joined
03:08 MotherFlojo joined
03:11 craigger joined
03:13 steffkes joined
03:28 nomicflux joined
03:29 rschmukler joined
03:31 griffinbyatt joined
03:40 MotherFlojo joined
03:41 sardaukar joined
03:42 hexus0 joined
03:52 Duckily joined
04:00 milad joined
04:16 inspecteh_deck joined
04:21 cschneid_ joined
04:29 cschneid_ joined
04:33 Or1on joined
04:39 harfangk joined
04:54 milad joined
04:55 raycoll joined
04:55 inspecteh_deck joined
05:13 steffkes joined
05:13 steffkes joined
05:18 cschneid_ joined
05:19 ignacio_ joined
05:20 cschneid_ joined
05:21 gvaughn joined
05:23 jbranchaud joined
05:24 inspecteh_deck joined
05:32 inspecteh_deck joined
05:46 hahuang61 joined
05:48 milad joined
05:56 MotherFlojo joined
06:04 inspecteh_deck joined
06:30 inspecteh_deck joined
06:33 voltone joined
06:34 cschneid_ joined
06:37 Or1on joined
06:43 milad joined
06:48 icanhazbroccoli joined
06:50 meandi_2 joined
07:00 jbranchaud joined
07:05 Scramblejams joined
07:08 JuanMiguel joined
07:15 steffkes joined
07:17 hakunin joined
07:20 Scramblejams joined
07:22 icanhazbroccoli joined
07:26 tuacker joined
07:31 rschmukler joined
07:36 acscherp joined
07:36 milad joined
07:40 scarfacedeb joined
07:47 hahuang61 joined
07:55 stephen_m joined
07:56 tuacker joined
07:57 wong2 joined
07:57 MotherFlojo joined
08:03 <Nicd-> ok, time to learn some macros
08:03 <Nicd-> I have no idea what I am doing
08:17 ignacio_ joined
08:20 MarioBranco joined
08:32 inspecteh_deck joined
08:33 wsieroci joined
08:37 dignifiedquire joined
08:42 JuanMiguel joined
08:44 NeverDie joined
08:47 Guest__ joined
09:02 jbranchaud joined
09:03 josevalim joined
09:04 celyr joined
09:04 celyr joined
09:09 siruf_ joined
09:14 m_m joined
09:15 steffkes joined
09:16 scarfacedeb joined
09:16 colrack joined
09:18 hahuang61 joined
09:18 nepiktaz joined
09:20 milad joined
09:20 phansch joined
09:22 phansch joined
09:31 squallstter joined
09:36 dch_ joined
09:46 PaReeOhNos joined
09:52 Gasher joined
09:52 Guest67_ joined
09:53 tetiana joined
10:01 nighty joined
10:07 <smeevil> o/
10:13 zv joined
10:16 wong2 joined
10:18 dani0_ joined
10:19 <harfangk> \o/
10:19 gmcabrita joined
10:30 wsieroci joined
10:34 lexmag joined
10:46 gvaughn joined
10:47 teddysmoker joined
10:49 dignifiedquire joined
10:58 m_m joined
10:58 raycoll joined
10:59 wsieroci joined
11:01 cschneid_ joined
11:03 Ven joined
11:07 cemilowski joined
11:13 Ven_ joined
11:16 inspecteh_deck joined
11:16 steffkes joined
11:16 steffkes joined
11:17 milad joined
11:19 hahuang61 joined
11:21 tetiana joined
11:21 MotherFlojo joined
11:31 embik joined
11:32 milad joined
11:35 jkreeftm1ijer joined
11:35 <jkreeftm1ijer> /HILIGHT nick
11:39 jkreeftmeijer_ joined
11:42 jkreeftmeijer joined
11:44 robinsjdotcom joined
11:52 frmendes joined
11:56 <smeevil> o.O
11:56 <smeevil> set nick on fire ! \o/
12:01 travis-ci joined
12:01 <travis-ci> elixir-lang/elixir#13972 (master - 557d856 : Jeff Kreeftmeijer): The build passed.
12:01 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/0cedfc70d02f...557d856ac74d
12:01 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/212667805
12:01 travis-ci left
12:01 l14n joined
12:23 milad joined
12:24 acscherp joined
12:32 wtetzner joined
12:32 wsieroci joined
12:34 gvaughn joined
12:41 JuanMiguel joined
12:48 acscherp joined
12:50 dimitarvp joined
12:53 <Nicd-> can anyone help me with writing a macro? I'd like to wrap a function to insert code before and after it. like if you wrote `run args do playwith(args) end` it would be turned into `def run(args, opts) do pre(opts); playwith(args); post(opts) end`
12:54 <Nicd-> I don't know how to grab the "args" of the run macro to use in the generated code
12:56 cemilowski left
12:56 milad joined
13:00 <ciawal> you just need to unquote no?
13:01 <Nicd-> let me write something and pass it by you
13:03 jbranchaud joined
13:04 klltkr joined
13:12 lexmag joined
13:13 lexmag joined
13:16 jkreeftmeijer joined
13:17 cschneid_ joined
13:17 steffkes joined
13:17 steffkes joined
13:18 jkreeftmeijer joined
13:20 hahuang61 joined
13:22 MotherFlojo joined
13:22 MarioBranco joined
13:26 milad joined
13:31 jkreeftmeijer joined
13:32 gvaughn joined
13:38 <Nicd-> ciawal: this is what I have now: https://gist.github.com/Nicd/2e8ed1fcf78f53d14be79f4827f58d93 and it says "** (CompileError) lib/mix/tasks/frontend.clean.ex:7: undefined function run/2", I don't have the faintest idea if I'm on the right track
13:39 the_voice- joined
13:48 jkreeftmeijer joined
13:57 <ciawal> Nicd-: why not just pass an anonymous function which gets wrapped instead/
13:57 <ciawal> without a macro
13:58 <Nicd-> ciawal: can you elaborate?
13:58 <ciawal> hm I'm not sure what the behavuour here would be since you're trying to make a run/2 macro and a run/2 function
13:59 <ciawal> you didn't import also
13:59 <Nicd-> I can change the name
13:59 <ciawal> so I think the run macro is not available
13:59 <Nicd-> isn't it made available by the `use`? or do I need to import it in the __using__?
13:59 <ciawal> yeah, the latter
14:00 <Nicd-> !!!!!! it did stuff!
14:00 <josevalim> Nicd-: you need to import the mdule inside __using__
14:00 superherointj joined
14:00 <Nicd-> I updated the gist and at least it runs! https://gist.github.com/Nicd/2e8ed1fcf78f53d14be79f4827f58d93
14:01 <superherointj> Just seen one thing. at Windows using PowerShell ¨iex¨ conflicts with native ¨Invoke-Expression Cmdlet¨. https://technet.microsoft.com/en-us/library/ee176880.aspx
14:01 <Nicd-> thankyou so much ciawal
14:02 <Nicd-> it's my first ever macro \o/
14:03 <ciawal> o/
14:03 <Nicd-> with this my frontend build tool will be somewhat ready
14:03 <superherointj> I already have an elixir service in production since yesterday. I glued it with tape and it´s running. lol
14:03 <Nicd-> just need to do some cleanup and separate it from my project
14:04 <Nicd-> I have two web services in production but this is the first macro I have written :)
14:10 Guest__ joined
14:12 arathunku joined
14:14 <fishcakez> Nicd-: if only others followed closer to your example
14:14 <Nicd-> what example in this case?
14:14 oetjenj joined
14:15 jbranchaud joined
14:16 DLSteve joined
14:17 wsieroci joined
14:23 <superherointj> iex.bat was the solution. :)
14:24 ignacio_ joined
14:28 <drewolson> benwilson512 I'm curious why sometimes in absinthe type is provided directly as an atom as other times as `type: :thing`
14:31 Or1on joined
14:32 DrLawyerBot joined
14:34 DLSteve joined
14:35 <drewolson> benwilson512 is it just that any time a field takes a do block and returns a singular type, you use the `type: :thing` style?
14:36 tetiana joined
14:37 wtetzner joined
14:37 dani0_ joined
14:39 <Nicd-> hmm, I have `Logger.info` in my code and after it I have `IO.puts`, the IO line is printed first. I guess Logger runs in a separate process and it's a race condition?
14:40 <drewolson> Nicd- yes I believe it is in a separate process
14:48 jkreeftmeijer joined
14:50 Thinh joined
14:53 zabirauf joined
14:53 milad joined
14:56 JuanMiguel joined
14:59 tetiana joined
15:01 bungoman_ joined
15:10 travis-ci joined
15:10 <travis-ci> elixir-lang/elixir#13979 (master - c042794 : Jeff Kreeftmeijer): The build passed.
15:10 <travis-ci> Change view : https://github.com/elixir-lang/elixir/compare/557d856ac74d...c0427947e099
15:10 <travis-ci> Build details : https://travis-ci.org/elixir-lang/elixir/builds/212700357
15:10 travis-ci left
15:10 <jkreeftmeijer> \o/
15:12 <ciawal> Nicd-: it's also stderr vs stdout
15:12 <ciawal> I think logger always prints to stderr?
15:14 alex88 joined
15:14 griffinbyatt joined
15:16 gvaughn joined
15:18 steffkes joined
15:19 milad joined
15:20 hahuang61 joined
15:23 MotherFlojo joined
15:24 espam joined
15:32 wsieroci joined
15:44 Cthalupa joined
15:53 scarfacedeb joined
15:53 racycle joined
15:54 milad joined
15:54 milad joined
15:56 lexmag_ joined
15:57 jbranchaud joined
15:59 m_m joined
16:00 Cthalupa joined
16:02 noamcore joined
16:06 scarfacedeb joined
16:08 gabrielg joined
16:09 MotherFlojo joined
16:11 PaReeOhNos joined
16:12 <gabrielg> Hello all! I need your help guys! I'm trying to deploy a phoenix app on digitalOCean with edeliver, and the build and release commands work without a problem, but when I try to start the application it gives me a "mesg: ttyname failed: Inappropriate ioctl for device" error. Now, from what I've read on internet, it's an old C error and I cannot find the link with my project, to correct the possible bug. Can anyone help me with
16:14 <gabrielg> I have already an app on digitalOcean and it works like a charm, so I really don't know where is the error... I've also tried reinstalling everything 3 times :(
16:17 scarfacedeb joined
16:18 tuacker joined
16:19 hexus0 joined
16:20 <espam> What command causes this error?
16:21 <gabrielg> Hi espam :) This command: "mix edeliver start production --verbose"
16:22 <gabrielg> And "mix edeliver build release --verbose" -> "mix edeliver deploy release to production --verbose" works percetly
16:24 <gabrielg> As I said, I have another app on digital which works, and the other day I've tried to replace it with this one and it worked, so It has to be an error linked to a missing config or a missing lib or a wrong lib version (but I use the same elixir version)
16:24 <espam> gabrielg, Here’s a goofy question, have you tried spinning up a new instance and deploying the app there?
16:25 ignacio_ joined
16:27 raycoll joined
16:27 hexus0 joined
16:27 oetjenj joined
16:28 raycoll joined
16:29 <gabrielg> Yep, I've tried spinning a new instance and reinstalling everything 3 times, so I'm missing something, but I cannot figure out what
16:29 <espam> Is this error actually stopping the install or is it just notifying you and proceeding?
16:30 hexus0 joined
16:31 <gabrielg> It says:
16:31 <gabrielg> -----> starting production servers
16:31 <gabrielg> response: mesg: ttyname failed: Inappropriate ioctl for device
16:31 <gabrielg> START DONE!
16:32 gvaughn joined
16:32 <gabrielg> Maybe the server is starting but it doesn't accept request or the startup is being aborted, either way the server keeps giving me "ERR_CONNECTION_REFUSED"
16:33 <espam> From the man page here: http://man7.org/linux/man-pages/man3/ttyname.3.html It sounds like some underlying library or function is trying to obtain the >name of the terminal<, which, if you’re shooting this code over a remote connection, probably doesn’t exist. The “terminal device” that you’re using is likely an unnamed SSH connection. “Edeliver uses ssh and scp to build and deploy the releases.”
16:33 <gabrielg> Btw thanks for helping me!
16:33 <espam> (https://github.com/boldpoker/edeliver#installation)
16:34 <espam> Could you try testing whether or not you can use the app?
16:34 <espam> My guess is that this is a silent warning that can be ignored.
16:34 hexus0 joined
16:35 espam joined
16:36 <gabrielg> The app is not usable, try visiting: yourself, it continues to give me ERR_CONNECTION_REFUSED
16:37 <espam> Could you try
16:37 <espam> curl http://localhost
16:37 <espam> (from an SSH connection into the server)
16:37 <gabrielg> from server, right?
16:37 <espam> yeah
16:37 <gabrielg> curl: (7) Failed to connect to localhost port 80: Connection refused
16:38 <gabrielg> maybe I'm not even accepting connections on :80?
16:38 <espam> Humph. Have you tried manually copying the code over and running it manually? To me, this sounds more like an issue with the code you’re deploying and not so much the deployment tool.
16:38 scarfacedeb joined
16:39 <gabrielg> trying right now
16:40 Or1on joined
16:43 <gabrielg> Ok, maybe I've found the error :) I had the ip line in prod.exs pointing to an old ip server
16:44 nomicflux joined
16:44 <gabrielg> Now I'm trying again to deploy the app, I hope it will work now... Thanks a lot espam ;)
16:48 griffinbyatt joined
16:49 milad joined
16:49 espam joined
16:51 nanohest joined
16:51 refriedchicken joined
16:53 ignacio_ joined
16:56 icanhazbroccoli joined
16:58 milad joined
17:06 <Nicd-> fishcakez: what exampleeee?
17:06 JuanMiguel joined
17:07 <fishcakez> 14:04 <Nicd-> I have two web services in production but this is the first macro I have written :)
17:07 <Nicd-> ohh
17:07 alex88_ joined
17:07 <Nicd-> my stuff is too simple
17:07 MotherFlojo joined
17:11 mabynogy joined
17:14 fxn joined
17:18 cschneid_ joined
17:19 steffkes joined
17:21 hahuang61 joined
17:31 espam_ joined
17:31 jeramyRR joined
17:37 bungoman joined
17:39 jbranchaud joined
17:39 ignacio_ joined
17:41 harfangk joined
17:41 squallstter joined
17:43 raycoll joined
17:44 Uniaika joined
17:46 m_m__ joined
17:57 <Nicd-> it seems Keyword.get works with a semi-kw-list such as [1, 2, 3, foo: true, bar: false], but almost none of the others do. :/
17:57 <Nicd-> would be nice if the others worked too
18:01 espam_ joined
18:01 milad joined
18:02 l14n_ joined
18:02 JuanMiguel joined
18:06 PigDude joined
18:06 wsieroci joined
18:10 dani0_ joined
18:12 PigDude left
18:18 Ioyrie joined
18:21 <fishcakez> Nicd-: you could propose this to core mailing list - especially to say that many erlang libs support non tuple atom,value pairs in their otherwise keyword list style options
18:21 jbranchaud joined
18:22 <micmus> tbh, I really don't understand why the Keyword module is limited to atom keyed tuples...
18:22 <micmus> having it work on string-keyed ones would be su useful in many cases
18:22 <Nicd-> ehh, I broke my macro :(
18:23 <Nicd-> no idea how
18:23 <espam> Hahaha isn’t that always the case?
18:23 <espam> Do you have a gist of it?
18:25 <OliverMT> bitwalker: tristan__ do you guys use ingress with ur kubernetes? It says its beta but it looks fairly solid
18:26 <Nicd-> espam: https://gist.github.com/Nicd/2e8ed1fcf78f53d14be79f4827f58d93 returns "unbound variable _" -- now I understand it's because I gave _ and it's trying to look for a value inside _ but I hope you get what I'm trying to accomplish
18:28 acscherp joined
18:28 jeramyRR joined
18:29 chriswarren joined
18:30 <Nicd-> I replaced both `unquote(args)` with just `args` and that may have fixed it?
18:30 <espam> Aaaaah so is it all set now? Pretty interesting Macro. I dig it.
18:30 <espam> Looks like you’re never quoting the args
18:30 <espam> (In
18:30 <espam> task _ do
18:30 <espam> IO.puts("Test")
18:30 <espam> end
18:30 <espam> )
18:31 <Nicd-> where should I quote stuff there? that's where I use the macro
18:31 <Nicd-> it uses _ because it doesn't use the args
18:32 <Nicd-> but if it did use the args it would be `task args do ... foo(args) ... end`
18:32 icanhazbroccoli joined
18:33 <ciawal> Nicd-: perhaps this could be simpler if you just use a different name to "run" for the user-implemented method
18:33 <ciawal> and your `use` will implement run and call the other method
18:33 <ciawal> then no more need for this macro stuff
18:34 <Nicd-> the function must be called run
18:34 <Nicd-> it's a mix task
18:34 <ciawal> no
18:34 <ciawal> you define run
18:34 <ciawal> the user defines my_run
18:34 <ciawal> and you call my_run from run
18:35 <Nicd-> where do I define run? can you write an example?
18:35 <ciawal> in __using__
18:35 <ciawal> in the quote:
18:35 <ciawal> def run(args) do
18:35 <ciawal> # before stuff
18:35 <ciawal> my_run(args)
18:35 <ciawal> # after stuff
18:35 <ciawal> end
18:35 Cohedrin joined
18:35 <ciawal> thus if the user has `use BuildTask` and `def my_run(_)`, they get the wrapper stuff
18:36 <Nicd-> ohhhhh
18:36 <ciawal> and this avoids having to do any macro stuff
18:36 <Nicd-> you mean to say this has all been for nothing?
18:36 Or1on joined
18:36 <Nicd-> ;_;
18:36 <ciawal> I am just proposing an alternative ;)
18:38 <espam> Bahahah
18:39 <Nicd-> but if it's complicated, it makes me look wise
18:39 nanohest joined
18:39 <ciawal> not if it's overcomplicated ;)
18:42 rschmukler joined
18:42 <Nicd-> ehh, my logger outputs are coming in the wrong order
18:43 <Nicd-> or just problems in my code
18:43 lexmag joined
18:46 cschneid_ joined
18:47 espam_ joined
18:49 <Nicd-> so, anyone used :fs for watching?
18:50 <micmus> Nicd-: why not have a regular mix task, that would call inside it's run function BuildTask.run(fn -> end, deps: []) to get the additional behaviour like logging, etc.
18:50 <micmus> I don't see anything that would inherently require macros in the gist you posted
18:50 <Nicd-> micmus: because then I would have to call it in every task
18:51 <Nicd-> so all tasks would look like `def run(args) do BuildTask.run(fn -> actual_code() end, deps: @deps) end`
18:52 <Nicd-> I don't like how that looks :P
18:54 <micmus> yeah, it's a bit more verbose
18:55 <Nicd-> ciawal: problem with your style is that the @deps is always [] now
18:55 <Nicd-> even if there is a @deps in the using module
18:55 <Nicd-> here's what it looks like now: https://gist.github.com/Nicd/2e8ed1fcf78f53d14be79f4827f58d93
18:57 cschneid_ joined
18:57 markh joined
19:02 nomicflux joined
19:03 <Nicd-> my original dream was that it could have been like a normal mix task, so `def run(args) do ... end` and just adding `use BuildTask` and @deps would do the right thing
19:04 <ciawal> so do that?
19:04 <beatpanic> hi, do you know some open source project that uses swarm coded by bitwalker ? thanks
19:04 <Nicd-> ciawal: I don't know how!
19:04 byte512 joined
19:05 <Nicd-> I'm trying
19:06 <smeevil> what do people use for localizing date / time formats ? as in giving a db utc format, and outputting the correct local time with formatting according to the current country
19:07 <alisdair> smeevil: store time as utc, store time zone for user separately, convert on read
19:07 <alisdair> you can do it all natively in postgres
19:08 <smeevil> yeah already going down that path, but was hoping either gettext or timex had support for it
19:08 <Nicd-> might need to store offset too if dealing with future datetimes
19:10 <smeevil> Countriex contains about all info for a country, except date / time formatting string
19:10 <ciawal> I didn't see what the issue with it was Nicd-
19:10 montanonic joined
19:10 <Nicd-> ciawal: your version? @deps is always []m not the one defined in the task
19:11 <ciawal> your goal version I mean
19:11 <Nicd-> the fact that I don't know how to do it :D
19:12 <ciawal> didn't you have it working with the macro?
19:12 <Nicd-> I had `task _ do ... end` with the macro
19:13 <ciawal> it feels a little magic having the def run which is wrapped with stuff honestly…
19:14 <ciawal> what about just having the user call some_function(deps) in the regular mix task run()
19:14 gradenb joined
19:15 <Nicd-> I would have to wrap it like micmus suggested which is too ugly IMO
19:15 <ciawal> why?
19:15 <ciawal> it has to do something afterwards?
19:15 <Nicd-> better to settle this macro stuff once to make the tasks look nicer
19:16 <Nicd-> yes, it runs before and after the task
19:16 <ciawal> what will it run after?
19:18 <Nicd-> https://gist.github.com/Nicd/2e8ed1fcf78f53d14be79f4827f58d93#file-buildtask-ex-L32
19:19 <ciawal> I guess the user is manually invoking the task so is it really necessary to tell them it's finished?
19:20 steffkes joined
19:20 JuanMiguel joined
19:20 MotherFlojo joined
19:22 jbranchaud joined
19:22 hahuang61 joined
19:22 nahtnam joined
19:23 <micmus> Nicd-: I would go the other way, first build it using a function, and later wrap this in a macro if it's too verbose
19:24 <micmus> building a function is easy, wrapping function with a macro isn't that complex either.
19:24 nomicflux joined
19:24 <micmus> Doing both things at once in a macro directly, is much harder
19:28 dani0_ joined
19:30 stephen_m joined
19:37 cschneid_ joined
19:40 wsieroci joined
19:41 <Nicd-> ciawal: this is for a build system, the tasks call eachother
19:42 <Nicd-> it's useful to see the execution hierarchy
19:42 <Nicd-> micmus: it was already built with a function and it was inadequate
19:42 <asonge> Nicd-: what kinds of failures were happeneing that threw it off?
19:44 <Nicd-> asonge: no kinds of failures, but you had to write in a verbose style wrapping every run()
19:46 <asonge> Nicd-: so you just want to wrap something that defines a `run` function, but wraps it?
19:46 <Nicd-> gah :D
19:49 <Nicd-> my goal was: `defmodule Mix.Tasks.Foo do \n use BuildTask \n @deps ["frontend.clean", "frontend.build"] \n def run(args) do ... code here ... end \n end` and that would run the tasks in @deps before the code in the run function (unless deps: false was given in args), print "[Started] foo" before the task and then "[Finished] foo" after it
19:49 gokr joined
19:50 <asonge> so...module attributes are funny things.
19:51 <asonge> when you run `use`, the macro runs right the, but the code to define the module attribute runs later.
19:51 <benwilson512> asonge: yeah it's a bit wonky if you ever call Module.put/get_attribute inside the macro as well
19:52 <benwilson512> cause those will fun PRIOR to any of the @ stuff running
19:52 <benwilson512> *run
19:52 <asonge> yep.
19:52 <Nicd-> I wouldn't even know how to replace the run function with my own that has the same name
19:53 <asonge> you could use defoverridable and provide a default run function
19:53 <asonge> but if you want to make it impossible to override the run without your wrapper, you can replace Kernel.def and intercept defining run with 1 arg :)
19:55 <asonge> Nicd-: https://hexdocs.pm/elixir/Module.html#module-compile-callbacks this might help you somewhat
19:55 <asonge> with macros, you almost have to learn by playing, making enough mistakes that you know the boundaries of where the dragons live
19:56 <Nicd-> oh well, I'll just go with what I have now, it's good enough for me :P
19:56 <Nicd-> now I need to implement a delay to my fs watchers
19:56 <asonge> before_compile runs after all the code in the defmodule do block runs, and you can "have the last word" there
19:56 <Nicd-> they're too eager
19:57 icanhazbroccoli joined
19:58 milad joined
19:59 kyrix joined
20:01 rschmukler joined
20:02 JuanMiguel joined
20:03 [0__0] joined
20:04 espam joined
20:05 targaf joined
20:07 Na joined
20:07 zabirauf joined
20:09 jamick joined
20:11 zabirauf_ joined
20:11 manjaro-web|7995 joined
20:12 <manjaro-web|7995> Hi everyone, newbie curious about elixir code lang. Can you explain me some of its strength?
20:13 <manjaro-web|7995> Or better: For what is best used? And why do you use it?
20:13 zabirauf joined
20:21 Scramblejams joined
20:21 Lyubo1 joined
20:23 <benwilson512> manjaro-web|7995: hey there! The main website and and other introductory literature should give you basic sense of it
20:23 <manjaro-web|7995> ye ye but why this lang and not that?
20:24 <benwilson512> but the two main characteristics of Elixir is the concurrency model it gets from the platform
20:25 <benwilson512> Elixir / Erlang have a very unique concurrency model built on a multitude of small concurrent processes, each with their own memory space
20:26 <manjaro-web|7995> A better way to allocate memory?
20:28 rschmukler joined
20:28 <benwilson512> well what it gets you is isolation
20:29 <manjaro-web|7995> isolation?
20:29 <benwilson512> if a processes crashes it can never leave any other processes's memory in an invalid state
20:29 <benwilson512> if you run multiple threads in many lanaguages problems in one thread can put memory values accessed by other threads in corrupt states
20:30 <ivan> manjaro-web|7995: what languages do you use now?
20:30 <benwilson512> so for example the Phoenix web framework has a websocket platform that they tested with 600 thousand connections on a 16gb server
20:30 <benwilson512> and each of these connections is nicely isolated from one another
20:30 <benwilson512> this means no blocking for example
20:31 <benwilson512> even if you put one of the processes in an infinite loop, every other process just carries on
20:31 <benwilson512> unblocked
20:31 <iFire> benwilson512: of course this doesn't mean if you run out of the machine's memory the whole elixir system is ok
20:36 tetiana joined
20:37 MarioBranco joined
20:40 jbranchaud joined
20:48 Sgeo joined
21:01 meh` joined
21:03 milad joined
21:12 jkreeftmeijer joined
21:20 jerel joined
21:21 steffkes joined
21:22 ignacio_ joined
21:22 dch_ joined
21:23 hahuang61 joined
21:25 noahsussman left
21:25 oborot joined
21:28 bcq joined
21:28 FMJaggy joined
21:28 <bcq> does elixir compile to core erlang or erlang?
21:29 griffinbyatt joined
21:31 Ioyrie joined
21:39 <alisdair> neither
21:39 <alisdair> it compiles the erlang ast
21:39 <alisdair> to erlang ast
21:41 charlenopires joined
21:44 <bcq> alisdair: http://erlang.org/doc/apps/erts/absform.html ?
21:45 milad joined
21:47 dch_ joined
21:50 Or1on joined
21:54 Sgeo joined
21:58 charlenopires joined
22:01 robinsjdotcom joined
22:06 <termos> i'm trying to cast some types in my ecto queries from datetime to date, as in the following psql expression: select created::timestamp::date from entries;
22:06 marr joined
22:08 <termos> is there a similar way of doing this in ecto dsl? I tried "from e in entries, select: type(e.created, :date) and similar but it keeps telling me it's not a valid query expression
22:13 jkreeftmeijer joined
22:18 m_m joined
22:19 scarfacedeb joined
22:19 m_m joined
22:20 jamick joined
22:20 m_m joined
22:20 smferris joined
22:21 m_m joined
22:21 <termos> figured I could do it like so but not sure it's the best way: select: fragment("?::timestamp::date", p.created_at)
22:27 hahuang61 joined
22:27 m_m joined
22:28 zabirauf joined
22:31 Sgeo joined
22:33 zabirauf joined
22:34 montanonic joined
22:35 raycoll joined
22:36 jbranchaud joined
22:40 hahuang61 joined
22:41 abassetto joined
22:43 griffinbyatt joined
22:43 bitmod joined
22:55 hexkey[m] joined
22:56 nahtnam joined
23:06 Reshi joined
23:07 cemilowski joined
23:07 Tetiana joined
23:09 alex88 joined
23:21 tetiana joined
23:21 steffkes joined
23:21 steffkes joined
23:22 <liru> Is there an established method for dynamically loading modules/plugins in an application?
23:23 cemilowski left
23:24 cschneid_ joined
23:27 hexus0 joined
23:27 m_m joined
23:33 zabirauf joined
23:40 rschmukler joined
23:41 hipertracker joined
23:48 ARR joined
23:57 bitmod joined
23:57 the_voice- joined
23:57 rschmukler joined