Skip to content

Instantly share code, notes, and snippets.

View mlbright's full-sized avatar

Martin-Louis Bright mlbright

  • Toronto
  • 13:57 (UTC -04:00)
View GitHub Profile
@mlbright
mlbright / talk.pl
Created September 17, 2015 23:34
Windows text to speech
#!/usr/bin/env perl
use 5.018; # Why not?!
use Win32::OLE;
$Win32::OLE::Warn = 3;
my $speaker = Win32::OLE->new('SAPI.spvoice');
while (my $line = <DATA>) {
// This script is for Jenkins' Groovy console, and sets a timeout
// strategy for any job which doesn't have one.
// Based on http://janmaterne.wordpress.com/2010/07/11/how-to-check-if-all-hudson-jobs-have-a-timeout/
// Updated and modified by Sean Flanigan.
String describe(strat) {
if (strat instanceof hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy) {
return "Elastic(${strat.timeoutPercentage}, ${strat.numberOfBuilds}, ${strat.timeoutMinutesElasticDefault})"
} else if (strat instanceof hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy) {
return strat.timeoutMinutes
@mlbright
mlbright / build.go
Created October 25, 2014 19:11
shell script-ish example
package main
import (
"io/ioutil"
"log"
"os"
"os/exec"
)
const compile_script = "run.sh"
@mlbright
mlbright / quiz.pl
Created October 9, 2013 03:10
calculate average for Coursera quizzes.
#!/usr/bin/env perl
my @scores;
while ( my $line = <DATA> ) {
chomp $line;
push @scores, $line;
}
@scores = reverse @scores;
@mlbright
mlbright / duplicates.pl
Created September 28, 2013 03:55
remove duplicate files
#!/usr/bin/env perl
use strict;
use warnings;
use File::Find;
use Digest::MD5;
my $pics = 'c:/pics';
sub md5sum {
@mlbright
mlbright / acg-git-backup.pl
Created September 21, 2013 02:32
backup acg-git.autodesk.com
#!/usr/bin/env perl
use strict;
use warnings;
use Cwd qw(abs_path getcwd);
use File::Path qw(make_path);
use File::Spec;
my $backup_dir = "/home/backup";
my $domain = 'acg-git.autodesk.com';
@mlbright
mlbright / repolist.pl
Created September 21, 2013 02:25
list all git repos in a directory
#!/usr/bin/env perl
use strict;
use warnings;
use File::Find;
my $root = '/git';
my %gitdir = map { $_ => 1 } qw(
branches
/*
Adapted from Tim Kay's solo:
docs: http://timkay.com/solo/
source: http://timkay.com/solo/solo
*/
package main
#!/usr/bin/env python
# inspired by http://timkay.com/solo/
import socket
import sys
import subprocess
HOST=''
port = int(sys.argv[1])
#!/usr/bin/perl
use strict;
use warnings;
use BuildForge::Services;
use Try::Tiny;
use File::Slurp;
use Cwd 'abs_path';
my $USAGE = <<"USAGE";