Skip to content

Instantly share code, notes, and snippets.

Avatar

Robert Coup rcoup

View GitHub Profile
@rcoup
rcoup / elf-validate.sh
Created April 24, 2023 18:51
ELF binary validation script
View elf-validate.sh
#!/bin/bash
set -eu
command -v eu-elflint >/dev/null || (echo "eu-elflint not found, install elfutils"; exit 1)
command -v scanelf >/dev/null || (echo "scanelf not found, install pax-utils"; exit 1)
BINARIES=$(scanelf -EET_EXEC -RBF %F "${1-.}")
ERRS=0
for BINARY in $BINARIES; do
@rcoup
rcoup / Makefile
Last active October 2, 2022 20:34
PROJ in a browser demo via Enscriptem+WASM
View Makefile
#export EMCC_CFLAGS := -O0 -g -sDISABLE_EXCEPTION_CATCHING=0 #-sSAFE_HEAP=1 -sSTACK_OVERFLOW_CHECK=1
export EMCC_CFLAGS := -O1 -sDISABLE_EXCEPTION_CATCHING=0
export EM_COMPILER_WRAPPER := ccache
all: one.html one-native
.PHONY: all
sqlite/sqlite3.c: sqlite-amalgamation-3390400.zip
$(RM) -r sqlite
unzip -j -d sqlite sqlite-amalgamation-3390400.zip
@rcoup
rcoup / index.html
Created August 23, 2021 10:34
GeoServer docs root index update. Fix broken header links.
View index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GeoServer Documentation</title>
<link rel="stylesheet" href="_static/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="_static/blueprint/print.css" type="text/css" media="print" />
<!--[if IE]>
@rcoup
rcoup / sequence_join_format.py
Created July 26, 2021 06:47
Python Sequence Join Format String Wrapper
View sequence_join_format.py
class J:
"""
Sequence Join Format String Wrapper
>>> seq = ['a', 'b', 1, None]
>>> print(f"default: {J(seq)}"
default: 1,b,1,None
>>> print(f"custom-delimeter: {J(seq):/-}"
custom-delimiter: a/-b/-1/-None
"""
@rcoup
rcoup / output.log
Last active February 26, 2021 12:00
Git: partial clone: promisor fetch during push (pack-objects)
View output.log
+ git --version
git version 2.30.1.602.g966e671106
+ uname -a
Darwin otata 19.6.0 Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 x86_64 i386 MacBookPro11,1 Darwin
+ rm -rf ./SK.local.git ./SK.remote.git
+ git clone --bare https://github.com/octocat/Spoon-Knife SK.remote.git
Cloning into bare repository 'SK.remote.git'...
warning: templates not found in /Users/rcoup/share/git-core/templates
remote: Enumerating objects: 16, done.
@rcoup
rcoup / .profile
Created August 8, 2019 08:15
Iterm2 Status Bar stuff
View .profile
# with Hack from https://www.nerdfonts.com/ installed
function iterm2_print_user_vars() {
# kubernetes current cluster & namespace
CONTEXT="$(kubectl config current-context)"
if [ -n "$CONTEXT" ]; then
NAMESPACE="$(kubectl config view -o=jsonpath="{.contexts[?(@.name==\"${CONTEXT}\")].context.namespace}")"
iterm2_set_user_var kubecontext "⎈ $CONTEXT:${NAMESPACE:-default}"
else
iterm2_set_user_var kubecontext ""
@rcoup
rcoup / conftest.py
Created June 27, 2019 15:02
Click CliRunner with PDB working better under pytest
View conftest.py
import contextlib
import io
import warnings
import pytest
from click.testing import CliRunner
"""
In your tests:
@rcoup
rcoup / git_revparse_single.cflow.txt
Created June 27, 2019 12:13
cflow trace for git_revparse_single()
View git_revparse_single.cflow.txt
$ cflow -T --brief --main=git_revparse_single refs.c revparse.c
+-git_revparse_single() <int git_revparse_single (git_object **out, git_repository *repo, const char *spec) at revparse.c:854>
+-git_revparse_ext() <int git_revparse_ext (git_object **object_out, git_reference **reference_out, git_repository *repo, const char *spec) at revparse.c:828>
| +-revparse__ext() <int revparse__ext (git_object **object_out, git_reference **reference_out, size_t *identifier_len_out, git_repository *repo, const char *spec) at revparse.c:663>
| | +-assert()
| | +-ensure_base_rev_loaded() <int ensure_base_rev_loaded (git_object **object, git_reference **reference, const char *spec, size_t identifier_len, git_repository *repo, bool allow_empty_identifier) at revparse.c:610>
| | | +-object_from_reference() <int object_from_reference (git_object **object, git_reference *reference) at revparse.c:596>
| | | | +-git_reference_resolve() <int git_reference_resolve (git_reference **ref_out, const git_reference *ref) at ref
@rcoup
rcoup / Dockerfile
Last active August 31, 2021 12:47
Docker container for SWIG. Helpful when you need a specific version to avoid massive diffs.
View Dockerfile
# Usage
#
# To build:
# $ docker build --build-arg SWIG_VERSION=3.0.10 -t swig .
#
# To run:
# host$ docker run --rm -it -v $(pwd):/src swig
# cont$ swig ...
#
# For SWIG 4.x use bullseye, for 3.x use buster
@rcoup
rcoup / .bashrc
Created August 13, 2018 08:14
bashrc for kubernetes context & namespace
View .bashrc
__kube_ps1()
{
# Get current context
CONTEXT="$(kubectl config current-context)"
if [ -n "$CONTEXT" ]; then
NAMESPACE="$(kubectl config view -o=jsonpath="{.contexts[?(@.name==\"${CONTEXT}\")].context.namespace}")"
echo "⎈ $CONTEXT:${NAMESPACE:-default}"
fi
}