Redowan's Reflections
Recent writing
Practical advice for navigating exit interviews from an employee's perspective, minimizing risk while maintaining professionalism.
Replace complex nested conditionals with Python's enum.Flag and bitmasks for cleaner, more maintainable logic using bitwise operations.
Share data via DNS TXT records using dig and base64 encoding. Learn limitations, security concerns, and practical use cases for DNS tunneling.
Prevent memory leaks in Python descriptors by using weakref to avoid hard references that prevent garbage collection of validated objects.
Build Unix-style command pipelines in Python using subprocess.run with stdout piping for efficient process chaining and output capture.
Create reusable generators by implementing __iter__ in a class, allowing multiple lazy iterations without memory overhead or repeated function calls.
A reflection on choosing the MacBook Air M2 15-inch for portability without sacrificing screen size and development capabilities.
Replace inheritance-based template pattern with composition and Protocol types to create cleaner, testable Python code without namespace pollution.
Modern Python dependency management using pip-tools, hatch, and PEP-621 for web apps and libraries with reproducible builds.
Build a traceroute clone in Python using UDP and ICMP sockets to trace network packet routes and measure hop latency with TTL manipulation.
Learn how to programmatically request Google search indexing for multiple URLs using the Indexing API and NodeJS for faster reindexing.
Build your own CORS proxy using Cloudflare Workers to bypass browser CORS restrictions. Includes deployment with GitHub Actions automation.
Schedule one-time commands with UNIX at command. Learn job queuing, remote scheduling via HTTP API, and managing atd/atrun daemons.
Sort Django querysets by custom attribute sequences using Case and When expressions for database-level ordering with SQL CASE statements.
Automate your GitHub profile README with periodic updates using Actions. Parse RSS feeds and dynamically display latest blog posts with NodeJS.