Skip to content

Instantly share code, notes, and snippets.

View thobbs's full-sized avatar
🎨

Tyler Hobbs thobbs

🎨
View GitHub Profile
@thobbs
thobbs / reflection.clj
Created July 8, 2016 01:44
Code for partial reflections
(let [; pick random points for a "line of reflection"
reflection-start-x (random (w 0.0) (w 0.5))
reflection-start-y (random (h 0.5) (h 1.0))
reflection-end-x (random (w 0.5) (w 1.0))
reflection-end-y (random (h 0.0) (h 0.5))
x-spread (- reflection-end-x reflection-start-x)
y-spread (- reflection-end-y reflection-start-y)
max-spread (max x-spread y-spread)
@thobbs
thobbs / strip_border.py
Created August 28, 2018 05:46
Strip the border from an SVG for plotting through Inkscape
import sys
import lxml.etree as le
def main(filename):
with open(filename, 'r+b') as f:
doc = le.parse(f)
# strip border strokes
for elem in doc.xpath('//*[attribute::style]'):
if 'stroke:none' in elem.attrib['style']:
@thobbs
thobbs / .gdbinit
Created October 29, 2013 19:51
A version of .gdbinit that provides a pystack and pystackv command that does not hang forever. The problem appeared to be an infinite loop, so to fix it I just added a basic counter that breaks the while loop after 200 iterations.
# -*- ksh -*-
#
# If you use the GNU debugger gdb to debug the Python C runtime, you
# might find some of the following commands useful. Copy this to your
# ~/.gdbinit file and it'll get loaded into gdb automatically when you
# start it up. Then, at the gdb prompt you can do things like:
#
# (gdb) pyo apyobjectptr
# <module 'foobar' (built-in)>
# refcounts: 1
@thobbs
thobbs / make-movie.sh
Last active April 30, 2020 02:05
Script to generate animations from progress images of work
#!/bin/bash
mkdir ./animation
# make square 1200x1200 images
for fname in $@; do
echo "Converting $fname";
newfname=$(printf "animation/%04d.jpg" "$a");
convert $fname -thumbnail '1200x1200>' -background black -gravity center -extent 1200x1200 $newfname;
let a=a+1;
@thobbs
thobbs / example-utf8.py
Created November 26, 2013 17:02
UTF-8 version of example.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
log = logging.getLogger()
log.setLevel('DEBUG')
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter("%(asctime)s [%(levelname)s] %(name)s: %(message)s"))
log.addHandler(handler)
@thobbs
thobbs / example.py
Created November 6, 2013 15:36
Demonstration of timestamp and datetime behaviors for simple and prepared statements.
#!/usr/bin/env python
import logging
log = logging.getLogger()
log.setLevel('INFO')
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter("%(asctime)s [%(levelname)s] %(name)s: %(message)s"))
log.addHandler(handler)
cqlsh:keyspace1> UPDATE mentions SET mentions = 3 WHERE day = '01/05/11' AND item = 'acunu' AND time = 1;
cqlsh:keyspace1> select * from mentions;
day | item | time | mentions
----------+-------+------+----------
01/05/11 | acunu | 1 | 3
cqlsh:keyspace1> UPDATE mentions SET mentions = 5 WHERE day = '01/05/11' AND item = 'acunu' AND time = 2;
cqlsh:keyspace1> select * from mentions;
cqlsh> CREATE KEYSPACE keyspace1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1' };
cqlsh> use keyspace1;
cqlsh:keyspace1> CREATE TABLE cf3 ( key blob PRIMARY KEY, id varint, postcode text, price varint ) WITH COMPACT STORAGE;
cqlsh:keyspace1> CREATE INDEX cf3_id_idx ON cf3 (id) ;
cqlsh:keyspace1> CREATE INDEX cf3_price_idx ON cf3 (price) ;
cqlsh:keyspace1> DESCRIBE COLUMNFAMILY keyspace1.cf3;
CREATE TABLE cf3 (
key blob PRIMARY KEY,
id varint,
<?php
require_once(__DIR__.'/lib/autoload.php');
use phpcassa\Connection\ConnectionPool;
use phpcassa\ColumnFamily;
use phpcassa\Index\IndexExpression;
use phpcassa\Index\IndexClause;
~/pycassa (master)$ ./pycassaShell -k Keyspace1
----------------------------------
Cassandra Interactive Python Shell
----------------------------------
Keyspace: Keyspace1
Host: localhost:9160
Available ColumnFamily instances:
* CF1 ( CF1 )