SilverKey Monitor

EdgeDB 5.0 hits beta

published on 2024/03/01

EdgeDB 5.0 adds branching functionality in order to help bridge the gap between the code (and schema) managed by version control systems and the actual development database.

The first thing to note is that we’re updating our terminology and replacing the old (and potentially confusing) term database with branch. This means that the old create database and drop database commands are considered deprecated in favor of create empty branch and drop branch, respectively. However, the new branch commands provide more options and functionality than the old database commands:

EdgeDB 5

IceRPC - a new RPC framework built on top of QUIC

published on 2024/03/01

IceRPC was built from the ground up to take advantage of QUIC, the new multiplexed transport that underpins HTTP/3.

QUIC is ideally suited for RPCs: an RPC maps to a request/response pair carried by a bidirectional QUIC stream. Multiple request/response pairs can proceed in parallel inside the same QUIC connection without interfering with each other.

IceRPC uses its own application protocol, icerpc, to exchange connection settings, transmit requests and responses, and ensure an orderly shutdown. This new RPC-focused protocol is a thin layer over QUIC.


Generative AI exists because of the transformer

published on 2024/03/01

What a great visualization

Learn CSS Layout the pedantic way

published on 2024/02/29

You may have heard that there are inline and block elements in CSS normal flow. But did you know that in CSS, the relative positioning of block and inline elements is not actually determined by the element's display property? It's actually determined by the formatting context, which is influenced by the siblings of the element.

You may have used z-index to "fix" the relative stacking order of content. But did you know that z-index is not absolute across the document, but rather relative to a stacking context?

You may have heard about the box model. But did you know that there are in fact at least five different box models, with subtle differences in how content dimensions and margin: auto are treated? You will, if you read this.

This is a set of chapters about CSS layout for people who already know CSS. Which seems like a small market, I admit. I took a look around for good resources for learning CSS layout, but I found that most of them weren't pedantic enough.

Common Mistakes in Modularisation

published on 2024/02/29

This article11 Alternate title: The Software Design Tree and Program Families. leads to two rather simple ideas.

  • Design decisions have consequences on other design decisions. This is an important aspect of how and when to decide things.
  • Modules can be used to hide design decisions so they no longer affect subsequent decisions.

I will try to explain how this comes about, some consequences, and some mistakes to watch out for. But first, we need to visualise the effects design decisions have on other decisions.