Concurrency Control Patterns: Lessons from Working with RwLocks & MutexesImagine your application as a bustling highway filled with cars鈥攅ach one a thread zooming along with its own agenda. Now picture what happens when all these cars need to access the same gas station (your shared data). Without proper traffic signals, ...Apr 2, 2025 路 8 min readshafspecs.hashnode.dev
Exploring Binary Trees (in C++)A short while ago, I undertook the task of improving my C++ via DSA (which stands for Data Structure & Algorithms). The aim of practising DSA is simple: By implementing your own data structures and algorithms, you learn a lot of what happens under th...Aug 1, 2024 路 7 min readshafspecs.hashnode.dev
Breaking down pointers (in C++)I recently began learning C++ (or CPP), a powerful language built on C. C++ is a language that exposes a lot more than conventional languages like JS, Python and Java. Having worked with weird languages (like Rust) and language for dummies (Golang), ...Jun 27, 2024 路 7 min readshafspecs.hashnode.dev
Remix PWA: Practical A-Y GuideThe web has come a long way since its inception, and the way we build applications has seen a lot of evolution and back-and-forth. Enter Remix, a modern web framework that takes a fresh (yet not-so-fresh) approach to web development, blurring the lin...AMay 20, 2024 路 60 min readshafspecs.hashnode.dev
Trigger.dev + Remix: Match made in HeavenIntroduction The concept of background jobs and expecially long-running jobs within web applications is not a foreign one, indeed a lot of software utilizes various solutions and code snippets and it works. Within the JS ecosystem and Web Development...Sep 29, 2023 路 4 min readshafspecs.hashnode.dev