Skip to content

Instantly share code, notes, and snippets.

View mgregoro's full-sized avatar
🏄‍♂️
enjoying the internet superhighway

Michael Gregorowicz mgregoro

🏄‍♂️
enjoying the internet superhighway
  • Wayne State University
  • Detroit, MI
  • X @mgregoro
View GitHub Profile
@mgregoro
mgregoro / scan.sh
Created June 27, 2018 15:29
Perl One-liner: Find size of all subdirectories in a given path; and report time taken to scan sub-directory
perl -MString::ShellQuote -E 'opendir(DIR, $ARGV[0]) or die "no: $!\n"; while (my $dir = readdir(DIR)) { next if $dir =~ /^\.+$/; if (-d join(q|/|, join(q| |, @ARGV), $dir)) { say "---------- START $dir ----------"; system("bash -c \"time du -hs @{[shell_quote_best_effort(join(q|/|, join(q| |, @ARGV), $dir))]}\""); say "----------- END $dir -----------\n" }}' $HOME/Library

Keybase proof

I hereby claim:

  • I am mgregoro on github.
  • I am mg2 (https://keybase.io/mg2) on keybase.
  • I have a public key whose fingerprint is C42B 3924 7C21 7F4F FABA B26B B711 F1DA D027 93BE

To claim this, I am signing this object:

@mgregoro
mgregoro / totp.pl
Created June 22, 2017 15:02
Proof of concept TOTP implementation in perl... 20 second overlap.. reads "secret" from ARGV
#!/usr/bin/env perl
# (c) 2017 Michael Gregorowicz
# requires libsodium (with dev files), Crypt::Sodium, and MIME::Base32 to work
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
@mgregoro
mgregoro / stop_scdaemon.pl
Created May 31, 2017 20:15
stops scdaemon politely then rudely.
#!/usr/bin/env perl
use strict;
use v5.10;
use Time::HiRes;
use subs qw/scdaemon_pid/;
$SIG{ALRM} = \&force_kill;
if (my $pid = scdaemon_pid) {
@mgregoro
mgregoro / dester.pl
Last active March 30, 2017 17:57
destination_url= based daisy chaining for wsu SSO
#!/usr/bin/env perl
use v5.10;
use Mojo::URL;
unless ($ARGV[0]) {
say "Usage: dester.pl <url1> <url2> <url3> <urlN>";
print <<"EOF";
You ever be like "man, I need to daisy chain a bunch of Mikey's crazy destination_url= based sso crap
@mgregoro
mgregoro / ovpn.pl
Created February 5, 2017 06:53
convenience script for starting openvpn and update resolv.conf based on what was PUSHed by the server; handy on the *BSDs
#!/usr/bin/env perl
unless ($> == 0) {
die "Must run ovpn.pl as root!\n";
}
unless ($ARGV[0]) {
die "Usage: ovpn.pl <conf-file-in-cwd>\n";
}
@mgregoro
mgregoro / openbsd_59_to_60_upgrade.pl
Created February 5, 2017 06:39
script for slurping down tarballs for openbsd upgrades.
#!/usr/bin/env perl
#
# Perl implementation of the guide at https://www.openbsd.org/faq/upgrade60.html
#
# Requires: Mojolicious
#
my $arch = "amd64";
my $rel = "6.0";
Node.prototype.getSeemsLegitHashrate = function(callback) {
http.get("http://127.0.0.1:8081/api/stats", function (res) {
if (res.statusCode == 200) {
res.setEncoding('utf8');
var body = '';
res.on('data', function (chunk) {
body += chunk;
});
@mgregoro
mgregoro / kbfree.pl
Last active August 18, 2016 20:08
Quick script to show total, used, free keybase.io kbfs space on OSX / Linux clients
#!/usr/bin/env perl
# kbfree.pl
# cpanm JSON Number::Bytes::Human
# (c) 2016 Michael Gregorowicz
use Number::Bytes::Human;
use JSON;
use v5.10;

Keybase proof

I hereby claim:

  • I am mgregoro on github.
  • I am mg2 (https://keybase.io/mg2) on keybase.
  • I have a public key whose fingerprint is DC6A DDF9 C913 1310 2DC6 188A B530 F4BC 6F9C FF8A

To claim this, I am signing this object: