Systems | Development | Analytics | API | Testing

Latest Posts

Track Errors in Your Python Django Application with AppSignal

In this post, we will specifically look at using AppSignal to track errors in a Django application. We'll first create a Django project, install AppSignal, introduce some faulty code, and then use the AppSignal Errors dashboard to debug and resolve errors. Let's get started!

Top 8 Recent V8 in Node Updates

V8 is the most popular JavaScript engine on the planet, supporting technologies such as Chrome and Node.js. The pace of V8's development is impressive, with multiple code commits a day and major releases roughly every month. Keeping up with updates isn't easy, but you've come to the right place! Here, we'll dig into the latest improvements and additions Google has made to the JavaScript engine. Find out what the future of web development looks like!

Hotwire Modals in Ruby on Rails with Stimulus and Turbo Frames

Modals are widely used on the web, but they are rarely built with accessibility in mind. When a modal is displayed, the background is dimmed visually but it's still visible to screen readers and keyboard-only users. In this post, the first of a two-part series, we'll look at presenting accessible modals in Rails using two different approaches powered by Hotwire's Turbo and Stimulus libraries. But first, let's see what we need to do to make modals accessible.

Creating Custom Exceptions in Elixir

Exceptions and exception handling are widely accepted concepts in most modern programming languages. Even though they're not as prevalent in Elixir as in object-oriented languages, it's still important to learn about them. In this article, we will closely examine exceptions in Elixir, learning how to define and use them. Let's get started!

Full-Text Search for Ruby on Rails with Litesearch

In this post, we'll turn to the last piece of the puzzle in LiteStack: Litesearch. As an example, we will equip a prompts index page with a search bar to query a database for certain prompts. We will generate a couple of fake records to test our search functionality against. Let's get to it!

Build an Idempotent API in Node.js with Redis

In a world full of microservices and distributed systems, building robust and reliable APIs is of paramount concern. One key concept that plays a vital role in achieving reliability is idempotency. In this article, we'll delve into the world of idempotency, exploring what it is, why it's important, and how it can be implemented to solve the persistent problem of duplicate processing in APIs. Along the way, we'll see how to build an idempotent API in Node.js with Redis.

How to Build a Memory-efficient Elixir App with Streams

We have all encountered collections of data at some point when working on Elixir applications. These collections are very handy for storing, retrieving, and manipulating data using different data structures, making them very efficient in managing clean code. In this article, we'll go through the following: Finally, we'll explore how to build a memory-efficient Elixir application using the lazy processing approach with streams.

Throttling a Kafka Queue in Node.js

Coming from an HTTP-only background, message queues look very fascinating. Unlike HTTP, you can just push events to the queue and move on. After all, they're a big part of what makes async communication possible between microservices. In this article, we'll take a look at Apache Kafka and how you can build a durable throttling layer with it. Let's get started!

An Introduction to Testing with Django for Python

In a world of ever-changing technology, testing is an integral part of writing robust and reliable software. Tests verify that your code behaves as expected, make it easier to maintain and refactor code, and serve as documentation for your code. There are two widely used testing frameworks for testing Django applications: In this article, we will see how both work. Let's get started!