31 March 2019

Intimacy

In a sit we are intimate with our breath, body, awareness, without getting caught up to much in it.
Intimate with life, with liveness itself
I once couldn't understand how to be in the moment. Now I can't understand how not to always be in the moment. It is seductive.
Heartfelt practice to be intimate
Intimacy is now. If you are not intimate with yourself you are not in the moment. You are not here, you're not intimate with anyone.
The unconditioned is our true nature. It is our normal without cultural worldview.

Rumi — Close both eyes to see with the third eye

17 July 2018

How To Change the World

I'm just going to say that I believe the ideal reaction to hatred is compassion, but without acceptance, without agreeing. Letting hate engender hatred, or anger engender anger in you means they win.

Factually, for most of us it takes years to wake up. No one expects it right away. (I don't expect everyone to be fully awakened instantly at all times. If you do, you'll be disappointed.) But that doesn't mean that we do not continually work to grow and be and better.

That black guy that has gotten so many KKK members to give it up and give him their robes doesn't do it through hatred. He does it by seeing them as suffering human beings. He does it with compassion. He does it by letting people know that they are seen. He does it by letting people know that they are valued. That's how we change the world. So says Buddha. So says Gandhi. So says Christ. (Yes, so says me.)  Just sayin'.

You don't change people by pushing them away. You don't change the world by separating into us and them. You don't change the world with hatred. You change the world with love. You change the world with inclusion. You change the world one person at a time. And to be really clear, I don't mean one person that is already just like you. I mean the other, no matter how other they are.

Cultivate compassion. See the suffering in others. Cultivate love. That (whatever you think is the most horrible human possible) is just another suffering human being and you have to decide. How do you respond to suffering? It isn't about them. It's about you. Who are you? Who will you be?

16 September 2016

Music Found

    I had the strangest dream. I was wanting to get away, to vanish for a bit and was walking along a coast looking for a way to get down to the water. A tree was reaching up from below and it looked like I could slip down to the water along one of the branches so like the kid I once was, no sooner thought than done. I reached down with my staff as I slid and went and just as I was getting down by the water the end of the staff hit some wood with the most marvelous hollow resonant sound. I realized I had to stop then because I'd gotten to the water, it was just a few inches deep but deep right up to the bluff I'd come down, so I looked around and found a crook and settled in and hit the wood again. So beautiful. I started to hit around and found all these notes, a sort of natural? xylophone. It was getting near dark, so I more felt for than looked for different notes. There were some fallen sticks and I tried with some of them to get different sounds, but ended up just pulling them off to the sides, my staff could reach more notes. I hit something different and realized there was an old small engine wedged in. I found a hammer of a sort I hadn't ever seen with small narrow faces. I tried hitting notes with it too, but I couldn't hit very hard without it trying to dig in to the wood so after trying it a bit on the little engine, I set it aside and went back to my staff. Pretty soon I had a nice rhythmic melody going and cycled through throwing in variations as I went.
    All of a sudden a guy slides down beside me and grins. I grinned back but didn't stop so he grabs a stick and joins in. Soon another and another come down and by then I realized that this was their place, and that I was the interloper, but with music, there is no interloper, there's just play, so I played. All my troubles were gone, there was nothing but music. We went on for a long time working around my composition, but eventually it started to slide to something else, and I dropped back into supporting rhythm with a little counter here or there. A last guy, an old grizzled grey whiskered guy spry as a monkey dropped in. I realized no more sticks were there and reached behind and felt for the hammer and gave it to him. He slid to the engine and clearly he knew it. He found sounds I hadn't. We must have played for an hour or three. I don't know. It was full dark by then, we couldn't see more than flashes of teeth in the darkness under the tree. The tide had gone out, and by starlight and waxing moonlight, I could see a bit of path at the base of the little cliff had appeared, and thinking to go, I took my chance. I slithered down and found myself on wet rocks and clambered along looking for a way up. Behind me the sound kept me company for a long time as I went.

19 January 2016

