Systems | Development | Analytics | API | Testing

What is SonarQube and how does it work?

SonarQube is a code quality and security platform that helps teams detect bugs, vulnerabilities, and maintainability issues early in development, using static code analysis rather than manual reviews. SonarQube fits directly into modern workflows, integrating with CI/CD pipelines and development environments to continuously verify code through quality gates, dashboards, and automated checks. And in this guide, we’ll give you.

JavaScript console.log() Method: Complete Guide with Examples

console.log() is a foundational tool for developers learning JavaScript. It sends messages to the browser’s DevTools console, so we can see what our code is doing at runtime. This allows us to: Because it prints information directly to the console, we can observe values, program flow, and potential issues. In this post we’re going to cover the basics of console.log() syntax, the nuances of formatting and the essential DevTools add-ons that turn console.log() from a window into a dashboard.

Best Mobile Crash Reporting Tools in 2026 (Free & Paid)

Mobile crash reporting tools don’t just tell us when our app’s broken down. They help us pick up the pieces and build better next time. As such they play a vital role in our quest to deliver excellent user experience, so it’s important we choose the right tool for our team, users and operating systems. In this guide, we’ll compare the best mobile crash reporting tools in 2026, including Android-focused and cross-platform solutions.

JavaScript arrays: how they work and common methods

A JavaScript array allows us to group related data like product names, user IDs, log entries, cart items, or API results. Arrays play a vital role in all kinds of user functions, from shopping carts to game scores. However the sheer flexibility of JavaScript arrays can also cause mistakes around mutation, copying, sorting, and searching. Soo we’ve put together this post to show you.

Advanced iOS push notifications: scaling APNs in production

The Apple Push Notification Service (APNs) allows developers to send real-time alerts and data to Apple devices. But it can create a number of problems as your app scales including silent throttling, deep link errors and push payload incompatibility. This post will help you proactively avoid these issues. You’ll learn about: This guide is intended for developers already using push notifications or planning to operate notification systems at scale.

Logs told me something broke. Traffic showed me what.

Here’s a problem I run into constantly: something breaks in production, I can see the 500 errors in my logs, but I can’t reproduce it locally. The trace shows me the dependency graph but not the actual request that failed. This is especially painful in microservices. I was looking at a CNCF example the other day (a simple demo app, like 4 pods) and it already had so many cross-service dependencies that understanding what broke required looking at the whole system at once.

What is MCP (Model Context Protocol)?

MCP (Model Context Protocol) is an open standard that lets AI agents connect to external tools and data sources in a consistent, secure way. We can think of the MCP as a USB-C port for AI agents. This open protocol from Anthropic (the guys who built the Claude chatbot) enables AI applications to plug into external tools without any custom glue code.

Presenting The Bugfender MCP: Use Your AI Agent to Find and Fix Bugs

You asked for it. We built it. Our new MCP server means you can debug directly inside your AI coding tool using real app data from Bugfender. You can use it to: It works with Cursor, Claude Code, Codex and Gemini CLI. This article will show you how to install the Bugfender MCP server, which tools your agent can access, and how the companion skills help you fix bugs faster.

SwiftData Tutorial: Swift Data Storage for iOS Apps

Since its debut in June 2023, SwiftData has fundamentally changed how Apple developers approach persistence. Devs the world over love it for its versatility, its declarative ease and its powerful querying system. But if you’re new, SwiftData can take some getting used to. Failures can feel less transparent and relationships can play out differently to how you might expect. So in this tutorial we’ll show you how SwiftData works and how to.