XSF Discussion - 2018-03-08

  1. Link Mauve

    waqas, I haven’t used it in a long time, could you write those down somewhere?

  2. jjrh

    XMPP could use a pretty webclient.

  3. Zash

    Pretty according to whom?

  4. Zash

    But yeah. Do it. Hire UX engineers and graphics designers and a huge marketing department and do it! :)

  5. jjrh

    according to whatever the designers who make pretty but non functional UI's people love.

  6. jjrh

    converse.js is pretty good

  7. jjrh

    movim is pretty good but one would have to pull out all the other stuff so it's easy to just throw it up on a webserver

  8. waqas

    It's very much optimized for "communicate with the org". There's the basic MUC-like part. Room discovery+creation is much better than most other clients. Search is a big deal. Room history (reading it, and coming back to a room after being away for a while) works better than any XMPP client I've used so far. Multi-user private chats (temp MUCs?) are very easy and very actively used. File sharing (within a MUC or single user chat stream) is actively used. Threads are started to catch on, and leading to easier conversation in active rooms. Slack bots are cool (and there are many, tied to services that can be used without any ops overhead). The team overall finds things like "/giphy", emojis and custom emjois fun. We don't like the audio/video function, as it's always breaking for somebody. Nobody likes how heavy/slow the client is.

  9. waqas

    My off the cuff summary ^

  10. mathieui

    hah, they had to restart their irc server 3 times this evening to add the banner warning about the death of gateways

  11. waqas

    The price/user is basically irrelevant. It's under $10/user, and for an actual business that's just noise on the balance sheet. The ops free nature is attractive.

  12. jjrh

    Last time I used slack in the browser it had some serious performance issues

  13. waqas

    It's slow and bloated. I use it in the browser only, and don't use the "native" app.

  14. mathieui

    it still does, waqas addressed that already

  15. Link Mauve

    Thanks waqas.

  16. Zash

    But is it slow and bloated enough for the higher ups to care?

  17. jjrh

    There was something very wrong - like I would leave the window open for a day and come back and the browser had some to a halt - I started running it in firefox

  18. Zash

    (I assume not)

  19. jjrh

    *come to a halt

  20. waqas

    Zash: The lower-downs want it. Because it's as close to friction-free as I've seen anything get for various team chat scenarios.

  21. peter agrees with waqas on all points

  22. waqas

    Slack in our org was not something that management mandated, it was something that people on the grounded tested out and wanted. I assume that's how it gained massive popularity.

  23. jjrh

    I think the main attraction to slack is it's easy to use and setup your own private space, and even though the client isn't amazing it's good enough and just a webpage. Easy way to onboard people.

  24. peter

    Although I hate hate hate Slack threads.

  25. jjrh

    compared to slack I think for casual stuff discord got it way more right - send you a i

  26. jjrh

    *a 'invite' link - you don't need to give your email or anything, just enter your name

  27. jjrh

    then we can use voice chat, chat, etc.

  28. Zash

    jonasw: editor issue, are these CFE's meant to include the text about advancing to final?

  29. peter wanders off

  30. waqas

    Note that our org used to be an XMPP-using one. One of the things that caused hate for XMPP: Jabber file transfer never worked. Root causes varied, everything network issues to client issues to bad client UX. It was a running joke.

  31. jjrh

    My friend was just complaining to me that conversations prompts which resource to send a file to.

  32. jjrh

    I don't think I have ever sent a file over xmpp but isn't it a lot better now with http upload?

  33. waqas

    And we transitioned to slack over time, the engineering team was the last holdout, but eventually everyone gave in to the "ease of everything"

  34. jjrh

    Just tried now with movim sending to this account. It was pretty painless. Went to my phone and gajim without issue :)

  35. jjrh

    oh weird - I tried to send a image from conversations to the movim account and it is prompting me to choose from 3 resources. I'm guessing this doesn't happen with http upload

  36. Zash

    No upload service available?

  37. jjrh

    yeah that's my guess. I don't think my server has http upload (we never send files over chat)

  38. jjrh

    oh weird hah I try and send it and my browser pops up with "is trying to call you"

  39. Zash

    Well, it got Jingle payloads confused?

  40. jjrh

    I guess so?

  41. jjrh

    does http upload play nice with omemo or is it unencrypted?

  42. Zash

    HTTP upload doesn't really need to know what the bytes you stuff in it are

  43. Zash

    Not sure how standardized the encryption methods in common user are

  44. jjrh

    yeah looks like the file is encrypted then the key is exchanged over the secure session

  45. jjrh


  46. moparisthebest

    > waqas: Note that our org used to be an XMPP-using one. One of the things that caused hate for XMPP: Jabber file transfer never worked. Root causes varied, everything network issues to client issues to bad client UX. It was a running joke.

  47. moparisthebest

    oh he left, but my work uses lync or now skype for business

  48. moparisthebest

    and file transfers essentially never work

  49. jonasw

    Zash, pretty sure, yeah. that’s what a CFE is about

  50. jonasw

    > Just about every client, library and server (indirectly, via either storage mechanism) I've ever seen. except Pidgin.

  51. jonasw

    >> 1. What software has XEP-0048 implemented? > Just about every client, library and server (indirectly, via either storage mechanism) I've ever seen. except Pidgin.

  52. daniel

    jonasw: pidgin doesn't have bookmarks?

  53. daniel


  54. jonasw

    daniel, yeah

  55. jonasw

    MUCs are only in their local roster

  56. MattJ

    jonasw, daniel: Pidgin does support it, but only in a plugin that's not enabled by default

  57. jonasw

    MattJ, how’s that called? it doesn’t seem to be installed by default on debian

  58. jonasw

    maybe in the "pidgin-plugin-pack"

  59. Ge0rG

    I imagine pidgin-plugins-bad and pidgin-plugins-ugly, gstreamer style

  60. jonasw


  61. jonasw

    in case of pidgin it would rather be: pidgin-plugins-normal, pidgin-plugins-without-zerodays

  62. jonasw

    (at least so I heard)

  63. jonasw

    in the case of pidgin I’d also be worried what it’ll do to my already existing bookmarks when I turn the plugin on. on either side of the wire.

  64. Ge0rG

    > In addition, the service SHOULD send an invitation to any user who has been added to the member list of a members-only room if the user is not currently affiliated with the room Nice things you discover in 0045 by accident.

  65. Ge0rG

    Kev: I'm confused by what you said yesterday in the meeting. The muc_* features seem to actually be used as runtime configuration options, but the XEP only ever talks of them as being supported features

  66. Kev

    Give me an hour to wake up, and then I can think about this

  67. Ge0rG starts timer

  68. Tobias

    Ge0rG, here you go https://www.youtube.com/watch?v=rTyN-vvFIkE

  69. Ge0rG

    Tobias: that's perfect!

  70. intosi

    Great score while I wait for some integration tests to complete.

  71. Tobias

    they also take exactly an hour?

  72. intosi

    Sure feels like it.

  73. MattJ

    jonasw, https://developer.pidgin.im/ticket/6353 :/

  74. jonasw

    Opened 10 years ago Last modified 4 years ago

  75. jonasw


  76. Kev

    Ge0rG: As far as I can see, the 'features' are done as http://jabber.org/protocol/muc#something, while current room configuration is done as muc_something.

  77. jonasw

    Kev, Example 9

  78. jonasw

    (in § 6.4 Querying for Room Information)

  79. Ge0rG

    Kev: while I agree from reading the examples, this is not really answering my question.

  80. Kev

    What was the question, then? :)

  81. Ge0rG

    Kev: besides, there are no *features* with http://jabber.org/protocol/muc#something in the XEP, nor in any other XEPs.

  82. Ge0rG

    Kev: my question is, how you came to the conclusion that http://jabber.org/protocol/muc#something are features and muc_something are runtime options.

  83. Ge0rG

    So far the only supporting document I found is: https://xmpp.org/extensions/xep-0307.html#support > If a MUC service supports the protocol specified herein, it MUST advertise that fact by returning a feature of "http://jabber.org/protocol/muc#unique" in response to Service Discovery (XEP-0030)

  84. Kev

    Just that the first three http... features are 'Support for...', wile the others are descriptive.

  85. Kev

    But happy to be wrong, just push it as-is.

  86. Ge0rG

    Kev: oh, I feel like I'm in a position to actually improve 0045 now, I won't abuse my powers to do a half-assed job.

  87. Ge0rG

    > Support for reflecting the original message 'id' in 'groupchat' messages. Sounds kind of weird. I'll leave the original wording.

  88. Ge0rG

    Kev: https://github.com/xsf/xeps/pull/600/commits/b017284eea20070b7982d6fb58fe6c68c8c6dc54

  89. Kev

    Ta. I'm more comfortable with this, whether I should be or not.

  90. Ge0rG

    Do we have all council votes together then?

  91. Kev

    Think so.

  92. Ge0rG

    From the MUC logs, I haven't explicitly voted on that one.

  93. Ge0rG

    jonasw: you can merge https://github.com/xsf/xeps/pull/600 now, thanks :)

  94. jonasw

    Ge0rG, there you go

  95. Ge0rG

    > Pull request successfully merged and closed 👏

  96. jonasw

    where did my mail about xep-0020 go though

  97. Ge0rG

    I see one titled [Standards] DEPRECATED: XEP-0020 (Feature Negotiation)

  98. jonasw

    ah, just took a while

  99. jonasw

    (weirdly, it appeared several minutes after the UPDATED: XEP-0153 one)

  100. jonasw

    maybe funny lag between the mailservers :)

  101. Dave Cridland

    jonasw, Konstantin noted that "Deprecating is not a serious problem" for XEP-0071 and that got me thinking - didn't Council vote to Deprecate, not Obsolete? Or am I misremembering?

  102. jonasw


  103. jonasw

    you are indeed right

  104. jonasw

    that’s my fault, I’m going to rectify this immediately

  105. jonasw

    well, editors fault at least

  106. goffi

    The references to XHTML-IM in other XEPs should be removed, I know there is at least one in XEP-0277

  107. goffi

    (and anyway current implementations i.e. Movim and SàT, use full XHTML)

  108. Dave Cridland

    jonasw, Thanks.

  109. jonasw

    this is a busy day for the xeps repository :)

  110. goffi

    https://news.ycombinator.com/item?id=16539857 (slack is closing XMPP gateway, which was shitty anyway)

  111. waqas

    goffi: Can you comment on how bad the gateway was?

  112. goffi

    waqas: it's really basic, not implemeting any advanced feature, it's hard to join or discover rooms.

  113. waqas

    goffi: How does it handle multi-user PMs? Temp MUC invites? And what about threads?

  114. goffi

    waqas: you have MUC room named from pseudos, something like mpdm-[nick_1]--[nick_2]--[nick_3]--[your_nick]@your_company.xmpp.slack.com

  115. goffi

    waqas: to give you an idea, here is the disco of the server:

  116. goffi

    http://jabber.org/protocol/disco#info http://jabber.org/protocol/disco#items jabber:iq:last jabber:iq:privacy jabber:iq:version urn:xmpp:ping vcard-temp

  117. Ge0rG

    Somebody should write a proper bridge now.

  118. waqas

    I'm mainly surprised at jabber:iq:privacy

  119. goffi

    Ge0rG: I think there was one for libpurple, but unmaintained

  120. Ge0rG

    So spectrum again. That software stack provides me with nightmares

  121. Ge0rG

    > I sooooo regret even having the IRC gateway. Slack CEO https://twitter.com/stewart/status/817483176687718400

  122. Ge0rG

    The thread is awesome

  123. Ge0rG

    Handicapped users will appreciate that slack "is working on" accessibility.

  124. Link Mauve

    jonasw, “Note that I intend to overhaul XEP-0394 and I don’t know any implementations.” about Message Markup, well, slixmpp has had one since day one. ^^'

  125. jonasw

    is that used in a client?

  126. Link Mauve

    I think poezio will use it if there is no XHTML-IM alongside.

  127. jonasw

    I see

  128. Link Mauve

    Otherwise it will prefer XHTML-IM.

  129. Ge0rG

    Link Mauve: what does "alongside" mean?

  130. Ge0rG

    On the receiving end?

  131. Link Mauve


  132. Link Mauve

    On the displaying end, more specifically.

  133. Ge0rG

    Ah, so it's not sending it.

  134. Link Mauve


  135. Ge0rG

    What about displaying *Styling* instead of ~markup~?

  136. Link Mauve

    I couldn’t find a good way to mangle our composing format into either of these new XEPs yet.

  137. Link Mauve

    They are way too poor to express this format.

  138. Ge0rG

    The good thing about Styling is that you don't need to mangle anything, you can just live-apply the styling to the input box

  139. Link Mauve

    That means changing our input format for something that can’t be disabled.

  140. Link Mauve

    Currently all styling we have is opt-in by using keybinds.

  141. Link Mauve

    I can write *stars and bold stars*, and these aren’t coupled in any way.

  142. Link Mauve

    With styling you can’t disable that.

  143. Link Mauve

    If you want to put the emphasis on a specific word without displaying the stars around, for instance.

  144. Link Mauve

    But people have been listing these issues for a long time on the mailing list and here, yet people didn’t care in any way about them, so I don’t think I have much else to add.

  145. Ge0rG

    Link Mauve: I'm aware of the arguments, and I even used to be a proponent of the explicit approach before I tested Styling. It's an easy and compelling way to markup things, and it even works over IRC transports!

  146. Link Mauve

    XHTML-IM also works over IRC transports. ^^'

  147. Ge0rG

    Link Mauve: I'd like to hear your definition of "work" bent sufficiently to support your statement.

  148. jonasw

    Ge0rG, biboumi converts XHTML-IM to actual IRC markup

  149. jonasw

    and vice versa

  150. jonasw

    there’s no bending there

  151. jonasw

    it’s actually done, including colors

  152. jonasw

    it’s insane

  153. jonasw

    (and incredibly cool)

  154. Link Mauve

    IRC has approximately the same limitations as a console client, it can only change boldness, italics, invert and colours, but it works quite well for those parts.

  155. Ge0rG

    I agree with that statement

  156. Link Mauve

    So I don’t buy the argument that biboumi should convert my ~~words or **words into IRC colours, that’s removing formatting fun and adding complexity when the recipient doesn’t see what you wanted to send.

  157. Ge0rG

    I was rather thinking about clients that already support ** and __

  158. Link Mauve

    And those that will have to be changed because they assigned another meaning to them before.

  159. Link Mauve

    Further increasing confusion.

  160. mathieui

    jonasw, I though biboumi only did one-way converting?

  161. jonasw

    mathieui, hm, dunno; I have seen coloured things already.

  162. jonasw

    I think at least.

  163. mathieui

    yeah, from IRC it works but I don’t think the xhtml-im → IRC is even implemented

  164. pep.

    Reading the xhtml-im deprecation thread, I realized that people are not even aware of 0001. Changing Draft to something else wasn't bad but probably not enough

  165. moparisthebest

    pep., until someone invents a device that can slap another person over the internet what else can be done?

  166. moparisthebest

    (I *really* want one of those devices)

  167. jonasw

    "stab someone into the face over standard tcp/ip"

  168. pep.

    moparisthebest the (in)famous slapper

  169. moparisthebest

    well it'd need to bypass firewalls and NAT so I'd vote over HTTPS :P

  170. jonasw

    pep., tbf, I wasn’t aware of 0001 until I started authoring XEPs either

  171. Maranda


  172. jonasw

    /kickban moparisthebest stop making people sad :(

  173. pep.

    jonasw, sure, same for me, it took a while

  174. moparisthebest

    see jonasw , you could have used the slapping device on me right then...

  175. jonasw

    s/slapping/stabbing/ pls

  176. jonasw

    need to be more rigorous here ;-)

  177. pep.

    jonasw, we're not criminals

  178. pep.

    Or I'm out!

  179. jonasw

    ohkay ohkay

  180. Maranda

    pep. lies.

  181. nyco

    board meeting in 5?

  182. SaltyBones

    Ge0rG, you'll love this: http://friedberger-nachhilfe.de/ a website that requires you to fill out a captcha to VIEW it :)

  183. Ge0rG

    SaltyBones: wfm

  184. Dave Cridland

    pep., FWIW, the website portal for the XEPs (ie, https://xmpp.org/extensions/) could probably use a link to it, even though it's the first one listed.

  185. Dave Cridland

    Also it says you can show/hide the various *types* of XEP, when it then shows Statuses.

  186. moparisthebest

    SaltyBones, that's what cloudflare does as a company

  187. Dave Cridland

    SaltyBones, You're using Tor, I assume?

  188. Dave Cridland

    nyco, Also, yes. Although I was distracting Guus, so I may have made him late.

  189. nyco

    it's now

  190. Guus

    I'm here.

  191. Guus

    Martin excused himself

  192. Guus

    Ralphm, MattJ?

  193. nyco

    Matthew and Ralph are around

  194. MattJ


  195. Guus

    nyco, did you talk to Ralph just now, or were you only observing that he's in this MUC?

  196. nyco


  197. nyco

    5 min ago

  198. nyco

    oops, no

  199. Guus

    that was me

  200. Guus

    the other handsome Dutch guy :)

  201. nyco

    let's still start? and end on time?

  202. Guus


  203. nyco


  204. Guus

    Do you want to take this one?

  205. SaltyBones

    moparisthebest, Dave Cridland no, without Tor! Indeed it's not funny otherwise. :p

  206. Guus bangs a gavel

  207. Guus

    1. Role Call and agenda

  208. Guus

    We've established who's here. Anything else for the agenda?

  209. nyco

    none from me

  210. MattJ

    Nor me

  211. Guus

    2. Confirm minute taker

  212. Guus

    Who would be so kind?

  213. Guus

    >awkward silence<

  214. Guus

    I'll type them based on the logs then

  215. nyco


  216. Guus

    3. Topics for decision

  217. Guus

    3.1: Board Priorities 2018

  218. Guus

    we're holding off for that meeting, right?

  219. nyco


  220. nyco

    still waiting for answers

  221. nyco

    regarding preferred dates and times

  222. Guus

    nyco is working on that, I think, given that you asked me about availability earlier

  223. nyco


  224. Guus

    anything we can add to that here and now?

  225. nyco

    probably in two weeks, afaik

  226. Guus

    ok, thanks

  227. Guus

    3.2: Bus factor / bank account

  228. nyco

    apart from availabilities, if you got to push something regarding the organisation, feel free

  229. Guus

    As promised last week, I've reached out to Peter for an update, But have not heard back yet. I'll prod again.

  230. Guus

    (nyco, re prio meeting - I don't but I'll include that invitation in the minutes for others)

  231. Guus

    4. Reviewing commitment list

  232. Guus

    we've covered the prio meeting

  233. Guus

    Ralph expressed earlier that he wants to hold off the ED replacement search until after the prio meeting

  234. MattJ


  235. nyco

    do we have to wait?

  236. MattJ

    No, but I think we'd prefer to

  237. Guus

    nyco, I'm not sure if we _have_ to. I'm still unsure exactly what entails that role - which might tie into the prio meeting.

  238. MattJ

    Part of the problem is that we can't find people for the role until we can exactly define what the role is :)

  239. nyco

    got it

  240. Guus

    the third card, adding commits - I think we'll cover that in that meeting too. Nothing much to do there now, I think?

  241. nyco


  242. nyco


  243. Guus

    maybe put in a different lane for prio meeting?

  244. nyco


  245. Guus

    or just leave it for now, meh. I don't have a strong preference.

  246. Guus

    Last card, drafting a membership survey - Mattj, did you get around to prepare something?

  247. MattJ

    I didn't yet, sorry

  248. nyco

    if you need help, please ask

  249. Guus

    Can I tempt you for an ETA? :)

  250. MattJ

    Next week? :)

  251. Guus

    awesome :)

  252. nyco

    it's not that I'm good at it, I'd rather have someone really competent to do it, but I have a few insights that I'd to have confirmed/invalidated

  253. nyco


  254. Guus

    nyco, you did the last one, didn't you? That gave good results.

  255. MattJ

    nyco, I'm not claiming to be especially competent at it... if you have some ideas, feel free to share, or take it on yourself

  256. MattJ

    I just feel it should be done

  257. nyco

    ok then I'll push you the few questions/doubts I have, you do what you do of them, ok?

  258. Guus

    Perhaps you guys discuss this between the two of you, out of band?

  259. nyco


  260. MattJ


  261. Guus

    5. Items for discussion

  262. Guus

    5.1 Fundraising and financing

  263. nyco

    if we do that conference, we may be able to generate some money?

  264. Guus

    I'd actually would like us to look at that in more detail, but perhaps that should be prepared for better.

  265. nyco

    can be a board prio, btw

  266. nyco

    this may mean we'll discuss that during the prio meeting

  267. Guus

    I think addressing the money issue is something that we're responsible for anyway, wether or not it's a prio.

  268. nyco


  269. Guus

    I think it might be good to not heap to much on that already very broad meeting.

  270. nyco

    makes sense

  271. Guus

    Let me prepare for specific financial / fund-related talking points for next meeting - unless someone wants to add something now.

  272. Guus

    I'll take that as an 'ok'

  273. Guus

    6. AOB

  274. Guus


  275. nyco


  276. MattJ

    None here

  277. Guus

    from the floor perhaps?

  278. Guus

    7. Time / date of next

  279. Guus

    I'll be unavailable next week

  280. nyco


  281. MattJ

    Next week works for me

  282. Guus

    but if you guys are available, I'm ok to skip one.

  283. Guus

    ok, two out of four will be there. It's likely that you'll get at least one more, I think

  284. nyco

    Ralph and Marint may like to join

  285. MattJ

    I think we should continue unless others also indicate they can't make it

  286. Guus

    lets do +1W

  287. Guus

    we are in agreement

  288. Guus bangs gavel

  289. nyco

    thx MattJ and Guus! ;-)

  290. Guus

    thank you guys

  291. MattJ

    Thanks Guus

  292. Syndace

    Sorry I didn't see there was official stuff going on at first and didn't want to interrupt (isn't this the wrong MUC?). Anways what I wanted to tell you: OH MY GOD I just successfully signed and verified messages using my XEdDSA python implementation! Prepare for a new OMEMO lib guys :)

  293. MattJ

    Syndace, great news :)

  294. nyco

    no pb Syndace

  295. Guus


  296. MattJ

    I'd say that's relevant to this MUC, it's on average used for official meetings for 30 minutes every week

  297. nyco

    oh memo!

  298. Guus

    24 this week, we were being efficient ;)

  299. vanitasvitae

    Syndace, wow nice!

  300. vanitasvitae

    It would be interesting to make java port at some point, to create smack-omemo-syndace 😀

  301. Syndace

    Haha thanks guys! 😁

  302. goffi

    Syndace: great, any idea when we could test a public repos ?

  303. jonasw

    Syndace, amazing!

  304. jonasw


  305. Syndace

    Well most of it is already prepared and I just need to switch the flag from private to public on GitHub. I hope it'll be a thing of one or two weeks (but I tend to underestimate developement time :D )

  306. jonasw

    why don’t you switch it to public right now?

  307. jonasw

    tack a huge "UNAUDITED CODE" warning on it and go for it

  308. goffi

    Syndace: will Python 2 be supported ?

  309. jonasw

    I hope not.

  310. jonasw

    python 2 won’t be supported at all anymore in 2 years time

  311. Syndace

    jonasw, I thought about this but I really want it at least to work before I make it public

  312. goffi

    jonasw: yes I know

  313. jonasw

    Syndace, I thought it does now?

  314. jonasw

    otherwise it makes sense :)

  315. Syndace

    Yeah Python 2 is supported (actually I don't know whether Python 3 is supported)

  316. jonasw

    aand I lost interest.

  317. jonasw


  318. Syndace

    The last piece is working but not integrated yet

  319. jonasw

    seriously though: python2 is going to die soon-ish. if there are issues with py3, I’ll be happy to help out

  320. goffi

    jonasw: not all software have switched yet, so python 2 support is good news for now

  321. goffi

    Syndace: for me Python 2 support is interesting only for a couple of months (until I fully switch to Python 3), but the support is really good news as it means I can start implementation quickly.

  322. Syndace

    Good to hear. When I started working with Python about two years ago I was forced to use Python 2 because one of our dependencies did not support version 3 and I kind of stuck to it. I know of most of the differences though and I think I wrote the code to work in both versions equally.

  323. jonasw

    Syndace, tip: set up travis CI (or another CI) tests for each version you’d like to support

  324. jonasw

    it’s actually quite trivial to do with github

  325. goffi

    Syndace: I was also stuck by dependency (Twisted), but the port is done now.

  326. Zash

    Re billion laughs, https://modules.prosody.im/mod_conformance_restricted.html

  327. jonasw

    still need to figure out how to integrate that in my test suite.

  328. jonasw

    > Send “PI”, “comment”, “DTD” or “entity” to xmpp:example.com/conformance, while directly connected to the Prosody instance.

  329. jonasw

    as <body/> in a <message/>?

  330. Zash


  331. moparisthebest

    jonasw, is python 2 going to die soonish though?

  332. moparisthebest

    because it seems like 2 and 3 will live on all computers forever at this point

  333. jonasw

    moparisthebest, once upstream support is done, I’ll start to bug every project still using it.

  334. moparisthebest

    python 3 is like MIX except there are actual users

  335. jjrh

    I wish distros would stop encouraging pidgin (aka not installing it by default) because pidgin - least last time I used it - was really really bad for XMPP

  336. jjrh

    all the "why does this happen???" xmpp issues were resolved when I switched to gajim

  337. Zash

    Jack of all trades

  338. jjrh

    But what does it actually do besides XMPP and IRC?

  339. jonasw

    Ceterum Censeo Pidgin Delendam Esse.

  340. Zash

    They don't ship Pidgin for its XMPP capabilities

  341. jonasw

    jjrh, ICQ, Facebook(?), …

  342. jjrh

    Does anyone actually use ICQ anymore? Facebook is broken for sure.

  343. jonasw


  344. jjrh

    like don't get me wrong 10 years ago gaim was great

  345. jjrh

    but these days everything is mostly "use a browser and be lucky if it even sorta works with a native client"

  346. jjrh

    Like I used to use bitlbee for facebook chat for a long time but eventually it stopped working and a whole bunch of features like group chats didn't work so I gave up and just open messenger.com

  347. moparisthebest

    do non-tech people even use desktops/laptops anymore?

  348. moparisthebest

    my mom and wife haven't used one in years at this point

  349. jonasw

    (I sure hope those are distinct people)

  350. moparisthebest

    they just do everything on their phones

  351. moparisthebest

    haha yes jonasw

  352. jonasw

    ah yeah, plural

  353. jonasw

    the first four words are not unambiguous

  354. jjrh

    Well I have been trying to convince folks at my work to use gajim instead of pidgin - it's slow going.

  355. jjrh

    one person is all "it doesn't have IRC so I don't want it" Like comeon - IRC in pidgin really really sucks.... just use xchat if you want a gui

  356. jonasw

    jjrh, deploy a biboumi

  357. jonasw

    amazing IRC<->XMPP gateway

  358. jjrh

    How does that work? is it just a irc bouncer?

  359. Ge0rG is a long-time hard-core XMPP user and is almost happy with biboumi

  360. Ge0rG

    jjrh: it allows you to use all your xmpp clients on IRC, at the same time

  361. jonasw

    jjrh, https://biboumi.louiz.org/

  362. jonasw

    it maps IRC to MUCs

  363. jonasw

    pretty great

  364. jjrh

    Yeah so it's just a bouncer - neat.

  365. jjrh

    How does it work for the authentication? You configure that all through your XMPP client or do you need to configure the biboumi gateway?

  366. moparisthebest

    you configure it through ad-hock commands, so you need like gajim

  367. jonasw

    jjrh, yeah, ad-hoc commands.

  368. moparisthebest

    wow extra k where did that come from

  369. jjrh

    Ah cool. So what is it SASL? works.

  370. moparisthebest

    but once configured, it works great with conversations and such too

  371. jonasw

    it doesn’t do SASL AFAIK

  372. jonasw

    but you can add a PRIVMSG to nickserv on startup if that helps.

  373. jonasw


  374. jonasw


  375. jjrh

    yeah the main one is having freenode work

  376. jjrh

    (freenode should just run a xmpp gateway! )

  377. moparisthebest

    most IRC servers, I think freenode too, just lets you send your nickserv password as the server password

  378. jjrh

    yeah so it's not the end of the world.

  379. jjrh

    I think i'll give it a go - would make one aspect of my life a little easier. Tunneling the weechat remote over ssh on my phone is not great.

  380. jonasw

    oh yes

  381. jonasw

    just make sure you don’t allow remotes to (ab-)use your biboumi

  382. jjrh

    Yeah I can see spammers going to down with that :P

  383. jjrh


  384. jjrh

    I started reading xep-0369 - has anyone implemented it yet?

  385. moparisthebest

    iirc there is 1 proprietary server implementation and 1 open source almost-implementation

  386. moparisthebest

    but no it's basically vapourware

  387. jjrh

    I guess SWIFT client has support

  388. jjrh

    I see a request on prosody - whats the open source server implementation? ejabberd?

  389. moparisthebest

    it tries to solve every use-case on the planet, far too complicated if you just want good multi-user chat, in my opinion of course

  390. moparisthebest

    I want to say openfire...

  391. jjrh

    haven't finished reading the spec yet but I'll agree it is rather complicated. It however gets much much closer to being like 'slack' where you're a 'member' of a room but not necessarily active.

  392. jonasw

    IMO MIX is rather sane by now, feature-set wise

  393. jonasw

    it solves some nastiness of MUC

  394. jonasw

    (speaking as a client developer)

  395. moparisthebest

    there are other things to do this https://xmpp.org/extensions/inbox/muc-light.html https://docs.ejabberd.im/developer/xmpp-clients-bots/proposed-extensions/muc-sub/

  396. jonasw

    my main issue with it is that it integrates weirdly with the roster.

  397. moparisthebest

    I have no comment as to whether they are better/worse than MIX

  398. jjrh

    That functionality would be useful for certain types of deployments - aka a company XMPP server where new users get automatically setup with all the varying rooms - so they /see/ what's there not necessarily actively participating.

  399. jonasw

    don’t link things in /inbox/ as "there *are* other things"

  400. moparisthebest

    it is a thing isn't it jonasw ? :P

  401. jonasw


  402. jonasw

    jjrh, you can do that with autojoin-bookmarks (many clients will follow them) for MUC too

  403. jonasw

    MIX mainly has the advantage that an *account* is joined and not an individual client. this makes things simpler because it takes the load off the client regarding keeping state in sync.

  404. jjrh

    Yep, but you still will get the "Someone has mentioned your name" pop up

  405. jonasw

    yeah, that’s true for both MIX and MUC?

  406. jjrh

    Don't you need to be /in/ the room with a client for MUC?

  407. jjrh

    not just bookmarked

  408. jonasw

    you need to

  409. jonasw

    but most clients will follow autojoin-bookmarks

  410. jonasw

    so if you put them in their account on sign up, they will be joined right away

  411. jonasw

    pidgin will of course not, because pidgin is stupid

  412. jjrh

    Right but if I close the window i'm sol

  413. jonasw

    I don’t know what "sol" means

  414. jjrh

    shit out of luck

  415. jonasw

    but if you close the window and your client takes that as "leave this chat" it might very well make you leave from the MIX.

  416. jonasw

    that’s not a protocol issue

  417. jjrh

    I read this idea as I have jonasw as a member of xsf - with the theory that I should be able to signal your attention to that room without your client actively listening / receiving all the junk going on. You may also want your phone to only have the alerts / important information open and not all the other channels you participate in - but you still want to be queried on your phone when someone says "jonasw did you forget we have a meeting today?" in xsf

  418. ralphm

    Guus, others, apologies, I need to play taxi unexpectedly

  419. ralphm

    Guus, others, apologies, I needed to play taxi unexpectedly

  420. jonasw

    jjrh, the client will always receive all messages from a MIX room your account is joined to

  421. jonasw

    independent on whether you are mentioned or whatnot

  422. jjrh

    I thought the whole idea of keeping you as a 'member' of a room was for situations where you might not want your phone sitting in a really busy support channel because it eats up a lot of data but on your desktop client you don't care

  423. jonasw


  424. jonasw

    the idea is that you don’t get removed from a room just because right now none of your clients is online

  425. jjrh

    Ah. That would be a neat feature to have - having your phone only subscribe to the pubsub node and when you say my name or 'signal' me somehow from the context of the chat room my client would alert me i'm needed. Also be a handy feature for things like I want to get important notifications about prosody - and may want to weigh in - but the majority of the time not looking at that window. Stuff like a broadcast that there is a majority vulnerability and you should upgrade asap, or a new version release.

  426. jonasw

    there is no pubsub node which does that

  427. jonasw

    (in MIX)

  428. jonasw

    of course, using pubsub nodes for such announcements would be an interesting, but also totally separate concept.

  429. jjrh

    In the little free time I have at the moment i'm trying to get to the point of understanding the gajim codebase enough to implement better pubsub support to do stuff like alerts/notifications. Instead of having a MUC bot dump git commits that would be a pubsub node - and ideally sub nodes for different branches, so I can subscribe to say a feature branch that interests me or conflicts with my work. (but majority of people aren't concerned with that)

  430. jonasw

    there is subscribe-options which could do that -- if you’re running a specialized pubsub-service

  431. moparisthebest

    kind of like a mailing list type thing?

  432. jonasw

    which should be trivial to do; a pubsub service can be run on a resource IIRC

  433. moparisthebest

    could be interesting

  434. jonasw

    I need to implement a skeleton for a pubsub service in aioxmpp, so that I can deploy bots which act as pubsub services.

  435. jjrh

    My thought is more instead of getting my inbox spammed with nagios alerts I would get pubsub notifications. Ideally doing something smart like having different nodes for various servers. I got the idea from moparisthebest 's sendmail xmpp thingy - have a email account you add to receive alerts to and a bot thingy that converts the emails to xmpp pubsub nodes or msg/muc. Everything already supports email so the overhead to support this is just adding another email to receive the notification.

  436. jjrh

    I did something sorta like this for email alerts to SIP SIMPLE.

  437. moparisthebest

    that would be interesting for mailing lists like all the xsf ones

  438. jjrh

    Yep. Just about everything supports at least email so you're not writting a plugin for all the different platforms.

  439. moparisthebest

    'mailing lists in xmpp' seems to be something that someone else would have thought of and implemented already

  440. moparisthebest

    I wonder if there isn't already a XEP

  441. jjrh

    The thing is I haven't found any clients that really have good pubsub support

  442. Kev

    What does "Really good pubsub support" mean in a client?

  443. Kev

    Pubsub is used in the context of things, rather than as a thing on its own.

  444. jonasw

    Kev, I think actually just subscribing to a node and receiving messages from it.

  445. jjrh

    I would see - for this case - a window that I can browse. Like movim does

  446. jjrh

    Sorta like a RSS reader I guess

  447. Kev

    Neither of those sound like a generic client thing to me.

  448. Kev

    You subscribe to the node in the context of something specific (e.g. Swift will soon support subscribing to FDP nodes)

  449. MattJ

    What is a generic client? :)

  450. Kev

    A think a client should generically support.

  451. MattJ

    I think IM client would be how I'd describe what you're describing

  452. MattJ

    Since an XMPP pubsub feed reader is also a client (yes, I'm being picky, but just trying to clarify the conversation)

  453. Kev


  454. jjrh


  455. jjrh

    something like that - a window that lets you navigate the hierarchy and new nodes would obviously ping you.

  456. moparisthebest

    jjrh, but is it like a mailing list, can you reply to specific nodes :)

  457. Ge0rG

    > For example we may rename XEP-0393 to "Markdown" That made my day.

  458. moparisthebest

    I really like it either way

  459. jjrh

    Not sure - it's just the idea I have in my head. Just being able to view this stuff more easily in a client would be useful.

  460. Ge0rG

    > Also if we'd do that, we'd have "Message Markup" and "Message Markdown"... Where can I vote on that? 🤣

  461. moparisthebest

    jjrh, I'm not a UI guy at all, that seems great for desktop, but how would it look in mobile?

  462. jjrh

    Not a UI guy either - so no clue, I would probably look at how email mobile apps do threading

  463. Yagiza

    moparisthebest, as for XEP-0393, I'm sure its implementation will be awful both on desktop and mobile.

  464. jjrh

    but probably something like showing the top level stuff, then you click 'security' and then it shows all the sub nodes for that and so on. For new alerts you would just get a notification showing you what it is (kinda like a new email notification - you get the first 15 words or whatever in the notification)

  465. moparisthebest

    Yagiza, do you mean https://xmpp.org/extensions/xep-0369.html ? 393 is the styling one and it's already great everywhere :)

  466. Yagiza

    moparisthebest, I'm sure not so great.

  467. Yagiza

    moparisthebest, XEP-0369 is interesting but seems somewhat complicated, so needs further investigations.

  468. moparisthebest

    Yagiza, gajim and most other desktop clients, including IRC and email implemented basically 393 before it existed, conversations implemented it immediatly

  469. moparisthebest

    I don't see the problem at all

  470. jjrh

    I'll probably initially - specifically for email alerts - just dump them to a MUC channel (or private msg) which will work with every XMPP client. This would work /today/ with all the XMPP clients. (the main users I have in mind are on a proprietary client)

  471. jjrh

    kinda stole your sendmail idea moparisthebest and did a hack job with a libstrophe example to send me a private message from a git hook. The server with git on it doesn't have python 3 and all that stuff and I couldn't get rust to cross compile to 32bit so C was easiest.

  472. moparisthebest

    it wasn't really my idea, perl sendmail is super ancient and didn't work with my server, I copied/hacked that python one from someone else to do PGP and such, then an openssl upgrade broke python and I hacked the rust one together :P

  473. moparisthebest

    *perl sendxmpp

  474. jjrh

    Well I got the idea from /your/ code. :)

  475. moparisthebest

    still if you wrote a C sendxmpp you should put that code someplace public :)

  476. moparisthebest

    wait, 32 bit server in 2018? interesting :)

  477. Zash

    I wonder if I still have my sendxmpp-curl somewhere

  478. jjrh

    I don't want to talk about it haha

  479. jjrh

    I was as surprised as you were

  480. Zash

    moparisthebest: Hey, you leave my supercomputer alone!

  481. Zash

    It was cool in 2003

  482. moparisthebest

    Zash, you added xmpp to curl?

  483. Zash

    moparisthebest: No, I wrote a plugin for Prosody that received stuff over HTTP and a curl wrapper compatible with sendxmpp

  484. Zash

    https://modules.prosody.im/mod_post_msg.html 8 years ago!

  485. jjrh

    But 'wrote' is a bit of a stretch, I found some example from a PR and glued it together. I'll throw it up somewhere. Right now it's just a make target for libstrophe since I couldn't be bothered to figure out how to correctly link it.

  486. moparisthebest

    ah ok, neat

  487. moparisthebest

    adding xmpp to curl would also be neat

  488. moparisthebest

    it does imap and smtp and such, why not xmpp

  489. Zash

    $ q ~/share/bin/sendxmpp-curl https://q.zash.se/76c690bcad19.txt

  490. Zash

    moparisthebest: Do it!

  491. jjrh

    but it works, I get a private message when someone pushes :)

  492. moparisthebest

    I switched most of my cronjobs/alerts to sendxmpp over sendmail years ago, but it has the downside of some messages are obnoxiously big for xmpp

  493. moparisthebest

    I broke conversations once, now it has a character limit and messages get truncated

  494. jjrh

    I'd like to add a bit of stuff so it uses ~/.config/sendxmpp.toml and is just a C version of sendxmpp

  495. moparisthebest

    jjrh, did you try https://github.com/thepowersgang/mrustc

  496. moparisthebest

    in theory it'd work for you but I never tried it (compiles rust to C)

  497. moparisthebest

    well cross compiling to 32 bit linux should work too...

  498. jjrh

    Nah they only show x86-64 targets - I didn't actually get libstrophe to cross compile, I got the same issue as I did trying with rust some issue with SSL. The reason C worked well is because I could just compile it on the 32bit machine without installing anything new.

  499. moparisthebest

    jjrh, 'rustup target list' shows both i686-unknown-linux-gnu and i686-unknown-linux-musl

  500. moparisthebest

    should be 1 invocation of 'rustup target add i686-unknown-linux-gnu' and then 'cargo build --target i686-unknown-linux-gnu'

  501. jjrh

    Yeah I did exactly that - I wanted a static binary so I needed uh musl? ,got some issue with SSL - probably something to do with my system. I didn't feel like investigating so I tried with libstrophe and got a similar issue and just gave up and compiled it on the 32 bit server - doing it with C was less painful since the machine had GCC. I didn't want to install all the rust stuff

  502. moparisthebest

    yea makes sense

  503. moparisthebest

    I've only cross-compiled rust to 64-bit windows so far, it worked well though

  504. jjrh

    Yeah I have done this before without issue but anything involving SSL tends to cause headaches

  505. jjrh

    My C knowledge is basic at best though which doesn't help.

  506. moparisthebest

    yea today I'll jump through a good number of hoops to write rust if it means avoiding C

  507. jjrh

    I don't mind C really I just never end up in situations where I need it.

  508. jjrh

    Last project I did in C was some embedded stuff on a TI arm M4F chip. Not a lot of work doing C these days really.

  509. moparisthebest

    embedded rust seems to be going fairly well http://blog.japaric.io/ haven't gotten a chance to try it yet

  510. jjrh

    The real issue is just about all the chip manufacturers support C and ASM and provide ALL their examples in that and all their build tools expect you're doing that so you have to jump through more hoops to use something else.

  511. jjrh

    But i'm glad people are working on it.

  512. jjrh

    Doing stuff with this TI board - their environment which is a fork of eclipse - as frustrating and crappy it is does have some really really nice and helpful stuff built in.