Skip to content

Instantly share code, notes, and snippets.

Tom Chapman chappy84

  • UK
Block or report user

Report or block chappy84

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@chappy84
chappy84 / Dockerfile
Last active Sep 5, 2018
Velominati Slack Bot - Names the rule that someone is quoting in slack (Quickly hacked together script)
View Dockerfile
FROM python:2-alpine3.7
ARG slack_api_token
ENV SLACK_API_TOKEN $slack_api_token
WORKDIR /local/bot
COPY velominati-slack-bot.py ./
RUN apk update && \
@chappy84
chappy84 / packtPubDownloader.php
Last active Jul 10, 2019
Packt Pub Downloader - Quick hacky script to download all your e-books from packtpub.com. This may not always work, they may change their api calls etc.
View packtPubDownloader.php
<?php
define('DS', DIRECTORY_SEPARATOR);
// config values
$saveParentDir = __DIR__; // Parent dir of the ebooks and extras directories
$ebooksDir = 'ebooks'; // path of the ebooks directory relative to $saveParentDir
$extrasDir = 'ebooks' . DS . 'extras'; // path of the extras directory relative to $saveParentDir
$sleepDuration = 4; // Time to delay between page requests / different book downloads
$booksPerListPage = 25; // Book details to try requesting from the PacktPub API. This can be max 25
@chappy84
chappy84 / githubStarred.php
Last active Nov 20, 2016
Github Starred Dates - displays when you starred repos, which seems to have disappeared from GitHub's UI :(
View githubStarred.php
<?php
function errorAndDie($message) {
echo $message . PHP_EOL;
die(1);
}
$url = 'https://api.github.com/user/starred';
do {
@chappy84
chappy84 / convert_stravactivity_to_gpx
Last active Dec 27, 2018
Quick and dirty PHP script to convert .stravactivity file to basic gpx xml
View convert_stravactivity_to_gpx
#!/usr/bin/env php
<?php
function dateInFormat($timestamp)
{
return date('Y-m-d\TH:i:s\Z', $timestamp);
}
function latLongInFormat($reference)
{
return round((float) $reference, 6);
@chappy84
chappy84 / mysql_pivot.sql
Created Aug 31, 2014
MySQL Pivot Stored Procedure
View mysql_pivot.sql
DROP PROCEDURE IF EXISTS pivot_user_preferences;
DELIMITER $$
CREATE PROCEDURE pivot_user_preferences(IN user_id INT)
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE definition_label CHAR(255);
DECLARE label_cursor CURSOR FOR SELECT DISTINCT label FROM example_db.user_preferences;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
@chappy84
chappy84 / multiple_query_deugger.php
Last active Aug 29, 2015
PHP PDO Mysql Multiple Query Bug Debugger. Bug Page: https://bugs.php.net/bug.php?id=61613
View multiple_query_deugger.php
<?php
$myConn = new PDO(
'mysql:host=localhost;dbname=dbname',
'username',
'password'
);
$myConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$multiSqlStatement = '
INSERT INTO users (username) VALUES (:username);
@chappy84
chappy84 / cloudflare_dyn_dns.sh
Last active Jun 21, 2019
CloudFlare Dynamic DNS Shell Script
View cloudflare_dyn_dns.sh
#!/bin/sh
#
# CloudFlare Dynamic DNS
#
# Updates CloudFlare records with the current public IP address
#
# Takes the same basic arguments as A/CNAME updates in the CloudFlare v4 API
# https://www.cloudflare.com/docs/client-api.html#s5.2
#
# Use with cron jobs etc.
@chappy84
chappy84 / date_iso.php
Last active Dec 11, 2015
Format a local time/date using an ISO Format
View date_iso.php
<?php
function date_iso($format, $timestamp = null)
{
if ($timestamp === null) {
$timestamp = time();
}
$convert = array(
'a' => 'A' , 'B' => 'B', 'D' => 'z', 'ddd' => 't', 'dd' => 'd', 'd' => 'j',
View convert_assertions_etc.sh
#!/bin/sh
# Usage: convert_assertions.sh file1 file2 ...
perl -i -p \
-e 's/assertEquals?/assertEquals/g;' \
-e 's/assertNotEquals?/assertNotEquals/g;' \
-e 's/assertPattern/assertRegExp/g;' \
-e 's/assertIdentical/assertSame/g;' \
-e 's/assertNotIdentical/assertNotSame/g;' \
-e 's/assertNoPattern/assertNotRegExp/g;' \
-e 's/assertReference/assertSame/g;' \
@chappy84
chappy84 / mongodb-install.sh
Last active Jan 23, 2018
Install MongoDB from source on Fedora/RedHat based Linux with SystemD
View mongodb-install.sh
#!/bin/sh
# MongoDB Version
MONGODB_VER='2.2.2'
# Get all the dependencies up to date
yum -y update
yum -y install scons gcc-c++ glibc-devel
# Get the source
You can’t perform that action at this time.