Skip to content

Instantly share code, notes, and snippets.

Andrew Gilmartin andrewgilmartin

Block or report user

Report or block andrewgilmartin

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
#!/usr/bin/perl -w
use strict;
use Date::Calc qw/Today Delta_Days/;
my @today = Today();
my @events = ();
while ( <DATA> ) {
next if /^#/;
View twenty_lessons.markdown

From Tim Snyder, Professor of History at a Yale. Posted privately to FB.

"Americans are no wiser than the Europeans who saw democracy yield to fascism, Nazism, or communism. Our one advantage is that we might learn from their experience. Now is a good time to do so. Here are twenty lessons from the twentieth century, adapted to the circumstances of today.

  1. Do not obey in advance. Much of the power of authoritarianism is freely given. In times like these, individuals think ahead about what a more repressive government will want, and then start to do it without being asked. You've already done this, haven't you? Stop. Anticipatory obedience teaches authorities what is possible and accelerates unfreedom.

  2. Defend an institution. Follow the courts or the media, or a court or a newspaper. Do not speak of "our institutions" unless you are making them yours by acting on their behalf. Institutions don't protect themselves. They go down like dominoes unless each is defended from the beginning.

  3. Recall profess

View build-events-table.html
<div id="85C18603-69F2-4331-AD8C-2CA0D7139DCA"></div>
(function (id) {
var e = [
{ date: '2016-05-4', times: '6-9 PM', location: "Kingston Library", url: "" },
{ date: '2016-05-5', times: '6-9 PM', location: "Kingston Library", url: "" }
var w = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ];
print "<table>";
print "<tr>";
print "<th></th>";
for ( $u = 1; $u < 7; $u +=1 ) {
print "<th>$u</th>";
print "</tr>";
function split() {
pages=$(/usr/local/bin/pdfinfo "$file" | perl -ne 'print "$1" if /^Pages:\s+(\d+)/')
/usr/local/bin/pdfseparate "$file" "$dir/p-%d.pdf"
View Spaceship volumes
#!/usr/bin/perl -w
use strict;
my $length_proportion = 5;
my $width_proportion = 2;
my $height_proportion = 1;
for my $volume ( ( 500, 120, 100, 85, 75, 60, 50, 40, 25, 10 ) ) {
my $n = ( $volume / $length_proportion / $width_proportion / $height_proportion ) ** (1/3);
View gist:444fda64e66577bbb78c

#The Uses of Poverty: The Poor Pay All.

Herbert J. Gans.

Social Policy July/August 1971: pp. 20-24.

Some twenty years ago Robert K. Merton applied the notion of functional analysis to explain the continuing though maligned existence of the urban political machine: if it continued to exist, perhaps it fulfilled latent - unintended or unrecognized - positive functions. Clearly it did. Merton pointed out how the political machine provided central authority to get things done when a decentralized local government could not act, humanized the services of the impersonal bureaucracy for fearful citizens, offered concrete help (rather than abstract law or justice) to the poor, and otherwise performed services needed or demanded by many people but considered unconventional or even illegal by formal public agencies.

Today, poverty is more maligned than the political machine ever was; yet it, too, is a persistent social phenomenon. Consequently, there may be some merit in applying functional analysis to poverty, i

andrewgilmartin / gist:26fd5b2ce02a3219c96c
Last active Aug 29, 2015
Bookmarklet to cleanup Kindle Your Highlights page
View gist:26fd5b2ce02a3219c96c
var O = $('<div class="books"/>');
var S;
var xs = $("#allHighlightedBooks").children();
for ( var i = 0; i < xs.length; i++ ) {
var x = $(xs[i]);
var c = x.attr("class");
if ( c.indexOf("bookMain") != -1 ) {
t = $('.title',x).text();
a = $('.author',x).text();
andrewgilmartin / gist:e27f6a189dee6ceacbb7
Created Oct 8, 2014
Simpleminded Java + Javadoc to HTML Converter
View gist:e27f6a189dee6ceacbb7
#!/usr/bin/perl -w
use strict;
use XML::Writer;
my $state = 0;
my $h = new XML::Writer();
View gist:be3b01770245028633f4
* The Observer pattern is used to create a relationship between two objects.
* The relationship is usually unidirectional with the observer waiting for
* notices from the observed. The relationships is a loose one as the observed
* only needs to know of the interest of the observer and the observer only
* needs to know of the set of and ordering of notice the observed will send. A
* downside of this looseness is that all notices pass through a single observer
* method for further dispatching.
package com.andrewgilmartin.common.observation;
You can’t perform that action at this time.