Blog
-
C++ enum class: Scoped Enums, Underlying Types, Exhaustive switch, and Stable Serialized Values
Strongly typed scoped enums in C++11 and later: no implicit int conversion, explicit underlying types, switch exhaustiveness warnings that actually fire, type-safe bit flags, and keeping stored enum values stable.
-
C++ Memory Leaks: Causes, Detection, and Prevention
Understand heap leaks: lost pointers, exception paths, shared_ptr cycles. Valgrind, ASan/LSan, heap profilers, Visual Studio, RAII, suppression files, and CI.
-
C++ RAII Explained | Why Constructors and Destructors Prevent Leaks
A deep dive into C++ RAII grounded in a real production connection-leak incident, covering exception safety, the C++ Core Guidelines, and composable ownership.
-
shared_ptr and weak_ptr Internals: Control Blocks, Cycles, enable_shared_from_this and Aliasing
std::shared_ptr reference counting, control blocks, weak_ptr observers, cycles, enable_shared_from_this, aliasing, custom deleters, and production patterns in modern C++.
-
C++ Casting
When to use static_cast, dynamic_cast, const_cast and reinterpret_cast, what each checks, the undefined behavior they hide, and where std::bit_cast fits.
-
std::unique_ptr: Exclusive Ownership, make_unique, Custom Deleters and Moving Ownership
std::unique_ptr explained: RAII, make_unique, custom deleters, arrays, move semantics, PIMPL, containers, and exception-safe factories.
-
Python Task Scheduling | Automate Jobs with schedule
Schedule Python jobs with schedule and APScheduler: cron syntax, timezones, misfire handling, persistence, and multi-worker duplicate-run pitfalls.
-
ES2024 JavaScript Features: Object.groupBy, Promise.withResolvers, Resizable ArrayBuffer and the RegExp v Flag
What ES2024 really added: Object.groupBy and Map.groupBy, Promise.withResolvers, resizable ArrayBuffer and transfer, well-formed strings and the RegExp v flag.
-
Python asyncio in Practice: Event Loops, Async Context Managers, Concurrency Limits and Debugging
Use Python asyncio correctly: how the event loop runs coroutines, capping concurrency with Semaphore, async context managers, and when threads fit better.
-
Finding and Fixing Slow React Renders: memo, useMemo, useCallback, Code Splitting and Profiling
Measure React re-renders with DevTools and the Profiler API, then fix them with React.memo, useMemo, useCallback, virtualization and code splitting.