Recent Posts
-
Kamal App Deployment Tool
kamaldeploymentdockerrailsrubyKamal is a simple, dedicated orchestration tool built specifically for deploying containerized applications (mainly Rails). In this blog post, I will take a deep dive into the internal workings of Kamal, exploring its high-level architecture and key deployment phases. read more » -
Improving Drag in React JS: A Smoother Approach to Draggable Elements
technologyjavascriptReactJSWhen building interactive web components, such as adraggable
element, you might run into the problem where the native draggable attribute leaves the original element in place while dragging a semi-transparent copy. This behavior can feel clunky and disrupts the user experience. In this blog, I’ll show you how to build a smooth draggable component where the element itself follows the mouse pointer, rather than a ghost image. read more » -
Book review: Never let me go - Kazuo Ishiguro
Kazuo IshiguroHaruki MurakamiBook ReviewI was recently given 2 books as a gift by a close friend, who is a great fan of Murakami’s. The books in question are “Norwegian woods” by Murakami and “Never Let Me Go” by Kazuo Ishiguro. read more » -
Mastering Multi Tenant setup with rails - background jobs
railsmulti-tenantsidekiqactivejobWelcome back to the Rails multi-tenant architecture series! If you’re just joining in, be sure to check out Part 1, where you’ll find an introduction to multi-tenancy and a detailed walkthrough on setting up a multi-tenant Rails application. read more » -
Mastering Multi Tenant setup with rails part 1
railsmulti-tenantmulti-dbMulti-tenancy is a software design where a single instance of a software application serves multiple customers or tenants (individual users or organizations). In a multi-tenant architecture, each tenant’s data and configuration are logically isolated from one another, providing a sense of individuality and privacy while sharing the same underlying infrastructure, codebase, and application instance. read more » -
An in-depth look at Database Indexing
databaseindexingpostgresmysqlrelational databaseclustered indexprimary key indexexplainanalyzepostgres indexingIn this article, we will explore Database Indexing. We will begin by installing the Docker & running a Postgres container on it. Subsequently, to execute queries and comprehend how the database uses various indexing strategies, we will insert millions of rows into a Postgres table. read more » -
How to setup AWS Cloudwatch alarm for your SES reputation metrics
AWSAWS SESAWS SNSAWS CloudwatchAmazon Simple Email Service (SES) is an email platform that offers a straightforward and cost-effective way for you to send and receive emails using your own email addresses and domains. read more » -
Building a Collaborative code-editor & Whiteboard: For tech interviews.
Concurrency ManagementWebsocketsMultifile NavigationYJStldrawOT Vs CRDTCodeMirror 6DockerAWSA Collaborative code-editor and Whiteboard aims to diversify the current interviewing scenario to Live - Coding, Sketching, Crafting, and Conceptualisation of ideas between the Interviewer and Interviewee for better communication which was until now only limited to Video and audio chats. read more » -
Puma: From Daemonization to Process Control with Systemctl and Monit
pumadaemonsystemctlmonitrailsPuma is a popular Ruby web server that is known for its speed and scalability. It has undergone significant changes in recent versions(starting 5.0.0). One of the most notable alterations is the removal of the daemonization feature. But what does it mean? read more » -
Demystifying Rails 7 System Tests: Configuring CI Pipeline
Rails 7System TestsIntegration TestsCI-CDMinitestCapybaraSeleniumSelenium-webdriverwebdriverwebdrivers gemchromedriverarm64amd64linuxdockergitlab-runnerIn Rails 5.1 and later versions, system tests were introduced as a new type of test to simulate a user interacting with a web application. These tests use a headless browser, typically powered by Capybara and a WebDriver, to mimic a user’s actions like clicking buttons, filling forms, and navigating through the application. read more »