Skip to content

Instantly share code, notes, and snippets.

View tnibert's full-sized avatar

Timothy Nibert tnibert

View GitHub Profile
@tnibert
tnibert / stream.sh
Created September 29, 2019 00:52
Netcat audio stream
# this is just a dirty hack to play an mp3 over a network, need netcat and mplayer
# on the sending machine (replace localhost with ip):
nc localhost 1234 < x.mp3
# on the playing machine:
nc -l -p 1234 | mplayer -
@tnibert
tnibert / sqlimplementation.py
Last active March 6, 2020 01:20
SQL implementations
"""
This contains various implementations of SQL functions in python
The two functions are not built for the same context
"""
def hash_join(table1, index1, table2, index2):
"""
Perform a sql like join operation on two dicts, on the specified indexes
"""
from collections import defaultdict
@tnibert
tnibert / monitormem.sh
Created March 9, 2020 00:56
Monitor linux memory every minute
#! /bin/bash
#log memory each minute
while true; do
dt=`date`
mem=`cat /proc/meminfo | grep -E "MemFree"`
mem2=`cat /proc/meminfo | grep -E "MemAvailable"`
echo -e "$dt \t $mem \t $mem2" | tee -a memlog.txt
sleep 60
done
@tnibert
tnibert / getforeignkeys.py
Last active June 3, 2020 00:28
Get all foreign keys from SQLAlchemy schema
from sqlalchemy.ext.declarative import declarative_base
"""
This gist demonstrates ways to retrieve foreign keys in an SQLAlchemy database schema.
"""
Base = declarative_base()
metadata = Base.metadata
# then you must populate schema
@tnibert
tnibert / pyuac.py
Created July 8, 2020 12:24 — forked from Preston-Landers/pyuac.py
pyuac - elevate a Python process with UAC on Windows
#!/usr/bin/env python
# -*- coding: utf-8; mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
# vim: fileencoding=utf-8 tabstop=4 expandtab shiftwidth=4
"""User Access Control for Microsoft Windows Vista and higher. This is
only for the Windows platform.
This will relaunch either the current script - with all the same command
line parameters - or else you can provide a different script/program to
run. If the current user doesn't normally have admin rights, he'll be
@tnibert
tnibert / helloworld-win32-service.py
Created July 8, 2020 12:25 — forked from drmalex07/helloworld-win32-service.py
An example Windows service implemented with pywin32 wrappers. #python #windows-service #pywin32
import win32serviceutil
import win32service
import win32event
import servicemanager
import socket
import time
import logging
logging.basicConfig(
filename = 'c:\\Temp\\hello-service.log',
@tnibert
tnibert / find_big_files.sh
Created September 24, 2020 01:39
Identify large files
#!/bin/bash
# identify all files larger that 1 GB
find / -xdev -type f -size +1G -exec ls -lah {} \;
@tnibert
tnibert / reduce_implementation.py
Last active January 25, 2021 23:12
Recursive reduce implementation with test
#! /usr/bin/env python3
def reduce2(func, ls):
if len(ls) == 1:
return ls[0]
return func(reduce2(func, ls[:-1]), ls[-1])
# test
testset = [1, 2, 3, 4, 5]
@tnibert
tnibert / subnetcheck.py
Created February 25, 2021 08:33
Check if an address is in a given subnet
#! /usr/bin/env python3
split_fields = lambda addr: [int(f) for f in addr.split(".")]
def check_subnet(prefix_addr: str, prefix_length: int, to_check: str):
"""
Determine if the IPv4 address to_check is within the given subnet
:param prefix_addr: address prefix as shown in CIDR notation
:param prefix_length: the number of bits in the network section
@tnibert
tnibert / pipinstall.py
Created May 13, 2021 04:49
pip install from python 2 console
from pip._internal import main
pkg = "numpy" # example
main(['install', pkg])