Thursday, February 27, 2025

Adding color to man pages

How to colorize man pages in your terminal

Adding color highlighting to the man pages is similar to code syntax highlighting. I find adding color to the pages helps differentiate variables, strings, and reserved words and makes it easier to visually parse the information presented. I accomplish this by passing ANSI color code parameters to the less pager used in display the man pages.

Configuration Steps

  1. Open your .bashrc file in an editor and add the following lines: 
  2.  
    LESS_TERMCAP_mb=$(printf "\e[01;31m") # enter blinking mode(bold red)  
    export LESS_TERMCAP_mb  
    LESS_TERMCAP_md=$(printf '\e[01;38;5;75m') # enter double-bright mode  
    export LESS_TERMCAP_md  
    LESS_TERMCAP_me=$(printf "\e[0m") # turn off all appearance modes  
    export LESS_TERMCAP_me  
    LESS_TERMCAP_se=$(printf "\e[0m") # leave standout mode  
    export LESS_TERMCAP_se  
    LESS_TERMCAP_so=$(printf "\e[01;33m") # enter standout mode(bold yellow)  
    export LESS_TERMCAP_so  
    LESS_TERMCAP_ue=$(printf "\e[0m") # leave underline mode  
    export LESS_TERMCAP_ue  
    LESS_TERMCAP_us=$(printf '\e[04;38;5;200m') # enter underline mode (magenta)  
    export LESS_TERMCAP_us  
      
    # Turn off Select Graphic Rendition(SGR)  
    # export GROFF_NO_SGR=1  
    # Start with color output disabled (avoid unexpected color code output)  
    export MANROFFOPT="-c"  
      
    # Set options for how less will be used as a pager. 
    # The MANPAGER environment variable will override 
    # settings used by the more general PAGER settings.  
    # In this case, I want to show percentage of page 
    # completion for man pages  
    export MANPAGER='/usr/bin/less -s -M +Gg'  
    export PAGER='/usr/bin/less -s -M'
    
      

  3. Source the .bashrc file (source .bashrc) to read and execute the newly added commands into the current shell.

Notes on groff rendering

Two lines of note in the above configuration: export GROFF_NO_SGR=1 and export MANROFFOPT="-c". One of these is needed in the configuration in order for the man page colorization to work. As I learned this week, there is an issue with newer versions of groff(i.e. newer than 2023)

See the following for details:
Groff + most change in behaviour
Displaying a man page on a terminal with/without my favorite pager shows garbage

Alternate Color Theme

Here is a slightly different color theme:

 
export LESS_TERMCAP_mb=$(printf '\e[01;31m') # (red)
export LESS_TERMCAP_md=$(printf '\e[01;35m') # (bold, magenta)  
export LESS_TERMCAP_me=$(printf '\e[0m')  
export LESS_TERMCAP_se=$(printf '\e[0m') 
export LESS_TERMCAP_so=$(printf '\e[01;33m') # (yellow)  
export LESS_TERMCAP_ue=$(printf '\e[0m') # 
export LESS_TERMCAP_us=$(printf '\e[04;36m') # (cyan)  

Generally, I have come to prefer separating out the color variable definitions from the statements exporting the variable as shown in the first configuration example. This alternate theme example will also work; but, shellcheck gives me an error: SC2155: Declare and assign separately to avoid masking return values. I try to pay attention to tools that I use when they make recommendations that could improve my code and configurations.

See Shellcheck error SC2155 for additional details.

How it all works

To quote liberally from Russell Parker’s post Adding Colors to man

To understand how the above environment variables work it helps to review what steps normally happen when viewing a manpage:

  1. man renders a page from a (likely compressed) nroff or troff/groff document and pipes the result it into the pager program, usually less
  2. If the piped text indicates formatting that needs to be performed then less has to figure out how to accomplish this for terminal output
  3. less uses the (deprecated) termcap database to look up how to achieve effects like underline and bold. In reality it ends up using termcap’s successor, the terminfo database, which maintains support for the termcap interface. This gives back an escape string which corresponds to the specified effect for your particular terminal
  4. Using these nifty escape strings, less finally displays the manpage to the user

Manpages use formatting like bold (for sections) and underlines (for things like file names and arguments). These should already work out of the box when using the man command but will not change the text color.

ANSI Color Codes

To see the ANSI color codes and how they would look on your specific terminal, here is a bash script to print them out.

 
#!/bin/bash  
# name: ansi_codes.sh (see References for link to source)  
for x in {0..5};  
  do echo === && for z in 0 10 60 70;  
  do for y in {30..37};  
  do y=$((y + z)) && printf '\e[%d;%dm%-12s\e[0m' "$x" \
  "$y" "$(printf ' \\e[%d;%dm] ' "$x" "$y")" && printf ' '; 
  done && printf '\n';  
done;  
done

The References section below contains links to several color charts.

References

Thursday, February 20, 2025

Rust and Cargo Cheat sheet

Installing Rust, its crates and how to keep them up to date

Jump to the rust and crate management section for a list of commonly used commands.

Introduction

A couple of years ago, I found a utility called bat that I wanted to try out and possibly use as a partial replacement to the venerable print and concatenation tool named cat. It was written in a program language called Rust which I had heard about in passing and was curious about its rising popularity. The version that was currently available for my Debian system, at the time, lagged a few versions behind the one that I had read about and lacked some of the features that had initially piqued my interest.

I was already using pyenv to manage my Python releases and, I wondered if I could do the same for Rust. I haven’t really had the time, or inclination to become a Rust programmer; but, there were some applications written in Rust that I wanted to use. I wasn’t planning on installing many applications or updating them very frequently, so I needed a place to keep commands that my muscle memory hadn’t yet absorbed.

That’s how this cheat sheet initally started.

This is a very brief guide for installing Rust and managing those crates(applications, packages, or libraries) for people who are not Rust developers and who do not use Rust on a daily basis. It is not intended as a tutorial(see the Resources section for helpful links).

Getting Started

  • The Rust Getting Started page is a good place to begin learning about Rust, its eco-system, and how to create new Rust projects. Here, I’m just going to focus on getting Rust installed and the basics of using cargo, the Rust package manager, to install and upgrade crates. I’ve only used the commands on this page with Debian Linux. So, if you have any issues using them, I would strongly recommend looking at the official Getting Started page for additional information.

Common Rust applications

  • rustc - Rust interpreter
  • rustup - Rust tool chain installer & version management tool
  • cargo - Rust build tool & package manager
  • crates.io - A Rust community registry of libraries and applications

Rust Installation

From your command prompt, run the following:

~$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

By installing this way, rustup will install itself, the Rust tool chain, as well as the cargo package manager. Rust can be uninstalled at any time using the rustup self uninstall command and these changes will be reverted.

Default directories

Rustup metadata and toolchains are installed into the Rustup home directory, located at ~/.rustup. This location can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory is located at ~/.cargo. This location can be modified using the CARGO_HOME environment variable.

The cargo, rustc, rustup and other binaries are added to Cargo’s bin directory, located at ~/.cargo/bin.

Rust and crate management

Steps for upgrading Rust

  • Check the currently installed Rust version
    rustc -V
  • Update Rust
    rustup update
  • Update rustup
    rustup self update

Updating crates

As of Rust 1.41.0, cargo install <crate> will detect if a package is installed. It will upgrade if there is a newer version, or do nothing if the crate is considered up to date. The command will always uninstall, download, and compile the latest version of the crate - even if there is no newer version available.

The cargo-update crate

This crate creates a cargo subcommand for checking and applying updates to installed executables. It helps simplify crate management.

  • cargo-update home page
  • Install cargo-update
    cargo install cargo-update
  • Check for newer versions and update selected packages
    cargo install-update -a

Steps for installing and upgrading crates

  • List installed crates
    cargo install --list
    • Or, add an alias to .bashrc or bash_aliases:
      alias rust_list='cargo install --list
  • Install a crate
    cargo install <package_name>
  • Update all crates
    cargo install-update -a
  • Check for newer versions and update selected packages
    cargo install-update crate1 crate2 ...

Currently Installed Crates

Crates that I have currently on my system and find useful

  • bat A cat(1) clone with syntax highlighting and Git integration.
  • cargo Cargo downloads your Rust project’s dependencies and compiles your project.
  • cargo-update A cargo subcommand for checking and applying updates to installed executables
  • csview A high performance csv viewer with cjk/emoji support
  • htmlq A lightweight, command-line HTML processor
  • iamb A Matrix chat client that uses Vim keybindings
  • zizmor A Static analysis tool for GitHub Actions

Resources

Tuesday, February 11, 2025

Our cat's medical bills

I wasn't expecting the subject of my first post here to be about my cat Anu;
but, if this is the impetus to get me to writing more publicly then I'll use
that as my motivation.

Early last week our cat, Anu, had to be taken in to the emergency care clinic
for surgery to save her life. We had noticed a slight loss of appetite and a
bit of lethargy. My partner got home from work around 7 o'clock on Monday and
noticed some pus/discharge. I had seen her a couple hours before and she had
seemed fine. We remained at the clinic until around four in the morning after
Anu had come out of surgery and we were given a positive prognosis. Much of the
detail of the night is pretty emotional and jumbled, for me, since everything
happened so quickly.

One of the decisions we had to make was having to sign and agree to payment
before most Anu's medical care could proceed. We wouldn't have made a different
decision; but, having to do that in the midst of an already highly emotional
event was frustrating to say the least. We are now looking at a medical bill
of around nine thousand dollars that we really cannot afford. This is the
reason for my posting today. We could really use some financial assistance to
help us get by.

It's been a week since Anu came home. She seems to be recovering well.
We've completed her course of antibiotics and kitty sedatives. She's not eating
as much as I like; but, I think much of that may be due to her cone-of-shame
somewhat hindering her mobility. We've got a follow up appointment with her
regular veterinarian tomorrow.

So I am asking anyone reading to consider helping us out financially to pay down
this bill. Any amount will help and will be deeply appreciated.

I was intending for my posts here to focus more on my technical, open source
contributions and work. Hopefully, with your help, I can start to do that in
the future.

Thanks for reading this. I appreciate it.

My ko-fi page
My LiberaPay page

Wednesday, December 15, 2021

Creating git repositories on public source forges (GitLab, GitHub...)

Creating git repositories on public source forges

Last updated: 20211215
 

 Create local directory:

 
      mkdir <repository name> && cd $_
 

Create repository on GitLab/Hub:

 
      GitLab:
          Menu -> Create new project -> Create blank project
      GitHub:
          TBD
 

Initialize local repository and push initial commit:


      git init --initial-branch=master
      git config --global user.name "Kevin Bowen"
      git config --global user.email "kevin.bowen@gmail.com"
      git remote add origin git@gitlab.com:kevinbowen/sampleproject.git
      # git remote add origin git@github.com:kevinbowen777/sampleproject.git
      git add .
      git commit -m "initial commit"
      git push -u origin master

Thursday, December 20, 2018

Upgrading OpenSSL from 1.1.0 to 1.1.1 in Linux Mint 19 and Ubuntu 18.04



According to the OpenSSL website:

> The latest stable version is the 1.1.1 series. This is also our Long Term Support (LTS) version, supported until 11th September 2023.

Since this is not in the current Ubuntu repositories, you will need to download, compile, and install the latest OpenSSL version manually.

Below are the instructions to follow:

1. Open a terminal (Ctrl+Alt+t).
2. wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
3. Unpack tarball with `tar -zxf openssl-1.1.1a.tar.gz` and then `cd openssl-1.1.1a`.   
4. cd to `openssl-1.1.1a`
3. Issue the command './config'.
4. Issue the command 'make' (You may need to run `sudo apt install make gcc` before running this command successfully).
5. Run `make test` to check for possible errors.
5. Issue the command 'sudo make install'.
6. Backup current openssl binary:
    sudo mv /usr/bin/openssl ~/tmp
7. Create symbolic link from newly install binary to default location:
    sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
