Skip to content

Instantly share code, notes, and snippets.

View jnrbsn's full-sized avatar

Jonathan Robson jnrbsn

View GitHub Profile
@jnrbsn
jnrbsn / get_stock_price.py
Last active November 8, 2020 18:51
Get latest price of stocks, ETFs, mutual funds, etc.
import json
from concurrent.futures import ThreadPoolExecutor, as_completed
from urllib.parse import urlencode
from urllib.request import Request, urlopen
def get_latest_price_single(ticker):
url = f'https://query1.finance.yahoo.com/v8/finance/chart/{ticker}'
params = {
'region': 'US',
# Fatality rate of coronavirus outside China [1]
corona_fatal_rate = (3168 - 2945) / (92880 - 80152)
# Cases in USA [1]
corona_cases_usa = 118
# Population of USA [2]
population_usa = 329346645
# "Infection rate" of coronavirus in USA
corona_infect_rate = corona_cases_usa / population_usa
# Fatality rate of flu in USA [3]
# (average of 5 most recent seasons for which there's data 2012-2017)
@jnrbsn
jnrbsn / whereivebeen.geojson
Last active August 29, 2015 14:19
This is everywhere I've ever checked in or tagged on Foursquare, Facebook, and/or Instagram.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@jnrbsn
jnrbsn / markets.json
Last active August 29, 2015 14:19 — forked from sshirokov/markets.json
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
def degrees_to_direction(degrees):
"""Convert degrees to a compass direction."""
directions = [
'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE',
'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW',
]
return directions[int(round(float(degrees) / 22.5)) % 16]
@jnrbsn
jnrbsn / redis_pubsub.py
Created June 18, 2014 17:03
Re-establish a redis pubsub connection after losing it
import time
from redis import StrictRedis, ConnectionError
channels = ['test']
redis = StrictRedis()
pubsub = redis.pubsub()
pubsub.subscribe(channels)
while True:
try:
for item in pubsub.listen():
@jnrbsn
jnrbsn / gist:8062545
Created December 20, 2013 22:18
Install Python 2.7, easy_install, and pip on Amazon Linux
sudo yum update
sudo yum install python27
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | sudo /usr/bin/python27
sudo easy_install pip
echo "alias python='python27'" >> ~/.bashrc
source ~/.bashrc
@jnrbsn
jnrbsn / privatemethod.py
Last active May 30, 2018 08:26
Python decorator for making an instance method private
import inspect
def privatemethod(func):
"""decorator for making an instance method private"""
def func_wrapper(*args, **kwargs):
"""decorator wrapper function"""
outer_frame = inspect.stack()[1][0]
if 'self' not in outer_frame.f_locals or outer_frame.f_locals['self'] is not args[0]:
raise Exception('%s.%s is a private method' % (args[0].__class__.__name__, func.__name__))
func(*args, **kwargs)
@jnrbsn
jnrbsn / sleep.java
Created May 28, 2013 14:13
Sleep in Java
try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); }
@jnrbsn
jnrbsn / Outy.php
Created December 19, 2012 03:56
Objected-oriented command line output library for PHP.
<?php
/**
* Objected-oriented command line output library for PHP.
*
* Dependencies:
* - Console_Color PEAR package
* - Bash
*
* PHP version 5
*