freenode/#shirakumo - IRC Chatlog
Search
12:06:21
Shinmera
Fixed the Trial problem where dymanic insertions (compile-into-pass) would not properly reinstate the order.
12:06:41
Shinmera
As a side effect there's now the functions ENTER* and LEAVE* that should be used for dynamic insertions.
12:07:07
Shinmera
ENTER and LEAVE from before should only be used for things that don't require rendering, or during a static load block.
12:21:16
Shinmera
I've also been thinking about ripping out Flare and replacing the indexed-set thingy with something better.
12:26:02
Shinmera
Maybe something like a flat vector with a deletion counter and compaction only once the counter gets too high.
12:26:25
Shinmera
or splitting into chunks of limited size so the maximum work per deletion is always bounded.
12:26:51
Shinmera
Could probably also get away with an unsorted table iteration for a lot of things.\
12:38:40
Shinmera
Well, 1) flare is barely used so it's a whole system and complexity that's kinda shitty to have around
12:38:56
Shinmera
2) yes, speed. The indexed set uses a doubly-linked list, which is not great for what you do most with it: iteration
12:50:44
selwyn
hopefully avoiding wasteful re-renders will help the situation, but alloy is weirdly slow
12:51:51
Shinmera
text is reuploaded to the gpu every frame because of the allocation problems I talked about
12:52:51
Shinmera
if we can allocate a buffer for every text that problem goes away entirely, but then we have to know when and how to deallocate.
12:55:52
selwyn
is the focus invariant you mentioned that only one thing can have strong focus in the tree?
12:57:57
Shinmera
At any time there's always exactly one thing that has strong focus. Additionally, an element can only be weakly focused if either its parent is strongly focused, or a child in the tree is strongly focused.
12:58:17
Shinmera
I had a case where an element should have had strong focus, and in fact it was still set as the focused element, but its focus value was nil.
13:23:52
selwyn
well, i suppose it's somewhat acceptable to postpone that in a ui toolkit that's meant for games
14:33:35
selwyn
you can do fourier transforms in any number of dimensions, as well as over arbitrary finite groups, function spaces, lots of places
14:35:29
selwyn
the higher dimensional ones are not really useful in signal processing afaict, which is why they are somewhat neglected i guess
14:50:58
selwyn
cancel that, some kind soul has made a n-dimensional fourier transform in common lisp
15:34:50
Shinmera
Spawning ten threads each opening and closing 1000 times gets me ~225 connections per second for each thread.
15:39:30
Shinmera
Across the 100 threads looks like they can each send around 4'500 messages per second.
15:57:18
Shinmera
Looks like on my machine I can get around 14'500 messages per second delivered and received (so full round-trip)
16:34:32
Shinmera
Also managed to fix that egregious bug where sometimes some browser clients were getting massive delay on messages.
16:35:39
Shinmera
Was a chunk stitching issue where if multiple full messages were received at once it would erroneously only process the first and defer the others, which however meant waiting for another tcp payload or a timeout.
16:52:40
mfiano
For the last 3 weeks an IRC pebcak had me in #shirkumo and I was wondering why I wasn't seeing any activity long after the holiday break.
17:03:40
mfiano
I decided this year is my "I need to stop working on my fucking game engine and make a fucking game" year
17:07:27
mfiano
Doing some procgen and making pixelart blob tilesets here, for a rogue-like-like idea
17:13:11
mfiano
Requires disabling adblocker to post, and makes you watch a 30 second video ad in between each image uploaded to a collection
17:16:22
mfiano
2 minutes later, here's a stupid little cave with the most complicated SSBO shader I ever wrote, and probably the crappiest 20 minute pixelart I ever made: https://imgur.com/a/9HyU5wZ
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)