I was writing a script where both an array and a string needed to be passed to a bash function. As in the example below.
On the caller's side there is no problem doing that but in the function is where the magic happens.
Funcer "$var1" "${anArray[@]}"
Now in Funcer imagine that our code was as such as
Funcer ()
{
local hostname="$1"
local host_params=("${2@}")
Bash's interpreter will assume that our array of args has only one item and will ignore $2. You might think that using the the the statement local host_params="${2[@]}" will be copacetic but then the interpreter will show you this is very wrong. The thing you need to do is use shift to move to the next parameter as shown below.
Funcer ()
{
local hostname="$1"
shift
local host_params=("${@}")
for host in ${host_params[*]} ; do
echo -en "\"$host\","
done
echo '\n'
} # ---------- end of function Funcer ----------
There is more information at here and in the ABS.
Saturday, December 25, 2010
Friday, December 24, 2010
ALL CAPS For My Jellied SQLed Soul
I have not been able to do anything with my C# project or bash scripts for the past two days my brain has been like jelly when it comes IT which makes Banji sad. To cheer myself up I watched MF Doom/Danger Doom videos which inspired me to write the piece of hack verse about some of my favourite things.
Two MF Doom Imitators walk into a bar.......
After eating peanuts from jars
and talking about state of Monster Island's Czars
they compared rhyming scars
In the heat of arc lights
after much fuss, and a short fight
one sent out a stream of glossolalia in hex
The second pseudoinnovator cleared a cache with expect.
(he needed a place to store the beloved paraclete)
Then under the singing leaves
Deborah consults with a Bible Geek
about the location of the furthest babbling brook,
They need a place to dry the pages of a profane book.
while dancing to the tunes of Apook.
I guess this is no Burroughs material,
unlike his stuff my pages are ethereal
That is why I drove myself to Mexico.
so that I could here I on I's Dead City radio.
chanting "born like this", I wear horns like this.
Walk like a Tool Master of Brainerd
on a pilgrimage to the newest iteration of Hurd
I eat corn and fish, the two of them together are most delish.
The destroyer is here, but never fear
Since they cut down all the Yage
how can they take a gauge
on your bersker rampage?
Are you an archon engaging in a little kayfabe? ;-)
Now hear comes Elijah with his sacred hair on fire
Enoch recites the Babylonian King List for Enkidu who makes a moue
at the 365th, new you
Angel headed hipsters haloed in street lights
pick up the fight against reactionaries
in stalhhelm
All because the Cannon Group gave them a dare!
But this ain't no night of long knives,
or the rebirth of Dr Fibes.
Thats as silly as a mash up of Iggy Pop in The Land That Time Forgot.
The scissors of fate made their cut
to late and now
axis mundi has gone bye.
Louis! Louis! can you ken why?
Mlk holds us in his brass embrace.
Dipping us into the fire of Golgotha
As his Ashera sings us assurances
culled from the best of commercial occurrences
Parnassus on his wheels of steel laughs because
the sacrifices will not bring Carthage into the new age.
He read the entrails of a million snails to pierce the future's veil.
With one eye he peers into infinite night.
I drink rockstars while Carmela's daughter parks cars
The psychopomp on a horse
dances over Nietzsche's corpse
In the meantime King Geedorah walks in,
from looking at 42 views of sin.
With his mouth agape, and knees aquake he
sees;
the Germans with street sweepers
the MF Doom praise keepers,
the figments of imagination from many nations
And he asks what video brought about this strange discourse?
And we shout Why ALL CAPS of course!
Two MF Doom Imitators walk into a bar.......
After eating peanuts from jars
and talking about state of Monster Island's Czars
they compared rhyming scars
In the heat of arc lights
after much fuss, and a short fight
one sent out a stream of glossolalia in hex
The second pseudoinnovator cleared a cache with expect.
(he needed a place to store the beloved paraclete)
Then under the singing leaves
Deborah consults with a Bible Geek
about the location of the furthest babbling brook,
They need a place to dry the pages of a profane book.
while dancing to the tunes of Apook.
I guess this is no Burroughs material,
unlike his stuff my pages are ethereal
That is why I drove myself to Mexico.
so that I could here I on I's Dead City radio.
chanting "born like this", I wear horns like this.
Walk like a Tool Master of Brainerd
on a pilgrimage to the newest iteration of Hurd
I eat corn and fish, the two of them together are most delish.
The destroyer is here, but never fear
Since they cut down all the Yage
how can they take a gauge
on your bersker rampage?
Are you an archon engaging in a little kayfabe? ;-)
Now hear comes Elijah with his sacred hair on fire
Enoch recites the Babylonian King List for Enkidu who makes a moue
at the 365th, new you
Angel headed hipsters haloed in street lights
pick up the fight against reactionaries
in stalhhelm
All because the Cannon Group gave them a dare!
But this ain't no night of long knives,
or the rebirth of Dr Fibes.
Thats as silly as a mash up of Iggy Pop in The Land That Time Forgot.
The scissors of fate made their cut
to late and now
axis mundi has gone bye.
Louis! Louis! can you ken why?
Mlk holds us in his brass embrace.
Dipping us into the fire of Golgotha
As his Ashera sings us assurances
culled from the best of commercial occurrences
Parnassus on his wheels of steel laughs because
the sacrifices will not bring Carthage into the new age.
He read the entrails of a million snails to pierce the future's veil.
With one eye he peers into infinite night.
I drink rockstars while Carmela's daughter parks cars
The psychopomp on a horse
dances over Nietzsche's corpse
In the meantime King Geedorah walks in,
from looking at 42 views of sin.
With his mouth agape, and knees aquake he
sees;
the Germans with street sweepers
the MF Doom praise keepers,
the figments of imagination from many nations
And he asks what video brought about this strange discourse?
And we shout Why ALL CAPS of course!
Tuesday, December 21, 2010
A Flac to Mp3 Conversion Shell Script
I've had to do it enough times that I wrote a script yesterday to automate the conversions for me. There is a related one for converting aac files to mp3. Eventually I will just build one app that will convert any audio format to mp3.
Also I am finding out that the bashsupport plugin for vim is very cool.
#!/bin/bash
numOfArgs=$#
DIR_NOT_FOUND=12
DIR_FOUND=0
FLAC_FILE_UNREADABLE=7
HELP_DISPLAY_VAL=5
NUM_OF_TAGS=6
#Audio File Metadata Tags
artist=""
track_num=""
song_title=""
genre=""
album=""
year=""
trash="/home/griot/.local/share/Trash/files"
log_file="flac_conversion.log"
declare -a tagList # Store the tags in this array
#=== FUNCTION ================================================================
# NAME: DisplayUsage
# DESCRIPTION: Prints help information and exits
# PARAMETERS:
# RETURNS: HELP_DISPLAY_VAL
#===============================================================================
DisplayUsage()
{
echo -e
echo -e "usage: $0 [directory]"
echo -e "Options:"
echo -e " -h or --help or displays options for $0"
exit $HELP_DISPLAY_VAL
}
# Statements dealing with calling the help function.
# If no args are given to fix_permisions then call DisplayUsage.
if [[ "$numOfArgs" -lt 1 ]]; then
DisplayUsage
fi
# If first arg is -h or --help call DisplayUsage.
if [[ "$1" == "-h" || "$1" == "--help" ]] ; then
DisplayUsage
fi
flacDirectory="$1"
#=== FUNCTION ================================================================
# NAME: FillsTagList
# DESCRIPTION: Fills the taglist array with a flac file's metadata
# PARAMETERS: Gets passed a flac file
# RETURNS: Should return an error if there is problem (not done yet)
#===============================================================================
FillsTagList ()
{
local ftc_flacFile="$1"
local count=0
# Create a tmp file where the flac metadata is stored.
touch flac_tags.tmp
metaflac --export-tags-to=- "$ftc_flacFile" > flac_tags.tmp
BACKIFS=$IFS
IFS=$'\n'
exec 0<flac_tags.tmp
for line in $(cat flac_tags.tmp) ; do
tagList[$count]=${line##*=}
((count++))
done
# Now that we are done delete the tmp file.
rm flac_tags.tmp
unset count
} # ---------- end of function FillsTagList ----------
#=== FUNCTION ================================================================
# NAME: GetSongMetadata
# DESCRIPTION: The data that we got from FillsTag is put into the tag
# variables.
# PARAMETERS: Uses global variables
# RETURNS: Later on will make it throw an error code if there are
# problems.
#===============================================================================
GetSongMetadata ()
{
local fileName="$1"
FillsTagList "$fileName"
artist=${tagList[0]}
song_title=${tagList[1]}
album=${tagList[2]}
year=${tagList[3]}
track_num=${tagList[4]}
genre=${tagList[5]}
} # ---------- end of function GetSongMetaData ----------
#=== FUNCTION ================================================================
# NAME: ConvertsToMp3
# DESCRIPTION: Sends a flac file to functions that get its metadata.
# When the metadata is acquired then convert the flac to an
# mp3 using a bitrate of 256.
# PARAMETERS: a flac file.
# RETURNS: FLAC_FILE_UNREADABLE
#===============================================================================
ConvertsToMp3 ()
{
local flacFile="$1"
# We only want to convert files that are not copyprotected (DRM free).
if [ ! -r "$flacFile" ] ; then
echo -en "$flacFile is unreadable. ConvertsToMp3 error code "
echo -e "$FLAC_FILE_UNREADABLE, (copyprotected flac file)."
return $FLAC_FILE_UNREADABLE
else
# Next call GetSongMetadata to fill the IDv3 tags.
GetSongMetadata "$flacFile"
flac -dc "$flacFile" | lame -b 192 -h --ta "$artist" --tn "$track_num"\
--tt "$song_title" --tl "$album" --tg "$genre" --ty "$year" \
--add-id3v2 - "${flacFile%*.flac}.mp3" &>>$log_file
fi
mv "$flacFile" "$trash"
} # ---------- end of function ConvertsToMp3 ----------
#=== FUNCTION ================================================================
# NAME: VerifyDirectory
# DESCRIPTION: Tests if the directory given as arg to script exists.
# PARAMETERS: $1 (directory to search for text files.)
# RETURNS: either DIR_FOUND or DIR_NOT_FOUND
#===============================================================================
VerifyDirectory ()
{
local targetDir="$1"
echo -e "$targetDir in VerifyDirectory"
if [ -e "$targetDir" ] ; then
return $DIR_FOUND
else
echo -e "$targetDir not found sending $DIR_NOT_FOUND back"
return $DIR_NOT_FOUND
fi
} # ---------- end of function VerifyDirectory ----------
VerifyDirectory "$flacDirectory"
dirTestResut=$?
#echo "$dirTestResut was the result of calling VerifyDirectory"
if [[ "$dirTestResut" -eq "$DIR_NOT_FOUND" ]] ; then
echo -e "Cannot find $flacDirectory"
exit $DIR_NOT_FOUND
else
cd "$flacDirectory"
for file in ./* ; do
if [[ ${file##*.} = "flac" ]] ; then
ConvertsToMp3 "$file"
fi
done
fi
Also I am finding out that the bashsupport plugin for vim is very cool.
Rebuilding My Fedora 13 Kernel
When I would use Slackware I did Kernel rebuilds every six months. But the first time I tried to do one in Fedora 5 it did not go well. After spending 5 hours I decided to stick with the standard FC kernels. All of that changed about two weeks ago.
My laptop would keep crashing and the network modules would fail for some reason. It was doing this daily and I got so tire of it that I decided that I would have to do the following things:
First find out exactly what hardware I have by running the commands either one of these commands lspci, or lshw. I did not need to run lsusb to see the usb devices since either of the two latter commands will give you that. Then After I followed steps 2 - 2.5 of Howtoforge's fedora compilation guide. But during step 2.5 I would do the following;
As I was selecting options for each kernel subsystem the output of lswh -class & lswh -businfo the output of lshw guided me in choosing what to include or not in my kernel. This customization took sometime, it also involved me looking up what certain kernel features did to see if enabling them would be of benefit to me. It took sometime to verify specific hardware variants but after spending most of the night on that I was done with the kernel config.
After I followed steps 2.6 - 2.7 I was able to reboot the laptop with the custom kernel on the first try. The fact that my compile and build went so smoothly tells you that Falko Timme wrote a good article on the kernel build process and I am not going to duplicate his instructions here.
After I did that the have been no kernel panics and power management is working again. Before the kernel recompile if the laptop got disconnected for more than 5 seconds it would shut down. Even though it was supposed to go into hibernate mode it would not instead processes would die an ugly groody death, the disk would need to be fscked and I would get irritated about the cable being jostled.
Now the battery's power levels are detected again so I can run it for half an hour on the battery. There are no kernel panics and the apps are running better. Unlike the times when I used to rebuild my kernel for Slackware I did not have to go through separate steps to make sure that the sound & wifi cards were working. I'm guessing that at least for the wifi card since its built in and not using the PCMCIA slot it makes it easier for Linux-2.6.34.7 kernel to handle it.
Since it took me so long to get done with make menuconfig I think I will try and automate that step by generating a list of a machine's hardware then using that list of hardware components and desired services to turn on options in the kernel .config file.
That might cut down on the time I have to review the hardware. Then to take it to the next level actually have the kernel be built and installed on VM to see if it boots the machine. And if the build fails I can review why. But since the system is a lot more stable right now I will not be doing anymore troubleshooting of crashes since there have not been any mission critical failures in the past two weeks.
My laptop would keep crashing and the network modules would fail for some reason. It was doing this daily and I got so tire of it that I decided that I would have to do the following things:
- Remove unneeded modules and options from the kernel.
- If it still gave me problems first look in the logs for messages
- Run strace & ktrace on the applications that I was using during the panic.
- If its still giving me problems rebuild the kernel again but this time with logging.
The Rebuild Process
First find out exactly what hardware I have by running the commands either one of these commands lspci, or lshw. I did not need to run lsusb to see the usb devices since either of the two latter commands will give you that. Then After I followed steps 2 - 2.5 of Howtoforge's fedora compilation guide. But during step 2.5 I would do the following;
As I was selecting options for each kernel subsystem the output of lswh -class
After I followed steps 2.6 - 2.7 I was able to reboot the laptop with the custom kernel on the first try. The fact that my compile and build went so smoothly tells you that Falko Timme wrote a good article on the kernel build process and I am not going to duplicate his instructions here.
Recompile's Impact
After I did that the have been no kernel panics and power management is working again. Before the kernel recompile if the laptop got disconnected for more than 5 seconds it would shut down. Even though it was supposed to go into hibernate mode it would not instead processes would die an ugly groody death, the disk would need to be fscked and I would get irritated about the cable being jostled.
Now the battery's power levels are detected again so I can run it for half an hour on the battery. There are no kernel panics and the apps are running better. Unlike the times when I used to rebuild my kernel for Slackware I did not have to go through separate steps to make sure that the sound & wifi cards were working. I'm guessing that at least for the wifi card since its built in and not using the PCMCIA slot it makes it easier for Linux-2.6.34.7 kernel to handle it.
Possible Project
Since it took me so long to get done with make menuconfig I think I will try and automate that step by generating a list of a machine's hardware then using that list of hardware components and desired services to turn on options in the kernel .config file.
That might cut down on the time I have to review the hardware. Then to take it to the next level actually have the kernel be built and installed on VM to see if it boots the machine. And if the build fails I can review why. But since the system is a lot more stable right now I will not be doing anymore troubleshooting of crashes since there have not been any mission critical failures in the past two weeks.
Labels:
automating kernel builds,
Fedora 13,
linux kernel,
lshw,
lspci
Saturday, June 12, 2010
Saturday, June 5, 2010
Job Hunting In Nigeria
I noticed that many job announcements in Nigeria say that only candidates who are 30 or less will be trusted. For examples of this see the advertisements here and here. In the States, which I know about from working there, its possible to find a good DBA, Java programmer, or Sysadmin who is under 30 since many kids start dealing with these things from their teens; so they might already have 15 years experience.
But in 9ja with the slow networks, shallow internet & computer penetration most people who are even 30 have never dealt with backup tapes, some, built a RAID array or used tools like RT for trouble ticketing. Let alone have the experience dealing with things like SLAs, contracts, a major failure and the recovery from the failure, getting requirements, creating documentation, dealing with version control, backups will be harder. I first became aware of this because someone asked me about building an employment website for their firm and mentioned that they did not want anybody over thirty two applying.
When I asked the gentlement why their age matters and not weather they can carry out the tasks I was told that maybe an older person might have poor vision so cannot work as efficiently, might not like being supervised by someone who is younger.
I was very surprised to be hearing such things and mentioned that doing such things might not be ethical, or good business practices since all that should matter is does the person have the right skill set and are they willing to do the tasks.
Other things that I have seen is that people will only hire women as receptionists. When I discussed this with Jude he told me that women would br nicer to the customers, I pointed out that some women are not pleasant to be around but some men are; so why not make the requirements for the job a nice, friendly personality with good customer service skills instead of a young woman. He then told me that some of the men who come there will feel like they have a chance with her so they will come again. I still think that the approach to hiring is wrong and that with their age and gender discrimination these Nigerian employers are preventing a lot of good people from working for them. And after being exposed to the business and government ioperations I can see that these policies have not worked.
But in 9ja with the slow networks, shallow internet & computer penetration most people who are even 30 have never dealt with backup tapes, some, built a RAID array or used tools like RT for trouble ticketing. Let alone have the experience dealing with things like SLAs, contracts, a major failure and the recovery from the failure, getting requirements, creating documentation, dealing with version control, backups will be harder. I first became aware of this because someone asked me about building an employment website for their firm and mentioned that they did not want anybody over thirty two applying.
When I asked the gentlement why their age matters and not weather they can carry out the tasks I was told that maybe an older person might have poor vision so cannot work as efficiently, might not like being supervised by someone who is younger.
I was very surprised to be hearing such things and mentioned that doing such things might not be ethical, or good business practices since all that should matter is does the person have the right skill set and are they willing to do the tasks.
Other things that I have seen is that people will only hire women as receptionists. When I discussed this with Jude he told me that women would br nicer to the customers, I pointed out that some women are not pleasant to be around but some men are; so why not make the requirements for the job a nice, friendly personality with good customer service skills instead of a young woman. He then told me that some of the men who come there will feel like they have a chance with her so they will come again. I still think that the approach to hiring is wrong and that with their age and gender discrimination these Nigerian employers are preventing a lot of good people from working for them. And after being exposed to the business and government ioperations I can see that these policies have not worked.
Friday, March 26, 2010
A Truth About Existence
I did not write the stuff below, it was a post on slactivist by Scaramouche that I thought really captures the silliness & tragedy of the human condition. Anyway I hope you enjoy it as much as I did.
One of my favorite blogs, the Waiter Rant, speaks eloquently to what you described here. He once had this to say:
When looking death in the face things get very real very quickly……..
I’m twenty one and doing a stint as a chaplain’s aide in a large gritty urban hospital.
Part of my job is to bring Communion to people dying in the AIDS ward. Most of the people wasting away in their beds are uninsured junkies or prostitutes. This is long before antiretroviral therapy. AIDS is poorly understood. Some people still wear masks out of fear of contagion.
Many of the people dying in this place are wracked with guilt. Remember how people used to say AIDS was God’s punishment for sinners? That’s not an abstract concept for many of these people. A lot of them made disastrous life choices - the consequences of which are now, remorselessly, killing them.
I’m too young and emotionally under equipped to be any real help to these people. I just try and listen. That’s hard. Some patients scream at me, driven insane by secondary infections that are rotting their brains. Others are stonily silent – not wanting help from anybody. Occasionally people find peace but that's rare. They cry, they bargain, they pray. All the things people do as they rage against the dying of the light.
Maria is a drug addict. She got AIDS from years of mainlining heroin. Her baby, the result of exchanging sex for drugs, died of AIDS. She has no family or friends. She lies dying alone in a small room overlooking the hospital’s air conditioning plant. She hasn’t had a bath in days. The sweet sour smell of the unwashed is over powering.
“Hi Maria. I brought you Communion,” I whisper.
She looks at me weakly.
“Can I have some water?” she asks. She’s near the end.
“Sure.”
I look for her water bottle. There is none.
“Where’s your water bottle?”
“The nurses won’t let me drink water,” she says.
Must be something going on with her kidneys. Stupid doctors. The woman's dying.
“Let me go ask the nurse what we can do,” I say.
“Thank you.”
I walk to the nurse’s station. A large woman sits behind the desk yakking on the phone with what seems to her girlfriend. She looks at me with complete disinterest.
I wait patiently for her to finish. She doesn’t.
I wait some more.
“Pardon me, Maria wants some water. Can I give her some?” I interrupt.
“Can’t you see I’m on the phone?” the nurse yells.
“Yes but….”
“I’ll be with you when I’m finished!”
So I wait. The nurse ends her call.
“Now, what do you want?” she says angrily.
“Can I give Maria some water?”
“She’s on restricted fluids you can’t.”
“How about some ice chips then? I think she has dry mouth.” I ask innocently.
The nurse throws her hands up in the air in frustration. “Yeah, go get the girl some ice chips for what good it'll do her. You can get them on the next unit.”
“Thank you,” I say.
I go over to the neighboring unit and fill a Styrofoam cup with ice. I walk back to Maria’s room.
“Maria I got you some ice chips.”
No response.
“Maria?”
I walk over to the bed. She’s dead.
A wave of incredible anger sweeps over me. All this poor girl wanted was a drink of water. It turned out to be her last request
Even this small thing was denied her.
I crush the cup in my hands. Ice scatters on the floor. Hot tears run down my face. This girl had nothing – less than nothing. She died thirsty and alone.
It was then my innocence was taken.
I march out to the nurse’s station. The nurse is on the phone again. When she sees me a look of annoyance crosses her face. “Now wha….”
I slam my hand down on the counter. “MARIA IS DEAD!”
The nurse jumps out of her chair.
“DON’T YOU GIVE A SHIT YOU LAZY BITCH? SHE’S DEAD!” I bellow.
All hell breaks loose. A code is called. Security is called.
The attending shows up. There’s a do not resuscitate order. He pronounces Maria dead.
Security guards escort me to the pastoral care office where the Chaplin waits for me.
Instead of yelling at me for losing my temper he sits me down on his couch. He hands me a cup of coffee.
“What happened?” he asks gently.
I tell him everything.
A small smile crosses his face. “That nurse is a lazy bitch,” he says.
I laugh harshly.
“This is hard work son,” he says.
“I had no idea how hard.”
We’re quiet. I listen to the wall clock tick.
“When you were looking at Maria in that bed were you thinking about yourself?” the priest says suddenly.
The tears come again.
“Yes.”
“What were you feeling?”
“That I never want to be alone like that.”
“Do you feel that alone?”
A truth I had been hiding from myself came bubbling up from the depths.
“Yes,” I start to sob.
The priest gets up and sits next to me. He gently and puts his arm around me. I cry till I feel like I’m going to shake apart.
When I finish the Chaplain says, “If you’re honest - trying to help people makes you confront the darkness in yourself.”
“Yeah,”
“Maybe you should work on feeling alone,” he adds.
“Kind of tough when you want to be a priest,” I reply.
“Maybe you should think about that.”
I’ve given my heart and soul to being a priest for four years. I’m supposed to go abroad to study theology next year. Now, for the first time, I realize it isn’t going to work out.
“God doesn’t want you to be unhappy,” the priest says.
“Then why drag me here and put me through all this for nothing?” I whisper.
“I don’t know.”
“God’s a real asshole sometimes isn’t he?” I say sadly.
The priest leans back and smiles. “A gigantic asshole.”
We both laugh.
A few months later I quit. ……
One of my favorite blogs, the Waiter Rant, speaks eloquently to what you described here. He once had this to say:
When looking death in the face things get very real very quickly……..
I’m twenty one and doing a stint as a chaplain’s aide in a large gritty urban hospital.
Part of my job is to bring Communion to people dying in the AIDS ward. Most of the people wasting away in their beds are uninsured junkies or prostitutes. This is long before antiretroviral therapy. AIDS is poorly understood. Some people still wear masks out of fear of contagion.
Many of the people dying in this place are wracked with guilt. Remember how people used to say AIDS was God’s punishment for sinners? That’s not an abstract concept for many of these people. A lot of them made disastrous life choices - the consequences of which are now, remorselessly, killing them.
I’m too young and emotionally under equipped to be any real help to these people. I just try and listen. That’s hard. Some patients scream at me, driven insane by secondary infections that are rotting their brains. Others are stonily silent – not wanting help from anybody. Occasionally people find peace but that's rare. They cry, they bargain, they pray. All the things people do as they rage against the dying of the light.
Maria is a drug addict. She got AIDS from years of mainlining heroin. Her baby, the result of exchanging sex for drugs, died of AIDS. She has no family or friends. She lies dying alone in a small room overlooking the hospital’s air conditioning plant. She hasn’t had a bath in days. The sweet sour smell of the unwashed is over powering.
“Hi Maria. I brought you Communion,” I whisper.
She looks at me weakly.
“Can I have some water?” she asks. She’s near the end.
“Sure.”
I look for her water bottle. There is none.
“Where’s your water bottle?”
“The nurses won’t let me drink water,” she says.
Must be something going on with her kidneys. Stupid doctors. The woman's dying.
“Let me go ask the nurse what we can do,” I say.
“Thank you.”
I walk to the nurse’s station. A large woman sits behind the desk yakking on the phone with what seems to her girlfriend. She looks at me with complete disinterest.
I wait patiently for her to finish. She doesn’t.
I wait some more.
“Pardon me, Maria wants some water. Can I give her some?” I interrupt.
“Can’t you see I’m on the phone?” the nurse yells.
“Yes but….”
“I’ll be with you when I’m finished!”
So I wait. The nurse ends her call.
“Now, what do you want?” she says angrily.
“Can I give Maria some water?”
“She’s on restricted fluids you can’t.”
“How about some ice chips then? I think she has dry mouth.” I ask innocently.
The nurse throws her hands up in the air in frustration. “Yeah, go get the girl some ice chips for what good it'll do her. You can get them on the next unit.”
“Thank you,” I say.
I go over to the neighboring unit and fill a Styrofoam cup with ice. I walk back to Maria’s room.
“Maria I got you some ice chips.”
No response.
“Maria?”
I walk over to the bed. She’s dead.
A wave of incredible anger sweeps over me. All this poor girl wanted was a drink of water. It turned out to be her last request
Even this small thing was denied her.
I crush the cup in my hands. Ice scatters on the floor. Hot tears run down my face. This girl had nothing – less than nothing. She died thirsty and alone.
It was then my innocence was taken.
I march out to the nurse’s station. The nurse is on the phone again. When she sees me a look of annoyance crosses her face. “Now wha….”
I slam my hand down on the counter. “MARIA IS DEAD!”
The nurse jumps out of her chair.
“DON’T YOU GIVE A SHIT YOU LAZY BITCH? SHE’S DEAD!” I bellow.
All hell breaks loose. A code is called. Security is called.
The attending shows up. There’s a do not resuscitate order. He pronounces Maria dead.
Security guards escort me to the pastoral care office where the Chaplin waits for me.
Instead of yelling at me for losing my temper he sits me down on his couch. He hands me a cup of coffee.
“What happened?” he asks gently.
I tell him everything.
A small smile crosses his face. “That nurse is a lazy bitch,” he says.
I laugh harshly.
“This is hard work son,” he says.
“I had no idea how hard.”
We’re quiet. I listen to the wall clock tick.
“When you were looking at Maria in that bed were you thinking about yourself?” the priest says suddenly.
The tears come again.
“Yes.”
“What were you feeling?”
“That I never want to be alone like that.”
“Do you feel that alone?”
A truth I had been hiding from myself came bubbling up from the depths.
“Yes,” I start to sob.
The priest gets up and sits next to me. He gently and puts his arm around me. I cry till I feel like I’m going to shake apart.
When I finish the Chaplain says, “If you’re honest - trying to help people makes you confront the darkness in yourself.”
“Yeah,”
“Maybe you should work on feeling alone,” he adds.
“Kind of tough when you want to be a priest,” I reply.
“Maybe you should think about that.”
I’ve given my heart and soul to being a priest for four years. I’m supposed to go abroad to study theology next year. Now, for the first time, I realize it isn’t going to work out.
“God doesn’t want you to be unhappy,” the priest says.
“Then why drag me here and put me through all this for nothing?” I whisper.
“I don’t know.”
“God’s a real asshole sometimes isn’t he?” I say sadly.
The priest leans back and smiles. “A gigantic asshole.”
We both laugh.
A few months later I quit. ……
Subscribe to:
Posts (Atom)