Skip to content

Instantly share code, notes, and snippets.

View phaer's full-sized avatar
💭

Paul Haerle phaer

💭
View GitHub Profile
#!/usr/bin/env python3
"""
A litte tool to generate a .mrconfig file for https://myrepos.branchable.com/
from a https://gitea.io/ account.
sudo apt install python3 python3-requests
Check possible values for your MR_REPO_TEMPLATE with
$ curl --user ${GITEA_USER}:{$GITEA_PASS} https://${GITEA_HOST}/api/v1/user/repos | jq .
"""
@phaer
phaer / metalab-teletext-remote.ino
Last active January 14, 2017 22:10
Metalab Teletext Remote control code.
#include <IRremote.h>
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
// define the symbols of the buttons on the keypads.
const char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
@phaer
phaer / sshjail.py
Created December 23, 2016 14:51
connection_plugin for Ansible and FreeBSD jails, connecting through ssh on the jailhost.
# connection_plugin for Ansible and FreeBSD jails, connecting
# through ssh on the jailhost.
# inspiration: https://github.com/austinhyde/ansible-sshjail
from ansible.errors import AnsibleError
from ansible.plugins.connection import ConnectionBase
from ansible.plugins.connection import ssh
try:
from __main__ import display
except ImportError:
@phaer
phaer / mpd-youtube-dl.py
Last active September 28, 2020 22:52
A simple script to pipe URIs through youtube-dl and into musicpd.
#!/usr/bin/env python3
"""
A simple script to pipe URIs through youtube-dl and into musicpd.
pip3 install python-mpd2 youtube-dl
"""
import sys
import mpd
import youtube_dl
@phaer
phaer / broker.ml
Last active September 19, 2016 22:34
open Lwt.Infix
open Websocket_lwt
open Ppx_lwt
open Frame
let ip_port = ("127.0.0.1", 3000);;
let clients = Hashtbl.create 10;;
let section = Lwt_log.Section.make "stream_shape";;
Lwt_log.(add_rule "*" Debug);;
@phaer
phaer / overpass-query.txt
Created April 14, 2016 01:17
Get RBL number for viennese public transport stops around a given location
/*
This has been generated by the overpass-turbo wizard.
The original search was:
“(railway=station or railway=tram_stop or highway=bus_stop) around Semperdepot”
*/
[out:json][timeout:25];
// adjust the search radius (in meters) here
{{radius=600}}
// gather results
(
#
# This file is the units database for use with GNU units, a units conversion
# program by Adrian Mariano adrianm@gnu.org
#
# August 2015 Version 2.13
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006
# 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
# Free Software Foundation, Inc
#
@phaer
phaer / cfg_to_defaults_main.yml
Created August 25, 2015 01:19
Cfg file to defaults/main.yml
import sys
import re
"""
Loops over a file with configuration in the form of
#key = value
and produces a yaml file suitable for ansibles defaults/main.yml
"""
@phaer
phaer / roundcube_subscribe.php
Created June 19, 2015 14:47
roundcube: subscribe to all mailboxes
<?php
define('RCUBE_CONFIG_DIR', '/var/lib/roundcube/config/');
define('RCUBE_PLUGINS_DIR', '/var/lib/roundcube/plugins/');
require_once '/var/lib/roundcube/program/lib/Roundcube/bootstrap.php';
$rcube = rcube::get_instance(rcube::INIT_WITH_DB | rcube::INIT_WITH_PLUGINS);
$imap = $rcube->get_storage();
{-# LANGUAGE OverloadedStrings #-}
import Prelude hiding (FilePath)
import Control.Monad
import Data.Maybe
import Data.List
import qualified Data.Text as T
import qualified Data.ByteString.Lazy.Char8 as C
import Text.Feed.Types
import Text.Feed.Import