Zero downtime Postgres migration, done right

A step by step guide to migrate your Postgres databases in production environments with zero downtime

Rigas Papathanasopoulos

15 minute read

In this blog post we describe how to migrate a Postgres database to a new instance with zero downtime using Bucardo. We will describe how to avoid common pitfalls like data loss, deteriorated performance and data integrity failures. We have successfully used this process to migrate our Postgres databases from version 9.5 to 12.5 on RDS, but the process isn’t restricted to RDS only, and does not depend on anything AWS specific. This migration strategy should be possible with any self-hosted or…

Encrypt DNS in iOS 14 applications

iOS 14 introduces support for both DNS over HTTPS and DNS over TLS standards. This article explains the benefits of using these standards and how to utilize them through NSURLSession.

Stavros Schizas

3 minute read

In iOS 14, Apple introduced support for passing the DNS queries over HTTPS (DoH) or TLS (DoT). So why bother encrypting DNS queries when HTTPS is widely in use? Because if someone (ISPs, on-path routers, law enforcement agency, etc.) is eavesdropping on your application’s unencrypted DNS queries, they will be able to map which API / services your application uses and potentially “map” your service.

Alternative Structures for Diffable DataSource Identifier Types

In this article will be described three different structures for implementing Sections and SectionItems of the tableView dataSource.

Efthymios Liapatis

6 minute read

As the application scales up, there is a need for a proper data type structure for diffable dataSource identifier types. The reason is that, the most conventional way as it has been introduced in “Advances in UI Data Sources - WWDC - 2019”, by using struct for Sections and enum for Rows leads to massive switch case statement and duplicated code.