Systems | Development | Analytics | API | Testing

Custom Exceptions in Ruby: Classes, Messages & Hierarchies

To create a custom exception in Ruby, define a class that inherits from StandardError: class PaymentError < StandardError; end. Raise it with raise PaymentError, "card declined" and rescue it by class. Inherit from StandardError, not Exception, so a bare rescue still catches it. Pass a default message by overriding initialize and calling super. Ruby’s built-in exception classes describe the language’s failure modes, not your application’s.

Console.log in TypeScript: A Complete Guide

console.log() in TypeScript allows us to print values to the browser console or terminal, so we can inspect our code while it runs. However, the workflow can take some getting used to: in most projects, TypeScript is compiled into JavaScript, which is then executed by a JavaScript runtime. Whether you’re debugging a React component, a Node.js script or a backend application, it’ll get easier once you’re familiar with these nuances.

Production Debugging: A Complete Guide to Fixing Live Bugs

We’ve all had this problem as developers. An app works perfectly fine in our own local environment, but as soon as it hits the real world it starts throwing glitches all over town. Why does this happen? Because the real world is messy and hard to predict. Some bugs are only triggered by real users, real devices, and real data. This makes them harder to diagnose – but not impossible.

App Maintenance and Continuous Updates: What Ongoing Software Maintenance Really Requires

A production release is not the end of engineering work on a product. It is the point where the software starts living in an environment it doesn’t control. Operating systems ship new versions, dependencies get patched or deprecated, third-party APIs change their contracts, traffic grows, and newly disclosed vulnerabilities turn yesterday’s safe code into today’s exposure.

Performance Benchmark Report first half of 2026 for Magento 2

How does your Magento 2 store’s PHP backend performance compare to other operators of Magento in general? To answer this question, we have aggregated and anonymized performance data from over 250 Magento 2 stores over the first half of 2026 and computed benchmark numbers to compare to for the most important page types: Product details, Category Page, Search, and Homepage. We previously made this benchmark for Q2 2025.

What Are iOS App Clips? How They Work for iPhone Apps #iOSDevelopment #AppClips

What are iOS App Clips? They are lightweight versions of an iPhone app built for one specific action, such as ordering, paying, or booking. Users can open an App Clip from a link, QR code, NFC tag, Maps, or Messages. They can complete one useful action without searching the App Store, installing the full app, or going through a long signup and onboarding flow. App Clips reduce friction and give people a quick way to try an iOS product before downloading the complete app.

Vercel and GitHub Actions Are Ending Support for Node.js 20: What You Need to Do

Node.js 20 reached End-of-Life (EOL) on April 30, 2026. Now, the consequences of that lifecycle milestone are becoming increasingly visible across the JavaScript ecosystem. GitHub Actions removed Node.js 20 from its runners on September 23, 2026, moving JavaScript actions to Node.js 24. Vercel will follow on October 1, 2026, when Node.js 20 will no longer be available for new Builds and Functions. These are not isolated platform decisions.

Performance Benchmark Report first half of 2026 for Shopware 6

How does your Shopware 6 store’s PHP backend performance compare to other operators of Shopware in general? To answer this question, we have aggregated and anonymized performance data from over 300 Shopware 6 stores over the first half of 2026 and computed benchmark numbers to compare to for the most important page types: Product details, Category, Search, and Homepage. We previously made these benchmarks for 2025 Q1, 2025 Q2, and the second half of 2025.

Human Judgment Is the Missing Variable in Your AI Strategy

Across teams, organizations, and industries, people are starting with AI instead of the problem they want to solve. As a result, AI outputs from different tools: This is a process failure, and it's accelerating. Human-in-the-loop (HITL) AI is a framework that integrates human oversight directly into the machine learning lifecycle. Rather than relying on fully autonomous systems, HITL uses humans and machines collaboratively to train models, evaluate outputs, and handle complex decision-making.

API + AI Summit 2026 Launch Recap

Standing up a production agent means taking it through six stages: At API & AI Summit, we announced the evolution of Kong Konnect into the AI Connectivity Platform and announced a slate of launches built around that idea. Here's what we launched, where each piece fits, and what you can use today. An agent that only runs when a person prompts it isn't autonomous. Real autonomy starts when something happens in the world, like a payment failing or a ticket opening, and the agent responds.