8. Run command 'sudo ldconfig' to update symlinks and rebuild library cache.

Assuming that there were no errors in executing steps 3 through 6, you should have successfully install the new version of OpenSSL.

Again, from the terminal issue the command
    openssl version
Your output should be as follows:
    OpenSSL 1.1.1a  20 Nov 2018

Thursday, December 13, 2018

Pre-flight steps for a Linux Mint desktop upgrade


Upgrading from Linux Mint from 18.3 to 19 on my systems was essentially painless.

There are a couple of things that I have gotten into the habit of doing prior to performing systems upgrades to provide me some peace of mind:

  1.  Back up your system.
  2.  Separately back up your .config and .local directories (I am selective in choosing which application preferences to preserve across machines and store them on dropbox).
  3.  Make a list of any PPAs you might be using and remove them from your sources.list or Update Manager. Here is a pointer to a script to get you started.
  4.  I store my dotfiles on a repo in GitHub (and replicate them out to GitLab and BitBucket), so that I can easily restore my bash, vim and tmux settings.
  5.  Make a list of your favorite apps (Personally, I use vimwiki stored in dropbox for my sysadmin notes).
  6.  I've found the following site very useful when turning up a new system: https://sites.google.com/site/easylinuxtipsproject/Home (It's Mint-centric and has some very sane recommendations. Don't run the suggestions blindly. Review them closely and see if it applies to you.
  7.  Maintain a separate /home partition so that you can easily restart, or completely blow away, an installation if you need to without fear of losing your personal data.

This may sound like a lot of work to those just getting started in the Linux/Mint world; but, some conscientious janitorial work upfront saves one from frustration down the road.

Hope this helps. Enjoy the upgrade!

Tuesday, July 19, 2016

Switching between Java versions in Debian based distributions

Switching between installed Java versions can be accomplished using the update alternatives command.

To get a list of your installed Java platforms, run the following command from the terminal:

sudo update-alternatives --config java

This will give you a list output similar to this:

There are 2 choices for the alternative java (providing /usr/bin/java).
   Selection                             Path                                   Priority         Status
  ---------------------------------------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java                1081            auto mode
*1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java    1071       manual mode
  2           /usr/lib/jvm/java-8-oracle/jre/bin/java                 1081       manual mode
Press enter to keep the current choice[*], or type selection number:

In this case, the Open JDK 6 version is running. To switch to the Open JDK version 7, you would select option 1 at the prompt and press the Enter key.

You will now be running the OpenJDK 7 version. No other changes will be needed to switch your Java versions.

Wednesday, April 08, 2009

Bands I have seen in concert

Yet again, I continue with publishing useless lists
Here is one, created from memory, of all of the bands that I have see perform live.

I'm sure there are many bands that I have forgotten.
I'm actually pretty amazed that I have remembered as many as I did.

I would love to see the lists of other folks. Make fun of me as you like.


Bands I have seen in concert:

Agnostic Front
Agent Orange
Alice Cooper
Anthrophobia
Arab Strap
Baby Flamehead
Big Smelly Fish
Black Flag
Bloodloss
Bongwater
The Boredoms
Boss Hog
Butthole Surfers
Buzzcocks
John Cage
Caspar Brotzmann Massaker
Nick Cave
Nick Cave and the Bad Seeds
Cloaca
Cocteau Twins
Cop Shoot Cop
Cornershop
The Creatures
Cro-Mags
The Cure
Dead Moon
Miles Davis
Dirty Three
Disgruntled Postal Workers
Mike Doughty
Dancing French Liberals of '48
Dead Can Dance
Deadspot
The Decemberists
Dee-lite
Dio
The Fastbacks
GBH
George Clinton and the P-Funk Allstars
Gene Loves Jezebel
Glass Eye
God Bullies
Grateful Dead
Groovie Ghoulies
Grotus
GWAR
Homo Picnic
Imperial Teen
Jesus Lizard
Jet
Jon Spencer Blues Explosion
Judas Priest
King Carcass
The Knitters
Mark Kozelik
Kultur Shock
Laughing Hyenas
Love Battery
L7
Lubricated Goat
Lungfish
The Melvins
Mission of Burma
Moby
More Fiends
Mudhoney
Murphy's Law
Nashville Pussy
Nebula
New Order
Onyx
Pagan Babies
Painkiller
Pain Teens
Pigface
Piss Drunks
The Pleasure Elite
Psychic TV
Red Hot Chili Peppers/Fishbone
R.E.M.
The Replacements
Reverend Horton Heat
RUIN
Sage
Seals & Crofts
Sebadoh
She-Males
Sink Manhatten
Siouxsie and the Banshees
Sky Cries Mary
Sleater-Kinney
Slint
The Smiths
Sonic Youth
Spore
Stereolab
Ken Stringfellow
Suicidal Tendencies
Sun Kil Moon
Sunny Day Real Estate
TAD
10,000 Maniacs
Token Entry
Tom Tom Club
Tons of Nuns
Visqueen
Yo La Tengo
X

