XSF logo XMPP Summit - 2019-02-02


  1. Zash has left
  2. alameyo66 has joined
  3. alameyo has joined
  4. alameyo has left
  5. alameyo has joined
  6. alameyo has left
  7. alameyo66 has left
  8. alameyo66 has joined
  9. Zash has left
  10. goffi has joined
  11. alameyo66 has left
  12. alameyo66 has joined
  13. alameyo66 has left
  14. alameyo66 has joined
  15. alameyo has joined
  16. alameyo has left
  17. alameyo66 has left
  18. alameyo66 has joined
  19. alameyo has joined
  20. lucky has left
  21. ossguy has left
  22. kingu has left
  23. grumpy has joined
  24. kingu I didnt see a XMPP table next to the matrix one
  25. kingu an*
  26. Vaulor has left
  27. Bartek has joined
  28. grumpy has left
  29. grumpy has joined
  30. grumpy has joined
  31. grumpy has joined
  32. grumpy has joined
  33. grumpy has joined
  34. grumpy has joined
  35. grumpy has joined
  36. grumpy has joined
  37. grumpy has joined
  38. grumpy has joined
  39. grumpy has joined
  40. Zash has joined
  41. grumpy has joined
  42. grumpy has left
  43. grumpy has joined
  44. grumpy has joined
  45. grumpy has joined
  46. Bartek has left
  47. grumpy has joined
  48. grumpy has joined
  49. grumpy has joined
  50. grumpy has joined
  51. grumpy has joined
  52. grumpy has joined
  53. grumpy has joined
  54. grumpy has joined
  55. grumpy has joined
  56. grumpy has joined
  57. grumpy has joined
  58. grumpy has joined
  59. grumpy has joined
  60. grumpy has joined
  61. grumpy has joined
  62. grumpy has joined
  63. grumpy has joined
  64. grumpy has joined
  65. grumpy has joined
  66. ossguy has joined
  67. grumpy has left
  68. grumpy has joined
  69. Zash has left
  70. Vaulor has left
  71. Seve/SouL has left
  72. Zash has joined
  73. grumpy has left
  74. grumpy has joined
  75. grumpy has left
  76. grumpy has joined
  77. grumpy has left
  78. grumpy has joined
  79. grumpy has left
  80. grumpy has joined
  81. grumpy has left
  82. grumpy has joined
  83. grumpy has left
  84. grumpy has joined
  85. grumpy has left
  86. grumpy has joined
  87. grumpy has left
  88. ossguy has left
  89. grumpy has joined
  90. grumpy has left
  91. grumpy has joined
  92. grumpy has left
  93. grumpy has joined
  94. grumpy has left
  95. grumpy has joined
  96. grumpy has left
  97. grumpy has joined
  98. grumpy has left
  99. grumpy has joined
  100. grumpy has left
  101. grumpy has joined
  102. grumpy has left
  103. grumpy has joined
  104. grumpy has left
  105. grumpy has joined
  106. grumpy has left
  107. grumpy has joined
  108. grumpy has left
  109. grumpy has joined
  110. grumpy has left
  111. grumpy has joined
  112. winfried has joined
  113. winfried has joined
  114. grumpy has left
  115. Zash has left
  116. Zash Bit early then tho
  117. grumpy has joined
  118. grumpy has left
  119. flo has left
  120. flo has joined
  121. grumpy has joined
  122. grumpy has left
  123. grumpy has joined
  124. grumpy has left
  125. grumpy has joined
  126. grumpy has left
  127. grumpy has joined
  128. grumpy has left
  129. grumpy has joined
  130. grumpy has left
  131. grumpy has joined
  132. grumpy has left
  133. grumpy has joined
  134. grumpy has left
  135. grumpy has joined
  136. grumpy has left
  137. grumpy has joined
  138. grumpy has left
  139. grumpy has joined
  140. grumpy has left
  141. grumpy has joined
  142. grumpy has left
  143. grumpy has joined
  144. grumpy has left
  145. grumpy has joined
  146. grumpy has left
  147. grumpy has joined
  148. grumpy has left
  149. grumpy has joined
  150. grumpy has left
  151. grumpy has joined
  152. grumpy has left
  153. grumpy has joined
  154. grumpy has left
  155. grumpy has joined
  156. grumpy has left
  157. grumpy has joined
  158. grumpy has left
  159. grumpy has joined
  160. grumpy has left
  161. grumpy has joined
  162. grumpy has left
  163. grumpy has joined
  164. grumpy has left
  165. grumpy has joined
  166. grumpy has left
  167. grumpy has joined
  168. grumpy has left
  169. jjrh has left
  170. jjrh has joined
  171. grumpy has joined
  172. grumpy has left
  173. grumpy has joined
  174. grumpy has left
  175. grumpy has joined
  176. grumpy has left
  177. Zash has left
  178. grumpy has joined
  179. grumpy has left
  180. grumpy has joined
  181. grumpy has left
  182. grumpy has joined
  183. grumpy has left
  184. grumpy has joined
  185. grumpy has left
  186. grumpy has joined
  187. grumpy has left
  188. grumpy has joined
  189. grumpy has left
  190. grumpy has joined
  191. grumpy has left
  192. grumpy has joined
  193. grumpy has left
  194. grumpy has joined
  195. grumpy has left
  196. grumpy has joined
  197. grumpy has left
  198. grumpy has joined
  199. grumpy has left
  200. grumpy has joined
  201. grumpy has left
  202. Tobias has joined
  203. grumpy has joined
  204. grumpy has left
  205. grumpy has joined
  206. grumpy has left
  207. grumpy has joined
  208. grumpy has left
  209. grumpy has joined
  210. Tobias .@NSAGov, the webcam covers you're giving out have an interesting defect: the purple ones are transparent. 🤔 https://t.co/WUDXPJt9hs https://twitter.com/EFF/status/1091449476613468160
  211. Intosi has joined
  212. Intosi has joined
  213. Guus has left
  214. sezuan has left
  215. Zash Haha
  216. lucky has joined
  217. goffi has joined
  218. Intosi has joined
  219. Intosi has joined
  220. Kev has left
  221. Zash has left
  222. lucky has left
  223. lucky has joined
  224. melvo has left
  225. debacle has joined
  226. Guus has left
  227. winfried has left
  228. flo has left
  229. flo has joined
  230. ossguy has joined
  231. flo has left
  232. flo has joined
  233. winfried has joined
  234. goffi has joined
  235. flo has left
  236. goffi has joined
  237. flo has joined
  238. debacle has left
  239. Zash has left
  240. flo has left
  241. flo has joined
  242. Zash has left
  243. goffi has joined
  244. alameyo66 has left
  245. alameyo66 has joined
  246. alameyo has left
  247. alameyo has joined
  248. Zash has joined
  249. flo has left
  250. ralphm has joined
  251. Tobias The fosdem shirt design looks kind of recycled this year
  252. debacle has joined
  253. alameyo has left
  254. dwd has left
  255. ossguy has left
  256. jjrh has left
  257. Zash :)
  258. winfried has joined
  259. mathieui It is quite crowded
  260. Zash It is
  261. Zash Someone was asking for link mauve earlier
  262. jjrh has joined
  263. mathieui They always do
  264. vanitasvitae has left
  265. mathieui Tell them to follow the cone hats
  266. vanitasvitae has joined
  267. flo has joined
  268. jonas’ is "follow the orange cones" the new "follow the white rabbit"?
  269. Tobias They are easy to find http://www.asset1.net/tv/pictures/movie/coneheads-1993/Coneheads-DI.jpg
  270. Daniel has left
  271. Zash has left
  272. Zash has joined
  273. Daniel has joined
  274. alameyo has joined
  275. jjrh has left
  276. jjrh has joined
  277. Alex has left
  278. Alex has joined
  279. mathieui has joined
  280. mathieui https://upload.mathieui.net/upload/zFzyHccvRhopyFOU/RK_cNYYKTPOQg3tTPaF_Rw.jpg
  281. alameyo has left
  282. alameyo has joined
  283. Syndace has joined
  284. Syndace has joined
  285. mathieui Nice
  286. jonas’ awesome
  287. Daniel has left
  288. flo has joined
  289. alameyo has left
  290. debacle there seems to be a long queue now at the design booth, most of them seem to be XMPP developers
  291. Zash has left
  292. dwd has joined
  293. Daniel has joined
  294. winfried has joined
  295. Zash has left
  296. MattJ has joined
  297. Daniel has left
  298. debacle can someone fix the year in https://xmpp.org/2019/01/the-xmpp-newsletter-31-january-2018/ please?
  299. jonas’ on it
  300. debacle thanks! :)
  301. jonas’ push’d
  302. jonas’ will take 5 to 10 minutes to appear on the website
  303. goffi has joined
  304. Daniel has joined
  305. dwd has left
  306. Syndace has left
  307. Syndace has joined
  308. sezuan has left
  309. sezuan has joined
  310. alameyo has joined
  311. debacle has left
  312. lucky has left
  313. flo has joined
  314. jjrh has left
  315. Tobias has joined
  316. Zash has left
  317. flo has left
  318. flo has joined
  319. lucky has joined
  320. Tobias has left
  321. MattJ jonas’: er, but now the URL is broken
  322. Zash has joined
  323. MattJ And it was linked to from various places
  324. Tobias Why does the web need to be so complicated
  325. Daniel has left
  326. jonas’ derp
  327. jonas’ MattJ, I don’t know of a way to fix that
  328. jonas’ but I’ll see what I can do
  329. Zash Web!
  330. MattJ nginx redirect I guess
  331. jonas’ I reverted the URL to the old version, but kept the title in tact
  332. jonas’ that should minimize the impact for now
  333. Seve/SouL Appreciated jonas’ :)
  334. Zash has left
  335. Zash has joined
  336. Daniel has joined
  337. Kev Talking about compression, as we were, I wonder what would happen if we were to (per-hop) introduce a <c /> stream element, whose job would be to hold attributes for a dictionary that you could later inject into stanza headers.
  338. Kev <c c='1' to='some.jids.get.quite.long@and.maybe.domains.get.pretty.long.too/' from='blah@blah.lit' type='chat'/> <message id='uhestuh' c='1'><body>Hi!</body></message>
  339. Kev Or whatever
  340. Zash HPACK but X?
  341. Kev Roughly, yeah. Less smart because I'm less smart, but yeah.
  342. Zash Or FunXMPP but dynamic
  343. Kev FunXMPP's mostly about element name contraction isn't it?
  344. melvo has joined
  345. Kev Well, yeah, ok, I guess it is like that but dynamic.
  346. Zash It's string substitution if I remember correctly
  347. Kev FunXMPP is more or less doing EXI with preexchanged schemas (in principle, not technically), right?
  348. Kev But with additional substitutions for things like common substrings.
  349. Zash Fixed dictionary simple compression something
  350. Tobias Fixed dict definitely limits the stuff that leaks
  351. jjrh has left
  352. Zash We could do that, I think eg ZStandard can
  353. Kev ISTM that the application can make reasonable dictionary-population guesses.
  354. Kev If you could get e.g. from='x' to='y' type='z' down to two bytes, that's not an insignificant win.
  355. Kev And you're pretty confident when you start a chat with someone in a desktop client, for example, that you'll be sending multiple stanzas with the same header.
  356. Kev I wonder how well it would compare to just plain old zlib though.
  357. debacle has joined
  358. vanitasvitae has left
  359. Zash I wanna test but training a dictionary needs a bunch of data
  360. debacle https://xmpp.org/2019/01/the-xmpp-newsletter-31-january-2019 404s
  361. mathieui debacle, but 2018 works with the correct title
  362. mathieui it will probably require a small nginx trick to have 2019 and 2018 work at the same time
  363. flo has left
  364. flo has joined
  365. jonas’ debacle, where did you get that link?
  366. Tobias Zash: it's probably less training, rather seeing how good it works
  367. jjrh has left
  368. debacle jonas' from https://xmpp.org/blog.html
  369. jonas’ nice
  370. jonas’ I hate this hacked pelican
  371. debacle what is the difference to the non-hacked one?
  372. jonas’ a non-hacked one wouldn’t be so awful to use
  373. jonas’ and I can’t really test locally because we need an awfully old version due to hacks we do
  374. jonas’ fix pushed
  375. jjrh Is there a fosdem xmpp channel?
  376. Zash Tobias: Building the dictionary needs data
  377. jonas’ use base64 of randomness as a start
  378. Kev Random data are known to compress very well.
  379. jonas’ Kev, base64 of random data
  380. jonas’ compresses fairly well, actually, approximately 3/4 ratio
  381. Zash Extract the xep examples
  382. Kev It's not giving any value to know how an xmpp-specific compression mechanism would compress non-xmpp data, is it?
  383. jonas’ that will probably make 'romeo' and 'juliet' compress to one bit or something ;)
  384. jonas’ Kev, given that OMEMO, Avatars and other things are b64-encoded, I think it’s pretty XMPP-related actually.
  385. Kev You need real streams for it to be of any significant value, I think.
  386. Zash We don't want JIDs and user entered data to compress well, that's what leaks the worst
  387. jonas’ start with base64 of random data, add in some xmpp keywords, see what happens
  388. MattJ jjrh: this room is generally the FOSDEM XMPP channel
  389. jjrh Ah okay
  390. Tobias Well. If you use zlib or zstandard with dict, common XMPP terms will compress everywhere
  391. Zash Ca zlib do a fixed dictionary? Don't think I've seen support for that
  392. jonas’ > zdict is a predefined compression dictionary. This is a sequence of bytes (such as a bytes object) containing subsequences that are expected to occur frequently in the data that is to be compressed. Those subsequences that are expected to be most common should come at the end of the dictionary.
  393. jonas’ (argument description in python zlib library)
  394. jonas’ you’d still have to reset the dictionary after each stanza
  395. flo has joined
  396. Tobias Zash, Kev, if you want some secure compression for XML it has to be XML aware, so it only compresses outer levels of stanzas
  397. Zash Fixed compression dictionary avoids most of the compression related attacks AFAIK
  398. Tobias With that would still compress dictionary terms in the bodys and inner stanzas, not?
  399. vanitasvitae has joined
  400. Zash I'm not sure if proper XML aware compression would be better enough to be worth the complexity
  401. Zash Eg EXI needs schemas right?
  402. jonas’ Zash, EXI works better with schemas, but it doesn’t reqiure them
  403. Zash Or something that points out what's data and what's structure
  404. Tobias You can do something more stupid than EXI
  405. Kev I have no doubt I could manage more stupid than most things.
  406. Tobias Like only ompress at level 1 and leave the body levels alone
  407. ralphm has joined
  408. jonas’ compressing the body with a fixed dictionary isn’t a problem, I think
  409. Tobias If you compress strict you might leak in band SVG
  410. debacle jonas' Now the link works. It looks strange, that the URL says "2018". But whatever. This is XMPP. We are pragmatic.
  411. jjrh has left
  412. Tobias -strict
  413. alameyo66 has left
  414. jonas’ debacle, as the link with 2018 was out in the wild already when we spotted the mistake, we had to roll with that
  415. debacle you could have a forward from 2018 to 2019
  416. debacle you can have a forward from 2018 to 2019
  417. debacle only ten lines in Apache (or a half in Nginx)
  418. vanitasvitae has left
  419. debacle only ten lines in Apache (or a half in Nginx)
  420. jonas’ debacle, yes, if I had +w to the nginx config, I could do that
  421. vanitasvitae has joined
  422. vanitasvitae Interesting, the Matrix guys also had issues with message ids. They solved their problems by using the hash of a message as the id.
  423. debacle jonas' I know that problem. I partly responsible for a Prosody server where I cannot write.
  424. jonas’ vanitasvitae, I bet they had a lot of fun with that
  425. debacle If I send ten times "yes" to different questions...
  426. Zash Oh glob. Shall we tell them about c14n?
  427. jonas’ (and we’d be totally lost because to hash XML you need to canonicalize it, which is a non-trivial operation)
  428. Zash "You don't need C14N with JSON!!!!" ?
  429. vanitasvitae debacle: not sure what'd happen then
  430. jonas’ probably timestamp?
  431. Kev I think possibly that stanzas are mutable is more of an issue there than normalisation.
  432. debacle are both id and content encrypted? if only the content is enrypted, the id leaks the content.
  433. jonas’ Kev, yes, that too
  434. debacle are both id and content encrypted? if only the content is encrypted, the id leaks the content.
  435. vanitasvitae Maybe they added some random seed?
  436. debacle maybe
  437. jonas’ if you add a nonce, you can also simply use a random ID.
  438. jonas’ although, arguably, the hash makes it harder to deliberately create a collision that way
  439. Zash ... blockchain?
  440. Holger They also reinvented spec versioning, SRV records, s2s cert checking (backwards incompatible), POSH, ...
  441. jonas’ re-invent ALL THE THINGS
  442. Zash Should I be glad I'm at a different talk?
  443. jonas’ yes
  444. alameyo has left
  445. debacle Holger, you are in JanSON?
  446. Holger "You have one month to upgrade your servers."
  447. Holger If everyone does that, there will be totally no fragmentation at all!
  448. Daniel has left
  449. Holger Yeah.
  450. mathieui and since most people use matrix.org you don’t have much choice
  451. Daniel has joined
  452. Kev And people feel I'm going overboard on radically upgrading the network by adding some features that old clients can't use :p
  453. vanitasvitae The fingerprint solution and key backup stuff they have in place is *really* impressive!
  454. Kev TL;DR?
  455. kingu has left
  456. vanitasvitae Somehow they can sync the history to new devices
  457. vanitasvitae They backup keys to the server (optionally)
  458. vanitasvitae Well and they do cross signing
  459. Kev I'm going to assume they make 'put private keys in the cloud' somehow less stupid than it sounds :)
  460. vanitasvitae He oretty much rushed through all of this but I'll definitely have to look this up
  461. jjrh has left
  462. jjrh has joined
  463. Daniel has left
  464. intosi has joined
  465. Kev has left
  466. alameyo66 has joined
  467. alameyo has joined
  468. Daniel has joined
  469. ossguy has joined
  470. intosi has left
  471. intosi has joined
  472. dwd has joined
  473. vanitasvitae Yeah first of all its optional and secondly its encrypted with a password (basically what OX does as well
  474. vanitasvitae )
  475. debacle Isn't OX supposed to (optionally) store (encrypted) private PGP keys in a PEP node?
  476. debacle you were faster in typing
  477. Zash has left
  478. vanitasvitae :D
  479. Zash has left
  480. goffi has left
  481. Kev Right, much less stupid :)
  482. Kev has left
  483. intosi has left
  484. intosi has joined
  485. intosi has left
  486. intosi has joined
  487. Zash has left
  488. Zash has left
  489. winfried has left
  490. ossguy has left
  491. MattJ has joined
  492. mathieui btw the "decentralized & privacy room" has a whiteboard "ideas for privacy & decentralization" that says "OTRv4 + matrix"
  493. mathieui kind of depressing
  494. flo has left
  495. flo has joined
  496. Syndace has joined
  497. Syndace has joined
  498. Alex has left
  499. MattJ "lol"
  500. alameyo66 has left
  501. debacle has left
  502. Alex has joined
  503. intosi has left
  504. mathieui Also apparently xmpp dns is too tricky so nextcloud nihed their chat
  505. MattJ Yeah
  506. jonas’ not to mention that SRV is entirely optional
  507. winfried has joined
  508. dwd has left
  509. Zash has joined
  510. mathieui They did say that they did not want to run an xmpp server
  511. mathieui but then they apparently considered writing a matrix server for some reason, since a matrix developer had to advise against that
  512. flo has joined
  513. jonas’ wat
  514. mathieui idk
  515. Daniel has left
  516. winfried has joined
  517. Zash BOSH-only server anyone?
  518. ralphm has joined
  519. flo has left
  520. Zash has left
  521. flo has joined
  522. winfried has joined
  523. goffi has joined
  524. goffi has joined
  525. goffi has joined
  526. kingu has joined
  527. Kev has left
  528. grumpy has joined
  529. alameyo has left
  530. alameyo has joined
  531. dwd has joined
  532. Daniel has joined
  533. Daniel has left
  534. Daniel has joined
  535. lucky has left
  536. Zash has left
  537. goffi has left
  538. dwd has left
  539. dwd has joined
  540. jjrh has left
  541. goffi has joined
  542. jjrh has joined
  543. jjrh has left
  544. jjrh has joined
  545. alameyo has left
  546. Zash has left
  547. dwd has left
  548. jjrh has left
  549. jjrh has joined
  550. jjrh has left
  551. jjrh has joined
  552. lucky has joined
  553. Kev has left
  554. jjrh has left
  555. MattJ Someone raised "Why not XMPP?" during the ActivityPub panel discussion and got a round of applause
  556. jonas’ <3
  557. jonas’ thanks for the first bit of good news from FOSDEM :)
  558. MattJ Heh
  559. Kev What was the answer?
  560. MattJ Chris Webber: "XMPP is awesome, and more people should use it"
  561. MattJ "but $stuff"
  562. MattJ Pretty vague, to be honest... along the lines of "it wasn't clear how it would work, e.g. would you treat every user as a user? or would you act on the service?"
  563. jjrh has joined
  564. goffi has joined
  565. jjrh has left
  566. jjrh has joined
  567. jjrh has left
  568. jjrh has joined
  569. jjrh has left
  570. jjrh has joined
  571. sezuan has left
  572. Zash has joined
  573. Kev Not the most useful of feedback.
  574. Daniel What was that panel called? And/or can someone give me a link to the schedule
  575. Zash Federated social room I think. Last talk
  576. flo has left
  577. flo has joined
  578. mathieui Fwiw it was "activitypub panel" on my schedule
  579. Kev has left
  580. dwd has joined
  581. flo has left
  582. flo has joined
  583. flo has joined
  584. flo has left
  585. flo has joined
  586. flo has left
  587. flo has joined
  588. edhelas XMPP was doing social network before it was cool
  589. flo has joined
  590. flo has joined
  591. flo has joined
  592. flo has joined
  593. dwd has left
  594. dwd has joined
  595. Vaulor has left
  596. Bartek has joined
  597. dwd has left
  598. dwd has joined
  599. goffi has joined
  600. goffi has joined
  601. flo has left
  602. flo has joined
  603. dwd has left
  604. dwd has joined
  605. goffi has joined
  606. lucky has left
  607. Tobias has joined
  608. dwd has left
  609. flo has left
  610. flo has joined
  611. lucky has joined
  612. MattJ @Thon lobby
  613. flo has joined
  614. flo has joined
  615. flo has joined
  616. Alex has left
  617. dwd has joined
  618. Zash has left
  619. Zash has joined
  620. Holger has left
  621. winfried has left
  622. winfried has joined
  623. goffi has joined
  624. Kev has left
  625. Alex has joined
  626. goffi has joined
  627. MattJ has left
  628. flo has left
  629. flo has joined
  630. flo has left
  631. goffi has joined
  632. flo has joined
  633. sezuan has left
  634. flo has left
  635. flo has joined
  636. Vaulor has left
  637. lucky has left
  638. melvo has left
  639. debacle has joined
  640. mathieui has joined
  641. melvo has joined
  642. flow has left
  643. Holger has left
  644. sezuan has left
  645. sezuan has left
  646. sezuan has left
  647. sezuan has left
  648. sezuan has left
  649. sezuan has left
  650. sezuan has left
  651. sezuan has left
  652. goffi has left
  653. sezuan has left
  654. sezuan has left
  655. sezuan has left
  656. goffi has joined
  657. dwd has left
  658. dwd has joined
  659. dwd has left
  660. goffi has joined
  661. goffi has joined
  662. pep. has joined
  663. Zash has left
  664. flo has left
  665. flo has joined
  666. flo has left
  667. flo has joined
  668. Guus has left
  669. Guus has joined
  670. alameyo has joined
  671. ossguy has joined
  672. alameyo has left
  673. jjrh has left
  674. jjrh has joined
  675. alameyo has joined
  676. Guus has left
  677. Guus has joined
  678. mathieui https://connectycube.com/ I didn’t know about that thing
  679. sezuan has left
  680. Guus has left
  681. Guus has joined
  682. Guus has left
  683. Tobias has joined
  684. Tobias Is that using XMPP?
  685. dwd has joined
  686. alameyo has left
  687. alameyo has joined
  688. Zash has joined
  689. mathieui apparently
  690. mathieui https://twitter.com/ConnectyCube
  691. Zash has left
  692. Zash has joined
  693. mathieui XMPP & webrtc
  694. Guus has joined
  695. alameyo has left
  696. Vaulor has joined
  697. debacle they even mention OMEMO support
  698. Bartek has left
  699. Tobias True
  700. alameyo has joined
  701. debacle has joined
  702. flo has left
  703. flo has joined
  704. dwd has left
  705. dwd has joined
  706. dwd has left
  707. flo has left
  708. flo has joined
  709. Daniel has left
  710. Guus has left
  711. Guus has joined
  712. Guus has left
  713. dwd has joined
  714. Guus has joined
  715. jjrh has left
  716. jjrh has joined
  717. Guus has left
  718. Guus has joined
  719. Guus has left