Aren't Optical Disks Done? Maybe Not.

   I'm soon to build another machine, and so I am thinking about the necessity for an optical drive. It is a decision I have to make soon. Optical drive, or no.
    Certainly I don't need a floppy drive, (although ebay has tons of external and internal floppy drives cheap), I got all my stuff off of floppies in the nineties. They had so little space (even the 1.44MB ones), that you couldn't put an album on one. I haven't had to consider that for many builds. (So sorry for those of you who find a shoe box of floppies with things that you don't know if you need.)
    A cdrom, though, can hold an album. A dvd drive can hold a movie. Nothing smaller can serve those purposes. I don't know if you remember, but they have evolved as well. They went one side, two side, single layer, double layer until they became pretty much perfect for their use. They can hold any conceivable movie or album.
    Certainly a USB thumb drive can hold either and more, but it has one big drawback. It isn't flat. It has to be at least as thick as an USB connector and be long enough to let you grab it to plug it in or pull it out. I have some that are that minimum size physically, (see the picture above), and are 32GB. They didn't cost much, but already they have already gone the way of the dodo. You can buy larger ones (in storage capacity), for less than they originally cost.
    I suppose that a ukulele tutorial book could come with a blister on the front with a usb drive in it, and maybe that will be what will happen. It hasn't happened yet, but it might, clearly. Any modern machine can read a usb thumb drive. It is a good standard for something like this. Even if you have a modern machine that disdains USB 2.0 or 1.0 in favour of USB 3.0 or 3.1, they are backward compatible. You can plug those old and small and slow ones in, and they will work.
    It is, clearly though, a poorer solution in the sense that it can't be as flat as the magazine or book. It has to be at least as thick as a USB connector to plug in. That means that publishers can't fit as many books in a box. Shipping will cost more.You might not want to ship it in a magazine or a tutorial book, especially not in a beginner's book that is way thinner than a USB drive.
    I suppose that just like OSes today, things might start shipping on thumb drives, (you can get Windows 10 on a thumb drive), and of course I love getting free thumb drives as long as they aren't too small. Right now, I tend to buy 64GB and up thumb drives, they don't cost much, but soon they too will be to small a capacity to sell.
    If you gave me a thumb drive that would just barely hold an album -- I would just throw it away. I would feel bad about the waste, and of the harm to the environment, but what would I do with it? It is obsolete already. I have plenty of thumb drives that are way bigger than that that either cost me very little money or were in fact free (thank you marketing folks), to serve all of my needs. 
    I use everything. I am an uber-geek. I was and am using everything before most people have it on their radar -- all the way back to the internet way before the web, but I still don't see what can replace an optical disk. Clearly there is a need for something that is high capacity and flat, but there is nothing that has been settled on.
    There are things, multiple things that fit our criteria, things that have large capacity and are flat. I am talking about things like memory cards, SD cards. (SD stands for Secure Data which was originally about encrypting music -- Hmmm.) Nowadays they are mostly used in cameras and phones. Recently, they are being replaced by SDHC and SDXC cards with more storage available on them. Bigger. Better. They use the same technology as is used in a thumb drive, (or a flash drive), i.e. memory that can be read and written, but they come in a flatter package.
    Right now, most computers do not have readers for them, although more, (most?), laptops do. The problem is that there is no recognized single standard. An external or internal card reader feels that they have to support CF I/II/MD, Micro SD, SD/SDHC/SDXC/MMC/RSMMC, MS/MS PRO/MS PRO DUO, M2(MS MICRO). To make it even more complicated, many of these come in the original, the mini, and in micro sizes. Whew! Your phone almost certainly uses some size of them. But seriously, can't we just pick one that is tiny and holds terabytes? (SDXC supports up to 2TB, SDHC 32GB, and SD 4GB.)
    What if your guitar or piano instructional book came with a memory card that your hardware didn't support, one that was just newer than your computer could understand? Suppose that you didn't have a card reader at all? They aren't ubiquitous. There is, yet, no clear winner. Even on cameras or phones (where these things are king), many times there are more than one slot because they admit that people want to use more than one thing. It hasn't settled out. That's the problem. There is no one winner.
    As an example, a camera I would love to have, the Canon EOS-1d Mark IV (you can buy it for me if you are rich please), says that it supports: CF Card Type I and II and SD/SDHC Memory Card (1 slot each). Those are completely different and incompatible beasts (hence needing different slots). A SDXC card won't even work although wouldn't you wish for 2TB of storage on your camera?
    So to wrap it up, I will just say that this is a problem that has not been solved in any way that is workable for a joe q citizen like me. There is still nothing that is as ubiquitous as an optical drive to distribute media on. I hope for it, and I will adopt it before you will most likely, but it doesn't exist today. People are still distributing things I want on optical disks. Clearly I still need an optical reader on my next build (and a crazy multiple card reader).
    Edit: my final build that I'm typing this on now is:

