Skip to content

Instantly share code, notes, and snippets.

@ephsmith
ephsmith / Print-All-PHP-Server-Variables.php
Created May 1, 2018 01:30
Print All PHP Server Variables
<!DOCTYPE html>
<!-- Contrbuted by GS -->
<html><head></head><body>
<?php
while (list($var,$value) = each ($_SERVER)) {
echo "$var => $value <br />";
}
?>
</body></html>
<?php
function tiny_url($url) {
return file_get_contents('http://tinyurl.com/api-create.php?url=' . $url);
}
$json = json_decode(file_get_contents('php://input'));
echo tiny_url($json->url);
/* basic jQuery usage:
$.post('https://foo.bar/tiny-url-api.php', JSON.stringify({url: url_2b_shortened}))
@ephsmith
ephsmith / README.md
Created May 1, 2018 11:31 — forked from xavriley/README.md
Original NES Mario Theme for Sonic Pi

Making Chiptune Music using Sonic Pi v2.0

Warning: this might not work on a RaspberryPi yet

I was curious about making retro gaming sounds using Sonic Pi. A couple of months and a lot of Googling later, here's the original Mario Bros theme as it was heard on the NES console.

I'm (just about) old enough to remember rushing home from school to play this game at Philip Boucher's house, sitting cross-legged in front of the TV till my feet got pins and needles. Working out how to recreate it for Sonic Pi was a lot of fun!

Getting the sounds of the NES chip

@ephsmith
ephsmith / ussensor.py
Created May 3, 2018 21:46
USSensor is a simple class for reading measurements from the HC-SR04 on the RaspberryPi.
# -*- coding: utf-8 -*-
# Author: Forrest Smith
import RPi.GPIO as io
import time
class USSensor():
'''Simple class for interfacing an HC-SR04'''
def __init__(self, echo=None, trigger=None):
@ephsmith
ephsmith / GIF-Screencast-OSX.md
Created May 16, 2018 18:07 — forked from dergachev/GIF-Screencast-OSX.md
OS X Screencast to animated GIF

OS X Screencast to animated GIF

This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.

Screencapture GIF

Instructions

To capture the video (filesize: 19MB), using the free "QuickTime Player" application:

@ephsmith
ephsmith / add-row-handler.js
Last active July 2, 2018 11:19
Add click events to all rows in an HTML table
/* See: http://jsfiddle.net/oh16h7cj/ */
function addRowHandlers() {
var table = document.getElementById("tableId");
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
var currentRow = table.rows[i];
var createClickHandler =
function(row)
{
return function() {
@ephsmith
ephsmith / subtract_params.py
Created October 3, 2018 15:43
Subtract values for params in one file from another and save the result to a new file.
#!/usr/bin/env python3
import argparse
def read(f):
"""Reads the contents of param=value file and returns a dict"""
d = {}
with open(f,'r') as fin:
for item in fin.readlines():
@ephsmith
ephsmith / Makefile
Created February 7, 2019 10:13 — forked from kristopherjohnson/Makefile
Makefile that uses Pandoc to generate HTML, PDF, DOCX, etc. from Markdown source files
# Makefile
#
# Converts Markdown to other formats (HTML, PDF, DOCX, RTF, ODT, EPUB) using Pandoc
# <http://johnmacfarlane.net/pandoc/>
#
# Run "make" (or "make all") to convert to all other formats
#
# Run "make clean" to delete converted files
# Convert all files in this directory that have a .md suffix
@ephsmith
ephsmith / linecodes.py
Created September 30, 2019 15:38
Sample plot for line codes using MatPlotLib.
"""
linecodes.py
Credit: StackOverflow via Bas Swinckels
URL: https://stackoverflow.com/a/20037521/845744
"""
import matplotlib.pyplot as plt
import numpy as np
def my_lines(ax, pos, *args, **kwargs):
if ax == 'x':
@ephsmith
ephsmith / trans.py
Created August 1, 2020 14:32
Transpose a 2D Python List
m = [[1,2,3],[4,5,6],[7,8,9]]
m_t = list(map(list,zip(*m)))
# m_t is now -> [[1,4,7], [2,5,8], [3,6,9]]