Skip to content

Instantly share code, notes, and snippets.

View jnothman's full-sized avatar

Joel Nothman jnothman

  • Canva
  • Sydney
View GitHub Profile
@jnothman
jnothman / onto-screen.scpt
Last active December 3, 2024 11:46
Apple script to get windows back on screen
#!/usr/bin/osascript
on run argv
set l to 0
set t to 0
repeat with j from 1 to (count argv)
set a to item j of argv
tell application a
repeat with x from 1 to (count windows)
set b to bounds of window x
@jnothman
jnothman / timedeltatype.py
Created November 12, 2012 05:41
An argparse type factory that produces datetime.timedelta objects
import datetime
import re
class TimeDeltaType(object):
"""
Interprets a string as a timedelta for argument parsing.
With no default unit:
>>> tdtype = TimeDeltaType()
@jnothman
jnothman / docxtables.py
Created August 27, 2018 05:23
Load tables from Word docx to pandas dataframe
import zipfile
from lxml import etree
import pandas as pd
def read_docx(docx_file, **kwargs):
"""Read tables as DataFrames from a Word document
"""
ns = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
with zipfile.ZipFile(docx_file).open('word/document.xml') as f:
root = etree.parse(f)
@jnothman
jnothman / DataBricksNotebook2Ipynb.jq
Last active September 12, 2022 06:35
Approximately convert DataBricks notebook (unzipped .dbc file) to ipynb
.language as $lang |
{
"metadata" : {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
@jnothman
jnothman / check_multilabel_output_shapes.py
Created August 23, 2017 03:07
multilabel decision_function and predict_proba output shapes
import warnings
import sklearn
warnings.simplefilter('ignore')
from sklearn import *
X, y = datasets.make_multilabel_classification()
for clf in [tree.DecisionTreeClassifier(),
neighbors.KNeighborsClassifier(),
neural_network.MLPClassifier(),
multioutput.MultiOutputClassifier(linear_model.LogisticRegression()),
@jnothman
jnothman / fromisoformat.py
Created May 30, 2019 00:28
datetime.fromisoformat backported from Python 3.7
"""datetime.fromisoformat backported from Python 3.7
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.
@jnothman
jnothman / forkme.svg
Last active November 17, 2021 05:08
"Fork me on GitHub" ribbon in LaTeX/TikZ vector graphic
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@jnothman
jnothman / paramfunc.py
Last active July 13, 2021 01:58
A wrapper for functions so that they can be parametrized with get_params and set_params in scikit-learn: proof of concept
from collections import defaultdict
import pandas as pd
class parametrized_function:
def __init__(self, _func, **kwargs):
self._func = _func
self.__doc__ = self._func.__doc__
self.__name__ = self._func.__name__
# TODO use inspect to automatically find parameters with defaults
@jnothman
jnothman / userjs-qualtrics-newline.js
Created April 27, 2021 02:19
UserJS script to put newlines in qualtrics reports
// ==UserScript==
// @name Show newlines in Sydney U qualtrics reports
// @version 0.1
// @description try to take over the world!
// @author Joel Nothman
// @match https://sydney.au1.qualtrics.com/CP/Report.php?*
// @icon https://www.google.com/s2/favicons?domain=qualtrics.com
// @grant none
// ==/UserScript==