Mix.install([
{:zoi, "0.8.1"},
{:req_llm, github: "agentjido/req_llm", ref: "main"},
{:kino, "~> 0.17.0"}
])| defmodule Task do | |
| defp await_one(tasks, timeout \\ 5_000) when is_list(tasks) do | |
| awaiting = | |
| Map.new(tasks, fn %Task{ref: ref, owner: owner} = task -> | |
| if owner != self() do | |
| raise ArgumentError, invalid_owner_error(task) | |
| end | |
| {ref, true} | |
| end) |
| import Ecto.Changeset | |
| @spec validate_email(Ecto.Changeset.t(), atom) :: Ecto.Changeset.t() | |
| def validate_email(changeset, field) when is_atom(field) do | |
| changeset | |
| |> validate_length(field, max: 160) | |
| |> validate_change(field, &validate_email_rfc5322/2) | |
| end | |
| defp validate_email_rfc5322(field, email) do |
Syncthing is a tool for synchronising folders between computers, and also Android devices. This gist is about how to install and configure Syncthing on an Android device, so that it works as expected. For instructions about how to install and configure Syncthing on computers, you will have to look elsewhere. Also for how to configure folder synchronisation. Below I describe necessary configuration on Android, that I could not easily find by googling:
- I have only tested the following on a OnePlus running OxygenOS 14.0, and on a Samsung Galaxy Tab S8 running Android 14.
- I have only succeeded in synchronizing folders in the internal storage, under /storage/emulated/0, for example /storage/emulated/0/Documents/notes.
- I have not been able to get Syncthing to recognize a folder on an sdcard, the folders there are owned by root, which might be a hindrance. I believe the base problem is that sdcards have a DOS file system, not a modern file system. Note that I am using the Android Synct
| # THIS LINUX SETUP SCRIPT HAS MORPHED INTO A WHOLE PROJECT: HTTPS://OMAKUB.ORG | |
| # PLEASE CHECKOUT THAT PROJECT INSTEAD OF THIS OUTDATED SETUP SCRIPT. | |
| # | |
| # | |
| # Libraries and infrastructure | |
| sudo apt update -y | |
| sudo apt install -y \ | |
| docker.io docker-buildx \ | |
| build-essential pkg-config autoconf bison rustc cargo clang \ |
This is an opinionated handbook on how I migrated all my Rails apps off the cloud and into VPS.
This is how I manage real production loads for my Rails apps. It assumes:
- Rails 7+
- Ruby 3+
- PostgreSQL
- Ubuntu Server 24.04
- Capistrano, Puma, Nginx
- Upgrade Radarr to at least v4.1.0.6133 or newer. This brings in support for Postgres. This will also ensure that all of your SQLite tables have the latest schema migrations applied before we migrate to Postgres. If you want to upgrade further, that's fine too, but make sure you've completed all upgrades first before continuing.
- Create your Postgres databases (one for the "main" database and one for the "logs" database) and configure Radarr with the relevant Postgres credentials. Both databases need to be owned by/accessible from the same Postgres user.
- Restart Radarr, and ensure it connects to Postgres and runs all schema migrations.
- Once all schema migrations have been applied, and no other activity is occurring, stop Radarr.
- Copy the SQLite databases from the Radarr instance/pod, both the main database and logs database. For this guide, we'll assume these files are called
radarr.dbandlogs.db. - Using
pg_dump -s, dump the schema for the main Radarr database . P
Crossplane is an Open-Source project that enables management of almost anything in the Cloud via the Kubernetes API.
Crossplane version 1.14 released November 1, 2023, is one of the most consequential releases in the project's history.
While Composition Functions and Provider performance improvements are headline features, there are substantial updates across the project: from a focus on developer and operator experience, Upbound's code donation to the CNCF, to API maturation.
This Document was updated November 7, 2023.