Thursday, April 05, 2007

Bitch Kitty Racing - My latest project

Bitch Kitty Racing is an online "lifestyle and entertainment" magazine. For the last month or two, I have been assisting in the ongoing maintenance and promotion of the site.

John Moroney invited me to join himself and his co-founder, Keith Bingman in their quest for world domination. Besides being involved in a cool project and building a loyal readership, I've been busy learning some technologies that I haven't gotten my hands dirty with previously, such as RSS(news) feeds, podcast creation, and distribution, and testing.

The site, itself, is powered by a light-weight, highly flexible Ruby on Rails content management system called Radiant. Now, while I don't consider myself a developer, by any stretch of the imagination; I see this as a good opportunity to collaborate on a cool project, and try to get up to date on some cutting edge web applications.
I'm hoping , as time goes on, to also pick up a bit of the ruby programming basics.

Keith is the driving force behind the site design and functionality. He is also actively involved in the developer community behind the Radiant application. At this moment, he is creating extensions to help us manage the images and comments coming soon to Bitch Kitty Racing. The first is especially relevant since Keith is also a pretty good photographer. You should take a look at his work, here: keithbingman.com

John is the ringleader of the site and primary author of most of the content. He is also the star of the Bitch Kitty Racing TV podcasts. It's pretty funny, bizarre, and probably not safe for children, small woodland creatures, or work. We even made it onto ITunes with the series. Fun stuff.

Let's see...What else can I pimp while I am at it? I hadn't really intended to make this a Bitch Kitty Racing promotional weblog post; but....

Ah yes, we are also trying our hand at some band promotion with a local Seattle band, Hey Marseilles. Rumor has it that the big labels are looking at them, so we are enjoying promoting them while we can.
All in all, Bitch Kitty Racing has been keeping me very busy learning new skills.

Thursday, March 08, 2007

Death of (another) philosopher

