Systems | Development | Analytics | API | Testing

Server-sent Events and WebSockets in Rack for Ruby

In the previous part of this series, we discovered how to create persistent connections in Rack in theory, but now we'll put what we learned into practice. The web has two formalized specifications for communication over a persistent connection: server-sent events (SSEs) and WebSockets. WebSockets are widely used and highly popular, but SSEs are far less well-known. Let's explore them first.

Unleash Scalability: How Appian Executes 6 Million Processes Per Hour

Appian was already the scalability leader, but the Autoscale feature in our 24.4 release is taking our customers even further. Autoscale lets enterprises execute six million processes per hour. It's what today's IT teams need to handle unprecedented process volume without sacrificing agility. This blog is a technical overview of Autoscale. Appian is the process company. For more than 25 years, industry-defining organizations have turned to Appian to orchestrate their most important processes.

An Introduction to Java Map: What It Is and How It Works

The Java Map interface is a powerful data structure for handling key-value pairs. Present in the java.util package, it’s ideal for managing data associations where each key maps to a specific value. Common use cases include counting occurrences (e.g., word frequency in text), grouping data (e.g., products by category), or accessing items by specific identifiers (e.g., user IDs).

Using Cache-Control headers in Laravel for HTTP caching with Cloudflare

We recently helped our customer Holocafé prepare its Laravel application for a TV appearance on the German edition of Dragons’ Den (Höhle der Löwen) and the corresponding peak in traffic. The primary change was to utilize Cloudflare as an HTTP reverse proxy to cache the main page of the site and a few other mostly static pages that users were most likely to click on. The expectation was that 80-90% of the curious users could be served with pages from the HTTP cache.

Remote Build Caching: The key to fast, efficient builds

When it comes to mobile app development, slow build times are not only the biggest source of frustration for developers but also the greatest barrier to innovation and competitive advantage. We surveyed developers at DroidCon New York and they overwhelmingly reported that build delays hindered their ability to release new features, fix bugs, and iterate quickly. Two-thirds of respondents said they wait more than 10 minutes for their mobile builds.

EP13: First Principle Thinking for Architects

In this episode, Sanjiva and Asanka explore the power of first-principle thinking and why it’s a must-have approach for architects. They break down how this method helps tackle complex problems by focusing on fundamental truths rather than relying on assumptions or best practices. From root cause analysis to iterative refinement, they discuss how architects can apply first principles to design innovative and scalable solutions. Tune in to rethink your approach and elevate your architectural decision-making!

Improving Government Employee Retention: Top 5 Strategies

Federal government agencies are facing a growing workforce challenge. The looming retirement wave, particularly among experienced baby boomers, threatens to leave critical knowledge gaps in agencies that are already struggling with understaffing. To bridge this gap, government agencies must focus on appealing to a younger workforce that brings fresh perspectives, technological expertise, and a strong desire to make an impact.

Grok Parser in Go: A Detailed Guide for Log Parsing

Logs play a vital role in understanding how applications and systems perform, but unstructured log data can be hard to analyse. The Grok parser helps by converting raw logs into structured, readable formats. It is widely used for extracting information such as timestamps, error codes, and IP addresses from logs, making them easier to analyse and query.

What Is Buffer Overflow? Preventing Buffer Overrun

Buffer overflow is one of the most common code vulnerabilities. If a buffer overflow vulnerability is not addressed, an untrustworthy agent can take advantage and cause a buffer overrun. In this blog, we break down what is buffer overflow, how to prevent buffer overflow, and we provide examples to help make safeguarding your software against buffer overflow simpler and easier. Read along or jump ahead to the section that interests you the most.