Skip to content

Instantly share code, notes, and snippets.

John Mertz JohnMertz

Block or report user

Report or block JohnMertz

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
@JohnMertz
JohnMertz / clone-lxc.pl
Created Jul 20, 2019
Extract and Configure LXC from Archived Backup
View clone-lxc.pl
#!/usr/bin/perl
# Note for GitHub:
# This script makes several assumptions based on the backup image I use.
# Mine is a freshly installed Debian image preconfigured just how I want it.
# The script relies on the name 'fresh-lxc' and IP '10.0.3.1' being set.
# It is also written with Debian Buster as the host, some paths may differ.
# Make changes appropriately.
use strict;
@JohnMertz
JohnMertz / Duolingo.pl
Created Jun 18, 2019
Duolingo API Script
View Duolingo.pl
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use JSON::Any;
use HTTP::CookieJar::LWP;
my $user = 'username';
@JohnMertz
JohnMertz / mocp-start-cec.pl
Last active Jun 18, 2019
Start Music On Console Player and Force Active Input via HDMI-CEC
View mocp-start-cec.pl
#!/usr/bin/perl
use strict;
use warnings;
use JSON::XS;
# Checking for devices every time takes a few seconds, so store these
# settings in a file. Do so in /tmp so that it will be re-checked on reboot
my $tmp = '/tmp/cec-devices';
@JohnMertz
JohnMertz / OCTranspo.pl
Created Feb 15, 2019
OCTranspo Alert Scraper
View OCTranspo.pl
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use Data::Dump qw/ dump /;
use JSON::Any;
# Define the routes that I actually care about
@JohnMertz
JohnMertz / lxc-debian-wheezy
Last active Oct 4, 2018 — forked from tpokorra/lxc-debian-wheezy
lxc template for Debian Wheezy to install on Debian Stretch
View lxc-debian-wheezy
#!/bin/bash
#
# lxc: linux Container library
# Authors:
# Daniel Lezcano <daniel.lezcano@free.fr>
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@JohnMertz
JohnMertz / darksky_to_php.sh
Last active Nov 30, 2017
Darksky.net API to PHP Associative Array
View darksky_to_php.sh
#/bin/bash
# Note: This is not secure! If you somehow get malicious code back from Darksky.net, this can run arbitrary code. Use wisely and sanitize your inputs! https://www.xkcd.com/327/
output="yourOutputPathHere.php"
# Replace with your API key and coordinates. Should be fine with other units and may work without excluding minutel and flags.
# I have only teste this format (hourly and daily with SI units). This works for Ottawa, Canada.
# Pipes force into separate lines with quoted fields in PHP associative array format: "attribute_name1"=>"value","attribute_name2"=>...
# Outputs to a .tmp of your defined file name.
curl --compress 'https://api.darksky.net/forecast/<api_key_here>/45.421,-75.69?units=si&exclude=minutely,flags' | tr '{' '\n' | sed 's/},$//' | sed 's/,\ /\ /' | sed -r 's/([^"]),"/\1","/g' | sed -r 's/":([^"])/":"\1/g' | sed -r 's/([^"])\}/\1"\n/' | grep '^"time"' | sed 's/":"/"=>"/g' > $output.tmp
@JohnMertz
JohnMertz / price.sh
Created Aug 12, 2017
Bash Price-Checker Robot
View price.sh
#!/bin/bash
# Price-Checker Robot
# All dependencies should be pre-installed (at least on Debian): bash, curl, echo, grep, sed, tail, date, bsd-mailx, bc, cut
# Alerts user if the price has dropped for defined items.
# Reduced items result in alerts to the defined recipient.
# Errors are sent to the maintainer
# All are logged to $HOME/.price.log
@JohnMertz
JohnMertz / fourth.c
Last active Nov 23, 2015
Matt Parker's Fourth Power Problem
View fourth.c
#include <stdio.h>
int main(void){
// define variables
long long int x, fourth[32], total, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, remaining[16], solved;
total = 0;
solved = 0;
// the list of fourth powers, just for reference
for (x = 0; x < 32; x++){
fourth[x] = x*x*x*x;
@JohnMertz
JohnMertz / suit.c
Created Oct 9, 2015
How many cards do you have to deal before an entire suit has been dealt?
View suit.c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main(){
long long int total = 0;
long long int i = 0;
for (i = 0; i<1000000; i++){
@JohnMertz
JohnMertz / cardspace.c
Created Oct 8, 2015
Calculate how to display a hand of cards for 80 column console
View cardspace.c
#include <stdio.h>
main() {
int x,y,z,spaceleft,spaceright,width;
printf("|");
for (x=0;x<80;x++) {
printf(" ");
}
printf("|left card right\n");
for (x=1;x<=13;x++) {
width = 67 / x;
You can’t perform that action at this time.