Skip to content

Instantly share code, notes, and snippets.

Avatar

Brian Schrader Sonictherocketman

View GitHub Profile
@Sonictherocketman
Sonictherocketman / rocket.py
Created March 10, 2023 08:59
A simple rocket simulation in Python.
View rocket.py
#! /usr/bin/env python3
""" rocket.py -- Draw simulated rocket launches with turtle graphics
Sample Parameters:
via https://en.wikipedia.org/wiki/Falcon_9
$ python3.10 rocket.py -i 282 -a 90 -r 60 -p 950 -f 3500 -b 162
author: Brian Schrader
"""
@Sonictherocketman
Sonictherocketman / pine-to-mastodon.py
Created March 10, 2023 03:26
A script to automatically cross-post from Pine.blog to Mastodon.
View pine-to-mastodon.py
#! /usr/bin/env python3
import argparse
from bs4 import BeautifulSoup
from contextlib import contextmanager
from datetime import datetime
import markdown
import json
import httpx
import sys
import uuid
@Sonictherocketman
Sonictherocketman / audiobookr.sh
Created March 1, 2023 04:12
A script to turn large text documents into audiobooks with chapters.
View audiobookr.sh
#! /usr/bin/env zsh
# Given a text file, split it into chapters, then make audio for each
# chapter using a set of presets. Then join the audio together
# preserving each chapter in the metadata.
# This assumes mp4.sh is in /usr/local/bin
# https://gist.github.com/djotto/fca0b0e57c8d008575eb7f3648260910
SOURCE_DIR="$(pwd)"
@Sonictherocketman
Sonictherocketman / django-unittest.py
Created February 16, 2023 22:36
ChatGPT Code Samples
View django-unittest.py
from django.urls import reverse
from rest_framework.test import APITestCase
from rest_framework import status
from .models import User
class UserTests(APITestCase):
def test_create_user(self):
"""
Ensure we can create a new user object.
@Sonictherocketman
Sonictherocketman / step-count-analysis.r
Created August 29, 2022 22:24
A script to process and chart step count data exported from Pedometer++ for iOS.
View step-count-analysis.r
#! /usr/bin/env Rscript
library(zoo)
raw_data = read.csv('Export.csv')
raw_data$Date <- as.Date(raw_data$Date, "%m/%d/%y")
readings = data.frame(
dates=raw_data$Date,
steps=raw_data$Steps
)
@Sonictherocketman
Sonictherocketman / mp.parallel.py
Created August 28, 2022 23:23
Multiplicative Persistence Calculations in Python
View mp.parallel.py
#! /usr/bin/env pypy3
# Find a number with a multiplicative persistance larger than 11.
from collections import Counter
from functools import reduce
from multiprocessing import Pool
import json
import requests
import time
URL = 'https://api.pushover.net/1/messages.json'
@Sonictherocketman
Sonictherocketman / bmp.py
Created August 16, 2022 22:45
Continual Pressure/Temperature Monitoring (run on a cronjob)
View bmp.py
# I didn't write this code. I just found it online.
# make sure to install python-smbus using below command
# sudo apt-get install python-smbus
import smbus
import time
from ctypes import c_short
DEVICE = 0x77 # Default device I2C address
@Sonictherocketman
Sonictherocketman / abs.py
Created August 23, 2021 22:46
A terrible way to calculate the absolute value of a number in Python.
View abs.py
# A terrible way to calculate the absolute value of any integer with no reliance on complex computer math!
# Do not do this.
# Usage:
# >>> abs(10)
# 10
# >>> abs(-10)
# 10
# >>> abs(10.2)
# 10.2
@Sonictherocketman
Sonictherocketman / pinboard-weekly-newsletter.sh
Created April 3, 2021 20:28
A personalized weekly Pinboard-based newsletter of pages you said you wanted to read.
View pinboard-weekly-newsletter.sh
set -e;
# Creates a simple email message containing links from your recent Pinboard
# bookmarks that are marked as "to read".
echo "[$(date)] Beginning pinboard weekly summary...";
CREDS="user:token"
TO="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
View setup-centos.sh
#! /bin/bash
# A basic CentOS Setup Script
echo "[$(date)] Starting Base Installs"
sudo yum -y update
sudo yum install -y tmux git epel-release htop
echo "[$(date)] Installing Docker"
sudo yum -y install docker docker-registry
sudo systemctl enable docker.service