Skip to content

Instantly share code, notes, and snippets.

View val314159's full-sized avatar

val314159 val314159

View GitHub Profile
@val314159
val314159 / Docker.makefile
Created September 1, 2016 22:43
Docker Makefile
NAME=vvm
all: clean build rund ;
clean: ; rm -f Dockerfile ; docker rm -f $(NAME) ; true
build: Dockerfile ; docker build --tag $(NAME) . && rm Dockerfile
runi: ; docker run -it --name $(NAME) $(NAME)
rund: ; docker run -d --name $(NAME) $(NAME)
exec: ; docker exec -it $(NAME) /bin/bash -c "TERM=$(TERM) exec bash"
ps: ; docker ps
Dockerfile: Makefile ; echo "$$DOCKERFILE" >Dockerfile
######################################## ######################################
@stonehippo
stonehippo / docker_x11_gui_osx.md
Last active December 6, 2021 00:21
Getting X11 GUI applications to work on OS X with Docker

Getting X11 GUI applications to work on OS X with Docker

$ brew install socat
$ brew cask install xquartz <--- assuming you don't already have XQuartz installed some other way
$ open -a XQuartz <--- start an XQuartz session

$ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
@val314159
val314159 / yottaauthapp.py
Last active September 30, 2015 23:43
Yotta Authorization App
class YoctoAuthApp(object):
def __init__(self, auth_obj={}):
_.auth_obj = auth_obj
def __call__(self, env, start):
def rstart(resp):
start(resp, [('Content-Type', 'application/json'),
('Access-Control-Allow-Origin', '*'), ])
try:
data = self.auth_obj
ret = [ '{}' ]
@val314159
val314159 / yottapubsub.py
Last active September 30, 2015 22:59
Yotta Pub-Sub
#!/usr/bin/env python
class YottaPubSub(object):
def __init__(_): _.sessions, _.channels = {}, {}
def add(_,sid,fun): _.sessions[sid] = fun ; _.sub( sid, [] )
def pop(_,sid): _.sessions.pop( sid ) ; _.channels.pop( sid )
def sub(_,sid,channels): _.channels[sid] = ["*",sid] + channels
def pub(_,sid,channel,msg):
for key,func in _.sessions.iteritems():
if key!=sid and channel in _.channels[key]:
func( sid, channel, msg )
@val314159
val314159 / test_gist.py
Created March 23, 2015 21:26
test gist
print "this is a gist meant to test python API calls for comments"
@jcgregorio
jcgregorio / How_to_use.html
Last active July 17, 2023 14:44
HTML Templating using the HTML <template> element and exactly 100 lines of JS. A cleaned up version of this code is now available at https://github.com/jcgregorio/stamp/.
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script src="templating.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<template id=t>
@val314159
val314159 / level_db.py
Last active August 29, 2015 14:07
db driver for leveldb
from leveldb import LevelDB as _LevelDB
def _DB(_=[]): return (_ or _.append(_LevelDB('.db')) or 1) and _[0]
def ZAP(): list(DLT(k) for k,v in RNG([]))
def DLT(k): _DB().Delete(':'.join(k))
def GET(k): return json.loads(_DB().Get(':'.join(k)))
def PUT(k,v): _DB().Put(':'.join(k),json.dumps(v))
def RNGP(pfx=''):return (((k.split(':'),json.loads(v)) for k,v in
_DB().RangeIter(pfx,pfx+'~~~')))
def RNG(k=[]): return RNGP(':'.join(k))
def DLT1P(del_pfx): return ( DLT( k ) for k,v in RNG(del_pfx) )
@val314159
val314159 / env.sh
Last active August 29, 2015 14:06
qsvr.py
source .v/bin/activate
run_qsvr () { python -u qsvr.py; }
run () { python -u qsvr.py; }
launch_qsvr () { python -u qsvr.py 1>LOG 2>&1 &}
launch () { python -u qsvr.py 1>LOG 2>&1 &}
unlaunch () { killall -9 python; }
cln () { rm -fr .? *.pyc *~ 2>/dev/null; }
$*
'''
small util lib for cors handling (in bottle)
'''
def add_headers(response):
'''
call this to slap the proper CORS headers into any dict-like object
'''
#allow_methods = ', '.join(['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'OPTIONS'])
allow_methods = ', '.join(['GET', 'HEAD', 'POST', 'OPTIONS'])
allow_headers = ', '.join(['Origin', 'X-Requested-With', 'Content-Type',
@jwreagor
jwreagor / EmacsKeyBinding.dict
Created March 20, 2014 18:41
Global Emacs Key Bindings for OS X
{
/* Keybindings for emacs emulation. Compiled by Jacob Rus.
*
* This is a pretty good set, especially considering that many emacs bindings
* such as C-o, C-a, C-e, C-k, C-y, C-v, C-f, C-b, C-p, C-n, C-t, and
* perhaps a few more, are already built into the system.
*
* BEWARE:
* This file uses the Option key as a meta key. This has the side-effect
* of overriding Mac OS keybindings for the option key, which generally