<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planet Bongo</title>
	<link rel="self" href="http://planet.bongo-project.org/atom.xml"/>
	<link href="http://planet.bongo-project.org/"/>
	<id>http://planet.bongo-project.org/atom.xml</id>
	<updated>2009-07-03T02:50:16+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry xml:lang="en">
		<title type="html">memmgr</title>
		<link href="http://www.feltonline.com/p_c/blog/?p=31"/>
		<id>http://www.feltonline.com/p_c/blog/?p=31</id>
		<updated>2009-06-19T02:03:33+00:00</updated>
		<content type="html">&lt;p&gt;ok, ok.  i get the hint.  i&amp;#8217;ll blog.  everyone in the channel has been clammoring for more information and i&amp;#8217;m terrible at sharing it.  the startling lack of posts is not because there isn&amp;#8217;t anything going on, but because i&amp;#8217;m such a crappy writer, which you either already know or will soon find out.&lt;/p&gt;
&lt;p&gt;a lot has changed since the last blog post.  some of it i&amp;#8217;m sure you are already aware of, but some you may not be.  the biggest note regarding the trunk is that we&amp;#8217;re in testing on the .5 release now.  i took time to migrate my personal domain off hula and onto bongo which has been great.  i can now find and fix the bugs that we were hitting on hula.  there are still some hard to find bugs, but i&amp;#8217;m betting that the other big news will help find it.&lt;/p&gt;
&lt;p&gt;now on to the most amazing stuff&amp;#8230;.  the new memmgr branch.  this has been a major blessing for the bongo project.  back in the day, Novell engineers decided to write a custom memory manager for the product.  i think it was back around the NetMail 3 days.  i don&amp;#8217;t recall it being there with NIMS, but i could be wrong.  anyhow, it apparently  greatly increased the speed of the product on Netware.  it stuck around and we got the scrubbed version via the hula project.  i recall in my programming classes in college writing my own memory manager and the benefits of them, however it does make some things a bit difficult.  finding memory leaks and overwrites can be a bear.  tools like valgrind had a very hard time with the memory allocation system as they would see one massive alloc and not a bunch of smaller ones.&lt;/p&gt;
&lt;p&gt;i don&amp;#8217;t know if there will be any sort of speed improvements over the custom memory allocator, however my gut says not really (note here that i&amp;#8217;m no expert on memory subsystems&amp;#8230;).  the amazing benefit to us is that valgrind can sensibly operate with our binaries now.  i just spent time debugging bongo-config on the branch and i&amp;#8217;m surprised we even worked before given how things were coded.  i was freeing stuff then using it and valgrind was useless to find it as the custom manager didn&amp;#8217;t return the memory to the host, but kept it for pooled use later.  this will be an incredible addition to our codebase.&lt;/p&gt;
&lt;p&gt;another major change was cmake.  alex wrote a bit about the make system on his &lt;a href=&quot;http://www.alexhudson.com/blog/2009/06/16/a-few-words-on-cmake/&quot; target=&quot;_blank&quot;&gt;blog&lt;/a&gt;, but i&amp;#8217;d like to throw my two cents in.  the new system is simply amazing and quiet.  don&amp;#8217;t get me wrong, there is nothing i like more than watching gcc compile endless .c files on a friday night (which is why i use gentoo), but this is awesome.  percent complete and all.  along with that is the quick installs and &amp;#8220;make distclean&amp;#8221; being as simple as &amp;#8220;rm -fr {SRC}/build&amp;#8221;.&lt;/p&gt;
&lt;p&gt;the last major change, so far, with the branch is logging.  we got rid of log4c and now just have a simple syslog interface.  this will be swapped with something a bit more modular and configurable in the near future, but for now it works great.  just be ready for spam in your syslogs (which is another of task on my todo &amp;#8212; fixing the log levels).&lt;/p&gt;
&lt;p&gt;overall .5 is incredibly stable on my production server, and the branch is now running on my test server.  the store is running stable against my 1.4GB 151,400 (and growing) email mailbox.  expect leak fixes and other improvements over the short term!&lt;/p&gt;
&lt;p&gt;i did have one idea the other day based off a conversation with Chris at my work.  an agent that can arbitrarily add, or change, header lines.  this is the lowest priority task on my list as its use would be rare, but it might be nice to have.  other tasks on the plate are the re-write of queue which we&amp;#8217;ve been talking about for a while now.  we have some good ideas on this.  rewriting smtpd which apart from queue is the last major section of truly legacy code.  and of course we can&amp;#8217;t forget things like bongo-manager, bongo-queuetool, and my favorite, snmp.&lt;/p&gt;
&lt;p&gt;there are a lot of tasks there, some required, some just dreams, but all i think good ones.  this is starting to get fun!&lt;/p&gt;</content>
		<author>
			<name>Pat Felt</name>
			<uri>http://www.feltonline.com/p_c/blog</uri>
		</author>
		<source>
			<title type="html">Patrick Felt</title>
			<subtitle type="html">Mainly Bongo</subtitle>
			<link rel="self" href="http://166.70.14.7/p_c/blog/?feed=rss2"/>
			<id>http://166.70.14.7/p_c/blog/?feed=rss2</id>
			<updated>2009-06-19T02:40:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">A few words on CMake&amp;#8230;</title>
		<link href="http://www.alexhudson.com/blog/2009/06/16/a-few-words-on-cmake/"/>
		<id>http://www.alexhudson.com/blog/?p=177</id>
		<updated>2009-06-16T22:47:26+00:00</updated>
		<content type="html">&lt;p&gt;I did promise Lance that I would blog more on Bongo, and I&amp;#8217;m going to try to stick to a post a week at least - however, this first one will only tangentially be about Bongo.&lt;/p&gt;
&lt;p&gt;Since the project was initially released, the autotools build system was what you needed to create Bongo. There are a variety of benefits to using autotools, and it&amp;#8217;s an extremely well-tested and mature system. However, it&amp;#8217;s also relatively difficult to understand and not particularly quick. Over time we accreted more and more things into our build which no-one understood fully and that would occasionally blow up in our face.&lt;/p&gt;
&lt;p&gt;Now, a little while ago I started a new branch of Bongo, called &amp;#8220;memmgr-glib&amp;#8221;. This was mainly to replace the memory allocator - maybe Pat can blog a bit more about this, but the short story is that this change has highlighted a variety of bugs in Bongo. The branch version of Bongo therefore seems extremely unstable - actually, it&amp;#8217;s just a lot less bug-tolerant, which is overall a good thing - but we used that as a cue to make some other changes.&lt;/p&gt;
&lt;p&gt;One of which was a switch from autotools to CMake as our build system. Just to give one really obvious stat:&lt;/p&gt;
&lt;table border=&quot;0&quot; width=&quot;519&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;autotools&lt;/th&gt;
&lt;th&gt;cmake&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Configure&lt;/th&gt;
&lt;td&gt;52 seconds&lt;/td&gt;
&lt;td&gt;3 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Initial compile&lt;/th&gt;
&lt;td&gt;47 seconds&lt;/td&gt;
&lt;td&gt;21 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Install&lt;/th&gt;
&lt;td&gt;1m 15 seconds(!)&lt;/td&gt;
&lt;td&gt;2 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Clearly, there is a big difference in each category: it must be said that the build systems aren&amp;#8217;t doing quite the same things at this point, and I haven&amp;#8217;t done these tests properly as benchmarks, but fundamentally the times are extremely different. I expect eventually that the compile time will even out - the difference will become minimal, and is already of the same order. Configure and install are clearly quicker though, and there aren&amp;#8217;t any amazing short-cuts being taken on the cmake side.&lt;/p&gt;
&lt;p&gt;The huge difference this makes for developers is the compile-test cycle. A re-compile with either system is basically pretty quick - something like a few seconds each. However, &amp;#8220;make install&amp;#8221; with both systems is quite different. To do a proper update, it&amp;#8217;s much quicker with cmake, which means the testing cycle is really quick.&lt;/p&gt;
&lt;p&gt;One other thing that is also big, for me at least: with CMake, we can finally do out-of-source builds. It&amp;#8217;s possible with autotools, but our system never quite got it right. With CMake, you can check out Bongo from svn and then do something like &amp;#8216;mkdir build/; cd build/; cmake ../; make&amp;#8217;. The source we checked out isn&amp;#8217;t touched, and nothing gets built in the source tree - it all happens in another directory. Not only does it feel cleaner, but it means that you&amp;#8217;re not likely to commit any files which shouldn&amp;#8217;t be there and if something goes wrong you can just nuke the build directory and start again easily.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve yet to teach the bongo-build bot on IRC about this new system, but I expect that it will make building there a lot quicker too - mainly because it goes through the cycle above more than once (it configures twice, for example). It will be interesting to see what a difference it makes!&lt;/p&gt;</content>
		<author>
			<name>Alex</name>
			<uri>http://www.alexhudson.com/blog</uri>
		</author>
		<source>
			<title type="html">Alex's Blog » bongo</title>
			<subtitle type="html">Just another WordPress weblog</subtitle>
			<link rel="self" href="http://www.alexhudson.com/blog/category/bongo/feed/atom/"/>
			<id>http://www.alexhudson.com/blog/feed/atom/</id>
			<updated>2009-06-23T22:00:08+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Bongo Images and the 0.5 release</title>
		<link href="http://www.haigmail.com/blog/2009/06/15/bongo-images-and-the-05-release/"/>
		<id>http://www.haigmail.com/blog/?p=107</id>
		<updated>2009-06-15T23:19:44+00:00</updated>
		<content type="html">&lt;h1 class=&quot;western&quot;&gt;Bongo Images and the 0.5 release&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;I have been working on the images for the 0.5 release of Bongo and I have now completed them.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;They can be found here &lt;a target=&quot;_blank&quot; href=&quot;http://www.rpath.org/rbuilder/project/bongo/latestRelease&quot;&gt;http://www.rpath.org/rbuilder/project/bongo/latestRelease&lt;/a&gt; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;There is a change however in how we will be implementing the images from now on.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I have decided that to make it easier on you guys and also to limit the number of hours I have to work on them I will create a version 1.0 of the images which I will not change for the foreseeable future.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;What will now happen is that we will just update the packages that apply to Bongo and release them for consumption.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I have also decided that I will start using the built in features of the rPath rbuilder system to start developing changes or updates to the bongo packages in the -devel branch and then when I am happy that they are ready for general consumption I will promote them to -qa which is an image I will be running permanently I will make this image available to anyone who would want to help test the bleeding edge stuff from Bongo.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Once the -qa has been completed I will promote to the release branch which will be &lt;a target=&quot;_blank&quot; href=&quot;mailto:bongo.rpath.org@rpl&quot;&gt;bongo.rpath.org@rpl&lt;/a&gt;:bongo-1.0. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This will automatically make the changes available to you guys and so we will become a rolling update project. So you will never have to re-install your server again unless you have to upgrade your hardware.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I hope you find it easier to use. We are now well on our way to making Bongo a great mail server.&lt;/em&gt;&lt;/p&gt;</content>
		<author>
			<name>Lance Haig</name>
			<uri>http://www.haigmail.com/blog</uri>
		</author>
		<source>
			<title type="html">General Ramblings » Bongo</title>
			<subtitle type="html">Lance's Random Ramblings</subtitle>
			<link rel="self" href="http://www.haigmail.com/blog/category/bongo/feed/"/>
			<id>http://www.haigmail.com/blog/category/bongo/feed/</id>
			<updated>2009-06-19T14:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Bongo Images for 0.4.0 have been fixed</title>
		<link href="http://www.haigmail.com/blog/2009/06/10/bongo-images-for-040-have-been-fixed/"/>
		<id>http://www.haigmail.com/blog/?p=103</id>
		<updated>2009-06-10T19:14:33+00:00</updated>
		<content type="html">&lt;p&gt;I have been able to rework the Bongo images to make them work.&lt;/p&gt;
&lt;p&gt;I would appreciate any testing that could be done as I do not have all the vm technologies to test.&lt;/p&gt;
&lt;p&gt;So I hope you have fun .&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.rpath.org/rbuilder/project/bongo/latestRelease&quot;&gt;Here is a link to the downloads&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Lance Haig</name>
			<uri>http://www.haigmail.com/blog</uri>
		</author>
		<source>
			<title type="html">General Ramblings » Bongo</title>
			<subtitle type="html">Lance's Random Ramblings</subtitle>
			<link rel="self" href="http://www.haigmail.com/blog/category/bongo/feed/"/>
			<id>http://www.haigmail.com/blog/category/bongo/feed/</id>
			<updated>2009-06-19T14:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Bongo Images for 0.4.0 Broken</title>
		<link href="http://www.haigmail.com/blog/2009/06/03/bongo-images-for-040-broken/"/>
		<id>http://www.haigmail.com/blog/?p=101</id>
		<updated>2009-06-03T19:20:00+00:00</updated>
		<content type="html">&lt;p&gt;Due to a server error where the images get built an error has crept in that make the images useless.&lt;/p&gt;
&lt;p&gt;This error has been prevalent for some time and so it has caused the images to break.&lt;/p&gt;
&lt;p&gt;I have therefore pulled the images and will try to fix the problem as soon as I can.&lt;/p&gt;
&lt;p&gt;I will post again when things get better&lt;/p&gt;</content>
		<author>
			<name>Lance Haig</name>
			<uri>http://www.haigmail.com/blog</uri>
		</author>
		<source>
			<title type="html">General Ramblings » Bongo</title>
			<subtitle type="html">Lance's Random Ramblings</subtitle>
			<link rel="self" href="http://www.haigmail.com/blog/category/bongo/feed/"/>
			<id>http://www.haigmail.com/blog/category/bongo/feed/</id>
			<updated>2009-06-19T14:30:04+00:00</updated>
		</source>
	</entry>

</feed>
