-
Lance
switching to using some form of UUID would eliminate having to deal with converting relative/full paths though
-
Jef
well, it is certaintly more simple
-
Jef
i like it
-
Lance
honestly, I would probably even go one further and move the <file /> element into the fis namespace
-
Lance
but, using the existing one does make sense, since you'll want to do file transfer. so idk
-
Jef
yea, it is better to reuse what we have already
-
Jef
and we don't really need to add or remove anything from the metadata defined in jingle
-
Lance
right. so that works great as is
-
Jef
are you going to Fosdem?
-
Lance
yeah. the summit and saturday at fosdem
-
Jef
that's awesome
-
Lance
I also have: https://gist.github.com/4630085
-
Lance
to play with doing things with disco
-
arcriley
hey lance
-
arcriley
are you a PSF member?
-
Lance
I dont think so
-
arcriley
would you like to be?
-
Lance
sure
-
arcriley
perk: special members luncheon at PyCon
-
arcriley
all current and prospective members can attend
-
Lance
sounds like the XSF perks
-
arcriley
pretty much lol except we dont do voting every quarter
-
Lance
application process?
-
arcriley
via nomination, and then you're voted in person at the luncheon
-
Lance
ah, ok
-
arcriley
do you maintain any python packages beyond Sleek?
-
Lance
Not anymore. There were a few personal ones a while back that have been obsoleted and removed
-
arcriley
ok
-
Lance
I may end up with a whole collection of them if I go with making each sleek plugin a separate package
-
arcriley
heh
-
Lance
the independent versioning that way is very tempting
-
arcriley
well i need to writeup a nomination about things you do in the python community. anything else i can add, like speaking at groups, sprints, etc?
-
Lance
unfortunately, sleek has been my only involvement in the greater python community so far
-
Lance
all of the groups and hackathons i've done have been at xsf functions
-
arcriley
oh will you be staying for the sprints at pycon?
-
arcriley
(thats when the real fun at pycon begins, btw)
-
Lance
maybe. i still have to review the schedules and what my work schedule allows
-
arcriley
the weekend is for the suits. they go to these massive talks and rub shoulders with us. then the conference suddenly drops to just developers and the booze and shenanegans start up
-
Lance
Jef: I sent a link with some disco pondering, in case you missed it in the chat history
-
arcriley
so much work gets done during the sprints too
-
Lance
sounds good, I'll try to be there then
-
arcriley
when fosdem is over we should start hammering out the poster. 4' x 4' infographic.
- Lance nods
-
arcriley
hey lance, quick "which is more pythonic" opinion
-
arcriley
right now the class decorator for xslt extensions is nodetree.Stylesheet.extension, eg: @nodetree.Stylesheet.extension('http://example.com/namespace') class MyExtension:
-
arcriley
the reason thats a decorator and not a superclass is the decorator registers the class to the namespace url, which a superclass couldn't do in response to defining the class
-
arcriley
writing a set of method decorators which "register" methods within it as either function or element extensions, which looks more pythonic:
-
arcriley
@nodetree.Stylesheet.ext_function('hello') def hello(self, args) : return 'hello, world!'
-
arcriley
or @nodetree.Stylesheet.Extension.function('hello') def hello(self, args) :
-
Lance
arcriley: one sec, reading
-
arcriley
the latter is more verbose and an extra level of namespace, but i think it looks cleaner and i like that the association between class and method decorators is clear
-
arcriley
tho four levels of namespace starts to feel like java
-
Lance
what are you extending? ie, what is 'hello'?
-
arcriley
XSLT. so, eg, "<exam:hello/>" in the XSLT would be replaced with an xml text node "hello, world!"
-
Lance
ok, so that's the xpath for the template
-
arcriley
actually sorry i confused it, function would be xpath yes, where element would be my example
-
arcriley
the class decorator Element registers the defined class with libxslt and stores it in Stylesheet.__extensions for later access.
-
Lance
what else falls in Extension?
-
arcriley
that's about it. as a type it needs to hold the uri you're defining long enough to wrap, and then its cleaned up. its just a decorator
-
Lance
i'd just go with @nodetree.Stylesheet.extension
-
Lance
and just do the appropriate thing if given a function or a class
-
arcriley
eh?
-
arcriley
the question is how to name the method decorators
-
Lance
oh, i think i'm confused from too many converstations
-
arcriley
without them, there's no way to know whether a method is for a function or element, or potentially other extension point
-
Lance
do you have an example of a class with these in use?
-
arcriley
no because im writing the code right now :-)
-
arcriley
brand new API.
-
Lance
I'd either go with the ext_* version
-
Lance
or make the extension type a parameter
-
Lance
@nodetree.Stylesheet.extend('function', ....)
-
Lance
sorry, have to go to an appointmen
-
arcriley
no prob im talking to a few people about this
-
Lance
sigh, why do most clients display adhoc command forms in the ugliest ways?
-
stpeter
Lance: good question
-
stpeter
Lance: clearly someone needs to develop a sleek new client on top of SleekXMPP ;-)
-
Lance
there's poezio, but its console only
-
stpeter
the other thing we could do is complete the voting on a website and use the JIDs for XEP-0070 authorization
-
Lance
do any clients support that?
-
stpeter
I have not tested it in a long time
-
Lance
or rather, do browsers support it
-
Lance
clients only have to display a link
-
Lance
ok, looks like just digest-md5, so they should
- Lance puts xep-0070 on short list of new plugins to add to sleek
-
stpeter
yeah, ultra-secure digest-md5!
-
Lance
what I really want in a client is one that displays message forms inline with chats
-
arcriley
is that actually used by anyone?
-
Lance
they would if they showed up inline
-
Lance
it would just make interacting with bots so much nicer. an actual form instead of pseudo-form text commands
-
arcriley
WWW-Authenticate: Basic realm="xmpp" Do any browsers actually use that? ^^
-
Lance
ooh
-
arcriley
client aside thats the big issue I see
-
Lance
we'd have to test, but I think they would
-
arcriley
that'd have to use some javascript hook im not aware of
-
Lance
oh, basic
-
Lance
i was thinking of the digest one
-
arcriley
either
- Lance goes to make a test script
-
Lance
the realm option is pretty standard though, its just not a domain in this case
-
Lance
oh, but it would also try asking for a password
-
arcriley
IIRC when you get a authorization request a dialog opens requesting your username/password.
-
arcriley
and you would then have to script to return your JID, etc etc
-
Lance
username would be your jid, and empty password
-
Lance
er, no. the password is the transaction id
-
arcriley
how would the user have a transaction ID?
-
Lance
it gets sent to your JID via your xmpp client
-
Lance
copy/paste
-
arcriley
is there a javascript hook for that?
-
Lance
it is certainly not the most user friendly workflow
-
Lance
not that i'm aware of. it would certainly make it a smoother process
-
Lance
but it can still be done manually
-
Lance
this really is a case where cridland's 'browsers need to run xmpp natively' idea shines
-
arcriley
i agree with that.
-
arcriley
its a chicken and egg problem tho.
-
Lance
chrome already does it for syncing apparently; it would be nice if it was just more exposed and configurable
-
arcriley
the big problem that needs to be worked out is the javascript security model for it. how to keep malicious websites from sending xmpp spam on your behalf, stealing your contact data, etc while also providing enough functionality to be genuinely useful
-
Lance
right
-
bear
couldn't the transationid/password dealio be handled like oauth tokens
-
bear
that way the owner of the jid could revoke an apps use of their xmpp stream
-
bear
and have it tied directly to a resource part of the jid
-
bear
hell, make it bear@jid.com/transactionid