Skip to content

Instantly share code, notes, and snippets.

View sbliven's full-sized avatar
💻
Typing...

Spencer Bliven sbliven

💻
Typing...
View GitHub Profile
@sbliven
sbliven / Automata.ipynb
Created May 2, 2024 08:57
Explore 1D Cellular Automata in python
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@sbliven
sbliven / 404ForCaseSensitiveURLs.js
Last active March 16, 2024 09:32 — forked from AmrEldib/404ForCaseSensitiveURLs.js
Jekyll 404 page on GitHub Pages to fix case sensitive URLs
var allposts = [];
function redirectToCorrectPage() {
console.log("Unable to find page. Trying other URL cases.");
{% for post in site.pages %}
allposts.push("{{ post.url }}");
{% endfor %}
var url = window.location.pathname;
// strip trailing /
if (url.slice(-1) === "/") {
url = url.slice(0, -1);
@sbliven
sbliven / google-authenticator.rb
Last active March 16, 2024 09:31 — forked from Dan-Q/google-authenticator.rb
Command-line Google Authenticator (TOTP)
#!/usr/bin/env ruby
# frozen_string_literal: true
# encoding: utf-8
#
# TOTP implementation (google authenticator)
#
# Reads ~/.google-authenticator-accounts for account info.
# For security, you should run `chmod 600 ~/.google-authenticator-accounts
#
# Changelog:
@sbliven
sbliven / cif2pdb.py
Created April 26, 2017 19:27
Convert mmCIF files to PDB format using biopython
#!/usr/bin/env python
"""
Script to convert mmCIF files to PDB format.
usage: python cif2pdb.py ciffile [pdbfile]
Requires python BioPython (`pip install biopython`). It should work with recent version of python 2 or 3.
@author Spencer Bliven <spencer.bliven@gmail.com>
"""
@sbliven
sbliven / handlebar-demo.ts
Created October 25, 2023 08:03
Initial draft for job configuration schema
const Handlebars = require('handlebars');
const json = {
job: {
pids: ["10/1","10/2","10/3"],
owner: "bliven_s",
status: "SUCCESS"
},
secrets: {
jwt_token: "8AK820="
@sbliven
sbliven / 1_to_1_scale.ipynb
Created April 17, 2023 23:14
SVG images for XKCD "1-to-1 scale" https://xkcd.com/2761/
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@sbliven
sbliven / restore_pb.sh
Created December 7, 2022 22:11
Karabiner Elements script to use Fn-<key> for emojis and unicode
#!/bin/zsh
# Restores the clipboard after running unicode_fn.sh
export LC_ALL='en_US.UTF-8'
export LANG='en_US.UTF-8'
sleep .1
pbpaste -pboard ruler | pbcopy
@sbliven
sbliven / Lunar Lander.ipynb
Last active January 11, 2022 09:00
Calculations for DanQ's Lunar Lander game (https://danq.me/2018/03/03/lunar-lander/)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@sbliven
sbliven / TimeDistToZurich.csv
Last active August 11, 2021 12:35
driving distance around zurich (in minutes)
lon lat duration
8.5215272410261 47.3957616953417 0
8.371835 47.24679 31.235
8.371027 47.250516 29.9966666666667
8.372975 47.255491 29.2833333333333
8.37146 47.260156 28.6333333333333
8.372376 47.264277 29.7183333333333
8.369903 47.269002 33.515
8.371152 47.274843 31.0783333333333
8.371162 47.280342 27.5366666666667
import shapefile
def replace_escape(s):
return s.replace(b'\xc3\x82\xc2',b'\xc2').replace(b'\xc3\x83\xc2',b'\xc3')
sf = shapefile.Reader("swisscantonsmod/ch-cantons.dbf")
print(f"records: {len(sf.records())}")
print(f"shapes: {len(sf.shapes())}")
out = shapefile.Writer("swisscantonsmod/ch-cantons_fixed.dbf")
for f in sf.fields: