#531 – July 17, 2023
A deep dive into building desktop-class software in the browser
Web apps vs file editors, Figma's architecture, and using S3 as a filesystem – a deep dive into building desktop-class software in the browser.
Their solution is 15 years old, a giant monolithic application running on-premise. It is a single application on IIS which runs 200 sites. This single app is running on nine web servers and a single SQL Server (with the addition of one hot standby).
Create an advanced search engine with PostgreSQL
PostgreSQL provides the necessary building blocks for you to combine and create your own search engine for full-text search. Let's see how far we can take it.
Generating Code without Generating Technical Debt?
GPT and other large language models can produce huge volumes of code quickly. This allows for faster prototyping and iterative development, trying out multiple solutions. But it can also leave us with a bigger amount of code to maintain.
Deployment patterns are automated methods of introducing new application features to your users. Your ability to cut downtime depends on the deployment style you use. Some patterns also let you roll out extra functionality. Doing this allows you to test new features with a small group of users before making them available to everyone.
We Put a Distributed Database In the Browser – And Made a Game of It
This is our take on Viewstamped Replication and Protocol-Aware Recovery for Consensus-Based Storage. It’s running in a deterministic simulator (that can speed up time and replay scenarios for debugging velocity), compiled to WebAssembly thanks to Zig’s toolchain. And a graphical gaming frontend on top, for the kid in all of us.
DisplayPort: A Better Video Interface
Over the years, we’ve seen a good number of interfaces used for computer monitors, TVs, LCD panels and other all-things-display purposes. We’ve lived through VGA and the large variety of analog interfaces that preceded it, then DVI, HDMI, and at some point, we’ve started getting devices with DisplayPort support.