1x Corsair 450D Mid tower E-ATX, ATX, mini-ATx and micro-ATX $119-$129
1x i7-6700K CPU
1x ASRock Z170 OC Formula LGA 1151 Motherboard
1x G.SKILL TridentZ Series 64GB (4 x 16GB) 288-Pin DDR4 SDRAM DDR4 3200
    (PC4 25600) Desktop Memory Model F4-3200C14Q-64GTZ
1x SeaSonic Snow Silent-1050 1050W ATX12V / EPS12V
    80 PLUS PLATINUM Certified Full Modular Active PFC Power Supply
1x ZOTAC GeForce GTX 980 Ti 6GB AMP! Extreme graphics card
3x SAMSUNG 950 PRO M.2 SSD
    512GB PCI-Express 3.0 x4 Internal Solid State Drive (SSD) MZ-V5P512BW
3x Western Digital RE WD6001FXYZ HDD
    6TB 7200 RPM 128MB Cache SATA 6.0Gb/s 3.5" Datacenter Capacity HDD
1x Microsoft Windows 10 Pro - Full Version (32 & 64-bit) / USB Flash Drive
1x NZXT Kraken X61 RL-KRX61-01
    280mm All-In-One Water / Liquid CPU Cooling Solution
1x LG Black Blu-ray Burner SATA WH16NS40 - OEM with an external usb case
1x Akasa AK-HC-07BK Card Reader
    4 USB 3.0 + 2xUSB charging (no data)
    Smart Card (bank cards, access cards, based on ISO7816 implementation)
    Compact Flash (CF I, CF II, Ultra, Extreme, I-Pro, Ultimate, MD)
    Memory Stick (MS Pro, MS Pro Duo, Magic Gate, Extreme, Ultra)
    Secure Digital (SDXC, SDHC, SD, Ultra, Extreme, Elite Pro, High Speed,
                    MMC, MMC Mobile)
    • 128GByte for SDXC • 32GByte for SDHC
    M2 (Memory Stick Micro M2)
    microSD (microSDHC, micro SDXC, High Capacity)
1x Dell 27 UltraHD 4K Monitor - P2715Q
1x Corsair K95 RGB Mechanical Gaming Keyboard with CHERRY MX Brown Switches
1x Logitech G900 RF Wireless/Wired optical mouse with free spin wheel
1x BOSE Companion 2 Series III Multimedia Speaker System
1x HyperX Cloud II Gaming Headset with 7.1 Virtual Surround Sound
    for PC/PS4/Mac/Mobile - Red
1x Wacom Intuos Pro PTH651 8.8" x 5.5" Active Area USB Pen and Touch Medium

1x Epson SureColor P600 printer

11 January 2016

Failed To Thrive

    Let me be clear right from the beginning. I am broken. As a child I had no one tell me that they loved me ever. I was not held, ever. My psychiatrist tells me that the only reason my emo self didn't fade away from Failed To Thrive syndrome might be that my big brother Michael was across the room wishing that he might pick me up when I lay in the crib offending the world by crying.
    As I grew, long before I could speak I suffered abuse, spanked and shaken for dirtying my diapers or for daring to cry in despair and need.
    I was an emo kid with terrible attention deficit issues, yet I never showed that because I expected to die. I believed that I had no right to impose on anyone my needs, my expectations, my beliefs. I knew I did not get to have any of those. I didn't even dare to have any of those. I didn't believe I deserved to. I expected that any sign that I was less than a silent perfect boy would be met with a whipping with a leather strap (a belt) until I didn't know if I would survive. Usually, it would just go to welts all over my bare bottom and my back and my legs. Sometimes, though, I would bleed. To this day, the sound of a belt coming out of belt loops destroys me. I can't in any way support my belief in my right to exist if I hear that sound or see the belt being pulled. Part of the damage came from the abuse, but more came from the training to submit. I was taught that a good boy would take his punishment without crying, without putting his hands back to block the belt, without believing that he had any right to exist in a world without abuse. I was taught that it was me -- my fault -- my shame. I was taught a learned helplessness. I was taught to be victim and that it was never ok for me to have any opinion or control or existence in my own life.
    I would be frozen, for example in church, with my hands perfectly folded as the nuns taught us and in such ADHD torment that every moment was terror, yet I did not show it. I was beat into submission. I was, (and am), frozen into a cringe, and I knew better than to ever show that I was less than the quiet perfect submissive child. I never believed in any of that perfection though. I believed myself horrible and deserving of torture. I believed that my job in the family was to hide the shame of the truth of my existence so that my family would not be shamed. I carried the shame for the family, and I always knew that the shame was mine.
    Needless to say, I never bonded with my parents. Even with siblings, it is hard to bond when you are just trying to survive and when expressing concern for the abuse of a sibling might threaten your life. I do not know how my brother did it. I will not speak about his concerns and his damage, but you can see it to this day. If there was any saving grace it was that for us, there was something, some care, some desire for the abuse to not happen. Thank you Michael. I hope that if I were the older my care would have been some shelter for you.
    So that brings me to today. In spite of 45 years of mindfulness practice, (since I was 15), in spite of metta, in spite of my finally found ability to feel a deep compassion for myself, I have never shaken that foundational view that I am bad -- flawed -- horrible -- disgusting. I hate myself for being so horrible that my father had to suffer by beating me. I don't say that that makes sense, I say that all of my understanding of the universe, all of my language was built above that truth. It is what I am. I never expect anyone to tolerate me. I never expect anyone to tolerate my presence. I don't mean that this is what I think. I mean that I knew this as a foundational part of my world-view before I could think. My psychiatrist does not believe that self hatred will ever leave me because before I was able to even speak, I was taught that it was harder for my father to suffer through beating me that it was for me to be beat. I was taught that I was so horrible that my father must suffer in a futile attempt to try to rein me in. She tells me that I will never be the person that was not abused. I can ameliorate but not cure. Sigh.
    You may be one of those people that sees broken people doing broken things and thinking, why don't they just stop doing the broken things, and start doing the healthy thing.  That shows a basic misunderstanding of abuse. We have been taught that nothing we want or believe matters. Any attempt to assert that they do would have been met with excessive punishment. We learn early that we do not control anything, that we are not in charge, and any attempt, however minuscule to assert this will be met with violence. We learn that we have no power even over our own beliefs and actions. We have a learned sense of helplessness. Believe me, that lesson sticks. So fast forward to supposed adulthood and we decide not to do things and find our selves doing them and we do not know why because we do not understand our own victimization. This leads to drug and alcohol abuse and to the abuse of others because however horrified we find ourselves unable to stop, unable to stop seeking anything that looks like love. It can be pretty horrible.
    So. That brings me to the reason for this post. After a lifetime of damaging others and dealing with the consequences and healing and growing, I still don't believe in myself, but others do. I am fundamentally unable to understand why they do, but they do. I step forward in life by faith, never believing in my ability to do good, but acting as if I do based on the faith of others. There is a coffee shop I go to, Philz, where all of the baristas love me. Someone told me today that it was because I have a heart of gold. It made me cry. Right in the coffee shop. I don't understand why they believe in me, but I know that they do. For years, in penance for all of the harm I have done I have been stepping forward in love and compassion, trying to listen to everyone, no matter how broken because I believe that's important. I believe that if I just keep doing the next right thing it will make a difference.
    I have, years since, sworn a vow of compassion for all beings. It is pretty hard sometimes. I don't like some people. Some of them scare me. But I am able to find compassion for them by imaging how their lives brought them to this place. For myself it is harder. I can do it sometimes, but I haven't found the ability to give myself the  slack I give others. I know the people that I love that I have harmed. I do not believe in my innate goodness, yet sometimes, with effort, I can find compassion for my broken self.

22 March 2011

Suppressing Warnings in GCC


(This article was originally written by me as part of the Boost Developer Warning Guidelines.)

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 system 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.

Supressing Warnings For A File By Making GCC See It As A System Header

