Skip to content

Instantly share code, notes, and snippets.

@peterjc
peterjc / decode_roomba_ir.py
Last active December 26, 2015 09:09
Python scipt to decode Roomba IR codes via the Linux mode2 tool. See http://astrobeano.blogspot.co.uk/2013/10/roomba-620-infrared-signals.html
#!/usr/bin/env python
#Copyright 2013, Peter Cock. All rights reserved.
#Released under the MIT License.
"""Python scipt to decode Roomba IR codes via the Linux mode2 tool.
Tested under Python 2.7 and Python 3.3, example usage:
$ mode2 -d /dev/lirc0 | python decode_roomba_ir.py
10101100 - 172 - 0xAC
10101100 - 172 - 0xAC
@peterjc
peterjc / reportlab_ps_test.py
Last active January 2, 2016 17:09
Standalone test case originally Biopython for resting ReportLab under Python 2 and 3. Currently seeing a segmentation fault under Python 2.7, and a TypeError under Python 3.3 when testing on Mac OS X - see http://two.pairlist.net/pipermail/reportlab-users/2014-January/010972.html
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
from reportlab.lib import colors
from reportlab.pdfbase.pdfmetrics import stringWidth
from reportlab.graphics.shapes import Drawing, String, Line, Rect, Wedge, ArcPath
from reportlab.graphics import renderPDF, renderPS
from reportlab.graphics.widgetbase import Widget
@peterjc
peterjc / update_tool_dependencies.py
Created August 18, 2016 14:56
Hack for updating Galaxy tool_dependencies.xml files with depot.galaxyproject.org URLs
# Copyright 2016 Peter Cock, James Hutton Institute.
# All Rights Reserved.
# Released as open source under the MIT license.
"""Update URLs in Galaxy tool_dependencies.xml files
Assumes have a copy of the urls.tsv file from
https://github.com/galaxyproject/cargo-port/blob/master/urls.tsv
This file defines the https://depot.galaxyproject.org/software/
URL naming used for caching Galaxy dependencies.
@peterjc
peterjc / make_roomba_lirc.py
Created November 11, 2013 23:40
Python script to generate
#!/usr/bin/env python
#Copyright 2013, Peter Cock. All rights reserved.
#Released under the MIT License.
"""Python scipt to generate Roomba IR codes for LIRC.
Tested under Python 2.7 and Python 3.3, example usage:
$ python make_roomba_lirc.py > roomba.conf
See also:
@peterjc
peterjc / keybase.md
Created April 17, 2018 15:17
Linking my GitHub profile to my KeyBase identity

Keybase proof

I hereby claim:

  • I am peterjc on github.
  • I am pjacock (https://keybase.io/pjacock) on keybase.
  • I have a public key ASDyMh8PfhtgajUDmucW2sUhci9kIZ5U2TywiDd5GKUlyAo

To claim this, I am signing this object:

@peterjc
peterjc / V4.samples.onebp.svg
Created February 19, 2020 11:24
THAPBI PICT sample report Excel screenshot - mock freshwater:marine community with 18S rRNA V4
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@peterjc
peterjc / mirror_setup.sh
Created August 17, 2018 10:58
Script to simplify setting up git repository for cron-based mirroring of a GitHub fork
#!/bin/bash
set -euo pipefail
# See https://blastedbio.blogspot.co.uk/2016/05/sync-github-mirror-with-cron.html and
# https://gist.github.com/peterjc/eccac1942a9709993040425d33680352 for mirroring script
#
# Usage:
#
# 1. Fork upstream repo under HuttonICS, disable wiki, projects, issues etc. Protect master branch.
# 2. Run:
@peterjc
peterjc / mirror_git
Last active September 8, 2021 16:44
Script to push git changes to a mirror repository using a deploy key
#!/bin/bash
# Enable strict bash mode - halts on any error
set -euo pipefail
# Takes exactly three command line arguments:
git_dir=$1
ssh_key=$2
log_file=$3
@peterjc
peterjc / on_the_wall.py
Last active February 29, 2024 13:11
Python script to keep GitHub mirrors in sync with upstream.
#!/usr/bin/env python
# Copyright 2021-2024 by Peter Cock, The James Hutton Institute.
# All rights reserved.
# This file is released under the "MIT License Agreement".
"""Python script to keep GitHub mirrors in sync with upstream.
Mirror mirror on the wall, who's the newest of them all?
Usage: