Skip to content

Instantly share code, notes, and snippets.

View mfansler's full-sized avatar
⚙️

Mervin Fansler mfansler

⚙️
View GitHub Profile
@mfansler
mfansler / so-dms-env.yaml
Created October 27, 2020 17:35
Conda environment YAML for SO issue with shared libs
name: foo
channels:
- conda-forge
- bioconda
- defaults
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=1_gnu
- _r-mutex=1.0.1=anacondar_1
- binutils_impl_linux-64=2.35=h18a2f87_9
@mfansler
mfansler / so-ipopt.yaml
Created December 9, 2020 18:13
Conda environment for Pyomo with IPOPT
name: so-ipopt
channels:
- conda-forge
- defaults
dependencies:
- pyomo
- ipopt
@mfansler
mfansler / pval.go
Created January 1, 2021 21:58
Student-t test for correlation
package main
import (
"fmt"
"math"
"gonum.org/v1/gonum/stat/distuv"
)
@mfansler
mfansler / conda-list-any.py
Last active April 17, 2021 22:51
Script to check all Conda environments for a given package
#!/usr/bin/env conda run -n base --no-capture-output python
## Usage: conda-list-any.py [PACKAGE ...]
## Example: conda-list-any.py numpy pandas
import conda.gateways.logging
from conda.core.envs_manager import list_all_known_prefixes
from conda.cli.main_list import list_packages
from conda.common.compat import text_type
import sys
@mfansler
mfansler / conda-archive.sh
Last active February 16, 2021 03:36
Script to archive Conda environments to YAML
#!/bin/bash -le
# Usage: ./conda-archive.sh foo
# Result: creates "foo.full.yaml", "foo.min.yaml", and removes "foo" environment
echo "Archiving environment '$1' to YAML"
conda env export -vn $1 > $1.full.yaml
conda env export -vn $1 --from-history > $1.min.yaml
@mfansler
mfansler / conda-download.sh
Created February 15, 2021 17:09
Download Conda package tarballs needed to create an environment
#!/bin/bash -l
# use tmp dir to avoid name conflicts
tmp=$(mktemp -d)
# solve environment, ignoring existing cache
CONDA_PKGS_DIRS=$tmp conda create -dp $tmp/0 --json "$@" |\
# filter to tarball URLs
grep '"url"' | grep -oE 'https[^"]+' |\
# download locally
xargs wget -c
@mfansler
mfansler / reset_audio.sh
Created March 4, 2021 03:09
Restart Macbook coreaudiod
#!/bin/sh
sudo launchctl kickstart -k system/com.apple.audio.coreaudiod
@mfansler
mfansler / conda.txt
Last active April 25, 2024 13:53 — forked from dataprofessor/conda.txt
Installing mamba on Google Colab
#################################################################################
# INSTALL MAMBA ON GOOGLE COLAB
#################################################################################
! wget -O miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
! chmod +x miniconda.sh
! bash ./miniconda.sh -b -f -p /usr/local
! rm miniconda.sh
! conda config --add channels conda-forge
! conda install -y mamba
! mamba update -qy --all
@mfansler
mfansler / xargs_parallel_syntax.sh
Created July 22, 2022 16:38
Notes on xargs syntax for parallel execution
#!/bin/bash
## space-separated input
## -n1: run each separately
## -P6: run up to 6 in parallel
## -I '{}': replace {} with argument
## \$ delays evaluation to bash execution
## waits randomly for up to five seconds, then prints
echo {1..12} |\
xargs -n1 -P6 -I '{}' \
bash -c "sleep \$[ \$RANDOM % 5 ]; echo {}"
@mfansler
mfansler / read_ad_df.R
Created August 26, 2022 17:02
Read anndata dataframes with pure R
library(rhdf5)
library(tidyverse)
read_ad_df <- function (file, name) {
x_attrs <- h5readAttributes(file, name)
## check requested entry is a dataframe
## TODO: do we need to check encoding-version?
stopifnot(x_attrs[['encoding-type']] == "dataframe")