Skip to content

Instantly share code, notes, and snippets.

@MercuryRising
MercuryRising / gravitytrain.py
Created August 28, 2013 21:19
Hypocycloid Gravity Train
# -*- coding: utf-8 -*-
from math import *
import wolframalpha
client = wolframalpha.Client("YHQ3GK-PT45KT9AHG")
radius = 6367500
circumference = 2*pi*radius
gravitational_constant = 9.8 # m/s2
@MercuryRising
MercuryRising / quick_sort_inplace.py
Created April 14, 2013 07:17
quick sort in place
def quick_sort_partition(sequence, left, right):
'''
In place sorts the subsequence of sequence[left:right]
'''
pivot_value = random.choice(sequence[left:right])
pivot_index = sequence.index(pivot_value)
sequence[pivot_index], sequence[right] = sequence[right], sequence[pivot_index]
@MercuryRising
MercuryRising / easyalias.py
Last active December 15, 2015 17:29
Easy aliaser for bash. If you keep navigating to directories to run files, easyalias them.
#!/usr/bin/python
'''
Bash RC aliaser
Usage: easyalias aliasName aliasPath
Outputs: run source ~/.bashrc for commands to take effect
Configuration: If you have a different shell or your bashrc is somewhere other than ~/.bashrc, you'll need to change it.
It wouldn't be a bad idea to use ~/.bash_aliases instead of your bash file directly (changing config will do it).
@MercuryRising
MercuryRising / easyalias.py
Last active December 15, 2015 11:09
Easily alias your bashrc file (a 'step through' of making the program)
'''
We are going to make a program that lets us run something like:
python easyalias.py sl ls
or
python easyalias.py I_want_my_python_now python
and adds the alias to our .bashrc file, letting us easily add aliases that persist without directly editing the file.
''' This is adapted from an example I found somewhere, if anyone knows what it is let me know and I'll credit the original '''
import threading
import time
import math
import gobject
import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
import random
#/usr/bin/python
import serial
import time
import sys
extruderSetPoint = 345
bedSetPoint = 6300
ser = serial.Serial("/dev/ttyUSB0", 115200)
@MercuryRising
MercuryRising / parserComparison.py
Created November 12, 2012 19:29
Pyquery, lxml, BeautifulSoup comparison
from bs4 import BeautifulSoup as bs
from pyquery import PyQuery as pq
from lxml.html import fromstring
import re
import requests
import time
def Timer():
@MercuryRising
MercuryRising / rcl.py
Created November 6, 2012 04:27
Reddit Command Line
#! /usr/bin/env python2
# Requests is much easier to use than urllib
import requests
# needed for sys.exit()
import sys
# Wrap it in a function you can, you might find a use for it later
# We're adding subreddit functionality, but still providing a default
@MercuryRising
MercuryRising / redisCache.py
Created October 13, 2012 20:06
Caching Files
import redis
import time
import random
def load_file(fp, fpKey, r, expiry):
with open(fp, "rb") as f:
data = f.read()
p = r.pipeline()
p.set(fpKey, data)
@MercuryRising
MercuryRising / flask_redis_cache.py
Created October 12, 2012 00:14
Flask Redis Cache
import redis
import time
def cache_or_get(fp, expiry=300, r=redis.Redis(db=5)):
'''
Input fp: file to cache or get
Input expiry: time to expire for file (default 300 seconds)
Input r: redis instance (default new instance with db set to 4)
Usage: