Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am saruspete on github.
  • I am amahieux (https://keybase.io/amahieux) on keybase.
  • I have a public key ASC8rRkFnpYF9jdM4CGgtG0CE6F41lDz_EVcKeRN1Sp6Pgo

To claim this, I am signing this object:

@Saruspete
Saruspete / leak-bash-4.3.sh
Created November 3, 2017 22:05
memory leak
#!/bin/bash
# Memory leak induced by the idiom "cmd | read var"
# but not by "read var < <(cmd)"
# Fixed in bash 4.4
# use strict
set -u
# Also fails with no monitor + lastpipe
#set +m

Retour de https://gist.github.com/Tristramg/22ab154b2690370e0de0a8f0bd0d7710

Démantellement:

Nucleaire

Il faut aussi remettre les chiffres avec l'inflation. Si le premier rapport de 2005 parle de 25G€, cela représente 30G€ 2019. Page 8 de ce rapport, on y voit :

Le démantèlement des centrales de première génération avait fait l'objet de provisions calculées comme celles des réacteurs actuellement en fonction. Or, le démantèlement en cours de la centrale de Brennilis a montré que le coût effectif était très supérieur au coût attendu pour le démantèlement des 58 réacteurs en activité.

@Saruspete
Saruspete / check_sshpubkey.pl
Created February 5, 2020 13:54
check ssh public key format
#!/usr/bin/perl
# #################################################################
# SSH Public key validator
#
# Check the structural validity of a public SSH key
# #################################################################
#
# Author: Adrien Mahieux <[email protected]>
# Version: 1.0
@Saruspete
Saruspete / migrate.sh
Created February 19, 2020 12:09
For renchap
#!/usr/bin/env bash
set -o nounset
LC_ALL=C
typeset folder="${1:-}"
[[ -n "$folder" ]] && { echo >&2 "Usage: $0 <path of folder to migrate>"; exit 1; }
typeset foldertmp="${folder}.tmp"
# TODO: Check folder permissions
#!/usr/bin/awk -f
BEGIN {
if(!freq) freq=0.1
if(!spread) spread=3.0
pi = atan2(0,-1)
offset = 0
}
@Saruspete
Saruspete / hashblock.sh
Last active May 12, 2020 00:27
Hash per block for large files
#!/usr/bin/env bash
set -o nounset
set -o noclobber
export LC_ALL=C
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
readonly MYSELF="$(readlink -f $0)"
readonly MYPATH="${MYSELF%/*}"
@Saruspete
Saruspete / rm_safe.sh
Last active December 14, 2020 11:54
A wrapper over rm to protect critical paths from accidental deletion
# Override RM to protect critical folders. Regex
typeset -gxa MYS_RM_PROTECT=(
"$HOME/[^/]+"
"/root/.+"
)
# TODO: 2 unhandled cases:
# - protected path contains a symlink
# - recursive parent deletion
function rm {
typeset todel= safedir= confirmdir=""
@Saruspete
Saruspete / checkport.sh
Created February 9, 2021 15:47
Check that no process is listening on ephemeral port range
#!/usr/bin/env bash
# Get min/max port range from sysctl
prange="$(sysctl net.ipv4.ip_local_port_range| awk '{print $3,$4}')"
pmin="${prange% *}"
pmax="${prange#* }"
# TODO: ignore ports in sysctl net.ipv4.ip_local_reserved_ports
ss --listen --numeric --tcp --process | awk -v pmin=$pmin -v pmax=$pmax '
@Saruspete
Saruspete / args2csv.sh
Created February 18, 2021 17:49
Pure bash function to convert a list of args into CSV
function args2csv {
typeset -a fields=("$@")
# Escape existing quotes
fields=("${fields[@]//\"/\"\"}");
# Add " before and after fields
fields=("${fields[@]/#/\"}")