# i3-get-window-criteria - Get criteria for use with i3 config commands
# To use, run this script, then click on a window.
# Output is in the format: [<name>=<value> <name>=<value> ...]
# Known problem: when WM_NAME is used as fallback for the 'title="<string>"' criterion,
# quotes in "<string>" are not escaped properly. This is a problem with the output of `xprop`,
# reported upstream:
import os
import socket
from OpenSSL import crypto, SSL
# OpenVPN is fairly simple since it works on OpenSSL. The OpenVPN server contains
# a root certificate authority that can sign sub-certificates. The certificates
# have very little or no information on who they belong to besides a filename
# and any required information. Everything else is omitted or blank.
# The client certificate and private key are inserted into the .ovpn file
# which contains some settins as well and the entire thing is then ready for
View invoke-expression-with-args.ps1
$scriptPath = ((new-object net.webclient).DownloadString(''))
Invoke-Command -ScriptBlock ([scriptblock]::Create($scriptPath)) -ArgumentList "coucou"
View Get-Ping.ps1
function Get-Ping ($url) {
$timeout = 500
$ping = new-object
try {
# The @() ensures the return if a single string is still an array
$urlArray = @($url.split(' ') | where { $_ -ne "-" })
#"urlArray = $urlArray"
$url = $urlArray[0]
$ip = $urlArray[1]
# run the script: python <the branch> <file size>
# Example use: python fix-remove-files 1000000 (this value equals 1 Megabyte)
# the Fix-remove-files specifies the branch that you are cleaning
import os, sys
def getOutput(cmd):
return os.popen(cmd).read()
View xrandr 4k on 1920x1080
xrandr --output LVDS1 --mode 1920x1080 --scale 2x2 --fb 3840x2160 --panning 3840x2160
# 3k
# xrandr --output LVDS1 --mode 1920x1080 --scale 1.5x1.5 --fb 2880x1620 --panning 2880x1620
View ConvertFrom-JsonToCsv.ps1
function ConvertFrom-JsonToCsv {
Process {
($json | ConvertFrom-Json) | ConvertTo-Csv -NoTypeInformation
View import-portatour.ps1
function Import-Portatour {
param (
[parameter(Mandatory=$True,Position=1)] [ValidateScript({ Test-Path -PathType Leaf $_ })] [String] $FilePath,
[parameter(Mandatory=$False,Position=2)] [System.URI] $ResultURL
$CODEPAGE = "iso-8859-1" # alternatives are ASCII, UTF-8
# We have a REST-Endpoint

After losing access to rEFInd yet again (Windows 10 Anniversary Edition), I was able to find the proper invocation of BCDEdit thanks to a helpful person on StackOverflow. None of the Microsoft documentation mentions this, but you NEED single quotes around {bootmgr} for sure if you are in the PowerShell shell, but possibly also if you are in the Command Prompt. This allowed me to add a new entry for rEFInd and I've had to do this multiple times so I know it works on Windows 10.

bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi 


bcdedit /set '{bootmgr}' path \EFI\refind\refind_x64.efi
View waitForKeyElements.js
/*--- waitForKeyElements(): A utility function, for Greasemonkey scripts,
that detects and handles AJAXed content.
Usage example:
waitForKeyElements (
, commentCallbackFunction