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 / 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
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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==
@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)

Title: Cleaning a git diff Date: 2020-07-02 Category: git Tags: git,shell,github,code review

Code review is easiest when the changes offered by a head branch onto a base branch are focussed on a single purpose of change. When they are not, the diff shown in GitHub can be long and hard to read, and the pull request is more susceptible to merge conflicts.

@jnothman
jnothman / populateSheetWithFolderListing.gs
Last active May 14, 2020 11:54
populateSheetWithFolderListing.gs
/* Populate a Google Sheets worksheet with a file listing from Google Drive
Useful to enable filename -> URL lookup in Google Sheets
This can be scheduled in Google Apps Script with a specified Drive directory and Google Sheets spreadsheet.
Developed by the Sydney Informatics Hub, a Core Research of the University of Sydney.
Please acknowledge our support when using this tool in your research.
Authors: Vijay Raghunath, Joel Nothman.