Skip to content

Instantly share code, notes, and snippets.

Christian Oudard christian-oudard

Block or report user

Report or block christian-oudard

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
@christian-oudard
christian-oudard / term_colors.py
Created Oct 28, 2009
Terminal output colors in python
View term_colors.py
from __future__ import print_function
"""
Utilities for 256 color support in terminals.
Adapted from:
http://stackoverflow.com/questions/1403353/256-color-terminal-library-for-ruby
The color palette is indexed as follows:
0-15: System colors
View hudson fabric deploy bash script
#!/bin/bash
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
PARENT_JOB=pstat_master_unittest
KEY_PATH=$HOME/policystat/fabric/pstat_dev.key
PROJECT_ROOT=/var/www/pstattest.com/
if [ ! -z "$WORKSPACE" ]; then
WORKSPACE=/vol/fs/var/lib/hudson/home/jobs/pstat_master_deploy/workspace
View python flatten
"""
Flatten a nested list structure.
* Works for nested structures of lists, tuples, generators, or any other iterable.
* Special-cases string types and treats them as non-iterable.
* Is not limited to the system recursion limit.
* Yields items from the structure instead of constructing a new list, and can
work on non-terminating generators.
This is basically a non-recursive version of the following:
@christian-oudard
christian-oudard / gfm.py
Created Jun 29, 2010
Github Flavored Markdown in Python
View gfm.py
import re
from hashlib import md5
def gfm(text):
# Extract pre blocks.
extractions = {}
def pre_extraction_callback(matchobj):
digest = md5(matchobj.group(0)).hexdigest()
extractions[digest] = matchobj.group(0)
return "{gfm-extraction-%s}" % digest
@christian-oudard
christian-oudard / palindromes
Created Mar 15, 2011
Palindrome number investigations
View palindromes
def digits_of(n, base=10):
"""
Split the number into its digits.
>>> digits_of(0)
[0]
>>> digits_of(123)
[1, 2, 3]
>>> digits_of(0xabc, base=16)
[10, 11, 12]
@christian-oudard
christian-oudard / luhn.py
Created Feb 8, 2012
Luhn validation algorithm for credit cards.
View luhn.py
"""
Python implementation of the Luhn algorithm.
Refer to: http://en.wikipedia.org/wiki/Luhn_algorithm
>>> is_luhn_valid(79927398713)
True
>>> is_luhn_valid(79927398714)
False
>>> is_luhn_valid(4532990475689429)
View gist:16eaeeffa2a1b1004f75
import Data.List.Zipper as Z
main = do
let string = "yabbadabbadoo"
print $ maximum $ palindromeSizes string
-- Find the size of the largest palindrome centered at each location in
-- a string. There will be 2*n-1 locations, because we count even and odd
-- centers. Go along the zipper, checking the sizes of palindromes to the left
-- and right as we go.
View keybase.md

Please publicly post the following Gist, and name it keybase.md

Keybase proof

I hereby claim:

  • I am christian-oudard on github.
  • I am christianoudard (https://keybase.io/christianoudard) on keybase.
  • I have a public key ASDUW30p7kTHKwf_VGcYiMCC_iPMzpJVFihxm4EGJG3_Gwo
You can’t perform that action at this time.