Friday 25 July 2008

Ballmer gets that search thing wrong...

Microsoft are rather obviously obsessed with getting their search revenues up. That's no surprise - pretty much everyone knows about their [twice] failed Yahoo bid. Then there is their cashback offer, and now the announcement of a plan to provide search facilities (and therefore advertising revenue) on Facebook. It makes sense. Search is big business.

It seems, however, that Steve Ballmer has forgotten why people actually use search engines. Apparently he thinks that:

"advertisers don’t want to sell on Live Search unless there’s more people using the site, and people don’t want to search on the site unless there are more relevant ads."
Source: CNN
Oh dear.

Surely Ballmer cannot believe that Google's near domination of the global search market was down to relevant ads? Can he? That would make him slightly crazy...

Tuesday 15 July 2008

OutOfMemoryError while using mxmlc and ant

My first blog post. Very practical too...

Basically, I'm working on a fancy Adobe AIR app right now. As part of that, we are implementing an automated build process using CruiseControl and such. I'm using ant, and the flexTasks provided by Adobe. All was going pretty well, until this happened:
[mxmlc] Loading configuration file C:\Program Files\Adobe\Flex3SDK\frameworks\air-config.xml
[mxmlc] Error: null
[mxmlc] java.lang.OutOfMemoryError

After a bit of googling, there was no obvious solution. I did see mentions of setting the ANT_OPTS environment variable. So this is what I did (I'm running Windows Server 2003 btw...):

  1. Hit Windows-Break to open the "System Properties" dialog.
  2. Go to the advanced tab.
  3. Click "environment variables"
  4. In the System variables section, click New.
  5. Enter the variable name as ANT_OPTS, and the value as -Xmx512m.
  6. Click "OK".
If you were using a command prompt, you'll need to close it down and re-open it to use the new settings. Try running your ant script again, and your error should be gone.

You can find a much nicer visualisation of that process here. If you are on a UNIX box, then you'll need to:
set ANT_OPTS=-Xmx512M; export ANT_OPTS
from the shell.

If you want to know more, you should read about the Java virtual machine's memory tuning options. I couldn't find any documentation about the ANT_OPTS environment variable.