Simplifying Complexity: The Journey from WebSockets to HTTP Streams

This article explores the transition from a WebSocket-based implementation to a simpler, more direct stream over HTTP in the context of capturing touch screen inputs on Linux.

It begins by introducing the main theme, encapsulated in the statement Everything is a file is a stream of byte. The need to capture finger positions on a touchscreen by reading /dev/input/events in Linux is initially discussed, followed by a dilemma of transferring this data to a JavaScript client in a browser.

Initially, WebSockets are chosen, leading to a discussion on how frameworks often shape our technological choices and the challenges faced in debugging WebSocket connections. The article then introduces an alternative about sending a stream of bytes over HTTP, drawing a parallel to Linux’s approach to handling devices and files.

Serialization, the process of encoding messages for this stream, is discussed next, highlighting the implementation specifics in GoLang and its native advantages. The final section covers how to receive and decode this stream in JavaScript within a worker thread, and then send the decoded messages to the main thread using post requests. The article concludes by reflecting on the benefits of simplicity in technology, urging readers to reevaluate default choices and consider more straightforward solutions to complex problems.

Data-as-a-Product: the keystone of the data-mesh

Exploring the innovative concept of Data-as-a-product

This article is about the transformation of data into a strategic asset within organizations. It outlines the pivotal role of data in decision-making, emphasizing the importance of Business Intelligence (BI) in the digital landscape.

The article distinguishes between digital products and data products, highlighting how data-as-a-product enhances data management and supports data products in analytical and operational systems.

Central to this is the application of product thinking to data, aiming to create reliable, accessible, and high-quality data solutions within the framework of data mesh, as conceptualized by Zhamak Dehghani.