Skip to content

Instantly share code, notes, and snippets.

View aaronchall's full-sized avatar
😗
Working!

Aaron Hall, MBA aaronchall

😗
Working!
View GitHub Profile
@aaronchall
aaronchall / pickledemo
Last active November 6, 2021 16:57
pickle demo
>>> class Error(Exception):
... def __init__(self, foo, bar):
... return super().__init__(foo, bar)
...
>>> Error('blah', 'blah')
Error('blah', 'blah')
>>> pickle.loads(pickle.dumps(Error('blah', 'blah')))
Error('blah', 'blah')
Fails:
"""
Using Pygame, provided requirements with Nix, make a smiley take
a random walk around the display
Put a smiley.png in the same folder, and execute with:
python -m pygame_demo
"""
import pygame
def api(arg):
if isinstance(arg, (str, bytes)):
if isinstance(arg, bytes):
arg = arg.decode('utf8')
arg = [arg]
... # do something
return arg
print(api(b'123')) # -> ['123']
@aaronchall
aaronchall / monads.py
Created August 24, 2019 20:35
Python monads, WIP
from __future__ import annotations
from abc import ABC, abstractmethod, abstractproperty
from functools import partial
def main():
a = 1
b = a + 1 # bind a in b,
c = b * 2 # bind b in c, etc...
d = c ** 3
print(d)
@aaronchall
aaronchall / index.ts
Last active July 26, 2019 02:52
example of writing extension to change behavior of share file
// src/index.ts
import {
JupyterFrontEnd, JupyterFrontEndPlugin
} from '@jupyterlab/application';
import { Clipboard } from '@jupyterlab/apputils';
import { URLExt } from '@jupyterlab/coreutils';
import { IFileBrowserFactory } from '@jupyterlab/filebrowser';
@aaronchall
aaronchall / meta_stack_exchange_question
Created May 6, 2016 12:15
Is this a great formula for a hot network question or is it trolling the SE network?
Is this a great formula for a hot network question or is it trolling the SE network?
Here's a generic and easily repeatable formula for questions that could be asked on probably any site in the Stack Exchange network:
1. I have a problem that places me in a very sympathic position.
2. I have ruled out the obvious answer for arbitrary/bad reasons.
3. What do I do?
This strategy would have several attention gathering effects:
"""Remove redundancy and give function names meaning when using the route decorator.
@route
def home():
return 'hello'
@route
def profile(username):
return 'your name is ' + username
@aaronchall
aaronchall / demo.py
Last active March 7, 2016 04:35
Python implementation of multiple inheritance for The Codeless Code: Case 83 Consequences
from __future__ import print_function
class Soldier(object):
def __init__(self, rank='noob'):
self.rank = rank
def fight(self, foe):
'''abstract method? fights to death implementation'''
@aaronchall
aaronchall / demohtml5.py
Last active October 12, 2015 06:03
23 lines of Python, generate 67 lines of HTML
API:
def main():
nav = Nav([UnorderedList([ListItem([Link('foo/link', 'foo text')]),
ListItem([Link('bar/link', 'bar text')])])])
htmlobjs = Document(
head=Head(title='Example',
elems=[Keywords(['python', 'html']),
Description('demo page'),
Author('Aaron Hall'),
]),
from datetime import datetime, date
from decimal import Decimal
class TypedList(list):
'''assumes subclassed with attribute _type constructor'''
@classmethod
def gen_type(cls, iterable):
return (cls._type(i) for i in iterable)
def __init__(self, iterable=()):
super(TypedList, self).__init__(self.gen_type(iterable))