Using a pragma to make GCC think a file or part of a file is a system header
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
#pragma GCC system_header File considered a system header.
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 (most?) warnings point to real issues and should be dealt with appropriately.
Using -i to make GCC think all files in a directory are system headers
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
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 after 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.
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:
-Wsystem-headers
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.

Turning off warnings locally with gcc

So. Suppose you are getting a warning and have checked the code and are sure that it's a spurious warning. There's nothing wrong. If the warning is controllable via a command line -W option, then you can (if you have GCC version 4.2 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.
Finding out what option controls the warning
-fdiagnostics-show-option
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.
Turning the warnings off and on
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.
GCC provides the following pragmas to control warnings.
#pragma GCC diagnostic push
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.
#pragma GCC diagnostic pop
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.
#pragma GCC diagnostic [warning|error|ignored] OPTION
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"
version 4.2. You can turn them off but then what?
So starting from 4.2 but before 4.6, just put near the top of the file something like:
#pragma GCC diagnostic ignored "-Wdeprecated-declarations
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.
version 4.6 Now you can restore the user's flags
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:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
Next you would have any amount of code for which you'd like to suppress that warning
#pragma GCC diagnostic pop
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:
foo()
{
int unused,i;
i=3;
}
We might want to suppress the unused variable like this:
foo()
{
#pragma GCC diagnostic push
#pragma GCC diagnostic "-Wunused-variable"
int unused,i;
#pragma GCC diagnostic pop
i=3;
}
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:
foo()
{
#pragma GCC diagnostic push
#pragma GCC diagnostic "-Wunused-variable"
int unused,i;
i=3;
}
#pragma GCC diagnostic pop

A handy macro to help you do some of this
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:
GCC_DIAG_OFF(FLAG)
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.
GCC_DIAG_ON(FLAG)
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.
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.
It allows you to do things like (for GCC version 4.6 or later):
GCC_DIAG_OFF(sign-compare);
    if(a < b){
    GCC_DIAG_ON(sign-compare);
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.)
#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402
#define GCC_DIAG_STR(s) #s
#define GCC_DIAG_JOINSTR(x,y) GCC_DIAG_STR(x ## y)
# define GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
# define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(push) \
          GCC_DIAG_PRAGMA(ignored GCC_DIAG_JOINSTR(-W,x))
#  define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(pop)
# else
#  define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(ignored GCC_DIAG_JOINSTR(-W,x))
#  define GCC_DIAG_ON(x)  GCC_DIAG_PRAGMA(warning GCC_DIAG_JOINSTR(-W,x))
# endif
#else
# define GCC_DIAG_OFF(x)
# define GCC_DIAG_ON(x)
#endif
These macro names won't collide with GCC macros since their's start with one or two underscores.

05 January 2010

Unless you become like a little child

I'm not called to working with kids.  The truth is, adults are a lot more interesting.  Even most 20 somethings, and a lot of 30 somethings, are pretty shallow.  They just don't know it, and I don't mind it, it's part of the process and we all go through it.  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.  Too many opinions easily translate to close-mindedness.  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.  Save me from the man filled with certainty.  I like to think that conservative Republicans are the ones I mean, but really ideologues come in all shapes and flavors.  Just because the willfully blind man agrees with me, doesn't make him any deeper.  I think that the idea of being opened to the world by embracing your ignorance is what the scripture (from Mark 10) means:
And people were bringing children to him that he might touch them, but the disciples rebuked them.  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.  Amen, I say to you, whoever does not accept the kingdom of God like a child will not enter it."
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.  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.

Justice is not just for people you like.  Everyone is redeemable.  People in prison still count as people.  We incarcerate at a higher rate now than any country on earth--I know Americans aren't the worst people on earth.  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.  Most people in prison will never return to prison.  They'll spend the rest of their life around us.  Most of them would never have gone to prison except for some failing of love in their life.  And it doesn't take that much love to be transformative.  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.  (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.)  We can protect others better by transforming the damaged members of our society.

There's also no justice if you ruin the earth for people less advantaged, or for generations to come.  To me, love and justice doesn't stop with human beings, it applies to animals and plants and to the whole earth and beyond.  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.


Just love.

Thanks,


Patrick