Skip to content

Instantly share code, notes, and snippets.

David Shepherd davidshepherd7

Block or report user

Report or block davidshepherd7

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:d9b99d7762ca796d3501
(defun true1 () t)
(setq function-list (list #'true1))
(cons 'or function-list)
(eval (cons 'or function-list))
View gist:579fd585b891a81eec73
(defun dwim-entire-line (function)
(if (region-active-p)
(funcall function (region-beginning) (region-end))
;; else
(funcall function (point-at-bol) (point-at-beginning-of-next-line))))
(global-set-key (kbd "M-;") (lambda () (interactive)
(dwim-entire-line 'comment-or-uncomment-region)))
@davidshepherd7
davidshepherd7 / gist:d9fe1ae929e3dde22c1d
Created Feb 10, 2015
Scaled block matrices in LaTeX
View gist:d9fe1ae929e3dde22c1d
\newcommand{\scalemath}[2]{\scalebox{#1}{\begin{math} {#2} \end{math}}}
\newcommand{\Aprime}{\scalemath{0.5}{\begin{matrix} \Amm & \Abound \\ \zm & -\Idm \end{matrix}}}
\newcommand{\Gprime}{\scalemath{0.5}{\begin{matrix} \zm & \zm \\ \zm & \bm \end{matrix}}}
\newcommand{\Qprime}{\scalemath{0.5}{\begin{matrix} \Qm \\ \zm \end{matrix}}}
Combining the above with the Jacobian matrix as derived in \cref{sec:llg-magn-coupl}, the complete Jacobian is
\begin{equation}
\Jm =
\scalemath{2}{
@davidshepherd7
davidshepherd7 / Makefile
Created Apr 12, 2015
coursera crypto assignment 4: fixed Makefile
View Makefile
all: vrfy mac
vrfy: vrfy.o cbcmac.o aes_core.o
gcc -o vrfy vrfy.o cbcmac.o aes_core.o -lpthread
mac: mac.o cbcmac.o aes_core.o
gcc -o mac mac.o cbcmac.o aes_core.o -lpthread
clean:
rm -f mac.o aes_core.o cbcmac.o mac.o vrfy.o vrfy mac
@davidshepherd7
davidshepherd7 / isplit.py
Created Apr 17, 2015
python string split iterator
View isplit.py
#! /usr/bin/env python3
import sys
import re
def isplit(string, delimiter = None):
"""Like string.split but returns an iterator (lazy)
Multiple character delimters are not handled.
@davidshepherd7
davidshepherd7 / gist:4105231
Created Nov 18, 2012
1.31 Velocity Transformation
View gist:4105231
;; Just use the transformation from the example then pull out the velocity from the tuple.
(define (velocity-transform coordinate-transform)
(compose (lambda (tuple) (velocity tuple)) (F->C coordinate-transform)))
;; ;; Or explicitly using Gamma-bar this is:
;; (define (velocity-transform coordinate-transform)
;; (define (f-bar q-prime)
;; (define q (compose coordinate-transform (Gamma q-prime)))
;; (Gamma q))
;; (compose (lambda (x) (velocity x)) (Gamma-bar f-bar)))
@davidshepherd7
davidshepherd7 / gist:4666285
Created Jan 29, 2013
example parallel parameter sweep for an oomph-lib driver
View gist:4666285
#!/usr/bin/env python
import subprocess as subp
from multiprocessing import Pool
import itertools
import sys
import numbers
import argparse
View Automatically run make on multiple cores
# Changes to defaults for "make"
# ============================================================
# How many cores do we have? Find out from /proc/cpuinfo (using regexp matching
# the start of info for a new processor).
NCORES=`grep --count '^processor[[:space:]]*:' /proc/cpuinfo`
# Apparently make runs fastest with one more job than there are cores.
NJOBS=$(($NCORES + 1))
export MAKEFLAGS="-j$NJOBS"
View gist:5883871
/// \short Indexed output function to print a matrix to the stream outfile
/// as i,j,a(i,j) for a(i,j)!=0 only with a specified precision.
void sparse_indexed_output(std::ostream &outfile,
const unsigned &precision,
const bool& output_bottom_right_entry_regardless=false) const
{
// Note: we might have to specify "output_bottom_right_entry_regardless"
// as well (can't be a default). C++ can silently convert between
// unsigned and bool, so having a default set for
// output_bottom_right_entry_regardless would give the same function
You can’t perform that action at this time.