Tuesday, January 23, 2007

A glimpse into the reality of life for Palestinians

Amira Hass is an Israeli journalist. She compiles below the list of restrictions on movement by all Palestinians living in the West Bank.

The striking thing about this list and the reaction of many to it is that Israel now routinely applies collective punishment to an entire people (restriction of movement, denial of human rights, denial of access to health services and to food). Yet this is of no or little concern to most Israeli and American Jews -- even though one of the most revolting aspects of Nazi oppression of Jews was its pervasive use of collective punishment, and particularly the punishment/killing of innocents. No, no, no...I don't think that what the Israeli Defense Forces is doing to Palestinians is the same as what the Nazis did to Jews (and Gypsies and homosexuals and Russians and...). The IDF is not committing genocide. But so what? Is there really a relativity test to apply to brutality, torture, slow and fast death? I think not.

Impossible travel

by Amira Hass

Haaretz
19 January 2007

http://www.haaretz.com/hasen/spages/815559.html

All the promises to relax restrictions in the West Bank have obscured the
true picture. A few roadblocks have been removed, but the following
prohibitions have remained in place. (This information was gathered by
Haaretz, the United Nations Office for the Coordination of Humanitarian
Affairs and Machsom Watch)

Standing prohibitions

* Palestinians from the Gaza Strip are forbidden to stay in the West Bank.

* Palestinians are forbidden to enter East Jerusalem.

* West Bank Palestinians are forbidden to enter the Gaza Strip through the
Erez crossing.

* Palestinians are forbidden to enter the Jordan Valley.

* Palestinians are forbidden to enter villages, lands, towns and
neighborhoods along the "seam line" between the separation fence and the
Green Line (some 10 percent of the West Bank).

* Palestinians who are not residents of the villages Beit Furik and Beit
Dajan in the Nablus area, and Ramadin, south of Hebron, are forbidden entry.

* Palestinians are forbidden to enter the settlements' area (even if their
lands are inside the settlements' built area).

* Palestinians are forbidden to enter Nablus in a vehicle.

* Palestinian residents of Jerusalem are forbidden to enter area A
(Palestinian towns in the West Bank).

* Gaza Strip residents are forbidden to enter the West Bank via the Allenby
crossing.

* Palestinians are forbidden to travel abroad via Ben-Gurion Airport.

* Children under age 16 are forbidden to leave Nablus without an original
birth certificate and parental escort.

* Palestinians with permits to enter Israel are forbidden to enter through
the crossings used by Israelis and tourists.

* Gaza residents are forbidden to establish residency in the West Bank.

* West Bank residents are forbidden to establish residency in the Jordan
valley, seam line communities or the villages of Beit Furik and Beit Dajan.

* Palestinians are forbidden to transfer merchandise and cargo through
internal West Bank checkpoints.

__________________________

Periodic prohibitions

* Residents of certain parts of the West Bank are forbidden to travel to the
rest of the West Bank.

* People of a certain age group - mainly men from the age of 16 to 30, 35 or
40 - are forbidden to leave the areas where they reside (usually Nablus and
other cities in the northern West Bank).

* Private cars may not pass the Swahara-Abu Dis checkpoint (which separates
the northern and southern West Bank). This was canceled for the first time
two weeks ago under the easing of restrictions.

__________________________

Travel permits required

* A magnetic card (intended for entrance to Israel, but eases the passage
through checkpoints within the West Bank).

* A work permit for Israel (the employer must come to the civil
administration offices and apply for one).

* A permit for medical treatment in Israel and Palestinian hospitals in East
Jerusalem (The applicant must produce an invitation from the hospital, his
complete medical background and proof that the treatment he is seeking
cannot be provided in the occupied territories).

* A travel permit to pass through Jordan valley checkpoints.

* A merchant's permit to transfer goods.

* A permit to farm along the seam line requires a form from the land
registry office, a title deed, and proof of first-degree relations to the
registered property owner.

* Entry permit for the seam line (for relatives, medical teams, construction
workers, etc. Those with permits must enter and leave via the same crossing
even if it is far away or closing early).

* Permits to pass from Gaza, through Israel to the West Bank.

* A birth certificate for children under 16.

* A long-standing resident identity card for those who live in seam-line
enclaves.

_________________________

Checkpoints and barriers

* There were 75 manned checkpoints in the West Bank as of January 9, 2007.

* There are on average 150 mobile checkpoints a week (as of September 2006).

* There are 446 obstacles placed between roads and villages, including
concrete cubes, earth ramparts, 88 iron gates and 74 kilometers of fences
along main roads.

* There are 83 iron gates along the separation fence, dividing lands from
their owners. Only 25 of the gates open occasionally.

___________________________________________________
















* Road 90 (the Jordan Valley thoroughfare)

* Road 60, in the North (from the Shavei Shomron military base, west of Nablus and northward).

* Road 585 along the settlements Hermesh and Dotan.

* Road 557 west from the Taibeh-Tul Karm junction (the Green Line) to Anabta
(excluding the residents of Shufa), and east from south of Nablus (the
Hawara checkpoint) to the settlement Elon Moreh.

* Road 505, from Zatara (Nablus junction) to Ma'ale Efraim.

* Road 5, from the Barkan junction to the Green Line.

* Road 446, from Dir Balut junction to Road 5 (by the settlements Alei Zahav and Peduel).

* Roads 445 and 463 around the settlement Talmon, Dolev and Nahliel.

* Road 443, from Maccabim-Reut to Givat Ze'ev.

* Streets in the Old City of Hebron.

* Road 60, from the settlement of Otniel southward.

* Road 317, around the south Hebron Hills settlements.


Travel time before 2000 versus today

Tul Karm-Nablus

Then: half an hour, at the most. Now: At least an hour.

Tul Karm-Ramallah
Then: less than one hour. Now: Two hours.

Beit Ur al-Fawqa-Ramallah
Then: 10 minutes. Now: 45 minutes.

Katana/Beit Anan-Ramallah
Then: 15 minutes. Now: One hour to 90 minutes.

Bir Naballah-Jerusalem
Then: seven minutes. Now: One hour.

Katana-Jerusalem
Then: five minutes. Now: "Nobody goes to Jerusalem anymore."

Friday, January 12, 2007

New Year's Eve 2006

New Year's Eve in the hills of Puerto Rico...

What did you do on New Year's Eve? usually, we don't even go out, just hang out at home. 2006 was very different, though. Here's what we (me, my wife, my son, Chris, and his girlfriend, Lauren) did:

We made a big pile from two queen size mattresses, along with their box springs, a large couch and a small couch, all of which had been badly damaged by rats and termites as they sat in an unoccupied house on the west side of Puerto Rico, which is nestled in an old coffee farm that is now more like a mini rain forest.

Chris then poured some gasoline on the furniture and applied a match.

