Skip to content

Instantly share code, notes, and snippets.

View zopieux's full-sized avatar

Alexandre Macabies zopieux

View GitHub Profile
@zopieux
zopieux / kth_perm.py
Created July 24, 2017 14:32
kth permutation
def kth_perm(n, k):
res = list(range(n))
for i in range(n):
f = math.factorial(n - i - 1)
s, m = divmod(k, f)
if m == 0 and s == 0:
break
if s > 0:
for j in range(i - 1 + s, i - 1, -1):
res[j-1], res[j] = res[j], res[j-1]
@zopieux
zopieux / wallpaper.py
Created June 4, 2017 10:52
Yet another reddis-to-wallpaper script
#!/usr/bin/env python
from PIL import Image, ImageDraw, ImageFont
import io
import re
import requests
import subprocess
import time
FNAME = '/tmp/wallpaper'
@zopieux
zopieux / logging_refactor.py
Last active April 26, 2017 23:35
logging.* auto refactoring
import ast
import copy
from pathlib import Path
import asttokens
import astunparse
import string
LOGGING_METHODS = {'debug', 'info', 'warn', 'warning', 'exception', 'error', 'fatal', 'critical'}
@zopieux
zopieux / test-all-problems.py
Last active January 23, 2017 22:56
[prologin] Test all problems on camisole
import django
django.setup()
from problems.models import Challenge
from prologin.languages import Language
import requests
from pathlib import Path
def get_in_out(p, tests, name):
refs = Path(p.file_path()).rglob('ref.*')
@zopieux
zopieux / i3-config
Last active November 22, 2016 15:59
Dependencies: i3-wm, bash, xrandr, curl, feh, imagemagick (convert), python & python-requests
# random wallpaper
set $random-wall-cmd /bin/sh $HOME/.config/i3/wallpaper.sh
exec --no-startup-id $random-wall-cmd
bindsym $mod+b exec --no-startup-id $random-wall-cmd
@zopieux
zopieux / toggle-vga-hdmi.sh
Created May 27, 2016 20:40
Laptop screen & (VGA | HDMI) toggle
#!/bin/sh
main=LVDS1
a=VGA1
b=HDMI1
dir=left
function on {
echo Switching $1 on
xrandr --output $1 --auto --$dir-of $main
@zopieux
zopieux / sample.sh
Created May 10, 2016 22:35
WordReference pseudo-TTS
python wordreferencespeak.py \
never gonna give you up \
never gonna let you down \
never gonna run around and desert you
@zopieux
zopieux / main.py
Created July 25, 2015 14:33
IRC to Voxygen TTS
import asyncio
import binascii
import irc3
import re
import requests
import subprocess
import time
VOICES = ["Helene", "Emma", "Electra", "DarkVadoor", "Damien", "Agnes", "Bicool", "Chut", "Melodine", "Ludovic", "Fabienne", "Eva", "Loic", "JeanJean", "John", "Matteo", "Michel", "Papi", "Philippe", "Ramboo", "Robot", "Sidoo", "Sorciere", "Yeti", "Zozo"]
# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import urllib.request as urllib
from bs4 import BeautifulSoup
from random import choice
def randomWikipediaPage():
@zopieux
zopieux / eirb-cas.php
Created September 17, 2015 14:38
eirb CAS Eirbware
<?php
require_once 'eirb-common/CAS/CAS.php';
function eirb_cas_protect() {
phpCAS::client(CAS_VERSION_2_0, 'cas.enseirb-matmeca.fr', 443, 'cas');
phpCAS::setNoCasServerValidation();
phpCAS::forceAuthentication();
return phpCAS::getUser();
}