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


  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


  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


  281. alameyo has left

  282. alameyo has joined

  283. Syndace has joined

  284. Syndace has joined

  285. mathieui


  286. jonas’


  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’


  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’


  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


  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’


  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


  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


  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’


  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


  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


  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


  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


  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


  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’


  514. mathieui


  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’


  557. jonas’

    thanks for the first bit of good news from FOSDEM :)

  558. MattJ


  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


  690. mathieui


  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


  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