Signals, WPA3, PEP 553, Ordered Dictionaries, Sdelete
- All that signal processing made me think that nowadays only difference between analog and digital, is that the signal can be reliably restored to the same representation than it started from. If any outsider is observing the traffic with lower technology, they really can't tell if it's digital or not. Because the signal is so extremely close to being analog. So if you got high quality DA and AD convert pair and the output matches the input, isn't the link then digital? Hmm, I guess it is. No more analog audio. Just like to good old digital C-cassettes. Who said VGA connection is analog? With suitable color depth and high quality DA / AD modules, it's actually digital. Maybe not true color but maybe 15 bit hi-color would with limited resolution. Smile. Of course it's like that, it's obvious. Next audio test would be, how high bit rate you can achieve with your audio equipment.
- WPA3 - Quickly checked it out. Simultaneous Authentication of Equals (SAE) instead of good old PSK, Man-in-the-Middle (MitM) attack protection, Opportunistic Wireless Encryption (OWE). All this using 192 bit AES. They also got new feature called Wi-Fi Easy Connect, which is can be a big security problem. Personally I would immediately disable it. We all know how bad Wi-Fi Protected Setup (WPS) was and Bluetooth pairing still is. Maybe the biggest win is usage of Forward Secrecy (FS, or PFS). Rate limiting authentication requests is a win in a sense, but it can also lead to DoS. The OWE feature seems quite trivial to implement, when FS is already being used. So client specific encryption isn't a problem to begin with. Allowing open networks to use encryption. Yet it's strange to say that WPA3 would make "public networks" any more secure. Risks with brute force attacks are also quite meh, even with WPA2, even if it allows multiple attempts, the key space to scan is just so huge. - I don't like many of the aspects of this new "secure" protocol. Maybe we're laughing at it a few years later. Some of the related articles even messed up with differences between on-line and off-line attacks. Also studied IEEE 802.11ax.
- PEP 553 - I like the new break point syntax. . Data classes are nice, yet with most of my projects I've done perfectly well without those. Mostly because most of my classes are quite light and slim. But just to study this feature, I'll be probably using some data classes in next project which would actually benefit from use. This of course means, I'll be upgrading everything in the development and production environment(s) to use Python 3.7. If I've had more complex "data classes" those are usually then used with ORM for persistence. Yet I personally really love KISS concept. Don't make it unnecessarily complex, if you can keep it stupidly simple. I've already used getattr stuff to make dictionaries which are accessible via dot attribute notation like dictionary.key. Works well for some purposes. Yet I don't personally mind using dict['key'] reference model at all. The nanosecond timing precision additions are something I've missed. Yet it seems that they didn't add the %n to the strftime. Duh. It's kind of ugly to get timestamp, and then build strftime + nanoseconds, but sure it's doable. Also the new speed improvements are always very welcomed.
- It might be that I'll have to create new version of pyclockpro for Python 3.6 and python 3.7 where the dictionaries are ordered by default. No need to keep separate dictionary & list references anymore. Yet, it might be that the dictionary lookup and access as list, is still lot slower than list access. As example deque is slower to access than basic list. That's the reason why pyclockpro is using list in the very first place. Because list is always modified "in place", except for situations where the list grows or is shrinking. After some testing I can decide if the ordered dictionary is usable at all. And if it allows charging data in place, or if new entries are always placed at the end. After quick look, it seems that new entries are always at the end. This means that the dictionary is like deque, which doesn't work as list. And therefore isn't directly usable. Which basically means that it's not usable for the PyClockPro library.
- Sdelete - Just read how Secure Delete works on Windows platform. Ok, it's not actually secure delete, in a sense, that it can't guarantee that data gets deleted. But at least it tries hard to get rid of the current file content.