Skip to content

Instantly share code, notes, and snippets.

View briandfoy's full-sized avatar

brian d foy briandfoy

View GitHub Profile
@briandfoy
briandfoy / excel-attributes.pl
Last active December 26, 2015 10:59
A demonstration of Excel::Writer::XLSX applied to an exercise from Learning Perl.
#!/usr/bin/perl
use v5.10;
use strict;
use warnings;
die "Directory does not exist!" unless -d $ARGV[0];
my @files = glob( $ARGV[0] );
# make the name column at least as wide as the longest filename
my( $workbook, $worksheet ) = get_book_and_sheet( 'attributes.xlsx', 'attributes' );
@briandfoy
briandfoy / twitter2rss.cgi
Created December 6, 2013 12:03
Read the twitters in the RSS. I made this stupid little program at "patch -p1" http://patch.pm/p1/ I'm not making it easy for you to use. I don't need Twitter on my case. If you want it bad enough, you'll figure out how to set it up. :)
#!/usr/local/bin/perl5.16.2
use v5.10;
use strict;
use open qw(:std :utf8);
use Net::Twitter;
use XML::RSS;
my $twitter = create_twitter();
@briandfoy
briandfoy / module_deps_d3.html
Last active December 30, 2015 14:39
A visualization of a Perl module dependency graph
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<meta charset="utf-8">
<title>Perl module dependency graph</title>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?2.6.0"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?2.6.0"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?2.6.0"></script>
<script type="text/javascript" src="jshashtable-3.0.js"></script>
</head>
@briandfoy
briandfoy / http-size_deps.json
Last active December 30, 2015 14:39
The dependency graph for HTTP::Size
{"names":["constant","Test","File::Listing","IO::Seekable","IO::HTML","Exporter","Test::Harness","Sub::Install","Params::Util","Net::FTP","POSIX","Carp","Test::Tester","warnings","IO::Uncompress::RawInflate","URI","Time::Local","Digest::base","HTTP::Size","Digest::MD5","HTTP::Cookies","LWP::MediaTypes","Socket","LWP::UserAgent","Encode::Locale","AnyDBM_File","overload","Test::More","Scalar::Util","Carp::Heavy","HTTP::Request::Common","HTTP::Status","MIME::QuotedPrint","File::Temp","IO::Uncompress::Bunzip2","B","HTTP::Headers::Util","URI::Escape","IO::Socket::INET","List::Util","File::Spec","HTTP::Response","Compress::Raw::Zlib","Encode","IO::Compress::Gzip","Capture::Tiny","Compress::Raw::Bzip2","HTML::LinkExtor","File::Basename","IO::Compress::Bzip2","HTTP::Headers","HTML::Entities","IO::Socket","Cwd","WWW::RobotRules","Test::Builder","Net::HTTP","Fcntl","Encode::Alias","strict","parent","IO::Uncompress::Inflate","HTML::SimpleLinkExtor","HTTP::Request","File::Path","HTML::Tagset","Sub::Exporter","IO::Compres
@briandfoy
briandfoy / tie-cycle.json
Created December 7, 2013 15:14
The dependency graph for Tie::Cycle
{"names":["Test::More","Scalar::Util","Tie::Cycle","Tie::Toggle","Test::Harness"],"links":[[0,3],[0,1],[1,0],[2,3],[4,0]]}
var modules = [
{ name: "Tie::Toggle", parent : "Tie::Cycle" },
...
};
@briandfoy
briandfoy / tie-cycle-pretty.js
Created December 7, 2013 15:49
Pretty dependency graph for Tie::Cycle
{
"names":["Test::More","Scalar::Util","Tie::Cycle","Tie::Toggle","Test::Harness"],
"links":[[0,3],[0,1],[1,0],[2,3],[4,0]]
}
@briandfoy
briandfoy / perl_quicksort_in_perl.pl
Created July 15, 2014 17:25
Perl's quicksort implemented in Perl
#!/Users/brian/bin/perls/perl5.20.0
use strict;
use warnings;
use List::Util qw(shuffle);
use Term::ANSIColor;
my @colors = qw(red blue green);
my $QSORT_ORDER_GUESS = 2;
my $QSORT_MAX_STACK = 32;
#!/usr/bin/env perl
use strict;
no strict 'refs';
my ($VERSION) = '$Revision: 1.2 $' =~ /([.\d]+)/;
my (@fh, $i);
my @sep = ( "\t" );
my $dash_ess = 0;
#!/usr/bin/perl -s
use vars qw($b);
my @start_sizes = map { -s $_ } @ARGV;
foreach my $file ( @ARGV ) {
if( -d $file ) {
warn "Skipping directory [$file]!\n";
next;