Switching from Webpack to Rspack

Webpack has been used to bundle React web apps and for many years was the default bundler and build system to use for that purpose. One viable competitor has emerged: Rspack. It is a Rust-based build system for JavaScript and TypeScript web apps that is compatible with Webpack.

Cache Layers for Software Architecture and Systems Design

This is a reference guide for caching in distributed systems. Well-designed caching at scale enables faster response times for API endpoints and improves the end user and customer experience. What are Cache Layers? Caches are a way to improve performance and reduce latency by trading space for time. The simplest example to start with is … Read more

Webpack and Frontend Build-Time Performance Engineering for React

This article explores webpack, focusing on ways to investigate the build-time performance of webpack for your React apps. First, we cover the items that can affect build-time and runtime performance. Next, we’ll explore profiling tools for CPU and memory usage and how to use them. We’ll then delve into webpack bundles and how to analyze what’s in a bundle. Finally, we talk about setting goals.

Reactive Programming with JavaScript, Ruby and Python

Reactive programming is a concept that is finally gaining some popularity among programmers. It makes it easier to think in data flows and to manage and work with them. Instead of imperative programming, you’re thinking about code as a series of processes that take place on streams. This is similar to the conceptual shift to map/reduce thinking. But it takes those ideas further. You’re doing a map/reduce and then connecting the data to other filters and maps and creating multiple pipelines so that the right data gets to the right place.

Speeding up Ruby on Rails Tests and RSpec

There comes a time in the life of every Ruby on Rails project where you and your team will end up with long-running tests. Rails tests can contain factories, fixtures, and numerous setup procedures before tests are executed, and all of these can contribute to significant slowness in the test runs. There are four ways to deal with slow-running tests in Rails.

GraphQL with MongoDB using Mongoose and Node.js

The best reason to use GraphQL is if you have multiple frontend clients that communicate with your backend, and they each have differing data needs. For instance, if you have a mobile application and a website that communicate with the same backend API, they will need different data.

PyCon Canada 2017: “Python as a Philosophy”

I was in Montreal, Canada for the PyCon Canada 2017 conference and presented on the ideas and philosophy that are present within the Python programming language. I covered how the Python language influences your coding style and how that coding style is now in the mainstream and has made its way into other programming languages.