RSSAmplifier

Blog

Prémices Kamasuwa

Full-stack Software Engineer.

nkpremices.comRSS feed ↗15 posts

Latest posts

Let's create an LRU cache with Rust

A practical Rust implementation of an LRU cache using a HashMap and an index-based doubly linked list, with the ownership tradeoffs made explicit.

Automating Public Asset Delivery with S3, CloudFront, API Gateway, and Terraform

A walkthrough of serving public assets from S3 without making the bucket itself the public interface, using CloudFront, API Gateway, IAM, and Terraform.

Deploying a Next.js App from a Monorepo to AWS Amplify with GitHub Actions

A practical walkthrough of deploying a Next.js app from a pnpm/Turborepo monorepo to AWS Amplify, using GitHub Actions as the release orchestrator.

Should Management Decisions Affect Product Quality?

Product quality is not only an engineering outcome. It is also shaped by timelines, management pressure, operational decisions, and how honestly teams handle technical debt.

Managed vs Open Source in Cloud Architectures

At scale, architecture is no longer about tools—it’s about trade-offs. This piece explores how experienced engineers decide between managed services and open source by focusing on cost, control, and where engineering effort actually creates leverage.

Graphene-Django Query Caching as a Workaround, Not a Design Principle

A practical look at resolver-level caching in Graphene-Django: when it helps, what it hides, and why it should be treated as a tactical workaround rather than good API design.

Building a Cron Job Scheduler Using Redis and Node.js

Discover how to build an advanced event-driven scheduler using Redis’ key expiration feature for real-time task management.

Ensuring Data Integrity in Real-time Synchronization: A Phoenix LiveView Tale

Tackling duplicate webhook calls in #Phoenix with a Deduplicator! Learn how we ensure data integrity and system reliability with Elixir's GenServer and ETS for efficient deduplication. Dive into my journey from challenge to solution. #ElixirLang #WebDevelopment

Stop right there and think a bit!!

As software developers, it's easy to get caught up in following the latest trends and trying to do too much at once. We see articles and tweets from people who claim to have "made it," and we feel pressured to keep up with the latest technologies and approaches.

Understanding Distributed Systems, my comments

As a software engineer, I've always been fascinated by the complexity and power of distributed systems. These systems, which operate across multiple devices and locations, are at the heart of many of the technologies we rely on every day, from...

Creating a cronjob micro-service using Elixir

If you've ever needed to automate a task or ensure that an important job gets done on schedule, you've probably used a cronjob. Simply put, a cronjob is a tool that allows you to schedule tasks to run automatically at a predetermined time or...

Serving an unsupported third-party middleware to the NestJs dependency injection layer

Have you ever found yourself in the middle of a project and realized that the tool you need to use is not supported by your framework of choice? That's exactly what happened to me recently when I was working on a NestJS application and wanted to integrate Cloudinary for image hosting.

Brainstorming Ideas for Exposing a Postgres 9.6 Server for Remote Access on a Custom Domain with Nginx Reverse Proxy (Ubuntu 18.04)

Exposing a local Postgres server for remote access on a custom domain using Nginx as a reverse proxy can be a useful configuration for a variety of scenarios, such ...

Why Software Developers should make time for side projects

Why Software Developers should make time for side projects

Django: Testing, Factories, and Data Seeding (Pytest, Mixer)

If you're a Django developer, you know how important it is to have a solid suite of tests to ensure that your code is working as expected. But what do you do when you inherit a huge codebase that has zero tests? That was the situation I found myself in earlier this year (2022)...