<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dsd's weblog &#187; Beagle</title>
	<atom:link href="http://www.reactivated.net/weblog/archives/category/beagle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.reactivated.net/weblog</link>
	<description>they got a skin and they put me in</description>
	<lastBuildDate>Tue, 01 Nov 2011 23:50:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Beagle 0.1.2</title>
		<link>http://www.reactivated.net/weblog/archives/2005/11/beagle-012/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/11/beagle-012/#comments</comments>
		<pubDate>Mon, 14 Nov 2005 17:44:02 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=69</guid>
		<description><![CDATA[Beagle 0.1.2 was released on Friday and has just been added to Portage. Highlights this time around include a fair reduction in memory consumption, various fixes and optimizations, and the ability to search for matches in a certain date range. We now require Mono 1.1.10, so the issue where the mono-beagled process would hang at [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.reactivated.net/weblog-content/20051027beagle.png" align="right" /><a href="http://www.beagle-project.org">Beagle</a> 0.1.2 was released on Friday and has just been added to Portage.</p>
<p>Highlights this time around include a fair reduction in memory consumption, various fixes and optimizations, and the ability to search for matches in a certain date range.</p>
<p>We now require Mono 1.1.10, so the issue where the mono-beagled process would hang at random times is gone. </p>
<p>Users of the firefox plugin will should reinstall the plugin, as it has been improved to use vastly fewer resources (we don&#8217;t start a new process every time you visit a webpage any more!). </p>
<p>Unfortunately indexing of word-files has been temporarily dropped in the Gentoo package, until <a href="http://bugs.gentoo.org/111228">gsf-sharp gets added to portage</a>. This will hopefully happen soon.</p>
<p>For more info, see the <a href="http://mail.gnome.org/archives/dashboard-hackers/2005-November/msg00016.html">release notes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/11/beagle-012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beagle finally available in Portage</title>
		<link>http://www.reactivated.net/weblog/archives/2005/10/beagle-finally-available-in-portage/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/10/beagle-finally-available-in-portage/#comments</comments>
		<pubDate>Thu, 27 Oct 2005 10:08:17 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=64</guid>
		<description><![CDATA[Beagle is now available in Gentoo&#8217;s package tree as app-misc/beagle. Installation instructions are here. If you haven&#8217;t taken already beagle for a walk, now would be a good time to do so!]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.reactivated.net/weblog-content/20051027beagle.png' align="right" /></p>
<p><a href="http://www.beagle-project.org">Beagle</a> is now available in Gentoo&#8217;s package tree as <a href="http://packages.gentoo.org/packages/?category=app-misc;name=beagle">app-misc/beagle</a>.</p>
<p>Installation instructions are <a href="http://www.beagle-project.org/Gentoo_Installation">here</a>. If you haven&#8217;t taken already beagle for a walk, now would be a good time to do so!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/10/beagle-finally-available-in-portage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beagle data storage: Lucene 1.9 and SQLite 3</title>
		<link>http://www.reactivated.net/weblog/archives/2005/10/beagle-data-storage-lucene-19-and-sqlite-3/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/10/beagle-data-storage-lucene-19-and-sqlite-3/#comments</comments>
		<pubDate>Fri, 21 Oct 2005 10:55:02 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=62</guid>
		<description><![CDATA[Beagle sure has come a long way in terms of maturity over the last few months. I&#8217;ve been getting involved with Beagle&#8217;s interaction with dotLucene which is the C# port of Apache Lucene &#8211; a very powerful text search architecture. Beagle stores text content of indexed files within Lucene &#8216;databases&#8217; and uses Lucene&#8217;s impressive search [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.beagle-project.org/Main_Page">Beagle</a> sure has come a long way in terms of maturity over the last few months.</p>
<p>I&#8217;ve been getting involved with Beagle&#8217;s interaction with <a href="http://www.dotlucene.net">dotLucene</a> which is the C# port of <a href="http://www.lucene.net">Apache Lucene</a> &#8211; a very powerful text search architecture. Beagle stores text content of indexed files within Lucene &#8216;databases&#8217; and uses Lucene&#8217;s impressive search features to query on behalf of the user.</p>
<p>We previously used dotLucene 1.4.3 within Beagle, but I recently upgraded us to 1.9 RC1. Beagle is mostly unaffected by the changes, but there are some bug fixes and optimizations included. Perhaps the biggest win was the result of my extensive testing to make sure the upgrade didn&#8217;t break anything &#8211; I did identify and fix two bugs, and they were both also present in the 1.4 code.</p>
<p>The first bug was a file descriptor leak in a common code path (inside Beagle code), and the other, a fairly significant locking bug which was causing the locking often to not be having any effect at all. This explains some of the strange behaviour that has cropped up time to time in the past which we&#8217;ve never been able to pinpoint.</p>
<p>I also looked at some traces through the codepaths. I noticed that dotLucene was dealing with throwing and catching exceptions a hell of a lot &#8211; hundreds of exceptions being dealt with while indexing a small range of files. dotLucene was using exception catching where simple if/else combinations would work just fine. Exception handling is expensive as the runtime must jump through hoops keeping track of where to jump to if a certain type of exception occurs, so by greatly reducing the amount of exception handling that takes place, we have a nice small optimization in place.</p>
<p>After landing dotLucene 1.9, I&#8217;ve now turned some attention to another aspect of Beagle&#8217;s data storage mechanism. Beagle uses <a href="http://www.sqlite.org/">SQLite</a> to store file attributes when extended attributes are not available, and for its file text cache.</p>
<p>Currently, Beagle only uses SQLite 2.x. Attempting to &#8216;port&#8217; it to SQLite 3 revealed a problem in our SQLite interaction. You must always query a SQLite database <a href="http://www.mail-archive.com/sqlite-users@sqlite.org/msg09985.html">from the same thread that the connection was originally established</a>. Beagle is multi-threaded and we are using the same connection over multiple threads, which is (apparently) unsafe, and SQLite 3 explicitly checks this and returns error if you go beyond the original thread.</p>
<p>This creates a non-trivial problem to solve, and is a poor design decision from the SQLite developers. We&#8217;re going to stick with SQLite 2.x-only, as it seems to work just fine even despite sharing the connection over our thread pool. SQLite 3 wouldn&#8217;t bring any major benefits to us, and we are unable to use it due to its new explicit thread checking restriction. Sigh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/10/beagle-data-storage-lucene-19-and-sqlite-3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>various stuffs</title>
		<link>http://www.reactivated.net/weblog/archives/2005/09/various-stuffs/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/09/various-stuffs/#comments</comments>
		<pubDate>Sun, 18 Sep 2005 12:20:14 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Fingerprinting]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=60</guid>
		<description><![CDATA[2.6.13 is almost ready to go stable in Gentoo, especially now that the evil AMD64 SMP bug has been solved (this also affected the last few kernel releases). Beagle 0.1.0 is out, the result of much hacking from all directions over the summer. The release announcement pretty much says it all. On a sidenote this [...]]]></description>
			<content:encoded><![CDATA[<p>2.6.13 is almost ready to go stable in Gentoo, especially now that the <a href="http://bugzilla.kernel.org/show_bug.cgi?id=4851">evil AMD64 SMP bug</a> has been solved (this also affected the last few kernel releases).</p>
<p><a href="http://www.beagle-project.org/Main_Page">Beagle 0.1.0</a> is out, the result of much hacking from all directions over the summer.  The <a href="http://mail.gnome.org/archives/dashboard-hackers/2005-September/msg00040.html">release announcement</a> pretty much says it all. On a sidenote this will be available in Gentoo&#8217;s package tree sometime soon.</p>
<p><a href="http://alauda.sourceforge.net/wikka.php?wakka=HomePage">Alauda driver</a> is pretty much finished &#8211; reading, writing, hotswapping &#8211; to both XD and SmartMedia cards, even simultaneously, on 2 devices at the same time. The only problem right now is that a tester has reported reading of 8mb smartmedia does not work &#8211; this is difficult to track down as I do not own any cards this small, and the address space is different on this media (but the driver is written so that this <em>should</em> work&#8230;)</p>
<p>I&#8217;ve been donated a <a href="http://www.microsoft.com/hardware/mouseandkeyboard/productdetails.aspx?pid=034">MS keyboard with fingerprint reader</a> with the task of getting the fingerprint reader working on Linux. There is a major complication here though, the device appears to simply send an image of the fingerprint to the host computer, but the I think the image is encrypted. Can&#8217;t be an impossible problem to solve, right?</p>
<p>Regarding the spam-attacks on the <a href="http://planet.gentoo.org/developers">Gentoo hosted weblogs</a>, I can globally remove and blacklist spam (based on keyword or URL) very easily so please just report it to me. If anyone knows of good ways to automatically combat spam in <a href="http://www.b2evolution.net">b2evolution</a> or feels like hacking something up then please let me know. I&#8217;m not too fond of the &#8220;type the letters from this image&#8221; schemes, but something like an additional confirmation screen (where the user just has to click a button) if the user included 3 or more URL&#8217;s in the same comment would probably confuse the spambots enough to quieten things down.</p>
<p><strong>Update:</strong> Missed this earlier, but it looks like <a href="http://b2evolution.net/news/2005/09/15/b2evolution_0_9_1_dawn_released">the new b2evo release</a> has improved antispam capabilities. Will see how this turns out&#8230;</p>
<p>I&#8217;ll be offline for a while as of Monday, moving back up to Manchester into a new house to start my 2nd year of university.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/09/various-stuffs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>entagged-sharp in Beagle</title>
		<link>http://www.reactivated.net/weblog/archives/2005/08/entagged-sharp-in-beagle/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/08/entagged-sharp-in-beagle/#comments</comments>
		<pubDate>Tue, 30 Aug 2005 15:28:55 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=58</guid>
		<description><![CDATA[I&#8217;ve recently been hacking on entagged-sharp, a C# library for extracting tags from audio files. This is used in Banshee, Muine, and probably some other projects too. It provides a nice simplistic interface for extracting tags, e.g.: AudioFileWrapper afw = new AudioFileWrapper("/path/to/audio.file"); Console.WriteLine("{0} - {1}", afw.Artist, afw.Title); &#8230;and this will &#8220;just work&#8221; for all of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently been hacking on <a href="http://svn.myrealbox.com/viewcvs/trunk/entagged-sharp/">entagged-sharp</a>, a C# library for extracting tags from audio files. This is used in <a href="http://banshee-project.org/index.php/Main_Page">Banshee</a>, <a href="http://muine.gooeylinux.org/">Muine</a>, and probably some other projects too.</p>
<p>It provides a nice simplistic interface for extracting tags, e.g.:</p>
<blockquote><p><code>AudioFileWrapper afw = new AudioFileWrapper("/path/to/audio.file");<br />
Console.WriteLine("{0} - {1}", afw.Artist, afw.Title);</code></p></blockquote>
<p>&#8230;and this will &#8220;just work&#8221; for all of the audio file formats that are supported.</p>
<p>I worked on extending the AudioFileWrapper interface, reducing internal abstraction, MIME support, unit tests, bug fixing, and adding Amiga module audio file support. ASF/WMA tag filtering is coming soon.</p>
<p>entagged-sharp has now been imported into Beagle CVS, replacing the filtering code we had previously. This pretty much closed all the audio-filtering bugs that we had, and added support for more formats (m4a, m4p, xm, sm, it, mod). Hopefully nothing broke at the same time :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/08/entagged-sharp-in-beagle/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Extended Attribute Mono bindings, now for FreeBSD and Linux</title>
		<link>http://www.reactivated.net/weblog/archives/2005/07/extended-attribute-mono-bindings-now-for-freebsd-and-linux/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/07/extended-attribute-mono-bindings-now-for-freebsd-and-linux/#comments</comments>
		<pubDate>Sat, 02 Jul 2005 10:06:58 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=46</guid>
		<description><![CDATA[Back in April I contributed Extended Attribute (xattr) bindings to Mono, for use on Linux systems. I&#8217;ve just committed a new version of these, creating a transparent layer, so that these bindings work exactly the same on FreeBSD as they do on Linux. On FreeBSD systems, this will make use of FreeBSD&#8217;s extattr API &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Back in April I <a href="http://www.reactivated.net/weblog/archives/2005/04/extended-attribute-mono-bindings/">contributed Extended Attribute (xattr) bindings</a> to <a href="http://www.mono-project.com">Mono</a>, for use on Linux systems.</p>
<p>I&#8217;ve just committed a new version of these, creating a transparent layer, so that these bindings work exactly the same on FreeBSD as they do on Linux. On FreeBSD systems, this will make use of FreeBSD&#8217;s extattr API &#8211; effectively making the use of extended attributes somewhat portable. The interface which Mono exposes is still the Linux xattr API, but the slight differences between xattr/extattr are handled accordingly by the mono runtime. Thanks to Stephen Bennett (spb from Gentoo) for letting me test things on his FreeBSD install.</p>
<p>Extended attributes are metadata (key/value pairs) that you can apply to files, directories, and symlinks. For example, a program could store the mime-type of a file in an attribute to prevent the need to look it up in future. Extended attributes are nice, because they are stored in/near the file inode, making them cheap to use if you are going to be using the file anyway. <a href="http://www.beagle-project.com">Beagle</a> uses them internally and suffers quite a bit when it has to resort to using a traditional database instead.</p>
<p>I&#8217;ve also been working on <a href="http://bugzilla.ximian.com/show_bug.cgi?id=74872">improving the unicode handling</a> in the System.Uri class, which is pretty nasty.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/07/extended-attribute-mono-bindings-now-for-freebsd-and-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GUADEC 2005</title>
		<link>http://www.reactivated.net/weblog/archives/2005/05/guadec-2005/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/05/guadec-2005/#comments</comments>
		<pubDate>Wed, 25 May 2005 10:17:08 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=38</guid>
		<description><![CDATA[I&#8217;m looking forward to going out to Stuttgart for GUADEC this weekend. I&#8217;m flying out Friday afternoon, immediately after an exam. I&#8217;m staying in the youth hostel. If you&#8217;re out there, make sure you say hi, but remember that unfortunately I won&#8217;t be at the Monday night social (or any of Tuesday) &#8212; I have [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m looking forward to going out to Stuttgart for <a href="http://2005.guadec.org/">GUADEC</a> this weekend. I&#8217;m flying out Friday afternoon, immediately after an exam. I&#8217;m staying in the youth hostel. If you&#8217;re out there, make sure you say hi, but remember that unfortunately I won&#8217;t be at the Monday night social (or any of Tuesday) &#8212; I have to fly back Monday evening to sit my final exam on Tuesday :(<br />
Here&#8217;s a mugshot:<br />
<img src='http://www.reactivated.net/weblog-content/20050525me.jpg' /></p>
<p>I&#8217;m planning on doing a <a href="http://live.gnome.org/Stuttgart2005_2fLightningTalks">Lightning Session</a> on <a href="http://www.flashlinux.org.uk/">FlashLinux</a> if time allows, and the developer approves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/05/guadec-2005/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Extended Attribute Mono bindings</title>
		<link>http://www.reactivated.net/weblog/archives/2005/04/extended-attribute-mono-bindings/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/04/extended-attribute-mono-bindings/#comments</comments>
		<pubDate>Wed, 20 Apr 2005 14:37:30 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/archives/2005/04/extended-attribute-mono-bindings/</guid>
		<description><![CDATA[After seeing it requested, I recently ported some of the Beagle code for manipulating extended attributes on files into the core Mono library base. It&#8217;s been added in the Mono.Unix.Syscall class, which is set to replace Mono.Posix.Syscall once Mono 1.2 is released and widespread. This is my first contribution to Mono, with thanks to Jon [...]]]></description>
			<content:encoded><![CDATA[<p>After seeing it requested, I recently ported some of the Beagle code for manipulating extended attributes on files into the core Mono library base. It&#8217;s been added in the <em>Mono.Unix.Syscall</em> class, which is set to replace <em>Mono.Posix.Syscall</em> once Mono 1.2 is released and widespread.</p>
<p>This is my first contribution to Mono, with thanks to Jon Pryor (Mono.Unix maintainer) who pointed out that my first attempt at this was incorrect, and kindly went out of his way to describe the possible solutions in depth. Now to write some usage documentation&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/04/extended-attribute-mono-bindings/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Problems with GConf#</title>
		<link>http://www.reactivated.net/weblog/archives/2005/04/problems-with-gconf/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/04/problems-with-gconf/#comments</comments>
		<pubDate>Tue, 19 Apr 2005 22:41:45 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/archives/2005/04/problems-with-gconf/</guid>
		<description><![CDATA[Beginning to wonder if GConf for the configuration system was such a good choice after all. I&#8217;m getting slightly random Segfaults (yes, segmentation faults from a mono application, I thought it was odd too..). Everything has been going according to plan until I start adding live update notification, so that beagled can immediately realise when [...]]]></description>
			<content:encoded><![CDATA[<p>Beginning to wonder if GConf for the configuration system was such a good choice after all. I&#8217;m getting slightly random Segfaults (yes, segmentation faults from a mono application, I thought it was odd too..).</p>
<p>Everything has been going according to plan until I start adding live update notification, so that beagled can immediately realise when a config option has been changed. Then (most of the time), when I change the configuration, I get segfaults before control is passed back to beagled. I&#8217;ve been advised that this might be a threading issue &#8211; I can&#8217;t get my head around why this might be the case, but then again, I can&#8217;t reproduce it in a simple test app.. Hmm&#8230;</p>
<p>On another note, I managed to sort out a problem with the timing of one of my exams which means I can now make <a href="http://2005.guadec.org/">GUADEC</a> &#8211; I&#8217;ve got my flight booked :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/04/problems-with-gconf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beagle configuration system &#8220;preview&#8221;</title>
		<link>http://www.reactivated.net/weblog/archives/2005/04/beagle-configuration-system-preview/</link>
		<comments>http://www.reactivated.net/weblog/archives/2005/04/beagle-configuration-system-preview/#comments</comments>
		<pubDate>Thu, 14 Apr 2005 22:20:33 +0000</pubDate>
		<dc:creator>Daniel Drake</dc:creator>
				<category><![CDATA[Beagle]]></category>

		<guid isPermaLink="false">http://www.reactivated.net/weblog/archives/2005/04/beagle-configuration-system-preview/</guid>
		<description><![CDATA[Finished the basic implementation of the configuration system. As previously mentioned, this is based on GConf. It&#8217;s far from complete: you have to choose your settings before beagled is running, or restart beagled after changing the configuration for the new settings to take effect. You can&#8217;t do much in the way of configuration right now, [...]]]></description>
			<content:encoded><![CDATA[<p>Finished the basic implementation of the configuration system. As previously mentioned, this is based on GConf.</p>
<p>It&#8217;s far from complete: you have to choose your settings before beagled is running, or restart beagled after changing the configuration for the new settings to take effect. You can&#8217;t do much in the way of configuration right now, but you can add more filesystem roots to be indexed.</p>
<p>It includes a new command line tool, <strong>beagle-config</strong>. For a demo, read the full post.</p>
<p>I&#8217;ve posted it to <a href="http://bugzilla.gnome.org/show_bug.cgi?id=172283">bug 172283</a> (direct patch link <a href="http://bugzilla.gnome.org/attachment.cgi?id=45271&#038;action=view">here</a>). There&#8217;s some implementation details included at the top of the patch.</p>
<p>Read on for an example of beagle-config&#8230; It&#8217;s quite fancy as the configuration app itself is quite simple (and will be simplified further) &#8211; it pulls everything (the list of configuration &#8220;sections&#8221;, the operations you can perform, their descriptions, the invokation output) from <em>Beagle.Util.Conf</em>.</p>
<p><span id="more-24"></span></p>
<blockquote><p><code><br />
# beagle-config<br />
beagle-config: Command-line interface to the Beagle config file.<br />
Web page: http://www.gnome.org/projects/beagle<br />
Copyright (C) 2005 Novell, Inc.</p>
<p>Usage: beagle-config [OPTIONS]<br />
   or: beagle-config<br />
<section>
   or: beagle-config </section>
<section>
<sectionoption> [PARAMS]</p>
<p>Options:<br />
  --beagled-reload-config       Ask the beagle daemon to reload<br />
                                the configuration file.<br />
  --list-sections               List all available configuration sections.<br />
  --help                        Print this usage message.</p>
<p>If a section is specified with no options, then a list of the available commands for that section is shown.</p>
<p># beagle-config --list-sections<br />
Available configuration sections:<br />
 - indexing</p>
<p># beagle-config indexing<br />
Available options for section 'indexing':<br />
 - ListIgnorePatterns (List filename patterns to be ignored)<br />
 - ListRoots (List the indexing roots)<br />
 - AddRoot (Add a root path to be indexed)</p>
<p># beagle-config indexing ListRoots<br />
Current roots:<br />
 - Your home directory</p>
<p># beagle-config indexing AddRoot /var/tmp/beagle<br />
Root added.</p>
<p># beagle-config indexing ListRoots<br />
Current roots:<br />
 - Your home directory<br />
 - /var/tmp/beagle<br />
</sectionoption></section>
<p></code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.reactivated.net/weblog/archives/2005/04/beagle-configuration-system-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

