Skip to content

Instantly share code, notes, and snippets.

View matthewfeickert's full-sized avatar
💭
☕ + 💻

Matthew Feickert matthewfeickert

💭
☕ + 💻
View GitHub Profile
@matthewfeickert
matthewfeickert / README.md
Last active May 25, 2022 06:33
Scientific open source software I've contributed to

Scientific open source software I've contributed to

This is an incomplete list that focuses only on software that is widely used to some extent.

This Gist is motivated by [Michael Zingale][Micahel GitHub]'s (@zingale) idea of an ["open source passport"][open source passport tweet]. This is not meant to be a prototype, but just a list until such a project gets made.

@matthewfeickert
matthewfeickert / README.md
Last active March 8, 2022 21:31
Use a CVMFS LCG view hybrid Python virtual environment for HTCondor submissions

Use a CVMFS LCG view hybrid Python virtual environment for HTCondor submissions

Create virtual environment

Generate a Python virtual environment using the Python runtime provided by a LCG view, and then from a high level requirements.txt file use pip-tools to compile an environment given by the accompanying lock file.

$ bash create_cvmfs_venv.sh
@matthewfeickert
matthewfeickert / README.md
Created March 3, 2022 07:25
Summary of fixed POI problem for WSMaker to pyhf translation

Summary of fixed POI problem for WSMaker to pyhf translation

It is desirable to be able to take a workspace created with WSMaker and use pyhf's translation utilities to write out a HistFactory JSON workspace file that is a pyhf compatible format. This is possible, however, when this happens the workspace has the POI fixed, which then makes statistical inference impossible.

Example

JC has shared with us one of his WSMaker workspaces that he's generated

$ tree -L 1 output/SemileptonicVBS_mc16ade_v3312_1LepOnly.1lepResBooRNNNoFid_m5_p0_SemileptonicVBS_13TeV_Systs_FS0_0_1lepResBooRNNNoFid_m5_p0/
@matthewfeickert
matthewfeickert / README.md
Last active February 18, 2022 16:09
Example for mplhep problem with contourf

mplhep styles with contourf log scale causes hang

I'm trying to do an interpolation of some points on a grid with mplhep v0.3.21 for an analysis at the moment. However, if I try to use matplotlib.pyplot.contourf with log spaces color levels using mplhep will cause a warning along the lines of

# Locator attempting to generate 18497 ticks ([0.15405694150420948, ..., 999.9912470033628]), which exceeds Locator.MAXTICKS (1000).

and it will then hang (I don't know if it resolves, as I kill it with a KeyboardInterrupt when it is clear it won't finish in a second or so).

@matthewfeickert
matthewfeickert / README.md
Created February 8, 2022 20:32
Collections of examples of how to deal with the multi-hat aspects of being a maintainer of an open source project.

Advice for Open Source Maintainers

Collections of examples of how to deal with the multi-hat aspects of being a maintainer of an open source project.

Code of Conduct Issues

Refusal to accept Code of Conduct

@matthewfeickert
matthewfeickert / Dockerfile
Last active January 9, 2022 00:16
Minimal example of xrootd Python wheel failing with setuptools v60.0.0+
ARG BASE_IMAGE=python:3.9-slim-bullseye
FROM ${BASE_IMAGE} as base
SHELL [ "/bin/bash", "-c" ]
COPY packages.txt packages.txt
# Set PATH to pickup virtualenv by default
ENV PATH=/usr/local/venv/bin:"${PATH}"
RUN apt-get -qq -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -qq -y install --no-install-recommends $(cat packages.txt) && \
@matthewfeickert
matthewfeickert / README.md
Last active November 11, 2021 07:00
floating point deviation in jax.numpy.percentile between v0.2.20 and v0.2.21

Hi. There is some (very minor) deviations in the output of jax.numpy.percentile between jax v0.2.20 and v0.2.21 in the case that linear interpolation is used (the default). Interestingly, it is really in jax.numpy.percentile and not in jax.numpy.quantile as can be shown in the included example (for convenience this Issue also exists as a GitHub Gist).

Minimal failing example

# example.py
import jax
import jax.numpy as jnp
@matthewfeickert
matthewfeickert / README.md
Created October 1, 2021 20:11
PyTorch Geometric Setup on DGX

PyTorch Geometric Setup on DGX

Steps

  1. Create a Python virtual enviroment and activate it
[user@hal-dgx]$ pyenv virtualenv 3.9.6 pytorch-geometric-example
[user@hal-dgx]$ pyenv activate pytorch-geometric-example
(pytorch-geometric-example) [user@hal-dgx]$ python -m pip install --upgrade pip setuptools wheel
@matthewfeickert
matthewfeickert / README.md
Created September 27, 2021 21:31
Simple cProfile example with snakeviz

Simple cProfile example with snakeviz

Environment Setup

Make a Python virtual environment and install the dependencies

python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements.txt
@matthewfeickert
matthewfeickert / README.md
Created September 25, 2021 18:40
Regular expressions help

If you enclose a regex in parentheses () whatever is enclosed can be used in a search and replace by a number that is indexed starting with 1. So for example

\section{\sc Research Interests}

can be found with the regex