Monday, May 31, 2004

As always, I like experimental child psychology

I can't pass by this kind of articles :)

In the latest experiments, the youngsters were initially shown a full- scale chair and slide, plus a toy car large enough for them to fit into and "drive" around, DeLoache says.

Next, the children were briefly removed from the room, during which time the objects were replaced with much smaller replicas. For example, the 21-inch- high chair was replaced with a 3-inch-high toy chair.

When the kids returned to the room, some began playing with the smaller objects on their own, as if nothing had changed. Later, several analysts scrutinized the videotapes for instances in which the kids committed scale errors.

Tuesday, May 25, 2004

Microsoft Office Information bridge Framework

As seen in InfoWorld, Microsoft beta releases a trend setting Framework that will allows the integration of web service powered features in the Office product line.

In the near future we should see companies offering free and pay-per-use services requiring no installation that users can instantly enable and use.

Just imagine a free anti-spam in Outlook, an automatic keyword-index creator in Word for 10 cents per documents, etc...

Thursday, May 20, 2004

What would you do for a gmail account?

gMail (new google web mail) accounts were sold over eBay for up to a hundred dollars. Now, a site self proclame itself as the gMail account broker. If you want an account, make your offer...

Wednesday, May 19, 2004


Cool repository of specialized XSLT libaries. You'll find extensions for set operations, math, regular expressions, ...

Friday, May 14, 2004

Loop in your Microsoft Outlook Inbox from C#

MS Outlook COM offers great development opportunities.
Here's how you can loop through your emails in the "inbox" folder:

First, be sure to add the "Microsoft Outlook 10.0" reference to your project.

Then, try this code snippet:

private void Spy()

Outlook.Application outlookApp;
Outlook.NameSpace outlookNamespace;

outlookApp = new Outlook.ApplicationClass();
outlookNamespace = outlookApp.GetNamespace("MAPI");

Outlook.MAPIFolder mapiFolder = outlookNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

Outlook.Items oItems = mapiFolder.Items;
Outlook.MailItem mailItem = (Outlook.MailItem)oItems.GetFirst();
while (mailItem != null)
string strEmailContent = mailItem.Body;
mailItem = (Outlook.MailItem)oItems.GetNext();

Yahoo! against McCain.

Who will sue who?

Here's the potential trademark violation:



Tuesday, May 11, 2004

Gajit - Java Genetic Algorithm Toolkit

Sometimes (often), simpler is better.
Gajit is a quite small and simple Genetic Algorithm Toolkit for Java.
Here's a fast intro (I had to understand some non-written conventions before to start):

  • An individual is always a bitvector (ex.: 0101011110101011111)

  • The values you want to tune (genes) are represented by a given amount of bits (ex.: 8). The number of bits to use depend on the precision of your paramaters.

  • To evaluate the fitness of an individual, you can convert the genes using views on the bitvector.

Here's an example:

static final int SIZEGENES = 8;

// Let's say we only have 2 genes to tune.

// First view is for a double from 1 to 5
View vista1 = new FixView( SIZEGENES, 1.0, 4.0 );

// Second view is for a double from 0.00 to 0.03
View vista2 = new FixView( SIZEGENES, 0.0, 0.03 );

// When you are willing to get values out of a bitvector, you use the getGene() function.
((Double) vista1.getGene(anIndividual,0)).doubleValue()
((Double) vista2.getGene(anIndividual,1)).doubleValue()

The first call get the first 8 bits of the individual and convert it in a fouble from 1 to 5.
The second call get the next 8 bits of the individual and convert it in a fouble from 0.0 to 0.03.

The remaining of Gajit code is quite similar to any Genetic Algorithm.

Google now has a Blog..

Mine is better though.

Thursday, May 06, 2004

Building a Spanish Part-of-Speech Tagger for Java in 5 Easy Steps...

1) Get qTag, a portable POS Tagger by Oliver Mason.

2) Get the Spanish Corpus from CONLL 2002 (esp.train.gz)

3) Make the following modifications to the corpus (given as regular expressions):

  • Replace " [^ ]+$" by nothing (the second tag at the end of each line)

  • Replace " ^\n" by nothing (the empty lines)

  • Remove those long lines composed of equal signs "=============..."

4) Run qTag RessourceCreator: java qtag.ResourceCreator my-input-corpus basename-of-outpu

5) Enjoy!

Monday, May 03, 2004

Tongue attack from the tall red head.

1. Get a book at random
2. Open the book page 23
3. Find the fifth sentence
4. Write down the fifth sentence in your blog along with these instructions.

A random book in English (Godel, Escher, Back, an Eternal Golden Braid.):
p.23, fifth sentence: "Another related worry was that the paradoxes of logic, such as the Epimenides paradox, might turn out to be internal to mathematic, and thereby cast in doubt all of mathematics."

A random book in French (L'Orange Mécanique):
p.23, fifth sentence: "Tout de suite, il a reluché ce qui se préparait et il a filé dans l'arrière boutique, où il y avait le téléphone et sans doute son poushka bien huilé avec six pellos salingues dans le chargeur."