Skip to content

Instantly share code, notes, and snippets.

View textarcana's full-sized avatar

Noah Sussman textarcana

View GitHub Profile
TZ=$(date +%z) git log --reverse --date-order --format="%cd" --date=iso-local \
| cut -d- -f1-2 \
| uniq -c \
| column -t \
| perl -pwe 's{\s+}{\t}'
TZ=$(date +%z) git log --reverse --date-order --format="%cd" --date=iso-local \
| dateround -S Sun \
| cut -d'T' -f1 \
| uniq -c \
| column -t \
| perl -pwe 's{\s+}{\t}'
repo_age=$(git log --date=relative --reverse --format="%ad" | head -n1)
commits_in_history=$(git log --pretty=oneline | wc -l)
echo "$commits_in_history commits since $repo_age"
git log -n1
@textarcana
textarcana / lol.md
Last active January 13, 2020 15:20
The most comprehensive list of programmer jokes on the internet. Period. (Comprehensiveness of this list is in no way guaranteed. Statements of comprehensiveness are not meant to imply comprehensiveness. Use jokes at your own risk.) LICENSE: Creative Commons Sharealike

Comprehensive list of programmer jokes

How many programmers does it take to change a lightbulb?
Only one. But then the whole house falls down.
How many programmers does it take to change a lightbulb?
None. That is a hardware problem.
How many programmers does it take to change a lightbulb?
This is a known issue. When we installed the lightbulb we knew it had a finite TTL.
How many programmers does it take to change a lightbulb?
One always has, at every stage, in the process, a working system. I
find that teams can grow much more complex entities in four months
than they can build.
-- Fred Brooks, "No Silver Bullet"
%
I made this letter longer than usual because I lack the time to make it shorter.
@textarcana
textarcana / knight-and-the-lisp-machine.md
Last active November 25, 2019 17:13
A hacker koan, circa 1970s. Author unknown.

Tom Knight and the Lisp Machine

A novice was trying to fix a broken Lisp machine by turning the power off and on.

Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine
by just power-cycling it with no understanding of what is going wrong.”

Knight turned the machine off and on.

The machine worked.

%H: commit hash
%h: abbreviated commit hash
%T: tree hash
%t: abbreviated tree hash
%P: parent hashes
%p: abbreviated parent hashes
%an: author name
%aN: author name (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ae: author email
%aE: author email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
@textarcana
textarcana / gjslint_help
Created October 7, 2012 19:27
Google Closure Linter command line options
USAGE: /usr/local/bin/gjslint [flags]
flags:
closure_linter.checker:
--closurized_namespaces: Namespace prefixes, used for testing
ofgoog.provide/require
(default: '')
(a comma separated list)