Skip to content

Instantly share code, notes, and snippets.

View jpouellet's full-sized avatar

Jean-Philippe Ouellet jpouellet

View GitHub Profile
@jpouellet
jpouellet / mandelbrot.py
Created December 2, 2016 20:30
Python mandelbrot set generator
#!/usr/bin/env python
import argparse
import sys
import os
trace = False
def pixel_n(x0, y0, escape):
x=0.
@jpouellet
jpouellet / qubes-net-restart.sh
Last active December 10, 2016 00:39
Restarts your sys-net without requiring shutting everything else down first. Useful if your wifi drivers hang regularly... :(
#!/bin/sh
# TODO: detect sys-net(s) by pci attachment & sys-firewall(s) by netvm == $sys-net(s)
if [ -z "$NET_RESTART_LOCK" ]; then
if env NET_RESTART_LOCK=ok flock -o -n /var/run/qubes/net-restart.lock "$0" "$@"; then
exit 0
else
echo "$0: Failed to aquire lock" >&2
exit 1
@jpouellet
jpouellet / flip.zsh
Last active November 10, 2016 02:16 — forked from SietsevanderMolen/fuckyou.plugin.zsh
Table flip all the strings!
#!/usr/bin/env zsh
function flipstr() {
local chars='_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890()[]{}<>'
local flipped='¯ɐqɔpǝɟɓɥıɾʞlɯuodbɹsʇnʌʍxʎz∀𐐒ƆᗡƎℲ⅁HIſ⋊⅂WNOԀΌᴚS⊥∩ΛMX⅄Z⇂ᄅƐㄣގ9ㄥ860)([]}{><'
local string="$*"
local newstring=''
for ((i = ${#string}; i > 0; i--)); do
#newstring+=${flipped[${chars[(i)${string[$i]}*]}]}
@jpouellet
jpouellet / qvm-shutdown-non-sys.sh
Created November 3, 2016 08:22
Shuts down all non-system Qubes VMs. *WARNING*: Does not ask before killing processes in them.
#!/bin/sh
qvm-ls --raw-data state name | grep '^Running|' | cut -d'|' -f2 | grep -vx '{.*}' | xargs -n1 qvm-shutdown --
@jpouellet
jpouellet / qubes-wifi-toggle.sh
Last active February 19, 2023 19:25
Enable/disable WIFI in Qubes via keyboard shortcut
#!/bin/sh
exec qvm-run sys-net '[ X"$(nmcli radio wifi)" = Xdisabled ] && x=on || x=off; nmcli radio wifi $x'
@jpouellet
jpouellet / qubes-install-spotify.sh
Created October 11, 2016 17:55
Set up Spotify in a debian-based Qubes VM
#!/bin/sh
set -e
url='https://repository-origin.spotify.com/pool/non-free/s/spotify-client/'
d=$(mktemp -d)
echo "Fetching index..."
wget -q -O "$d/index" "$url"
@jpouellet
jpouellet / qubes-manager-fastopen.sh
Created October 8, 2016 01:21
Open qubes-manager window faster than `qubes-manager`, iff it's already running.
#!/bin/sh
exec dbus-send --system --dest=org.qubesos.QubesManager --type=method_call /org/qubesos/QubesManager org.qubesos.QubesManager.show_manager
@jpouellet
jpouellet / shiftit-x11.pl
Last active October 13, 2016 03:58
ShiftIt for X11 (deps: EWMH-compliant WM, xprop, wmctrl) -- see https://github.com/fikovnik/ShiftIt
#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qw(floor ceil);
my %geoms = (
'full' => '(0,$x,$y,$w,$h)',
'left' => '(0,$x,$y,$w/2,$h)',
'right' => '(0,$x+$w/2,$y,$w/2,$h)',
@jpouellet
jpouellet / qvm-terminal.pl
Last active October 31, 2020 08:01
Opens a terminal in the front-most Qubes VM.
#!/usr/bin/env perl
use strict;
use warnings;
sub dom0_term {
(exec 'xfce4-terminal') or (exec 'xterm') or die "dom0 terminal exec failed\n";
}
sub domU_term {
@jpouellet
jpouellet / fedora-quartus-deps.md
Last active September 29, 2016 01:42
Notes on using Altera design tools on Fedora 23 (in Qubes OS)

Notes on using Quartus 15.1.0 in Fedora 23 (in Qubes OS)

Dependencies according to the Arch wiki, converted to Fedora pkg names:

  • x86_64: expat fontconfig freetype glibc gtk2 libcanberra libpng libpng12 libICE libSM util-linux ncurses tcl zlib libX11 libXau libXdmcp libXext libXft libXrender libXt libXtst

  • i686: glibc.i686 expat.i686 fontconfig.i686 freetype.i686 glibc.i686 gtk2.i686 libcanberra.i686 libpng.i686 libpng12.i686 libICE.i686 libSM.i686 util-linux.i686 ncurses-libs.i686 tcl.i686 zlib.i686 libX11.i686 libXau.i686 libXdmcp.i686 libXext.i686 libXft.i686 libXrender.i686 libXt.i686 libXtst.i686

  • noarch: xorg-x11-fonts-Type1 tcllib