Opentalking the Database – Ch. 1: The Need

Version: 1.0

The Requirements

  1. Eliminate the need to install database specific components on end user PCs.
  2. Do not change application code however refactor where needed. The goal is to make changes to the access of the database transparent to the application.

The Solution

Employ Opentalk ST-ST to proxy database connections/sessions.

Background

The application which does what it does well uses the “direct SQL” methodology for interacting with currently an Oracle database. Note that this application was built well before I had arrived. If things were up to me we would be using Gemstone but that is another story. Hopefully, Glorp will take the edge off but first we want to make it easier to deploy and manage the application.

So simplistically the idea goes like this:

Fig. 1

The Solution entails:

  1. Configure communications
  2. Try to minimize excessive chatter between proxy and real db session i.e. employ a “caching proxy” I’ll explain what I mean later.
  3. Understand what objects are passed between the proxy and its target remote object in order to configure pass modes and decide what Classes may need to live in both spaces.
  4. Understand what to do about exceptions and db errors.
  5. Understand what to do about communications errors.
  6. Test in a VPN
  7. Try to stress test.
  8. among other things …

More to come but I am out of time for this chapter.

[music] The Grande Passion

I finally caught up with Al Di Meola’s The Grande Passion. Ever since I bought my Ovation guitar I have been more interested in the albums DiMeola made with his acoustic group World Sinfonia. For one I can relate to them better since I am exclusively playing on the Ovation and have not touched my electric for over almost a year. Also, this album is heavily infused with Tango influences and in particular the compositions and playing of Astor Piazzolla, a legend of Tango at an equal footing with greats such as Coltrane in the impact that he had on his contemporaries. As a matter of fact, along with this album I also bought Piazzolla’s Tango Zero Hour. I have not had a chance to listen to it yet but what is an interesting story is that I met one of the producers for that album while walking my dog around my neighbourhood. Their label specialises on Latin fusions. Check out their site: www.americanclave.com. Amazon has a sample of the music on the Grande Passion as well as commentary. Here is a direct link to a free download for Double Concerto.

DiMeola’s playing is great as usual but in many ways more passionate, perhaps due to Tango which is a very passionate and rhythmic form.

Service over Quality

Today I was reminded of how important service is and that quality is not all. I usually value quality over service. By that I mean is that I am willing to be inconvenienced if I get good value out of a particular product. In the case of food, how it taste, smells and is presented will any day make up for a rude waiter and otherwise bad service. However, when the food is delivered exceedingly late that can just destroy the entire experience and its very difficult for quality to make up. Here is my review of a restaurant we dined at this evening in the Murray Hill section of Manhattan:

The humus was one of the tastiest I have ever had . the herbs and feta cheese were very fresh , unfortunately even these were delivered to our table unbearably late. Eventually, the food would once on our table turn out to be good and the portions were ample, the price quite reasonable but the wait had spoiled the dining experience.

The name of the restaurant is: Jasmine Persian Cuisine at 11 E 30th Street. Again, the food was good and the prices were good as well. Perhaps. an off-night.

Russell’s Antinomy

From the VisualWorks Non-Commercial List

Given the following code:

set1 := Set with: 2 with: 3 with: 4.

set2 := Set with: 4 with: 3 with: 2.

Should:

set1 = set2 ?

BTW, the above in Smalltalk reads set1 is equal to set2.

The answer is that in VisualWorks it does not but in Squeak it does. I favor the Squeak implementation. In anycase, we also got a taste of Set theory. Check out my favorite line out of the thread:

“You are right on target. The so-called “axiom of regularity” in ZFC axiomatic set theory forbids self inclusion. This was needed to avoid Russell’s antinomy and a number of related paradoxes. Depending on the formulation of the set theory (there are so many!), you either get axioms of this form or the theory is constructive (the “type theory” solution of Russell and Whitehead), again forbidding self inclusion. I’m not aware of any modern set theories where the term “set” is used to denote a mathematical object which can contain itself.

I ain’t no mathemetition though…”

Gotta love that.

BTW, click on Bertrand above if interested in reading more about his “paradox”.

Florida Power and Light and its Hurricaines

Last year I blogged on FPL’s emergency response system called Trouble Call Management System (TCMS). TCMS is a Smalltalk system which uses Gemstone/S a Smalltalk based app server/OODMS . What is becoming very noteworthy is that these storms seem to be getting stronger and more frequent and now apparently they are starting much sooner in the season. The good news is that Gemstone/S just announced 64 bit support. This means that the highwater mark (total number of possible objects) has gone through the roof to an insane number. The same is happenning for the shared page cache threshold which implies that one can basically ram the entire database in memory. Currently, I believe that HP and Solaris are supported. TCMS last I checked was running on AIX. Unfortunately, I cannot find the press release with the details.

What is originality?

Some dude out in the UK published an interview with my composition and Jazz teacher Jon Raney. Here is the link to the interview. I’m not sure who this guy is and what he does but Jon’s answers provide an interesting perspective into what originality is.

Jon is the son of a legendary American Jazz guitarist Jimmy Raney and is a great Jazz pianist and composer. Some of his music can be listened to here.

