Archive for May, 2005

School Trip

by Tom P. in Uncategorized

Argh!! Watch me hook, matey!I chickened out. Beth threatened me with bodily harm if I did anything to embarass her so I remained on my best behavior. We went to Blydenburgh Park in Smithtown where they have an exhibit of colonial industrial life. The Blydenburgh’s had dammed a river and made what is now known as Stump Pond for their mills. In addition to the Blydenburgh’s house, the site contains a carpentry shop, a blacksmith shop, a cook house, and a grist mill which are working today as exhibits. We saw a demonstration of cloth making using several materials including wool, cotton, and flax. The blacksmith let each of the kids make an “S” hook using a piece of steel that he heated in his furnace. In the cook house, the kids made apple pancakes which were quite tasty. The weather was cold for this time of year but at least it didn’t rain.

Michel is home

by Tom P. in Uncategorized

Michel came home yesterday after having a catheterization. Nothing that should have caused her symptoms was found, so they decided to kick her out of the hospital and send her home. They don’t do the procedure at Michel’s hospital so they had to move her to Manhasset. Anyway, it will be a few days before Michel can go back to work.

Meanwhile, Beth’s Social Studies teacher, Mr. Gordon, called me at work today. I had volunteered to go on a class trip next week and he was calling to confirm. It is all set for Thursday. So the question is, should I act real goofy so as to embarrass Beth or should I be on my best behavior? What do you think?

Mikey is in the newspaper!

by Tom P. in Uncategorized

Sing it!!Mikey is in Newsday. Go to the second page where the article talks about Mikey. The article is about music therapy but Mikey is given a good piece of the article. I have reproduced the part of the article that discusses Mikey. I apologize to Newsday but I’m afraid that the picture and article will be removed from their web site at some point.


Eight-year-old Mikey Paul has Down syndrome and many features of autism. He doesn’t speak. Every Wednesday he gets off the school bus at home in Plainview and signs to his mother that it is time to get in the car. Wednesday is his music therapy day at the Rebecca Center at Molloy College in Rockville Centre.

“He’s got a lot of emotion that we never saw,” said Michel Paul, his mother. “Who would have thought music therapy would open the door for him? It’s been amazing.”

She says he is now using sounds approaching words. And he’s noticing other people, which she said he never did before. She has also learned many things about her son, that he loves the Ramones and Louis Prima. His music therapist, John Carpente, writes songs for Mikey and weaves the types of music he likes into the melodies. They produce sounds together.

A year into Mikey’s weekly treatment, Michel Paul noticed the first signs of independent and imaginative play. “He took a can and turned it into a drum,” she said. “It was the first time I saw him playing with a toy like a typical kid.”

Arghhh!

by Tom P. in Uncategorized

Just when things start to go well…

Michel wasn’t feeling well at work so she is now in the ER. She was complaining of chest pains and with her medical history she could cough and everyone jumps. Anyway, I am hoping that she is just over-tired. She hasn’t been sleeping well lately and there is a possibility that she might have something like sleep apnea.

On the good side, I took Mikey to see Dr. Modlin (the ENT) and Mikey did well. Modlin put him on an antibiotic for his runny nose and slight inner ear inflammation but he said it was nothing too serious. And Mikey passed his hearing test with flying colors.

Ordinary World

by Tom P. in Uncategorized

And I don’t cry for yesterday

There’s an ordinary world

Somehow I have to find

And as I try to make my way

To the ordinary world

I will learn to survive

–Duran Duran

Betsy Ross Paul

by Tom P. in Uncategorized

Cookie!Aunt Tina will be proud!* Beth is taking a course called Home and Careers (what used to be called Home Economics back in the old days) this semester. One of the things they are learning is how to sew. Beth made a cookie pillow (as seen in the picture). She did a great job on the sewing and the pillow is soft enough to be comfortable while still being fluffy. (Beth told me that there was a tendency in her class to overstuff the pillows and make them too firm.) The pillow is, of course, a chocolate chip cookie. The dark brown bits are chocolate chips and the light brown bits are nuts. The colored rectangles are sprinkles. The cookie itself was machine sewn but all the other parts were hand sewn. Beth also made a little volleyball pin cushion to hold her needles and pins. Beth is having a great time in school this year. Once again she made the honor roll so that is the third consecutive semester on the honor roll.

Aside: Did you notice Beth got new glasses? And the braces may be coming off this summer!

* Aunt Tina is the family sewing expert.

Review - Murach’s Beginning Java 2, JDK 5

by Tom P. in Uncategorized

Murach Beginning Java 2, JDK 5Murach’s Beginning Java 2, JDK 5
by Doug Lowe, Joel Murach, Andrea Steelman

2 out of 5 stars

The earlier edition of this book was a well written tutorial for the beginner Java programmer but it was also in need of an update. The release of the JDK 5 edition of “Beginning Java 2″ attempts to answer that need. The new edition is almost 100 pages longer and the extra pages have been used to give greater detail on object oriented programming and to cover some of the new additions to the language such as generics. Unfortunately, the new edition contains too many mistakes and is less well organized than its predecessor.

