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.

Garage Band

This is a great time to be an aspiring musician. Check out Garage Band. They keep making their services better and better. I have been a member ever since my composition teacher joined. If you like Jazz piano search for Jon Raney , son of the legendary Jazz guitarist Jimmy Raney. Unfortunately, you won’t find me there yet :)

Collaborating with StORE

It had been probably about 1.5 years since I last tried to use Postgres on Windows as a backend for StORE, the source code versioning environment for VisualWorks. It was not happening at all. At that time I decided to use the Interbase/Firebird backend because it was a multi-user solution which was stable and that was a step up from what I had been using at the time namely Access. Why is a multi-user backend necessary? Well, because it one wants to collaborate with somebody there is no to setup some centralized repository somewhere you can do it peer to peer which sure beats passing parcels around. However the Interbase/Firebird solution was not quite perfect. So now I have decided to move on to using Postgres on Windows as my StORE backend the reasons being:

  • Good security which means that participants do not have to be confined to the same local network
  • Very easy install on Windows
  • the admin tools are good, making it easy to setup users and multiple databases
  • Postgres works with Glorp and thereofore with the Glorp Store replicator
  • I want to start working with something that uses Glorp since we plan to use it in the near future
  • Finally, this is the setup that many of the Cincom Smalltalkers seem to be using i.e. from my talks at SS 2005