Skip to content

Instantly share code, notes, and snippets.

@mrhanlon
mrhanlon / Generate a MathCaptcha
Created May 9, 2014 21:32
Math Captcha for Java Portlets
private static final String[] NUMBERS = {"zero","one","two","three","four","five","six","seven","eight","nine","ten"};
private static final String[] OPERATIONS = {"+", "-", "×"};
private static final Random RAND = new Random(); // not high entropy, but not a big deal here
private Map<String,String> generateCaptcha(PortletSession session) {
Map<String,String> captcha = new HashMap<String, String>();
int first, second, third, op, pos, solution;
op = RAND.nextInt(OPERATIONS.length);
@mrhanlon
mrhanlon / TUTORIAL.md
Last active August 29, 2015 14:08
AIP Developer Workshop: Tutorial

AIP Developer Workshop

Tutorial Application

Tutorial 1

In this tutorial you will create and run your first science app.

git checkout tutorial/1
@mrhanlon
mrhanlon / package.json
Last active February 5, 2016 22:36
Gets project information for jobs currently running on TACC Stampede, Lonestar, and Maverick
{
"name": "projects-running-jobs",
"version": "1.0.0",
"description": "",
"main": "projects-running-jobs.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",

Keybase proof

I hereby claim:

  • I am mrhanlon on github.
  • I am mrhanlon (https://keybase.io/mrhanlon) on keybase.
  • I have a public key whose fingerprint is B167 04D8 20F3 7853 0C22 E0E1 BA60 555E 2A65 CCAA

To claim this, I am signing this object:

#!/bin/sh
# Converts a mysqldump file into a Sqlite 3 compatible file. It also extracts the MySQL `KEY xxxxx` from the
# CREATE block and create them in separate commands _after_ all the INSERTs.
# Awk is choosen because it's fast and portable. You can use gawk, original awk or even the lightning fast mawk.
# The mysqldump file is traversed only once.
# Thanks to and @artemyk and @gkuenning for their nice tweaks.
package edu.utexas.tacc.helpers;
import com.github.jknack.handlebars.Helper;
import com.github.jknack.handlebars.Options;
import com.liferay.portal.kernel.language.LanguageUtil;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.servlet.SessionMessages;
import com.liferay.portal.kernel.util.JavaConstants;
import javax.portlet.PortletConfig;
@mrhanlon
mrhanlon / tomcat-pem-to-jks.sh
Last active October 29, 2015 18:36
Converts a PEM formatted TLS certificate to a PKCS12 formatted keystore, ready for import into a standard JKS formatted keystore.
#!/bin/bash
###
# tomcat-pem-to-jks.sh
# Converts a PEM formatted TLS certificate to a PKCS12 formatted keystore,
# ready for import into a standard JKS formatted keystore.
#
# Usage:
# tomcat-pem-to-jks.sh -k /path/to/server.key -c /path/to/cert.crt -i /path/to/intermediate.crt
###
@mrhanlon
mrhanlon / box_testing.py
Created February 5, 2016 17:03
A script to bootstrap testing Box.com interactions for DesignSafe-CI
from boxsdk import OAuth2, Client
from django.contrib.auth import get_user_model
from django.conf import settings
from designsafe.apps.box_integration.models import BoxUserToken
from designsafe.apps.box_integration.tasks import *
username = '<username>'
user = get_user_model().objects.get(username=username)
token = BoxUserToken.objects.get(user=user)
@mrhanlon
mrhanlon / index_meta.py
Last active February 21, 2016 02:21
Quick script to index metadata from Agave in ElasticSearch
#!/usr/bin/python
import sys
import requests
import json
from agavepy.agave import Agave
from django.contrib.auth import get_user_model
def index_metadata(username):
me = get_user_model().objects.get(username='')

Mount the remote volume through whatever means. Example, sshfs:

sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa <remote_user>@host:/path/to/mount /path/to/mount

Stop the machine and add the new shared folder to the VirtualBox config.

docker-machine stop