Skip to content

Instantly share code, notes, and snippets.

Francesco Frassinelli frafra

Block or report user

Report or block frafra

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
frafra /
Last active Nov 10, 2019
Restore MediaWiki dump (example)
#!/bin/bash -ex
mysql=$(podman volume create)
frafra /
Last active Oct 22, 2019
Enable/Disable DNS-over-TLS on Fedora
# mkdir -p $HOME/bin && cd $_ && wget -O stubby-onoff && chmod +x $_ && cd -
set -ex
[ $USER == "root" ] || exec sudo $0
pkgs="getdns-stubby crudini"
rpm -q $pkgs || dnf install -y $pkgs
frafra /
Last active Sep 22, 2019
Tricks to use Chromecast on GNU/Linux systems

No weird or unmaintained softwares or libraries are involved in this guide, just VLC, Avahi and youtube-dl.

VLC + Chromecast

VLC supports Chromecast since version 3.0.0 (2018-02-09). Just go to Playback -> Renderer.

vlc --sout "#chromecast" --sout-chromecast-ip=$IP --demux-filter=demux_chromecast "$input"
frafra /
Created Jan 21, 2019
Like `ls -1` but marks path modified by a specific author or a company
function check {
git log --format="%ae" "$1" | grep -q "$regex"
check '.' && echo " * ." || echo " ."

VPS cheaper than 5 €/month


Starting from 2.50 €/month (CX11).


  • Custom operating systems via recovery mode
  • Good reputation
frafra /
Last active Aug 18, 2018
Script for check slides availability for SotM 2018
# Run this script inside the openstreetmap/stateofthemap-2018 repository
rm -f slides.csv
(for talk in _posts/schedule/*.md; do
slide=$(basename $talk .md | cut -d'-' -f4-)
echo -n $slide
for field in "time" "room" "authors"; do
echo -n ,$(sed -nr "s/$field: \"(.*)\"/\1/p" $talk | tr -d ',')
frafra / ilpost.recipe
Created Jul 13, 2018
Calibre recipe for "Il Post"
View ilpost.recipe
#!/usr/bin/env python2
from calibre.ebooks.BeautifulSoup import BeautifulSoup
from import BasicNewsRecipe
class IlPost(BasicNewsRecipe):
title = "Il Post"
language = "it"
tags = "news"
#feeds = [""]
frafra /
Last active Jul 11, 2018 / recipes
View / recipes

These recipes are for, but they can be used for (replace the URL where necessary).

Note: jq can be required by some recipes.

Get the first 100 unresolved notes (geojson)

curl '' -o notes.geojson
frafra /
Created Jun 28, 2018 basic account information parser
#!/usr/bin/env python3
import bs4 # fades beautifulsoup4
import hug # fades
import humanfriendly # fades
import requests # fades
import datetime
import string
frafra /
Last active Jun 28, 2018
OpenStreetMap "Top 500" from
#!/usr/bin/env python3
import hug # fades
import enum
import html.parser
import json
import urllib.request
class Table(enum.Enum):
You can’t perform that action at this time.