Skip to content

Instantly share code, notes, and snippets.

Avatar

Dan Book Grinnz

View GitHub Profile
@Grinnz
Grinnz / service_squatters.txt
Last active Jun 9, 2021
Freenode services outage
View service_squatters.txt
WHOWAS response for chanserv
Nick Usermask Real name Last connected Connected via
chanserv sorcerer@<ip removed> sorcerer Wed Jun 9 15:56:22 2021 ace.freenode.net
chanserv sorcerer@<ip removed> sorcerer Wed Jun 9 15:55:52 2021 ace.freenode.net
chanserv sorcerer@<ip removed> sorcerer Wed Jun 9 15:48:16 2021 ace.freenode.net
ChanServ ~hrnz@<ip removed> hrnz Wed Jun 9 15:46:21 2021 niveus.freenode.net
ChanServ ~hrnz@irc.plumbing hrnz Wed Jun 9 15:44:03 2021 niveus.freenode.net
ChanServ ChanServ@services. Channel Services Wed Jun 9 15:28:18 2021 services.
WHOWAS response for nickserv
@Grinnz
Grinnz / channel_flags_2021-05-22.txt
Last active May 26, 2021
Freenode hostile takeover of #perl
View channel_flags_2021-05-22.txt
14:04:12 <ChanServ> Entry Nickname/Host Flags
14:04:12 <ChanServ> ----- ---------------------- -----
14:04:12 <ChanServ> 1 BinGOs +Aiotv [modified ? ago]
14:04:12 <ChanServ> 2 tag +Aiotv [modified ? ago]
14:04:12 <ChanServ> 3 simcop2387 +Aiostv [modified 2y 28w 3d ago]
14:04:12 <ChanServ> 4 tybalt89 +Aiotv [modified ? ago]
14:04:12 <ChanServ> 5 kitchen +AReiorstv [modified ? ago]
14:04:12 <ChanServ> 6 Paladin +AReiorstv [modified ? ago]
14:04:12 <ChanServ> 7 integral +Aiotv [modified ? ago]
14:04:12 <ChanServ> 8 dngor +Aiotv [modified ? ago]
@Grinnz
Grinnz / perl7faq.md
Last active Jul 16, 2021
Perl 7 FAQ
View perl7faq.md

Perl 7 FAQ

last updated 2021-06-23

Is Perl 7 coming?

It is the current plan that this version number will be used for Perl at some point in the future.

When is Perl 7 coming?

@Grinnz
Grinnz / nil.t
Created Aug 26, 2020
Protocol::Redis::XS nil tests
View nil.t
use strict;
use warnings;
use Test::More;
use Protocol::Redis::XS;
my $redis = new_ok 'Protocol::Redis::XS', [api => 1];
$redis->parse("\$-1\r\n");
is $redis->get_message->{data}, undef, "nil bulk message";
@Grinnz
Grinnz / mapping_colors.md
Last active Nov 17, 2020
Drum Charting: Mapping Colors
View mapping_colors.md

Mapping Colors in Drum Charting

For simple drum parts that involve at most a snare, three toms, and three cymbals, it's easy to map them to colors in 4-lane drums.

  • Red: Snare
  • Yellow: High rack tom, hihat
  • Blue: Low rack tom, ride
  • Green: Floor tom, crash

But few drummers outside of pop and jazz keep their kits so limited. So you have to work whatever the drummer may use into the lanes you have. We start with the base mapping above to keep things familiar, and deviate when needed.

@Grinnz
Grinnz / protocol.t
Last active Feb 8, 2019
Mojo::Redis::Protocol test file
View protocol.t
use Mojo::Base -strict;
use Test::More;
use Mojo::Redis::Protocol;
my $protocol = Mojo::Redis::Protocol->new;
# Protocol error
ok !eval { $protocol->parse("\@") }, 'protocol error';
like $@, qr/Unknown message type/, 'right error';
is_deeply [$protocol->parse('')], [], 'state not reset';
View VariableNameReuse.pm
package Perl::Critic::Policy::VariableNameReuse;
use strict;
use warnings;
use Perl::Critic::Utils qw(:severities :classification :ppi);
use parent 'Perl::Critic::Policy';
use constant EXPL => 'Using the same name for multiple types of variables can be confusing, e.g. %foo and $foo. Use different names for different variables.';
View gist:bb31cdff63006c856aead3e3311d0c13
use strict;
use warnings;
use Mojo::UserAgent;
use Mojo::Asset::File;
# Build a normal transaction
my $ua = Mojo::UserAgent->new;
my $tx = $ua->build_tx(POST => 'http://example.com');
# Prepare body
View output
> mojo get 'http://localhost:3000//fred/fish'
[Tue Feb 20 16:28:38 2018] [debug] GET "/fish"
[Tue Feb 20 16:28:38 2018] [debug] Routing to a callback
[Tue Feb 20 16:28:38 2018] [debug] 200 OK (0.000438s, 2283.105/s)
fred⏎
View perlbug_each.txt
The 'each' function documentation is missing some information.
1. When called in scalar context in a while loop, the condition is wrapped
implicitly in a 'defined' check, much like with 'readline'.
e.g. `while (my $key = each %hash) { ... }` becomes
`while (defined(my $key = each %hash)) { ... }`, and
`while (each %hash) { ... }` becomes `while (defined($_ = each %hash)) { ... }`
(on 5.18+)