A few examples of mistakes in the book will explain my complaints. In the discussion of abstract classes, the book tells us that subclasses of an abstract class must override all the abstract methods of the parent class. This, of course, is not true if the child class is also abstract. In the discussion of threads, the book explains synchronization of methods using a method that does not need to be synchronized. The explanation makes it appear that method variables are shared by threads. The book tells us that primitives are passed by value and objects are passed by reference. Of course, Java always passes by value although the value passed may be a reference. There are also problems with the sequence in which language features are introduced. For example, int and double are introduced early, but the reader must wait forty pages to discover that there are other primitive data types.

Overall, the new release of Beginning Java 2 represents a step backward in the Murach family of books. This book could have used much more careful editing and a better sequence of topics. If you are looking for a tutorial or textbook I can not recommend this edition.

This earned 2 stars on Amazon. The book is published by Mike Murach & Associates.

Due to a bug in the way Amazon does reviews, I can’t publish this review on Amazon since I wrote a review of an earlier edition. My other reviews can be seen on My Amazon Reviews page.

Even Dark Lords Blog!

by Tom P. in Uncategorized

Am I cool or what!Jason over at JavaRanch pointed out that even Darth Vader has a blog. Some very funny entries. How can you can not love a blog that refers to Lando Calrissian as a metrosexual? The blog is the work of Matthew Frederick Davis Hemming of Story Zoo Studios. Here are some of my favorite excerpts:

I will say this for being a tyrannical dark overlord: you get great service at restaurants.

Getting some “me time.” Mood: melancholy.

On a more banal note something has gone wrong with my left leg. For the time being I have avoided limping by overriding the control circuitry with the power of the force, but this is needlessly draining. I have called for a repair droid, but it has been over an hour and there is still no sign. Later, I will find the man responsible for dispatching the repair droids and crush his trachea with my mind.

Do you want to know what the worst part is? My left leg is still on the fritz. Whose trachea do you have to crush with your mind to get a little service around here?

Big day. Storming the rebel ice fortress. Took a nap first so I would be peppy. Leg feels pretty good. Admiral Ozzol took the fleet out of hyerspace too close to Hoth, and the Rebel Alliance were — you guessed it — alerted to our approach.

One of these days, one of these days, Ozzel: bang, pow! Straight to the moon.

The administrator of the facility was a quaking fool in expensive fabrics, introduced as Lando Calrissian. I took one look at his satin shirt and disco hair and I knew he was a weak specimen…

SAP Portals Continued

by Tom P. in Uncategorized

Now that we have downloaded and installed the Eclipse plug-in for SAP portal development, we can proceed with creating a project. Before we start, we need to decide which approach we plan on taking. SAP provides two different methods, PageContext and DynPage. We are going to use the DynPage approach because it is easier to integrate JSPs using the DynPage methodology.

To start, we go to the Eclipse menu and select File>New>Other… which will bring up a dialog box. The SAP plug-in has added a new choice, “Portal Application”. Select this and two items will become available on the right side of the dialog box, “Create a portal application project” and “Create a new portal application object”. Select “create a project,” enter a name and directory for the project, and then push the “Finish” button. A new project is created which includes most of the jar files you will need. Two additional jar files need to be added because we are going to use the DynPage methodology, htmlb.jar and com.sap.portal.htmlbridge.jar. Add these to the project.

In order to write a DynPage, two classes are required. First, you need to create a launcher class. The launcher (or controller) must extend the SAP class, PageProcessorComponent and must provide an implementation for the abstract method getPage. The getPage method must return a DynPage object. Here is the beginning of our “Hello World” portlet:

package main;

import com.sapportals.portal.htmlb.page.*;
import com.sapportals.htmlb.page.*;
import com.sapportals.htmlb.*;
import com.sapportals.htmlb.enum.*;

public class TestController extends PageProcessorComponent {

 public DynPage getPage() {
  return new TestDynPage();
 }

The next step is to provide a DynPage. In this example, in order to keep it simple, we will not use a JSP but will generate HTML directly from our DynPage. The TestDynPage will be an inner class of the TestController. TestDynPage will extend DynPage and must provide an implementation for the three abstract methods, doInitialization, doProcessAfterInput, and doProcessBeforeOutput. We will provide empty implementations for the first two. The doInitialization method is invoked only the first time the user enters the page. The doProcessBeforeOutput is invoked after doInitialization the first time and after the doProcessAfterInput method on subsequent calls.

There are two other classes that we need to worry about. First, the Form class that provides us with the area of the screen that we can write on. The second class is the TextView class which is one of the SAP provided HTML-Business (htmlb) classes. These classes work in a very similar way to the JSF classes in that they automatically generate HTML and provide an event based methodology to respond to user actions. We will worry about events in our next attempt. In this example, we will simply send some text to the screen.

The steps are fairly simple. First we get the Form from the current DynPage. Next we create a TextView, add some text to it, and then add it to the Form. And that is it. All that is left is to look at the rest of the code:

 public static class TestDynPage extends DynPage {

  public void doInitialization() {}

  public void doProcessAfterInput() throws PageException {}

  public void doProcessBeforeOutput() throws PageException {
   Form aForm = this.getForm();
   TextView label = new TextView();
   label.setText("Hello World!");
   label.setDesign(TextViewDesign.LABEL);
   aForm.addComponent(label);
  }
 }
}