Skip to content

Instantly share code, notes, and snippets.

View nickodell's full-sized avatar

Nick ODell nickodell

  • Fort Collins, CO
View GitHub Profile
@nickodell
nickodell / test_sgnd.c
Created July 20, 2025 18:14
Comparison of Fortran and C for division by 0
// command gcc -Wall -Wextra -pedantic test_sgnd.c -lm -o test_sgnd_c && ./test_sgnd_c
#include <stdio.h>
#include <math.h>
// Test sgnd = dp*(dx/ABS(dx)) for all combinations of [1, 0, -0, 1]
int main(void)
{
const double dp[4] = { 1.0, 0.0, -0.0, -1.0 };
const double dx[4] = { 1.0, 0.0, -0.0, -1.0 };
@nickodell
nickodell / Dockerfile
Created June 25, 2025 01:46
Working arch build environment
FROM archlinux:latest
RUN pacman -Syu --noconfirm git base-devel
RUN useradd nodell \
&& mkdir /builddir \
&& chown nodell:nodell /builddir
USER nodell
WORKDIR /builddir
RUN git clone https://aur.archlinux.org/python-scipy-mkl-tbb.git
USER root
RUN pacman -Su --noconfirm cython gcc-fortran meson-python pybind11 python-build python-installer python-pythran python-pytest python-hypothesis
(1.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j) (0.000000000000000000e+00+0.000000000000000000e+00j
@nickodell
nickodell / 1.14.1 bench.sh
Last active March 16, 2025 01:35
Benchmarking for marg_bnds PR
# 1.14.1 was benchmarked outside of SciPy's build directory
# It was done with the following command
for i in $(seq 1 7); do python3 bug-22655b.py; done
# This runs the benchmark fewer times than normal, but this is fine because 1.14.1 is very clearly faster.
@nickodell
nickodell / future-releases.md
Created March 8, 2025 19:49
How to get notified of future SciPy releases

If you'd like to sign up to be notified of future SciPy releases, here's how.

  1. Open our repository home page.
  2. Make sure you're signed into GitHub.
  3. Click Watch.
  4. Click Custom.
  5. Check the 'Releases' box.
// ==UserScript==
// @name Remove Search Pulsing
// @version 1
// @grant none
// @match https://stackoverflow.com/*
// ==/UserScript==
(new MutationObserver(check)).observe(document, {childList: true, subtree: true});
@nickodell
nickodell / filter.py
Created October 30, 2022 01:36
filter tennis court
import numpy as np
import cv2
import scipy.ndimage
import matplotlib.pyplot as plt
img = cv2.imread('HjJto.jpg')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
blue = np.array((81, 93, 147)).reshape(1, 1, 3)
rmse = np.sqrt(((img_rgb - blue)**2).mean(axis=2))
concatenated = data[['day', 'month', 'year', 'time']].astype(str).agg(' '.join, axis=1)
data['date'] = pd.to_datetime(concatenated)
user www-data;
worker_processes auto;
pid /run/nginx/nginx.pid; # only line changed from default
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}

Installing Python 3.6.8 on Raspbian

As of March 2018, Raspbian does not yet include the latest Python release, Python 3.6.8 This means we will have to build it ourselves, and here is how to do it.

  1. Install the required build-tools (some might already be installed on your system).