Skip to content

Instantly share code, notes, and snippets.

Chris Morgan chris-morgan

Block or report user

Report or block chris-morgan

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 details.js
/**
* Note that this script is intended to be included at the *end* of the document, before </body>
*/
(function (window, document) {
if ('open' in document.createElement('details')) return;
// made global by myself to be reused elsewhere
var addEvent = (function () {
if (document.addEventListener) {
return function (el, type, fn) {
@chris-morgan
chris-morgan / dm2svg.py
Created Dec 13, 2011
Quick dm2svg port from perl to python (even less warranty than the perl version as it's not untested)
View dm2svg.py
#!/usr/bin/env python
import struct
def process_file(filename):
try:
f = open(filename, 'rb')
except IOError as e:
print >> sys.stderr, 'Unable to open %s: %s' % (filename, e)
View keybase.md

Keybase proof

I hereby claim:

  • I am chris-morgan on github.
  • I am chrismorgan (https://keybase.io/chrismorgan) on keybase.
  • I have a public key whose fingerprint is 74F4 5385 B466 A428 53A8 F7FC 427A D2C4 BFF0 B2C7

To claim this, I am signing this object:

@chris-morgan
chris-morgan / fibonacci.rs
Created Mar 12, 2014
An efficient Fibonacci function
View fibonacci.rs
static FIBONACCI_NUMBERS: [u64, ..93] = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657,
46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309,
3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986,
102334155, 165580141, 267914296, 433494437, 701408733, 1134903170,
1836311903, 2971215073, 4807526976, 7778742049, 12586269025, 20365011074,
32951280099, 53316291173, 86267571272, 139583862445, 225851433717,
365435296162, 591286729879, 956722026041, 1548008755920, 2504730781961,
4052739537881, 6557470319842, 10610209857723, 17167680177565,
27777890035288, 44945570212853, 72723460248141, 117669030460994,
@chris-morgan
chris-morgan / result_for.rs
Created Feb 20, 2014
A prototype of a `Result<T, E>`-based `Iterator<T, E>` replacing the `Option<T>`-based `Iterator<T>`.
View result_for.rs
#[feature(macro_rules)];
// There must be two variants of the macro for this simple prototype, each of
// them lacking one important feature and with one remaining feature completely
// infeasible in a macro_rules! macro. Done properly in the compiler these
// would be entirely reasonable.
// A variant with support for an output value from the else clause, but with no
// support for breaking out of the `for` block.
macro_rules! forr1 (
You can’t perform that action at this time.