One thing that Liquibase does better than Flyway is supporting multiple different database systems with the same migrations by abstracting the changes instead of relying on raw SQL statements such as Flyway.
Liquibase and Flyway are the only major frameworks on the JVM which could be embedded into a JVM application to get rid of a sidecar or a startup process which has to run before the actual application could start.
> abstracting the changes instead of relying on raw SQL statements such as Flyway.
That's exactly why Liquibase turned source-available. These abstractions are leaky, error-prone and are better maintained via the money from support contracts.
"Make problem, they earn money fixing them" is a reasonable modus operandi.
It's covered in the interview. The Russian state backed off when they figured that the only way to ban Telegram is to also break large pieces of the country's digital infrastructure, because Telegram was using Cloudflare, Google Cloud, AWS, Hetzner address ranges for its proxies to evade blocking.
Now, Telegram is also an important part of military communication in Russia. Probably not that often for the chain-of-command, but there are dozens of channels that cover frontline news and war in details, and these somewhat independent media outlets are as important to the Russian government as they are to the CIA.
IIRC, Roskomsvoboda had a project to figure out the banned IPs and ranges, and mitigations were widely discussed on habr.ru and specialized forums. The whole story unrolled in real-time and publicly. I don't think there's any doubt about its veracity.
Telegram and Durov have a different idea of NFT than you, I guess.
For them, it's more about enabling micropayments. So far, the only successful micropayments system was advertising, and it's a real shame we couldn't build better.
He covered it in the interview in a quite reasonable way. E2E encryption, especially if forward secrecy is a requirement is incompatible with many important features: https://youtube.com/watch?v=qjPH9njnaVU&t=9583
You probably don't realize it, but multi-device support, group chats of tens of thousands of users, channels with millions of users and comments of said users. Attachments and history and search. And then a whole infrastructure for running bots and processing payments. And proxies to fight blocking attempts. All of these are either highly problematic or computationally intensive and practically infeasible with E2E on.
Otherwise, someone would have taken the opportunity and reimplemented Telegram on top of homomorphic encryption /s.
End to end could still be default for 1-1 chats. Multi device support turns this into a small group chat but it is doable (Wire did it this way afaik; I think Signal does too).
Small groups could likewise be supported.
I take the point that for large groups client fan out of the double ratchet doesn't scale. We now have MLS but we didn't. There's also an argument of how can you really keep a secret in an open group of a few thousand people.
But on a small, "personal" level, e2e could absolutely be done. Not doing so is a choice, one that conveniently ends with almost everyone's chats stored on servers somewhere.
I would go so far as to say I bet telegram is a goldmine for TLAs.
Here's the step-by-step guide to self-hosting git repositories:
Change directory to your local git repository that you want to share with friends and colleagues and do a bare clone `git clone --bare . /tmp/repo.git`. You just created a copy of the .git folder without all the checked out files.
Upload /tmp/repo.git to your linux server over ssh. Don't have one? Just order a tiny cloud server from Hetzner. You can place your git repository anywhere, but the best way is to put it in a separate folder, e.g. /var/git. The command would look like `scp -r /tmp/repo.git me@server:/var/git/`.
To share the repository with others, create a group, e.g. `groupadd --users me git` You will be able to add more users to the group with groupmod.
Your git repository is now writable only by me. To make it writable by the git group, you have to change the group on all files in the repository to git with `chgrp -R git /var/repo.git` and enable the group write bit on them with `chmod -R g+w /var/repo.git`.
This fixes the shared access for existing files. For new files, we have to make sure the group write bit is always on by changing UMASK from 022 to 002 in /etc/login.defs.
There is one more trick. For now on, all new files and folders in /var/git will be created with the user's primary group. We could change users to have git as the primary group.
But we can also force all new files and folders to be created with the parent folder's group and not user primary group. For that, set the group sticky bit on all folders in /var/git with `find /var/git -type d -exec chmod g+s \{\} +`
You are done.
Want to host your git repository online? Install caddy and point to /var/git with something like
reply