[Elaborating on the original report at
This morning, at 123836GMT/ 7:38:36 EST, the Unix time_t value was
(in Network standard byte order) "BILL", that being the ASCII representation
of the 32bit number of seconds since New Years 1970.
Also upcoming is Bill-o-clock and a bunch of other 4-letter words.
So happy BILL-o-clock to all the Bill's in my address book.
BYTE Sun Apr 10 16:28:53 2005 GMT . Sun Apr 10 12:28:53 2005 ET
Beer Tue Apr 19 20:09:22 2005 GMT . Tue Apr 19 16:09:22 2005 ET
Bill Fri Apr 22 21:28:12 2005 GMT . Fri Apr 22 17:28:12 2005 ET
Byte Thu May 5 01:18:29 2005 GMT . Wed May 4 21:18:29 2005 ET
And CAAA-CZZZ, Caaa-Czzz are due in the fall, starting with
This runs about 2 letters a year thru
Short term values relevant to some friends ...
========================
#! /usr/bin/env perl -l
### Copyright - 2005 William Ricker / N1VUX
### License - Same as Perl
### Purpose - Find Words that are time_t's or vice versa
use warnings;
use strict;
use English qw{-no-match-vars};
## ARGS
our $Char=q{B}; ##Default because BILL'o'Clock is what I want
my $arg = shift @ARGV;
$Char=$arg if defined $arg and $arg =~ m{ \A \w{1} \Z }xsmi;
our $IsUC = $Char =~ /[A-Z]/ ? 1 : 0;
our %Time_of;
sub bytes_to_nums {
my $string=shift;
## Probably has problems if given more than 4 chars?
my $long=unpack("N*",pack("a*",$string));
return $long;
}
sub keep_it {
my $time_in=shift
or die "keep_it requires arg";
our %Time_of;
my ($Baaa,$BAAA)=($time_in, ($IsUC ? uc $time_in : lc $time_in));
$Baaa =~ s/^$Char/$Char/i; ## Force capital
my $timet=bytes_to_nums($Baaa);
$Time_of{$Baaa}=$timet;
if ($Baaa ne $BAAA) {
$timet=bytes_to_nums($BAAA);
$Time_of{$BAAA}=$timet;
}
}
## Friends ##
keep_it("Boyd") if $Char eq q{B};
keep_it("Byrd") if $Char eq q{B}; # is in Larry,Jim,Henry
### @TBD -- we could optionally use other dictionaries
open my $DICT, '<', '/usr/dict/words'
or die "Dict open fails $OS_ERROR";
while (<$DICT>) {
chomp;
next unless m{ \A $Char \w{3} \Z }xism; ## B... only
keep_it($_);
}
for my $word (sort keys %Time_of){
my $timet=$Time_of{$word};
my ($gmt, $localt)=(scalar gmtime $timet, scalar localtime $timet);
print qq{$word $gmt GMT . $localt ET}
}