Skip to content

Instantly share code, notes, and snippets.

View mattkatz's full-sized avatar

Matt Katz mattkatz

View GitHub Profile
@mattkatz
mattkatz / pre-commit-check-debuggers.bash
Last active March 1, 2022 16:32 — forked from yalestar/gist:1054190
pre-commit hook to prevent me from accidentally checking in debug code
#!/bin/sh
#
# This hook prevents you from committing any file containing "debugger".
#
# To enable this hook, rename this file to ".git/hooks/pre-commit".
DIFF_FILES=`git diff-index HEAD --cached --name-only`
if [ $? -ne 0 ]
then
# created by doing vim surgery on
# https://github.com/pygments/pygments/blob/master/pygments/lexers/_mapping.py
ext_map = {'.htaccess': ['apacheconf', 'aconf', 'apache'],
'BAS': ['qbasic', 'basic'],
'Dockerfile': ['docker', 'dockerfile'],
'G': ['antlr-as', 'antlr-actionscript','antlr-csharp', 'antlr-c#','antlr-cpp','antlr-java','antlr-objc','antlr-perl','antlr-python','antlr-ruby', 'antlr-rb'],
'Kconfig*': ['kconfig', 'menuconfig', 'linux-config', 'kernel-config'],
'PRG': ['foxpro', 'vfp', 'clipper', 'xbase'],
'Rd': ['rd',],
'Rout': ['rconsole', 'rout'],
@mattkatz
mattkatz / logdoc.py
Last active August 3, 2018 15:24
A dirty decorator for logging the docstrings of methods as they get called.
from functools import wraps
# sometimes you need to do a bunch of tracing and it is easier to just see docstrings flow by rather than write print statements.
def logdoc(func):
'''Wraps a function and logs the docstring of that function whenever it is called
Just decorate the function:
@logdoc
def foo(bar):
"""prints the bar and returns twice the bar"""
print(bar)
@mattkatz
mattkatz / gist:65bbc17dbad94c97a01a472734b65d50
Created September 1, 2016 14:57 — forked from shacker/gist:87908e13c9ee6655ce90
Using the Workday API with Python and the suds client library
import sys
from suds import client
from suds.wsse import Security, UsernameToken
from suds.sax.text import Raw
from suds.sudsobject import asdict
from suds import WebFault
'''
Given a Workday Employee_ID, returns the last name of that employee.
@mattkatz
mattkatz / SalesForceBackup.py
Last active July 16, 2022 09:42
Simple python Script to backup a salesforce instance to csv files
from simple_salesforce import Salesforce, SalesforceMalformedRequest
from argparse import ArgumentParser
from csv import DictWriter
from datetime import date
from pathlib import Path
production_instance = 'yourinstance.salesforce.com'
parser = ArgumentParser(description="Backs up all Salesforce objects to csv files")
parser.add_argument("username", help="User to authenticate as. Should be part of an 'integration_user' profile or some profile with no ip range restriction")
@mattkatz
mattkatz / DataMasseuse.py
Created June 3, 2016 16:54
PETL example
from pathlib import WindowsPath
import petl as etl
class DataMasseuse:
data_files = WindowsPath("s:\files\QTRLY");
new_data_files = WindowsPath("s:\files\QTRLY\cleaned")
final_file = new_data_files / "final_file.csv"
def main(self):
#let's start fresh. Delete the previous result

Keybase proof

I hereby claim:

  • I am mattkatz on github.
  • I am mattkatz (https://keybase.io/mattkatz) on keybase.
  • I have a public key whose fingerprint is RETU RN T HIS. PGP. GET_ FING ERPR INT( ); }

To claim this, I am signing this object:

// by dave @ beesandbombs.tumblr.com
////////////////////////////////////
int[][] result;
float time;
void setup() {
setup_();
result = new int[width*height][3];
}
@mattkatz
mattkatz / gist:5217960
Last active December 15, 2015 06:39
Why does this angular route never work? Nothing gets logged by TestCtrl...
/*
url is http://localhost/~matt/wp/wp-admin/admin.php?page=wordprss.php#/feed/2
*/
function FeedListCtrl($scope, $http, $routeParams,$location,$log){
$log.log('in feedscontrol');
$log.log('location is '+ $location.path());
$log.log($routeParams);
}
@mattkatz
mattkatz / index.html
Created November 19, 2012 22:14
Trying blocks
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Faceur</title>
<meta name="description" content="">