Skip to content

Instantly share code, notes, and snippets.

@llamasoft
llamasoft / wordnet_parse.pl
Created December 6, 2016 18:14
Princeton WordNet Database Parser Example
#!/usr/bin/perl
use strict;
use warnings;
# Parses a synonym set line from a data.* file into a Synset hash
sub parse_synset($) {
my $line = shift(@_);
@llamasoft
llamasoft / wordnet_parse.pl
Created December 6, 2016 18:14
Princeton WordNet Parser Short Example
#!/usr/bin/perl
while (my $line = <>) {
# If no 8-digit byte offset is present, skip this line
if ( $line !~ /^[0-9]{8}\s/ ) { next; }
chomp($line);
my @tokens = split(/ /, $line);
shift(@tokens); # Byte offset
shift(@tokens); # File number

Keybase proof

I hereby claim:

  • I am llamasoft on github.
  • I am llamasoft (https://keybase.io/llamasoft) on keybase.
  • I have a public key ASCjasuNkOapoGGjEQ0f6CsGhn5hJcXGqW8i100XUUn_pwo

To claim this, I am signing this object:

@llamasoft
llamasoft / holder.scad
Last active August 2, 2017 20:53
Film Canister Holder
inches = 25.4;
module HexPack(rows, columns, spacing) {
// Assuming the circles are hexagonally packed,
// this is how far their center points are from each other.
// We can find the y spacing of the center points using the Pythagorean theorem because
// the center points between three adjacent circles will form an equilateral triangle.
function pythag(side, hypot) = sqrt(pow(hypot, 2) - pow(side, 2));
hex_x_spacing = spacing;
@llamasoft
llamasoft / firmware_bug.gcode
Last active April 29, 2018 04:24
G-code or firmware bug on Wanhao Duplicator i3 Plus
; NOTE: hotend must be preheated otherwise extruder retract is ignored!
; Monoprice Maker Select Plus/Wanhao Duplicator i3 Plus
; =========================================================
; An extruder retract in relative positioning causes
; the X axis to no longer be able to home.
; Disabling the motors fixes the bug.
M117 Homing and moving to known position
@llamasoft
llamasoft / hibp_freq.sh
Created April 2, 2018 16:44
HaveIBeenPwned Found Plaintext Frequency
#!/usr/bin/bash
# Use bytewise locale, this provides performance benefits and prevents possible UTF8 warnings
export LC_ALL="C"
# `plains.txt` is the "found" list from Hashes.org
# https://hashes.org/leaks.php?id=515
# `HIBP_hashcount.txt` is the Version 2 *ordered by hash* list from haveibeenpwned.com
# https://haveibeenpwned.com/Passwords
# This perl snippet regenerates the SHA1 hash from the plaintext.
@llamasoft
llamasoft / clobber_demo.py
Created September 27, 2019 00:43
HVAC Clobber Demo
import hvac
import pprint
client = hvac.Client("http://localhost:8200")
# Make sure the test user doesn't exist
client.secrets.identity.delete_entity_by_name("clobber-demo")
# Create the user with a set of policies and metadata
client.secrets.identity.create_or_update_entity_by_name(
@llamasoft
llamasoft / quote_demo.py
Last active September 27, 2019 16:47
HVAC URL Escape Demo
import hvac
import pprint
import six.moves.urllib.parse as urllib
client = hvac.Client("http://localhost:8200")
def quote_path(path):
"""Returns a string that's safe to use as a path."""
# Yes, safe = "/" is the default, but I pass it here just to make it obvious.
@llamasoft
llamasoft / build_nwjs_arm.sh
Last active October 20, 2023 09:58
Script for building NW.js for an ARM device.
#!/usr/bin/env bash
set -e
FIRST_RUN=1
BUILD_ARM=1
BUILD_SDK=1
BUILD_NACL=1
NWJS_BRANCH="nw44"
@llamasoft
llamasoft / destiny_list.sh
Created March 6, 2020 18:39
Fetches and parses the Destiny 2 assets library into a wordlist.
# Fetching the Destiny 2 manifest definition
api_key=""
if [[ -n "${api_key}" ]]; then
curl --compressed "https://www.bungie.net/Platform/Destiny2/Manifest/" -H "x-api-key: ${api_key}" -o "manifest.json"
# Extracting the name of the aggregated JSON asset database.
aggregate_path=$(jq --raw-output '.Response.jsonWorldContentPaths.en' "manifest.json")
else