Skip to content

Instantly share code, notes, and snippets.

Jeremie Miserez jmiserez

Block or report user

Report or block jmiserez

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
@jmiserez
jmiserez / rightclick-element-ios-safari-bookmarklet.js
Last active Oct 22, 2018 — forked from foobear/copy-element-text-bookmarklet.js
JavaScript bookmarklet to right click an element in Safari Mobile. Only works when "Request Desktop Site" is used, tested on 12.0.1. Adapted from https://gist.github.com/foobear/f19f2cca87eaf005922323fe04f993c7 (license: MIT).
View rightclick-element-ios-safari-bookmarklet.js
# Bookmarklet on one line:
javascript:(function(){var x=0;var y=0;var overlay=document.createElement('div');Object.assign(overlay.style,{position:'fixed',top:0,left:0,width:'100vw',height:'100vh',zIndex:99999999,background:'transparent',cursor:'crosshair'});document.body.append(overlay);overlay.addEventListener('click',function(event){Object.assign(overlay.style,{width:0,height:0});x= event.clientX;y=event.clientY; var element=document.elementFromPoint(x,y);var position=element.getBoundingClientRect();Object.assign(overlay.style,{background:'rgba(0,128,255,0.25)',outline:'1px solid rgba(0,128,255,0.5)',top:''+position.top+'px',left:''+position.left+'px',width:''+position.width+'px',height:''+position.height+'px'});setTimeout(function(){var ev1=new MouseEvent("mousedown",{bubbles:true,cancelable:false,view:window,button:2,buttons:2,clientX:x,clientY:y});element.dispatchEvent(ev1);var ev2=new MouseEvent("mouseup",{bubbles:true,cancelable:false,view:window,button:2,buttons:0,clientX:x,clientY:y});element.dispatc
@jmiserez
jmiserez / wslsuspendresumeps.sh
Last active Jun 12, 2019
Bash on WSL or Cygwin: suspend and resume Windows processes by name and optionally command line part
View wslsuspendresumeps.sh
# Add this to your Cygwin or WSL Ubuntu .bashrc
# Args:
# - process name
# - optional: commandline (use '%' as wildcards)
# Example: suspendps name commandline
# - suspendps notepad.exe %mytextfile.txt%
# - resumeps notepad.exe
# Note: pssuspend64.exe must be installed and available (https://docs.microsoft.com/en-us/sysinternals/downloads/pssuspend)
getwin32processid() {
# WSL / Windows 10 suitable version without spawning a shell
@jmiserez
jmiserez / forallsubdirs.sh
Last active Jun 12, 2019
Bash: "Execute for all subdirectories", execute commands in all subdirectorys, cache output and print sequentially with locking
View forallsubdirs.sh
# Add this to your .bashrc and source it (source ~/.bashrc)
# Example: forallsubdirs basedir commands
# - forallsubdirs . "ls | wc -l; git status"
# - forallsubdirs . "git fetch --all; git merge --ff-only"
# Note:
# - To include hidden directories (starting with a "."), set the dotglob option in Bash: shopt -s dotglob
# - Silencing job control (see comments) is only partially possible, in certain cases job control output will still be printed (see https://stackoverflow.com/a/38278291/202504).
forallsubdirs() {
if [ -d "$1" ]; then
dir="$1"
@jmiserez
jmiserez / extensions.zotfile.wildcards.user
Created May 27, 2016
Zotero ZotFile Renaming user json for setting: zotfile.wildcards.user. Simplifies series field (remove all non-words, e.g. "PLDI '14" -> "PLDI14") for journal articles and conference papers. Use like this: "{%a_}{%y_}{%1|%w_}{%t}" in ZotFile settings. Also see this bug report: https://github.com/jlegewie/zotfile/issues/170
View extensions.zotfile.wildcards.user
{
"1":{
"default":{},
"journalArticle":{
"field":"series",
"operations":[
{
"function":"replace",
"regex":"\\W",
"replacement":"",
View gist:65450a29fecf9d1e48eba100feaef889
#!/bin/bash
# Make default camera /dev/video0 point to the "best" camera present.
# Source: Jason Eisner http://askubuntu.com/a/520857/145754
# on question http://askubuntu.com/questions/396952/how-to-change-the-default-webcam-changing-dfaults-in-multimedia-selctor-not-wor
setdefaultwebcam() {
if [ -h /dev/video0 ]; then
sudo rm /dev/video0 # not first run: remove our old symlink
elif [ -e /dev/video0 ]; then
sudo mv /dev/video0 /dev/video0.original # first run: rename original video0
View keybase.md

Keybase proof

I hereby claim:

  • I am jmiserez on github.
  • I am jmiserez (https://keybase.io/jmiserez) on keybase.
  • I have a public key ASB1Z3r-6WbG1JJ12os9xUuXhFMe5QElabQLKWD_M29nPQo

To claim this, I am signing this object:

@jmiserez
jmiserez / vm.c
Created Jan 6, 2016
X86 (subset) interpreter, prototype. Reads instructions from plaintext file, instructions separated by spaces.
View vm.c
/*
* vm.c - Simple X86 interpreter
*
* Copyright (c) 2013, Jeremie Miserez <jeremie@miserez.org>
*/
/*
* Highlights/Features not specified in assignment
* ===============================================
* - Memory simulation of all 4GB with paging
View xenvm_decrypt_backup.sh
#!/bin/bash
#
# xenvm_decrypt_backup.sh
#
# Author: Jeremie Miserez <jeremie@miserez.org>
# Latest version: https://gist.github.com/jmiserez/11a8aafeee9256645ac5
#
# This script will decrypt encrypted images generated by xenvm_backup_encrypted.sh,
# (https://gist.github.com/jmiserez/f7771d0c82455128839d), when given a .key.enc file
# and if all related files are in the same directory as the .key.enc file.
@jmiserez
jmiserez / xenvm_backup_encrypted.sh
Last active Jan 6, 2016
Offline backup (cold, with shutdown/startup) of a XenServer VM with gzip, rate-limiting (pv), and public key + AES256 encryption (openssl). See xenvm_decrypt_backup.sh (https://gist.github.com/jmiserez/11a8aafeee9256645ac5) for decryption. Note: You *must* trust both the remote and local server, as well as the SSH connection.
View xenvm_backup_encrypted.sh
#!/bin/bash
#
# xenvm_backup_encrypted.sh
#
# Author: Jeremie Miserez <jeremie@miserez.org>
# Latest version: https://gist.github.com/jmiserez/f7771d0c82455128839d
#
# This script will:
# 1. Connect to a remote XenServer server over SSH
# 2. Shutdown the specified VM
@jmiserez
jmiserez / pidtree.sh
Last active Oct 6, 2015
Find child processes (and their children, etc.) with one ps call (no race conditions)
View pidtree.sh
#!/bin/bash
# Original idea: http://superuser.com/a/784102/59125
pidtree(){
pids_for_ppid=()
while read pid ppid; do
pids_for_ppid[$ppid]+=" $pid"
done < <(ps -e -o pid,ppid --no-headers)
You can’t perform that action at this time.