Firefox memory footprint

November 10, 2011

Firefox is releasing one new version after the other. And each new version, Mozilla claims to have enhanced memory usage to reduce the amount of resource required to load each page. Is that a valid claim?

As a curious computer engineer, I decided to install several legacy Firefox versions and compare the amount of memory required to load two greedy pages: www.gmail.com and www.spiegel.de.

Here are the results.

One observes that at Firefox 3.6, reading emails from gmail suddenly doubled memory usage. And from Firefox 4.0 on, it requires the triple of memory. I suspect that gmail also loads more content on newer versions since Firefox enhanced javascript support.

But a similar behavior also happened for www.spiegel.de news journal, although not as intense as for gmail: memory has grown nearly 3 times!

Although the results are no scientific measures, I believe that they show the greedy memory consumption tendencies from Firefox, and that probably Mozilla was not really successful to “enhance memory usage”.


ILOG OPL syntax highlighting for gEdit

January 17, 2011

This article offers the syntax highlighting definition file for gEdit 2.16.
Read the rest of this entry »


ILOG OPL cannot distinguish apples from oranges

January 10, 2011

I used to think about OPL that promotes obligatorily mathematical rigor as one would expect from a mathematical modeling language. I was misunderstood: it seems that OPL deludes itself when comparing apples and oranges. OPL still requires enhancements that address serious idiosyncrasies how the model is handled.

Read the rest of this entry »


Eclipse subversive plugins frustrate me every day…

November 25, 2010

Please apologize, but I really need to expose my anger to the subversive plugins. The statement on Subversive – SVN Team Provider that “At the same time project is stable and had a long history on the previous location at the the Polarion.com” is really a very bad joke.
Read the rest of this entry »


How to prevent EOFException when socket is closed

November 9, 2010

When one needs some very simple java client that reads some data from socket, then it might be a bit annoying to effectively detect that there is no more data to read, aka “End of File”. Here I show an approach to solve some issues to avoid spurious IOExceptions.
Read the rest of this entry »


About the Transcend SDHC Class 10 8GB memory card

October 20, 2010

The “Class 10” label on Transcend card suggest that is should work 2½ as fast as the my plain 3 years old Kingston SDHC Class 4 8GB memory card. Indeed, I was disappointed to realize the opposite: Transcend class 10 was on average about twice as slow as Kingstone class 4.

Read the rest of this entry »


On fixing CPLEX variable names generated by OPL

August 19, 2010

You wrote your OPL model for your important mathematical programming problem. But the result looks weird: the model just cannot produce such solution. The most desperate approach consists in diving though the mathematical programming model generated by OPL, checking each (in)equation one by one.

Here I describe some issues that happened while using the OPL Java interface to create the CPLEX model and to print out the mathematical programming model as a .lp file. And after days of frustration with this .lp printout, I found myself writing my own Java class that renames all CPLEX variables generated by OPL…

Read the rest of this entry »


Java: Class.forName() to retrieve inner class

August 19, 2010

Sounds trivial, but was not obvious because Eclipse IDE mislead me: How do I get a reference to a inner class by calling Class.forName() ?

package a.b.c;
public class Outer {
   ...
   public static class Inner {
      ...
   }
   ...
}

I first tried to call Class.forName() passing as parameter the fully qualified name generated by Eclipse:

Class innerClass = Class.forName("a.b.c.Outer.Inner");

But that was wrong! After wondering for some time, I found the (obvious solution):

Class innerClass = Class.forName("a.b.c.Outer$Inner");

Looks like as Eclipse “fully qualified” name is not exactly the same fully qualified name that the Java compiler uses to identify inner classes.


Serializing Hibernate objects as XML using XStream

July 16, 2010

People have been looking for  serializing Hibernate as XML using XStream, a task that is not straightforward.

I designed a solution that I would like to share with the open source community, called xstream-for-pojo.

Read the rest of this entry »


OPL and Java: loading dynamic Linux libraries

July 12, 2010

When calling IBM ILOG OPL (Optimization Programming Language) from a Java application running on Linux, one will face some issues regarding loading dynamic OPL libraries. Typical error messages look like:

Native code library failed to load: ensure the appropriate library (oplXXX.dll/.so) is in your path.

java.lang.UnsatisfiedLinkError: no opl63 in java.library.path
java.lang.UnsatisfiedLinkError: no opl_lang_wrap_cpp in java.library.path
java.lang.UnsatisfiedLinkError: no cp_wrap_cpp_java63 in java.library.path
java.lang.UnsatisfiedLinkError: no concert_wrap_cpp_java63 in java.library.path

This article explains my considerations and some approaches how to fix it.

Read the rest of this entry »


Follow

Get every new post delivered to your Inbox.