Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python
# -*- coding: utf-8 vi:noet
# Dump a clear-text version of an SSH key from gpg-agent
__author__ = "Jérôme Carretero <cJ-tub@zougloub.eu>"
__licence__ = "MIT"
import sys, io, subprocess, re, ctypes
libgcrypt = ctypes.CDLL("libgcrypt.so")
@zougloub
zougloub / dvr.py
Last active May 13, 2023 07:58
Tiny DVR for RTSP/H264 cameras
#!/usr/bin/env python
# -*- coding:utf-8 vi:noet
# RTSP/H264 simple camera DVR
__author__ = "Jérôme Carretero <cJ-tub@zougloub.eu>"
__license__ = "MIT"
import sys, io, os, re, time, datetime
import gi
#!/usr/bin/env python
# -*- coding: utf-8 vi:noet
# Thermoco reader
import subprocess
class Thermoco(object):
def __init__(self, mac):
self._mac = mac
@zougloub
zougloub / argh.cpp
Created June 5, 2018 03:38
When you have too many warnings in a piece of code and then track down a corruption issue...
#include <cstdio>
class C {
public:
C() {
printf("%s this=%p\n", __func__, this);
}
~C() {
printf("%s this=%p\n", __func__, this);
}
@zougloub
zougloub / ram_usage.py
Last active May 21, 2018 23:44
RAM usage script
#!/usr/bin/env python
# -*- coding: utf-8 vi:noet
# Measure RAM usage by a process (and its children) on Linux
import sys, io, os, logging, subprocess, time
def ram_usage(pid, depth=0):
pss = 0
logging.debug("%s Checking %d", " " * depth, pid)
#!/usr/bin/env python
# -*- coding: utf-8 vi:noet
# Characterization test for SMR drives
import sys, os, subprocess, time, mmap
if __name__ == "__main__":
device = sys.argv[1]
@zougloub
zougloub / README.rst
Last active April 6, 2017 22:11
QR code abuse: when the code is decoded by a computer, we can pervert it by adding moar extra data in chroma...

QR Code Abuse

QR code with additional data in grey level.

QR code with additional data in grey level.
#!/usr/bin/env python
# -*- coding: utf-8 vi:noet
# Example of data source using subprocess, python 2 & 3 compatible
"""
This illustrates in a short example, a solution to a few caveats:
- read() that can hang if the subprocess closes
- select() that knows nothing about the subprocess closing
"""
@zougloub
zougloub / README
Last active December 30, 2016 21:17
# Create a big file (sparse)
truncate --size=100G huge.bin
# check the stuff to make sure it's not a virus
cat *.py *.sh
# Run this in one terminal
./twisted_0_stream_server.py
# Run this in another
@zougloub
zougloub / H100iGTX.py
Last active November 12, 2016 07:59
Simple H100i GTX controller script - puzzle du jour
#!/usr/bin/env python
# -*- coding: utf-8 vi:noet
# Corsair H100i GTX driver
import struct, time, binascii, sys, io
import usb
import scipy.interpolate
VIDPIDS = [
(0x1b1c, 0x0c03), # H100i GTX