+1 for Feed URI Scheme

On the issue of whether to introduce a new URI scheme to allow one-click feed subscription, in spite of W3C Technical Architecture Group's position against new URI schemes, I am adding my vote to Dare Obasanjo's proposal which is already in fairly wide use.  While I understand W3C TAG's position, a less than ideal solution is better than expecting the world to accept the right solution.

If you are unfamiliar with this issue, Jon Udell has a post with links and words.

Update:

I should note that neither schemes address the need to support multiple aggregators at the same time.  I thought about writing a general feed subscription management plugin for IE but haven't found the time yet.

Personal Outgoing Spam Filter

Most spam filters work on incoming mail.  There are some outgoing mail spam filter at mail server level, but not at the e-mail client level.  Spam filter at the e-mail client level allows the sender to avoid sending messages likely to be blocked by spam filters at the destination.

My theory is that spam filters among people with similar interests are alike.  I have no evidence to back this theory but, if true, then if my spam filter thinks a message I am about to send is a spam, then the spam filter used by the person I am sending the message to will think so as well.

Dinner with Android

Here is a conversation from the near future:

Bob: I am reading Don Park's Visual Thinking now.  It's really good.

Joe: Is that Park with an 's'?

Bob: No, just Park.  Here. [Bob beams Joe Amazon URL]

Joe: Hmm.  Reviews look good.  OK, I ordered it.

Bob: …

Joe: …

On the surface, there seems to be nothing wrong.  But notice the type of question being asked.  With information at your fingertip, the need to ask for information from another person diminishes.  So instead of asking about the book, Joe is asking about query terms.  He could have also said “Could You?“ and Bob would have interpreted it as request to beam URL or search words.

I don't know about you, but it seems like technology is eating away at the meat of everyday social life, leaving just the bare bones.

In respect to blogging, I wonder how blogging affects a person's life.  More opinionated?  Less inquisitive about other people's opinions because they are already exposed to a wide range of opinions online?  Nice chewy topic I think.

According to Beijing, Koreans are Chinese

Looks like Japan is not alone in being creative with history.  Recent reports by Beijing historians, supposedly sponsored by the Chinese government, has Koreans hopping mad.  Here is an excerpt from a Taipei Times article by Christopher Lingle:

Showing an ability to pile outrage upon outrage, Beijing introduced inaccurate and distorted information about Korea's early history to further Chinese political hegemony. In particular, Chinese officials have offered a gross misrepresentation of descriptions of the Koguryo (Goguryeo) empire (37 BC to 668 AD) whose territory included part of a Chinese regional kingdom. This strong warrior state successively defeated invading armies of the Chinese empires.

In the Chinese version, Koguryo was incorporated into a Chinese historical timeline and included a claim that these people were of "han" Chinese descent. Beijing also interfered with an effort by Pyongyang to place Koguryo tombs on UNESCO's World Cultural Heritage list of historic sites.

Ethnic Koreans that had lived in the region previously known as Manchuria for many centuries formed the core of the empire. Eventually, their capital was moved to Pyongyang from Jian in Manchuria in the fourth century.

After Koreans and Manchurian tribes lived together for centuries, they were incorporated into Chinese territory with a treaty by Japan and the Qing dynasty in China in 1909. It is amusing to think that Marxist-Leninists insist that unequal treaties signed by imperial powers have any legitimate force. It was left to Korean learned societies to insist that Beijing place the Korean kingdom of Koguryo in its proper historical perspective.

For its part, Beijing insists that everyone else should exercise the highest standards of historical probity. For example, the media and diplomatic channels have been used to criticize the content of Japanese history textbooks. It is a blatant act of hypocrisy to be inconsistent in stating concerns over the correct retelling of past deeds and misdeeds.

It is likely that the incident is part of a well-orchestrated and purposeful attempt to increase its political influence in Northeast Asia. This probably reflects concern over the large numbers of ethnic Koreans living in the northeastern provinces of Laoning, Jilin and Heilongjiang that were granted considerable autonomy during the early 1950s.

Gee, so they built the Great Wall to keep fellow Hans out?  They should be thankful that Koreans are not asking for restoration of the Koguryo territory.  Here is a map of Koguryo:

Korean peninsula had its own version of the Three Kingdoms as you can tell by the presence of three other countries in the Korean peninsula.  Shilla, the green colored one in the map, eventually won by allying with Dang Dynasty.  People living in that area are still being blamed for that traitorous alliance.  Long memory indeed.

Here is a map showing Koguryo's war with Dang Dynasty.  Note Koguryo's own version of the Great Wall.  Apparently, wall building was fashionable back then.  Maybe Israel's walling building will bring it back.  You have to build walls before you can't knock them down.

Those red dots along the wall are castles.  The redline crossing the sea means Dang couldn't get through by land so they attacked by sea.

<

