from/prod
← All companies

THE COMPANY INDEX TRACKED BLOG

Housing.com

Ideas, decisions, and lessons from the team.

medium.com (opens on the source site)LinkedIn
11Posts tracked
last monthLatest publication
0.4Posts / month over the last 12 months

Latest writing

11 of 11 posts

We Cut Cloud Waste Before Touching Cluster Sizes: Lessons from Running a Data Platform (opens on the source site)

How orphaned BigQuery storage, Delta retention, DMS right-sizing, and Databricks System Tables became our biggest cloud cost wins.The biggest cloud cost optimization we made wasn’t shrinking clusters.It was deleting data we’d forgotten we were paying for.Like most teams, our first instinct was to tune infrastructure first. Instead, we discovered a treasure trove of hidden costs: orphaned BigQuery datasets, 90-day Delta retention, 24-hour jobs no one monitored, and DMS infrastructure that no longer matched business needs.We stopped treating cloud bills as a finance problem and started treating…

Read at the source

We Ran Out of TCP Ports at 1:30 AM — the Crack Was tcp_tw_reuse=0 (opens on the source site)

A neighbor’s bulk job drained every ephemeral port on a shared box. Twice. Here’s the one kernel setting that would have stopped it — and the architecture that makes it a non-issue.At 1:38 AM, one of our background-job services started failing. Scheduled jobs — the nudges and reminders we send users overnight — began throwing an error most engineers rarely see:Errno::EADDRNOTAVAIL — Cannot assign requested addressNot “connection refused.” Not “timeout.” Cannot assign requested address. The machine wasn’t saying the other end was down. It was saying it had run out of addresses to call…

Read at the source

We Gave Our Service More CPU — and It Took Down Production (opens on the source site)

Every engineer has a story about the “harmless” change that wasn’t. This is mine.Ours didn’t start with a bad deploy. No risky feature flag, no sketchy migration, no Friday-evening hotfix. It started with a change every ops playbook calls safe:We gave a struggling service more CPU.We went from 1.5 cores to 2.5 cores. That’s it. And within minutes, our lead-creation API — the thing that turns a visitor tapping “Contact” into an actual business lead — stopped creating leads. Entirely across web and app.The twist that cost us hours: the more CPU we threw at it, the worse it got. This is the…

Read at the source

Why Most Single Source of Truth Initiatives Fail (And What Successful Teams Do Differently) (opens on the source site)

“We have multiple dashboards showing different numbers. Which one is correct?”If you’ve worked in data long enough, you’ve probably heard this question more times than you’d like.Sales reports one revenue figure.Finance reports another.Product Analytics has a third.Executives spend more time debating whose dashboard is correct than discussing what action to take.The natural response is often:“Let’s build a Single Source of Truth.”Sounds simple.Build a few centralized tables.Move everyone onto the same dashboards.Problem solved.Except…it rarely is.After leading an enterprise-wide Single Source…

Read at the source

How We Built an AI Agent to Clean Up Dead Code After A/B Tests (opens on the source site)

Photo by Microsoft Copilot on UnsplashAt Housing.com, running product experiments is a continuous cycle. A/B tests go live, collect data, and eventually reach a conclusion. That’s the exciting part. Then comes the mundane reality where someone has to clean up the code .i.e. remove a feature flag, promote a winning variant or revert the loser variant and finally raise a change request.Sounds simple? MaybeIs it tedious and quietly expensive? Yes!lifecycle of a taskThe Problem Worth SolvingAn experiment conclusion ticket typically lands on an engineer’s desk looking something like…

Read at the source

Using the OSI Model for Effective Production Issue Debugging (opens on the source site)

In production environments, debugging alerts can sometimes feel like finding a needle in a haystack. Over the years, I’ve found the OSI (Open Systems Interconnection) model to be a reliable guide during Root Cause Analysis (RCA) of production issues.What is the OSI Model? The OSI model is a conceptual framework that standardizes the functions of a telecommunication or computing system into seven layers:Physical Layer — Hardware, cables, switchesData Link Layer — MAC addresses, switches, network topologyNetwork Layer — IP addressing, routingTransport Layer — TCP/UDP, ports, session…

Read at the source

Optimistic Locking Overview (opens on the source site)

Optimistic locking is a concurrency control mechanism where we assume that multiple transactions can safely access data without conflict, allowing them to proceed without locking the data upfront. Unlike pessimistic locking, where resources are locked to avoid conflicts, optimistic locking allows transactions to proceed without locks and checks for conflicts only when updating the data. If a conflict is detected (e.g., another transaction has already modified the data), the operation fails, and you can retry it.When Should You Use Optimistic Locking?Optimistic locking is ideal for use in…

Read at the source

Enhancing Customer Engagement: Exploring Gupshup API Integration for Effective Messaging (opens on the source site)

IntroductionIn today’s world, effective communication plays an important role in the success of businesses and organizations. With the rise of mobile devices and messaging, businesses continue to find new ways to connect and interact with customers. Gupshup is an interactive platform that provides a powerful API that allows businesses to connect resources in their applications, websites or systems. In this blog, we will explore the advantages and steps of integrating the Gupshup API to better communicate with our customers.What is Gupshup API?The Gupshup API is a set of tools and resources…

Read at the source

Getting Started with Socket.IO: Building Real-Time Web Applications (opens on the source site)

What is Socket.io ?Socket.IO is a server-side library for nodejs that enables low-latency, bidirectional and event-based communication between a client and a server using client-server architecture while it is a wrapper around WebSockets For Node.js, it is super easy and simple to use especially when dealing with chat messages or Real-time data.Socket Client-Server ArchitectureHow persistent bi-directional connection is established between client(s) and server ?The connection process between a Socket.IO client and server involves several steps. Below is a detailed breakdown of the key…

Read at the source

Harnessing the Power of Service Workers: Building Offline-Ready Web Apps (opens on the source site)

In the dynamic world of web development, where user experience reigns supreme, having a web application that functions seamlessly even in offline mode is no longer a luxury but a necessity. Enter service workers — the unsung heroes behind the scenes, making this magic possible. In this blog post, we’ll delve into the world of service workers, exploring what they are, how they work, and how you can harness their power to supercharge your web applications.What is a service worker ?At its core, a service worker is a script that runs in the background of a web application, separate from the main…

Read at the source

Transforming 2D Floorplans into Stunning 3D Models with Blender: A Step-by-Step Guide (opens on the source site)

2D image (left), 3D rendered image (right)Are you looking to breathe life into your 2D floorplans and visualise them in immersive 3D? With the power of Blender and our innovative process, you can seamlessly convert flat blueprints into dynamic 3D models. Follow along as we unveil the secrets behind this transformative journey.Step 1: Manual TracingThe journey begins with a meticulous manual tracing process. We meticulously outline key elements of the floorplan such as walls, doors, and windows, capturing every detail with precision.Step 2: Blender IntegrationOnce the 2D floorplan data is…

Read at the source

Privacy choices

Reading never requires analytics. These choices last 90 days on this browser.

Essential sign-in and security storage always stays on. Read the privacy notice.