Skip to content

Instantly share code, notes, and snippets.

Louis Warren louisswarren

Block or report user

Report or block louisswarren

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 keybase.md

Keybase proof

I hereby claim:

  • I am louisswarren on github.
  • I am louisswarren (https://keybase.io/louisswarren) on keybase.
  • I have a public key whose fingerprint is 1AC6 4B7A 624E 8409 A7D3 DC0F C405 A798 0B57 F6B7

To claim this, I am signing this object:

View vertext.py
#!/usr/bin/python3
from sys import argv
text = ''.join(argv[1:]).upper().replace(' ', '')
print(' '.join(text))
print('\n'.join(text[1:]))
@louisswarren
louisswarren / pcat
Last active Mar 27, 2016
Script for viewing long files in tty using only head, tail, echo, bc
View pcat
#!/bin/sh
# Use to view long files without more or less
# One-liner so that it may be easily echo'd to /bin/pcat instead of using ed
# Usage:
# pcat filename pagenum
head -n $(echo "$2 * 20" | bc) $1 | tail -n 20
View mulmatrix.py
def scale_matrix(m, s):
return list(list(s * x for x in row) for row in m)
def print_matrix(m):
print('--' + ' ' * (len(m[0]) * 10) + '--')
for row in m:
print('| ', end='')
for x in row:
print('{:10.2f}'.format(x), end='')
print(' |')
@louisswarren
louisswarren / sin_approx.py
Last active Apr 30, 2016
Test Taylor series approximations to sin
View sin_approx.py
from math import factorial, pi, sin
def max_diff(f, g, v):
return max(abs(f(x) - g(x)) for x in v)
def zigrange(x, s=1.0):
yield 0
for y in range(1, int(x / s + 0.5) + 1):
yield y * s;
yield -y * s;
@louisswarren
louisswarren / converge.py
Last active Apr 30, 2016
Guess what a function converges to
View converge.py
import itertools
def adjacent_pairs(g):
a, b = itertools.tee(g)
next(b)
return zip(a, b)
def converge(f, vals, e=1e-9):
for a, b in adjacent_pairs(vals):
if abs(f(a) - f(b)) < e:
@louisswarren
louisswarren / duseful.sh
Created May 28, 2016
du which is actually useful
View duseful.sh
#!/bin/sh
du -hd 1 2> /dev/null | sort -h
View chaos.c
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
/* Buffer is big-endian */
/* Get bits in order of descending significance */
uint8_t get_bit(const uint8_t *x, size_t n)
{
return (x[n / 8] & (1 << (7 - (n % 8)))) != 0;
@louisswarren
louisswarren / named_func.py
Last active Jun 6, 2016
Functions with human-readable representations
View named_func.py
def named_func(f):
return type('named_func', (), {
'__call__': lambda s, *a, **k: f(*a, **k),
'__repr__': lambda s: f.__name__,
'__name__': f.__name__,
'__doc__': f.__doc__,
})()
>>> @named_func
@louisswarren
louisswarren / ideas.md
Last active Jun 9, 2016
Good ideas that people should do
View ideas.md
  • Use a set-based filesystem (instead of directory based). These would act like tags. Sets generated from predicates would also be handled by the filesystem (when used), for example ?modified>yesterday, ?size<1M. These could also include file extensions.

    vlc media,?modified>yesterday

    for files in the set 'media' which were modified since yesterday, and

    vim >>modified

You can’t perform that action at this time.