Lemon Grass Grill

If ever in New York City, per chance at a Smalltalk conference or not, and if you like Thai food or always wanted to try it then you must checkout the Lemon Grass Grill chain of restaurants. Like my taste in music my taste in foods leans toward a fusion of styles. I have heard it commented that the food at the Lemon Grass Grill is not authentic but my

wife and I can vouch that it is delicious. I can especially vouch for the location at 138 East 34th Street, which we visit frequently. The restaurant is decorated in all wood paneling and is lit by orangy light fixtures. The long kitchen line is in plain sight. A typical dinner for us consists of:

  1. Appetizer – Basil Lime Leaves Fish Cake
  2. Appetizer – Steamed or Crispy Fried Vegetable Dumpling
  3. Entree – Chicken String Beans Basil
  4. Entree – Chicken Thai Fresh Green Chili
  5. Dessert – Green Tea Ice Cream
  6. Dessert – Coconut Pudding

I must also note that the Green Tea Ice Cream is of the darker more bitter nature almost dark chocolate like but not. The other Green Tea Ice Cream which one most often sees in Japanese restaurants is very bland almost vanilla like and to our taste lame.

The bill for the above without tax and gratuities comes out to approximately $35.00 USD and the portions are large enough to take home for seconds. A real treat and a great deal.

Enjoy.

Weber Genesis Platinum C

Many eons ago I remember having a philosophical discussion on IT strategy with an upper management type. He said to me: “good developers do not use their tools as excuses”. I quickly replied: “well, I can open a can of tuna with a screwdriver but a can opener would surely be a lot less messier”. The guy was basically telling me to shut up , stop whining and get back to work and use what I tell you to use. My point was that he was dumb, shortsighted and that tools do matter.

Some tools are just inherently better at something than other tools. Some tools just fit a particular individual better. An example of this is found in the art of grilling. I recently purchased a Weber Genesis Platinum C grill. What a joy. Starting the grill is just a matter of a couple clicks on a startup button, once on the heat is perfectly evenly distributed and there is nothing I have do to maintain heat consistency, the shutdown and maintenance is just as easy. This Weber gas grill allows me to keep focused on my problem i.e. grilling. My old charcoal / wood grill was the total opposite, at least half of the time was spent on keeping the grill happy and the maintenance what a chore.

So what are the lessons gleaned from this experience with my new gas grill?

  • Tools are important
  • The Weber Genesis Platinum C is a great gas grill.
  • Smalltalk is a great can opener.

Opentalk’s dirty secret

Opentalk is great, Its a well factored and thus extensible framework. It allows local and remote objects to interact transparently. However, it has a couple major flaws at least in the context of p2p. In my previous post I mentioned that I had coded my Kazaa like prototype about 3 years ago. Well, I did not do much after that and the reason was that I encountered a problem that bummed me out. I discovered that I was not able to get past NATs. To be more accurate the problem is with Opentalk ST-ST i.e. the Smalltalk to Smalltalk distributed messaging mechanism. I plan to document this in detail later but for now the issue is that an OT message is tagged with the ip address of the OT broker sending the message and that is the ip address that is used to respond to the message. So if your broker is behind a NAT on 192.168,20,3 when the guy on the other end receives the message it will try to use that ip , well get the picture, not pretty. We really need the notion of our “public” ip or better still the notion of an access point needs to be made more robust. So what’s the impact of this on OpentalkMatrix? If you are directly connected to the Internet and so are your peers then there is no problem. So there is a problem since many will be behind home routers and therefore NATs. This however does not mean that Opentalk ST-ST is useless. It means that one can use Opentalk ST-ST for most corporate type of deployments where the nodes are within a corporate network or VPN but again currently hostile to p2p deployments.

Anyhow, this has to be fixed. The Opentalk team had been stuck doing unimportant stuff like Web Services, a ton of crypto, SNMP to name a few but enough is enough. The fix should not be that hard and its something that is best that they do. So if you think that this is important i.e. OT surviving past a NAT then please let the product manager for Cincom Smalltalk know. Hint his first name is James and he is a very active blogger :)

Tonight’s meeting – OpenSkills

Bruce is one of my favorite presenters. He has that witty British thing going and no matter how boring the presentation may be he is always fun to watch. Not that he was boring this time, the presentation was brilliant we had a lovely time.

Bruce’s OpenSkills related presentations are interesting because of the various open source technologies used which are combined with Smalltalk and often leveraged from Smalltalk. On this occassion , the OpenPGP stuff and it use to support a trust network was very interesting. Also of interest to me was his use of Glorp since we intend to use it to provide a pluggable rdms backend to our product.

After the meeting we went to the bar which is now apparently becoming part of our custom. I’m glad we started to do this since it allows us to interact in a way one can’t during a presentation. We had two guests i.e. newcomers , Matt and Jerome. Good meeting you all, hope to see you next time. Any questions you know where to ask. BTW, next time would be September since we take August off. The fall season should be a good one. I potentially have more presentations than available time slots , a good thing since that means that we should have material available for first Q 2006.