Python, Tails (Tor), USB, Mr.Robot (TV)
What's new in Python 3.8. At least the walrus operator is something I'm going to use. This will solve some of the code duplication or confusing setup routines for while loops. Yet, I've probably used all kind of concepts including a few dirty workarounds to get the issue solved without code duplication. Some trickery with data types also works. if is True is False is None, etc can be used to pass state other than '' or 0 as example. Even if all of those are logically False. Yet that can be extremely bad design pattern and really confusing for someone else to read. Also final is really nice, yet it isn't enforced. Forced positional arguments using / . Pickle 5 protocol. Yay, Ctrl-C is finally fixed! It's great that dictionaries are ordered by default, yet that might still leave some performance issues when accessing with index, because the data is available via iterator only. I had similar performance issues with pyclockpro and deque. functools.cached_property adds static memoization which changes method to property after first call. multiprocessing.shared_memory, awesome, even if I usually prefer not to deal with data on such a low level. Of course this is must for some tasks which require efficient memory / data sharing. Yet ShareableList is something I might need and use. Pprint pretty printer, nice. Yet this is old feature. I just reminded my self how nice it is. threading.excepthook() - Nice. Yet I usually do have proper exception handling in threads, but of course this helps. time.clock() has been removed. Ok, I think I've got some code which uses that. Because it provided more accurate timing on Windows platform than time.time(). Fast copy using shutil is also nice, no need to shiphon data via user space. I guess I'll update production environment to use 3.8, I've skipped 3.7 so far. Yes, when ordered dict became the default dictionary type, it seems that they've added pop and popitem. This is great news. Well worth of testing the ordered dict alone, instead of using dict + list in the CLOCK-Pro+ memoization, caching project. Also reminded my self about existence of fromkeys method.
Thoughts about CLOCK-Pro+ - Which adds Utility-Driven Adaption to CLOCK-Pro cache & page replacement algorithm from Intel utilizing reuse distance. Better than LRU, CLOCK, ARC, LIRS, CAR, etc. Looks good, should be quite simple and trivial to add this idea to currenty PyClockPro project turning it into PyClockProPlus. I'll also have to test for a few possible optimizations with latest python versions mentioned above. Some might sound like a good idea, but traditionally using indexes with dictionaries and large iterators haven't performed well enough to be practically a good option. Who knows what the situation is now, remains to be seen and tested. Probably requires quite many synthetic timing tests to be run. With different implementations. No other "easy" way to differentiate the solutions. Ie dict + list parallel implementation (curent) vs ordereddict (new better (?) option?). Update just before posting this from backlog: "I kind of forgot this project. But I've been thinking about it lately. But I'll be continuing this fall, with Python 3.9 udpate."
Yay, Tails 4.0 Tor Live is out. I were also testing the release candidate (rc1) version as well.
Had some issues with USB device connections and ports, but lsusb -t was just a simple and quick way to figure out what the actual situation with devices was, and I got the issue solved in notime at all.
Liked Mr. Robot episode where hackers had issue with 2FA / 2SV / MFA (RSA SecurID). But classic fail, let people to your home / at your systems and not having adequate security. Massive fail. As example, it's trivial to configure home security system to wipe encryption keys. -> If alarm is triggered, systems are secured. Same approach naturally applies to the server rack / containment. Without specific steps, it must secure systems when opened without authorization. Simplest form is of course having keys only in ram, wiping ram and shutting the systems down. Causing investigation of the shutdown as well as re-entering encryption keys.