Skip to content

Instantly share code, notes, and snippets.

View kousu's full-sized avatar

Nick Guenther kousu

View GitHub Profile
@kousu
kousu / README.md
Last active April 8, 2021 22:13
extract functions

Extract an indented block from a file, starting from a given header line.

Usage: extract.awk HEADER file

e.g.

$ ./extract.awk a t
   a() {
@kousu
kousu / sanitize.py
Created April 5, 2021 09:31
Sanitize a file path against directory traversal in python
import os.path
def sanitize_path(path):
"""
Sanitize a path against directory traversals
Based on https://stackoverflow.com/questions/13939120/sanitizing-a-file-path-in-python.
>>> sanitize_path('../test')
'test'
@kousu
kousu / README.md
Last active March 26, 2021 19:50
showterm.io sh client, with https://github.com/ConradIrwin/showterm/issues/48 applied

showterm.io

Installation:

mkdir -p ~/.local/bin
curl https://gist.githubusercontent.com/kousu/855c164979af078f623fd44f0e1b5350/raw/6536924551c9de7143492c407f4e584389ba3f9f/showterm > .local/bin/showterm
chmod +x .local/bin/showterm
@kousu
kousu / README.md
Created March 19, 2021 20:17
Repo splitting with git filter-repo

To split the GUI plugin, spread over two branches (1 2) and two folders (shimmingtoolbox/gui/, shimmingtoolbox/fsleyes-plugin-shimming-toolbox), out from [email protected]:shimming-toolbox/shimming-toolbox.git to [email protected]:shimming-toolbox/fsleyes-plugin-shimming-toolbox.git:

  1. sudo pacman -S git-filter-repo [or your local option]
@kousu
kousu / README.md
Created November 28, 2020 06:22
http cert pinning

Generate certificate pins for your apps.

For all of you wanting this feature there's a great option out there if you're willing to step beyond Signal: Conversations. There's no primary/secondary distinction: it does true-multi-device multi-key encryption (they adopted libsignal and built on it and I'm very grateful that OWS developed and released it so it could be built upon), as well as video chat, file attachments (encrypted, of course), and cross-device history syncing, and all that at 1/3rd the size of Signal, and without a dependency on push notifications. And you can pretty easily set up alt identities and use them on the same devices so there's no need to worry about [giving out a private number](https://www.vice.com/en_us/article/9kaxge/how-to-use-signal-without-giving-out-your-phone-number-a-gender

#!/usr/bin/env bash
# upload a file to neuropoly's wiki's filestore at https://www.neuro.polymtl.ca/lib/exe/mediamanager.php
# public domain
# author: [email protected]
#
# TODO: be fully scp compatible: we should be able to specify the target filename, disambiguating between DESTs ending in / or not
set -eo pipefail # crash on sub-errors; pipefail is a bashism, but sooo useful
set -u # crash on missing vars
This file has been truncated, but you can view the full file.
This file has been truncated, but you can view the full file.
@kousu
kousu / test.py
Last active February 7, 2020 09:25
Better python breakpoint()
# Try 'python test.py' with the above breakpoint hook loaded. Try adding/removing/editing the variables.
def g(a,b,c):
print(locals())
print()
print(globals())
print()
a+=b+c
print("Before the breakpoint", locals())