XSF Discussion - 2017-11-24


  1. Link Mauve

    Ge0rG, and everyone else, https://wiki.xmpp.org/web/index.php?title=Easy_Group_Chats&curid=12&diff=9796&oldid=18

  2. zinid

    MattJ: nobody has stolen your approach, you don't have it implemented

  3. jonasw

    Link Mauve, +1

  4. jonasw

    I still have no good idea how to glue all the layers together in my client to actaully be able to implement that chain of fallbacks :/

  5. zinid

    my thoughts exactly when I try to implement new cool xmpp things: calling hooks in unexpected places is annoying

  6. zinid

    for example, dealing with messages forks and carbons is a nightmare

  7. jonasw

    zinid, you should involve yourself in the Message Routing 2.0 discussion, if you aren’t already

  8. jonasw

    things might in fact get simpler

  9. jonasw

    I always wonder whether this perceived complexity is from my inexperience with 1Mloc+ projects or if this is specific to the IM domain or if this is specific to the XMPP domain

  10. zinid

    I think that's because of paradigms change

  11. jonasw

    you mean existing code having hardship with adapting to the new situations?

  12. zinid

    we used to have simple chatting where you don't need to *synchronize*

  13. zinid

    no, I mean IM paradigm

  14. zinid

    now we face the problem which is in fact data *synchronization*

  15. zinid

    take a look at mam and carbons

  16. zinid

    those are clearly replica transfers

  17. jonasw

    sure

  18. zinid

    so I would suggest to implement this replica layer first

  19. zinid

    but I have no idea how to make the transition :/

  20. zinid

    I also think XML is not the best way to exchange replicas, lol

  21. zinid

    anyway, we can invent new and shiny IM 2.0, but how to make the transition?

  22. zinid

    that's why I virtually don't discuss the topic

  23. zinid

    I have no ideas

  24. jonasw

    zinid, there have been very concrete proposals

  25. zinid

    jonasw: I didn't find the solution with ancient servers

  26. zinid

    I mean I didn't see such proposal

  27. jonasw

    (using Bind 2.0 as a signal for "use IM 2.0 rules" and some s2s protocol to make serves negotiate that between them, PLUS and here’s where your ancient servers come into play, fallback to the existing Hints for Carbons and MAM by writing them explicitly into the messages when transferring to IM 1.0 domains)

  28. zinid

    fuck yeah, much easier :D

  29. jonasw

    much easier than what?

  30. zinid

    [10:26:12] <jonasw> things might in fact get simpler

  31. zinid

    what did you mean here? :)

  32. zinid

    I see only more complexity, it looks for me new servers need to maintain old and new behaviour

  33. jonasw

    zinid, inside the IM 2.0 domain, you’d see much simpler rules for archiving and carbons than what we currently have

  34. zinid

    probably, but those rules still suck in the sense of replica synchronization

  35. jonasw

    do they?

  36. zinid

    for example eventual consistency is not guaranteed at all

  37. jonasw

    isn’t its

  38. jonasw

    isn’t it?

  39. zinid

    you can lose messages easily

  40. jonasw

    how?

  41. zinid

    via s2s failures?

  42. jonasw

    stream management?

  43. zinid

    it doesn't solve all the problems

  44. jonasw

    sure, but many

  45. zinid

    no

  46. zinid

    it doesn't solve a problem with server outage for significant time

  47. jonasw

    and also, the current discussion is mostly about different clients on the same account

  48. jonasw

    do you think it should be extended to different accounts?

  49. zinid

    typically the message is buffered for 5 minutes

  50. jonasw

    on server outage with significant time I’d expect message loss, it’s as simple as that

  51. zinid

    yes, I know what about the current discussion ;)

  52. jonasw

    the sender would get an error back, it’s a rather clear situation?

  53. zinid

    jonasw: well, I have quite some experiences in database design and I would say consistency should be guaranteed even with huge outage

  54. zinid

    jonasw: yes, it will receive error back, then what? the recipient loses the message forever

  55. jonasw

    it is clear to the sender that the recipient has never seen the message

  56. jonasw

    or that the message was never even sent

  57. zinid

    yeah, that's not how eventual consistency works ;)

  58. jonasw

    I find it consistent.

  59. jonasw

    both nodes end up to "know" the "message was not sent" state

  60. zinid

    you face inconsistent state and you need to resolve it *eventually*

  61. jonasw

    (the sender explicitly by seeing the error, the recipient implicitly by not seeing the message)

  62. zinid

    no, recipient node might know jack shit

  63. zinid

    due to unexpected failures

  64. zinid

    this is acceptable in p2p computing for example

  65. zinid

    and is tolerated

  66. zinid

    but not in xmpp ;)

  67. zinid

    distributed databases even have anti-entropy technics to deal with rotten bits (https://en.wikipedia.org/wiki/Software_rot), but let's say we don't need this in xmpp (at least so far)

  68. zinid

    I find matrix approach very decent in this regard, however their use of http polling and json is annoying

  69. Holger

    Exactly.

  70. zinid

    yeah, the idea is great, implementation is shit

  71. zinid

    I still think servers should not replicate, it should be done peer-to-peer

  72. zinid

    servers could maintain replicas, but this is not required

  73. Holger

    The replicas are just caches in Matrix I think. At least I don't see why servers couldn't just ditch and later re-fetch them.

  74. zinid

    probably, I don't know all the details

  75. zinid

    but look, this is much easier to fetch replicas p2p: when you become available you ask for replicas of your contacts (possessing the last seen message id)

  76. zinid

    you don't even need stream management queues for this

  77. jonasw

    except that you wouldn’t want your phone to drain its battery on syncing other peoples messages

  78. zinid

    jonasw: yes, so replication servers are needed, so they can reply to such replica requests by themselves (without client involvement)

  79. jonasw

    at which point you’re ditching the p2p approach and we’re kind-of back to "ask for MAM on your server"

  80. zinid

    no, I can disable this feature on my server

  81. zinid

    but this can be implemented via MAM, yes

  82. zinid

    we already have this for groupchats

  83. zinid

    why contacts are different?

  84. jonasw

    see above?

  85. zinid

    what exactly do you mean? MAM should be considered as just another replica or cache

  86. jonasw

    I mean the power consumption issue.

  87. zinid

    of course there can be tons of replicas, so?

  88. zinid

    what issue if you ask your server to maintain replicas?

  89. jonasw

    I don’t see how that would work, discovery and security-wise.

  90. jonasw

    I don’t have any issue with that, it is simply MAM

  91. zinid

    I don't find it less secure than current approach

  92. jonasw

    anyways, gotta go, I already typed too much today (hand injury) :(

  93. zinid

    jonasw: this is kinda "enchanced" mam :)

  94. Link Mauve

    “07:54:06 jonasw> on server outage with significant time I’d expect message loss, it’s as simple as that”, people coming from email would be sad to hear that, it’s been a solved problem for a long time there.

  95. jonasw

    Link Mauve, when you have a long outage, emails will bounce just like IM messages do

  96. jonasw

    the term "long" is relative and may be different for IM and Email

  97. Zash

    It's *Instant* Messaging after all

  98. zinid

    Zash: nah, it's data replication now, that's the problem

  99. Zash

    Yeah :(

  100. zinid

    and we're trying to solve this replication problem via IM

  101. Link Mauve

    Hence the huge whiteboard I’ve been promised for years. :(

  102. jonasw

    FOSDEM?

  103. Zash

    Yes! Brussels 2018 - The Whiteboardening

  104. jonasw

    sounds like I really need to sort that out

  105. Link Mauve

    Let’s use Markdown! https://statuscode.ch/2017/11/from-markdown-to-rce-in-atom/

  106. jonasw

    ah, they failed to sanitize HTML :)

  107. jonasw

    the HTML support in the markdown component is left enabled intentionally

  108. zinid

    html inside markdown looks like a really insane idea ;)

  109. jonasw

    zinid, markdown is specified as an HTML superset, IIRC

  110. Zash

    markdown is defined as a html superset

  111. Zash

    too slow

  112. zinid

    wat?

  113. zinid

    a html superset?

  114. jonasw

    yup

  115. zinid

    what does that mean?

  116. jonasw

    every valid HTML document is a valid markdown document

  117. zinid

    oh shi~

  118. jonasw

    (even though I’m not sure that’s actually true, there are probably some corner casesr

  119. jonasw

    (even though I’m not sure that’s actually true, there are probably some corner cases)

  120. jonasw

    but it’s intended to be that way

  121. zinid

    actually, every text is a valid markdown document, no?

  122. jonasw

    yes

  123. zinid

    so markdown is a text superset, okay

  124. jonasw

    but the semantics of a valid html document interpreted as markdown are the same of the html docmuent interpreted as html

  125. zinid

    nevertheless, the article is interesting

  126. jonasw

    I wonder what those german guys asking about XEP-0392 are about.

  127. daniel

    jonasw, what do you mean? that's the jsxc developer

  128. daniel

    the client that is mostly known for its integration into nextcloud

  129. jonasw

    daniel, and the other three?

  130. jonasw

    *two

  131. daniel

    christian schudt is the babbler developer

  132. jonasw

    (not saying that it’s a bad thing or something, I was just wondering why suddenly)

  133. jonasw

    you know people, it’s scary

  134. daniel

    and klaus herberth is i believe also jsxc

  135. jonasw

    yeah, Klaus Herberth has jsxc in his mail adress, so I assumed you were talking about him when referring to "the jsxc developer"

  136. daniel

    I see. I was originially talking about marcel because that's the first email i saw

  137. jonasw

    ah ok

  138. daniel

    Fwiw I don't know any of these people. I just know of them. Babbler is super awesome.

  139. pep.

    jonasw, https://ppjet.bouah.net/poezio-colors.png one use case of why using the bare JID for colors is meh

  140. pep.

    nick would be better in that case. These are all IRC users, going through a bridge (Gluttony)

  141. mathieui

    pep., jonasw already said it on the list

  142. pep.

    Ah I have to catch up

  143. zinid

    too many germans in jabber

  144. mathieui

    says the russian

  145. Zash

    too many humans

  146. zinid

    mathieui: russians in jabber can only write spam bots and talk shit, mostly ;)

  147. Flow

    daniel, do you want a MAM namespace bump?

  148. daniel

    Flow: no?!

  149. Flow

    or, in other words, isn't a MAM namespace bump required for your proposed excluded-types?

  150. Flow

    or is the service required to return an error on unknown fields? which would be good I think

  151. daniel

    Flow, i think the additional filter thingy is off the table anyway

  152. daniel

    we just gonna adjust the rules

  153. Flow

    ohh :( I like the idea of additional flexible filters which are discoverable

  154. daniel

    Flow, custom filters are already part of the protocol

  155. Flow

    and not specified in xep313

  156. Ge0rG

    what about making MAM responses type=headline?

  157. Ge0rG

    Aaaand changing the default configuration to "N/A"

  158. Flow

    daniel, right, but there is currently no specification for message type filters

  159. Flow

    Ge0rG, I can't follow, but it's likely because it has been a long week

  160. Flow

    I believe that MAM archives should be allowed to also archive groupchat messages FWIW

  161. daniel

    if they were specified they wouldn't be custom, no?

  162. Ge0rG

    Flow: type=headline would better reflect the ephemeral status of MAM responses, and the rationale for "N/A" is in https://mail.jabber.org/pipermail/standards/2017-November/033762.html (c)

  163. Ge0rG

    Flow: why do you believe that way?

  164. Flow

    daniel, probably, but does not matter, I want a mandatory set of filter mechanism which can be extended by discoverable additional filters, so that we can experiment which filters are a good idea and which are unnecessary

  165. daniel

    Ge0rG, am i reading this mail correctly you are planning to come to the summit?

  166. Flow

    Ge0rG, most for the same reasons that Kev said

  167. Ge0rG

    Flow: I disagree with Kev on that.

  168. Ge0rG

    daniel: I can't promise that.

  169. Ge0rG

    I really can't.

  170. Flow

    Ge0rG, My vision is to give MAM services maximal freedom regarding what to archive, and clients should be given the filtering mechanisms they need

  171. Ge0rG

    Flow: what about using a separate XEP for all of that?

  172. Flow

    Ge0rG, for the f

  173. Flow

    iltering mechs?

  174. Flow

    (the optinal filtering mechs)

  175. Zash

    What gets stored should be up to server policy. What gets can be described by a XEP

  176. Ge0rG

    Flow: no, for things that go beyond normal im client message archival.

  177. Ge0rG

    Zash: implementation defied!!!!

  178. Flow

    Ge0rG, wouldn't that be an MAM alternative?

  179. Ge0rG

    Flow: what about using the same backend storage but not return everything to normal MAM requests?

  180. Flow

    Ge0rG, if you still have the possiblity to return groupchat and probably all other types of messages, then that would be fine in my book

  181. Flow

    err, to return if the client asked for it

  182. Ge0rG

    Flow: the server is free to store anything it wants, as longs as it only returns what's written in MAM on a normal MAM query

  183. daniel

    Flow, it's not my XEP; i could live with the filtering on query proposal. (also I believe storing groupchat in the personal archive has downsides that make it not really fit for use). I believe existing implementations would ignore unknown form fields. thus introducing new ones could be done without a NS bump

  184. daniel

    so to answer you question no I'm not planning a NS bump. I'm not planning anything

  185. Flow

    daniel, guess my initial question was if you think that your proposal 2) would require a NS bump

  186. Flow

    I'm not sure if the service ignoring unknown fields means that you can avoid a namespace bump

  187. Ge0rG

    really, let's get rid of namespace bumps altogether.

  188. daniel

    i generally tend to be on the rather not bump if it doesn't cause issues with existing implementations faction

  189. Flow

    Yeah for unexpected behavior

  190. Ge0rG

    I'm sure it's possible to replace almost every ns bump with a feature.

  191. Flow

    Ge0rG, well then it's ok

  192. Ge0rG

    but in this specific case, I don't want to extend MAM.

  193. daniel

    but existing implementations need to change anway because they a) need to start actutally storing groupchats b) add a database field for the type to make the query efficent

  194. Ge0rG

    are there provisions in MAM to full-body-search for messages?

  195. Flow

    Ge0rG, I don't think so

  196. Ge0rG

    Flow: so what's your use case again?

  197. Flow

    And while at it, I want to point out that K9 did for years client local searches. It took a while until they implemented server side IMAP searches

  198. Ge0rG

    Flow: that's actually an argument against gc in mam

  199. Flow

    No, it's just an observation regarding the importance of a server side search feature

  200. daniel

    Flow, maybe make your argument for groupchat in the user archive on the list

  201. Ge0rG

    yes please

  202. daniel

    not sure if the relevant people are following this discussion

  203. daniel

    in here

  204. zinid

    seems like the list = this room

  205. zinid

    all the same people around

  206. daniel

    zinid, i'm not sure people read the backlog here. i certainly don't

  207. Ge0rG

    zinid: there is a formal difference.

  208. Ge0rG

    zinid: Council needs to catch up on standards@

  209. zinid

    daniel: I'm reading backlog when I have nothing to do ;)

  210. zinid

    daniel: actually I rant here only when I'm bored :)

  211. Ge0rG

    zinid: then it looks like you need a {boy,girl,other}friend

  212. zinid

    Ge0rG: nah thanks, I'm good with my wife and son

  213. Guus

    when is that lottery drawing?

  214. Guus

    which was it again

  215. Guus

    euro something?

  216. Ge0rG

    Guus: https://www.euro-millions.com/results

  217. Guus

    tx

  218. Guus

    no results yet

  219. Zash

    41 minutes?

  220. Guus

    ah, 21 CET (that's in an hour)

  221. Ge0rG

    Now I wonder if somebody can hack that web page.

  222. zinid

    what the fuck is this?

  223. Guus

    zinid, could you be more specific and less explicit please?

  224. Guus

    crap, crying kid, afk

  225. zinid

    Guus: no

  226. zinid

    other questions?

  227. Guus

    It wasn't a question, it was a request: please act in a civil manner here - it makes for a better atmosphere, which helps us to achieve more.

  228. zinid

    Guus: I act as I want, stop teaching me, I really don't care how you think one should act

  229. Guus

    zinid: I'm sorry to hear that.

  230. zinid

    Yeah, people have different views, deal with it 😀

  231. zinid

    Really, if you cannot tolerate words like crap or shit you're better off not using internet

  232. Ge0rG

    zinid: this place is not made for your crap and shit, but for constructive discussions in the context of XMPP. There are plenty of other places on the internet where you can behave like an a*hole and make friends that way...

  233. zinid

    Ge0rG: oh, I started to think you will not chime in 😂

  234. Ge0rG

    zinid: I've got a decade worth of channel operator experience in Germany's worst IRCNet channel, I have a sixth sense for trolling time... 😜

  235. Guus

    In other news: the Euro-millions draw is in progress!

  236. Guus

    animated gifs and all!

  237. Guus

    I'll give calculation a shot, but it'd be good to have someone else verify my results.

  238. Guus

    (although technically, Alex will probably sign-off anyway?)

  239. zinid

    Ge0rG: so euro millions is a constructive discussion?

  240. zinid

    "in the context of XMPP"

  241. Guus

    zinid: ah, that's were you were getting at earlier. Yes, it is, actually.

  242. Guus

    the board member vote were in a tie. The tie-breaker is a procedure that takes the outcome off this euro millions draw.

  243. zinid

    I didn't get anything

  244. zinid

    tie, producer, draw, wtf

  245. zinid

    ah, procedure

  246. Guus

    "that's where you were getting at" <-- I now understand the confusion.

  247. zinid

    I'm so excited, much wow

  248. Guus

    most background is here: https://mail.jabber.org/pipermail/members/2017-November/008695.html

  249. zinid

    not interested, I don't care about your policy and your invented rules

  250. zinid

    I'm interested in standards

  251. Guus

    suit yourself. We can definately use your help with the standards!

  252. zinid

    whoever you will elect, jabber will continue degrading, I'm 99% sure

  253. zinid

    Guus: I don't write documents, too much effort, 95% of time I will spend with english-russian dictionary

  254. zinid

    or russian-english, whatever ;)

  255. Guus

    Don't worry, there are lots of ways you can help out with the standards that don't require writing stuff down.

  256. zinid

    this looks like a sect

  257. Ge0rG

    zinid: people are having fun with technical protocols to ensure fairness of an election. If you compare that to elections in the USA, where districts are rebuilt to optimize vote results, or your country, where the president gets elected with 115%, it's a really great process... 😝

  258. Guus

    Nah. We're all friends. Here, have a sip of my kool-aid.

  259. zinid

    Ge0rG: not sure what technical protocols you mean. like your election bot, lol?

  260. Ge0rG

    Guus: that's what Jim Jones said...

  261. Ge0rG

    zinid: if you weren't so busy cursing, you'd already know

  262. zinid

    yeah, if I was interested

  263. zinid

    but I don't give a shit, luckily ;)

  264. Ge0rG

    zinid: you are bored anyway, give it a try

  265. Guus

    Results are in! By my calcultion: 19 - 24 - 28 - 30 - 50 -> 19.24.28.30.50./ -> f2507b627edc74d540e7cb747138ed7ee8e19d4458f9db5bfd3a92b5c97a9541 -> Nÿco

  266. ralphm

    zinid: if you can't be bothered to behave like a normal person, please leave. I'm serious.

  267. zinid

    ralphm: who are you?

  268. ralphm

    I'm the XSF Chair

  269. zinid

    wow

  270. zinid

    what if I tell no?

  271. ralphm

    I'm not sure what your thing is, but I've been getting complaints. We like this community to be inclusive and I don't appreciate our hospitality to be abused. By asking such a question, it appears that you don't care. If I'm wrong about this, please let me know.

  272. zinid

    yeah, I already understood that you build only the community you like, people who you like to see, without any technical merits

  273. zinid

    so how far did this policy bring you?

  274. zinid

    xmpp is a degrading protocol which is nobody want to implement and even here about

  275. ralphm

    Feel free to leave if you think we are doomed

  276. zinid

    nah, I like here

  277. ralphm

    Well, good. We welcome discussions on technical matters, in a civilized matter. It may all be funny for you to repeat how bad you think the protocol, our procedures, or the people in our community are. I don't find it acceptable. If you insist on keeping that up, I will simply remove you from the XSF maintained venues like this room.

  278. zinid

    ralphm: why don't you remove yourself? I don't even know you, what did you do for xmpp? I don't remember you discussing the protocol. Why do you have power to remove developers from this room?

  279. ralphm

    I'd you can't be bothered to even look that up, that's on you. This room is hosted by the XMPP Standards Foundation. I'm its Chairman. It's pretty much similar to how I would throw out a guest in my house if he starts bothering the other guests.

  280. zinid

    ralphm: ah, so you're a boss here

  281. ralphm

    If you need that kind of confirmation, yes.

  282. zinid

    ralphm: so your task is to ban developers you don't like, boss?

  283. ralphm

    zinid: yes. Bye.

  284. Steve Kille

    ralphm: good job!

  285. ralphm

    I had one job, I guess.

  286. Steve Kille

    some things the world can do without

  287. ralphm

    I can only hope he fairs better in other settings, so banning him from the world seemed excessive. For now.

  288. ralphm

    Fares, even. Yay auto-correct.

  289. Guus

    To bad it came to this. Always feels like a loss to me.

  290. Guus

    Not sure what the provocation was about.

  291. SamWhited

    It doesn't take much provocation to make him try to insult you. It would be more of a loss if new people see that kind of abuse and don't get involved because he'll just call them an idiot.

  292. ralphm

    I've had multiple complaints, and I'd like to think I'm a reasonable and generally nice guy. I also read back some previous discussions. Before, other people asked nicely. I did a final attempt. He keeps on trolling. Fine.

  293. ralphm

    I've suggested improvements to other people before, and those people have changed their ways. I can sometimes be annoyed, but this is simply intentionally riling up people, and I don't think we need to tolerate this.

  294. Guus

    Oh, I didn't want to to imply you were unreasonable.

  295. ralphm

    Good. You are actually close-by.

  296. Guus

    Close-by?

  297. ralphm

    Physically close. As in within a few kilometers.

  298. ralphm

    Sorry I didn't come by last weekend. How was t-dose?

  299. Guus

    ralphm: uneventful, sadly.

  300. ralphm

    Right. They have never seemed to live up to their goal of being a bit like FOSDEM-in-the-fall. Too bad.

  301. Holger

    Ugh, WTF.

  302. Holger

    I don't think "what the fuck is this?" was even remotely meant to be a provocation.

  303. Holger

    I mean I can't speak for zinid but this quite obviously reads like "what on earth is this Euro-millions thing?" to me.

  304. Holger

    And I'm not sure he called an individual an idiot.

  305. ralphm

    If it was just that, it would be just fine. I say things like that all the time

  306. SamWhited

    He's called multiple people idiots and been asked to stop, though he might not have used those words this time.

  307. Holger

    Aha.

  308. Guus

    Holger: I only asked him to be civil, and stopped when he made clear he had no intention.

  309. Guus

    I've made a point of not escalate things. Sadly, that did not work.

  310. Holger

    I see him using flippant slang. As for the substance, I see him ranting against how this community does things. I totally understand how he won't make friends that way.

  311. Guus

    I'm perfectly fine with arguments and dont mind expletives at all - but I do think it's important to have civil discourse.

  312. Holger

    But I won't agree with this as a reason for a ban.

  313. SamWhited

    He was asked to stop multiple times by different people including Guus, me, George, and probably others and only responded with abuse. Then someone who actually has authority politely warned him and he still didn't listen, I'm not sure what else there is to do besides a ban.

  314. SamWhited

    If he tells a new person that their spec or ideas are garbage they're not likely to come back; no community needs that kind of toxic behavior, no matter how smart the person is.

  315. ralphm

    Holger: just read back the logs for a few days. He's more than welcome if he can behave like a normal person.

  316. ralphm

    I'm going for some sleep now.

  317. Guus

    Goodnight

  318. Holger

    SamWhited: Yes, different people use different tone, and asking them to change it tends to not work that well in my experience.

  319. Holger

    How many days of backlog am I supposed to read to find the reason for the ban? I skimmed through November now. I found some purely technical comments on various details, some ranting on MIX, EXI, Twitter, Java, the XSF membership/council election process, and our priorities. I guess I overlooked something.

  320. Holger

    Whatever, this is your show, I'm not even a member. I'll shut up.