Skip to content

Instantly share code, notes, and snippets.

Avatar
💖
GITHUB DROP ICE

Cassie Jones porglezomp

💖
GITHUB DROP ICE
View GitHub Profile
@porglezomp
porglezomp / hovalaag.vim
Last active Sep 28, 2020
A vim syntax definition for HOVALAAG
View hovalaag.vim
" Vim syntax file
" Language: HOVALAAG Assembly
" Maintainer: Cassie Jones
" Latest Revision: 20 September 2020
" See the game at http://silverspaceship.com/hovalaag/
" Get updates at https://gist.github.com/porglezomp/690bb0f75883dc69350174b576ad643f
syntax case ignore
syn match vasmOperator "[+->|&^~]"
@porglezomp
porglezomp / process.py
Last active Sep 15, 2020
A script to generate a "Bad Apple" video out of lichess.org chess boards
View process.py
#!/usr/bin/env python3
# See the finished video at https://youtu.be/HWJhm25RPXA
import functools
import json
import random
import subprocess
import time
from pathlib import Path
from PIL import Image
@porglezomp
porglezomp / twitter-alt-to-title.js
Created Jun 19, 2020
Twitter Alt-Text to Title-Text
View twitter-alt-to-title.js
// ==UserScript==
// @name Twitter Alt-Text to Title-Text
// @description Copy the alt attribute of twitter images into the title attribute, so that I can see the alt text on hover.
// @version 1
// @grant none
// @include https://twitter.com/*
// ==/UserScript==
const SELECTORS =
` .tweet .AdaptiveMedia-photoContainer img
@porglezomp
porglezomp / example.c
Created Apr 7, 2020
Load unless there's a segfault
View example.c
// gcc example.c try_load.c
#include "try_load.h"
#include <stdio.h>
void try_to_load(const uint8_t *address) {
uint8_t value;
if (try_load_u8(address, &value)) {
printf("Successfully load from address %p: %d\n", address, value);
} else {
@porglezomp
porglezomp / makefile
Created Jan 20, 2020
Convert the "Item Block Heights" video into a summary image
View makefile
# Convert the "Item Block Heights" video into a summary image
# Video: https://www.youtube.com/watch?v=JteRFzrF6U4
# Image: https://twitter.com/porglezomp/status/1219082110704791555
all: abcheight.png
input.mp4:
youtube-dl -f mp4 'JteRFzrF6U4' -o input.mp4
frames: input.mp4
View GroupUniqueId.idr
-- This is a group with a set g, an operation *, and an identity e
record Group g ((*) : g -> g -> g) (e : g) where
constructor MkGroup
-- each of these fields provides a witness of one of the group laws
assoc : (a, b, c : g) -> (a * b) * c = a * (b * c)
ident : (a : g) -> (a * e = a, e * a = a)
inverse : (a : g) -> (b : g ** (a * b = e, b * a = e))
-- Given two groups g1 and g2, with identities e and e', e must be e'
uniquenessOfId : (g1 : Group g o e) -> (g2 : Group g o e') -> e = e'
@porglezomp
porglezomp / rose8.rs
Last active Jan 11, 2020
Rust instructions for ROSE-8
View rose8.rs
// Thanks to Jordan Rose: https://twitter.com/UINT_MIN/status/1215832790958100480
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Op1 {
Zero,
Lsl1,
Lsr1,
Asr1,
Incr,
Decr,
@porglezomp
porglezomp / transforms.md
Last active Dec 3, 2019
Lets do some proofs about how transforms should behave
View transforms.md
@porglezomp
porglezomp / README.md
Last active Oct 20, 2019
Creating a Rust hello world in 0x a presses.
View README.md

This is a Rust "Hello World" program in 0x A presses.

$ vim hello.rs
$ rustc --test hello.rs
$ ./hello --quiet
Hello, World!

If you don't know, [the A Button Challenge] is a Mario 64 speedrun category in which runners attempt to use the A button (the jump button!) as few times as possible. Make sure you watch the classic [Watch for Rolling Rocks - 0.5x A Presses][A Button Challenge] video linked above in order to understand.

@porglezomp
porglezomp / chopper.sh
Last active Oct 2, 2019
A tool to chop GIFs into 25 discord emoji.
View chopper.sh
#!/bin/bash
input=$1
output=$2
prefix=$3
if [ -z "$input" -o -z "$output" ]; then
echo "Usage: $0 <input> <output> [prefix]"
exit 1
fi
You can’t perform that action at this time.