This all started with me just wanting a fast way to sort through image folders and remove cartoon images. That lead me down a spiraling rabbit hole of possibility. From using OpenCV to do different types of detection, or even training a Machine Learning model from...
Continue reading...code
ThreadPools explained – In the deep end
Thread and Multiprocessing Pools are an underused feature of Python. In my opinion, they are the easiest way to dip your feet into concurrency, and yet still the method I use most often. They allow you to easily offload CPU or I/O bound tasks to a...
Continue reading...Reusables – Part 2: Wrappers
Spice up your code with wrappers! In Python, a wrapper, also known as a decorator, is simply encapsulating a function within other functions. @wrapper def my_func(a, b=2): print(b) @meta_decorator(foo=”bar”) def my_other_func(**kwargs): print(kwargs) In Reusables, all the wrappers take arguments, aka meta decorators, so you will at...
Continue reading...Is it easier to ask for forgiveness in Python?
Is Python more suited for EAFP or LBYL coding styles? It has been debated across message boards, email chains, stackoverflow, twitter and workplaces. It’s not as heated as some other battles; like how spaces are better than tabs, or that nano is indisputably the best terminal...
Continue reading...