Skip to content

Instantly share code, notes, and snippets.

View PiDelport's full-sized avatar
💜
𝝺 🦀️ 🐍️ ☕️ 🏳️‍🌈️ 🏳️‍⚧️

Pi Delport PiDelport

💜
𝝺 🦀️ 🐍️ ☕️ 🏳️‍🌈️ 🏳️‍⚧️
View GitHub Profile

Keybase proof

I hereby claim:

  • I am pjdelport on github.
  • I am pjdelport (https://keybase.io/pjdelport) on keybase.
  • I have a public key whose fingerprint is 5A44 5F43 932D FC9D 883B 84ED 1329 29ED A54F 5DCB

To claim this, I am signing this object:

@PiDelport
PiDelport / Chain.hs
Last active August 29, 2015 14:05 — forked from mrb/Chain.hs
Variation and feedback on Michael Bernstein's Markov chain implementation
module Chain where
import Control.Applicative
import Data.List (tails, unfoldr)
import System.Random (RandomGen, newStdGen, randomR)
import qualified Data.Map.Strict as M
import Data.Sequence as S (Seq, (><), (|>))
import qualified Data.Sequence as S
@PiDelport
PiDelport / tox.ini
Created August 16, 2012 23:34
Baseline Tox config for supported versions of Python and Django.
# See http://tox.testrun.org/
#
# Supported Python 2.* environments: py{26,27,py}-dj{13,14,dev}
# Supported Python 3.* environments: py{31,32}-djdev
[tox]
minversion = 1.4
envlist = py27-dj14
# envlist =
# py26-dj13, py26-dj14, py26-djdev,
#!/bin/sh -e
dist="tinymce_${1:?}.zip"
wget -N "http://github.com/downloads/tinymce/tinymce/$dist"
unzip "$dist"
rm -r tinymce/examples
mv tinymce/changelog.txt tinymce_changelog.txt
cp -a tinymce/jscripts/tiny_mce/* js/tinymce/resources
@PiDelport
PiDelport / pkg_tree.py
Last active October 9, 2015 08:17
Visualize Python distribution dependency graphs.
#!/usr/bin/env python
"""
Running::
python pkg_tree.py | dot -Txlib
Requires `pydot`.
"""
import pkg_resources
@PiDelport
PiDelport / format_call.py
Last active October 10, 2015 21:48
Format a function call as a string.
import inspect
def format_call(func, *positional, **named):
_locals = inspect.getcallargs(func, *positional, **named)
spec = inspect.getargspec(func)
argvalues = inspect.formatargvalues(spec.args, spec.varargs, spec.keywords, _locals)
return '{}{}'.format(func.__name__, argvalues)
@PiDelport
PiDelport / curried.scm
Last active January 12, 2016 00:50
This snippet defines curried versions of lambda and define, and was originally posted on #scheme (Freenode IRC, 2007)
;;; Analogous to lambda, but curried.
(define-syntax curried
(syntax-rules ()
((curried () body ...) (lambda () body ...))
((curried (arg) body ...) (lambda (arg) body ...))
((curried (arg args ...) body ...)
(lambda (arg . rest)
(let ((next (curried (args ...) body ...)))
(if (null? rest)
next
-- Sequence a list of Either-yielding monadic actions.
-- Sequencing stops on the first Left value, or yields a list successful Right values.
sequenceRights :: Monad m => [m (Either e t)] -> m (Either e [t])
sequenceRights [] = pure (pure [])
sequenceRights (x:xs) = handle =<< x
where
handle (Left e) = pure (Left e)
handle (Right t) = (t:) <<$>> sequenceRights xs
@PiDelport
PiDelport / templatelexer.py
Created August 8, 2012 20:29 — forked from eliben/templatelexer.py
Some takes on Eli Bendersky's implementation of Rob Pike's template lexer in Go.
from collections import namedtuple
TOK_TEXT = 'TOK_TEXT'
TOK_LEFT_META = 'TOK_LEFT_META'
TOK_RIGHT_META = 'TOK_RIGHT_META'
TOK_DUMMY = 'TOK_DUMMY'
# A token has
@PiDelport
PiDelport / slack-web-workspace-sidebar.user.js
Last active December 28, 2022 18:06
Slack Web Workspace Sidebar
// ==UserScript==
// @name Slack Web Workspace Sidebar
// @description Enable the workspace sidebar on the web version of Slack.
// @namespace https://github.com/PiDelport/
// @author Pi Delport <pjdelport@gmail.com>
// @version 1.0
// @license MIT
// @homepageURL https://gist.github.com/PiDelport/513676916e8fc186a09edfc8965a410b
// @match https://app.slack.com/*
// ==/UserScript==