Skip to content

Instantly share code, notes, and snippets.

View drmalex07's full-sized avatar

MichailAlexakis drmalex07

  • IMIS "Athena" Research Center
  • Athens, Greece
View GitHub Profile
@drmalex07
drmalex07 / README-change-database-owner-in-postgresql.md
Last active August 16, 2024 00:11
Change database owner in Postgresql #postgresql #alter-database-set-owner
@drmalex07
drmalex07 / resolvectl-add-routing-domain.bash
Created May 15, 2024 16:29
An up hook for openvpn clients to configure routing for private DNS domains. #openvpn #resolvectl
#!/bin/bash
set -u -e
# On systems with `systemd-resolved.service`, this script can be used as an "up" hook in client ovpn file.
# For example:
# ...
# script-security 2
# up /etc/openvpn/add-routing-domain.bash
# ...
@drmalex07
drmalex07 / README-setup-k3s-cluster.md
Last active June 28, 2023 08:02
Setup a K3s cluster. #k3s #k8s

README - Setup K3s cluster (multiple nodes)

Download k3s binary on all machines at /usr/local/bin (see instructions at https://k3s.io/)

1. Setup server (controlplane)

Prepare env file for the service unit (/etc/default/k3s). For example:

INTERNAL_IP=10.0.5.19
@drmalex07
drmalex07 / DelayQueueExample.java
Created January 14, 2023 22:00
An example with DelayQueue in Java. #DelayQueue #java
import java.time.Duration;
import java.util.concurrent.Callable;
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Delayed;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class DelayQueueExample
{
@drmalex07
drmalex07 / README-git-checkout-a-subtree.md
Last active April 25, 2024 18:18
Checkout subtree of a Git repository. #git #git-sparse-checkout #git-checkout

README - Checkout subtree of a Git subdirectory

See also: https://unix.stackexchange.com/questions/233327/is-it-possible-to-clone-only-part-of-a-git-project

Clone with a specific history depth (--depth) and start at the root of the repository (--sparse). You can also filter-out BLOB files. For example:

git clone --sparse --depth 1 --filter blob:none --branch master https://github.com/NowhereLand/helloworld

Change directory into the newly-cloned repository and enable sparse-checkout mechanism (to fetch parts of the subtree in steps of increasing depth)

@drmalex07
drmalex07 / README-flyway-migration-from-docker.md
Last active February 14, 2023 12:36
Run flyway migration from a Docker container. #flyway

README - Run a Flyway migration from a Docker container

See also: https://flywaydb.org/documentation/configuration/configfile

Prepare basic Flyway configuration (no sensitive data inside), say at config/flyway.conf:

# vim: set syntax=jproperties:
# See https://flywaydb.org/documentation/configuration/configfile
flyway.schemas = foo
flyway.defaultSchema = foo
@drmalex07
drmalex07 / read-line-with-prompt.c
Created March 12, 2021 23:31
Real lines in C without overflowing buffer. #C #fgets #read-line
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const int MAX_LINE_SIZE = 10;
int main(int argc, char **argv){
char line[MAX_LINE_SIZE + 2];
@drmalex07
drmalex07 / Escapism.java
Created February 6, 2021 00:52
Mimic escapism Python package in Java. #escapism
import java.util.Objects;
/**
* Mimic escaping logic from Python {@code escapism} package.
*/
public class Escapism
{
public static final String SAFE_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789";
public static final char ESCAPE_CHAR = '-';
@drmalex07
drmalex07 / weighted-graph.hpp
Created November 14, 2020 23:15
A simple weighted graph in C++. #c++ #graph #weighted-graph #minimum-spanning-tree #MST
#ifndef _WEIGHTED_GRAPH_HPP
#define _WEIGHTED_GRAPH_HPP 1
#include <iostream>
#include <limits>
#include <vector>
#include <set>
#include <unordered_set>
#include <queue>
#include <stdexcept>
@drmalex07
drmalex07 / README-setup-nullmailer.md
Last active April 11, 2021 13:02
Setup nullmailer. #smtp #nullmailer

README - Setup nullmailer

1. Prepare the inventory

An example inventory hosts.yml:

---
all:
  vars:
    # ...