Self-hosting, PyClockPro+, XFTP, SimpleX, Android, Matrix
Self-hosting: Some are doing same stuff as, uh, let's say some others. Ie. Buying server hardware and hosting it at office / home or whatever. And then just getting cheap VPS or just VPN to expose it to internet from other location or even multiple locations. Nice. Unfortunately I don't have liberty to mention whom are doing this. But this is classic. Why? Doing it this way, you'll get own hardware for the fees you would pay to Amazon for running it there for a few months. Not a bad deal after all. Of course you'll get some extra costs from power & networking, but it's still a great deal.
After several refactoring rounds, it seems that the PyClockPro+ (PyClockPro-PLUS) should be completely rewritten. Interestingly the PLUS version mostly seems to perform worse in both terms, CPU time and Cache Hit Ratio. Results are generally 1% worse with my large test datasets. While doing detailed tests I also found bug from the original PyClockPro library, which seems incorrectly evict one item when the clock loops around. But the effort required for such a minuscule benefits is really not worth of it. Yet, I do have several ideas how to improve performance and design of the project, if I happen to have time and mood for it. Complete rewrite would be great idea. After good night sleep, I'll make a few fixes which I figured out in the middle of the night. Which affect hand movements, which are really critical and of course whole key of clock-pro. Also because the cache is kind of closed loop, it's just like any loopback device, where absolutely everything, affects everything else. Yet it doesn't cause it to fail, it just doesn't work correctly. Made me wonder how many fractal generator implementations there are, which produce different output on same fractal, because of minor differences somewhere. After re-reading the honestly ultra messy and bad specification documentation, I still think there are several issues in the code which are honestly just wrong. Don't know if it's worth of fixing. Probably full object rewrite would be better anyway. It shouldn't even take too long, but requires right mood and energy.
Studied SimpleX File Transfer Protocol (XFTP) (@ simplex.chat) - Interesting choices, especially the aspect why server needs to know how many recipients the file got. And chunk access control and invalidation. Well, these are all trade-offs. After doing some tests, it's actually quite similar to Matrix attachments. Only major difference is that chunk identifiers / tokens are recipient specific. Yet the chunk behind the identifier is still the same, using same shared key and nonce. Quickly thinking I don't know if the user specified identifiers are really worth of it? But I guess it doesn't make that big difference.
SimpleX.chat also added contact verification feature, just like many E2EE chat apps already do.
Samsung got annoying issues with Android. It seems that screen updates fail. For some reason. It leads to display showing an old image when the applications have already moved forward. It's like frame buffer off by one. User seeing stale image. Reboot fixes it for a while. But the issue comes back later and requires reboot again. Sigh! - I just can't stop loving quality code!
Matrix (Element Android) (@ Wikipedia) - During my travel I noticed that still after two years there are same old enraging bugs which destroy UX. Image sharing is broken, retry (attachment) sending is broken, retry message sending is broken, encryption is broken. Why message which is in sending state, can't be removed, edited or copied? Why there isn't any indication when content (image attachment or so) is being downloaded and or saved? Also multi-message forwarding is still missing. Honestly can't recommend this broken software for anyone. Also same image can get several parallel uploads, which just wastes bandwidth. It's just crazy that these bleeping errors haven't been fixed in two whole years. - Irony, my whine post about Matrix being broken doesn't get sent and retry function is broken. Oh well, LOL! - Made some more tests with Desktop and it's also broken. Image / media share features provide absolutely horrible UX. Basic sane limitations / processes are lacking.
2024-02-25