p dir=”ltr”>BTW, the name Korea originates from Koryo (aka Goryeo), a nation that followed (I am grossly simplifying here) Koguryo (aka Goguryeo).  Koreans apparently likes to recycle old names.  Before Koguryo, there was Gochosun which occupied pretty much the same territory.  For 500 years prior to the Japanese occupation, the name of the much shrunken country was Chosun.  Maybe the next one should be just simply Ko.

Koreans Start International Election Campaign against Bush

OhmyNews is reporting that an NGO group in Korea (sorry, their name is difficult to translate) has launched an international campaign named “Defeat Bush Network” to defeat Bush in the upcoming election.  Here is a picture of some Indians holding Defeat Bush Network tabloids that were handed out in Moombai (?), India in their efforts to get citizens of other countries involved.

Looks like Bush loses by one vote in this group

<

p align=”left”>While non-Americans trying to influence the outcome of an American election is weird and I have mixed feelings about it, I must say they got some balls.  If I had to guess, I think their argument is that it's their business if they are affected by the result of the election.

ASP.NET Learning Curve

Here is a particularly useful information on ASP.NET: Application Instances, Application Events, and Application State in ASP.NET.  This is the line that surprised me:

The ASP.NET runtime creates as many instances of application classes as needed to process requests simultaneously.  … Application instances are used in a thread-safe manner, that is, one request at a time.

Gee, thanks for that curve ball.  If you didn't know this before, now you know why application instance variables were behaving weirdly.  Yes, you were sleeping with her twin sister, so to speak.

Here is another one, this time from Dr. GUI: Am I Losing Memory?

A key reason that the Application object exists in ASP.NET is for compatibility with classic ASP code … consider storing data in static members of the application class rather than in the Application object.

This begs the question “Why limit oneself to 'static members of the application class' instead of just 'static members'?”  That's just a good way to add unnecessary dependencies.

BTW, it's funny how many pure ASP.NET applications are using HttpApplicationState.  Old habits die hard.

Master and Commander

I am a big fan of historic novels and, British naval action stories in particular.  For heart thumping action, you can't get better than them.  Apparently Tim Bray is the same.  Check out his clamoring review of Master and Commander, the movie.  I haven't seen it yet but I am itching to.

Like Tim, I heartily recommend that you read rest of Patrick O'Brian's Aubrey-Maturin series.  You will be better off borrowing the books from your local library because each book cost around $15.  Frankly, I liked C.S. Forester's Hornblower series better.

Alexander Kent's Bolitho series is also not bad you can find cheap paperback editions at used bookstores.  Early volumes of more recently published Dewey Lambdin's Alan Lewrie series is also enjoyable.  If you are more of land fighting fella, Bernad Cornwell's Sharpe series is legendary.  I am still in the middle of collecting that series.

The only problem with these wonderful historic novels is they are expensive.  I must have spent more than a thousand dollars to get Aubrey-Maturin, C.S. Forester, Dorothy Dunnett, etc.  Vivid lingering images are worth it though, far stronger than other types of books including fantasy and SF.

Revisiting C# and Java RegEx Benchmark

Last year, these benchmark results became hot points of contention between Java and .NET developers.  What the results suggested was that Java regular expression engines are significantly faster than .NET's Regex.

I thought it might be fun to port one of the fastest Java regular expression engines to J# and see how it performs compared to .NET's Regex.  I chose the dk.brics.automaton engine because it seemed easiest to port.  It was.  When I ran a straight-forward C# port of regtest.java on the J# version of dk.brics.automaton and compiled singleline Regex, I got these results:

dk.brics.automaton 2303 milliseconds
Regex 2894 milliseconds

I also ran regtest.java on the original dk.brics.automaton and Java's built-in regular expression engine.  Results were:

dk.brics.automaton 511 milliseconds
java.util.regex 1061 milliseconds

While J# version of dk.brics.automaton's performance is muffled by J#, I think Regex's relatively slow performance should not be blamed entirely on its implementation.

IMHO, .NET performance is 'good enough' for server-side use at this time so please don't misinterpret this post as an attempt to pull .NET down in favor of Java.

BTW, I won't be using my port of dk.brics.automaton in production because it's under the GPL curse and it seems to miss some patterns that it should have found.  If you want to give it a try, here it is.  You must have J# to build it.  The project is misnamed because I thought I originally started porting JRexx.  Oh, well.

    NRexx.zip (33.86 KB)

Java is Mature

Java is a mature proven language for non-GUI applications.  What it means is that it does what you expect it to and there is a large body of open source software you can leverage.  Carlos E. Perez's enumeration of Open Source Web Crawlers Written in Java is a good example.

C# and .NET, on the other hand, has a long way to go still and there is no easy to extend IDE like Eclipse for developers to rally around.  Working with .NET at this point is like working in a new town destined to grow, maybe like Chicago was around 1840.  As for my involvement with .NET, I enjoy the rough life.