From dcbc907c1fe5181d67624b442184842187a51d36 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Thu, 20 Sep 2012 18:03:26 +0200 Subject: [PATCH] good_password added. Tracefile man page. --- Makefile | 5 +- good_password/good_password | 34 +++++++ histogram/histogram | 9 +- tracefile/tracefile | 29 ------ tracefile/tracefile.pod | 175 ++++++++++++++++++++++++++++++++++++ 5 files changed, 220 insertions(+), 32 deletions(-) create mode 100755 good_password/good_password create mode 100644 tracefile/tracefile.pod diff --git a/Makefile b/Makefile index 6eeb759..97ed224 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: blink/blink.1 histogram/histogram.1 upsidedown/upsidedown.1 +all: blink/blink.1 histogram/histogram.1 upsidedown/upsidedown.1 tracefile/tracefile.1 blink/blink.1: blink/blink pod2man blink/blink > blink/blink.1 @@ -9,6 +9,9 @@ histogram/histogram.1: histogram/histogram upsidedown/upsidedown.1: upsidedown/upsidedown pod2man upsidedown/upsidedown > upsidedown/upsidedown.1 +tracefile/tracefile.1: tracefile/tracefile.pod + pod2man tracefile/tracefile.pod > tracefile/tracefile.1 + install: parallel ln -sf `pwd`/{}/{} /usr/local/bin/{} ::: blink reniced em field forever neno rn stdout tracefile w4it-for-port-open upsidedown histogram parallel ln -sf `pwd`/{} /usr/local/share/man/man1/{/} ::: */*.1 diff --git a/good_password/good_password b/good_password/good_password new file mode 100755 index 0000000..3309d8c --- /dev/null +++ b/good_password/good_password @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +# This program generates passwords that: +# +# * are hard to guess +# * will be displayed unambigously in any (normal) font +# * will survive being passed through a bad fax machine +# * has UPPER lower number and sign +# +# Too close: B8 cC g9 kK lI l1 oO O0 pP sS uU vV xX zZ ,. :; `' S5 +# Causes problems in URLs: @/: +# Causes problems in shell: ! " # $ & ( ) [ ] { } ? | < > \ * +# SQL uses: % for wildcard +# Hard to type: ^ ~ ¨ ¤ § ½ æ ø å Æ Ø Å +# Never 2 same chars next to eachother. (--) is bad + +my $pw; +my @chars=split //, 'abdefhijmnqrtyADEFGHJLMNQRTY23467=+-'; +do { + $pw = ""; + for (1..12) { + do { + # avoid double chars (such as --) + $this = $chars[rand $#chars+1] + } while($last eq $this); + $last = $this; + $pw .= $this; + } +} while (not($pw =~ /[A-Z]/ and + $pw =~ /[a-z]/ and + $pw =~ /[0-9]/ and + $pw =~ /[^a-zA-Z0-9]/)); + +print "$pw\n"; diff --git a/histogram/histogram b/histogram/histogram index 4f1b8b2..d95fa09 100755 --- a/histogram/histogram +++ b/histogram/histogram @@ -2,7 +2,7 @@ =head1 NAME -histogram - make a histogram on the command line +histogram - make and display a histogram on the command line =head1 SYNOPSIS @@ -110,7 +110,12 @@ git log --format=%ai | cut -d\ -f1 | uniq -c | histogram -b --post =head1 EXAMPLE: git: commits by hour of the day -git log --pretty=format:'%ai' | perl -pe 's/.* (\d\d):.*/$1/' | sort -n | uniq -c | histogram -b +git log --format=%ai | perl -pe 's/.* (\d\d):.*/$1/' | sort -n | uniq -c | histogram -b + + +=head1 EXAMPLE: git: commits by day of the week + +git log --format=%ad |cut -d\ -f1 | sort -n | uniq -c | histogram -b =head1 EXAMPLE: run time of processes diff --git a/tracefile/tracefile b/tracefile/tracefile index 3c631f8..69e5832 100755 --- a/tracefile/tracefile +++ b/tracefile/tracefile @@ -1,34 +1,5 @@ #!/bin/bash -# NAME -# tracefile - list files being accessed -# -# SYNOPSIS -# tracefile [-aenu] command -# -# DESCRIPTION -# tracefile will print the files being accessed by the command. -# -# OPTIONS -# -a List all files. -# -# -e List only existing files. -# -# -n List only non-existing files. -# -# -u List only files once. -# -# AUTHOR -# Ole Tange -# -# COPYRIGHT -# Copyright © 2012 Free Software Foundation, Inc. License -# GPLv3+: GNU GPL version 3 or later -# . This is free software: you -# are free to change and redistribute it. There is NO WARRANTY, -# to the extent permitted by law. - - export _EXISTS=0 export _NONEXISTS=0 export _UNIQUE=0 diff --git a/tracefile/tracefile.pod b/tracefile/tracefile.pod new file mode 100644 index 0000000..b96afbb --- /dev/null +++ b/tracefile/tracefile.pod @@ -0,0 +1,175 @@ +#!/usr/bin/perl + +=head1 NAME + +tracefile - list files being accessed + +=head1 SYNOPSIS + +B [-aenu] I + +=head1 DESCRIPTION + +B will print the files being accessed by the command. + +=head1 OPTIONS + +=over 9 + +=item I + +Command to run. + + +=item B<-a> + +List all files. + + +=item B<-e> + +List only existing files. + + +=item B<-n> + +List only non-existing files. + + +=item B<-u> + +List only files once. + +=back + + +=head1 REPORTING BUGS + +Report bugs to . + + +=head1 AUTHOR + +Copyright (C) 2012 Ole Tange, http://ole.tange.dk and Free +Software Foundation, Inc. + + +=head1 LICENSE + +Copyright (C) 2012 Free Software Foundation, Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +at your option any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +=head2 Documentation license I + +Permission is granted to copy, distribute and/or modify this documentation +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the file fdl.txt. + +=head2 Documentation license II + +You are free: + +=over 9 + +=item B + +to copy, distribute and transmit the work + +=item B + +to adapt the work + +=back + +Under the following conditions: + +=over 9 + +=item B + +You must attribute the work in the manner specified by the author or +licensor (but not in any way that suggests that they endorse you or +your use of the work). + +=item B + +If you alter, transform, or build upon this work, you may distribute +the resulting work only under the same, similar or a compatible +license. + +=back + +With the understanding that: + +=over 9 + +=item B + +Any of the above conditions can be waived if you get permission from +the copyright holder. + +=item B + +Where the work or any of its elements is in the public domain under +applicable law, that status is in no way affected by the license. + +=item B + +In no way are any of the following rights affected by the license: + +=over 2 + +=item * + +Your fair dealing or fair use rights, or other applicable +copyright exceptions and limitations; + +=item * + +The author's moral rights; + +=item * + +Rights other persons may have either in the work itself or in +how the work is used, such as publicity or privacy rights. + +=back + +=back + +=over 9 + +=item B + +For any reuse or distribution, you must make clear to others the +license terms of this work. + +=back + +A copy of the full license is included in the file as cc-by-sa.txt. + +=head1 DEPENDENCIES + +B uses Perl, and B. + + +=head1 SEE ALSO + +B(1) + +=cut +