If you’re using Sitecore Docker containers on Windows, you’ve probably noticed your disk space mysteriously shrinking over time. I recently encountered this issue myself and was surprised to discover the culprit: orphaned Docker layers – leftover chunks of data that no longer belong to any container or image. My Setup This happened while I was […]
Back-End Development
Postgres RAG Stack: Embedding, Chunking & Vector Search
This is Part 2 of a three-part series (links at the bottom). The GitHub repo can be checked out here. Postgres RAG Stack brings together Postgres, pgVector, and TypeScript to power fast, semantic search. In Part One, we covered the theory behind semantic search: how embeddings convert meaning into vectors, how vector databases and indexes enable […]
Stream API in Java: Enhancements and Use Cases
Working with collections in Java used to involve a lot of loops and verbose code. That changed significantly with the introduction of the Stream API in Java 8. It introduced a functional approach to data processing, resulting in cleaner, more concise, and easier-to-read code. This blog walks through the basics of the Stream API and […]
Perficient Interviewed for Forrester Report on Developer Experience and Knowledge Management
When we talk about developer experience, we often leap straight to the exciting stuff like cutting-edge platforms, AI tools, and lightning-fast frameworks. But according to Forrester’s June 2025 report, “Knowledge Management and The Developer Experience,” “In software development, effective knowledge management (KM) is crucial for developers.” An organization’s knowledge management practices determine how well teams […]
YAML files in DBT
To make streamline project development and maintenance, in any programming language, we need the support of metadata, configuration, and documentation. Project configurations can be done using configuration files. Configuration files are easy to use and make it user friendly to interact with developer. One such type of configuration files used in DBT are the YAML […]
Developing a Serverless Blogging Platform with AWS Lambda and Python
Introduction Serverless is changing the game—no need to manage servers anymore. In this blog, we’ll see how to build a serverless blogging platform using AWS Lambda and Python. It’s scalable, efficient, and saves cost—perfect for modern apps. How It Works Prerequisites Before starting the demo, make sure you have: an AWS account, basic Python […]
How to Add Product Badges in Optimizely Configured Commerce Spire
This blog is written for developers, merchandisers, or client teams looking to display visual indicators (e.g., “New”, “Sale”, “Non-Returnable”, “Best Seller”) on products within the storefront. In Ecommerce, badges are small visual cues that communicate important product information to customers, such as “New Arrival”, “Sale”, or “Limited Stock”. In Optimizely Configured Commerce (Spire), product badges […]
Simplify Cloud-Native Development with Quarkus Extensions
The gradients that developers in the modern world experience when building cloud native applications often include the challenge of figuring out the right set of libraries and integrations to use. Quarkus alleviates this pain point and makes this experience a more seamless and faster experience to develop thanks to the rich set of extensions built […]
Fastify (Node.Js Framework): The Secret to Creating Scalable and Secure Business Applications
Introduction to Fastify (Node.Js Framework) Fastify is a fast and low-overhead web framework for Node.js that has gained popularity among developers in recent years. With its lightweight architecture and rich feature set, Fastify is an excellent platform for developing high-performance online apps. As with JavaScript, where everything is an object, with Fastify, everything is a […]
October CMS: A Modern CMS for Developers and Creators
In the ever-evolving world of content management systems (CMS), there are many options to choose from—WordPress, Joomla, Drupal, and others. But for developers who love clean code, flexibility, and control, October CMS stands out as a modern, elegant solution built on the popular Laravel PHP framework. What is October CMS? October CMS is an open-source, […]
Promises Made Simple: Understanding Async/Await in JavaScript
JavaScript is single-threaded. That means it runs one task at a time, on one core. But then how does it handle things like API calls, file reads, or user interactions without freezing up? That’s where Promises and async/await come into play. They help us handle asynchronous operations without blocking the main thread. Let’s break down […]
Scoping, Hoisting and Temporal Dead Zone in JavaScript
Before mastering JavaScript, it’s crucial to understand how it thinks behind the scenes. Concepts like scope, hoisting, and the temporal dead zone might sound tricky at first, but they form the backbone of how your code behaves. In this blog, we’ll break down these key ideas in the simplest way possible—so you can write cleaner […]