Showing posts from May, 2009

IMAP protocol and server

I realized that IMAP is a really complex protocol with problems like support for concurrent command processing, aside from the extensive list of commands. So, command parser, session manager and request handler are necessary. For example,

LSUB "#news." "comp.mail.*"

Fortunately , There are some open source projects related with IMAP.

- Apache James, fully featured mail server
- Green Mail, mail server, supports SMTP, POP3, IMAP with SSL
- JIMAP, java based implementation of the IMAP protocol

According to Robert Burrell Donkin which is a member of ASF, "As far as James IMAP goes, the protocol handlers are fine. The Mailbox implementations need more work (but that's on my list for this week).".

The secrets of fast mental arithmetic

The 'Britain´s Got Talent' of south korea, 'Star King' introduced the expert of mental arithmetic. She did quick mental arithmetic to calculate large integer numbers in only a few seconds. For example, 258,785,412,354 + 125,465,871,235 + 954,125,487,965 - 845,123,658,792 * 542,136,587,212 ... = ?

I was very impressed. According to She, "I did calculate them with an imaginary abacus".

OK, The abacus-based mental calculation is the recipe. Generally, we learned to calculate multi-digit numbers from right to left, one digit at a time. It's a carry/serial calculation. But Her (abacus) algorithm is little different from us. It's the shift-up/parallel calculation.

Frobenius norm with Hama

Recently, The Frobenius norm was nicely implemented as below by Samuel, which is the one of Hama committers. The Frobenius norm is submultiplicative and is very useful for linear algebra. This norm is often easier to compute than induced norms.

/** Frobenius Norm Mapper */
public static class MatrixFrobeniusNormMapper extends MapReduceBase implements
MatrixNormMapper {
public void map(IntWritable key, MapWritable value,
OutputCollector output, Reporter reporter)
throws IOException {
double rowSqrtSum = 0;
for (Map.Entry e : value.entrySet()) {
double cellValue = ((DoubleEntry) e.getValue()).getValue();
rowSqrtSum += (cellValue * cellValue);

output.collect(nKey, nValue);

/** Frobenius Norm Combiner */
public static class MatrixFrobeniusNormCombiner extends MapReduceBase
implements MatrixNormReducer {
private double sqrtSum = 0;

public void reduce(IntWr…

Google support RDFa and Microformats

Meeting with the CTO of Sun Japan

I was in a meeting with the CTO of Sun Japan today. He visited me and wanted to know the possibility of Hama deployment into scientific/HPC computing area with Hadoop.

Since it's too early stage, there was not much talk/plan. but I felt sure that it'll really valuable if implemented. It was a delight to talk with him.

Psychologists Are Better Stockmarket Speculators Than Economists

Below report shows that the stock is not so much a science as a gamble. ;)


Shareholders seem to be swayed by the buying pattern of other shareholders much less than has hitherto been assumed. This at least is the conclusion arrived at by economists of the Bank of England and the universities of Heidelberg and Bonn. Together with the corporate consultants McKinsey they scrutinised the share-buying behaviour of about 6,500 persons in an Internet experiment. They found no signs of ‘herd instinct’ during the experiment - on the contrary, some of the test subjects decided against buying those specific shares which had just been bought by so many other players. Psychologists, particularly, mistrusted those shares which they regarded as overvalued. This strategy benefited them enormously: on average they were markedly more successful in their speculation than physicists or mathematicians - or even economists.

On average the psychologi…

The spammer is a potential advertiser?

I have once thought that the spammer is a potential advertiser, fighting with spammers. Basically, they want to advertise on mail infra-. Should we only block them? Is there a way to convert them to advertiser?

Be distressed by excessive work

Commonly I make up my mind easily. I'm not on the horns of a dilemma very often. But, I'm not right now. Lately, I've been considering of going back to school (Or other nice company which could provide me some time for my research) since the lack of time for my open source works / researches and my free time distresses me deeply.

By far, workers in South Korea have the longest work hours among OECD countries. The average South Korean works 2,390 hours each year, according to the OECD. This is over 400 hours longer than the next longest-working country and 34% more hours than the average in the United States.

NHN, corp. is good company, but do you know that NHN, corp. is in Korea? ;(

Movie: The Happening 2008

Today, I watched this movie and personally I think it's not bad.

The film opens in New York. People start to get confused in Central Park, repeating their words, standing still and sometimes walking backwards. We hear a few screams. A woman reading on a bench takes her silver chopstick-style hair pin out of her hair and stabs herself in the neck with it.

The plant's chemical defenses were the culprit. That insight seems based on 'New Study Sheds Light on Plants’ Nighttime Defense'.