Skip to content

Instantly share code, notes, and snippets.

View rynsy's full-sized avatar

Ryan Lindsey rynsy

  • 10:53 (UTC -04:00)
View GitHub Profile
@rynsy
rynsy / StateMachineDemo.cs
Last active September 23, 2022 19:38
Quick state machine demo for simple combat
namespace StateMachineDemo
{
interface State
{
State Tick(Player player);
}
public class IdleState : State
{
PursueState pursueState;
@rynsy
rynsy / airsim_video.py
Created October 29, 2021 13:24
Proof-of-concept for running AirSim headless remotely and extracting video from it using the OpenAI Gym environment.
import setup_path
import gym
import airgym
import airsim
import time
import cv2
import numpy as np
from stable_baselines3.common.monitor import Monitor
from stable_baselines3.common.vec_env import VecVideoRecorder, DummyVecEnv, VecTransposeImage
@rynsy
rynsy / feed_scraper.py
Created October 14, 2019 00:35
Script to grab all MP3's from an RSS feed (for archiving podcasts)
import feedparser as f
import requests as r
import argparse
import os
import sys
import re
from mutagen.easyid3 import EasyID3
from mutagen.id3 import ID3, APIC
parser = argparse.ArgumentParser()
@rynsy
rynsy / speed_test.py
Last active August 31, 2018 14:06
Comparison of three methods of generating passwords (iterative, generative, and functional)
import time
import string
import re
from random import *
from passy import *
def usable_characters():
"""
We want the union of all printable characters, and then the difference between
that set and the set of all characters that look similar.
@rynsy
rynsy / extract_db.py
Created July 18, 2018 15:53
Used for extracting a specific database out of a MySQL dump.
import sys
import re
if len(sys.argv) < 4:
print("Expected: ./extract_db.py [sql file name] [database name] [new file name]")
sys.exit(-1)
with open(sys.argv[1], 'rb') as f_in:
create_db = re.compile(bytes("CREATE DATABASE .*?`{}`".format(sys.argv[2]), encoding='utf-8'))
create_stmt = re.compile(bytes("CREATE DATABASE", encoding='utf-8'))