Hello, IT! Have you tried turning it on and off again? (Mobile Hotspot)
Yesterday, I had an Internet outage at home. The Internet was down for several hours. This is a perfect time to use Mobile hotspot. But alas, it wasn’t working. I […]
Yesterday, I had an Internet outage at home. The Internet was down for several hours. This is a perfect time to use Mobile hotspot. But alas, it wasn’t working. I […]
TL;DR: Python statement from module import obj creates a copy of the object in the importing scope. In other words, from module import obj is roughly equivalent to obj = __import__(‘module’).obj. […]
Our RabbitMQ client written in Go failed with the following error message: rabbitmq | 2024-10-23 17:54:01.311544+00:00 [error] operation basic.ack caused a channel exception precondition_failed: unknown delivery tag {message_tag} Taken at […]
TL;DR Before transferring a new domain to a registrar, contact support, and make sure there are still live humans behind the robots. If there aren’t, RUN!!! UPDATE I’ve got my […]
Last night I was talking to something which could be a human or a robot, I could not tell. But that’s not necessarily a good thing: not only AI became […]
TL;DR Python generator expressions can be iterated over only once. I mentally mapped Python generator expressions to C# IEnumerables, which can be iterated over multiple times. In reality, Python generator […]
TL;DR use marshmallow-dataclass. Serializing JSON into dataclasses with validation proved to be unexpectedly difficult. By “validation” here I mean type checking (this must be a valid integer), range checking (this […]
This post describes more fundamental underpinnings of how copy and deepcopy interact with callable attributes. See previous post for some practical examples of unexpected behavior. Methods vs Instance Attributes Consider […]
Executive Summary Avoid using callable instance attributes that call back into the object that contains them. If you must, make the object uncopyable by overriding __copy__ and __deepcopy__ and raising […]
Python eval() receives two optional dictionaries: globals and locals. I was finally able to find at least two differences between them. First difference: global variables survive until after the eval() […]