XSF Discussion - 2013-01-25

  1. Lance

    switching to using some form of UUID would eliminate having to deal with converting relative/full paths though

  2. Jef

    well, it is certaintly more simple

  3. Jef

    i like it

  4. Lance

    honestly, I would probably even go one further and move the <file /> element into the fis namespace

  5. Lance

    but, using the existing one does make sense, since you'll want to do file transfer. so idk

  6. Jef

    yea, it is better to reuse what we have already

  7. Jef

    and we don't really need to add or remove anything from the metadata defined in jingle

  8. Lance

    right. so that works great as is

  9. Jef

    are you going to Fosdem?

  10. Lance

    yeah. the summit and saturday at fosdem

  11. Jef

    that's awesome

  12. Lance

    I also have: https://gist.github.com/4630085

  13. Lance

    to play with doing things with disco

  14. arcriley

    hey lance

  15. arcriley

    are you a PSF member?

  16. Lance

    I dont think so

  17. arcriley

    would you like to be?

  18. Lance


  19. arcriley

    perk: special members luncheon at PyCon

  20. arcriley

    all current and prospective members can attend

  21. Lance

    sounds like the XSF perks

  22. arcriley

    pretty much lol except we dont do voting every quarter

  23. Lance

    application process?

  24. arcriley

    via nomination, and then you're voted in person at the luncheon

  25. Lance

    ah, ok

  26. arcriley

    do you maintain any python packages beyond Sleek?

  27. Lance

    Not anymore. There were a few personal ones a while back that have been obsoleted and removed

  28. arcriley


  29. Lance

    I may end up with a whole collection of them if I go with making each sleek plugin a separate package

  30. arcriley


  31. Lance

    the independent versioning that way is very tempting

  32. 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?

  33. Lance

    unfortunately, sleek has been my only involvement in the greater python community so far

  34. Lance

    all of the groups and hackathons i've done have been at xsf functions

  35. arcriley

    oh will you be staying for the sprints at pycon?

  36. arcriley

    (thats when the real fun at pycon begins, btw)

  37. Lance

    maybe. i still have to review the schedules and what my work schedule allows

  38. 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

  39. Lance

    Jef: I sent a link with some disco pondering, in case you missed it in the chat history

  40. arcriley

    so much work gets done during the sprints too

  41. Lance

    sounds good, I'll try to be there then

  42. arcriley

    when fosdem is over we should start hammering out the poster. 4' x 4' infographic.

  43. Lance nods

  44. arcriley

    hey lance, quick "which is more pythonic" opinion

  45. arcriley

    right now the class decorator for xslt extensions is nodetree.Stylesheet.extension, eg: @nodetree.Stylesheet.extension('http://example.com/namespace') class MyExtension:

  46. 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

  47. arcriley

    writing a set of method decorators which "register" methods within it as either function or element extensions, which looks more pythonic:

  48. Neustradamus has joined

  49. arcriley

    @nodetree.Stylesheet.ext_function('hello') def hello(self, args) : return 'hello, world!'

  50. arcriley

    or @nodetree.Stylesheet.Extension.function('hello') def hello(self, args) :

  51. Neustradamus has joined

  52. Lance has joined

  53. Lance has joined

  54. Lance

    arcriley: one sec, reading

  55. 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

  56. arcriley

    tho four levels of namespace starts to feel like java

  57. Lance

    what are you extending? ie, what is 'hello'?

  58. arcriley

    XSLT. so, eg, "<exam:hello/>" in the XSLT would be replaced with an xml text node "hello, world!"

  59. Lance

    ok, so that's the xpath for the template

  60. arcriley

    actually sorry i confused it, function would be xpath yes, where element would be my example

  61. arcriley

    the class decorator Element registers the defined class with libxslt and stores it in Stylesheet.__extensions for later access.

  62. Lance

    what else falls in Extension?

  63. 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

  64. Lance

    i'd just go with @nodetree.Stylesheet.extension

  65. Lance

    and just do the appropriate thing if given a function or a class

  66. arcriley


  67. arcriley

    the question is how to name the method decorators

  68. Lance

    oh, i think i'm confused from too many converstations

  69. arcriley

    without them, there's no way to know whether a method is for a function or element, or potentially other extension point

  70. Lance

    do you have an example of a class with these in use?

  71. arcriley

    no because im writing the code right now :-)

  72. arcriley

    brand new API.

  73. Lance

    I'd either go with the ext_* version

  74. Lance

    or make the extension type a parameter

  75. Lance

    @nodetree.Stylesheet.extend('function', ....)

  76. Lance

    sorry, have to go to an appointmen

  77. arcriley

    no prob im talking to a few people about this

  78. Ashley has joined

  79. Ashley has joined

  80. Jef has left

  81. Ashley has joined

  82. Ashley has joined

  83. Neustradamus has joined

  84. Neustradamus has joined

  85. arcriley has left

  86. arcriley has joined

  87. Neustradamus has joined

  88. Neustradamus has joined

  89. Lance has joined

  90. Alex has joined

  91. Alex has left

  92. Neustradamus has joined

  93. Neustradamus has joined

  94. Neustradamus has joined

  95. Neustradamus has joined

  96. Lance has left

  97. Lance has left

  98. Lance has left

  99. Lance has left

  100. Lance has left

  101. Nÿco has joined

  102. Lance has joined

  103. ralphm has left

  104. Kev has left

  105. Zash has joined

  106. Kev has joined

  107. Zash has left

  108. stpeter has joined

  109. Ashley has joined

  110. Ashley has left

  111. Neustradamus has joined

  112. Neustradamus has left

  113. Neustradamus has joined

  114. Ashley has joined

  115. Lance has joined

  116. Ashley has left

  117. Alex has joined

  118. Lance

    sigh, why do most clients display adhoc command forms in the ugliest ways?

  119. Alex has left

  120. stpeter

    Lance: good question

  121. stpeter

    Lance: clearly someone needs to develop a sleek new client on top of SleekXMPP ;-)

  122. Lance

    there's poezio, but its console only

  123. stpeter

    the other thing we could do is complete the voting on a website and use the JIDs for XEP-0070 authorization

  124. Lance

    do any clients support that?

  125. stpeter

    I have not tested it in a long time

  126. Lance

    or rather, do browsers support it

  127. Lance

    clients only have to display a link

  128. Lance

    ok, looks like just digest-md5, so they should

  129. Lance puts xep-0070 on short list of new plugins to add to sleek

  130. stpeter

    yeah, ultra-secure digest-md5!

  131. Lance

    what I really want in a client is one that displays message forms inline with chats

  132. arcriley

    is that actually used by anyone?

  133. Lance

    they would if they showed up inline

  134. Lance

    it would just make interacting with bots so much nicer. an actual form instead of pseudo-form text commands

  135. arcriley

    WWW-Authenticate: Basic realm="xmpp" Do any browsers actually use that? ^^

  136. Lance


  137. arcriley

    client aside thats the big issue I see

  138. Lance

    we'd have to test, but I think they would

  139. arcriley

    that'd have to use some javascript hook im not aware of

  140. Lance

    oh, basic

  141. Lance

    i was thinking of the digest one

  142. arcriley


  143. Lance goes to make a test script

  144. Lance

    the realm option is pretty standard though, its just not a domain in this case

  145. Lance

    oh, but it would also try asking for a password

  146. arcriley

    IIRC when you get a authorization request a dialog opens requesting your username/password.

  147. arcriley

    and you would then have to script to return your JID, etc etc

  148. Lance

    username would be your jid, and empty password

  149. Lance

    er, no. the password is the transaction id

  150. arcriley

    how would the user have a transaction ID?

  151. Lance

    it gets sent to your JID via your xmpp client

  152. Lance


  153. arcriley

    is there a javascript hook for that?

  154. Lance

    it is certainly not the most user friendly workflow

  155. Lance

    not that i'm aware of. it would certainly make it a smoother process

  156. Lance

    but it can still be done manually

  157. Lance

    this really is a case where cridland's 'browsers need to run xmpp natively' idea shines

  158. arcriley

    i agree with that.

  159. arcriley

    its a chicken and egg problem tho.

  160. Lance

    chrome already does it for syncing apparently; it would be nice if it was just more exposed and configurable

  161. 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

  162. Lance


  163. bear

    couldn't the transationid/password dealio be handled like oauth tokens

  164. bear

    that way the owner of the jid could revoke an apps use of their xmpp stream

  165. bear

    and have it tied directly to a resource part of the jid

  166. bear

    hell, make it bear@jid.com/transactionid

  167. Lance has left

  168. Nÿco has left

  169. stpeter has left

  170. Ashley has joined