I'm sure that relatively few people will care about this passing.
I was just listening to podcast from the NPR program,Fresh Air, and discovered that the French post-modern philospher, Jean Baudrillard
(http://en.wikipedia.org/wiki/Jean_Baudrillard), had just recently died.

I can't say that I am sad, or disheartened. Rather, I am somewhat amused by his passing. He is yet another of my self-appointed intellectual mentors who has passed on.
Gone beyond, so to speak, the illusion, that is the life he had lived.

Call me what you will; but, I found his philosophy to be supremely influential upon my general worldview(along with Foucault, and Deleuze/Gauttari), and appreciate his contribution to the world, and human thought, in general.
I had always appreciated his willingness to tell the emperor(you, the reader) that not only did he(you) really have no clothes, but he wasn't even actually an emperor. Now, don't get me wrong, I don't consider Mssr. Baudrillard a nihilist. Far from it.
I actually consider him a comic, in a sense, perhaps in the most generous sense. He was a philosopher in the truest sense. But, in this day and age, philosphers are not needed by most people. So, instead, he, and his wrtings, were relegated to the backwaters of the media and inteligensia as the ramblings of an esoteric crank. Or, at worst, his messages were inscrutable, and thus irrelevant. I suppose that he might have appreciated the irony in that. I have a way with picking the winners...

For better or worse, I guess his most famous quote is from the film "The Matrix". It is the character Morpheus, played by Laurence Fishburn( whom I loved in Apocalyspse Now) that states to that dumbass initiate, Neo, "Welcome to the desert of the real."
He died on my mother's fifty-ninth birthday.

You will be missed, funnyman.

Wednesday, January 17, 2007

T.S. Eliot - The Waste Land

I've found some audio files of T.S. Eliot reading his classic poem "The Waste Land."



Born in St. Louis, Missouri, and educated at Harvard, Eliot lived most of his life in England. In 1948 he was awarded the Nobel Prize. The poem has five sections and has been split into four sound files:

The Waste Land is considered to be Eliot's masterpiece, rich in symbolic, literary, and historical references as the poem explores the struggles of a soul in despair.


Funny, this isn't how it sounds when I read it to myself...


For additional information and references, see Wikipedia::The Waste Land
N.B. These audio files were originally hosted at media.org. The site contains a large collection of media from the early days of the Internet rescued from digital oblivion. The HarperAudio section contains several dozen audio files of poems and excerpts from novels being read by their authors. Faulkner, Burgess, Hemingway, Thomas are just a few.
Even Shakespeare reading some of his sonnets!

Friday, January 12, 2007

RIP: Robert Anton Wilson (1932-2007)

Today, I was saddened to learn that one of my favorite guerrilla ontologists, Robert Anton Wilson, had passed away, this week, on January 11th.

My first exposure to Mr. Wilson's ideas came through reading the Illuminatus! Trilogy which he co-authored with Robert Shea. I managed to stumble upon his work while in college, and found it to be a great balance against all of the "serious" and "deep" philosophical and ontological works I was digesting at the time. I found it to be an astounding compendium of ideas, both revelatory and fanciful, simultaneously conspiratorial, paranoid, and yet somehow playful and optimistic. His works were a welcome relief from the heaviness of German phenomenologists, and occult cranks.

However, it was his other books that helped change the way I think, philosophically, about a lot of things, particularly his 'non-fiction' writings like Cosmic Trigger and Prometheus Rising. Specifically, I credit Mr. Wilson with helping me to allow humor into my particular Weltangshauung, as well as providing some cognitive tools that allowed me to understand socially constructed belief systems, or reality tunnels, as he called them.

Here is one little factoid about Mr. Wilson, that I only learned about upon his recent passing:

"As a member of the Board of Advisors of the Fully Informed Jury Association, he worked to inform the public about jury nullification, the right of jurors to nullify a law they deem unjust."

R. A. Wilson's Home Page

Obituaries:
Blog Critic
R.U.Sirius
Paul Krassner
BoingBoing
Blather.net
Mercury News

Monday, December 25, 2006

Reading list for 2006

After breaking my ankle earlier this month, I suddenly find myself completely bed-ridden with copious amounts of time on my hands.

To that end, I find myself writing again, rummaging through old letters, documents, and computer files long forgotten. Making lists happens to be one of those activities where I almost feel productive while exerting little effort. Such is life under the influence of Percocet.

Below, I've managed to compile, from memory, a list of books that I have read in the past year. They are listed in no particular order. The nice surprise, for me, is that I somehow managed to read about one book every two weeks. I guess all that time spent commuting on the bus paid off in some small way. I'm sure that I have left a few off of the list. One of my New Year resolutions will be trying to keep better track of my reading choices.



Book List for 2006:

  1. Apathy and other small victories by Paul Nielan
  2. Quicksilver (The Baroque Cycle, Vol. 1) by Neil Stephenson
  3. Heathern by Jack Womack
  4. Krakatoa: The Day the World Exploded: August 27, 1883 by Simon Winchester
  5. The Map that Changed the World by Simon Winchester
  6. The Fifth Child by Doris Lessing
  7. I Promise to be Good: the Letters of Arthur Rimbaud by Arthur Rimbaud & Wyatt Mason
  8. The Trial of Gilles de Rais by Georges Bataille
  9. Marcel Duchamp: The Bachelor Stripped Bare: A Biography by Alice Goldfarb Marquis
  10. Dylan Thomas: A New Life by Anderew Lycett
  11. A Mouthful of Air: Language, Languages...Especially English by Anthony Burgess
  12. Coming of Age in the Milky Way by Timothy Ferris
  13. Rats: Observations on the History and Habitat of the City's Most Unwanted Inhabitants by Robert Sullivan
  14. A Perfect Red: Empire, Espionage, and the Quest for the Color of Desire by Amy Butler
  15. I am Legend by Richard Matheson
  16. Post Office by Charles Bukowski
  17. David Bowie's Low (33 1/3) by Hugo Wilcken
  18. Lipstick Traces: A Secret History of the Twentieth Century by Greil Marcus
  19. Our Band Could Be Your Life: Scenes from the American Indie Underground 1981-1991 by Michael Azerrad
  20. On Poetry and Poets: Essays by T.S. Eliot

Useless trivia:
Percentage of non-fiction books: 70
Percentage of female authors: 15
Percentage of books that were on the NY Times Best Seller List in 2006: 0

I thought, for about a second, of writing my own little, witty reviews for each one of the books on my list. But, then, I decided that I wasn't feeling very witty, and just linked to the books' listing on Amazon, instead. I will have to say, however, that "Apathy and Other small victories" has to be one of the funniest books I have ever read.

Thursday, December 21, 2006

Censorship and Outsider Art - Adolf Wolfli

Digging through my archives, I found this little rant.
This note was in response to a friends comment on a gallery exhibit in which the artist was physically assaulted due to the 'controversial' nature of her works on display.
I can't locate my original note, or my friends' response. However, I did manage to find the original new article that sparked the following tangential digression into the genre of "Outsider Art"
From sfgate.com 05/30/2004: Attacked for art, S.F. gallery to close

I guess as an art school dropout; I've managed to retain a few coherent thoughts on the subject, however biased they may be...
I've also slept through my share of late evening art history classes after being up for 72 hours straight painting, talking, drinking, and god-knows-what-else, and still find it fascinating to this day. Even managed to get exiled/promoted to the honors classes, where I was forced to endure lessons on writing a coherent paragraph (no joke: opening thesis, body/proof, closing statement/summary.) However, I digress.
Please don't misunderstand me regarding the 'gratuitous' comment. I was mainly referring to artwork(visual, aural, etc.) that tends to jerk the audience around trying to elicit some Hallmark greeting card response, which I felt the artist in the woman's gallery was employing. Granted, that observation was from seeing only one image. I could be wrong about the artist's original intention; but, it looked like a blatant attempt to piss some people off. Unfortunately, it seemed to have worked and resulted in a person being bodily harmed, as well as destroying her source of income and livelihood. That sucks, and it's unfortunate, in my opinion, that art that appears, intentionally created to get a rise out of its audience, would have such tragic results.

Adolf Wolfi links:

Raw Vision - Adolf Wolfli
Art Brut - Phyllis Kind Gallery
The Artist and Art
SPK summary

On the other hand, you mention creations and works of art done by the criminal, and insane as being valid. While you neglected to include the criminally insane, and the insanely criminal, I would agree with you wholeheartedly. I've discovered some incredible artists that exist on the 'fringes' of society. While not I am not at all interested in the novelty of Ed Gein's clown paintings, I do find (see 'Outsider Art' and for some examples) or the Art Brut movement() founded/initiated by Jean Dubuffet to be really some really fascinating and compelling expressions of the human psyche( as if there were any other types..).
A great example of this, for me, would be the work of Adolf Wolfli, and the posthumous interpretation of his musicial by 'first generation' Industrial bands, SPK. Take a look at:



Yes, this band included Graeme Revell who is probably about as prolific composing film scores as Danny Elfman (of Oingo Boingo and Simpsons fame) who went on to score the soundtracks for such movies as, well, take a look here:
In my opinion, this is a perfect marriage of the avant-garde meeting the 'fringe' elements of society, as expressed in art.
Of course, this was done at a time when groups like Throbbing Gristle were doing their COUM Transmissions performances and Richard Kern was documenting the underbelly of the Lower East Side with the likes of Lydia Lunch, et al. Different times, different boundaries which gave birth to the likes of Karen Finley, Diamanda Galas, Kathy Acker (whom I adore as a writer), and Robert Mapplethorpe as obvious, popular examples of the 'fringe' encroaching upon mainstream tastes.

Friday, December 15, 2006

She throws dice on the table of my mind

While in art school, many years ago, I immersed myself in the study of the various and sundry art movements occuring in the early twentieth century, particular among those were dada and the surrealist movement. In was during this course of study that I happened to stumble upon a book, actually more properly called a novella, I would conclude, of rather meager physical proportions called The Story of the Eye which floored me with its relatively straightforward depiction of urges, transgressions, and taboos in a highly dramatized, in fact, quite dreamlike tableau.


Within this story, Bataille captures a delightfully sensual, and erotically disturbing dream. I found a good, brief summary of this good, brief influential novella over at Amazon. I quote:
Only Georges Bataille could write, of an eyeball removed from a corpse, that "the caress of the eye over the skin is so utterly, so extraordinarily gentle, and the sensation is so bizarre that it has something of a rooster's horrible crowing." Bataille has been called a "metaphysician of evil," specializing in blasphemy, profanation, and horror. Story of the Eye, written in 1928, is his best-known work; it is unashamedly surrealistic, both disgusting and fascinating, and packed with seemingly endless violations. It's something of an underground classic, rediscovered by each new generation. Most recently, the Icelandic pop singer Björk Guðdmundsdóttir cites Story of the Eye as a major inspiration: she made a music video that alludes to Bataille's erotic uses of eggs, and she plans to read an excerpt for an album. Warning: Story of the Eye is graphically sexual, and is only for adults who are not easily offended.


I am currently in the process of sorting through what remains of my book collection and began flipping through this book:

Vision of Excess Selected Writings 1927-1939 by George Bataille


What follows, below, is a brief excerpt that caught my attention for no defineable reason. It is from his essay "The Pineal Eye" page 86

see the following sources for more info:
this outline
this brief biography or
this summary of his work


Vision of Excess Selected Writings 1927-1939


" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Like a storm that erupts and, after several minutes of intolerable delay, ravishes in semi-darkness an entire countryside with insane cataracts of water and
blasts of thunder, in the same disturbed and profoundly overwhelming way
(albeit with signs of infinitely more difficult to perceive), existence itself shudders and attains a level where there is nothing more than a hallucinatory void, an odor of death that sticks in the throat.
In reality, when this puerile little vomiting took place, it was not on a mere
carcass that the mouth of the Englishwoman crushed her most burning, her
sweetest kisses, but on the nauseating JESUVE: the bizarre noise of kisses, prolonged on flesh, clattered across the disgusting noise of bowels. But these unheard-of events had set off orgasms, each more suffocating and spasmodic than its predecessor, in the circle of unfortunate observers, all throats were choked by raucous sighs, by impossible cries, and, from all sides, eyes were moist with the brilliant tears of vertigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The sun vomited like a sick drunk above the mouths full of comic screams,
in the void of an absurd sky . . . And thus an unparalleled heat and stupor
formed an alliance--as excessive as torture: like a severed nose, like a torn-out tongue--and celebrated a wedding (celebrated it with the blade of a razor on pretty, insolent rear ends), the little copulation of the stinking hole with the sun . . ."

Here are some more links to information on George Bataille:

The Sovereign Value of Transgression: A Reading of George Bataille's The Story of the Eye


George Bataille -- Wikipedia entry


My Mother

George Bataille -- short biography and bibliography

And finally, a completely over-the-top, postmodern spew-for-all that I turned up in a search on Bataille, although I am not sure quite in what manner since my eyes rapidly began to glaze over when I attempted to wade through the article at such a late hour of the night.


Nervous Views from Within : Towards an Immersive Intelligence