Logs for jdev

Show join/part/nick changes:

[01:14:45] * jameschurchman left the chat.
[02:03:29] * teo left the chat.
[02:03:29] * teo joined the chat.
[02:39:14] * Treebilou left the chat.
[02:39:22] * Treebilou joined the chat.
[03:26:42] * Wojtek joined the chat.
[04:09:35] * teo left the chat.
[04:10:04] * teo joined the chat.
[04:47:21] * darkrain joined the chat.
[04:48:58] * bear joined the chat.
[04:49:22] * bear left the chat.
[04:55:41] <darkrain> !rfc 3484
[05:01:05] * darkrain left the chat.
[05:01:18] * darkrain joined the chat.
[05:05:09] * teo left the chat.
[05:05:10] * teo joined the chat.
[05:15:00] * Fabian joined the chat.
[05:18:22] * Fabian left the chat.
[05:18:41] * Fabian joined the chat.
[05:29:11] * bear joined the chat.
[05:29:14] * bear left the chat.
[05:36:56] * thkoch2001 joined the chat.
[06:12:25] * Fabian left the chat.
[06:22:47] * Kev joined the chat.
[07:01:47] * Asterix joined the chat.
[07:09:21] * luca tagliaferri joined the chat.
[07:11:42] * Fabian joined the chat.
[07:13:36] * tkoski joined the chat.
[07:13:48] * tkoski left the chat.
[07:15:32] * MetalBrewer joined the chat.
[07:15:50] * Hermitifier joined the chat.
[07:17:09] * luca tagliaferri left the chat.
[07:17:14] * luca tagliaferri joined the chat.
[07:35:49] * teo left the chat.
[07:35:50] * teo joined the chat.
[07:38:48] * Asterix left the chat.
[08:08:25] * guus joined the chat.
[08:14:47] * nabatt joined the chat.
[08:18:32] * Asterix joined the chat.
[08:23:33] * petermount joined the chat.
[08:27:08] * Pinky joined the chat.
[08:27:52] * Pinky left the chat.
[08:30:21] * nabatt left the chat.
[08:30:25] * nabatt joined the chat.
[08:33:55] * jcea joined the chat.
[08:35:41] * nabatt left the chat.
[08:38:57] * nabatt joined the chat.
[09:07:08] * test joined the chat.
[09:18:20] * nabatt left the chat.
[09:18:55] * nabatt joined the chat.
[09:27:49] * Hermitifier left the chat.
[09:28:09] * Hermitifier joined the chat.
[09:36:20] * test left the chat.
[09:36:21] * teo left the chat.
[09:36:28] * teo joined the chat.
[09:46:59] * Treebilou left the chat.
[09:49:47] * Treebilou joined the chat.
[09:53:01] * badlop joined the chat.
[10:31:56] * teo left the chat.
[10:38:35] * harrykar joined the chat.
[10:40:47] * teo joined the chat.
[11:59:31] * tkoski joined the chat.
[11:59:38] * tkoski left the chat.
[12:07:08] * xnyhps left the chat.
[12:07:48] * xnyhps joined the chat.
[12:09:20] * whatever left the chat.
[12:21:02] * sonny joined the chat.
[12:32:23] * pKs joined the chat.
[12:48:29] * pKs left the chat.
[12:48:32] * pKs joined the chat.
[12:50:36] * aRyo joined the chat.
[13:04:03] * guus left the chat.
[13:05:17] * teo left the chat.
[13:26:31] * whatever joined the chat.
[13:32:22] * xnyhps left the chat.
[13:32:29] * xnyhps joined the chat.
[13:33:12] * xnyhps left the chat.
[13:34:27] * xnyhps joined the chat.
[13:37:06] * xnyhps left the chat.
[13:37:13] * xnyhps joined the chat.
[13:42:41] * zanchin joined the chat.
[13:43:30] * xnyhps left the chat.
[13:44:12] * xnyhps joined the chat.
[13:44:14] * xnyhps left the chat.
[13:45:39] * xnyhps joined the chat.
[13:58:10] * pKs left the chat.
[14:04:39] * guus joined the chat.
[14:08:41] * teo joined the chat.
[14:13:36] * xnyhps left the chat.
[14:14:57] * xnyhps joined the chat.
[14:20:34] * petermount left the chat.
[14:20:42] * petermount joined the chat.
[14:26:26] * sonny left the chat.
[14:26:28] * sonny joined the chat.
[14:34:04] * petermount left the chat.
[14:41:55] * tofu joined the chat.
[14:42:38] * whatever left the chat.
[14:47:02] * swmohsin joined the chat.
[14:47:11] * swmohsin left the chat.
[15:00:04] * petermount joined the chat.
[15:06:44] * Hermitifier left the chat.
[15:07:09] * MetalBrewer left the chat.
[15:08:17] * tofu left the chat.
[15:23:27] * sonny left the chat.
[15:36:40] * hawke joined the chat.
[15:40:00] * Fabian left the chat.
[15:42:18] * darkrain_ joined the chat.
[15:55:43] * bear joined the chat.
[15:56:00] * bear left the chat.
[16:02:23] * nabatt left the chat.
[16:25:22] * tofu joined the chat.
[16:27:16] * luca tagliaferri left the chat.
[16:29:01] * Tobias joined the chat.
[16:36:26] * Quantifier joined the chat.
[16:43:40] * naw joined the chat.
[16:56:35] * swmohsin joined the chat.
[16:56:40] * swmohsin left the chat.
[17:00:30] * tofu left the chat.
[17:00:31] * tofu joined the chat.
[17:01:53] * Quantifier left the chat.
[17:09:22] * aRyo left the chat.
[17:09:34] * justin joined the chat.
[17:09:52] * petermount left the chat.
[17:11:47] * swmohsin joined the chat.
[17:11:55] <swmohsin> hello, world!
[17:20:17] * nabatt joined the chat.
[17:21:39] <Kev> Well, quite.
[17:27:38] <swmohsin> anyone with experience of writing extensions for xmpp ?
[17:28:21] <Kev> Several people.
[17:30:37] <swmohsin> cool.
[17:31:48] <swmohsin> my task is to extend openfire server and write a module that will get list of all registered users on a network sorted by location proximity
[17:32:06] * tofu left the chat.
[17:32:06] * tofu joined the chat.
[17:34:11] * nabatt left the chat.
[17:36:42] * tsudot joined the chat.
[17:53:13] * bear joined the chat.
[17:53:29] * bear left the chat.
[18:13:53] * evilotto joined the chat.
[18:23:09] * Fabian joined the chat.
[18:27:34] * bear joined the chat.
[18:27:35] * bear left the chat.
[18:30:33] * jameschurchman joined the chat.
[18:51:00] * aRyo joined the chat.
[19:17:30] * jameschurchman left the chat.
[19:26:56] * bear joined the chat.
[19:38:49] * bear left the chat.
[19:45:35] * luca tagliaferri joined the chat.
[19:48:24] * jameschurchman joined the chat.
[20:23:14] <swmohsin> hello, world!
[20:23:57] <Kev> Didn't we do that bit once?
[20:24:39] <swmohsin> :) yes we did ... i noticed many new users in the chat room ... so i thought it's a good way to start a conversation with them
[20:25:02] <swmohsin> kev: can you tell me how to fetch a list of all users that are registered on a network/host ?
[20:26:29] <Kev> It depends what you're looking for - XEP-0055 (User Search) is a way of querying registered users, but generally there's no standard way of listing all registered users for a server - that'd be quite the spam directory if you could.
[20:27:40] <swmohsin> kev: thanks. i am writing an application in which i have to find the closest users (regardless of their online/offline status and regardless of whether they are in buddylist or not)
[20:28:04] <Kev> I'm guessing this is for closed network, rather than the Internet?
[20:28:11] <swmohsin> yes.
[20:28:17] <swmohsin> it's for private network
[20:28:58] <swmohsin> kev: i'll be using openfire xmpp server ... i'll find out whether it supports XEP-0055 .. but what would i do if it doesn't support this protocol ?
[20:29:10] <Kev> XEP-0055 isn't what you want for this anyway.
[20:29:21] <Kev> Well, kinda.
[20:29:24] <swmohsin> oh
[20:29:29] <swmohsin> then what are my options ?
[20:29:33] <Kev> Do you have more than one server?
[20:29:38] <swmohsin> not right now
[20:29:38] <Kev> Or will everyone be on one host?
[20:29:57] <swmohsin> in the first iteration ... there will be only one host
[20:30:32] <Kev> Are you dealing with custom clients?
[20:30:39] <swmohsin> i'm writing my own client for iphone
[20:31:01] <Kev> Ok.
[20:31:35] <swmohsin> so if it's only one server ... how am i supposed to get a list of all users sorted by their distance from me
[20:31:41] <Kev> Then what I would do would be to run a pubsub server as a component, rather than having to tie yourself to OF, and then to have every client register a node on that to publish geoloc data.
[20:32:05] <Kev> But that depends whether you're happy to have client-side sorting or not.
[20:32:26] <swmohsin> and then i'll have to update the user interface to show whether some particular users are onine or offline ... and whether they got offline more than 12 hours ago or not.
[20:33:09] <swmohsin> ok ... i got your first point that i'll have to write a component for openfire and users will update it with their location data.
[20:33:28] <Kev> So, I'd just write a component. Have every client publish geoloc to that. Then have a query against that saying "Who's near me?"
[20:33:39] <swmohsin> no, client side sorting does not make sense for mobile devices .. there can be potentially huge number of users
[20:33:42] <Kev> This sounds reasonably straightforward.
[20:33:47] <Kev> Right, have the component do it.
[20:33:53] <Kev> This sounds like something moderately easy to throw together.
[20:34:38] <swmohsin> i see .. if you can point me to some similar component code ... i would be grateful because i haven't written a line of code for openfire ever
[20:34:52] <Kev> You're not really writing code for Openfire.
[20:35:04] <Kev> You'd be writing a generic XMPP component.
[20:35:05] <swmohsin> oh really ?
[20:35:08] <swmohsin> o yeah.
[20:35:24] <Kev> There's no point having a tie-in to OF where you don't need it.
[20:35:33] <swmohsin> but i'll have to write it in java
[20:35:49] <Kev> You're supposing, or that's a project requirement?
[20:35:51] <swmohsin> but it will be generic enough to be used on other java based xmpp, servers. is that what you mean ?
[20:36:09] <swmohsin> no .. it's not a requirement ... but i'll have to use openfire ... that's for sure
[20:36:12] <Kev> Right.
[20:36:23] <Kev> But XEP-0114 defines an interface for talking to servers as a component.
[20:36:31] <Kev> The language the server is implemented in is irrelevant.
[20:36:38] <swmohsin> yes.
[20:36:42] <Kev> (I'd write the component in C++ using Swiften if it were me)
[20:36:58] <Kev> (I am, of course, biased in this)
[20:37:19] <swmohsin> yeah i'm also a c++ guy .. but openfire is a client decision
[20:37:25] <Kev> Yes, but this is independent.
[20:37:40] * tsudot left the chat.
[20:37:42] <Kev> There is no correlation between the language the component is written in and the language the server is written in.
[20:37:50] <swmohsin> oh i see
[20:38:12] <Kev> Component protocol connects over a TCP socket.
[20:38:23] <swmohsin> other requirements of the project is to write a 'wall feature' ... and keep track of the historical wall posts (unlike the status message)
[20:38:39] <swmohsin> so the component does not have to have access to the xmpp server db or api ?
[20:38:44] <Kev> Not at all.
[20:39:00] <Kev> You *can* implement things a bit like components, that hack into the XMPP server, but I think it's foolish to do so.
[20:39:34] <swmohsin> so what's the advice on writing a 'wall' feature ? another component ?
[20:40:06] <swmohsin> and can every component can have its own database regardless of the xmpp server implementation ?
[20:40:08] <Kev> I don't know what your timescales are, and if they're far enough along for you, but you could chat to the BuddyCloud people - they're building things to do exactly what you describe.
[20:40:24] <Kev> Yes, a component only talks to the XMPP server over the wire.
[20:41:21] * Wojtek left the chat.
[20:41:27] <swmohsin> you mentioned that the component talks using tcp connection from client ... do i have to implement a server that listens to connections ?
[20:41:34] <Kev> Not from the client.
[20:41:42] <Kev> The component talks to the server over TCP.
[20:41:50] <Kev> The clients also talk to the server.
[20:41:55] <Kev> The component acts very much like a client.
[20:42:28] <swmohsin> so how does the client request get routed to the component ?
[20:42:44] <swmohsin> as long as i understand from your description ... a component behaves like just another xmpp client
[20:42:54] <Kev> Almost the same.
[20:42:57] <swmohsin> and it logs into the server.
[20:43:00] <Kev> They're slightly different, but yes.
[20:43:14] <Kev> You could grab a copy of http://oreilly.com/catalog/9780596521271 to scan - I think it'll help with a lot of the concepts.
[20:43:36] <swmohsin> and client only talks to the server (which knows about the component in some way) and forwards the messages between the two
[20:43:45] <Kev> Essentially, yes.
[20:43:57] * thkoch2001 left the chat.
[20:44:06] <Kev> The clients will have a JID, the component will have a JID. The client sends a message to the component JID, the server routes it. The component sends a reply to the client JID, the server routes it.
[20:44:20] <swmohsin> hmm .. .but what if the component needs to merge the data from the xmpp server (say a database join) ?
[20:45:08] <swmohsin> for example ... my project will use vcardtemp to store some standard values for the user .. and then will have to have it's own specialized database fields. all this information needs to be displayed to the lcient user interface as a one screen
[20:45:17] * Treebilou left the chat.
[20:45:34] <swmohsin> to fetch these pieces of information .. i'll have to send a request to the server for vcard module and then another one fo my own component ?
[20:45:38] <louiz’> your component asks the vcard to the server
[20:45:41] <Kev> Using LDAP as your data back end sounds like the obvious choice for that, then anything could hook into it.
[20:45:53] <swmohsin> louiz: oh thanks
[20:46:19] <swmohsin> so basically i should write my component to act as a proxy and adds its own stuff when returning the result
[20:46:20] <swmohsin> ?
[20:46:40] <Kev> I don't know what you mean by that.
[20:47:53] <swmohsin> kev: for example, i'll have to show on the user interface the list of all users who are registered on a network (regardless they are online or offline at the moment) and some kind of extended information about them .. which includes the last time they got logoff of the network and their last geolocation.
[20:48:43] <swmohsin> in this case .. i'll write a component that does its own stuff to find out my application specific data and merges that with data from the xmpp server and return it to the client as a unified result
[20:48:55] * naw left the chat.
[20:49:02] <Kev> That seems sensible.
[20:49:18] <Kev> So your client will query the component, which will then get data from whichever sources it needs, and then reply.
[20:49:25] <swmohsin> yeah
[20:49:37] <Kev> You could also do this using a bot instead of a component.
[20:49:38] <swmohsin> and i'll be writing a seperate component for each of my application specific functionality
[20:49:56] <Kev> If the bot is in everyone's roster (which you should be able to make Openfire do), you'll get lots of this stuff 'for free'.
[20:50:02] <swmohsin> for example .. i will have to have access to other users's wall post (current and historical)
[20:50:08] <Kev> Assuming Openfire's PEP implementation works, you can even use the standard geoloc stuff then.
[20:50:19] <swmohsin> hmm
[20:50:26] * jameschurchman left the chat.
[20:50:52] <Kev> As the bot would automatically get all presence and all geoloc from everyone.
[20:51:02] <swmohsin> i don't have first hand experience of bots or components ... but i assume that bots may not provide the scalability
[20:51:08] <swmohsin> hmm
[20:51:26] <Kev> You've not given any clues what scalability you need.
[20:51:34] <Kev> Not particularly high, I assume, if you're using Openfire.
[20:51:48] <swmohsin> so you advise that for geolocation updates, last offline status updates and who is on network data ... i am better off writing a bot instead of a component.
[20:52:14] <Kev> I don't know - I'm lacking most of the data I'd need to make a decision.
[20:52:26] <swmohsin> have you written a bot and/or component for openfire ?
[20:52:41] <Kev> Yes, I've written both bots and components. We wrote examples for both for TDG.
[20:53:01] <justin> probably you want a component, given the number of users involved
[20:53:14] <justin> but you could also write a bot as a component, so that it could still live in the roster
[20:53:18] <Kev> justin: How many users?
[20:53:26] * sonny joined the chat.
[20:53:35] <justin> he was worried about pulling the full user list, so i'm suspecting thousands
[20:53:44] <Kev> Hosted on a single Openfire server?
[20:53:47] * guus left the chat.
[20:54:23] <swmohsin> client wants us to write a scalable solution ... possibily lot more users
[20:54:32] <justin> maybe not a big deal. i don't know what roster sizes are acceptable
[20:55:54] <Kev> swmohsin: You'd need to do some testing. Bots are more convenient to write, components are better if you believe you can do a better job of writing roster management code than your server did.
[20:56:17] <swmohsin> kev: i'm actually a paid subscriber to safari books and have reviewed TDG ... i didn't realized that you are one of the developers for that publication.
[20:56:59] <swmohsin> kev: so basically i'll find everything i need in that book ?
[20:57:26] <swmohsin> i guess i can download it as a pdf ?
[20:57:37] <Kev> Not everything, but you'll find stuff about addressing, how XMPP routes stuff, PEP and a chapter giving (brief) examples of developing both bots and components.
[20:57:47] <Kev> And those things sound valuable as a primer for you.
[20:58:48] <Kev> I've no idea, I assume Safari will provide a PDF, I've never had a need - I have a few dead-tree copies on my shelf :)
[20:59:10] <swmohsin> let me quickly see
[20:59:47] <swmohsin> oh .. safari gives me limited download 'token' and i can consume one token for just one chapter.
[21:00:33] <swmohsin> i have three tokens left. which chapters should i download from TDG?
[21:00:40] <Kev> Uhm, let me grab a copy, 2s.
[21:00:45] <swmohsin> ok
[21:01:50] * xnyhps left the chat.
[21:02:06] <Kev> So, 14: Building an XMPP Application seems sane. 8: Publish/Subscribe is probably interesting for your geoloc stuff.
[21:02:24] * xnyhps joined the chat.
[21:02:26] <Kev> It's a shame you can't grab 2 and 3 as well.
[21:02:41] <Kev> Can you also read online?
[21:02:55] <Kev> You could scan-read 2/3 online, and grab the PDFs of 8/14 or such.
[21:02:59] <swmohsin> well i can .. but don't want to :P
[21:03:41] <swmohsin> but you are right .. may be i will be able to read the chapters on iphone if i don't want to sit on the chair and stare screen just to read pages
[21:04:06] <Kev> 1/2/3 should be *very* light reading.
[21:04:16] <swmohsin> i've actually done that.
[21:04:32] <Kev> So I'd be inclined to read those on the device and grab the PDFs for the later ones that have some content.
[21:04:32] <swmohsin> so i'll just read or download chapters 8 and 14
[21:04:46] <swmohsin> hmm .. .good idea
[21:04:50] <swmohsin> i'll review them again.
[21:05:10] <swmohsin> i am also having a tehcnical glitch in my iphone app and i'm unable to figure that out.
[21:05:29] <swmohsin> i'm not asking for coding help ... but if i discuss that with you guys ... i may get an insight of the issue. is that ok ?
[21:05:41] * Treebilou joined the chat.
[21:06:08] <Kev> Anything that you ask in here is for the public good.
[21:06:16] <swmohsin> ok .. here i go.
[21:06:17] * Treebilou left the chat.
[21:06:20] * Treebilou joined the chat.
[21:06:41] <swmohsin> i am writing an iphone client and have setup things pretty good.
[21:06:47] <Kev> Although I have limited time before bed :)
[21:07:17] * Treebilou left the chat.
[21:07:25] <swmohsin> i can connect to server, authenticate, get roster list, get vcard+avatars of my buddies. can send and receive messages.
[21:07:33] <swmohsin> that is implemented and it's working good.
[21:08:00] <swmohsin> i have been banging my head for the last 2 days when i started implementing the 'setting my own avatar picture'
[21:08:42] <swmohsin> i converted the image data as described in the protocl and send it to the server
[21:10:01] <swmohsin> i'm doing that by creating an IQ request and setting data and sending it over the stream
[21:10:37] <swmohsin> i don't get any error back. but my image is not updated on the server for some reason
[21:10:52] <Kev> Is this against Openfire, or are you testing against jabber.org?
[21:11:01] <swmohsin> no ..i'm testing against jabber
[21:11:30] <swmohsin> but we'll swtich to openfire soon.
[21:13:07] <Kev> Right, it'd be nice to not test code against a public server (especially one I admin).
[21:13:26] <Kev> I'd deploy your own test server, so at least then you can be confident it's an issue in your code.
[21:13:45] <darkrain_> Not that I don't disagree, but isn't that a bit like shutting the barn door after some animals have fled?
[21:14:19] <Kev> darkrain_: Hmm?
[21:14:30] <darkrain_> Not testing code against jabber.org :)
[21:14:48] <swmohsin> kev: i have some more questions but i'll ping you again tomorrow
[21:14:59] <Kev> swmohsin: It's possible, depending when you were testing, that there were vcard issues on the server at the time. I *think* they're resolved now, but I could be mistaken.
[21:15:35] <swmohsin> no they are not issues on server ... because when i use a xmpp client other than my own, my profile picture is correctly updated
[21:16:02] <swmohsin> for exmple during my chat with you guys ... i have changed my profile pic multiple times and it went through.
[21:16:08] <Kev> You'll also be able to get (hopefully!) better logging out of your own server than a public one.
[21:19:29] <Kev> GN.
[21:19:31] * Kev left the chat.
[21:19:37] <swmohsin> good night.
[21:27:29] * xnyhps left the chat.
[21:48:59] * xnyhps joined the chat.
[21:51:00] * evilotto left the chat.
[21:51:19] * mcepl joined the chat.
[21:51:29] * Tobias left the chat.
[21:55:16] * Neustradamus left the chat.
[21:57:27] * Neustradamus joined the chat.
[21:58:43] * evilotto joined the chat.
[22:07:17] * sonny left the chat.
[22:18:25] * Asterix left the chat.
[22:24:46] * badlop left the chat.
[22:34:12] * jameschurchman joined the chat.
[22:47:16] * Fabian left the chat.
[22:49:46] * justin left the chat.
[23:32:59] * jameschurchman left the chat.
[23:51:32] * mcepl left the chat.
[23:51:40] * hawke left the chat.