Skip to content

Instantly share code, notes, and snippets.

#! /usr/local/bin/perl -w
## A simple example of how to use the Bluesky protocol in Perl.
## Written by David A. Madore on 2024-12-07 -- Public Domain
## This version 2024-12-07
## This program attempts to download all your skeets (Bluesky posts),
## or all your likes on Bluesky, and prints them as a JSON file. This
## is a mere test of the Bluesky protocol or as an illustative example
@Gro-Tsen
Gro-Tsen / 20241120.certbot-dynamic-dns-challenges
Created November 20, 2024 21:44
Commands I used to get a wildcard certificate from letsencrypt under Debian
## Prepare certbot user and dynamic update key:
sudo adduser --system --group --home /var/lib/letsencrypt --shell /usr/sbin/nologin certbot
/usr/sbin/tsig-keygen -a HMAC-SHA256 certbotkey | sudo sh -c 'umask 077 ; cat > /etc/bind/certbotkeys.conf'
sudo chown root:bind /etc/bind/certbotkeys.conf
sudo chmod g+r /etc/bind/certbotkeys.conf
sudo setfacl -m 'u:certbot:r--' /etc/bind/certbotkeys.conf
## Insert the following stanzas in /etc/bind/named.conf.local:
# include "/etc/bind/certbotkeys.conf";
# zone "_acme-challenge.example.net" {
\documentclass[12pt,a4paper]{article} % -*- coding: utf-8 -*-
\usepackage[a4paper,margin=1.5cm]{geometry}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\documentclass[12pt,a4paper]{article} % -*- coding: utf-8 -*-
\usepackage[a4paper,margin=1.5cm]{geometry}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
@Gro-Tsen
Gro-Tsen / taubNUT.m
Created September 30, 2024 09:55
Compute curvature of the Taub-NUT metric
rhosq = r^2 + nut^2
Deltasq = r^2 - 2 M r - nut^2
(* Covariant metric tensor (metric on vectors) *)
g = Simplify[{{-Deltasq/rhosq,0,0,-2 nut Cos[theta] Deltasq/rhosq},{0,rhosq/Deltasq,0,0},{0,0,rhosq,0},{-2 nut Cos[theta] Deltasq/rhosq,0,0,rhosq Sin[theta]^2 - 4 nut^2 Cos[theta]^2 Deltasq/rhosq}}]
(* Contravariant metric tensor (metric on covectors) *)
ginv = Simplify[Inverse[g]]
coords = {t,r,theta,phi}
@Gro-Tsen
Gro-Tsen / tarfilter.pl
Last active September 5, 2024 08:57
Filter selected files in a tar archive
#! /usr/local/bin/perl -w
## This program takes a GNU tar file and produces on the standard
## output another tar file that consists only of the files whose path
## (as stored in the archive) matches the specified pattern. No other
## treatment is performed and the output tar just consists of the
## matching bits of the input tar.
## Options are:
## -v : Print filenames on standard error as they are being treated.
#! /usr/local/bin/perl -w
use strict;
use warnings;
use utf8;
my %results;
my %lists;
my @revlists;
my $nblists = 0;
@Gro-Tsen
Gro-Tsen / desargues-labeled.svg
Last active May 14, 2024 10:15
PoV-ray illustration of the theorem of Desargues in 3D
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Gro-Tsen
Gro-Tsen / communes.dat
Created April 27, 2024 18:13
Liste des communes de France avec coordonnées géographiques de leur barycentre et leur nom
This file has been truncated, but you can view the full file.
01001 46.153482/4.932753 L'Abergement-Clémenciat
01002 46.006821/5.427596 L'Abergement-de-Varey
01004 45.958184/5.374963 Ambérieu-en-Bugey
01005 45.995555/4.914269 Ambérieux-en-Dombes
01006 45.749037/5.593317 Ambléon
01007 46.002726/5.364199 Ambronay
01008 45.937040/5.331642 Ambutrix
01009 45.784362/5.655285 Andert-et-Condon
01010 45.909606/5.795569 Anglefort
01011 46.206625/5.656232 Apremont
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#ifndef M_PI
#define M_PI 3.14159265358979323846264338327950288419716939937511
#endif
#ifndef DEBUG