jdev - 2021-12-13

  1. jonas’

    nephele, you said logs? /dev/mapper/adrastea-var--log 4.6G 4.6G 0 100% /var/log

  2. nephele


  3. Zash

    ringbuffer the whole thing!

  4. jonas’

    it was influxdb whining about not being able to write to its storage (which -ENOSPC'd yesterday, as you might remember) :)

  5. Zash

    Resonance cascade!

  6. nephele

    I once had haiku roll over it's syslog once per second because HDA spammed it full of errors :)

  7. tom

    Hey what is a good library for writing some XMPP automation tooling in Perl?

  8. Ge0rG


  9. jonas’

    I was about to say something similar ;D

  10. tom

    no that's a programming language

  11. tom

    I need an XMPP library

  12. moparisthebest

    Good luck

  13. Zash

    libpcre? ;)

  14. Ge0rG

    tom: you can call into python as `/usr/bin/python3 xmppbot.py` from perl

  15. tom

    please no trolling

  16. jonas’

    there is no sensible library for perl

  17. jonas’

    so this is the best we can do ;)

  18. Ge0rG

    https://xmpp.org/software/libraries/ - no perls.

  19. jonas’

    tom, depending on what you intend to do, you might be able to get away with an HTTP library and any of the HTTP<->XMPP modules for prosody.

  20. jonas’

    mod_rest or somesuch

  21. Zash

    https://github.com/xsf/xmpp.org/blob/master/data/libraries.json has 2 perl

  22. tom

    I found https://metacpan.org/pod/Net::XMPP and https://metacpan.org/pod/Net::XMPP3

  23. tom

    but i'm wondering if there are some better libs

  24. moparisthebest

    tom: I wrote sendxmpp replacements for the original perl sendxmpp because it quit working years ago

  25. Zash

    net::XMPP and AnyEvent::XMPP, but since nobody has claimed that they are maintained, they are excluded from the listing on the website

  26. stuart.j.mackintosh

    tom: the Perl devs are either on IRC or Slack - I can conect you to the Slack channel if you like, and I might be able to connect you up with the module developer

  27. stuart.j.mackintosh

    Would be great to get XMPP conversations in the Perl & Raku community, they might consider dropping Slack at some point. An evaluation was made of XMPP vs a bunch of other messaging platforms a while ago, no conclusion was made so Slack remained.

  28. tom

    stuart.j.mackintosh, if you could connect me that would be great, but i'm not willing to download a binary blob to my computer and run it from a shady adtech company. Maybe you could let me use a network transport of some kind? I'm not opposed to paying money for a well supported development library/toolkit as long as it's fully open and auditable. One thing in particular I find really weird is that a lot of libraries on CPAN all stopped development in 2014. The same perculilar thing happened to a lot of open source GIS software on the osm wiki. at least 5 different open routing engines all completely stopped development in 2014. Was there a particular event going on at that time or a brain draon?

  29. stuart.j.mackintosh

    IRC is the open option for the Perl community right now. I am encouraging a move to XMPP there (as I am in many places) however find that there is similar misinformation about XMPP in Perl land, as there is about Perl in XMPP land. For now, Slack is the space, and I understand why that is a barrier.

  30. stuart.j.mackintosh

    If you see developer names in the modules that you would like to be connected with, drop me a direct message. I wasnt so close to the community around 2014 so don't have insight in to the causes.

  31. Zash

    XMPP is a protocol, Slack is a product. Comparing them is not going to produce useful results

  32. stuart.j.mackintosh

    Zash - yes, that was my argument

  33. stuart.j.mackintosh

    The users didn't want to think about that, they wanted to send messages.

  34. Zash

    And there sadly aren't many things in the XMPP world targeting the Slack use case.

  35. stuart.j.mackintosh

    Movim is reasonable, however seems to have imperfect alignment to other clients

  36. stuart.j.mackintosh

    Movim is a reasonable Slack competitor on XMPP, however seems to have imperfect alignment to other clients

  37. stuart.j.mackintosh

    > And there sadly aren't many things in the XMPP world targeting the Slack use case. My view is that many of the Slack features are not relevant to most users anyway, it creates other barriers, and XMPP is a better fit for the needs of the Perl & Raku commuities anyway.

  38. tom

    stuart.j.mackintosh, isn't that a smartphone app?

  39. tom


  40. tom


  41. stuart.j.mackintosh

    tom are you asking if Slack is a smartphone app?

  42. tom

    is the story any different for Raku XMPP libraries?

  43. tom

    stuart.j.mackintosh, no i was asking about movim?

  44. pep.

    It's a web app

  45. stuart.j.mackintosh

    Movim is a web client for XMPP, and it also has a mobile app.

  46. pep.

    Which is just a PWA nowadays

  47. Zash

    I thought it was a server-side client

  48. pep.

    Yeah it's a server-side client really :P

  49. stuart.j.mackintosh

    yes, more than jsut a web client

  50. stuart.j.mackintosh

    therefore behaves more like Slack

  51. Zash

    There is a mobile Movim app tho, IIRC

  52. stuart.j.mackintosh

    yes, never used it though

  53. tom

    this one had an update in 2017 https://github.com/kalkin/Net-XMPP

  54. pep.

    Zash, as I said, it's just a PWA now

  55. stuart.j.mackintosh

    > is the story any different for Raku XMPP libraries? TBH I haven't looked.

  56. pep.

    (That is, go to your instance, add a shortcut to your phone or sth)

  57. stuart.j.mackintosh

    > this one had an update in 2017 https://github.com/kalkin/Net-XMPP Grants are available - if what you are asking could be useful in a general sense, it might be possible to arrange for a dev to recieve a foundation grant

  58. tom

    pep., I really upsets me the ignorance and obtuseness of the developers that accept that kind of thing >=(

  59. pep.


  60. pep.

    You're ranting about devs providing software for users? Not sure I understand

  61. pep.

    It's that or.. nothing

  62. tom

    > (That is, go to your instance, add a shortcut to your phone or sth)

  63. pep.

    What's wrong about that

  64. tom

    'webapps' being good enough

  65. tom

    lack of native software

  66. tom

    lets all just use an information silo

  67. pep.

    Webapps requiring more code / maintainance

  68. tom


  69. pep.

    I'm sure edhelas would be more than happy to have you help him with this

  70. pep.

    Sometimes it's also nice not to assume people to this out of malice. We all have a life

  71. tom

    to be clear, mainly what i'm trying to do is send IQ stanzas

  72. tom

    not send messages

  73. stuart.j.mackintosh

    > this one had an update in 2017 https://github.com/kalkin/Net-XMPP This is a Perl 6 (now Raku) module

  74. tom

    >XMPP can pretty much covers what ActivityPub offers (feeds, comments, articles publication) with a lot more related features (presences, contact list, video-conferencing, chatrooms…). Also, social features on XMPP are basically Atom 1.0 on top of Pubsub, so no need to convert Atom to some new JSON format, you simply embed it! (ArsTechnica on XMPP Pubsub https://nl.movim.eu/?node/news.movim.eu/ArsTechnica, or my personnal blog https://nl.movim.eu/?blog/edhelas@movim.eu). Is there any software that actually implements the client end of this?

  75. tom

    my feed reader doesn't seem to support xmpp pubsub

  76. tom

    only http

  77. Link Mauve

    tom, Movim and Libervia are two known examples.

  78. tom

    but movim requires html5/chrome

  79. Link Mauve


  80. tom

    firefox isn't a real option anymore

  81. Link Mauve

    /any WebKit browser

  82. tom

    it's 97% funded by google

  83. Link Mauve

    Has it ever not been?

  84. tom

    html5 isn't a dependency I want to be forced to rely on for realtime communication

  85. Link Mauve

    So no GTK, no HTML, no Python… Which technologies do you actually accept? ^^'

  86. tom

    Link Mauve, before HTML5 and with XHTML yes there was quite a lot of diversity in practicaly usable implemenations

  87. pep.

    I was gonna say you can use jp, from the libervia suite, but yeah it's all Python.

  88. Link Mauve

    Do you know that HTML5 can also be serialised as XHTML, and that most websites which pretended to do XHTML actually only used HTML?

  89. nephele

    >So no GTK, no HTML, no Python BeApi

  90. Link Mauve

    Renga might then be a good one for you. :D

  91. Link Mauve

    Although it doesn’t support PubSub yet.

  92. tom

    no webshit in my native software

  93. tom

    i didn't say i had a problem with html

  94. nephele

    As the Renga co- maintainer i am forced to agree

  95. Link Mauve

    Don’t worry, Haiku is still not very good at this web thing.

  96. nephele


  97. tom

    just html5

  98. nephele

    Link mauve: rude, i'm upstreaming webkit patches as we speak!

  99. Link Mauve

    tom, so the additional few elements are the thing you dislike?

  100. edhelas

    Damn, Movim is developed with Firefox mostly, so you mean that I'm working with a non existing solution anymore 🤔

  101. Link Mauve

    nephele, the last time WebPositive failed at rendering my website properly. :p

  102. tom

    Link Mauve, I've written about this issue here: https://www.nuegia.net/articles/open%20letter%20to%20webmasters.xhtml

  103. nephele

    I think that is fixed Link Mauve

  104. nephele

    which site was it?

  105. Link Mauve

    Oh, I’ll test it again then!

  106. Link Mauve


  107. nephele

    Well, the SVG image part is broken anyhow still, but that isn't specific to you... and i still havent investigated that, if there is anything other specific you might want to make a ticket

  108. Link Mauve

    That’s it I think.

  109. Link Mauve

    I quite like SVG, so I use it wherever I can.

  110. Link Mauve

    (My avatar says hi!)

  111. tom

    and it's not that I won't use python

  112. nephele

    tom: would be cool if your site used the dark mode thing though ;)

  113. Link Mauve

    Then jp as pep. suggested might be good for you, it’s part of Libervia.

  114. tom

    it's that if I'm building a new technology of my own, I don't want to base it on python which will become deprecated in a few years and force changes just because guido thinks it's better

  115. tom

    i need a stable foundation

  116. nephele

    Link Mauve: ah yes i see, if you make the viewport bigger they all render

  117. nephele

    your site is an excelent testcase, i can use it to investigate the svg drawing issues :)

  118. tom

    nephele, provide your own CSS for that

  119. Link Mauve


  120. Link Mauve

    I don’t have a big screen atm, so 1366×768 is all I can afford.

  121. nephele

    tom: :root { color-scheme: light dark; }

  122. tom

    nephele, if you make a css for my site that looks nice and is dark i'll include it as a alternative stylesheet

  123. nephele

    It's not an alternate stylesheet, just a media querry, otherwise it will not work with the dark mode option

  124. tom

    yeah i'm not doin that

  125. tom

    the only browsers that actually implement that are google chrome and firefox

  126. tom

    and only the latest versions

  127. nephele

    Somehow, WebPositive does it just fine...

  128. tom

    that aren't very portable or run on older hardware

  129. tom

    I don't care about technologies that require gigabytes of ram to just render a paragraph of text on a screen

  130. tom

    that's retarded

  131. Link Mauve

    I just tested, Movim runs fine in Epiphany.

  132. Link Mauve

    Which is based on neither Chromium nor Firefox.

  133. Zash

    What about NetSurf?

  134. tom

    Zash, netsurf fully implements XHTML1.1 and CSS2

  135. tom


  136. tom

    it sems to have some bug with tiled background textures

  137. tom

    but it still renders

  138. tom

    i'm really rooting for netsurf

  139. Link Mauve

    Ah, but Movim in Epiphany still has the issue that messages from a MUC are all duplicated… edhelas?

  140. nephele


  141. tom

    nephele, what browser is that running on haiku?

  142. nephele

    Normally WebPositive, HaikuLauncher is just a launcher for webkit directly

  143. tom

    and what renderer does webpositive use?

  144. nephele

    The same one

  145. tom


  146. nephele


  147. tom

    nephele, why is there a comma instead of a period in your memory monitor?

  148. tom

    that is meant to be a period right?

  149. tom

    also can webkit be had directly or only through qtwebkit?

  150. Link Mauve

    AFAIK QtWebKit is abandonned, it’s now QtWebEngine based on Chromium.

  151. tom

    why is your memory usage so low with webkit? webkit on my system wants to gobble up hundreds of megs and still be dirt slow with tons of mutex issues and segfaults

  152. nephele

    No, it's ment to be a comma, it's different to the american notation. but it does mean what you expect: the devider to indicate where to split the main part from the fractions

  153. Link Mauve

    There is still WebKit2GTK which is alive and kicking.

  154. nephele

    tom: qtwebkit is unmaintained, don't use it really. we have our own port called haikuwebkit

  155. tom

    nephele, does your port have mutex issues?

  156. nephele

    haikuwebkit uses the native memory allocator anyhow, and native apis for most stuff

  157. tom

    and do you have a element blocker similar in functionality to ublock origin and nmatrix?

  158. nephele

    thus the low memory requirements, it's not that much of a damn blackbox like chromium

  159. tom


  160. tom

    is there a linux or bsd port of haikuwebkit?

  161. nephele

    not sure what you mean with mutex issues, for the second part: no we do not. Webkit itself has an incredibly fast api for this blocking stuff but it's not activated in our port yet :/ for now you'd have to use hosts or something

  162. tom

    nephele, well I've used otter-browser and the kde falcon thing

  163. nephele

    >is there a linux or bsd port of haikuwebkit? No, also because there are no haiku apis on linux ;), you can use epiphany though, the gnome browser based on webkit

  164. tom

    they had major issues freezing and locking up the whole program during loading of network resources

  165. tom

    omg fucking gnome shit

  166. tom

    no thanks

  167. nephele

    kde falcon uses qtwebengine/chromium afaik

  168. tom

    there's gotta be an option though

  169. tom

    nephele, it used to use webkit

  170. nephele

    yes.. but qtwebkit is ancient

  171. nephele

    and it was always stuck on webkitlegacy

  172. nephele

    I think there is a vi-like browser based on webkit for linux too?

  173. tom


  174. Link Mauve

    If you don’t want to use Epiphany, you also have Midori which uses webkit2gtk on Linux.

  175. tom

    Link Mauve, does that have any dependency on gtk3?

  176. Link Mauve

    It’s in the name.

  177. Link Mauve


  178. nephele

    kind of ironic that kde doesn't have webkit really... considering they are responsible for khtml

  179. Link Mauve

    Although maybe a port to gtk4 is in progress?

  180. tom

    if it's gtk2 it's fine, but i don't know if that's webkit version 2 or gtk version 2

  181. tom

    if it's any gtk version 3 or newer i can't use it

  182. nephele

    webkit2 is just an api

  183. nephele

    there is also WPE (webkit port embeded) that runs on linux, but it is probably not very usefull. I really liked using links2 on linux though

  184. Link Mauve

    tom, too bad then, enjoy NetSurf and w3m I guess.

  185. nephele

    I thought netsurf uses gtk on linux?

  186. tom

    nephele, netsurf has a gtk2 version

  187. tom

    on linux

  188. Link Mauve

    gtk2 is unmaintained, don’t use it.

  189. Link Mauve

    I can’t imagine the amount of security issues present in its webkit1 port.

  190. Link Mauve

    Or, well, I can very well imagine. ^^'

  191. nephele

    Linux development cycles make lots of dead software .-.

  192. tom

    at this point i don't give a shit about security unless the software is actually usuable first

  193. Link Mauve

    nephele, webkit1 is very dead, everywhere.

  194. nephele

    >I can’t imagine the amount of security issues present in its webkit1 port. That explains the memory usage of quaternion, all those html exploits need memory :D

  195. Link Mauve


  196. nephele

    webkit1 is just an api Link Mauve

  197. nephele

    it's not a seperate version per se

  198. nephele

    MacOS still uses it very much

  199. Link Mauve

    Oh, webkit2gtk is actually possible to compile against gtk4, using -DUSE_GTK4=ON at build time!

  200. nephele

    for older applications to preserve their binary compat, but the renderer inside is still the same version webkit2 does have

  201. Link Mauve

    nephele, oh, TIL.

  202. Link Mauve

    I thought it had been removed from WebKit ages ago.

  203. nephele

    webkitlegacy and webkit2 respectively called

  204. nephele

    Link mauve: no... haiku also still uses it ;)

  205. pulkomandy

    just "webkitlegacy" and "webkit" now

  206. Link Mauve


  207. pulkomandy

    and yes we're still using the single process version, which is kept alive I think only because of some old iOS apps otherwise?

  208. tom

    > tom, too bad then, enjoy NetSurf and w3m I guess. unless I find a better option than doing this, I'm not going to use technologies that don't work with them

  209. tom

    though i do maintain my own browser

  210. pulkomandy

    I'm trying to migrate our port away from it. But probably we should discuss this elsewhere :)

  211. tom

    Link Mauve, https://git.nuegia.net/webbrowser.git/

  212. nephele

    pulkomandy: ah.. fair point, kind of forgot where i am :D

  213. tom

    most of the security issues and premature deprecation of software are due to gimmicky and frivlous javascript """features""""

  214. tom

    driven by adtech

  215. Link Mauve

    Ah right, here is about XMPP software development.

  216. tom

    disable javascript and you don't have to worry so much about ads and security problems

  217. tom

    yeah how did we get in this tangent?

  218. nephele

    Just block ads *shrug*

  219. Zash

    Just move into the woods and become potato farmer.

  220. tom

    nephele, the problem is that effective ad block is hard to reimplmeent. unblock origin and nmatrix did it very well

  221. pep.

    Zash, I'm sure they have to deal with JS also nowadays

  222. nephele

    tom: webkit does it way better

  223. pep.

    Nobody escapes it

  224. tom

    nephele, I'd like to test that, but webkit doesn't seem very accessible without it being wrapped in gnome shit

  225. tom

    gtk3/4 dependencies

  226. tom

    the web is a massive fucking boon and making your software dependent upon web technologies is a sure fire way to ensure dependency hell from something being deprecated or changed frivilously in less than a years's time

  227. tom

    and it's mean to you future self, who's going to have to bear that maintance burden

  228. nephele

    without web technologies i couldn't have ended up in matrix.org's hall of fame

  229. nephele

    for telling them their "read only" "web client" executed javascript in room titles :D

  230. tom


  231. Zash

    you think the web is the only mess? all is mess. only potato is pure.

  232. nephele

    Not even kidding about that: https://www.matrix.org/security-disclosure-policy/

  233. pulkomandy

    wait until you hear about the CES 2020 Smart Potato. Not even potatoes are safe these days

  234. tom

    Zash, gnome3+, whatwg html5/javascript/really just whatever the latest version of google chrome is doing, are just not messes i'm willing to deal with any longer

  235. tom

    I've re-rewitten my apps every other months to deal with stupid fucking gnome-foundation updates to gtk for years since 2014

  236. tom

    no more

  237. tom

    only stable, sustainable technologies I will depend on

  238. tom

    nephele, the frequency of those vulnerabilities and the sheer scope of them are scary

  239. nephele

    might explain my presence here :)

  240. defanor

    tom, finding XMPP libraries can be a pain for many languages, but there are C libraries to which it's easy to make bindings from Perl, as well as libraries capable of providing a C API. Depending on a task, might also be a suitable option to implement a small part in whatever language a maintained and suitable library is written in, just to provide an interface, and have the rest in your preferred language.

  241. tom

    defanor, that' might work. thankyou

  242. tom

    I'm just trying to implement a short file-uploading tool to integrate into spacefm and a vehicle telemtry logger for my laptop that connects to the canbus

  243. tom

    i'm like to reuse the authenticated upload service provided by XEP-0363

  244. tom

    What is the purpose of encrypting your password if you store the private key in the same file as the encrypted password? https://code.google.com/archive/p/vacuum-im/issues/851

  245. nephele

    security :D

  246. nephele

    encryption GOOD

  247. defanor

    Doesn't look like they are doing that in that issue. Do you mean the "For it to be encrypted, at least using AES 256 with the profile password." bit?

  248. defanor

    I'm not familiar with VacuumIM's profile password/encryption, but guessing that it's a password that is entered by a user upon running the client, basically creating its custom password store.

  249. tom


  250. tom

    I've seen psi+ do this too

  251. tom

    I go to lookup my password since i've forgotten it, but I find the profile for the xmpp account is an xml file and the password is base64d and encrypted, but the private key is stored in the same file

  252. defanor

    https://github.com/vacuum-im/vacuum-im/blob/bb93d3778c1ef6b35e1bb3e4e75742ea8b543d4c/src/plugins/optionsmanager/optionsmanager.cpp#L356 -- here it is, though md5 is used instead of a proper KDF

  253. tom

    i don't see any security benefit if the private key is stored in the same file, so i'm wondering if there was another reaso nthis was don

  254. defanor

    It looks like the key is encrypted. Or do you mean that the password itself is stored too, so you can decrypt everything based just on the data readily available from that file?

  255. defanor

    https://github.com/vacuum-im/vacuum-im/blob/bb93d3778c1ef6b35e1bb3e4e75742ea8b543d4c/src/utils/options.cpp#L638 -- I wonder why XTEA is used for that Options::decrypt, looks like an uncommon choice.

  256. tom

    yeah that's weird

  257. tom

    nevere even heard of XTEA till now

  258. tom

    I was originally thinking the user account password was stored there but it sounds like it's used to decrypt conference passwords from a user login

  259. Sam

    Reminder that tomorrow (2021-12-14) at 17:00 UTC Fabian Sauter is presenting "Fighting Windows and XMPP — Building a (modern?) Windows XMPP Client" for the office hours! More info: https://wiki.xmpp.org/web/XMPP_Office_Hours

  260. tom

    Sam, how many people are interested in that so far?

  261. Sam

    no idea