Whoosh! An enormous fire immediately engulfed the pile, as Chris ran backwards as fast as he could to avoid having his eyebrows singed right off his face.

The flames rose some thirty feet in the air, throwing off a beautiful, but scary, fountain of sparks and burning fragments of upholstery. Even twenty feet away from the fire, the heat was awesome.

Click here (12MB file, sorry) to watch a short video of these amazing New Year's fireworks.

After I doused the glowing embers with water, we all agreed that it was an awful lot of fun, but also kind of dumb and careless. But the house didn't catch fire, the trees and plants nearby didn't catch fire (though lots of the leaves closest to the fire, turned brown and shriveled a bit), and no one was badly burned (well, I did do something really stupid and ended up with a couple of small burn blisters on my foot, but we won't get into that).

May your 2007 be as bright and intense, and result in no damage done, as our furniture bonfire!

Tuesday, January 09, 2007

Some of my favorite fortune cookie fortunes

"Alas! You are the apple of my eye."

"To get what you want you must commit yourself for sometime."

"Beware the fury of a patient man."

And the perennial favorite....

"More money and travel is in your future."

Sunday, January 07, 2007

Be a hero or heroine: save a life through blood donations!

I like reading science fiction and fantasy. And I most like those books whose plots unabashedly offer a clash betwen good and evil, with the stakes being the future of humanity or the universe. Hey, if you're going to write (and read) fiction, why not put it all on the line?

[ One of my favorites: the Farseer Trilogy by Robin Hobb. It is a rigorous first person narrative -- you only see and hear and know what the "I" character sees, hears and knows. That's my favorite form. It's very hard to write, but it is the most rewarding. Beyond that, it is a great story line. Check it out. ]

Certainly, one of the central appeals (to me, and I believe to others) of these books is the heroics of the main characters. Saving the world, saving your loved ones, saving hundreds, thousands, millions of lives -- what a great thing to be able to do!

But for just about all of us, such heroics are out of the question. Or are they?

Sure, we probably can't save the lives of millions, but wouldn't it be great if you could save the life of even one person, or perhaps dozens?

I've been doing just that for the last twenty-five years, and it makes me feel great.

How am I able to achieve such heroic accomplishments? By donating platelets and white blood cells on a more or less monthly basis through a procedure called apheresis. In fact, last October (2006), I celebrated my 100th platelet donation in Chicago, with a small party at the Norridge Lifesource center.

You are very likely familiar with the idea of donating blood: you visit a donor center (or a mobile unit visits your workplace or institution), and in just a few moments the trained staff will extract a pint of your blood. This act alone with help save lives and make you a hero.

Apheresis is a variation on that theme. Rather than simply remove a pint of blood (which can only be done every 52 days), blood is taken from one arm and run through a complicated and very impressive machine built by Baxter Laboratories. This machine centrifuges the blood, isolating its various components. Lifesource keeps the white cells and platelets, and gives me back the rest of my blood through my other arm.

These blood components are critical for patients with compromised immune systems, such as those suffering from HIV/AIDS, and for others who have undergone surgery.

I especially enjoy my apheresis donations because the procedure takes upwards of two hours. That means that I am forced to stop working, and I get to watch a movie. Afterwards, I enjoy all sorts of free snacks and drinks (my favorite snack were the Lorna Doone cookies, but Lifesource swapped those for Oreos. Very disappointing, but I decided to not let that get in the way of my continuing donations).

You can also donate white cells and platelets more often than whole blood. More movies. More snacks. More opportunities to save lives. Because that is what I am doing. There is no way to know for sure, of course, but I think it is reasonable to think that my donations have saved (or helped to save) the lives of dozens of fellow human beings.

I like that. I am a hero.

And you can be, too, with little or no sacrifice on your part. Your body replenishes your white cells, your platelets, your whole blood. It is a wonderful gift to give to another person. All it takes is some of your time.

Please....if you have never donated blood before, visit the nearest blood donor facility and give it a try. If you used to donate, but fell out of the habit, make room for it in your life again. And if you can spare the time, please consider becoming an apheresis donor. They are harder to find, but oh so important.

Then hopefully someday you can, too, celebrate your 100th donation!

Friday, January 05, 2007

Don't use charcoal lighter fluid! YUCH!

Do you ever barbecue food in a grill? We had barbecues all time, as I grew up in the suburbs of Long Island (Wyandanch, to be specific). Lots of family would come over, and my dad would "man" the grill -- pretty much the only time he cooked.

It's funny - when I grew up, barbecuing was the dad's job. But in my family, the mom, my wife, is definitely the main barbecuer. It's not that I can't do it. Heck, I can do it. It's just that Veva is so much better at it, than I am. Her barbecued chicken is always moist on the inside. Hey, she even barbecues an entire turkey for Thanksgiving. Delightful!

Anyway, the barbecues were wonderful, all the cousins playing in the backyard, the grownups hanging out on the patio. One Uncle Max would tell jokes, another Uncle Max would do magic tricks and play chess with me. And through it all permeated the smell of lighter fluid.

Squirt, squirt, squirt....out comes the gelatinous liquid, dousing the uniformly shaped, black chunks of processed charcoal, then the application of the match to produce glorious flame.

So easy....and so very dangerous and nasty. While we never had a tragedy in our family, certainly many other people were badly burned by the stuff, especially when they squirted more fluid onto coals that were already hot, but not fully "cooked." Sure, that was a dumb thing to do, and the instructions on the can were explicit about not doing it, but of course accidents still happened -- and happen still.

Beyond that, think about what it must be like to work in a factory that makes the lighter fluid, and fills up those cans. It must be an incredibly toxic and dangerous environment, leading to many injuries and deaths each year.

And it is all totally unnecessary. If I had my eye, I would ban the sale of lighter fluid -- because a much safer, simpler, cheaper, cleaner alternative exists.

It is usually called a Chimney Charcoal Starter

Essentially it is big a metal cylinder, with two separate chambers. You pour the unlit charcoal into the top chamber (which takes up almost the whole height of the cylinder). Then you stuff a piece of newspaper in the lower chamber of the cylinder, and light the paper. The little bit of intense flame from the burning paper lights the enough of the charcoal to get the whole thing rolling, and within 10 or 15 minutes, the entire column of charcoal is ablaze. It is a wonderful invention and I really don't see why anyone in their right mind would continue to use lighter fluid once they were aware of this alternative.

So I am doing my part to make everyone aware.

Don't buy charcoal lighter fluid! Avoid possible injury and increased toxification of our environment.

Buy a Chimney Charcoal Starter and enjoy cleaner, safer, less expensive barbecues!

Tuesday, December 26, 2006

Pool Boy Wonder - Christmas Day 2006

A bunch of years ago, I bought an 8 foot slate pool table, nothing fancy, but the real thing. We nestled it down in the basement (it really isn't big enough, or at least shaped properly, to hold the pool table with comfort) and then we (mostly Eli, my younger son, and myself) played lots of pool - 8 ball, 9 ball, cut-throat, etc. It was great fun and Eli quickly became very good (he was in his early teens at this point). And one of his special skills was his ability to pop the cue ball over one or more other balls, to then knock in his ball of choice. He would do it with total nonchalance, as if he barely needed to pay attention to what he was doing. And he often did hit the ball in. I was always amazed. I could never muster up the skill and confidence to do that without worrying about ripping the felt (Eli never did).

Well, then Eli turned 15, 16...and he was soon way more interested in playing with his friends, so we played but not as often. Now Eli is 20, living in his own apartment 8 miles away, studying jazz guitar fulltime at DePaul University. All very wonderful.

But he came over on Christmas for dinner -- and some pool. Hurray! So we played some games and that was fun, but then before he left, he had a very amusing time popping the cue ball off the table....why do that? Well, click here to watch the movie and you will see what I mean.

Wednesday, December 06, 2006

A sign of the times, or just of Orlando?

I just came back from a couple of days in Orlando, Florida. Gave a talk at the Central Florida Oracle User Group and then a full day training for almost 40 Oracle technologists at the Doubletree Club hotel in Lake Buena Vista (right next to the entrance to Disney World).

And since it is wintertime and very cold in Chicago, my wife Veva actually agreed to accompany me, in search of sun and warmth. How nice!

Now, I must admit: I find it hard to visit Orlando, at least the Disney World zone, which is where I almost always end up (Oracle conferences and so on). It is such an relentlessly fabricated pseudo-reality. It is bad enough that most of America seems to be paved over with malls, fast food "restaurants" and chain stores - it all looks enough. In Orlando, that homogeneity is celebrated with bigger versions of the Sameness, as if everything has been supersized and plasticized.

Through the Internet, I reserved a room at the Sherato Vistana, which seemed like a really nice resort hotel. I guess it was, but when we arrived, we were thoroughly alienated by its sprawl. Hey, plus there wasn't even Internet access in the room. Had to visit the (I kid you not) cyber.internet.cafe (really cool name).

Anyway, we stayed there one night and then escaped to an almost-normal hotel, the Doubletree Club, where I gave my training. On the day before the training the skies were overcast and the temperature was only in the 60s. Not poolside weather. But we adjusted our expectations and, determined to enjoy the outdoors (still much better than the 20 degrees in Chicago), we headed to the Leu Gardens.

This is a beautiful nature preserve near downtown Orlando that is filled with enormous Southern Live Oaks covered with Spanish moss, hundreds of Camelia bushes, and much much more. We walked around it for a couple of hours, enjoying the sounds of the bamboo scraping in the wind, the smell of the tropical flowers, and the wonderful colors of the butterfly garden. I encourage everyone visiting the Orlando area to take time away from Wet N Wild, Universal Gardens, Disney World, etc., to visit the Leu Gardens.

Now, as to the "sign of the times", we got back late one evening to the Doubletree Club and the parking lot was quite full. So we drove all the way to the back and as we parked in an empty spot, we noticed the sign to the right. It says "Reserved for Parking Only." Which immediately begs the question: what exactly are they worried people might do in these parking spots besides park? Hold a seance? Swear in the next Supreme Court Justice?

Well....we were in any case careful to do nothing more than park there.

Tuesday, December 05, 2006

An abomination in the supermarket

Have you seen the TV Kart? They have them in the Dominick's store nearest our house. I think they are an abomination. Check them out at http://www.tvkart.com/.

What is a TV Kart? Here is a quote from Cabco:

"Cabco is the world leader in mobile children’s entertainment for retailers. With over eight years experience and millions of happy retail shoppers, Cabco works with some of the world’s largest retail chains.

"Our program is unique and has rapidly become a retailing phenomenon

  • TV Karts are a great service program for retailers to offer customers
  • Parents shop in peace while their children watch their favorite programs, or listen to songs and stories in the Karts
  • There is no cost to, or operational impact on, retailers
  • Real time online remote Management System"
And there you have it folks: have no fear, parents! You can "park" your child in front of a screen wherever you go. DVD player attached to the roof of your car so the kids in the backseat can zone out. TV screen while you shop for food. TV, video games, and computer screen at home.

I understand why some parents want/need to distract their child. Many are seriously stressed for time, working two jobs, dealing with endless money problems, wanting some time to themselves, and so on).

But overall I find this trend of 100% Distraction for both children and adults very worrying. Essentially, we are being trained to be uncomfortable in our own mind. Rather than be left to our own to think about things, to puzzle out problems, to be in contact with and learn from the world around us, we plug into a screen that feeds us compelling images and voices. When this happens we move into a dangerously passive mode. This is bad enough when we are fully grown, but it is truly horrible to do this to children.

So for any parents reading this, I urge you to get rid of the DVD player in your car - and stay off the phone when you are with them. Instead, play games with your kids in the car, sing together, point out things passing by, ask them questions. In the supermarket, ask them about the prices of things, about what they like to eat, show them the amazing variety of veggies and fruits that the world just produces all on its own.

Make sure your children are engaged, curious, questioning. Passive children lead to passive adults, lead to people who are more easily manipulated, lead to further degradation of human society, and increase the likelihood that those with power and money will continue to kill and destroy to get their way.

All because of a TV Kart.

I kid you not.

Sunday, November 26, 2006

Minor violation of the Hippocratic oath?


While we can get certainly delve into the details of the Hippocractic oath, I generally interpret the oath as a commitment by those who choose to practice medicine to do all they can to help others and, conversely, to do everything possible to avoid harm.

I walked past the outpatient eye surgery clinic in which I got my eyes lasered a couple years ago and something about the sign on their door caught my eye. STOP! Don't read further. Instead, look at the sign and see if you can identify what bothered me.

It took me a little while to figure it out, but in the end I came to the conclusion that the Lakeshore Surgery Center has violated the Hippocratic Oath in a small way that I hope will never bring anyone to harm.

Here is my explanation: Imagine that your child (or spouse or best friend) hurt her eye in an accident. It is Sunday morning. You rush to the Lakeshore Surgery Center, because it is right around the corner and you've been there before. You are in a panic, your child wails in pain, you come to a screeching halt in front of the entrance, and rush to the door, child in your arms. Closed. You read the sign and then roar in agnoized frustration:

"The nearest hospital? I don't know where that is! What am I going to do now?"

See my point? It seems like the good doctors at this center could have and should have taken a bit more care with their sign. The generic "Please Go to the Nearest Hospital" reveals a lack of thoughtfulness in this context. There can only be one nearest hospital. So what the doctors should have done, to completely fulfill their oath to help and to avoid harm, is ask the sign company to show the name and address of the nearest hospital, and even add a little map showing how to get there.

You are thinking this is such a minor thing? Hey, it could save a life!

Thursday, November 23, 2006

National holidays in the United States

We have a friend, Ying, living with us. She was born in the Shan State of Burma and spent many years in Thailand (having fled the terrors of the military regime in Burma). Now, she is here under political asylum.

And it is very fascinating to look through her eyes at what goes in our simultaneously crazy, wonderful and revolting "advanced" society.

Today, Thanksgiving Day, the newspaper arrived. The size of the usual Sunday monstrosity (about 3 inches high), it consisted of the "news" section, plus three other bundles of advertisements, each as large as the "news" section (which itself is full of ads, of course).

She looked through some ads and then gasped: "Open at 5 AM?"

I glanced over at what she was reading. The advertising supplement for Kohl's. Like many other retailers, Kohl's now offers special, ultra, super deals for those people who want to haul themselves out of bed and go shopping at mind-boggling times: 5 AM, 6 AM, 7 AM. Before the usual opening time of 10 AM.

And it suddenly came to me:

This is what a national holiday now means in the United States:

Out of respect for our veterans or to give thanks for all that we have been given, you can't start shopping until 10 AM. This is the respite now offered by a capitalism run rampant in search of profits from our increasingly squeezed middle class and desperate poor.

But the day after the holiday? Time to get serious about shopping.

Sunday, November 19, 2006

What I Have Lived For - Bertrand Russell

A friend of mine recently passed the following short essay on to me. I like it a lot and though I would share it with anyone who visits my blog (thanks, Donna!):

What I Have Lived For
(The Prologue to Bertrand Russell's Autobiography)


Three passions, simple but overwhelmingly strong, have governed my life: the longing for love, the search for knowledge, and unbearable pity for the suffering of mankind. These passions, like great winds, have blown me hither and thither, in a wayward course, over a great ocean of anguish, reaching to the very verge of despair.

I have sought love, first, because it brings ecstasy - ecstasy so great that I would often have sacrificed all the rest of life for a few hours of this joy. I have sought it, next, because it relieves loneliness--that terrible loneliness in which one shivering consciousness looks over the rim of the world into the cold unfathomable lifeless abyss. I have sought it finally, because in the union of love I have seen, in a mystic miniature, the prefiguring vision of the heaven that saints and poets have imagined. This is what I sought, and though it might seem too good for human life, this is what--at last--I have found.

With equal passion I have sought knowledge. I have wished to understand the hearts of men. I have wished to know why the stars shine. And I have tried to apprehend the Pythagorean power by which number holds sway above the flux. A little of this, but not much, I have achieved.

Love and knowledge, so far as they were possible, led upward toward the heavens. But always pity brought me back to earth. Echoes of cries of pain reverberate in my heart. Children in famine, victims tortured by oppressors, helpless old people a burden to their sons, and the whole world of loneliness, poverty, and pain make a mockery of what human life should be. I long to alleviate this evil, but I cannot, and I too suffer.

This has been my life. I have found it worth living, and would gladly live it again if the chance were offered me.

Bertrand Russell (1872-1970) won the Nobel prize for literature for his History of Western Philosophy and was the co-author of Principia Mathematica.

Saturday, October 28, 2006

Oracle Open World 2006 - miscellaneous meanderings from a week in San Fran

Oracle Open World (OOW) has become an awe-inspiring event: with the consolidation of annual conferences for Oracle, Siebel, Peoplesoft and JD Edwards, OOW now brings together over 40,000 people, filling all three Moscone Convention Center buildings, plus several hotels. Heck, Oracle even got San Fran to close off the road that runs between North and South Moscone, the first time that was ever done. I imagine that act must have greatly boosted Larry Ellison's popularity with Bay Area commuters.

Awe-inspiring and quite overwhelming: attend OOW and you enter a very unnatural world of harsh lighting, frigid air conditioning, and lots and lots of people walking around with the same bags, the same name badges swinging from their necks, the same look of determination as they make their way either to the next session of interest. And then there is the loud, frenetic exhibition hall (actually, two separate halls this year), where the objective seems to be to gather as many t-shirts, tote bags and a multitude of other throw-away give-aways that companies have deemed will draw participants to their booths. Of course, there are also the magicians, the mugglers, the masseurs, the mini-arcade games, the barristas, and rarely but still occasionally the scantilly clad attractive women who no doubt are also ace PL/SQL developers. It's like a circus for otherwise sophisticated, highly technical people.

For the vendors, it's a numbers game: how many badges can we scan so that we have a fat list of leads to pursue after the show? It is a fairly indiscriminate process. For example, when I was about to do my theater presentation on code testing, the magician Quest hired would do his tricks and then draw people to the booth with the promise of a free t-shirt, and a raffle of $10,000 to take place on Wednesday afternoon (you have to be wearing your shirt to win). Nothing subtle there, and no mention of my name, what I did, what I would talk about. Seemd kind of odd (and for some of my presentations, we did actually let people know I would be speaking),but it works just fine. Anyway, it's not like this isn't an already qualified audience: you wouldn't be walking the floor there unless you had some sort of interest in Oracle technology.

In any case, I think that some graduate students could write some very interesting PhD theses on the human dynamics revealted at this show. I can still recall an OOW from years past, at which a company with the booth next to that of RevealNet was giving out beanie babies in exchange for people filling out a detailed, 6-page personal history for marketing analysis purposes. Attendees were lined up 5 layers deep to hand over their details in exchange for a toy they could buy for $5. Very very strange...

Anyway, Wednesday afternoon rolls around and the crowd assembles for the drawing of three names for three checks ($2500, $2500, $5000 -- and your name goes back into the pot after you win, so you can theoretically win more than once. Forget theoretical! In 2005, a very lucky guy had his named pulled TWICE!): a veritable sea of grey ToadWorld t-shirts. That was incredible and you can get a sense of it by clicking here (watch out: 65MB file).

Well, knowing that this was going to be my universe for the next five days, I started off my trip to the San Fran area by heading outdoors on the Saturday before, in a beautiful park in the San Jose area. I gulped in the very clean air amongst towering redwood trees, along with my sister-in-law, Carmen, and a nephew and niece. I then stayed over at Carmen's place on Saturday night. On Sunday morning, I strolled into the main conference hotel, the Marriott, where the friendly fellow at the front desk told me that I had been scheduled to arrive the night before, so they cancelled my reservation and the hotel was now sold out (as was, likely, every other hotel for the surrounding 10 miles). Not a very nice piece of news, and all my fault! But we worked it out, and I did stay at the Marriott the whole time (thank you, Kathleen, thank you, thank you). Very nice hotel, excellent fitness center, and only one truly bizarre experience:

It was 10 PM on Wednesday night, back from Quest's special premiere event for ToadWorld. I was working on my laptop, with Johnny Cash explaining why he wears black seeping out of my speakers, when I realized that I was also listening to the sounds of a very distressed woman out in the hallway somewhere. Beaten and collapsing, calling weakly for help? Horrible sounds. I grabbed my phone, my card key, opened my door, and looked up and down the hallway, ready to help. No one there. And then I realized that all the noise was coming from the room across the hall. It wasn't a woman in distress I was listening to, it was the sound of a woman pretending to have a really good time. It was the soundtrack of a porno film, with the volume turned up to the max. Argh......

I called the front desk and asked them to deal with it. Ten minutes later, a security guard was knocking on my neighbor's door. "Sir? Sir? You must turn down the volume on your TV." He said this and knocked loudly several times. I went over to the keyhole to watch. For the next 5 minutes or so, he pleaded with the person in the room to turn down the TV, but there was no response. Finally he opened the door, peeked in, quickly came back out, again calling "Sir? Sir?" Then he finally called someone on his phone, probably his superior. "The customer is lying on the bed, knocked out," he says in a hushed voice, "and completely exposed." Silence as he listens. Then: "Yes, yes, what do you think I'm going to do? I'll go in there and turn it off." And finally, he did. Ah, the joys of attending Oracle Open World.

OK, enough of my meandering thoughts, here are some of my highlights from the show:

* Quest announced availability of Toad 9.0, a substantial upgrade to the 8.6 version, with a powerful single editor that replaces the SQL editor, Proc Editor and Offline Text Editor. They crammed something like 153 separate enhancements into the product. I continue to be amazed at the pace with which the Toad development team can add solid, useful, well-designed features to what was already the best PL/SQL IDE on the planet.

* Live penguin steals Larry's show. Larry Ellison's keynote was, I thought, mostly a rehash of previous keynotes (Unbreakable Linux, grid, RAC, finally got it right, really cool stuff, etc.). Then he announced his cleverly masked plan to squash Red Hat by offering support for Linux at half the Red Hat price. And to celebrate, out came a live penguin. Aw, it was so cute. That deeply educational moment was followed by quick videos of each CEO of the major sponsoring companies (AMD, HP, IBM, Sun, etc.) telling us how fantastic Oracle technology was and how much it had helped them. I was totally convinced. But mostly what I thought was: Wow, Larry didn't really have all that much to say this year, if he needed to fall back on live animals and video clips of talking heads. Regardless, he is still my hero. After all, without Larry and PL/SQL, I would be, let's see, well, maybe I would have written a popular book about Java. Probably did in some alternative universe, where I am the Guru of Squiggly Brackets.

* This was the best and more important OOW for me in many years. Quest announced availability of Quest Code Tester for Oracle, the testing tool on which I have been working hard, really hard, extra super-duper hard, for the last year.
Quest Code Tester 1.2.5.5 is a completely free version, with commercial, trial and freeware versions arriving in February 2007. You can download it from www.ToadWorld.com (click on the Downloads tab). This is one very cool piece of technology. If you write PL/SQL code, I strongly suggest you check out Code Tester. I did a bunch of theater presentations on the tool and received lots of very positive feedback (or maybe they were just all excited about their t-shirts).

* Beyond Code Tester, I did four presentations, including two back-to-back talks
on Thursday morning on error management and test driven development. Very friendly and appreciative audiences. I also was the recipient of the Oracle Magazine PL/SQL Developer of the Year for 2006, which means I will soon receive a very tasteful piece of nicely engraved Lucite. I will be honored to place it next to the Oracle Magazine PL/SQL Developer of the Year for 2002 piece of Lucite on the shelf in my office. No, truly, it is quite an honor and I very much appreciate the support and recognition I have received from Oracle Magazine and Oracle Technology Network over the years. On Sunday night, OMag sponsored a dinner for awardees, Oracle ACEs and others. I met Eddy Awad (OMag Blogger of the Year!) for the first time, saw Tom Kyte again (met him for the first time just a week or two ago at the KC OUG conference) and reconnected with a whole bunch of other top notch technologists, in particular the illustrious Bryn Llewellyn, PL/SQL Product Manager.

* Other exciting announcements at the show: Quest has launched ToadWorld, mentioned above, which is a fantastic portal for all things Toad, plus a ton of resources for anyone writing PL/SQL code. I've got an Experts Corner, as well as a blog, at ToadWorld, so come and visit: www.ToadWorld.com.

And that's not all!

* ODTUG (Oracle Developer Tools User Group) announced OPP2007, the second nothing-but-PL/SQL conference ever to be held. I sponsored the first one back in November 2005 (organized by the wonderful folks at Your Conference Connection) and it was so popular, ODTUG agreed to take over the main sponsorship of future, annual PL/SQL conferences. This pleases me to no end. I have tremendous respect for ODTUG, and much admiration for the hard work of its volunteer board. It is going to be held on February 28-March 1 out in San Mateo. I'll be there, as will Bryn Llewellyn and Christopher Racicot, Development Manager for Oracle PL/SQL, along with many other excellent PL/SQL educators. I hope you can join. Click here for more information and to register.

* As always, the best part of OOW was meeting people who had read my books or attended my trainings and felt that my work had made a big difference in their professional careers. I don't mind helping companies improve their software quality and perhaps even make more money, but I am most jazzed about helping individual programmers lead better and more satisfying lives. Also very gratifying: after my talk on error management on Thursday morning (8-9 AM!), the young guy taking care of the audio visual equipment told me that he'd done some programming in the past. He'd also been listening to talks all week long and this was the first presentation that he could actually understand and get something useful from. Very cool.

* I decided on the spur of the moment during one of my talks to launch a global Campaign to Implement a Boolean Overloading for DBMS_OUTPUT.PUT_LINE (CIBODOPL). Sure, it is a bit silly, but silly can be good in our often all-too-serious jobs, and such an effort might actually move this enhancement request towards the top of the list and just get it done (in Oracle12, anyway). I can't imagine it is going to take much of an effort on the part of the PL/SQL development team. So soon, soon (not yet) you will be able to visit CIBODOPL.net or some similar location and add your name and support to this campaign. You can also tell us on this website what small, annoying feature or lack thereof is on the top of your list to fix/add to PL/SQL.

Thursday, October 05, 2006

The life of a (well, this) software developer

It's 1 Am and I sit at my laptop, typing away. Happily. I haven't been blogging much lately. I am rather insanely busy getting Quest Code Tester for Oracle ready for its preview release at Oracle Open World in a little over two weeks.

I would like to say that everything is pretty much done and I am coasting to the finish line, but that is not the case. Instead, we are working extremely hard to pack in as much functionality (and the fewest possible bugs) into what I believe will be a truly revolutionary killer app for PL/SQL developers.

Here is what my day looks like in this race to the finish line (which is not really any sort of finish. Software is never really finished. It is "just" a release. As soon as it goes out, we get back to work improving the tool):
  • Try to get up at 6 AM. Usually that is possible.
  • Work work work all day long (my office is in my home), with regular breaks, stretching, situps, lots of water, too much coffee. Communicate with my developers in Russia, Ohio and across my office space. Respond to bugs entered by beta testers and our full time QA resource in Alisa Viejo, CA.
  • At around 7 PM, my co-worker Leonid (who comes to work with me here in my home office) heads home (where he apparently takes a short break and gets back to work!).
  • At 7:30 or 8, I have dinner with my wife, Veva, and our house-mate, Ying - both of whom are amazing cooks. So I eat well, and mostly vegetables.
  • Between 8:30 and 10:00, I head to the basement for 45-60 minutes of exercylcing (finally broke down and got a decent Diamondback model, cause I realized that I wouldn't give myself the time to head to the fitness center during the week), and then some weight lifting, more situps (best way to avoid lower back pain, I have found).
  • At 10 PM, I join Veva for a half hour of the best comedy, satire and news on television: the Comedy Central's Daily Show.
  • At 10:30 PM, I yank myself away (I don't find the Colbert Report quite as enjoyable, but still it exerts its pull) and back to work.
  • Try to work till 1 AM.
  • Reward myself with bed and sleep.
So, yes, I sure am working really long hours, but I intersperse the work with lots of breaks and I just absolutely love what I am doing. For example, I just spent about 2 hours implementing fairly complex validation of outcomes (individual tests of a program), ensuring that if you are going to compare a table to a query or a cursor variable to a table, that the select lists of each is compatible. Cool-o, neat-o.

I am also extremely happy that Quest Software is investing in this tool to bring it to maturity so much faster than would otherwise have been possible.

Time for bed.

Saturday, September 02, 2006

The amazing and creepy transformations of Christian Bale

This past week, I watched two creepy movies in which the main character was played by the same guy: Christian Bale.

The movies were:

American Psycho
"A wealthy New York stock executive hides his alternate psychopathic ego from his co-workers and friends as he escalates deeper into his illogical, gratuitous fantasies."

The Machinist
"An industrial worker who hasn't slept in a year begins to doubt his own sanity."

Two very understated descriptions of very intense movies, by the way.

The movies themselves are disturbing enough, but what I found most creepy about watching them almost back to back was the astonishing contrast between the Christian Bales of these two movies.

In American Psycho, the psychopath pampers his body, hones it to a buff, highly developed machine. This is critical, as it serves as a human covering over what he recognizes is an empty husk. Thus, an attractive physique is transformed into something menacing and un-human.

In The Machinist, Bale plays a man who hasn't slept for a year. We find out at the very end of the movie why that is. But during the year, he not only doesn't sleep, but he apparently doesn't eat very much at all, either. By the time the climax of his year of decay takes place in the movie, the character is, well, a skeletal figure. Literally. The thing is, this is Bale. He really did this. He starved himself for this movie.

It is hard to look at him ,and even more troubling to think....
  • That Bale made this enormous sacrifice for a movie that tanked and disappeared almost overnight. I wonder how he must have felt, after all that suffering...
  • About the extremes to which actors and actresses will push themselves and their bodies for their craft.
Bale was good, very good, in this movie, but it was just such a painful thing to watch that I would not recommend it to anyone....

Monday, August 28, 2006

Scattered shots across my bow

I have been so busy, my poor blog has been neglected and thousands of people have been deluging me with emails asking when my next very insightful post will appear.

Yeah, right.

Anyway, I have been incredibly busy doing some incredibly interesting stuff. Want to hear about it? Oh, okay, you twisted my arm.

First of all and most exciting, I and my development team have been putting in lots of hours to complete the beta release of Qute, the Quest Unit Testing Tool. If you write PL/SQL code, this product is going to rock you back in your shoes. It will completely change the way you think about and do testing of your PL/SQL code. We now enter a 6 week QA period and then move to an October 2006 release. The beta program is closed (unless you are really serious about getting involved, in that case, get in touch...), but you can download and try out the software - starting tomorrow, August 29. Just visit the Qute Community and have a look around after we load up the beta software at the end of this day.

Beyond that, I just finished one of the most interesting books I have ever read in my life. It is called On Intelligence, by Jeff Hawkins, and it offers a paradigm for understanding how our brain works (that is, how we are able to function in the world, type on a keyboard, think abstract thoughts, build cars, etc.). He thinks that with this paradigm shift, we will relatively soon be able to make true thinking machines, as opposed to computing machines, the dumb things that we call "computers" today. Yes but what about Skynet?

Read this book. It is short and mostly very accessible. It could change your life! I strongly urge you to get a copy, only $7.99 at Amazon!

On to less pleasant matters. Just when I thought I had managed to put an arm's length between my emotional well being and the awful conflicts raging between Israel's fanatical, aggressive military-governmental complex and its neighbors, I read this article and found myself in tears.

C'mon, Olmert. Even if you are totally justified in using cluster bombs on towns in Lebanon (which usage almost certainly violates US law), couldn't you have the grace to now say: "We will help you clean up our mess. We will provide soldiers to gather up all those little colored balls that look like toys but will actually destroy life."

Just think how much good will Israel would gain.

Sorry, just dreaming about a better world again...may I never break the habit!

Meanwhile, my wonderfully creative wife, Veva, a ceramist of fine skill and aesthetic sense, just installed her latest "goddess" statue in front of our house. She calls it the Bird Lady. I like it alot.

I will end on that more upbeat note.

Tuesday, August 08, 2006

Abe Foxman Defames Kofi Annan: will he apologize?

Abe, it's time to apologize to Kofi Annan or resign from your job.

Abe Foxman is National Director and chairman of the Anti-Defamation League of B'nai B'rith. He started working for the Anti-Defamation League 1965. He was promoted to National Director in 1987.

The mission of the ADL is:

The immediate object of the League is to stop, by appeals to reason and conscience and, if necessary, by appeals to law, the defamation of the Jewish people. Its ultimate purpose is to secure justice and fair treatment to all citizens alike and to put an end forever to unjust and unfair discrimination against and ridicule of any sect or body of citizens.

This is a very noble mission and the ADL has over the years indeed helped to secure justice and fair treatment for some citizens. But lately Abe Foxman has become an incredibly obnoxious cheerleader for the State of Israel (by which I mean those executing the policies of the repulsive former Prime Minister, Ariel Sharon, and his pathological Likud party).

Ok, fine. This is America. Freedom of speech and all that. Fine. Then let him spout his self-absorbed nonsense. But, particularly given the name of his organization, you'd think he would at least take care not to defame people.

Defamation is the "...publication of a false statement of fact, made with the requisite state of mind, that causes injury." (http://en.wikipedia.org/wiki/Defamation#_note-0)

On August 8, I read the following article on Ha'aretz, a popular Israeli daily that is also published in English.

ADL blasts Annan as 'blatantly one-sided' and 'anti-Israel'
By Shlomo Shamir, Haaretz Correspondent
http://haaretz.com/hasen/spages/748265.html

NEW YORK - The National Director of the Anti-Defamation League (ADL), Abraham Foxman, accused United Nations Secretary General Kofi Annan on Tuesday of demonstrating "blatant one-sidedness" in his comments about Israel's war against Hezbollah in Lebanon.

"I am stunned that the UN secretary general cannot find his tongue except to criticize and denounce Israel, and is unable to raise his voice to denounce Hezbollah's daily firing of hundreds of rockets that are specifically intended to hurt civilians," Foxman said Tuesday in an exclusive interview with Haaretz.

"In addition, [Annan] has not bothered to mention the loss of life in Israel as a result of the rocket attacks," Foxman continued. "When will the UN secretary general begin to give Jewish lives the same respect he extends to other human beings," the ADL head asked.
===========END ARTICLE

I was at first shocked to see the ADL describe Kofi Annan as "anti-Israel." That is a very serious charge to level at the Secretary General of the United Nations. Then I read what Foxman said and found myself wondering...it certainly would be shocking and disgraceful for Annan to never mention that Israelis have died from rocket attacks, never denounce Hezbollah's those same attacks on Israeli towns and cities. That sure would be one-sided and, at a minimum, thoroughly lacking in compassion for Israelis.

You really would have to question Annan's objectivity, his fitness for the position he holds today.

Surely Foxman or someone at ADL had carefully gone over all of Annan's public pronouncement to make sure Fox's claims were accurate; namely, that Annan had "not bothered to mention the loss of life in Israel as a result of the rocket attacks."

But why assume that? Why not check for myself? So here it is, 1:10AM in the morning. I need to sleep. I am overwhelmed by work. But I find myself visiting www.un.org and reviewing Annan's personal statements. This is what I found (and fortunately very quickly as well):

July 30
http://www.un.org/News/Press/docs//2006/sgsm10580.doc.htm
"Meanwhile, over 50 Israelis have died, including 19 civilians, and the population of northern Israel has been subjected to intense and continuous rocket fire, and thousands are now in shelters. "

July 26
http://www.un.org/News/Press/docs//2006/sgsm10578.doc.htm
"First and most urgent, we need an immediate cessation of the hostilities that began on 12 July with Hizbollah's reckless attack across the Blue Line and the abduction of two Israeli soldiers.

"We need a cessation of hostilities because we face a grave humanitarian crisis. The United Nations Emergency Relief Coordinator, Jan Egeland, has just visited Lebanon, and reports that some 800,000 people are being affected in one way or another, whether through displacement, injury, trauma or other fallout. Meanwhile, rockets continue to fall on Israeli cities, taking lives and instilling deep fear among hundreds of thousands of people. Some 400 Lebanese have been killed, and many thousands wounded. Several dozen Israelis have been killed, and hundreds wounded.
...
"
Therefore, I call on Hizbollah to stop its deliberate targeting of Israeli population centres.

"And I call on Israel to end its bombardments, blockades and ground operations."

======== END ANNAN'S STATEMENT

I imagine there are other, similar comments in press releases, comments to the media, and so on. It seems pretty clear to me that Annan did, indeed, mention all the things that Foxman claims Annan did not. From the brief review I performed, it also seemed rather clear that Annan was very consistent in condemning all violations of international law, and in particular the use of violence against civilians.

It just so happens that the Israel Defense Forces are inflicting orders of magnitude more violence against Lebanese and Palestinians than Hezbollah and Hamas are inflicting on Israelis.

As a result, there are many more deaths to condemn, much more destruction of civilian infrastructure, vastly more refugees and a full-blown humanitarian crisis -- all the direct result of Israel's attack on Lebanon. Whether you consider this attack justified or not, there is no doubt about whose bombs are doing what, and to whom.

The conclusion should be patently clear to all:

Abe Foxman and the Anti-Defamation League have defamed Kofi Annan and the United Nations. He should immediately offer an apology (I am sure he can find some intern assigned to do the research to take the fall) or he should resign from his position in the ADL.

Saturday, August 05, 2006

Execute DDL statement from file

I was thinking the other day that I have written so many little utilities that I imagine many PL/SQL developers would appreciate. So I am going to post them occasionally on this blog, in the hopes that that code I wrote will be more widely used.

The exec_ddl_from_file program will execute the contents of your file as a DDL statement. This means that you may not use any bind variables, nor may you return information from the statement that is executed dynamically. But you can use this program to read in a file (using UTL_FILE) that contains, say, the CREATE OR REPLACE PACKAGE definition of a package, and create that package. Hopefully you will find such a utility handy, but I wrote it mostly to demonstrate how you can use DBMS_SQL.PARSE to execute arbitrarily large dynamic SQL strings. EXECUTE IMMEDIATE of Native Dynamic SQL fame is limited to 32K characters. Not so with DBMS_SQL. So here are the files in the download:

exec_ddl_from_file.sql - creates a procedure that executes the contents of a file. You will need to have UTL_FILE configured to get this program to run properly.

exec_ddl_from_file2.sql - creates a procedure that executes the contents of a file and includes the logic required to verify that you are indeed running under invoker rights.You will need to have UTL_FILE configured to get this program to run properly.

invdefinv.sql - a script that demonstrates how when a definer rights program calls an invoker rights program, the current user for that invoker rights program is set to the owner of the definer rights program. It also shows the usefulness of the DBMS_UTILITY.FORMAT_CALL_STACK, which reveals the PL/SQL call stack.

Death of a Child

I am placing in my blog something I wrote several years ago. It is hidden away at www.stevenfeuerstein.com.

12/13/98 - I played Pitch, a very interesting card game with numerous levels of strategy, several times today with Eli (my youngest son, 13 yrs old at this time). He has a sharp mind. I sat there looking at him, his long, hairy legs, his ever-lengthening feet, his expanding chin, and I saw:

Eli in motion -- even as he just sat there: growing, growing, growing.

It was such a wonderful feeling and then I thought to myself: "How awful it would be to have the death of a child on one's hands."

So many men in this world (sure, and some women , too) have directly caused the death of a child; hell, some men have caused the deaths of thousands of children. Try to imagine it yourself (no, Henry Kissinger, you have to skip this step): because of something you did, or a decision you made from a position of authority, a little boy or girl stopped breathing.

Maybe you ordered a bomb to be dropped on a village. You didn't want to, but the General made it clear that this entire sector had to be clear of enemy forces within two weeks, and you just didn't have the time or the men to check every population center individually.

Maybe you dropped the bomb on that village. You didn't want to, but the alternative was court-martial, and maybe there were Viet Cong down there, just like the Lieutenant said.

Maybe you ran over a little girl crossing the street because you were drunk - or just picking your nose (after all, anything can happen).

Maybe you're the CEO of an extremely profitable corporation that laid off 3,000 workers just before Christmas to increase the value of the stock. Joe, a seriously depressed, 27-year employee, shoots his wife and two kids, and then himself.

Kids die all the time; some times it's the result of an "honest" accident. You still have to figure out how to live with the results of your action, but at least it wasn't your intention. So many children are killed each year, however, by people who went ahead with their action or decision, even though they knew that children would, as a result, die.

So here is my idea: create a website, called www.deathofachild.com, which would be used to propose individuals who are responsible for the death of a child. We would then have an open debate on the Internet about whether or not that individual is responsible or if the charge was unwarranted (the death was, for example, "justifiable" - whatever that might mean - or truly an accident).

Visitors would submit a name and history; those names would be researched by an independent group. If they recommended that there is sufficient evidence, the name and situation would be posted on the website, and let the debate commence. What do you think?

Tuesday, August 01, 2006

Back when I was young and much less mature

I can still recall with shame that when I was young and much less mature, I rationalized PLO attacks on school buses. My argument went something like this: "Their children die and no one cares. So in desperation they commit these acts of terrorism to get the world's attention."

I am deeply ashamed of those kinds of statements now. They demonstrated a callousness and also a sort of defensiveness. I understand now that, deep down, I knew that what the PLO was doing was wrong, but I was not confident enough in my beliefs and understanding to take a more nuanced position (the Palestinian people have been hurt grievously by the Israeli Defense Forces over the years, but that never justifies the wielding of violence against innocents). I was also rebelling against any number of things, which had little to do with Israel....

Whatever the explanation, saying things like that not only insulted those who died and grieved, but also degraded me. I was a caricature of a living, feeling, compassionate human being.

When I talk to fellow Jews now and hear them oh so blithely dismiss Israel's devastating attacks on an entire nation (Lebanon), the killing of scores, maybe even hundreds of innocent children, and simply blame it on Hezbollah, never Israel, I hear an echo of my earlier pathetic and immature stance.

When I talk to fellow Jews who are unable to admit that the vaunted Israeli Air Force can do anything wrong, who believe that anything the government of Israel does is, by definition, correct and moral (for example, "The IDF is the most moral military force in the world"), I feel very sad and depressed. I can almost sense their soul going gray, their moral edge going dull, their ability to celebrate all life and all people diminished, their humanity seeping out of them....

Prime number generator for PL/SQL

Well, it's been a little while since I blogged about PL/SQL!

I have been heads-down, coding and documenting, documenting and coding -- working furiously to meet deadlines that would allow my unit testing tool, code-named Qute (the Quest Unit Test Engine), to go production in October. Wow...what a brain drain.

One of the features offered by Qute is the ability to select test data values from pre-defined groups. And I thought that, what the heck, I would provide a set of prime numbers between 1 and 100, as one of those groups.

To do that, I built a little prime number generator package. It is definitely not anything fancy and I include it below. The generator tries to divide into a given number every integer between 2 and one less than that number. In none of the divide evenly, I've got a prime.

Hey, what can I say? I've got a Bachelors Degree with High Distinction in Mathematics, Summa Cum Laude, from the University of Rochester, 1980. This kind of brute force algorithm comes to me naturally.

Anyway, I also added the ability to generate text that contains the prime number. Here is an example of using the program to generate code that I needed to insert into my Qute install script:

BEGIN
prime_numbers.show_primes (
prefix_in => 'intval_insert ( ''$prime - a prime number'', '''
, suffix_in => ''', is_expression_in => qu_config.c_no);'
);
END;


The code (sorry about the formatting; sometimes I hate HTML - but I have no time to fix this. Use the Toad or SQL Navigator formatter to make it look nice).

Hope you find it useful!

CREATE OR REPLACE PACKAGE prime_numbers
IS
TYPE primes_aat IS TABLE OF VARCHAR2 ( 32767 )
INDEX BY PLS_INTEGER;

FUNCTION is_prime (
number_in IN INTEGER
)
RETURN BOOLEAN;

PROCEDURE show_primes (
start_in IN INTEGER DEFAULT 1
, end_in IN INTEGER DEFAULT 100
, prefix_in IN VARCHAR2 DEFAULT NULL
, suffix_in IN VARCHAR2 DEFAULT NULL
, placedholder_in IN VARCHAR2 DEFAULT '$prime'
);

FUNCTION primes (
start_in IN INTEGER DEFAULT 1
, end_in IN INTEGER DEFAULT 100
, prefix_in IN VARCHAR2 DEFAULT NULL
, suffix_in IN VARCHAR2 DEFAULT NULL
, placedholder_in IN VARCHAR2 DEFAULT '$prime'
)
RETURN primes_aat;
END prime_numbers;
/

CREATE OR REPLACE PACKAGE BODY prime_numbers
IS
FUNCTION is_prime (
number_in IN INTEGER
)
RETURN BOOLEAN
IS
c_limit INTEGER := ABS ( number_in );
retval BOOLEAN DEFAULT TRUE;
divisor INTEGER := 2;
BEGIN
WHILE ( divisor < c_limit AND retval )
LOOP
retval := MOD ( number_in, divisor ) <> 0;
divisor := divisor + 1;
END LOOP;

RETURN retval;
END is_prime;

FUNCTION primes (
start_in IN INTEGER DEFAULT 1
, end_in IN INTEGER DEFAULT 100
, prefix_in IN VARCHAR2 DEFAULT NULL
, suffix_in IN VARCHAR2 DEFAULT NULL
, placedholder_in IN VARCHAR2 DEFAULT '$prime'
)
RETURN primes_aat
IS
retval primes_aat;
BEGIN
FOR indx IN start_in .. end_in
LOOP
IF is_prime ( indx )
THEN
retval ( retval.COUNT + 1 ) :=
REPLACE ( prefix_in, placedholder_in, TO_CHAR ( indx ))
|| TO_CHAR ( indx )
|| REPLACE ( suffix_in, placedholder_in, TO_CHAR ( indx ));
END IF;
END LOOP;

RETURN retval;
END primes;

PROCEDURE show_primes (
start_in IN INTEGER DEFAULT 1
, end_in IN INTEGER DEFAULT 100
, prefix_in IN VARCHAR2 DEFAULT NULL
, suffix_in IN VARCHAR2 DEFAULT NULL
, placedholder_in IN VARCHAR2 DEFAULT '$prime'
)
IS
l_primes primes_aat
:= primes ( start_in, end_in, prefix_in, suffix_in, placedholder_in );
BEGIN
FOR indx IN 1 .. l_primes.COUNT
LOOP
DBMS_OUTPUT.put_line ( l_primes ( indx ));
END LOOP;
END show_primes;
END prime_numbers;
/