<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Proven Corporation</title>
	
	<link>http://www.proven-corporation.com</link>
	<description>Free Software in Thailand and Southeast Asia</description>
	<pubDate>Fri, 05 Sep 2008 17:52:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ProvenCorporation" type="application/rss+xml" /><item>
		<title>New Software: Tomboy Wordcount Plugin</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/346690152/</link>
		<comments>http://www.proven-corporation.com/2008/07/26/new-software-tomboy-wordcount-plugin/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 15:57:34 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<category><![CDATA[mono]]></category>

		<category><![CDATA[tomboy]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/?p=116</guid>
		<description><![CDATA[We have a new addition to the software section: Tomboy-Wordcount.
This is a plugin for the excellent Tomboy note taking application.  This plugin allows you to quickly determine the number of lines, words, and characters in your note, much like the Unix wc command.  Like Tomboy, this plugin is written in C# and runs [...]]]></description>
			<content:encoded><![CDATA[<p>We have a new addition to the software section: <a href="/software/tomboy-wordcount/">Tomboy-Wordcount</a>.</p>
<p>This is a plugin for the excellent <a href="http://www.gnome.org/projects/tomboy/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.gnome.org');">Tomboy</a> note taking application.  This plugin allows you to quickly determine the number of lines, words, and characters in your note, much like the Unix <tt>wc</tt> command.  Like Tomboy, this plugin is written in C# and runs on Mono.</p>
<p><h3>Screenshot</h3>
<p>
<img src="/wp-content/uploads/2008/07/wordcount-ss.png" alt="Tomboy-Wordcount screenshot" title="Tomboy-Wordcount screenshot" /></p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/346690152" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/07/26/new-software-tomboy-wordcount-plugin/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/07/26/new-software-tomboy-wordcount-plugin/</feedburner:origLink></item>
		<item>
		<title>Sphinx Templates</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/258788326/</link>
		<comments>http://www.proven-corporation.com/2008/03/27/sphinx-templates/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 06:26:47 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/2008/03/27/sphinx-templates/</guid>
		<description><![CDATA[This document explains HTML templating with the Sphinx documentation system.  Sphinx is a tool for converting restructured text documentation into presentation formats like HTML or LaTeX.
Sphinx is used for Python documentation (compare old vs. new), but it is great for for any project in any language.  Integrated wikis (like Trac) are nice; but [...]]]></description>
			<content:encoded><![CDATA[<p>This document explains HTML templating with the <a href="http://sphinx.pocoo.org/index.html" onclick="javascript:pageTracker._trackPageview ('/outbound/sphinx.pocoo.org');">Sphinx</a> documentation system.  Sphinx is a tool for converting restructured text documentation into presentation formats like HTML or LaTeX.</p>
<p>Sphinx is used for Python documentation (compare <a href="http://docs.python.org/" onclick="javascript:pageTracker._trackPageview ('/outbound/docs.python.org');">old</a> vs. <a href="http://docs.python.org/dev/" onclick="javascript:pageTracker._trackPageview ('/outbound/docs.python.org');">new</a>), but it is great for for any project in any language.  Integrated wikis (like Trac) are nice; but I prefer to keep the documentation together with the source code.  Sphinx is perfect for that.  It also looks like a million bucks.</p>
<p>This document was tested on Fedora 8; however it is likely to work on all platforms that Python supports.  Please <a href="/contact/">contact me</a> if you have questions or comments.</p>
<p><span id="more-83"></span></p>
<h3>Getting Started</h3>
<p>First, see the <a href="http://sphinx.pocoo.org/contents.html" onclick="javascript:pageTracker._trackPageview ('/outbound/sphinx.pocoo.org');">Sphinx documentation</a> and get familiar with installing it (<tt>easy_install</tt>), initializing a project (<tt>sphinx-quickstart</tt>), and building your standalone HTML docs (<tt>make html</tt>).</p>
<p>Notice how (as of right now), the <a href="http://sphinx.pocoo.org/templating.html" onclick="javascript:pageTracker._trackPageview ('/outbound/sphinx.pocoo.org');">templating documentation</a> is suspiciously missing?  That is what this document covers.  I spoke with Georg Brandi briefly over email and he said that the document is forthcoming.  Therefore I will try to make this page here have a how-to style so that it will hopefully complement the official Sphinx docs when they come out.</p>
<h3>The Basics</h3>
<p>First, read up on the Django-like <a href="http://jinja.pocoo.org/" onclick="javascript:pageTracker._trackPageview ('/outbound/jinja.pocoo.org');">Jinja templating system</a>, to get a basic feel for how things work.  Just scan through it because you can learn more quickly  by experimenting with your own templates.</p>
<p>Your Sphinx templates go in a special subdirectory of your documentation source.  By default, this is <tt>.templates</tt>, so we will use that.  (It is set in the <tt>templates_path</tt> directory in <tt>conf.py</tt>.)  Therefore, all of your template files will go in <tt>source/.templates</tt>.</p>
<p>Templating with Jinja is all about <em>extending</em> (or inheriting) previously-made templates.  So the procedure is to make your own template file and say &#8220;this file is mostly like such-and-such template, with these differences&#8230;.&#8221;</p>
<p>Sphinx uses the following built-in template files to generate HTML pages:</p>
<ul>
<li><tt>genindex.html</tt></li>
<li><tt>index.html</tt></li>
<li><tt>layout.html</tt> (This is the main one you want to modify)</li>
<li><tt>macros.html</tt></li>
<li><tt>modindex.html</tt></li>
<li><tt>page.html</tt></li>
<li><tt>search.html</tt></li>
</ul>
<h3>Making a Template</h3>
<p>To modify a template, choose a filename of the template you want to modify and create a file with the same name in <tt>.templates</tt>.  Go ahead!  Create <tt>.templates/layout.html</tt> with some simple content:</p>
<pre class="highlight">
{# Filename: .templates/layout.html #}
This is the new layout!
</pre>
<p>Now run <tt>make html</tt> to rebuild the HTML.  (<strong>Note</strong>, for Sphinx versions before 0.1.61945, you must run <tt>make clean</tt>.)   Your documentation is gone, but at least you successfully overrode the old layout template!</p>
<h3>Extending a Template</h3>
<p>We see that you can make a new <tt>layout.html</tt> to completely override the old <tt>layout.html</tt>, but how do you merely <em>modify one small part of it</em>?  To change just one part of the original Sphinx template, make a new template that <em>extend</em>s the old one, and then put a <em>block</em> in your new file.  (If you don&#8217;t know about <em>extend</em>ing and <em>block</em>s, see the <a href="http://jinja.pocoo.org/" onclick="javascript:pageTracker._trackPageview ('/outbound/jinja.pocoo.org');">Jinja</a> web page.)</p>
<p><strong>Warning:</strong> You may try to make a new <tt>layout.html</tt> that extends the old <tt>layout.html</tt>.  That is wrong:</p>
<pre class="highlight">
{# XXX This is wrong! XXX #}
{# Filename: .templates/layout.html #}
{% extends &#8216;layout.html&#8217; <span>}
</pre>
<p>If you don&#8217;t believe me, try it!  It will cause an infinite loop when layout.html tries to extend itself.  Instead, you must use a Sphinx-specific extension to Jinja by prepending the <tt>!</tt> character to the template filename:</p>
<pre class="highlight">
{# This is just fine #}
{# Filename: .templates/layout.html #}
{</span> extends &#8217;!layout.html&#8217; <span>}
</pre>
<p>That&#8217;s it!  Now you can go crazy making your own blocks that override the old layout template.  For example:</p>
<pre class="highlight">
{# Filename: .templates/layout.html #}
{</span> extends &#8217;!layout.html&#8217; <span>}

{</span> block afterfooter <span>}
Hi!  I am beneath the footer.
{</span> endblock <span>}
</pre>
</p>
<h3>Useful Blocks to Create</h3>
<p>Here are some blocks (all in <tt>layout.html</tt>) that you should start extending.  As of this writing, all of these blocks are completely empty in the original layout, so you are not replacing anything, only adding your own content.  Therefore they are a good place to experiment.</p>
<ul>
<li>extrahead</li>
<li>beforerelbar, afterrelbar</li>
<li>beforesidebar1, sidebar1, aftersidebar1</li>
<li>beforedocument, afterdocument</li>
<li>beforesidebar2, aftersidebar2</li>
<li>beforefooter, afterfooter</li>
</ul>
<h3>How To: Add Your Own CSS Stylesheet</h3>
<p>To add your own CSS stylesheet, for example, <tt>mystyle.css</tt>, first create the file in the <tt>.static</tt> directory.  Next, you have a choice depending on what you want to do:</p>
<ul>
<li><strong>To use your styles in addition to the defaults</strong>, add an &#8220;extrahead&#8221; block in your own <tt>layout.html</tt> template, like so:
<pre class="highlight">
{# Filename: .templates/layout.html #}
{</span> extends &#8217;!layout.html&#8217; <span>}

{</span> block extrahead <span>}
<link rel=&#8221;stylesheet&#8221;
  href=&#8221;{{ pathto(&#8217;_static/mystyle.css&#8217;, 1) }}&#8221;
  type=&#8221;text/css&#8221; />
{</span> endblock <span>}
</pre>
</li>
<li><strong>To completely replace the old styles</strong>, replace the <tt>html_style</tt> variable in <tt>conf.py</tt> and set it to &#8220;mystyle.css&#8221;.  Of course, you can use @import other styles or do anything else that CSS supports.</li>
</ul>
<h3>How To: Change the &#8220;root&#8221; page name</h3>
<p>I don&#8217;t like the default text in the upper-left side of the page.  It just says &#8220;ProjectName vX.Y documentation&#8221; which is pretty boring.  To replace it, override the &#8220;rootrellink&#8221; block in your own template.  Here is what I use:</p>
<pre class="highlight">
{# Filename: .templates/layout.html #}
{</span> extends &#8217;!layout.html&#8217; <span>}

{</span> block rootrellink <span>}
<li>
  <a href="{{ pathto('index') }}">FooProject (v{{ release }})</a>
  &raquo;
  </li>

{</span> endblock <span>}
</pre>
</p>
<h3>How To: Show the current page name in the top navigation bar</h3>
<p>I like to show the current page name in the top part of the page, because it provides a kind of &#8220;you are here&#8221; feel.  For example: FooProject &raquo; Getting Started &raquo; Compiling and Installing</p>
<p>Well, Sphinx builds this for you automatically, except it takes the liberty of <strong>deleting the current page</strong> from the end of the list!  I have no idea why they don&#8217;t make it optional, but they just mercilessly chop off the last page from the ancestry list.  Here is how you can add it back using templates:</p>
<pre class="highlight">
{# Filename: .templates/layout.html #}
{</span> extends &#8217;!layout.html&#8217; <span>}

{</span> block relbaritems <span>}
  {</span> if current_page_name != &#8216;index&#8217; <span>}
<li><a href="{{ pathto(current_page_name) }}">{{ title }}</a></li>

  {</span> endif <span>}
{</span> endblock <span>}
</pre>
</p>
<h3>How To: Extra Sidebar Content</h3>
<p>I like to put extra stuff in the sidebar for every page, however maintaining the <tt>html_sidebars</tt> variable is tedious.  To ensure that every page loads your custom HTML in the sidebar, first create <tt>.static/mysidebarcontent.html</tt> page with something in it.  (<strong>Note</strong> this file goes in <tt>.static</tt>, not <tt>.templates</tt>.)</p>
<p>Next, put this in your <tt>layout.html</tt>:</p>
<pre class="highlight">
{# Filename: .templates/layout.html #}
{</span> extends &#8217;!layout.html&#8217; <span>}

{</span> set customsidebar = &#8216;mysidebarcontent.html&#8217; %}
</pre>
</p>
<p>I know it&#8217;s kludgy but it works.  You may also want to consider doing this in <tt>page.html</tt> if you don&#8217;t want the custom sidebar stuff on the special index, module index, etc. pages.</p>
<h3>Final Comments</h3>
<p>Here are some final notes that I have accumulated in no particular order:</p>
<ul>
<li>Searching seems to work only if you include the document source.  So make sure you set <tt>html_copy_source</tt> to True in <tt>conf.py</tt>.</li>
<li>html_index is not quite intuitive.  It does not simply set the Jinja template to use for the index, but rather it activates special handling for the index page.  Without it, the index page will build normally using <tt>page.html</tt> (which extends <tt>layout.html</tt>).  But if you set html_index = &#8220;foo.html&#8221; for example, then the <em>prefab index.html will run which loads your foo.html inside it</em> in the body (as the indextemplate variable).  So remember, index.html is <strong>not used</strong> unless you set html_index; and if you do set html_index, then your template will merely be rendered as part of the document body.  In summary:
<ul>
<li><strong>If you want the index page to render using the same template as all the other pages</strong>, then you <em>must not</em> set html_index.</li>
<li><strong>If you want to activate the special template for the index page</strong>, you must set html_index in conf.py.  The file that you specify will be included in the template.</li>
<li><strong>If you want to activate the special template and you want to completely override index.html</strong>, you must set html_index in conf.py and also create your own index.html in .templates.  You will probably want to &#8220;extends &#8216;layout.html&#8217;&#8221; too.  The &#8220;indextemplate&#8221; variable will be set to whatever you specified in conf.py.  To actually render the contents of that file, you must
<pre class="highlight">{{ rendertemplate(indextemplate) }}</pre>
<p> somewhere in your index.html template.</li>
</ul>
</li>
</ul>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/258788326" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/03/27/sphinx-templates/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/03/27/sphinx-templates/</feedburner:origLink></item>
		<item>
		<title>MonoDevelop 1.0 on CentOS 5 and Fedora: Compiling and Installing</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/256899430/</link>
		<comments>http://www.proven-corporation.com/2008/03/24/compiling-and-installing-monodevelop-10-on-centos-5-and-fedora/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 07:40:38 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/2008/03/24/compiling-and-installing-monodevelop-10-on-centos-5-and-fedora/</guid>
		<description><![CDATA[Recently, I had to get MonoDevelop working on CentOS 5 for a project.  Here is my blow-by-blow summary of how to get it working.  The procedure is designed for CentOS 5, and it works on my Fedora 8 system as well.  Since most of the activity is just compiling stuff from source, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I had to get <a href="http://www.monodevelop.com/Main_Page" onclick="javascript:pageTracker._trackPageview ('/outbound/www.monodevelop.com');">MonoDevelop</a> working on CentOS 5 for a project.  Here is my blow-by-blow summary of how to get it working.  The procedure is designed for CentOS 5, and it works on my Fedora 8 system as well.  Since most of the activity is just compiling stuff from source, it should be pretty easy to follow on a different distribution.  It&#8217;s just a matter of getting the correct packages installed in the preparation phase.</p>
<p><span id="more-82"></span></p>
<h3>Contents</h3>
<ol>
<li><a href="#objectives">Objectives</a></li>
<li><a href="#prep">Preparation</a></li>
<li><a href="#env">Enabling the Environment</a></li>
<li><a href="#mono">Mono 1.9</a></li>
<li><a href="#libgdiplus">Libgdiplus</a></li>
<li><a href="#gtk">GTK#</a></li>
<li><a href="#addins">Mono.Addins</a></li>
<li><a href="#monodoc">Monodoc</a></li>
<li><a href="#tools">Mono Tools</a></li>
<li><a href="#gtksourceview">Gtksourceview</a></li>
<li><a href="#monodevelop">MonoDevelop</a></li>
<li><a href="#nant">Nant</a></li>
<li><a href="#finish">Finish</a></li>
</ol>
<p><a name="objectives"></a></p>
<h3>Objectives</h3>
</p>
<ul class="simple">
<li>MonoDevelop platform ready to use on CentOS 5 or Fedora 8</li>
<li>For minimal maintenance headache, use the base operating system to provide as much sofware as possible, with the obvious exception of Mono 1.9 and MonoDevelop 1.0</li>
<li>The install is isolated from the rest of the system.  MonoDevelop and its dependencies should have no overlap or interference with the base operating system.</li>
</ul>
<p><a name="prep"></a></p>
<h3>Preparation</h3>
</p>
<ul class="wide">
<li><strong>Note:</strong> In this document, all source code will go in <tt class="docutils literal"><span class="pre">/usr/src/monodevelop-install</span></tt>.  All installed packages will go in <tt class="docutils literal"><span class="pre">/usr/local/software</span></tt>.
</li>
</p>
<li>
<pre class="highlight">mkdir -p /usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">sudo chown -R <span class="sb">`</span>whoami<span class="sb">`</span> /usr/local/software # (Be careful if you already have software here)</pre>
</li>
<li>
<pre class="highlight">mkdir -p /usr/src/monodevelop-install
</pre>
</li>
<li>
<pre class="highlight">yum install glib2-devel pango-devel gtk2-devel glade2-devel libgnome-devel <span class="se">\</span>
            gnome-desktop-devel gnome-panel-devel libgnomeprintui22-devel  <span class="se">\</span>
            gtksourceview-devel ruby ruby-rdoc gtkhtml38-devel wget        <span class="se">\</span>
            <span class="c"># (maybe openssl-devel also)</span>
</pre>
</li>
<li>
<pre class="highlight"><span class="nb">echo</span> <span class="s1">&#39;PATH=&quot;/usr/local/software/mono-1.9/bin:$PATH&quot;&#39;</span> <span class="se">\</span>
     > /usr/local/software/mono-1.9/env.sh
</pre>
</li>
<li>
<pre class="highlight"><span class="nb">echo</span> <span class="s1">&#39;export PKG_CONFIG_PATH=/usr/local/software/mono-1.9/lib/pkgconfig&#39;</span> <span class="se">\</span>
     >> /usr/local/software/mono-1.9/env.sh
</pre>
</li>
<li>
<pre class="highlight"><span class="nb">echo</span> <span class="s1">&#39;export LD_LIBRARY_PATH=/usr/local/software/mono-1.9/lib&#39;</span> <span class="se">\</span>
     >> /usr/local/software/mono-1.9/env.sh
</pre>
</li>
</ul>
<p><a name="env"></a></p>
<h3>Enabling the Environment</h3>
</p>
<p><strong>Important:</strong> You must always run this command before using Monodevelop, and also before continuing on with this procedure.</p>
<pre class="highlight smaller"><span class="nb">source</span> /usr/local/software/mono-1.9/env.sh</pre>
<p>In this document, Monodevelop is not completely integrated into the GUI, menus, etc. for a couple of reasons:</p>
<ol>
<li>Getting Monodevelop to show up in the menus is somewhat distro-specific.  For RPM-based distros, look into setting the <tt>$XDG_DATA_DIRS</tt> variable in <tt>/etc/X11/xinit/xinitrc.d/</tt>, but you will also have to get the path working.  For Debian-based distros, look into doing the same thing in <tt>/etc/X11/Xsession.d</tt>.  And if you happen to be trying this on Solaris, look into <tt>/usr/dt/config/Xsession.d</tt>.  Oh and by the way, the .desktop file that ships with Monodevelop is invalid for my Fedora 8 system!  So you will have to manually edit it and (IIRC) remove the <tt>TryExec</tt> line.
<li>As you can see, this requires a bit of mucking with &#8220;standard&#8221; package-maintained config files, which I am hesitant to do because it violates the objective of isolation.</li>
</ol>
<p>All this means you will always have to first source the small shell script which sets up the correct environment variables whenever you want to run Monodevelop.</p>
<p><a name="mono"></a></p>
<h3>Mono 1.9</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight"><span class="nb">cd</span> /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/mono/mono-1.9.tar.bz2</pre>
</li>
<li>
<pre class="highlight">tar xjf mono-1.9.tar.bz2</pre>
</li>
<li>
<pre class="highlight"><span class="nb">cd </span>mono-1.9</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix<span class="o">=</span>/usr/local/software/mono-1.9</pre>
<ul>
<li>Optionally,
<pre class="highlight">&#8212;with-ikvm-native<span class="o">=</span>no&#8212;with-moonlight<span class="o">=</span>no</pre>
</li>
<li>Optionally,
<pre class="highlight">&#8212;with-xen_opt=yes</pre>
</li>
</ul>
</li>
<li>
<pre class="highlight">make &#038;&#038; make install</pre>
</li>
</ul>
<p><a name="libgdiplus"></a></p>
<h3>Libgdiplus:</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/libgdiplus/libgdiplus-1.9.tar.bz2</pre>
</li>
<li>
<pre class="highlight">tar xjf libgdiplus-1.9.tar.bz2</pre>
</li>
<li>
<pre class="highlight">cd libgdiplus-1.9</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="gtk"></a></p>
<h3>GTK#</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/gtk-sharp-2.0/gtk-sharp-2.8.4.tar.bz2</pre>
</li>
<li>
<pre class="highlight">tar xjf gtk-sharp-2.8.4.tar.bz2</pre>
</li>
<li>
<pre class="highlight">cd gtk-sharp-2.8.4</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="addins"></a></p>
<h3>Mono.Addins:</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/mono-addins/mono-addins-0.3.1.tar.bz2</pre>
</li>
<li>
<pre class="highlight">tar xjf mono-addins-0.3.1.tar.bz2</pre>
</li>
<li>
<pre class="highlight">cd mono-addins-0.3.1</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="monodoc"></a></p>
<h3>Monodoc</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/monodoc/monodoc-1.9.zip</pre>
</li>
<li>
<pre class="highlight">unzip monodoc-1.9.zip</pre>
</li>
<li>
<pre class="highlight">cd monodoc-1.9</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="tools"></a></p>
<h3>Mono Tools:</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/mono-tools/mono-tools-1.9.tar.bz2</pre>
</li>
<li>
<pre class="highlight">tar xjf mono-tools-1.9.tar.bz2</pre>
</li>
<li>
<pre class="highlight">cd mono-tools-1.9</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="gtksourceview"></a></p>
<h3>Gtksourceview:</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/gtksourceview-sharp-2.0/gtksourceview-sharp-2.0-0.10.tar.gz</pre>
</li>
<li>
<pre class="highlight">tar xzf gtksourceview-sharp-2.0-0.10.tar.gz</pre>
</li>
<li>
<pre class="highlight">cd gtksourceview-sharp-2.0-0.10</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="monodevelop"></a></p>
<h3>Monodevelop:</h3>
</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://go-mono.com/sources/monodevelop/monodevelop-1.0.tar.bz2</pre>
</li>
<li>
<pre class="highlight">tar xjf monodevelop-1.0.tar.bz2</pre>
</li>
<li>
<pre class="highlight">cd monodevelop-1.0</pre>
</li>
<li>
<pre class="highlight">./configure&#8212;prefix=/usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">make &#38;&#38; make install</pre>
</li>
</ul>
<p><a name="nant"></a></p>
<h3>NAnt</h3>
</p>
<p>This is optional, but many .NET applications build with it, so it might be worth throwing in there.</p>
<ul class="wide">
<li>
<pre class="highlight">cd /usr/src/monodevelop-install</pre>
</li>
<li>
<pre class="highlight">wget http://downloads.sourceforge.net/nant/nant-0.85-bin.tar.gz</pre>
</li>
<li>
<pre class="highlight">tar xzf nant-0.85-bin.tar.gz -C /usr/local/software/mono-1.9</pre>
</li>
<li>
<pre class="highlight">echo &#8217;#!/bin/bash&#8217; > /usr/local/software/mono-1.9/bin/nant</pre>
</li>
<li>
<pre class="highlight">echo &#8216;mono /usr/local/software/mono-1.9/nant-0.85/bin/NAnt.exe &#8221;$@&#8221;&#8217; >> /usr/local/software/mono-1.9/bin/nant</pre>
</li>
<li>
<pre class="highlight">chmod +x /usr/local/software/mono-1.9/bin/nant</pre>
</li>
</ul>
<p><a name="finish"></a></p>
<h3>Finished!</h3>
</p>
<p>You&#8217;re done!  Run it!</p>
<pre class="highlight smaller">monodevelop</pre>
<p>Feel free to <a href="/contact">contact me</a> if you have any input to add.  I will try to add another post for Debian/Ubuntu and possibly Solaris in the future.</p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/256899430" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/03/24/compiling-and-installing-monodevelop-10-on-centos-5-and-fedora/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/03/24/compiling-and-installing-monodevelop-10-on-centos-5-and-fedora/</feedburner:origLink></item>
		<item>
		<title>New Software: Bzr Notification Plugin</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/231034478/</link>
		<comments>http://www.proven-corporation.com/2008/02/07/new-software-bzr-notification-plugin/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 15:06:14 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/2008/02/07/new-software-bzr-notification-plugin/</guid>
		<description><![CDATA[We have a new addition to the software section: Bzr Notification.
This is a plugin for the Bazaar source code control system.  It will pop up a small window when pushes and pulls have completed.  This way, you do not need to wait around watching (slow) transactions over the network.  Here is a [...]]]></description>
			<content:encoded><![CDATA[<p>We have a new addition to the software section: <a href="/software/bzr-notification/">Bzr Notification</a>.</p>
<p>This is a plugin for the <a href="http://bazaar-vcs.org" onclick="javascript:pageTracker._trackPageview ('/outbound/bazaar-vcs.org');">Bazaar</a> source code control system.  It will pop up a small window when pushes and pulls have completed.  This way, you do not need to wait around watching (slow) transactions over the network.  Here is a screenshot of bzr_notification in action:</p>
<p><img src='/wp-content/uploads/2008/02/bzr_notification.png' alt='bzr_notification in action' title="bzr_notification in action"/></p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/231034478" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/02/07/new-software-bzr-notification-plugin/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/02/07/new-software-bzr-notification-plugin/</feedburner:origLink></item>
		<item>
		<title>Making Magic with SSH</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/225901165/</link>
		<comments>http://www.proven-corporation.com/2008/01/29/making-magic-with-ssh/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 14:11:29 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/news/2008/01/29/making-magic-with-ssh/</guid>
		<description><![CDATA[I posted my slides from my talk at BarCamp Bangkok on January 26th.  The talk mostly covers advanced usage of OpenSSH to do port forwarding, web proxying, and control of remote systems.
View the slides in HTML format: Making Magic with SSH
You can also get the text source file, or download everything in zip format.

]]></description>
			<content:encoded><![CDATA[<p>I posted my slides from my talk at BarCamp Bangkok on January 26th.  The talk mostly covers advanced usage of OpenSSH to do port forwarding, web proxying, and control of remote systems.</p>
<p>View the slides in HTML format: <a href="/static/ssh/" target="_blank">Making Magic with SSH</a></p>
<p>You can also get the <a href="/static/ssh/ssh.txt">text source</a> file, or download everything in <a href="/static/ssh.zip">zip format</a>.</p>
<p><a href="/static/ssh/" target="_blank" title='SSH Intro Slide'><img src='http://www.proven-corporation.com/wp-content/uploads/2008/01/ssh-slide1.png' alt='SSH Intro Slide' /></a></p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/225901165" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/01/29/making-magic-with-ssh/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/01/29/making-magic-with-ssh/</feedburner:origLink></item>
		<item>
		<title>Returned from BarCamp</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/225901166/</link>
		<comments>http://www.proven-corporation.com/2008/01/26/returned-from-barcamp/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 13:15:44 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/news/2008/01/26/returned-from-barcamp/</guid>
		<description><![CDATA[I just got back from BarCamp.  It was very interesting and very fun.  I met a lot of excellent people, and I&#8217;d like to say thanks to everybody who talked with me.
I will post slides of my SSH talk shortly.  Please check the site in a day or so, or subscribe to [...]]]></description>
			<content:encoded><![CDATA[<p>I just got back from BarCamp.  It was very interesting and very fun.  I met a lot of excellent people, and I&#8217;d like to say thanks to everybody who talked with me.</p>
<p>I will post slides of my SSH talk shortly.  Please check the site in a day or so, or subscribe to the RSS feed.</p>
<p>About the <a href="http://printbooks.in.th" onclick="javascript:pageTracker._trackPageview ('/outbound/printbooks.in.th');">Siam eBook Printers</a> giveaway, I will be contacting the winners of the lucky draw shortly.</p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/225901166" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/01/26/returned-from-barcamp/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/01/26/returned-from-barcamp/</feedburner:origLink></item>
		<item>
		<title>New Software: Strangle DNS parsing</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/225901167/</link>
		<comments>http://www.proven-corporation.com/2008/01/24/new-software-strangle-dns-parsing/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 12:33:19 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/news/2008/01/24/new-software-strangle-dns-parsing/</guid>
		<description><![CDATA[We are happy to release Strangle, an open source DNS message parsing library.  You can read all about it from our Strangle summary.  Strangle provides a convenient Python interface which leverages the enterprise-grade BIND technology from the Internet Software Consortium.  If your Python application needs to understand the meaning in cryptic DNS [...]]]></description>
			<content:encoded><![CDATA[<p>We are happy to release Strangle, an open source DNS message parsing library.  You can read all about it from our <a href="http://www.proven-corporation.com/software/strangle/">Strangle summary</a>.  Strangle provides a convenient Python interface which leverages the enterprise-grade BIND technology from the Internet Software Consortium.  If your Python application needs to understand the meaning in cryptic DNS packets, give it a try!</p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/225901167" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/01/24/new-software-strangle-dns-parsing/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/01/24/new-software-strangle-dns-parsing/</feedburner:origLink></item>
		<item>
		<title>Siam eBook Printers: 100 baht discount for leaving feedback</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/225901168/</link>
		<comments>http://www.proven-corporation.com/2008/01/14/siam-ebook-printers-100-baht-discount-for-leaving-feedback/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 15:48:58 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/news/2008/01/14/siam-ebook-printers-100-baht-discount-for-leaving-feedback/</guid>
		<description><![CDATA[This is an update about Siam eBook Printers.  We are eager to get as much feedback as possible in order to best serve our customers.  So now, we are introducing a 100 baht discount to any customer who leaves a helpful comment about the site.  You can optionally specify your email address [...]]]></description>
			<content:encoded><![CDATA[<p>This is an update about <a href="http://printbooks.in.th" onclick="javascript:pageTracker._trackPageview ('/outbound/printbooks.in.th');">Siam eBook Printers</a>.  We are eager to get as much feedback as possible in order to best serve our customers.  So now, we are introducing a <strong>100 baht discount</strong> to any customer who leaves a helpful comment about the site.  You can optionally specify your email address if you want us to follow up with you.</p>
<p>So stop by and say &#8220;This is awesome!&#8221; (or even better: your own constructive criticism) to get your discount today!  As always, shipping is free, and books about free software (and open source) get an additional 150 baht price reduction.</p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/225901168" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2008/01/14/siam-ebook-printers-100-baht-discount-for-leaving-feedback/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2008/01/14/siam-ebook-printers-100-baht-discount-for-leaving-feedback/</feedburner:origLink></item>
		<item>
		<title>Added a Software Section</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/225901169/</link>
		<comments>http://www.proven-corporation.com/2007/12/22/added-a-software-section/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 17:51:52 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Free Software]]></category>

		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/news/2007/12/22/added-a-software-section/</guid>
		<description><![CDATA[I have added a section to the site for publishing software from Proven Corporation.  All software published is of course free software.
For now, there is only a simple Greasemonkey script for an excellent free software-related web site.
]]></description>
			<content:encoded><![CDATA[<p>I have added a section to the site for publishing <a href="/news/software/">software from Proven Corporation</a>.  All software published is of course free software.</p>
<p>For now, there is only a simple Greasemonkey script for an excellent free software-related web site.</p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/225901169" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2007/12/22/added-a-software-section/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2007/12/22/added-a-software-section/</feedburner:origLink></item>
		<item>
		<title>Printing eBooks in Thailand</title>
		<link>http://feeds.feedburner.com/~r/ProvenCorporation/~3/225901170/</link>
		<comments>http://www.proven-corporation.com/2007/12/15/printing-ebooks-in-thailand/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 10:05:05 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://www.proven-corporation.com/news/2007/12/15/printing-e-books-in-thailand/</guid>
		<description><![CDATA[We have opened a new service which is personally exciting for me and beneficial for the software community in Thailand: an eBook printing, binding, and delivery service, called Siam eBook Printers.
If you have an ebook in PDF format, just attach the file on the web page and provide your delivery address.  In a few [...]]]></description>
			<content:encoded><![CDATA[<p>We have opened a new service which is personally exciting for me and beneficial for the software community in Thailand: an <a href="http://printbooks.in.th" onclick="javascript:pageTracker._trackPageview ('/outbound/printbooks.in.th');">eBook printing, binding, and delivery</a> service, called Siam eBook Printers.</p>
<p>If you have an ebook in PDF format, just attach the file on the web page and provide your delivery address.  In a few days, a nice bound volume arrives at your door from EMS.  If you&#8217;ve ever seen these shops in malls and universities that print and bind books, then you know exactly what this is, except we do it over the web.</p>
<p>We are aiming directly at foreigners and I.T. professionals in Thailand.  Here is what makes Siam Book Printers unique:</p>
<ul>
<li>Everything is in English</li>
<li>We cater to busy people.  You attach a PDF on the web site, and you receive EMS packages.</li>
<li>We guarantee no mechanical errors, smudges, missing pages, or other flaws.  If you are dissatisfied, we will send you a replacement book.</li>
<li>There is no guesswork; you preview exactly what you will get.</li>
<li>Besides standard bank transfers, we accept credit card payments and PayPal.  We accept payment in Thai baht or U.S. dollars.</li>
</ul>
<p>Personally, having eBooks printed is one of my favorite activities in Thailand.  When done right, the end result is quite beautiful.  Ever since I had <a href="http://www.nostarch.com/frameset.php?startat=debian" onclick="javascript:pageTracker._trackPageview ('/outbound/www.nostarch.com');">The Debian System</a> from <a href="http://nostarch.com/" onclick="javascript:pageTracker._trackPageview ('/outbound/nostarch.com');">No Starch Press</a> made into a hardback, I have been hooked.  I doubt the site will be successful financially; but my goal is to reveal and simplify the eBook printing process to more foreigners and software professionals.</p>
<p>Finally, Siam Book Printers is a platform to promote free software in Thailand.  We offer <a href="http://printbooks.in.th/books/free_software" onclick="javascript:pageTracker._trackPageview ('/outbound/printbooks.in.th');">discounts for eBooks about free and open source software</a>.  When you order a book about free or open source software, just click the checkbox to receive your discount!</p>
<img src="http://feeds.feedburner.com/~r/ProvenCorporation/~4/225901170" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.proven-corporation.com/2007/12/15/printing-ebooks-in-thailand/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.proven-corporation.com/2007/12/15/printing-ebooks-in-thailand/</feedburner:origLink></item>
	</channel>
</rss>
