It's a feature, not a bug. adj. phrase. Definition: (1) An attempt to save face; (2) It's a bug, not a feature.
Interim solution. noun. Definition: (1) A band-aid for the Titanic; (2) Has it really been 10 years since we released 1.0? (3) The Roeper School Domes. (4) Permanent solution.
Use copy. noun. Definition: (1) Archival copy of last resort.
Wednesday, March 26, 2008
The Spontaneous Combustion of the 20th Century
Very few things burst into flame on their own without an outside spark, be the spark diabolical, divine, zippo.
Silver nitrate film is my favorite one.
Widely used for theatrical releases of movies up through 1951, after a few years of decay in poor storage conditions -- read humid or warm -- this stuff will burst into flames at a much lower temperature than newsprint and will do so on account of the pressure build-up from the fumes it off-gasses during the decay. (Physicists and science teachers: I would like a better account of this process without actually having to look it up on Wikipedia... That sets a new low bar for laziness: too lazy to look it up on Wikipedia).
Every time a reel of silver nitrate film bursts into flames it takes a piece of 20th century culture with it, and it seems entirely appropriate that 20th century culture should leave the world in this way.
It was a century of dramatic technological innovation and the democratization of materialism (regionally). In the course of a single lifetime, both photography and motion picture technology was invented, commercialized as high performance art, and turned over to hundreds of millions of people for personal, private, amateur use. Traditional folk arts died and new folk arts were born. Optimism and rapid change always bring unintended consequences, good ones like penicillin, mix-tapes, and time-shifted television viewing but also questionable ones like the end of pedestrian culture, and outright bad ones like cancer caused by estrogen treatments for menopause or (jury's in) global climate change. A lot of the things I loved the most about the 20th century were the unintended consequences of Cold War technologies.
Spontaneous combustion seems like the fitting end for a century of unintended consequences.
In contrast, I think the 21st century is all about carefully orchestrated consequences. Grassroots methodologies build support for political candidates, expensive research studies demonstrate exactly how to game a social network for maximum commercial benefit, Ariana Huffington proves that enough money can make up for being a total newb. Everything is half commercial and half folk and everything we say is completely ephemeral until the spooks open an investigation and we find out that no small packet of bits goes unrecorded. 21st century culture won't spontaneously combust, rather you won't be able to find it when you need but you'll never be able to get rid of it when you want to.
Silver nitrate film is my favorite one.
Widely used for theatrical releases of movies up through 1951, after a few years of decay in poor storage conditions -- read humid or warm -- this stuff will burst into flames at a much lower temperature than newsprint and will do so on account of the pressure build-up from the fumes it off-gasses during the decay. (Physicists and science teachers: I would like a better account of this process without actually having to look it up on Wikipedia... That sets a new low bar for laziness: too lazy to look it up on Wikipedia).
Every time a reel of silver nitrate film bursts into flames it takes a piece of 20th century culture with it, and it seems entirely appropriate that 20th century culture should leave the world in this way.
It was a century of dramatic technological innovation and the democratization of materialism (regionally). In the course of a single lifetime, both photography and motion picture technology was invented, commercialized as high performance art, and turned over to hundreds of millions of people for personal, private, amateur use. Traditional folk arts died and new folk arts were born. Optimism and rapid change always bring unintended consequences, good ones like penicillin, mix-tapes, and time-shifted television viewing but also questionable ones like the end of pedestrian culture, and outright bad ones like cancer caused by estrogen treatments for menopause or (jury's in) global climate change. A lot of the things I loved the most about the 20th century were the unintended consequences of Cold War technologies.
Spontaneous combustion seems like the fitting end for a century of unintended consequences.
In contrast, I think the 21st century is all about carefully orchestrated consequences. Grassroots methodologies build support for political candidates, expensive research studies demonstrate exactly how to game a social network for maximum commercial benefit, Ariana Huffington proves that enough money can make up for being a total newb. Everything is half commercial and half folk and everything we say is completely ephemeral until the spooks open an investigation and we find out that no small packet of bits goes unrecorded. 21st century culture won't spontaneously combust, rather you won't be able to find it when you need but you'll never be able to get rid of it when you want to.
Thursday, March 20, 2008
philopaper? I think not
Librarians ask patrons to wear white gloves to protect fragile materials from noxious human hands.
Librarians wear white gloves to protect their fragile human hands from noxious materials.
Librarians wear white gloves to protect their fragile human hands from noxious materials.
Tuesday, March 11, 2008
Regex Loves Jenny
The following script now works. Yay!
For the longest time -- at least 15 minutes -- I thought I was incapable of understanding regex because 2 lines of this script didn't work and the output was always blank:
$word =~ s/^\s+//;
$word =~ s/\s+$//;
But it turns out that the screen demons had changed the code:
$word =~ s/^\s+//;
$worn =~ s/\s+$//;
Since I never asked the computer to show me the contents of $worn, I never found out if they were in fact the right contents. It could have been an eldritch sigil in there -- we'll never know.
Also, I know this could have been accomplished without using a hash, but I wanted to practice. I'm wondering if there would have been a quicker way to get the blank spaces removed and the content into the hash though.
This is the script for posterity:
#!/usr/bin/perl
# open the file input by the user as PRICES
open(PRICES, $ARGV[0]);
#read in every line of PRICES
while (defined($line = <>))
{
# make sure @words array is empty
undef(@words);
# create array words and split the contents of the line into it at commas
@words = split(/,/, $line);
# If the values in the array contain blank spaces, remove them
foreach $word (@words)
{
# print("1: $word\n");
$word =~ s/^\s+//;
$word =~ s/\s+$//;
# print("2: $word\n");
}
# print((join("\n", @words) . "\n"));
# make sure pricetable hash is undefined
undef(%pricetable);
# add pricetable hash, assign array contents to hash
%pricetable = ("date" => "$words[0]",
"symbol" => "$words[1]",
"opening" => "$words[2]",
"closing" => "$words[3]",
"high" => "$words[4]",
"low" => "$words[5]",
"volume" => "$words[6]");
# calculate price change using absolute value
$change = abs($oldclose - $pricetable{closing});
# keep track of the current closing price for the next loop
$oldclose = $pricetable{closing};
# print exciting output
print("Date: " . "$pricetable{date}" . "," . " Price change: " . "$change" . "\n");
}
close(PRICES);
For the longest time -- at least 15 minutes -- I thought I was incapable of understanding regex because 2 lines of this script didn't work and the output was always blank:
$word =~ s/^\s+//;
$word =~ s/\s+$//;
But it turns out that the screen demons had changed the code:
$word =~ s/^\s+//;
$worn =~ s/\s+$//;
Since I never asked the computer to show me the contents of $worn, I never found out if they were in fact the right contents. It could have been an eldritch sigil in there -- we'll never know.
Also, I know this could have been accomplished without using a hash, but I wanted to practice. I'm wondering if there would have been a quicker way to get the blank spaces removed and the content into the hash though.
This is the script for posterity:
#!/usr/bin/perl
# open the file input by the user as PRICES
open(PRICES, $ARGV[0]);
#read in every line of PRICES
while (defined($line = <>))
{
# make sure @words array is empty
undef(@words);
# create array words and split the contents of the line into it at commas
@words = split(/,/, $line);
# If the values in the array contain blank spaces, remove them
foreach $word (@words)
{
# print("1: $word\n");
$word =~ s/^\s+//;
$word =~ s/\s+$//;
# print("2: $word\n");
}
# print((join("\n", @words) . "\n"));
# make sure pricetable hash is undefined
undef(%pricetable);
# add pricetable hash, assign array contents to hash
%pricetable = ("date" => "$words[0]",
"symbol" => "$words[1]",
"opening" => "$words[2]",
"closing" => "$words[3]",
"high" => "$words[4]",
"low" => "$words[5]",
"volume" => "$words[6]");
# calculate price change using absolute value
$change = abs($oldclose - $pricetable{closing});
# keep track of the current closing price for the next loop
$oldclose = $pricetable{closing};
# print exciting output
print("Date: " . "$pricetable{date}" . "," . " Price change: " . "$change" . "\n");
}
close(PRICES);
Monday, March 10, 2008
Remain Seated and Keep Your Arms and Legs Inside the Cabin Until the Vehicle Comes to a Complete Stop
The vendor I work with most often is a many-headed monster
and each of heads is of many minds on every subject.
When the monster gathers its thinking parts in a conference room,
most of them collapse on themselves in tremendous effort to bite and avoid being bitten,
(to smite and avoid being smitten?)
but some of them show their spines and drive the rest.
Sometimes the loud ones, sometimes the quiet.
The shepherds is monster, the monsters are shepherd.
The minds of a megacorp is many, the mind of a megacorp are one.
And this is how Business Gets Done.
It's the same way here, at every Board meeting.
Probably the same way everywhere, when many persons try to be one people.
and each of heads is of many minds on every subject.
When the monster gathers its thinking parts in a conference room,
most of them collapse on themselves in tremendous effort to bite and avoid being bitten,
(to smite and avoid being smitten?)
but some of them show their spines and drive the rest.
Sometimes the loud ones, sometimes the quiet.
The shepherds is monster, the monsters are shepherd.
The minds of a megacorp is many, the mind of a megacorp are one.
And this is how Business Gets Done.
It's the same way here, at every Board meeting.
Probably the same way everywhere, when many persons try to be one people.
The Poet Laureate of Canada
My friend minted these poetic lines today and I think they're beautiful enough to be worth repeating:
In our times, any questionable quest sought with zealous zeal demands that we stand and salute.
Follow-up. My friend went on: "I'll need to take out the current Canadian Poet Laureate. She looks frail; I think I can take her. If only I wasn't dyslexic."
"And here I am trying to come up with a path to becoming the poet laureate of Canada, and we're all slipping on our second skins, slipping away into cyberspace, efervessing into the Baud."
In our times, any questionable quest sought with zealous zeal demands that we stand and salute.
Follow-up. My friend went on: "I'll need to take out the current Canadian Poet Laureate. She looks frail; I think I can take her. If only I wasn't dyslexic."
Saturday, March 8, 2008
Justice and Enlighenment
the search for enlightenment takes a lot of time.
working for justice takes a lot of time.
you could reasonable devote all of your free time to either one and work to find a career that allows you to spend your work time doing the same.
how can you work for both?
working for justice takes a lot of time.
you could reasonable devote all of your free time to either one and work to find a career that allows you to spend your work time doing the same.
how can you work for both?
Subscribe to:
Posts (Atom)