Skip to content

Instantly share code, notes, and snippets.

Avatar

brian d foy briandfoy

View GitHub Profile
View gist:5a5b59c4b1e4a810d561cf03ba6b4bb9
# Here's the input, as an indented heredoc
my $string = <<~"_STRING";
ABCD
EFGH
IJKL
ABCD
EFGH
IJKL
_STRING
View Windows time zones
#!perl
use v5.10;
use strict;
use POSIX;
my @zones = sort map { chomp; $_ } grep { /Time$/ } qx( tzutil /l );
my @new;
foreach my $zone ( @zones ) {
@briandfoy
briandfoy / national_park_passport_stickers.pl
Last active Jun 16, 2021
(Perl) JSONify the US National Park sites that have passport stickers, by year and region
View national_park_passport_stickers.pl
#!/usr/bin/perl
use v5.28;
use open qw(:std :utf8);
use utf8;
use Mojo::JSON qw(encode_json);
use Mojo::UserAgent;
use Mojo::Util qw(dumper trim);
@briandfoy
briandfoy / leanpub_sales
Last active Jun 2, 2021
Process the LeanPub royalties CSV
View leanpub_sales
#!/usr/bin/perl
# https://gist.github.com/briandfoy/f0f9405dda27aafd90ee79efb1ffa139
=head1 NAME
=head1 SYNOPSIS
# first, get your royalty report from
# https://leanpub.com/u/USER/generate_all_royalties_csv
# download that somewhere
View licenses.txt
$ bmt licenses
MyCPAN-Indexer artistic_2
Archive-Extract-Libarchive perl_5
File-Slurp perl_5
Object-Tiny perl_5
Path-Class perl_5
Archive-Zip perl_5
CPAN-Checksums perl_5
Compress-Bzip2 perl_5
Data-Compare artistic_1, gpl_2
@briandfoy
briandfoy / gist:2ffb4d4bb256dffd4f74e1a36a1af663
Created Feb 25, 2021
Convert rt.perl.org issue numbers to Github
View gist:2ffb4d4bb256dffd4f74e1a36a1af663
#!perl
use v5.26;
my %rt_to_github = map { chomp; split /,/ } <DATA>;
foreach my $arg ( @ARGV ) {
unless( exists $rt_to_github{$arg} ) {
say "No mapping for RT #$arg\n";
next;
}
View gist:30be6d46c005dc27003518ece2f53a74
#!/usr/bin/perl
use v5.26;
use experimental qw(signatures);
=head1 NAME
zamzar_epub_to_mobi - use Zamzar to convert an ePub to Mobi
=head1 SYNOPSIS
@briandfoy
briandfoy / wp2local.pl
Created Nov 9, 2020
Turn a WordPress XML dump into a bunch of local files
View wp2local.pl
#!perl
use v5.10;
use experimental qw(signatures);
use File::Path qw(make_path);
use File::Spec::Functions;
use Mojo::DOM;
use Mojo::URL;
use Mojo::Util qw(dumper);
use XML::LibXML;
View gist:dac74e4c73b3c935fc14ee8ab2a78b54
theme = perl7
[TestingAndDebugging::RequireUseStrict]
add_themes = perl7
[TestingAndDebugging::RequireUseWarnings]
add_themes = perl7
[InputOutput::ProhibitBarewordFileHandles]
add_themes = perl7
@briandfoy
briandfoy / minion_outline.md
Created May 27, 2020
Ideas for a Minion book
View minion_outline.md

Minion draft outline

  • Introduction

  • Setup

    • SQLite
    • Postgres
    • dashboard
    • enqueue a job, run a task
    • one Minion to bind them all