Next.js 15: Optimizing Cache for Better Performance
Explore the caching strategy updates introduced in Next.js 15
System Analyst
Hey there! Welcome to our blog, where our team shares all things tech—from cool solutions to everyday challenges to innovative ideas we're excited about. We're here to share our journey, inspire yours, and have some fun along the way!
Explore the caching strategy updates introduced in Next.js 15
System Analyst
Explore how to implement Row Level Security (RLS) in Postgres
Senior System Analyst
This guide walks you through setting up Keycloak locally using Docker, creating a realm, user, client and integrating Keycloak with a Rails application using the omniauth-keycloak gem for single sign-on (SSO).
System Analyst
Discover how to mock external services in Rails application using WebMock and Rack to simplify testing
Senior System Analyst
Learn how to implement Retrieval-Augmented Generation (RAG) using LangChain, Pgvector, and OpenAI to store document embeddings and generate context-aware responses
System Analyst
Explore how to enhance language models using Retrieval-Augmented Generation (RAG) with OpenAI's API.
System Analyst
Explore how TanStack React Query simplifies server state management in React applications, covering topics such as caching, deduplication and state syncronization.
System Analyst
This blog explains how to organize ActiveRecord models into a tree structure using the Ancestry gem in Rails to manage parent-child hierarchical structures. It covers the setup, features, and querying methods that make managing hierarchical data both simple and efficient.
System Analyst
Learn the steps and implementation of a passwordless authentication flow using AWS Cognito and custom Lambda functions.
System Analyst
A comprehensive guide to database connections in Rails. Learn about configuring credentials, establishing TCP connections, setting session parameters, managing authentication, and optimizing performance with connection pooling. Understand how to ensure efficient communication between your Rails application and the database.
System Analyst
A detailed guide on converting a React app to native Android and iOS apps using Capacitor.js.
System Analyst
A detailed guide to Hotwire in Rails exploring turbo-drive, turbo-frames and turbo-streams. Learn how to build blazing-fast applications with real-time updates without full page reloads.
Senior System Analyst
Discover the evolution from Rails Classic autoloader to the dynamic Zeitwerk.
Senior System Analyst
A detailed guide on setting up Vitest in Next.js 14.
System Analyst
A detailed guide on integrating NextJS with Contentful, utilizing i18n for internationalization and Contentful's Content Delivery API for content management.
Senior System Analyst
Introduction to nextjs 14 intercepting routes
System Analyst
Elevate your Next.js app's security and user experience with seamless Google Sign-In integration in this step-by-step guide.
System Analyst
Exploring way to run Github actions locally with act.
DevOps Engineer
A look at how to create, manage, and utilize custom actions in various workflows, including login/post-login, machine-to-machine, password reset, pre and post-user registration, and sending phone messages.
System Analyst
Implement react hook form with headlessui
System Analyst
Explore Next.js data fetching strategies for efficient page rendering and performance. From pre-rendering, server-side rendering, to static-site generation to incorporating time-based and on-demand revalidation for real-time updates.
Senior System Analyst
Learn how to optimize your development workflow by automatically setting up preview environments in fly.io whenever a pull request is opened. This blog post provides step-by-step guidance on configuring a preview app and a preview db in fly.io.
Senior System Analyst
Guide to Setting Up AWS S3 Bucket for Rails Active Storage File Uploads
System Analyst
Dive into Server Actions in Next.js 14. This post covers everything from syntax and setup to dynamic content updates, learn about form submission handling, network requests, and strategies for seamless user experiences.
Senior System Analyst
Concepts and techniques of caching, a vital strategy for enhancing the performance of software systems.
System Analyst
Compare npm, Yarn, and pnpm effortlessly for smarter package management decisions
System Analyst
Experience unparalleled performance, rich rendering, and full TypeScript support with the GlideApps Data Grid React package.
System Analyst
Explore Streams in Dart, their types, creation techniques, and best practices for seamless asynchronous event handling.
Senior System Analyst
Explore the essentials of asynchronous programming in Dart, from Isolates to Async/Await, and unravel the secrets of efficient, non-blocking code execution.
Senior System Analyst
Explore a comprehensive guide to Internationalization (i18n) in web development, including its significance, implementation in React and Gatsby, advantages, performance considerations, and optimization
System Analyst
Discover the potential of CMS for managing websites; its user-friendly, economical, and SEO-friendly.
System Analyst
Unlock the potential of Strapi, the innovative headless CMS, with this guide. Explore its unique features, setup, content management, and API creation.
System Analyst
A comprehensive guide for understanding the basic concepts of px, em, and rem units. Also learn about Tailwind config and how to use Figma's developer mode to close the gap between designers and developers.
System Analyst
Understand the Terminal, and its importance. Explore basics like opening tabs, listing files, navigating, and running commands. Master file operations, file viewing, searching, and much more.
Senior System Analyst
A comparative overview of Next MDX and Next Contentlayer
Senior System Analyst
Automate OTP verification using the gmail-tester library in combination with Cypress and Playwright E2E tests
System Analyst
A high level overview of how gatsby works.
System Analyst
New features and improvements for typescript 5.x
Senior System Analyst
Understanding percentiles w.r.t performance
Senior System Analyst
Optimizing Web Performance Through Profiling and Analysis'
System Analyst
Simplify your testing journey by comparing the strengths and weaknesses of Playwright and Cypress, and discover the testing tool that perfectly aligns with your needs.
Senior System Analyst
Using a PAM module and Keycloak for authenticating connections to OpenVPN
System Analyst
Exploring XSS Attacks and Expanding Security Knowledge through meetup
Senior System Analyst
Master email testing using Cypress, Ethereal, and ImapFlow to ensure accurate and reliable communication in our web applications.
Senior System Analyst
Understanding the key differences between rendering methods for Single Page Applications
System Analyst
Test, compare, and optimize: maximizing outcomes with AB testing strategies.
System Analyst
Understanding how JavaScript works behind the scenes and handles asynchronous functions
Building and scaling a design system with Figma, React and Storybook
Jawakar Durai and Syed Sibtain
System Analyst
An attempt to put together some debugging experiences, techniques and tools for frontend
An amazing alternative solution to websockets
Syed Sibtain and Jawakar Durai
System Analyst
Understanding and examining the pros and cons of the parallax scrolling strategies that can be used
Syed Sibtain and Jawakar Durai
System Analyst
Fetch secrets from AWS secrets manager and inject them securely into your Github actions
A unified approach towards monitoring health of your infra and applications
System Analyst
Ways of integrating Sentry with Strapi
Senior System Analyst
Making requests to Strapi endpoints as an authenticated user
Senior System Analyst
Understanding and exploring the applications built with tagged templates
Deploying to Netlify from a private, self-hosted GitLab instance
System Analyst
Local plugin development in strapi
Senior System Analyst
A guide on how to publish your generated artifacts using Gitlab CI/CD pipeline.
Senior System Analyst
Setup and write test cases in react using Jest and React testing library
Senior System Analyst
Difference in batch updates before and after React18
Senior System Analyst
Redis can be used as an LRU cache with right kind of eviction policy. We can have some fun figuring out how this actually works
Learn to run rails test on Gitlab CI pipeline
Fetch movie rating from several API without hitting rate limits on failure retries
Ways of implementing keys and cases in which index can be used as key and vice-versa
Senior System Analyst
Understand Agents in Elixir with a real world use case of refreshing OAuth2 access token
Learn tips about working on an Elixir App
Achieve high availability for vault server with auto unseal using KMS
System Analyst
Understand some of the scenarios of deploying a Phoenix application using Elixir Releases
Learn to solve a business use case with Elixir Recursion
Build a React app with graphql.
Auto Deploy to Heroku Using Gitlab CI
System Analyst
System Analyst
Learn how to encrypt & store Kubernetes secrets in Git
Build a full-blown GraphQL service which will let you query, change and create records in the database using elixir's web framework: Phoenix
Build a full-blown GraphQL service which will let you query, change and create records in the database
Learn to extract data from a QR code in Elixir
Use web workers to spawn computationally expensive background tasks without interrupting the user interface workflows
Learn to overlap an image over QR code using Mogrify in Elixir
Approaches for clean rails translation files as application grows
Adopting and incorporating a gradual type system for Ruby
Learn to switch an existing Phoenix app from Brunch to Webpack
Learn about KeyError#receiver which returns receiver associated with the KeyError object & KeyError#key returns the key which caused the exception
Learn about options which Expection#full_message accepts
Make better authorization for your application.
Learn about freezing middleware with rack-freeze
Introducing Interceptor - A browser extension that mocks backend responses and how to use it.
Learn more about ruby by contributing to RubySpec
Learn how to connect to a production Elixir node from the local shell and use the debugger GUI to set breakpoints and debug.
Deploy Elixir/Phoenix apps using Distillery plugin
Co-founder
Supporting API conventions for client like reactjs can be quite tricky. This post talks about approach to make APIs accessible using snakecase or camelCase.
Co-founder
Deploying a Rails app with Webpack asset management on Heroku can be tricky. However, Heroku provides lifecycle hooks on its NodeJs buildpack that will help make this easier.
Erlang is a powerful concurrent programming language that has Processes as a first class citizen. These are isolated by default. Just like in Unix, these processes can communicate using Signals. In this post we will see how to achieve that in Elixir.
Elixir, built on the battle-tested Erlang VM, is a language that has concurrency as its core ideas. I will introduce a monitoring utility shipped with the VM that helps us visualize HTTP requests.
Rails 5 has a new feature added to ActiveRecord that makes working with batch data much more efficient. The `Model.in_batches` function passes a batch of records wrapped inside an ActiveRecord collection.
Autoprefixer is a tool that adds vendor prefixes to CSS based on the usage patterns and current state of support. This results in clean code and smaller CSS files.
Ruby's TracePoint API is very powerful for building custom profilers. As the final post of the DIY CPU profiler series, this post will introduce how to get method runtime statistics and generate relevant graphs.
Ruby's TracePoint API is very powerful for building custom profilers. In this post I will talk about hooking into Ruby code execution life cycle using this API
Ruby's TracePoint API is very powerful for building custom profilers. In this post I will talk about Wall time and CPU time, and how to measure them for Ruby programs.
Ruby's TracePoint API is very powerful and allows us to write custom profiling code without slowing down the execution of programs. In this post, I will introduce CPU profiling and 2 strategies to write one.
Traditionally, Rails 3.x and above come with Sprockets and asset management functions. However, using a JavaScript or CSS library with Sprockets means we'd have to roll them into gems with a specific directory heirarchy. Instead, we can leverage Bower to handle that for us.
Co-founder
JSON schema can help bring order to handling complex JSON interactions in APIs. For instance, you can avoid checking the types of incoming JSON and rely on JSON schema to do the validation. This post talks about similar usecases.
Interacting with complex web forms tends to become hairy pretty quickly. Using Form or Service objects to abstract out the complexity can help wrangle complexity. This post talks about how we use them to make code simpler.
Co-founder
CSS Box Model is one of the fundamental concepts layout inside a browser. In this post you'll learn about the box-sizing property.
There is a proliferation of high resolution screens on mobile devices, and non-optimized images tend to look ugly on them. This post introduces ways to use optimized images for use in HTML on high DPI screens.
In this post, I will talk about how Rails 3.x reloads code in the development environment.
Co-founder
Co-founder
Invoker is a utility we wrote to ease setting up of local development environments and top level .dev domains. Read on to know how to use it.
Co-founder
Ruby 2.0 and above has in-built support for DTrace hooks. This lets us profile Ruby programs. In this post, I'll go into the details of the features of DTrace.
Co-founder
Ruby 2.0 and above has in-built support for DTrace hooks. This lets us profile Ruby programs. In this post, I'll introduce DTrace and how to add DTrace probes to a Ruby program.
This post talks about using the Backbone library with a Rails backend, and goes through some challenges and gotchas encountered during the process.
Co-founder
Co-founder
A nearly step-by-step guide to upgrade to Mountain Lion, and setting up a Ruby development environment
The problem with kitchen sink libraries is feature creep. Sometimes all we need are small libraries that are easily readable.