Monthly Archive for September, 2005

licensed

This is an automatically generated Delivery Status Notification.

Delivery to the following recipients failed.

Info@participantproductions.com

Final-Recipient: rfc822;Info@participantproductions.com
Action: failed
Status: 5.2.2
X-Display-Name: Info

———- Forwarded message ———-
From: “John Joseph Bachir”
To: info@participantproductions.com
Date: Sun, 25 Sep 2005 18:36:15 -0400
Subject: project proposal
Hello. Your submission policy states that you do not accept
unsolicited material, but also that you do accept material from a
licensed agent, manager, or lawyer. What manner of license could an
agent or manager get? Do you mean some sort of union membership? Also,
do you accept unsolicited material from these people?

Thank you,
John

18,509,302,100,000,000

Dear Dreamhost tech support,

Hi. I was just creating a bunch of email accounts, and having dreamhost create the passwords for me. At one point, two passwords in a row were identical.

For an 8 character password using lower and upper alphas, numbers, and symbols, the chances of this happening should be something like 1/108^8, or 1/18,509,302,100,000,000.

Thank you,
John

Ventilation on Air Canada flight

Dear Air Canada,

Recently I took a flight from toronto to RDU, and there was no air condition, and seemingly no ventilation at all, while taxiing before and after the flight. It was very hot, stuffy, and smelly. It was completely absurd.

Suggestion to Sappo Hill Soap

Dear Sappo Hill,

i am a longtime committed user of your soaps. i was going to write to suggest you do a lemon soap that people would like for the kitchen. then i saw that you have a gardener’s lemon, which i guess has the abrasive stuff in it. now i don’t know what to think. do people want an abrasive bar in the kitchen? perhaps.

john

Static classes and singleton objects

In object oriented programming languages, I like the Singleton pattern, and I also like the static concept. But I think there are some unfortunate misuses, or arguably just poor terminiology, mixed up with both of them.

The static concept does (or should…) mean, any characteristic or functionality of a class that doesn’t change, and/or, any characteristic or functionality that is independent of any particular instance of that class. However, static functions are often piled into a class that is never instantiated, and effectively becomes a glorified library. It’s great that Java provides so much standard functionality, but come on, the Math class is not object oriented at all, it’s just a convenient place to put a bunch of tools. Don’t get me wrong, the way that Java handles namespaces is great. But to call Math a class is just silly. (Or am I wrong? Does Math have a bunch of extension classes that depend on its structure and namespace in order to be designed well?)

Second, I’ve never used the singleton pattern in a class that was also arbitrarily instantiable. If a class can be used as a singleton, then it should only be used as a singleton. And while it’s nice to think of a singleton object as a “real” object, with the same presense and role as the other objects that interact with it, this is really just for the conceptual pleasure of the programmer. (Actually this makes me think of a side concern: is a singleton object just a glorified set of static members and methods, similar to all-static classes like Math? I.E., have you ever designed a singleton object that changed state at runtime?).

I propose two features that I want to see in OO languages that would cut down on a lot of redundant syntax:

  1. A “library” concept. (Perhaps call it something other than library, to avoid confusion with how people label various other projects and tools. Maybe “toolset”). This would be what we today call a uninstantiable class with only static methods. The advantage would be purely conceptual and syntactic (no need to declare everything static). It would save beginners some headache, programmers some time, and programs some clutter.
  2. The singleton concept supported at the language level. For example:

    protected singleton class NullNode extends LinkedListNode{ ... }

    Now, to refer to the singleton, instead of any ridiculous bussiness such as NullNode.singleton or NullNode::singleton(), one could simply refer to NullNode.

Man, it’s even awesomer in text

Mike Meyers: And, subtle, but in even many ways even more profoundly devistating, is the lasting damage to the survivors will to rebuild and remain in the area. The destruction of the spirit of the people of southern Louisiana and Mississippi may end up being the most tragic loss of all.

Kanye West: George Bush doesn’t care about black people.

In the Astrodome

My friend Josh talks about his experience volunteering in the Astrodome in Houston, here and here.

You know…

…other than the corpses floating in the streets, the hundreds of thousands of people displaced from their homes and loved ones, the instant and complete devastation of one of our nation’s most unique and culture-rich cities, the unchecked violence and lawlessness, the significant negative effect on the national economy and national security, and the exponentially increasing general pandemonium, the New Orleans thing is pretty hilarious.

A series of, relatively speaking, pretty simple and cheap devices, which were intended to stop the ocean from submerging a major metropolotin area, and which were designed and maintained decades ahead of time, failed.

I mean seriously, how am I going to explain this to my kids?




Close
Powered by ShareThis