#elixir-lang

/

      • sriprasanna has quit
      • tiglionabbit joined the channel
      • assia_t has quit
      • devbug has quit
      • assia_t joined the channel
      • mikepack_ has quit
      • mikepack joined the channel
      • assia_t has quit
      • lexmag joined the channel
      • tiglionabbit has quit
      • mikepack has quit
      • tiglionabbit joined the channel
      • lexmag has quit
      • edgurgel has quit
      • edgurgel joined the channel
      • jonahR has quit
      • onkel-dirtus has quit
      • edgurgel has quit
      • icarus75 has quit
      • joc has quit
      • bitwalker has quit
      • beamie has quit
      • tiglionabbit has quit
      • tiglionabbit joined the channel
      • jadams
        hey jeregrine what are you doing?
      • guess what I'm working on
      • ericmj: I'm absolutely cribbing (nicer to say than cargo culting) from hex_web's setup for beam toolbox's data layer
      • chrismccord: what's action/2?
      • nhu joined the channel
      • chrismccord
        jadams: The function we inject into controllers to carry out the controller action
      • that you mapped in you Router definitions
      • jadams
        ok
      • btw re: the earlier discussion on ws auth, I've always just pushed a token down the ws and authed that way
      • authd, sorry
      • then authz happens just normally (can he do this?)
      • chrismccord
        jadams: Ok cool. That's what jose and I settled on for the time being
      • jadams
        it's extremely easy to do, but having it DOCUMENTED as the way to do it would be nice
      • I remember an unpleasant day or two when I first settled on this and didn't know it was common
      • chrismccord
        jadams: Sigh yes. Guides guides guies
      • jadams
        I didn't mean *you* needed to write it, was't trying to badger or w/e :)
      • convince Ryan Bigg to use Phoenix and guides will come for free :)
      • well, free to you
      • that guy's great
      • chrismccord
        Lance Halvorsen, who attended ElixirConf, has offered to assist with guides and is just getting started :)
      • Everything to do token auth is there today, but a guides/howto would go a long way
      • john2x joined the channel
      • jadams
        did you ever look at the android<->phoenix thingie?
      • it was super basic, but definitely worked
      • and I'm going to do some Legitimate Android Phoenix Interop in the next week or two
      • chrismccord
        jadams: Haven't looked at the code yet, but I want a full Android client for 1.0
      • jadams
        which is one reason I was so ok with pushing through with it :)
      • I'll likely build an android client that offers a Java 1.6-esque interface to Phoenix (so not lots of lambdas, sadly)
      • I'll contribute it back if I build it
      • still possible I'd build a crappier version of it
      • depends on how quickly the project's moving along :)
      • chrismccord
        jadams: I only touched Android dev in undergrad about 4 years ago, so I would greatly appreciate an android confib
      • contrib*
      • ericmj
        jadams: are you using plug directly instead of using phoenix?
      • jadams
        I'm not a master android dev, but I've done more java in the past 6 months than I'd care to admit
      • ericmj: well, so I'm building the 'data' app right now
      • just does the data management bit
      • the phoenix app will just talk to this one
      • chrismccord
        jadams: beamtoolbox is staying on Phoenix right?
      • jadams
        so it'll be the ecto models and some utilities to interact with hex, etc
      • chrismccord: well yes, but it'll be a rewrite of sorts
      • ericmj
        okay cool
      • jadams
        I'm going to get the data layer working first, then just sit a web interface atop it
      • ericmj
        jadams: are you calling hex's http api?
      • jadams
        so for instance it will be able to fetch package names out of hex and put them in an 'uncategorized' state
      • so new ones on hex should show up on beam toolbox
      • and then can be categorized later
      • chrismccord
        gotcha. Well if you need any help on the java client, let me know. I'd like to knock that one out sooner than later :)
      • jadams
        chrismccord: so I think I'm writing the elixir server for websocket stuff for this app either starting tomorrow or monday
      • which will be used initially to build out our in-browser spikes (think we start that monday or tuesdya of next week)
      • icarus75 joined the channel
      • once I've got that in a position that frontend / other team members can finish those spikes (trying to figure out which framework we like for building this realtime map component)
      • I'll move on to making the android app talk to the websockets
      • chrismccord
        jadams: phoenix channels?
      • wilmoore joined the channel
      • jadams
        hard to say right now...might be more raw for various reasons
      • it's not much of a 'shared resource' because we want to be able to be very specific about which data is sent down which channel
      • bitwalker joined the channel
      • because we're doing a bit of a routing layer and want to give less-than-complete information down some sockets for prioritization purposes
      • chrismccord
        jadams: Ah gotcha
      • jadams
        hadn't thought through those consequences quite yet :)
      • first implementation will likely just be normal channels
      • don't know that I can stay there
      • so when did IO.chardata_to_string/1 show up?
      • chrismccord
        We'll find out. I'm willing to bet they hold up just fine, given my utter lack of requirements of course
      • jadams
        chrismccord: it's more the fact that it's hard to define a useful channel that applies to more than a given user
      • chrismccord
        jadams: Can you expand on that?
      • jadams
        I'm trying to dance around our NDA presently :)
      • chrismccord
        jadams: ahhh, heh
      • Channels can use a shared topic, right?
      • jadams
        there are external agents attaching to these sockets. The first implementation, they will all basically just subscribe to various rabbitmq queues on connect, and those queues will be forwarded down the socket
      • so a given user will subscribe to a specific subset of rabbitmq queues
      • for a given deploy of this, having 5000 concurrent connections to this system would be about as big as it could feasibly ever get
      • chrismccord
        jadams: Keep in mind we have Channel.broadcast/subscribe that can sit outside of the WS process
      • jadams
        I know, but that's it - there's very little chance that we will wide-broadcast a lot of stuff
      • jeregrine
        jadams: beam toolbox
      • jadams
        I expect to be kind of specializing the rabbitmq topics that each websocket is attached to over time
      • jeregrine: that's the thing :)
      • chrismccord
        jadams: You can just broadcast to a single listener
      • jeregrine
        jadams: currently on vacation gotta love IRCClouds app
      • chrismccord
        broadcast isn't necessarily wide, just whoever has subscribed
      • so it could be used for 1:1 comm
      • jadams
        chrismccord: yeah, so I might use that just for pushing the data, but will almost certainly use rabbitmq subscription patterns to determine which data to push
      • anyway, must get back to the elixirsip and/or beamtoolbox build
      • really having some dumb issue with IO.chardata_to_string/1
      • chrismccord
        jadams: sounds cool, cya
      • jadams
        oh lord, my error was dumb
      • rparrish has quit
      • rozap__ joined the channel
      • jeffweiss joined the channel
      • jeffweiss has quit
      • jeffweiss joined the channel
      • edgurgel joined the channel
      • pragdave joined the channel
      • true_droid
        jadams: still here?
      • trenpixster has quit
      • devbug joined the channel
      • Vishnevskiy1
        is Mix.env available during runtime with a release?
      • q66 has quit
      • dogedogedogea joined the channel
      • jadams
        true_droid: yup
      • dogedogedogea
        s'up dudes
      • how goes it?
      • ericmj
        Vishnevskiy1: no, but you can usually assume the env is prod
      • jadams
        true_droid: awesome, looking at it now (and abandoning the elixirsip for the moment) :)
      • Vishnevskiy1
        ericmj: We usually do 2 phases, staging and prod, and some of the logging we do wants to know the env, thats why I ask
      • I guess I can put it in Application.env as a setting
      • ericmj
        Vishnevskiy1: you can compile the env with unquote(Mix.env)
      • Vishnevskiy1
        thx
      • edgurgel
        true_droid: why have jazz as dependency?
      • ericmj
        mix keep separate builds per environment
      • true_droid
        edgurgel: it used to be used
      • thanks for pointing that out
      • tsutsu has quit
      • edgurgel
        cool. I was curious why JSON xD
      • true_droid
        edgurgel: it was part of the old DSL, I removed that for now
      • edgurgel
        don’t forget mix.lock :D
      • also can’t we use rabbitmq-erlang-client from rabbitmq?
      • and use compile directive to compile with Make as they do
      • true_droid
        edgurgel: why compile with make?
      • edgurgel
      • they dont use rebar*
      • dogedogedogea
        Any recs for a good NodeJS rabbitmq library?
      • edgurgel
        because right now exrabbit depends on amqp_client on d0rc repo
      • true_droid
        edgurgel: I inherited thos deps from the original project, haven't reviewed if they should be changed yet