Skip to content

Instantly share code, notes, and snippets.

View brandtg's full-sized avatar

Greg Brandt brandtg

View GitHub Profile
@brandtg
brandtg / analyzegraphene.py
Created January 9, 2025 11:47
Tool to find Graphene type definitions (Python) and cross reference with Apollo GraphQL (Typescript)
#!/usr/bin/env python3
import logging
import argparse
import json
import ast
import os
import re
import pandas as pd
from graphql import (
parse,
@brandtg
brandtg / install-jdtls-lombok.sh
Created January 7, 2025 23:48
Bash script to install Lombok for jdtls language server for Java development in Neovim
#!/bin/bash
set -Eeuxo pipefail
# Download Lombok jar
VERSION=1.18.34
OUTPUT=$HOME/.local/share/java
if [ ! -f $OUTPUT/lombok.jar ]; then
mkdir -p $OUTPUT
wget "https://repo1.maven.org/maven2/org/projectlombok/lombok/$VERSION/lombok-$VERSION.jar" -O $OUTPUT/lombok.jar
fi
#!/usr/bin/env python3
import argparse
import logging
import sys
import json
import re
def find_tasks(data, name=None):
for task in data["data"]:
@brandtg
brandtg / pocket_to_safari.py
Created December 1, 2017 04:51
A script to convert Pocket's export format into something Safari can import
#!/usr/bin/env python
#
# Input: https://getpocket.com/export
# Output: Importable bookmarks HTML file
#
# Usage:
# ./pocket_to_safari.py "2017-11-30 - Pocket Export" < ril_export.html > pocket.html
#
import sys
from bs4 import BeautifulSoup
@brandtg
brandtg / nicknamer.py
Created October 23, 2017 07:02
A script to generate alliterative nicknames
#!/usr/bin/env python
from nltk.corpus import brown
import argparse
def is_valid(name, word, tag=None, allowed_parts_of_speech=None):
"""
Tests if allowed part of speech and is alliterative
"""
#!/bin/bash
SQL=$(cat << EOF
SELECT
table_schema as \`Database\`,
table_name AS \`Table\`,
round(((data_length + index_length) / 1024 / 1024), 2) \`Size in MB\`
FROM information_schema.TABLES
ORDER BY (data_length + index_length) DESC;
EOF)
@brandtg
brandtg / perf-tool.py
Last active March 19, 2024 22:58
A script that runs Netflix's "Linux Performance Analysis in 60,000 Milliseconds"
#!/usr/bin/env python3
#
# A script that runs the commands to perform Netflix's
# "Linux Performance Analysis in 60,000 Milliseconds"
#
# (http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html)
#
# First install Performance monitoring tools for Linux
# `apt install sysstat`
#
@brandtg
brandtg / generate-dropwizard.sh
Created July 26, 2015 21:13
Uses maven archetype to generate a Dropwizard application
#!/bin/bash
GROUP=$1
ARTIFACT=$2
APP_NAME=$3
PACKAGE=`echo $APP_NAME | awk '{print tolower($0)}'`
echo "Creating application $PACKAGE.$APP_NAME $GROUP:$ARTIFACT"
mvn archetype:generate \
@brandtg
brandtg / create-python-project.py
Created May 15, 2015 16:40
A script to set up initial python project directory structure
#!/usr/bin/env python
import sys
import os
if len(sys.argv) != 2:
print 'usage: project_name'
sys.exit(1)
name = sys.argv[1]
name_no_hyphen = name.replace('-', '')
@brandtg
brandtg / DropWizardApplicationRunner.java
Last active August 29, 2015 14:17
DropWizardApplicationRunner (run applications in-process)
import io.dropwizard.Application;
import io.dropwizard.Configuration;
import io.dropwizard.cli.ServerCommand;
import io.dropwizard.configuration.ConfigurationFactory;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.component.AbstractLifeCycle;
import org.eclipse.jetty.util.component.LifeCycle;