freenode/#shirakumo - IRC Chatlog
Search
17:55:36
mfiano
As for what you're looking at, it's some weird hybrid of cellular automata and metaballs. I don't even know what I'm looking at yet :)
18:06:00
Shinmera
SAL9000: I revised the shirakumo-server-management extension and added a shirakumo-ip extension.
18:06:47
Shinmera
SAL9000: Not sure how to handle the user-info for the ip extension, though. It should only be sent to authorised users of course, but Lichat only has a permissions check on an update-type level, so no per-update-property permissions.
18:12:35
Shinmera
yeah that would be the most fitting thing. Still don't like splitting things, though.
18:17:16
Shinmera
It's either a new update, a permissions system for sub-update granularity, or a separate list of "privileged users" for which such fields are included
18:42:29
Shinmera
I think I'll go with a separate update just so we can deliver even more potential info.
18:54:09
Shinmera
how long they've been on, which channels they're in, what past IPs they've connected with.
19:13:33
SAL9000
also, 7.8 shirakumo-pause -- throttle the too-many-updates error as well? otherwise it could conceivably become ddos-amplification
19:15:11
SAL9000
right, if the servers are allowed to just drop stuff then dos-protection can be done that way, yeah
19:17:50
SAL9000
I just noticed the various clock-related updates... had a silly thought about NTP-over-Lichat :D
19:18:41
SAL9000
(of course, if your chat client has the privileges to adjust your system clock you're doing something wrong)
19:20:57
SAL9000
in theory, client could have a separate lichat-clock -- or server could track clients' clocks -- but that's way out of scope.
19:21:44
SAL9000
our TOTP-registration screen did not have a "enter a code here to test your token" step and I brought up time desync as a reason to have such a field
19:23:35
Shinmera
but then always pushed it out when I realised I'd have to look into the standard and implement it lol
19:28:10
Colleen
github.com/mare5x/LispQR/ Website (HTML), Title: GitHub - mare5x/LispQR: QR Code encoding using Common Lisp.
20:08:57
Shinmera
also, do you want to join the shirakumo team? Could give you commit bit for all the lichat repos.
20:10:12
SAL9000
if the server downcases "destructively" anyway, then client doesn't need to care (can just downcase too)
20:10:48
Shinmera
whatever the case the server definitely doesn't store the name as created and then "fix" it for you to send that back.
20:11:02
Shinmera
I think lookups are just case-insensitive, so the update would send whatever the user typed.
20:11:32
SAL9000
right, so it's case-insensitive (non-destructive), as opposed to case-folding (destructive)
20:14:09
SAL9000
I think a custom-map would be the 'pythonic' thing to do, since then client.channels would still Just Work(tm)
20:15:08
Colleen
docs.python.org/3/library/c... Website (HTML), Title: collections.abc â Abstract Base Classes for Containers — Python 3.9.1 documentation
20:22:54
SAL9000
tl;dr python2 has been deprecated for years, and now officially sunsetted, but people STILL USE IT
20:25:18
SAL9000
pro is like 2x the price of home, but you can refuse updates for much longer if you want
20:25:35
selwyn
unfortunately all of the good open source voice recognition software is in python2 for the moment
20:26:47
SAL9000
ditto un-activated... apparently after enough time has passed it starts turning features off
20:26:55
selwyn
i did the azure thing and it works great, it tends not to give you much choice in updates afaict
20:27:40
SAL9000
on pro I can -- if I really want to -- tell non-security updates to go hang for 365 days
20:28:29
SAL9000
delaying the update = more time for the guinea pigs to pick up on the issues and get the update pulled/patched
20:28:51
SAL9000
because who needs QA when one has users willing to pay for the privilege of being alpha-testers? /s
20:31:51
Shinmera
https://lh3.googleusercontent.com/proxy/fLoNEe8YYEMzK-VbstrtxZ3ZAMR3Neqswq6um2TEVpXVZKY1VGD5LaReKsHLLEDPxIj3t3eN9EDAOlvIkzei1DRORAs7YBrfhs0hpXvezRAsZEcSdUxXTJns-MQSRBmvYlmEUe9z_j4zVn5yCYj6Uhblqz1jan-pTcU
21:10:02
Shinmera
Personally I woulda just .lower() d things on lookup and insert and be done with it.
21:18:30
SAL9000
unless something's changed since I did weechat scripting last time (years ago), there's basically "IRC-like" buffers and "freeform" buffers
21:20:01
gingerale
I really should come up with a task list of some sort where to also write notes in.
21:31:14
SAL9000
Shinmera: poked #weechat but quick check of API docs seems to indicate no editing unless it's freeform. IRC doesn't allow editing messages, so it makes sense...
21:36:40
gingerale
There's a very nice diff library for JavaScript for comparing two blocks of text.
21:38:15
SAL9000
given that there are a grand total of 2 weechat scripts in js, I'm guessing no-one is going to have that feature installed :p
21:44:32
Shinmera
like, instead of using update classes could just use the list and a custom dispatch.
21:46:15
Shinmera
Another nice extension to lichat would be E2E encryption. I'm scared of trying that though as I don't think I know enough to make a good proposal for that kinda thing.
21:48:56
SAL9000
basically, a protocol for doing E2E on top of existing chat systems e.g. IRC private messaging
21:49:22
Colleen
otr.cypherpunks.ca/Protocol... Website (HTML), Title: Off-the-Record Messaging Protocol version 3
21:52:48
Shinmera
The problem with this I guess is that it only encrypts the payload. You'd still be able to snoop the from and other update fields.
21:53:45
Shinmera
Whereas every lichat communication is over a channel with arbitrary number of participants.
21:54:47
Shinmera
the from etc fields don't matter as long as we already have an established connection.
21:55:09
Shinmera
In fact in Lichat 2.0 you can leave out from entirely and the server will tack it on for you.
21:55:37
SAL9000
although having a from could make sense if you want to (later) implement gateways/proxies
21:57:56
Shinmera
Another problem the from was meant to solve was sharding. Another server would be another user with an "impostor" permission so that it could send messages on behalf of others.
21:58:48
Shinmera
But that needs some more thought (how to merge user and channel lists and keep them in sync, etc.)
22:01:13
Shinmera
anyway, considering my tests with exlichat earlier today I don't think I need to work on that extension for a long time :)
22:05:26
Shinmera
nah, just leaving it be for now, perf seems far more than acceptable for what I need.
22:05:46
SAL9000
"over 2 million connections (Erlang on FreeBSD)" yes... and then "10-12 million connections (Java)"
22:07:59
Shinmera
we say as we consider an elixir server and talk about python and javascript clients
22:36:59
SAL9000
loading a trivial weechat script which loads pylichat already causes warning messages :p
22:37:07
SAL9000
"context.c:55: warning: mpd_setminalloc: ignoring request to set MPD_MINALLOC a second time"
22:37:20
SAL9000
https://stackoverflow.com/questions/49757245/fixing-warning-message-related-to-mpd-setminalloc
22:37:21
Colleen
stackoverflow.com/questions... Website (HTML), Title: python - fixing warning message related to mpd_setminalloc - Stack Overflow
22:48:38
Colleen
github.com/Shirakumo/weelic... Website (HTML), Title: weelichat/lichat.py at main · Shirakumo/weelichat · GitHub
22:52:05
Shinmera
I'll hold off on pushing a new version to pypi until this works so we don't have to bump versions too much.
23:19:10
Shinmera
SAL9000: do you have an idea already how to handle the connection? Does weechat offer some periodic callback you can use or something?
23:19:29
Shinmera
would still introduce latency, but not sure how else to make it "wake up on arrival"
23:19:31
SAL9000
Shinmera: there's periodic callbacks but I'm hoping to hook into the weechat select loop