Redowan's Reflections
Home
Contact
Categories
Tags
Archives
All Posts
2022
Bulk operations in Django with process pool
Mon 27 June 2022
Read a CSV file from s3 without saving it to the disk
Sun 26 June 2022
Distil git logs attached to a single file
Tue 21 June 2022
Safer 'operator.itemgetter' in Python
Thu 16 June 2022
Guard clause and exhaustiveness checking
Sun 22 May 2022
Health check a server with 'nohup $(cmd) &'
Mon 18 April 2022
Return JSON error payload instead of HTML text in DRF
Wed 13 April 2022
Decoupling producers and consumers of iterables with generators in Python
Sun 03 April 2022
Pre-allocated lists in Python
Sun 27 March 2022
In favor of sentence case
Sat 26 March 2022
Disallow large file download from URLs in Python
Wed 23 March 2022
Declaratively transform dataclass fields in Python
Sun 20 March 2022
Caching connection objects in Python
Wed 16 March 2022
How not to run a script in Python
Wed 16 March 2022
Mocking chained methods of datetime objects in Python
Wed 16 March 2022
Declarative payloads with TypedDict in Python
Fri 11 March 2022
Parametrized fixtures in Pytest
Thu 10 March 2022
Modify iterables while iterating in Python
Fri 04 March 2022
Github action template for Python based projects
Wed 02 March 2022
Self type in Python
Mon 28 February 2022
Patching test dependencies via Pytest fixture & unittest mock
Sun 27 February 2022
Narrowing types with TypeGuard in Python
Wed 23 February 2022
Why 'NoReturn' type exists in Python
Mon 21 February 2022
Add additional attributes to enum members in Python
Thu 17 February 2022
Peeking into the internals of Python's 'functools.wraps' decorator
Mon 14 February 2022
Limit concurrency with semaphore in Python asyncio
Thu 10 February 2022
Amphibian decorators in Python
Sun 06 February 2022
Go Rusty with exception handling in Python
Wed 02 February 2022
Variance of generic types in Python
Mon 31 January 2022
Create a sub dictionary with O(K) complexity in Python
Sun 30 January 2022
Gotchas of early-bound function argument defaults in Python
Thu 27 January 2022
Use 'assertIs' to check literal booleans in Python unittest
Mon 24 January 2022
Static typing Python decorators
Sun 23 January 2022
Inspect docstrings with Pydoc
Sat 22 January 2022
Check whether an integer is a power of two in Python
Fri 21 January 2022
Uniform error response in Django Rest Framework
Thu 20 January 2022
Difference between constrained 'TypeVar' and 'Union' in Python
Wed 19 January 2022
Don't wrap instance methods with 'functools.lru_cache' decorator in Python
Sat 15 January 2022
Cropping texts in Python with 'textwrap.shorten'
Thu 06 January 2022
String interning in Python
Wed 05 January 2022
2021
Structural subtyping in Python
Sat 04 December 2021
Automatic attribute delegation in Python composition
Sun 28 November 2021
Access 'classmethod's like 'property' methods in Python
Fri 26 November 2021
Don't add extensions to shell executables
Tue 23 November 2021
Use '__init_subclass__' hook to validate subclasses in Python
Sat 20 November 2021
Running tqdm with Python multiprocessing
Thu 18 November 2021
Use daemon threads to test infinite while loops in Python
Thu 18 November 2021
Use 'command -v' over 'which' to find a program's executable
Tue 16 November 2021
Write git commit messages properly
Thu 11 November 2021
Python's 'functools.partial' flattens nestings Automatically
Mon 08 November 2021
Use curly braces while pasting shell commands
Mon 08 November 2021
Use strict mode while running bash scripts
Mon 08 November 2021
2020
Pedantic configuration management with Pydantic
Mon 13 July 2020
Interfaces, mixins and building powerful custom data structures in Python
Fri 03 July 2020
Deciphering Python's metaclasses
Fri 26 June 2020
Implementing proxy pattern in Python
Tue 16 June 2020
Effortless API request caching with Python & Redis
Mon 25 May 2020
Untangling Python decorators
Wed 13 May 2020
Effortless concurrency with Python's concurrent.futures
Tue 21 April 2020
No really, Python's pathlib is great
Mon 13 April 2020
Running Python linters with pre-commit hooks
Mon 06 April 2020
Generic functions with Python's singledispatch
Sun 05 April 2020
The curious case of Python's context manager
Thu 26 March 2020
Reduce boilerplate code with Python's dataclasses
Thu 12 March 2020