<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>success</status>
  <items_returned>10</items_returned>
  <items_available>10</items_available>
  <first_item_position>1</first_item_position>
  <result>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/13642">
      <id>13642</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-12-07T01:25:08Z</created_at>
      <body>When you look at log files for too long you always get headaches and, sometime, surprises. I was surprised by the memory requirements of the simple LINQ query that #Gendarme does on defects. It turns out that ordering on enums is really bad (not tested if this only affects #Mono) but casting the value to an int removes the allocations (good hint ;-). Previous baseline falls to 77291KB (-685KB)</body>
      <tags>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/12463">
      <id>12463</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-23T00:05:15Z</created_at>
      <body>@jbevain approved my Has{x} patch to #Cecil. That will make it possible, once #Gendarme rules are &quot;fixed&quot;, to avoid the creation of (a lot of) empty collections. E.g. Custom attributes on fields are rare (about 2% on #Mono System.Drawing.dll) but because Gendarme &quot;touch&quot; every CustomAttributes properties (not just on fields) all (100%) of them are created.</body>
      <tags>
        <account uri="http://www.ohloh.net/accounts/jbevain">jbevain</account>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/cecil">Cecil</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/12136">
      <id>12136</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-19T04:14:19Z</created_at>
      <body>I started committing some #Gendarme optimizations to HEAD tonight. They will soon be backported to the 2-2 branch. From last weekend profiling work I was able to reduce the memory required to analyze System.Drawing.dll (from #Mono 2.0 profile) from 154207KB (first run) to 127015KB (21st run), a reduction of 26MB (17.6%). Timings soon on my &quot;official&quot; blog.</body>
      <tags>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/11641">
      <id>11641</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-13T12:52:00Z</created_at>
      <body>Late last night I uploaded the first preview (binaries and Win32 installer) for #Gendarme 2.2. Documentation on #Mono wiki has also been updated (and I need to look at automating this step). Benchmarking is next (while waiting for feedback) but I got quite a bit of patch to apply to HEAD first!</body>
      <tags>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/11416">
      <id>11416</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-11T03:52:24Z</created_at>
      <body>#Mono 2-2 branch was made earlier today. Setup is complete and #Gendarme builds and test ok from the branch. I'll be moving my build-n-test activities to Windows and, once ready (the Makefile/MD/VS integration is still untested on Windows), build a preview of the 2.2 win32 installer.</body>
      <tags>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/11199">
      <id>11199</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-07T21:51:51Z</created_at>
      <body>The #Mono 2-2 branch delay disrupted my plans a bit - but it did give me some free evenings to watch more PDC videos. I liked TL51 (Contracts and Pex) quite a bit since they are different yet quite near what tools, like #Gendarme, and libraries, like #Cecil provides. I'm pretty sure you'll see those names mixed again :-)</body>
      <tags>
        <project uri="http://www.ohloh.net/p/cecil">Cecil</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/10752">
      <id>10752</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-02T00:40:15Z</created_at>
      <body>I finally tested CheckParametersNullityInVisibleMethodsRule against #Mono class libraries (mainly System.Security and System.Drawing) and felt confident enough (near zero false positives) to commit it in SVN in time for #Gendarme 2.2. It's likely short-lived because Jesse is actively working on fixing NullDerefRule bugs and false positives - but will give users something useful *right now*.</body>
      <tags>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/10735">
      <id>10735</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-11-01T16:41:27Z</created_at>
      <body>While testing a (unrelated) patch I found a 64bits specific bug in #Mono PrintingServicesUnix that #Gendarme missed. So I extended #Gendarme DoNotCastIntPtrToInt32Rule to cover the cases where Marshal.ReadInt32 (or ReadInt64) is used to read a pointer (i.e. casted back to [U]IntPtr) and renamed the rule to DoNotAssumeIntPtrSizeRule so it more accurately named with what it (now) does.</body>
      <tags>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/10159">
      <id>10159</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-10-25T04:11:37Z</created_at>
      <body>Time before the next #Mono branch is getting short (November 3rd) so I started cleaning up the little bits I have lying around in #Gendarme (and across 3 computers). That includes smaller rules like PreferEventsOverMethodsRule (committed tonight) and fixing defects found with rules still in development (and hopefully completed before the branch).</body>
      <tags>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
      </tags>
    </message>
    <message uri="http://www.ohloh.net/accounts/poupou/messages/9030">
      <id>9030</id>
      <account uri="http://www.ohloh.net/accounts/poupou">poupou</account>
      <avatar uri="http://www.gravatar.com/avatar.php?gravatar_id=076ee601019b1f00b33ae3d1a7786528"/>
      <created_at>2008-10-11T16:23:50Z</created_at>
      <body>Finally committed the two rules I talked about two weeks ago: #Gendarme.Rules.Correctness
ReviewCastOnIntegerDivisionRule and ReviewCastOnIntegerMultiplicationRule. Both rules checks on cast around multiplication and division for common mistakes that returns unexpected values. They have been used to find a few bugs inside #Mono class libraries.</body>
      <tags>
        <project uri="http://www.ohloh.net/p/mono">Mono</project>
        <project uri="http://www.ohloh.net/p/gendarme">Gendarme</project>
      </tags>
    </message>
  </result>
</response>
