Thaodan_ | You should not override the vendor globally only per project/package basis. So for middleware packages were you provide your own version it is ok to set the vendor to meego by using --define 'vendor meego' but not just globally for every package. | 00:22 |
---|---|---|
*** Thaodan_ is now known as Thaodan | 00:22 | |
*** zbenjamin is now known as Guest64120 | 01:48 | |
*** zbenjamin_ is now known as zbenjamin | 01:48 | |
*** jrt is now known as Guest65294 | 02:10 | |
rinigus | morning! indeed, it should be either package or project based. replied in the forum as well, thank you for help! | 06:36 |
rinigus | Thaodan_: ^ | 06:36 |
*** frinring_ is now known as frinring | 10:25 | |
*** tosaraja_ is now known as tosaraja | 10:46 | |
rubdos[ma] | Is there a way to have multiple repositories on OpenRepos, aside from making a second account? | 11:36 |
rubdos[ma] | I've been thinking to make a rubdos-cd repository for pushing master-branch builds to | 11:37 |
mighty17 | Hello! Does minecraft work in sailfishos | 11:49 |
mighty17 | As there is no java | 11:49 |
mighty17 | But I found this https://youtu.be/z0GDIqcnba4 but it's ancient | 11:50 |
mighty17 | * But I found this https://youtu.be/z0GDIqcnba4 but it's not ancient | 11:52 |
rubdos[ma] | Can't be too difficult to get Java running on SailfishOS, but having Java show a GUI on SailfishOS might be more involved :'-) | 12:29 |
mighty17 | <rubdos[ma] "Can't be too difficult to get Ja"> what is that LXC container that guy in video is using?? | 12:32 |
rubdos[ma] | Not sure, probably just a plain container with Java inside, and probably stealing some tricks from the Alien container for the GUI | 12:33 |
mighty17 | we can get another container that has java and supports gpu ? | 12:33 |
mighty17 | https://github.com/sailfish-containers/harbour-containers | 12:34 |
rubdos[ma] | You probably can, but it's going to take effort :'-) | 12:34 |
mighty17 | someone has to do it ;) | 12:35 |
mighty17 | minecraft would be a decision maker for many ppl | 12:35 |
rubdos[ma] | Ah look, XWayland, could've thought so | 12:35 |
rubdos[ma] | it would? | 12:35 |
mighty17 | `According to linuxcontainers.org, Linux kernel >= 3.8 is required` me running 3.0 kernel 😳 | 12:36 |
rubdos[ma] | Minecraft Android doesn't run on SailfishOS or something? | 12:36 |
rubdos[ma] | or is that different? | 12:37 |
rubdos[ma] | Last I heard, Signal was "the decision maker for many people", still working on that :'-) | 12:37 |
mighty17 | community portss dont have alien dalvik 🥲 | 12:37 |
rubdos[ma] | Soonâ„¢ | 12:37 |
mighty17 | plus java (ie pc version) has way less bugs than android version | 12:37 |
rubdos[ma] | Jolla is working on that! :D | 12:37 |
Nico[m] | Not yet! | 12:37 |
mighty17 | <rubdos[ma] "Jolla is working on that! :D"> wait rly?! | 12:37 |
rubdos[ma] | yep | 12:38 |
mighty17 | that would be fix to apps problem sfos has | 12:38 |
rubdos[ma] | They announced that in the last community meeting | 12:38 |
mighty17 | woah!! | 12:38 |
Nico[m] | But no ETA | 12:38 |
rubdos[ma] | no ETA, and you'll have to buy it | 12:38 |
mighty17 | <Nico[m] "But no ETA"> yea yea wont get over excited | 12:38 |
mighty17 | <rubdos[ma] "no ETA, and you'll have to buy i"> :/ i will wait for anbox/sfdroid | 12:38 |
mighty17 | back to minecraft, no ideas? | 12:39 |
rubdos[ma] | <mighty17 ":/ i will wait for anbox/sfdroid"> why? | 12:39 |
mighty17 | i wouldnt like to pay for it | 12:39 |
rubdos[ma] | No, no idea's beyond "It's possible and a load of work probably" | 12:39 |
rubdos[ma] | Nobody likes to pay for things. It does help sustaining Jolla a bit though. | 12:40 |
mighty17 | <rubdos[ma] "No, no idea's beyond "It's poss"> sadness :( i will have to dual boot to pmos or back to alpine for that | 12:41 |
mighty17 | <rubdos[ma] "Nobody likes to pay for things. "> i know but Jolla needs to earn somehow so i respect it, if android is already free i doubt ppl will pay for alien dalvik | 12:41 |
rinigus | Ruben De Smet: re openrepos repositories. not that I know of. also not sure we have API for pushing packages to it | 12:42 |
rubdos[ma] | You make a lot of assumptions today. | 12:42 |
mighty17 | xD | 12:42 |
rubdos[ma] | <rinigus "Ruben De Smet: re openrepos repo"> nobodyinperson has a fancy thing for that | 12:42 |
rubdos[ma] | https://gitlab.com/nobodyinperson/python3-openrepos-webclient/ | 12:42 |
rubdos[ma] | It's been slightly buggy for me, but he's responsive in trying to resolve it! | 12:42 |
rinigus | fancy, indeed. | 12:43 |
rubdos[ma] | Mister_Magister: you still in for "most weird errors on Harbour"? | 12:43 |
* rubdos[ma] uploaded an image: (32KiB) < https://matrix.org/_matrix/media/r0/download/rubdos.be/fKLaBtkkDhANQAmzzDEYtmWO/image.png > | 12:43 | |
rubdos[ma] | That's where it starts for me ^ | 12:43 |
Nico[m] | The invalid file name is because of the beta, iirc | 12:44 |
rubdos[ma] | yeh, thought so too | 12:45 |
rubdos[ma] | Didn't plan on submitting the beta's, so that's alright :-) | 12:45 |
Nico[m] | It's not really weird, I get thay all the time and ignore it .-. | 12:45 |
* rubdos[ma] uploaded an image: (11KiB) < https://matrix.org/_matrix/media/r0/download/rubdos.be/IZzbdeseBiNnBHnuNCLAqjgk/image.png > | 12:46 | |
rubdos[ma] | Beautiful. | 12:46 |
rubdos[ma] | That's resolvable too though. | 12:46 |
* Nico[m] < https://matrix.org/_matrix/media/r0/download/matrix.org/gQrpoHtKuiYmLbDeJYqLPsun/message.txt > | 12:48 | |
Nico[m] | @rubdos:rubdos.be Why do you use the web interface? :D | 12:48 |
rubdos[ma] | I wat | 12:49 |
rubdos[ma] | they have an API? | 12:49 |
Nico[m] | If you use sfdk, you can just run sfdk check | 12:49 |
Nico[m] | It runs most of the tests, I think | 12:50 |
Nico[m] | The GUI also has that somewhere, iirc | 12:50 |
rubdos[ma] | Ah you assume that Whisperfish can be built using standard tools already :D | 12:51 |
mighty17 | <Nico[m] "> <@mighty17:matrix.org> > <@rub"> thats another point, if i have an android phone with ported sfos, ie i have already paid for play store license, why do i pay again :P | 13:11 |
mighty17 | plus apks should be free right? | 13:11 |
mighty17 | f droid or smth | 13:11 |
*** Ischwitch is now known as Ingvix | 13:24 | |
Mister_Magister | someone called me | 13:34 |
Mister_Magister | rinigus: hell ye | 13:34 |
Mister_Magister | dang wrong mention sorry rinigus | 13:34 |
Mister_Magister | dang i did it again | 13:34 |
Mister_Magister | i meant rubdos[ma] | 13:35 |
Mister_Magister | rubdos[ma]: thats entry level stuff | 13:35 |
Mister_Magister | rubdos[ma]: you can do rpm check on just rpm, you don't need standard tools to build it | 13:36 |
rubdos[ma] | Right I recall that, Mister_Magister | 14:19 |
rubdos[ma] | You happen to know the command? | 14:19 |
Mister_Magister | nope | 14:19 |
rubdos[ma] | :D | 14:19 |
rubdos[ma] | I might as well add that to the CI actually. | 14:20 |
rubdos[ma] | `allow_failure: true` for now, but I better add it! | 14:20 |
Nico[m] | Maybe `/usr/bin/rpmvalidation.sh` | 14:23 |
Nico[m] | https://github.com/sailfishos/sdk-harbour-rpmvalidator | 14:23 |
rubdos[ma] | I can probably find it there indeed :-) | 14:24 |
Nico[m] | I mean, that has docs on how to run it without the sfdk | 14:24 |
* rubdos[ma] is writing a bunch of mails, and will then take a look. | 14:38 | |
rubdos[ma] | <mighty17 "thats another point, if i have a"> You haven't paid for the play store license. Your smartphone vendor has paid for the play store license, and that allows your vendor to sell you a phone with play store enabled. | 14:39 |
*** vilpan is now known as Guest59819 | 14:39 | |
rubdos[ma] | That's potato potato to us, but makes a HUGE difference. | 14:39 |
*** Guest59819 is now known as vilpan | 14:40 | |
mighty17 | <rubdos[ma] "You haven't paid for the play st"> And we have paid for the phones, still what about apks😉 | 14:45 |
rubdos[ma] | Google decides about those | 14:45 |
mighty17 | Eh so how is anbox free | 14:45 |
rubdos[ma] | It's an android emulator | 14:46 |
rubdos[ma] | whatever you write can be licensed whatever. What you do with it, that's something else :p | 14:47 |
mighty17 | Ooh kinda difficult to understand xD | 14:47 |
rubdos[ma] | Yeh, and that's exactly what free software (as in GPL/GNU/OSI) is about: make it less difficult | 14:48 |
rubdos[ma] | if you get the software, you have the rights that you imagine you'd have | 14:48 |
mighty17 | Exactly owning it completely | 14:48 |
rubdos[ma] | No, that's not true :p | 14:48 |
mighty17 | Uhh I'm still confused | 14:49 |
rubdos[ma] | GPL grants you a license (=the owner grants you certain rights) to do whatever you please with the software. | 14:50 |
rubdos[ma] | except to claim that it's yours :p | 14:50 |
mighty17 | General Public License right | 14:50 |
mighty17 | <rubdos[ma] "except to claim that it's yours "> Yes ofc I worded it incorrectly it seems, I meant doing whatever I want | 14:51 |
mighty17 | But lack of apps in sfos is a bummer | 14:51 |
rubdos[ma] | Have you discovered our lord and saviour "openrepos" yet, mighty17 ? | 14:53 |
mighty17 | Yes ofc that's how I use matrix on my sfos device :P | 14:54 |
mighty17 | Openrepos is rly cool | 14:55 |
mighty17 | But having expectations as android/normal linux doesn't help | 14:55 |
rubdos[ma] | depends on what's meant by expectations :D | 14:56 |
rubdos[ma] | My expectation with "Android" is "full of spyware" | 14:56 |
rubdos[ma] | My expectation with "normal Linux" is a full fledged bash+package manager+GNU tools | 14:57 |
rubdos[ma] | Again, you're making many assumptions today ;-) | 14:57 |
mighty17 | Atleast have normal apps and games working are my expectations :) | 14:57 |
Nico[m] | My normal apps do work? | 14:58 |
rubdos[ma] | Mine too! | 14:58 |
mighty17 | Like YouTube, (maybe Discord ik it doesn't like 3rd party clients) pls a better browser, some popular games like minecraft etc | 14:58 |
rubdos[ma] | Although I miss e2ee in the Matrix clients :p | 14:58 |
mighty17 | <rubdos[ma] "Although I miss e2ee in the Matr"> Yeah same | 14:58 |
Nico[m] | <rubdos[ma] "Although I miss e2ee in the Matr"> Awww, shut up ;p | 14:58 |
* rubdos[ma] slaps Nico with an encrypted trout. | 14:58 | |
attah | YouTube is too tied in to the google services crap | 14:59 |
Nico[m] | Sorry, I couldn't decrypt your fish ;p | 14:59 |
rubdos[ma] | Try my whisperfish nico! ;p | 14:59 |
mighty17 | Lol | 14:59 |
rubdos[ma] | Browser is getting better nowadays though, a lot better. | 14:59 |
mighty17 | <attah "YouTube is too tied in to the go"> But that's popular | 14:59 |
Nico[m] | <rubdos[ma] "Try my whisperfish nico! ;p"> WHAAAAT? I CAAAN'T HEAR YOU! | 14:59 |
attah | I use it all the time | 14:59 |
attah | works fine in the browser | 15:00 |
rubdos[ma] | Yeh, YT in browser is kinda nice now too | 15:00 |
mighty17 | Browser is broken for me :( | 15:00 |
rubdos[ma] | ESR 60 is like, usable and stuff! | 15:00 |
Nico[m] | I still can't close some cookie popups, but tbh, I can't close them in a lot of browsers | 15:00 |
attah | Yeah, browser quality is way past good enough now | 15:00 |
rubdos[ma] | Now, did someone already make a sdk-harbour-rpmvalidator docker image, or shall I lead that way? | 15:00 |
mighty17 | My device needs some rotation and touch hacks | 15:00 |
attah | mighty17: using some community port? | 15:01 |
* Nico[m] uses the sfdk | 15:01 | |
rubdos[ma] | Yehyeh, your apps use the real SDK, I get it! :P | 15:01 |
mighty17 | https://gitlab.com/blacksailer/P3113 these hacks precisely | 15:01 |
mighty17 | <attah "mighty17: using some community p"> I made the port :D | 15:02 |
attah | good job! | 15:02 |
* rubdos[ma] uploaded an image: (5KiB) < https://matrix.org/_matrix/media/r0/download/rubdos.be/wVPeoBOzjQtzihrUMEogRkBH/image.png > | 15:02 | |
Nico[m] | You just need to write the right rpm file and suddenly stuff works. And install some python stuff to be able to compile my app | 15:02 |
rubdos[ma] | also, wtf is that^ :p | 15:02 |
attah | but the browser is borked? | 15:02 |
mighty17 | <attah "but the browser is borked?"> Exactly | 15:02 |
attah | Is it using mesa mayhaps? | 15:02 |
mighty17 | Touch is borked in that | 15:02 |
attah | :/ | 15:02 |
mighty17 | Like device is in landscape but browser touch thinks it's potrait | 15:03 |
Nico[m] | <rubdos[ma] "also, wtf is that^ :p"> Mushroom, Mushroom! | 15:03 |
attah | so not the non-starter issues as with mainline ports then | 15:03 |
mighty17 | Other apps works fine only browser :( | 15:03 |
mighty17 | <attah "so not the non-starter issues as"> Haven't done a Mainline port yet still using 3.0 kernel :D | 15:03 |
Nico[m] | I guess the batcherbatcherbatcher generates the webUI? :D | 15:04 |
rubdos[ma] | No clue, but it's a funny file. | 15:04 |
Nico[m] | Yes | 15:04 |
Nico[m] | "Don't judge me" | 15:04 |
Nico[m] | It is also still in the state of the original commit! | 15:04 |
rubdos[ma] | pretty impressive | 15:05 |
rubdos[ma] | probably hasn't been used since 7 years oge! | 15:05 |
rubdos[ma] | ago | 15:05 |
rubdos[ma] | having lunch at 5pm is not good for me. | 15:05 |
mighty17 | <mighty17 "https://gitlab.com/blacksailer/P"> Touch matrix is rotated here, which somehow doesn't apply to browser | 15:05 |
rubdos[ma] | And there we have the birth of `registry.gitlab.com/whisperfish/sailo-rs/rpm-validator:latest`. | 16:09 |
* rubdos[ma] uploaded an image: (55KiB) < https://matrix.org/_matrix/media/r0/download/rubdos.be/PYsYWwshiSUmmXiTNIVLclFO/image.png > | 16:10 | |
rubdos[ma] | (and of course validation failed, but meh ;p) | 16:10 |
Mister_Magister | the less people give a damn about harbour the better apps we gonna get | 16:33 |
Mister_Magister | rubdos[ma]: if you want to join competition give us list of errors :P | 16:33 |
* rubdos[ma] < https://matrix.org/_matrix/media/r0/download/matrix.org/szQzNqIkYuuODIovAqzAVQei/message.txt > | 16:34 | |
rubdos[ma] | Good that matrix has a built-in pastebin for you freenode folks, Mister_Magister ;p | 16:35 |
Nico[m] | I feel like having a lively harbour will actually be better for Sailfish .-. | 16:35 |
rubdos[ma] | Yeh, I tend to agree with Nico on that | 16:35 |
Mister_Magister | first harbour would have to allow apps | 16:35 |
Mister_Magister | currently it doesn't | 16:35 |
Nico[m] | Wait, the irc bridge pastebins? | 16:35 |
* rubdos[ma] uploaded an image: (48KiB) < https://matrix.org/_matrix/media/r0/download/rubdos.be/hJyCjrSsKQRiYLHpaFJZBedw/image.png > | 16:35 | |
rubdos[ma] | everything over 6 lines or something | 16:36 |
Nico[m] | That is neat! | 16:36 |
Mister_Magister | rubdos[ma]: you are on last position currently xd | 16:36 |
rubdos[ma] | The IRC bridge is pretty awesome, except that it boots people every 30 days :p | 16:36 |
rubdos[ma] | Mister_Magister: what's the criteria? :p | 16:36 |
Mister_Magister | [14:43] <rubdos[ma]> Mister_Magister: you still in for "most weird errors on Harbour"? | 16:36 |
Mister_Magister | most, not least | 16:37 |
rubdos[ma] | Ah, mine is worst then? :D | 16:37 |
Nico[m] | I mean, "find not found" is weird .-. | 16:37 |
Mister_Magister | yep :P least errors | 16:37 |
rubdos[ma] | > ERROR [/usr/bin/harbour-whisperfish] Binary does not link to __libc_start_main@GLIBC_2.4. | 16:37 |
rubdos[ma] | I like that one | 16:37 |
Mister_Magister | :P | 16:38 |
rubdos[ma] | > WARNING [/usr/bin/harbour-whisperfish] Binary does not export main() symbol - booster might fail | 16:38 |
rubdos[ma] | OMG that's cool | 16:38 |
rubdos[ma] | * > WARNING [/usr/bin/harbour-whisperfish] Binary does not export main() symbol - booster might fail | 16:38 |
rubdos[ma] | OMG that's cool | 16:38 |
Mister_Magister | its also the most unique errors so thats an inique one | 16:38 |
rubdos[ma] | ... I can't depend on openssl?! | 16:39 |
Nico[m] | No, you totally can | 16:39 |
Nico[m] | I do for example :3 | 16:39 |
rubdos[ma] | But you remove it from depends? :p | 16:39 |
Mister_Magister | i'm like https://paste.opensuse.org/8f6a890b | 16:39 |
Nico[m] | Do I? https://nheko.im/nheko-reborn/konheko/-/blob/master/rpm/harbour-konheko.spec#L32 | 16:40 |
rubdos[ma] | Actually, my docker image doesn't check everything. I'll rebuild it and rerun | 16:40 |
rubdos[ma] | What do you do about linking to libQt5Widgets? | 16:41 |
Mister_Magister | n | 16:41 |
Mister_Magister | Nico[m]: you can remove comments :P | 16:41 |
Mister_Magister | rubdos[ma]: minitube stuff uses qtwidgets | 16:41 |
Mister_Magister | the amount of not allowed qt imports is glorious | 16:42 |
rubdos[ma] | Ah it's not a default thingy | 16:42 |
Nico[m] | Probably, but it makes me think twice before I edit that file :D | 16:42 |
Mister_Magister | using pkgconfig is normal | 16:43 |
rubdos[ma] | I'm going to have so much fun getting it into harbour | 16:43 |
Mister_Magister | why bother | 16:44 |
Nico[m] | <rubdos[ma] "I'm going to have *so much fun* "> I mean, some of that stuff sounds interesting to solve :D | 16:44 |
rubdos[ma] | interesting for a few minutes, yeh | 16:44 |
Nico[m] | You are writing a Sailfish app in Rust, you have to like it! | 16:45 |
attah | dodging the validator is fun :) | 16:45 |
Mister_Magister | Ever since jolla came out of their way to make apps page inside settings and then disallowed devs to add their stuff, since they made sharing menu and disallowed devs to use it, i don't bother till they fix their shit | 16:46 |
Mister_Magister | rubdos[ma]: you don't have to fix warnings tho | 16:46 |
Nico[m] | Most of that stuff is disallowed, because the API is unstable. We could probably ask for a stable API :D | 16:46 |
* rubdos[ma] < https://matrix.org/_matrix/media/r0/download/matrix.org/qCzPSlDmaTJbHimLlPuwdsvT/message.txt > | 16:46 | |
rubdos[ma] | HEHEHE | 16:46 |
Mister_Magister | Nico[m]: but its insanely stupid | 16:47 |
rubdos[ma] | wtf is `/usr/lib/.build-id/b5/2bd470bc6d77ae94238aec64ab3b818d32b8b3` though. | 16:47 |
Nico[m] | > Please do not hard code the path to any subfolders in /home/nemo or other home directories. | 16:47 |
attah | Mister_Magister: I'm sure they'd be happy for ideas on how to fix some of it | 16:47 |
Nico[m] | I mean, that one makse sense | 16:47 |
Mister_Magister | attah: they don't need ideas how to fix it | 16:48 |
Mister_Magister | its plainly obvious | 16:48 |
attah | but the settings thing for example, it becomes a privilege trampoline - not easily solved | 16:48 |
Mister_Magister | attah: why add such page in first page | 16:49 |
Mister_Magister | but wait there is more | 16:49 |
Mister_Magister | now they are exponating it in settings | 16:49 |
Mister_Magister | for what reason if devs cant use it | 16:49 |
Mister_Magister | it gets more idiotic with every release | 16:49 |
attah | hindsight is always 20:20 | 16:49 |
Nico[m] | Because they want devs to be able to use it | 16:49 |
Nico[m] | They just haven't figured out how yet | 16:50 |
Mister_Magister | pffft | 16:50 |
Mister_Magister | good joke | 16:50 |
attah | completely agree with Nico[m] | 16:50 |
Mister_Magister | i don't | 16:50 |
Nico[m] | Oh, common, stop being so negative all the time. That's no fun. | 16:50 |
Mister_Magister | first allow devs to use it | 16:50 |
Mister_Magister | then bother with it | 16:50 |
Mister_Magister | spend time on something meaningful instead | 16:51 |
Mister_Magister | Nico[m]: i'm being realistic | 16:51 |
Mister_Magister | after 5 years i see whats being done and whats not being done | 16:51 |
attah | so you want the privilege trampoline? | 16:51 |
Mister_Magister | instead of working on allowing devs to use it they play with layout | 16:51 |
Nico[m] | A lot of stuff seems to be written with the intention to be useable by developers. Otherwise the APIs wouldn't be as clean. But sometimes you run into blockers with such things and then focus on toher stuff | 16:51 |
Mister_Magister | you missing the point | 16:52 |
Nico[m] | No, you are looking for something to complain about | 16:52 |
Mister_Magister | nope | 16:52 |
Mister_Magister | why bother making it, why bother redesiging it (that one's better) if you don't allow devs to use it since beginning | 16:52 |
Mister_Magister | why spending time on redesign instead of working on allowing devs to use it | 16:53 |
Mister_Magister | im sure in 8 years you would get some idea | 16:53 |
Mister_Magister | take off pink glasses | 16:53 |
Nico[m] | I am part of multiple ecosystems moving at that pace. There is not much out of the ordinary with Sailfish here | 16:54 |
Mister_Magister | aaand still missing the point | 16:54 |
Mister_Magister | great | 16:54 |
Nico[m] | Well, whatever | 16:54 |
Mister_Magister | exactly | 16:55 |
* Nico[m] goes back to work on his apps | 16:55 | |
* Mister_Magister goes back to work at work | 16:55 | |
* rubdos[ma] uploaded an image: (54KiB) < https://matrix.org/_matrix/media/r0/download/rubdos.be/RkXLsGVJNlaeXfMUCfFHjEKY/image.png > | 17:16 | |
rubdos[ma] | By any chance, Nico, an idea on how to get rid of the nemo- ones? | 17:16 |
Nico[m] | I don't think I need those :D | 17:16 |
Nico[m] | > BuildRequires: pkgconfig(nemonotifications-qt5) | 17:16 |
rubdos[ma] | Oh they just seem to exist, you have nemonotifications-qt5 which obviously replaces nemo-qml-plugin-notifications-qt5 | 17:17 |
Nico[m] | The configuration one is for config pages in settings? | 17:17 |
rubdos[ma] | I actually don't recall; let me git blame it. | 17:18 |
rubdos[ma] | "Reorganised rpm-spec" july 2019 | 17:19 |
rubdos[ma] | oh god. | 17:19 |
rubdos[ma] | with a bit of luck, I can yeet it out | 17:19 |
rubdos[ma] | Of course, "BuildRequires" assumes that you're a normal person with a normal SDK. | 17:27 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!