| | |

Strict concurrency checking in Swift 5.x and 6.0

Swift 6 aims to detect many concurrency issues at compile time. Fixing these new warnings and errors at compile time should prevent so-called “data-races” from showing up as intermittent run-time errors. This goal is important and even urgent because software developers are increasingly relying on concurrency to utilise multi-core processors and to perform slow tasks…

| |

Comparing FTP, SFTP and FTPS protocols

FTP SFTP FTPS Security technology None / old SSH TLS URL my.domain.com sftp://my.domain.com my.domain.com(configure client to use FTPS) Ports that must be opened 21 22 21, plus passive port range Passwords, passkey, public/private keys plaintext passwords (!) public keys public keys User privileges flexible full access privileges flexible FileZilla client support YES YES YES Lightroom…

|

ReverseGeocoding for localizing towns and country names

Standard text localization When you create apps for the Apple ecosystem, you may need to support multiple languages. This is a key part of what is known as localization. It comes down to creating an English version of text strings – say the label of a “Submit” button -, and providing translations of “Submit” to…

| | | | |

Dockerized WordPress with LEMP

This posting lists and discusses various online tutorials about how to set up WordPress using Docker and NGINX on a self-managed Linux server. This is sometimes known as LAMP: Linux, Apache, MySql, PHP. Or LEMP: Linux, (E)nginx, MySQL, PHP. All this is trivial if the hosting provider handles the details. And is still relatively doable…

| |

Github activity

Github contributors have a page with a well-known graphic showing how active they were in, for example, the last 12 months. The horizontal axis is weeks, the vertical axis is within the week (Sunday is the top row). The intensity shows how many “contributions” they made to any public repository on Github. The color scales…

| |

Diffusion-based image generation

We could explain this technology with a concise explanation such as ”Latent Diffusion Models (LDM) use machine learning to iteratively remove deliberately added noise”. Or we could try to summarise the University of Nottingham’s YouTube video (which is in itself a summary of research papers). But let us try to add value by explaining this…