<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4390931187430614790</id><updated>2011-11-29T10:16:40.796-08:00</updated><category term='literature'/><category term='litcrawl'/><category term='pizza my heart'/><category term='violence'/><category term='beer'/><category term='art'/><category term='gourmet'/><category term='pizza'/><category term='sorrow'/><category term='clarion alley'/><title type='text'>The Slant View</title><subtitle type='html'>Too many experiences to have the straight view anymore</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://theslantview.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://theslantview.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/07006426361463277965</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_grWB9YAwrx4/SsuAB6zK6gI/AAAAAAAAAAM/iyjQFUieUyo/S220/100_0749.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4390931187430614790.post-5656225360373318873</id><published>2011-03-22T20:57:00.000-07:00</published><updated>2011-03-26T15:40:38.547-07:00</updated><title type='text'>Suppressing Warnings in GCC</title><content type='html'>&lt;h3 id="SuppressingWarningsinGCC" style="font-weight: normal;"&gt;&lt;/h3&gt;&lt;br /&gt;(This article was originally written by me as part of &lt;a href="https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines"&gt;the Boost Developer Warning Guidelines&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;With GCC there are a couple of options when you want to supress  warnings.  First, beginning with version 3.1, since GCC won't report  warnings for files that GCC considers &lt;i&gt;system&lt;/i&gt; files, you can  make GCC consider the problematic files system files.  This is heavy  handed, makes it easy for problems to creep in unnoticed, but effective.   Second, beginning with version 4.2, you can suppress a particular  class of warning either for an entire file, or (beginning at version  4.6), for a section of a file.  &lt;br /&gt;&lt;h4 id="SupressingWarningsForAFileByMakingGCCSeeItAsASystemHeader"&gt;Supressing Warnings For A File By Making GCC See It As A System Header&lt;/h4&gt;&lt;h5 id="UsingapragmatomakeGCCthinkafileorpartofafileisasystemheader"&gt;Using a pragma to make GCC think a file or part of a file is a system header&lt;/h5&gt;Beginning with GCC 3.1, for a particular file, you can turn off all  warnings including most warnings generated by the expansion of macros  specified in a file by putting the following in a file &lt;br /&gt;#pragma GCC system_header &lt;i&gt; File considered a system header. &lt;/i&gt;&lt;br /&gt;It can be specified anywhere in the file, and code that precedes the  pragma in the file will be unaffected.  The intent of declaring a file a  system header, is for operating system specific code that can't be  strictly conforming C or C++.  This should not be seen as a handy way of  turning off bothersome warnings.  Many (&lt;i&gt;most?&lt;/i&gt;) warnings point to real issues and should be dealt with appropriately. &lt;br /&gt;&lt;h5 id="Using-itomakeGCCthinkallfilesinadirectoryaresystemheaders"&gt;Using -i to make GCC think all files in a directory are system headers&lt;/h5&gt;You can also turn off warnings for all files in a directory, by putting  the directory into the include search path with -i instead of -I &lt;br /&gt;The -idirectoryName command line option adds its argument to the list of  directories to search for headers, just like -I. Any headers found in  that directory will be considered system headers. It also has the side  effect of changing the inclusion order, in that all files included from  directories specified with -i are included &lt;i&gt;after&lt;/i&gt; files included  from directories specified via -I.  If the directory is specified with  both -I and -i it is still only searched after normal includes as part  of the system include directories.  This may be appropriate if you have  to deal with other's spotty code that generates a lot of warnings that  you can't fix. &lt;br /&gt;If you turn off warnings for files that are shared with your users, you  need to be able to see the warnings yourself so that as new problems  arise you will see them.  You can turn on warnings back on for system  headers when you compile with: &lt;br /&gt;-Wsystem-headers  &lt;br /&gt;This makes GCC print warning messages for constructs found in system  header files that would normally not be seen. Using -Wall in conjunction  with this option will not warn about unknown pragmas in system headers.   For that, -Wunknown-pragmas must also be used.  &lt;br /&gt;&lt;h4 id="Turningoffwarningslocallywithgcc"&gt;Turning off warnings locally with gcc&lt;/h4&gt;So.  Suppose you are getting a warning and have checked the code and are &lt;i&gt;sure&lt;/i&gt; that it's a spurious warning.  There's nothing wrong.  &lt;i&gt;If&lt;/i&gt; the warning is controllable via a command line -W option, then you can (if you have GCC version &lt;i&gt;4.2&lt;/i&gt;  or newer) turn it off temporarily.  First you need to find out what the  option might be, then if it exists turn it off via a pragma.  How you  do this varies a bit with GCC version. &lt;br /&gt;&lt;h5 id="Findingoutwhatoptioncontrolsthewarning"&gt;Finding out what option controls the warning&lt;/h5&gt;&lt;dl class="wiki"&gt;&lt;dt&gt;-fdiagnostics-show-option&lt;/dt&gt;&lt;dd&gt;In GCC, for versions 4.2 and higher, this option instructs the  diagnostic machinery to add text to each diagnostic emitted, which  indicates which command line option directly controls that diagnostic,  when such an option is known to the diagnostic machinery.  The added  text will look similar to [-Wsign-compare].  If you see this, that tells  you that the -Wsign-compare command line option turns this warning on. &lt;/dd&gt;&lt;/dl&gt;&lt;h5 id="Turningthewarningsoffandon"&gt;Turning the warnings off and on&lt;/h5&gt;I want to particularly thank Jonathan Wakely for his willingness to help  and for the great help he offered on the gcc-help mailing list.  It's  people like him that make open source work.  Without his help it would  have taken me much longer to write this section.  Any problems of course  are my fault;)  In addition to picking Jonathan's brain, I read the  appropriate source in diagnostics.c and perused many releases of GCC  documentation to get this information. &lt;br /&gt;GCC provides the following pragmas to control warnings. &lt;br /&gt;&lt;dl class="wiki"&gt;&lt;dt&gt;#pragma GCC diagnostic push&lt;/dt&gt;&lt;dd&gt;Available since GCC version 4.6, this pragma lets you remember  diagnostic options in place at a particular time.  This pragma can occur  on any line of a file.  The number of nested pushes is limited only by  the size of memory and the size of an int index into the diagnostic  information. &lt;/dd&gt;&lt;dt&gt;#pragma GCC diagnostic pop&lt;/dt&gt;&lt;dd&gt;Available since GCC version 4.6, this pragma lets you restore diagnostic  options that were remembered by a diagnostic push. This pragma can  occur on any line of a file.  The number of pops is limited by memory  and the size of an int index into the diagnostic information.  At a pop  information is moved from the table used by push into a history.  An  unbalanced pop, i.e. popping when nothing is on the stack is harmless  and will simply reassert the user's command line diagnostic choices. &lt;/dd&gt;&lt;dt&gt;#pragma GCC diagnostic [warning|error|ignored] OPTION&lt;/dt&gt;&lt;dd&gt;From GCC version 4.2.4 and before GCC version 4.6 this could be  specified at file scope outside of any functions, classes, unions,  structs, or methods, to change the behavior when a particular class of  error was seen.  For GCC version 4.6 and later, it can be put in any  line of a file, and affects from that position forward.  For any  supported version, it only works with warnings that have explicit -W  arguments, use -fdiagnostic-show-option to find out which one to use.   An example: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"  &lt;/dd&gt;&lt;/dl&gt;&lt;h6 id="version4.2.Youcanturnthemoffbutthenwhat"&gt;version 4.2.  You can turn them off but then what?&lt;/h6&gt;So starting from 4.2 but before 4.6, just put near the top of the file something like: &lt;br /&gt;#pragma GCC diagnostic ignored "-Wdeprecated-declarations &lt;br /&gt;to turn off warnings from that point forward in the file of the use of  deprecated declarations.  Problematically, you have no way of knowing  what the user had this option set to.  They might have already had the  warnings turned on, they might have had them set to ignore, or they  might have had them set to cause an error.  At the end of the file, if  you do nothing else, the diagnostic for deprecated declarations stays  ignored for anything that includes your file.  You can set them to  ignored, error, or warning at the end of the file before exiting, but  you don't know which to use.  This is sure to cause angst. &lt;br /&gt;&lt;h6 id="version4.6Nowyoucanrestoretheusersflags"&gt;version 4.6 Now you can restore the user's flags&lt;/h6&gt;For version 4.6 or later, you can save the state of the user's  diagnostic flags.  You can insert this around the line that causes the  spurious warning: &lt;br /&gt;#pragma GCC diagnostic push&lt;br /&gt;#pragma GCC diagnostic ignored "-Wdeprecated-declarations" &lt;br /&gt;&lt;i&gt; Next you would have any amount of code for which you'd like to suppress that warning &lt;/i&gt;&lt;br /&gt;#pragma GCC diagnostic pop &lt;br /&gt;Of course this could cover everything from a line up to the whole file,  and in between the push and the pop you could make multiple changes to  each of multiple options.  Be careful, though, that you don't pop to soon.  In this example:&lt;br /&gt;&lt;blockquote&gt;foo()&lt;br /&gt;{&lt;br /&gt;    int unused,i;&lt;br /&gt;    i=3;&lt;br /&gt;}&lt;/blockquote&gt;We might want to suppress the unused variable like this:&lt;br /&gt;&lt;blockquote&gt;foo()&lt;br /&gt;{&lt;br /&gt;#pragma GCC diagnostic push&lt;br /&gt;#pragma GCC diagnostic "-Wunused-variable"&lt;br /&gt;    int unused,i;&lt;br /&gt;#pragma GCC diagnostic pop&lt;br /&gt;    i=3;&lt;br /&gt;}&lt;/blockquote&gt;and then be surprised that we still get a warning about an unused variable.  The reason is, that GCC doesn't know the variable is unused until it hits the closing brace.  That means the pop has to come after the closing brace:&lt;br /&gt;&lt;blockquote&gt;foo()&lt;br /&gt;{&lt;br /&gt;#pragma GCC diagnostic push&lt;br /&gt;#pragma GCC diagnostic "-Wunused-variable"&lt;br /&gt;    int unused,i;&lt;br /&gt;    i=3;&lt;br /&gt;}&lt;br /&gt;#pragma GCC diagnostic pop&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;h6 id="Ahandymacrotohelpyoudosomeofthis"&gt;A handy macro to help you do some of this&lt;/h6&gt;Jonathan Wakely came up with a nice macro set to control this and I'm  sharing a slightly modified version of it with you.  It defines: &lt;br /&gt;&lt;dl class="wiki"&gt;&lt;dt&gt;GCC_DIAG_OFF(FLAG)&lt;/dt&gt;&lt;dd&gt;For versions 4.2-4.5 will turn warnings off for a particular error if  controllable via a -W command line flag.  If -fdiagostics-show-option  told you that the warning was controlled by [-Wsign-compare], then you  could say GCC_DIAG_OFF(sign_compare).  Beginning at version 4.6, it will  push the current state of the diagnostic flags and then turning warning  off.  Prior to version 4.2 it has no effect. &lt;/dd&gt;&lt;dt&gt;GCC_DIAG_ON(FLAG)&lt;/dt&gt;&lt;dd&gt;For versions 4.2-4.5 will arbitrarily turn warnings on.  This may not be  what the user wanted.  Beginning at version 4.6 it will simply pop the  saved diagnostic stack.  Prior to version 4.2 it has no effect.  &lt;/dd&gt;&lt;/dl&gt;Both of them should be used only at file scope for versions 4.2-4.5.   Beginning at version 4.6 they can be used at any scope.  If you want to  turn multiple things from warning to error to ignored between the push  and the pop then this will not be effective for you. &lt;br /&gt;It allows you to do things like (for GCC version 4.6 or later): &lt;br /&gt;&lt;pre class="wiki"&gt;GCC_DIAG_OFF(sign-compare);&lt;br /&gt;    if(a &amp;lt; b){&lt;br /&gt;    GCC_DIAG_ON(sign-compare);&lt;br /&gt;&lt;/pre&gt;to turn off warnings that you know are spurious.  (Probably a cast of  one to the other's type or changing the declaration of the type of one  to the other's would be a better fix.) &lt;br /&gt;&lt;pre class="wiki"&gt;#if ((__GNUC__ * 100) + __GNUC_MINOR__) &amp;gt;= 402&lt;br /&gt;#define GCC_DIAG_STR(s) #s&lt;br /&gt;#define GCC_DIAG_JOINSTR(x,y) GCC_DIAG_STR(x ## y)&lt;br /&gt;# define GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)&lt;br /&gt;# define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x)&lt;br /&gt;# if ((__GNUC__ * 100) + __GNUC_MINOR__) &amp;gt;= 406&lt;br /&gt;#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(push) \&lt;br /&gt;          GCC_DIAG_PRAGMA(ignored GCC_DIAG_JOINSTR(-W,x))&lt;br /&gt;#  define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(pop)&lt;br /&gt;# else&lt;br /&gt;#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(ignored GCC_DIAG_JOINSTR(-W,x))&lt;br /&gt;#  define GCC_DIAG_ON(x)  GCC_DIAG_PRAGMA(warning GCC_DIAG_JOINSTR(-W,x))&lt;br /&gt;# endif&lt;br /&gt;#else&lt;br /&gt;# define GCC_DIAG_OFF(x)&lt;br /&gt;# define GCC_DIAG_ON(x)&lt;br /&gt;#endif&lt;br /&gt;&lt;/pre&gt;These macro names won't collide with GCC macros since their's start with one or two underscores.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4390931187430614790-5656225360373318873?l=theslantview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theslantview.blogspot.com/feeds/5656225360373318873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theslantview.blogspot.com/2011/03/suppressing-warnings-in-gcc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/5656225360373318873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/5656225360373318873'/><link rel='alternate' type='text/html' href='http://theslantview.blogspot.com/2011/03/suppressing-warnings-in-gcc.html' title='Suppressing Warnings in GCC'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/07006426361463277965</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_grWB9YAwrx4/SsuAB6zK6gI/AAAAAAAAAAM/iyjQFUieUyo/S220/100_0749.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4390931187430614790.post-5983922445284807620</id><published>2010-01-05T10:10:00.000-08:00</published><updated>2010-01-05T10:10:09.482-08:00</updated><title type='text'>Unless you become like a little child</title><content type='html'>I'm not called to working with kids.&amp;nbsp; The truth is, adults are a lot more interesting.&amp;nbsp; Even most 20 somethings, and a lot of 30 somethings, are pretty shallow.&amp;nbsp; They just don't know it, and I don't mind it, it's part of the process and we all go through it.&amp;nbsp; It takes a lot of time to realize that you don't know much, and longer to accept that you'll never know most things, and longer still to understand that embracing it sets you free.&amp;nbsp; Too many opinions easily translate to close-mindedness.&amp;nbsp; Embracing general ignorance--the normal undeniable fact that you don't know most things and that for the ones you think you know, you are often wrong--lets you approach everything with the wonder and joy of a child but with so much more depth.&amp;nbsp; Save me from the man filled with certainty.&amp;nbsp; I like to think that conservative Republicans are the ones I mean, but really ideologues come in all shapes and flavors.&amp;nbsp; Just because the willfully blind man agrees with me, doesn't make him any deeper.&amp;nbsp; I think that the idea of being opened to the world by embracing your ignorance is what the scripture (from Mark 10) means: &lt;br /&gt;&lt;dl compact="compact"&gt;&lt;dd&gt;And people were bringing children to him that he might touch them, but the disciples rebuked them.&amp;nbsp; When Jesus saw this he became indignant and said to them, "Let the children come to me; do not prevent them, for the kingdom of God belongs to such as these.&amp;nbsp; Amen, I say to you, whoever does not accept the kingdom of God like a child will not enter it." &lt;/dd&gt;&lt;/dl&gt;I just think it's important to move teen's natural passion toward important things like caring about justice and understanding that justice applies to all--you don't get it if the undocumented Mexican worker, or the Gazan imprisoned in their own land, or the worker in a diamond mine, or the homeless guy you hurry to walk past, or the worker trapped in poverty doesn't get it.&amp;nbsp; To me, as a Catholic, this is a natural result of the second great commandment, and as an American (and proud of it), the phrase, "with liberty and justice for all", means something.&lt;br /&gt;&lt;br /&gt;Justice is not just for people you like.&amp;nbsp; Everyone is redeemable.&amp;nbsp; People in prison still count as people.&amp;nbsp; We incarcerate at a higher rate now than any country on earth--I know Americans aren't the worst people on earth.&amp;nbsp; People complain about high recidivism rates, and want to get ever tougher on criminals, but the truth is that the highest recidivism rates they complain about are less that half.&amp;nbsp; Most people in prison will never return to prison.&amp;nbsp; They'll spend the rest of their life around us.&amp;nbsp; Most of them would never have gone to prison except for some failing of love in their life.&amp;nbsp; And it doesn't take that much love to be transformative.&amp;nbsp; So we should welcome them into our society with peace and love and justice, (and work), and if some of them aren't healed or can't heal and they do bad things again, the answer isn't hate, but more love.&amp;nbsp; (Though like children, sometimes you do have to keep them separate until they learn to behave better--it's just that we do nothing to love and help those incarcerated learn these lessons--just the opposite.)&amp;nbsp; We can protect others better by transforming the damaged members of our society.&lt;br /&gt;&lt;br /&gt;There's also no justice if you ruin the earth for people less advantaged, or for generations to come.&amp;nbsp; To me, love and justice doesn't stop with human beings, it applies to animals and plants and to the whole earth and beyond.&amp;nbsp; Kids need to learn that love isn't JUST passion but is often hard work in boring conditions--it's sacrifice--and it's love that makes it so damn rewarding, and so damn frustrating.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just love.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Patrick&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4390931187430614790-5983922445284807620?l=theslantview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theslantview.blogspot.com/feeds/5983922445284807620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theslantview.blogspot.com/2010/01/unless-you-become-like-little-child.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/5983922445284807620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/5983922445284807620'/><link rel='alternate' type='text/html' href='http://theslantview.blogspot.com/2010/01/unless-you-become-like-little-child.html' title='Unless you become like a little child'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/07006426361463277965</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_grWB9YAwrx4/SsuAB6zK6gI/AAAAAAAAAAM/iyjQFUieUyo/S220/100_0749.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4390931187430614790.post-852082821214957119</id><published>2009-10-21T14:00:00.000-07:00</published><updated>2009-10-22T12:05:04.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='clarion alley'/><category scheme='http://www.blogger.com/atom/ns#' term='beer'/><category scheme='http://www.blogger.com/atom/ns#' term='violence'/><category scheme='http://www.blogger.com/atom/ns#' term='literature'/><category scheme='http://www.blogger.com/atom/ns#' term='litcrawl'/><title type='text'>LitCrawl in Clarion Alley</title><content type='html'>Last Saturday night, I was lucky enough to get to be a volunteer for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;LitCrawl&lt;/span&gt; in San Francisco's famous Clarion Alley.  For those who might not be aware of it, San Francisco has had &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;LitQuake&lt;/span&gt; since it was founded by book lovers in 1999 as a week long read and fun fest!  It wraps up with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;LitCrawl&lt;/span&gt;, which combines a bar crawl with talks and readings by authors of all types.&lt;br /&gt;&lt;br /&gt;I got there early because I'm compulsive and anxious and love knowing where I'm going before I get there.  I was supposed to be there for 3:30 setup and got there at 1:30.  I had to figure out something to do with the extra time and discovered  Cafe Prague.  They are a Czech cafe between Clarion Alley and Sycamore Street on Mission.  Great food, great people, and an opportunity to try Czech beer!   I had a salad, which sounds healthy enough, with HUGE chunks of hot bacon in it which was maybe not &lt;span style="font-style: italic;"&gt;as&lt;/span&gt; healthy, and beer.  I had huge hopes for the beer since I've read that the Czech Republic has the highest per &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;capita&lt;/span&gt; beer drinking rate in the world.  I had a dark &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Krusovice&lt;/span&gt; which was really quite acceptable.  Not as much complexity as I &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; want, but nevertheless, not a boring beer.&lt;br /&gt;&lt;br /&gt;When I had sampled the beer and food enough (what am I a restaurant critic?)  I went back out on the street and saw that violence was about to break out.  It seems that a fellow was doing business in an area that some others felt proprietary over and they had come en-mass to talk to him.  Imagine the scene.  The poor guy is standing on the sidewalk with his back toward the buildings.  He's been surrounded by six or seven guys, a couple behind him, a couple at his sides, a fellow standing in front of him explaining his mistake, backed up by a couple of more.  They're basically filling the sidewalk and I want to go by.  The tension is so thick that the air has almost solidified into a rubbery crystal clarity. Some of the fellows are watching their leader talk to the interloper, some are looking around for trouble, one guy looked really stoned and was picking his nose waiting for things to be over.  I've been around things like this before, too often, and see that things haven't quite reached a head yet, so I slide through the crowd with that I'm not really here attitude.  Really, I'm not sure that they even noticed me drifting through their obstacle course.  &lt;span style="font-style: italic;"&gt;I&lt;/span&gt; wasn't the main attraction!  As I'm walking by I hear the leader telling the poor fellow that there's nothing to worry about, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;nothing's&lt;/span&gt; going to happen to him.  I see that he &lt;span style="font-style: italic;"&gt;wants&lt;/span&gt; to believe it, but you could see that he didn't, not really.  Not any more than I did.  As I walked away I waited--1--2--3--and then from the gasps and reactions around me I knew something had happened.  I stepped up against the building so that I wouldn't be in the way of anyone fleeing the scene and saw--Good!  They just knocked him out.  He's laying--well, I'm not going to say face down because you have an impression of what laying face down means.  This guy was out cold and spinning as his face hit the sidewalk. His face is kind of smudged out on the street, he's all twisted up, and one of the guys that had been standing behind him was trying to straighten the poor guy out.  It's hard to move an unconscious person.  You have no idea.  He finally flops him over and pulls him back toward the building.  It's obvious he's trying to make the guy look less conspicuous lying there.  Maybe dragging him against the building will make him look like a drunk passed out.  I don't know.  Was he being a good &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;samaritan&lt;/span&gt;?  He obviously was embarrassed about what had happened.  There's all sorts of victims when violence happens, I wish it still bothered me like it once did.  He was obviously impelled by fear, looking all around, jittery, then whoosh, he bolts and leaves the guy.  Meanwhile the leader is walking by me saying, "We've been &lt;span style="font-style: italic;"&gt;done&lt;/span&gt; running shit around here!"  Strange how odd language can get and still communicate clearly.  The victim is starting to come around already.  It's hard to knock someone out for very long. Most knock outs are only for seconds.   He gets up and staggers off the opposite way.  There's a couple of street people by me telling each other how they didn't see anything.  They looked like they'd just seen an act at the circus they were so excited.  Maybe they did.&lt;br /&gt;&lt;br /&gt;So I go into the alley and talk with some artists who are doing some new work, and some others that are fixing their older work that's suffered the depredations of taggers.  If you don't know Clarion Alley, then you are probably saying, "Art!  What art?  I thought this was going to be about literature!" Clarion Alley is filled with murals.&lt;a href="http://www.meganwilson.com/related/clarion.php"&gt; CAMP (Clarion Alley Mural Project).&lt;/a&gt;  I went in on some food from El &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Toro&lt;/span&gt;, at 17&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;th&lt;/span&gt; and Valencia for one of the artists who spent his only money on beer and said that being hungry made him a better artist, but now he'd hit the downside of that and was running down.&lt;br /&gt;&lt;br /&gt;After awhile people started showing up to set up so I introduced myself and got to work.  Pretty soon I was asked to set up the barricade at the Mission end of the alley and then stayed there pretty much from 3:30 until 7:00.  It was great fun.  I'm bilingual (Spanish and Texan), and was able to get in a lot of great conversations while waiting for cars that had to be let in or out of the alley.  Across the way were some drug dealers who were doing a brisk business.  It was surprising to see some of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;clientèle&lt;/span&gt;.  Looked like nice moms.&lt;br /&gt;&lt;br /&gt;The saddest thing I saw was a whore who was gone in despair and drugs and booze.  21 going on 97.  Her face wore a map of her experiences.  Way too thin young blond, dirty and raggedy. She was wandering lost, walking down the street out of habit, but you could see she didn't really know where she should be.  Somebody sent another hooker to collect her and take her back.  I said, "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Lookin&lt;/span&gt;' good hon!"  You'd think it was a pity comment, but it wasn't.  Just one human being acknowledging another.  You could still see that under all the decay and debris there was something there. What she  really needed was a hug without a sub-text, but as compassionate as my heart is, my needs don't include rescuing every victim on the street.  When she heard my greeting, she lit up and stood a little taller and then her attention just kind of drifted off down the gutter and she was gone.&lt;br /&gt;&lt;br /&gt;I got a lot of the fliers that had the map of all the venues, and then started schmoozing everyone that walked by.  Got several groups out for an evening that didn't know about the event all excited and sent them off with maps.  I mean, if you're doing a pub crawl anyway, why not add in literature and the chance to follow a treasure map, right?  No &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;brainer&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;At 6:00 or so Alvin joined me.  Alvin was another volunteer and a high point of my night.  This young cat lived a life so hard, yet he was kind and caring and quiet.  Poverty hadn't broken him, it had refined him.  He was signed up for the open mike at 7:00 and was wondering how long it took to read a page.  He doubted my assurance that it's a minute a page for double spaced text, so I had him read me a page while I timed him.  One minute.  His stuff was edgy street stuff that I really wish more people would hear, stuff about getting the GA because otherwise you won't make rent, a story about collecting recycle out of the public bins, and how the old &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;asian&lt;/span&gt; ladies get up awfully early so you'd better get up early too.  He read well too.&lt;br /&gt;&lt;br /&gt;At 7:00 I got released from the end of the alley for Phase 2 and could go listen a bit, interrupted by checking on my replacement and bringing him more &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;flyers&lt;/span&gt; and beer.  Got to hear Alvin doing his open mike spiel.  It was well received.  Did I mention free beer?  Don't know where that came from, but I'll just say that people from Germany have a great attitude about beer.  Thanks Wolf. Then Phase 3 an hour later, brought lots of funny talks and readings.  I kept checking on my replacement's replacement and bringing more fliers.&lt;br /&gt;I'm sure the volunteer party afterward was cool, but I missed it.  Got on my motorcycle and headed back to San Jose.  Next year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4390931187430614790-852082821214957119?l=theslantview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theslantview.blogspot.com/feeds/852082821214957119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theslantview.blogspot.com/2009/10/litcrawl-in-clarion-alley.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/852082821214957119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/852082821214957119'/><link rel='alternate' type='text/html' href='http://theslantview.blogspot.com/2009/10/litcrawl-in-clarion-alley.html' title='LitCrawl in Clarion Alley'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/07006426361463277965</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_grWB9YAwrx4/SsuAB6zK6gI/AAAAAAAAAAM/iyjQFUieUyo/S220/100_0749.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4390931187430614790.post-5051729952669652442</id><published>2009-10-06T18:26:00.001-07:00</published><updated>2009-10-06T18:55:15.402-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sorrow'/><category scheme='http://www.blogger.com/atom/ns#' term='pizza my heart'/><category scheme='http://www.blogger.com/atom/ns#' term='gourmet'/><category scheme='http://www.blogger.com/atom/ns#' term='pizza'/><title type='text'></title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Ahhhh&lt;/span&gt;!  Pizza!  There is, arguably, no better New York style pizza than that of Pizza My Heart.  They start their dough the day before so it has time to rise properly.  They throw their dough, their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;sauce&lt;/span&gt; is organic, their ingredients wonderful and fresh and if you can't appreciate them, you have no business eating pizza.  But sad times, they are feeling the crunch, and they are telling their stores to cut down on the pizza available at any given moment to cut down on waste.&lt;br /&gt;&lt;br /&gt;To understand the implications of this you have to understand that they are creative--no, not just creative, but creative with the abilities of angels behind them.  They have created, over and over, amazing combinations of ingredients that how won award after award, and have made a point, over time, to always make premium pizzas available at their stores to educated the palates of the masses, and to satisfy the palates of the initiates.&lt;br /&gt;&lt;br /&gt;Now, though, (and there should be dirge music playing through this part--I apologize for its &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;absence&lt;/span&gt;), they are trying to cut waste, and normally when you enter into the inner sanctum of the pizza heaven, all you find are pepperoni and cheese.  Don't get me wrong, these are &lt;span style="font-style: italic;"&gt;amazing&lt;/span&gt; pepperoni and cheese pizzas, but if you think that these are all that is in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;pallet&lt;/span&gt; of Pizza My Heart, you are a heathen.&lt;br /&gt;&lt;br /&gt;Now, when you want a premium pizza, and I must tell you that the most premium in my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;NSHO&lt;/span&gt; is the Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Sur&lt;/span&gt;, you have to wait for the day of availability.  That day is Tuesday for the Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Sur&lt;/span&gt;, but of course, today, Tuesday, I went into Pizza My Heart, and no Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Sur&lt;/span&gt; was available.  Only cheese, and pepperoni, the pies of the masses.  If Pizza My Heart is hurting so badly that they have lost their heart and soul, then the universe must cry.&lt;br /&gt;&lt;br /&gt;To digress, I must tell you about the Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Sur&lt;/span&gt;.  The Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Sur&lt;/span&gt; starts, as most of the pies here do, with the organic tomato based pizza sauce.  To that is added cheese of course, and 40 cloves of roasted garlic, cherry tomatoes, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;portobella&lt;/span&gt; mushrooms, green onions, roasted red peppers, and herbs.  This quotidian list of ingredients can in no way prepare you for the experience that is the Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Sur&lt;/span&gt;.  It is heaven on earth, it is first love, it is your first ice cream.  There is no comparison. &lt;br /&gt;&lt;br /&gt;I used to be able to call my local Pizza My Heart, and ask them, "Is there any Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Sur&lt;/span&gt; up?" , and they would say, "No, but we'll throw some in."  When I got there, there would be a half of a Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Sur&lt;/span&gt; pie waiting for me, beautiful, petulant, perfect.  It only lacked augmentation with the beer of my choice to achieve perfection on earth.&lt;br /&gt;&lt;br /&gt;Then, a week and a half ago, I was told that I couldn't have the pizza because it wasn't Tuesday.  As I told you, Tuesday, under the new regime, is the only day you can buy a slice of Heaven/Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Sur&lt;/span&gt;.  I waited, frustrated, enjoying the other pies as they were available.  This morning, at 7:30, at a local coffee shop (Roy's which all should worship because it is to coffee what Pizza My Heart is to pizza), a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;barista&lt;/span&gt; mentioned to me that today was Tuesday, that I would be able to have Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Sur&lt;/span&gt; today.  Heavenly anthems accompanied that announcement.&lt;br /&gt;&lt;br /&gt;I waited all of the day, until finally, this afternoon, I entered, with great triumphal joy, Pizza My Heart, only to find no Little &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Sur&lt;/span&gt;.  They told me that they had had some earlier in the day, but sadly, all they had for me was cheese and pepperoni.  You can't imagine how crushed I was.&lt;br /&gt;&lt;br /&gt;So, I'm sitting here, in Pizza My Heart.  I don't know whether to tell you to go to Pizza My Heart, or to tell you that it's ruined.  I love them.  I wish them all the best, but it seems as if the economy has them on their last legs.  It seems that perhaps they are about to fail.&lt;br /&gt;&lt;br /&gt;Go see them if you can.  Even their cheese and pepperoni are wonderful compared to everything else you've ever had. &lt;br /&gt;&lt;br /&gt;Myself?  All I can do is pray for them.&lt;br /&gt;&lt;br /&gt;Patrick out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4390931187430614790-5051729952669652442?l=theslantview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theslantview.blogspot.com/feeds/5051729952669652442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theslantview.blogspot.com/2009/10/ahhhh-pizza-there-is-arguably-no-better.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/5051729952669652442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/5051729952669652442'/><link rel='alternate' type='text/html' href='http://theslantview.blogspot.com/2009/10/ahhhh-pizza-there-is-arguably-no-better.html' title=''/><author><name>Patrick</name><uri>http://www.blogger.com/profile/07006426361463277965</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_grWB9YAwrx4/SsuAB6zK6gI/AAAAAAAAAAM/iyjQFUieUyo/S220/100_0749.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4390931187430614790.post-1015951478916859293</id><published>2009-10-06T10:08:00.000-07:00</published><updated>2009-10-06T10:32:52.850-07:00</updated><title type='text'>The Fifties are Strange</title><content type='html'>I didn't think that my life would be so hard at 54, or that I'd be out of work, or that I'd feel like I was trying to find myself.  There are a few things that I know about myself&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I'm a Catholic boy, that's important to me&lt;/li&gt;&lt;li&gt;I'm smart, and I'd rather work on something hard with a lot of learning involved than on something easy&lt;/li&gt;&lt;li&gt;injustice and poverty get my dander up, and although I don't think I much make a difference by doing it, I go and stand with signs talking about what I'd like to stop and I'd like to start&lt;/li&gt;&lt;li&gt;In particular I'd like to see enough work visas issued for all the latin american workers we have slaving away in America.  That would solve most of the illegal immigration problem.  Why do we only want them working here if they're undocumented?&lt;/li&gt;&lt;li&gt;Why does the United States have the highest incarceration rate in the world?  China's second.&lt;/li&gt;&lt;li&gt;Why is California incarcerating people at a rate of 1 out of every 113 people (in 2008 according to the US department of justice)?&lt;/li&gt;&lt;li&gt;Are we so much worse than the rest of the world?  I don't think so--we're just meaner.&lt;/li&gt;&lt;/ul&gt;Looks like I'm either going to have to get out of programming, or add to my skillset.  Just being a kick-ass crazy good C++ programmer isn't enough to keep me employed.  I hate not having a job.  I love being a generalist able to jump in and quickly be productive in new problem domains, but it's getting harder and harder to get people to hire me.  Maybe I should specialize in something.  Any suggestions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4390931187430614790-1015951478916859293?l=theslantview.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theslantview.blogspot.com/feeds/1015951478916859293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://theslantview.blogspot.com/2009/10/fifties-are-strange.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/1015951478916859293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4390931187430614790/posts/default/1015951478916859293'/><link rel='alternate' type='text/html' href='http://theslantview.blogspot.com/2009/10/fifties-are-strange.html' title='The Fifties are Strange'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/07006426361463277965</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_grWB9YAwrx4/SsuAB6zK6gI/AAAAAAAAAAM/iyjQFUieUyo/S220/100_0749.JPG'/></author><thr:total>1</thr:total></entry></feed>
