Python is a popular programming language known for its simplicity and versatility. It's commonly used for web development, data analysis, and automation. While it's not usually associated with client-side development, it can be useful in scenarios where ... more
Aurora is a managed database service from Amazon compatible with MySQL and PostgreSQL. It allows for the use of existing MySQL code, tools, and applications and can offer increased performance for certain workloads compared to MySQL and PostgreSQL. Being ... more
WebSockets and Server-Sent Events are commonly used in realtime applications where quick and efficient data transfer is a critical requirement. The expectations of realtime experiences in applications has only grown with time, with improving technology ... more
ActionCable allows developers to move away from the typical request/response paradigm of old to one where persistent WebSocket connections are maintained from clients to your Rails servers. Event-driven and low-latency, WebSockets are an excellent choice ... more
We all expect online experiences to happen in realtime. Messages should arrive instantly, dashboards should deliver business metrics as they happen, and live sports scores should broadcast to fans around the world in a blink. This expectation is even ... more
The joke used to be that no piece of software was complete until it could send and receive email. Fast forward to today, replace email with realtime chat, and actually you might not be too far from the truth. Whether you’re delivering customer service, ... more
Live experiences are at the heart of the modern web. And delivering them to small audiences is relatively easy, thanks to protocols such as WebSockets. But there is a challenge. The difficulty involved in scaling WebSockets is non-linear. In other words, ... more
In this post I'll explain how to use a cloud pubsub service such as Ably to visualize the progress of a serverless workflow in realtime. You'll learn: How to build serverless workflows with Azure Functions & Durable Functions. How to publish messages ... more
As e-commerce has continued to mature, the level of service expected from consumers creates the need to build more reactive experiences. To meet those expectations, you’ll need a site that shows up-to-date information, with reliable displays of the latest ... more
Have you ever wanted to see the work of your entire engineering organization in a visualization as it happens? In this article, I'll tell you how I used Github webhooks and Netlify serverless functions, along with a simple Svelte web app, to do just ... more
The collaborative drawing app In this post, I compare two cloud pubsub services: Azure Web PubSub and Ably, to determine which provides the best development experience. The context will be a multi-user pixelart drawing application that I've built with ... more
In this post, we’ll show you how to use Next.js and Vercel to build a live link-sharing app. Users can share URLs of articles that they think might interest others, and anyone viewing the page will see the shared article appear instantly, together with ... more
In this post I'll explain how data is distributed in realtime using WebSockets in a serverless application running in Azure. The context I'll be using is a multiplayer Advanced Dungeons & Dragons (ADnD) style game that is turn-based with realtime ... more
Not so long ago, email was considered revolutionary. Being able to send a message to someone on the other side of the world and receive a reply in a matter of minutes was a game-changer. Today, however, email is the slow-moving dinosaur of the Internet. ... more
You use realtime communication every day. It is the simultaneous exchange of information between a sender and a receiver with almost zero latency. Internet, landlines, mobile/cell phones, instant messaging (IM), internet relay chat, videoconferencing, ... more
WebRTC (Web Real-time Communication) is an industry effort to enhance the web browsing model. It allows browsers to directly exchange realtime media with other browsers in a peer-to-peer fashion through secure access to input peripherals like webcams ... more
A few weeks ago I saw this message in our internal support channel on Slack, and it made my gears grind. So I stopped to take a look, since the last thing we want is a customer taken advantage of. The customer has responded to 703762824 Ticket Name: ... more
A few weeks ago I saw this message in our internal support channel on Slack, and it made my gears grind. So I stopped to take a look, since the last thing we want is a customer taken advantage of. The customer has responded to 703762824 Ticket Name: ... more