<?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"
	>

<channel>
	<title>Tim's Home Page</title>
	<atom:link href="http://cyberelk.net/tim/feed/" rel="self" type="application/rss+xml" />
	<link>http://cyberelk.net/tim</link>
	<description></description>
	<pubDate>Thu, 10 Jul 2008 11:25:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Monitoring bandwidth during peak hours</title>
		<link>http://cyberelk.net/tim/2008/07/03/monitoring-bandwidth-during-peak-hours/</link>
		<comments>http://cyberelk.net/tim/2008/07/03/monitoring-bandwidth-during-peak-hours/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 13:31:10 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=266</guid>
		<description><![CDATA[Like many ISPs in Britain, mine allows me unlimited downloads during off-peak hours but has a monthly restriction on downloads during peak hours.  Peak currently means 6pm until midnight, although next month it will be changing to 9am until 11pm.  I thought it would be a good idea to monitor how close to my quota [...]]]></description>
			<content:encoded><![CDATA[<p>Like many ISPs in Britain, mine allows me unlimited downloads during off-peak hours but has a monthly restriction on downloads during peak hours.  Peak currently means 6pm until midnight, although next month it will be changing to 9am until 11pm.  I thought it would be a good idea to monitor how close to my quota I am, to see if this will affect me.</p>
<p><span id="more-266"></span></p>
<p>I found the <a href="http://humdi.net/vnstat/">vnstat</a> project, which is already packaged for Fedora, and this is almost exactly what I needed.  After installing the package, I just needed to configure it:</p>
<ol>
<li>Edit <tt>/etc/sysconfig/vnstat</tt> to make sure the correct network interface is monitored.</li>
<li>Edit <tt>/etc/cron.d/vnstat</tt> and uncomment the line that enables network interface monitoring (not sure why this comes commented out).</li>
<li>Edit <tt>/etc/vnstat.conf</tt> and check that everything looks right.  I changed the locale, but I&#8217;m not sure why it doesn&#8217;t use the system locale.  Maybe something to do with cron?</li>
</ol>
<p>It works by gathering data from the proc filesystem and using it to update a simple database file each time it is run from cron.</p>
<p>The only missing piece was the ability to examine network usage during peak hours only.  I&#8217;ve sent a patch for this to the maintainer, and put a small git repository here:</p>
<pre>git clone <a href="http://cyberelk.net/tim/data/vnstat.git">http://cyberelk.net/tim/data/vnstat.git</a></pre>
<p>If you&#8217;re reading this from the future and that link doesn&#8217;t work, hopefully it&#8217;s because the patch has been accepted&#8230;</p>
<p>I can now see my actual peak usage so far, as well as the estimated total for this month.  Here&#8217;s an example of the output (not real data):</p>
<pre> eth0  /  monthly

   month         rx      |      tx      |   total
-------------------------+--------------+--------------------------------------
  Jul '08       1.34 GB  |   103.00 MB  |     1.44 GB   %%%%%%%%%%%%%%%%%%%%::
   (peak)      32.57 MB  |     1.71 MB  |    34.28 MB
-------------------------+--------------+--------------------------------------
 estimated     16.10 GB  |     1.21 GB  |    17.31 GB
   (peak)        384 MB  |       12 MB  |      396 MB</pre>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/07/03/monitoring-bandwidth-during-peak-hours/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Things wrong with HPLIP&#8217;s systray applet</title>
		<link>http://cyberelk.net/tim/2008/06/03/things-wrong-with-hplips-systray-applet/</link>
		<comments>http://cyberelk.net/tim/2008/06/03/things-wrong-with-hplips-systray-applet/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 14:35:18 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=265</guid>
		<description><![CDATA[I&#8217;m not even sure where to start.  In HPLIP-2.8.5 there is a new &#8216;hp-systray&#8217; program which is meant to be started at login.
Its purpose is to ask the user for a fax number when it receives a D-Bus signal from the hpfax backend.  That&#8217;s all &#8212; so why does it sit there with [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not even sure where to start.  In HPLIP-2.8.5 there is a new &#8216;hp-systray&#8217; program which is meant to be started at login.</p>
<p>Its purpose is to ask the user for a fax number when it receives a D-Bus signal from the hpfax backend.  That&#8217;s all &#8212; so why does it sit there with a big fat &#8216;HP&#8217; logo <em>all the time</em>?  Unlike Windows, our notification area is not an advertising board.</p>
<p>Not that the logo is even <strong>in</strong> the notification area.  Instead, it gets placed like a window, just anywhere there is space on your desktop.  Nice.</p>
<p>That&#8217;s all disregarding the fact that none of this is any use at all if your fax queue resides on a networked CUPS server.  It can send D-Bus signals if it likes, but they won&#8217;t be heard over the network.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/06/03/things-wrong-with-hplips-systray-applet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Question</title>
		<link>http://cyberelk.net/tim/2008/06/03/question/</link>
		<comments>http://cyberelk.net/tim/2008/06/03/question/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 10:46:19 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=264</guid>
		<description><![CDATA[&#8220;What shoes do fish wear?&#8221;  There must be loads of answers to this.

The best one I came up with: &#8216;igh &#8216;eels.
]]></description>
			<content:encoded><![CDATA[<p>&#8220;What shoes do fish wear?&#8221;  There must be loads of answers to this.</p>
<p><span id="more-264"></span></p>
<p>The best one I came up with: <strong>&#8216;igh &#8216;eels</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/06/03/question/feed/</wfw:commentRss>
		</item>
		<item>
		<title>git-merge-changelog</title>
		<link>http://cyberelk.net/tim/2008/05/29/git-merge-changelog/</link>
		<comments>http://cyberelk.net/tim/2008/05/29/git-merge-changelog/#comments</comments>
		<pubDate>Thu, 29 May 2008 12:45:39 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=263</guid>
		<description><![CDATA[Bruno Haible&#8217;s git merge driver for GNU-style ChangeLog files (available in gnulib) is really useful for those of us who prefer to document changes as we go along rather than all at once when committing them.  Paolo Bonzini has posted a script for packaging it into a tarball.
Unfortunately it doesn&#8217;t seem to cope very well [...]]]></description>
			<content:encoded><![CDATA[<p>Bruno Haible&#8217;s git <a href="http://www.mail-archive.com/bug-gnulib@gnu.org/msg09183.html">merge driver for GNU-style ChangeLog files</a> (<a href="http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c">available in gnulib</a>) is really useful for those of us who prefer to document changes as we go along rather than all at once when committing them.  Paolo Bonzini has <a href="http://www.mail-archive.com/bug-gnulib@gnu.org/msg09699.html">posted a script</a> for packaging it into a tarball.</p>
<p>Unfortunately it doesn&#8217;t seem to cope very well with having multiple ChangeLog entries added on the same date without separate date stamps, and I don&#8217;t know how to tell emacs to always add a new date stamp line when using it to add ChangeLog entries (C-x 4 a).</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/05/29/git-merge-changelog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Version 1.0.0</title>
		<link>http://cyberelk.net/tim/2008/05/29/version-100/</link>
		<comments>http://cyberelk.net/tim/2008/05/29/version-100/#comments</comments>
		<pubDate>Thu, 29 May 2008 11:23:36 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=259</guid>
		<description><![CDATA[I&#8217;ve released system-config-printer 1.0.0 and built it for Fedora&#8217;s development tree.  The main focus has been improving the way the application looks and behaves. One new feature I&#8217;ve been working on is the improved Windows print share browser. Instead of executing the smbclient command and parsing its output to find print shares, the new [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released <a href="http://cyberelk.net/tim/software/system-config-printer/trackback/">system-config-printer</a> 1.0.0 and built it for Fedora&#8217;s development tree.  The main focus has been improving the way the application looks and behaves. One new feature I&#8217;ve been working on is the improved Windows print share browser. Instead of executing the smbclient command and parsing its output to find print shares, the new browser uses libsmbclient. Print shares which cannot be discovered without authentication should now appear in the browser, after a prompt for the user name and password.</p>
<p><span id="more-259"></span></p>
<p>There is also support for proxy authentication.  This is when you have submitted a print job to a queue for a network printer, but the remote printer requires authentication.  When this happens, the CUPS backend responsible for transporting the job to the network printer stops and waits for authentication details.  In system-config-printer 1.0.0, the print applet now spots this, displays an authentication dialog, and passes this to CUPS for it to complete the job.</p>
<p>This works for the ipp backend, but not yet for the smb backend.  The samba v3-2-test branch has code to deal with this, but it doesn&#8217;t yet work for me (although I have a one line change that fixes it for me).  As a result, the &#8220;prompt user for authentication&#8221; option just has the effect of not providing any authentication details at all at the moment.</p>
<p><a href="http://cyberelk.net/tim/wp-content/uploads/2008/05/screenshot-printer-configuration-localhost.png"><img class="alignnone size-full wp-image-261" title="Main window" src="http://cyberelk.net/tim/wp-content/uploads/2008/05/screenshot-printer-configuration-localhost.png" alt="Main window" width="387" height="388" /></a></p>
<p><a href="http://cyberelk.net/tim/wp-content/uploads/2008/05/screenshot-new-printer.png"><img class="alignnone size-medium wp-image-260" title="SMB dialog" src="http://cyberelk.net/tim/wp-content/uploads/2008/05/screenshot-new-printer-300x267.png" alt="SMB dialog" width="300" height="267" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/05/29/version-100/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Moving from subversion to git</title>
		<link>http://cyberelk.net/tim/2008/05/21/moving-from-subversion-to-git/</link>
		<comments>http://cyberelk.net/tim/2008/05/21/moving-from-subversion-to-git/#comments</comments>
		<pubDate>Wed, 21 May 2008 15:18:04 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=253</guid>
		<description><![CDATA[The system-config-printer repository at fedorahosted.org, currently using subversion, will shortly be migrating to git.  I&#8217;ll add a comment here when it&#8217;s done.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-254" title="git" src="http://cyberelk.net/tim/wp-content/uploads/2008/05/git.png" alt="" width="23" height="22" />The system-config-printer repository at fedorahosted.org, currently using subversion, will shortly be migrating to git.  I&#8217;ll add a comment here when it&#8217;s done.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/05/21/moving-from-subversion-to-git/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Proxy authentication</title>
		<link>http://cyberelk.net/tim/2008/04/17/proxy-authentication/</link>
		<comments>http://cyberelk.net/tim/2008/04/17/proxy-authentication/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 17:48:29 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/?p=249</guid>
		<description><![CDATA[I just submitted a samba patch to add support for proxy authentication to the CUPS &#8217;smb&#8217; backend.  This makes printing to Windows shared printers a little bit better: instead of having to set the user name and password as part of the CUPS print queue definition, jobs requiring authentication details can now collect them [...]]]></description>
			<content:encoded><![CDATA[<p>I just submitted a samba patch to add support for proxy authentication to the CUPS &#8217;smb&#8217; backend.  This makes printing to Windows shared printers a little bit better: instead of having to set the user name and password as part of the CUPS print queue definition, jobs requiring authentication details can now collect them from the user who submitted the job.</p>
<p><img class="alignnone size-full wp-image-250" title="Authentication dialog" src="http://cyberelk.net/tim/wp-content/uploads/2008/04/proxy-auth.png" alt="" width="326" height="251" /></p>
<p><span id="more-249"></span></p>
<p>Meanwhile, the job is held in the queue:</p>
<p><img class="alignnone size-full wp-image-252" title="Job Held" src="http://cyberelk.net/tim/wp-content/uploads/2008/04/proxy-auth-job-held.png" alt="" width="450" height="132" /></p>
<p>It resumes processing once the authentication details are supplied.  Still to do: use GNOME Keyring to store the details, to prevent having to enter them over and over again when printing several jobs.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/04/17/proxy-authentication/feed/</wfw:commentRss>
		</item>
		<item>
		<title>0.9.90 release, heading towards 1.0.0</title>
		<link>http://cyberelk.net/tim/2008/04/03/0990-release-heading-towards-100/</link>
		<comments>http://cyberelk.net/tim/2008/04/03/0990-release-heading-towards-100/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 14:25:14 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/2008/04/03/0990-release-heading-towards-100/</guid>
		<description><![CDATA[I&#8217;ve just released system-config-printer 0.9.90, a stepping-stone on the way towards a 1.0.0 release.

Here are some of the improvements:

The configuration tool window has been made a lot simpler.  Instead of a list of printer names on the left and properties for the selected printer on the right, now there is just a box containing icons [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just released system-config-printer 0.9.90, a stepping-stone on the way towards a 1.0.0 release.</p>
<p><span id="more-248"></span></p>
<p>Here are some of the improvements:</p>
<ul>
<li>The configuration tool window has been made a lot simpler.  Instead of a list of printer names on the left and properties for the selected printer on the right, now there is just a box containing icons representing printers.  Double-clicking on a printer opens a properties dialog.</li>
<li>The CUPS authentication dialog now selects the appropriate user-name, and allows it to be altered mid-operation.</li>
<li>When the configuration tool is running, its list of printers is now updated dynamically.</li>
<li>All jobs queued for a specific printer can be seen by right-clicking on a printer icon and selecting &#8216;View Print Queue&#8217;.  To see jobs queue on several printers, select the desired printers first before right-clicking.  To see all jobs, right-click with no printers selected.</li>
<li>The job monitoring tool now displays a message when a job has failed.  If the printer has been stopped as a result, this is shown in the message.  A &#8220;Diagnose&#8221; button starts the trouble-shooter.</li>
<li>The job monitoring tool now performs proxy authentication.  When a job is submitted but the CUPS backend requires further authentication information from the user, it stops the job.  In this situation, the job monitoring tool will now display an authentication dialog so that the job can proceed.</li>
</ul>
<p>When 1.0.0 is released it will make its way into Fedora 10.  Depending on what sort of shape it is in, it might be released as an update for Fedora 9.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/04/03/0990-release-heading-towards-100/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New (old) user interface for printer configuration</title>
		<link>http://cyberelk.net/tim/2008/03/13/new-old-user-interface-for-printer-configuration/</link>
		<comments>http://cyberelk.net/tim/2008/03/13/new-old-user-interface-for-printer-configuration/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 16:32:58 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/2008/03/13/new-old-user-interface-for-printer-configuration/</guid>
		<description><![CDATA[I spent a bit of time today experimenting with making the system-config-printer user interface look a bit more like the gnome-cups-manager interface did, after several people mentioned they preferred it.  The aim is to make it look less cluttered, more friendly, and generally cleaner.  This is the first time I&#8217;ve used an IconView [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cyberelk.net/tim/2008/03/13/new-old-user-interface-for-printer-configuration/"><img src="http://cyberelk.net/tim/wp-content/uploads/2008/03/newui-icon.png" class="alignleft" alt="New UI icon" /></a>I spent a bit of time today experimenting with making the system-config-printer user interface look a bit more like the gnome-cups-manager interface did, after several people mentioned they preferred it.  The aim is to make it look less cluttered, more friendly, and generally cleaner.  This is the first time I&#8217;ve used an IconView in GTK+ and it&#8217;s much easier to use than I had expected.  Screenshot below.</p>
<p><span id="more-245"></span></p>
<p><img src="http://cyberelk.net/tim/wp-content/uploads/2008/03/newui.png" alt="New UI screenshot" /></p>
<p>The printer properties and server settings are now in separate dialog boxes, although it doesn&#8217;t all work correctly yet.</p>
<p>I&#8217;ve checked this code in to the &#8216;new-ui&#8217; branch.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/03/13/new-old-user-interface-for-printer-configuration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Python bindings for libsmbclient</title>
		<link>http://cyberelk.net/tim/2008/03/11/python-bindings-for-libsmbclient/</link>
		<comments>http://cyberelk.net/tim/2008/03/11/python-bindings-for-libsmbclient/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 16:33:59 +0000</pubDate>
		<dc:creator>tim</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cyberelk.net/tim/2008/03/11/python-bindings-for-libsmbclient/</guid>
		<description><![CDATA[I&#8217;ve just put together some minimal Python bindings for libsmbclient, following on from what I said earlier.  All that&#8217;s wrapped is enough for it to be useful for discovering printer shares, so that&#8217;s: the SMB context object, the opendir() method and the getdents() method.  There&#8217;s an example included called test.py, which shows it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just put together some minimal Python bindings for libsmbclient, following on from <a href="http://cyberelk.net/tim/2008/03/11/tasks-for-fixing-smb-printer-browsing/trackback/">what I said earlier</a>.  All that&#8217;s wrapped is enough for it to be useful for discovering printer shares, so that&#8217;s: the SMB context object, the opendir() method and the getdents() method.  There&#8217;s an example included called <code>test.py</code>, which shows it in action.  I&#8217;ve included some <a href="http://cyberelk.net/tim/data/pysmbc/html/">API documentation</a> as well.</p>
<p><span id="more-244"></span></p>
<p>Simply put, it goes like this:</p>
<p><code>&gt;&gt;&gt; import smbc<br />
&gt;&gt;&gt; ctx = smbc.Context (debug=..., flags=..., auth_fn=...)<br />
&gt;&gt;&gt; dir = ctx.opendir ("smb://")<br />
&gt;&gt;&gt; print (dir.getdents ())<br />
[&lt;smbc.Dirent object "MYGROUP" (Workgroup) at 0x2aaaaaaf30f8&gt;,<br />
&lt;smbc.Dirent object "WORKGROUP" (Workgroup) at 0x2aaaaaaf32d8&gt;]<br />
</code></p>
<p>(Note that dir is an object representing a SMBCFILE* with a particular SMBCCTX*, and it calls closedir() automatically when it is cleaned up.)</p>
<p>It&#8217;s fairly easy to imagine it being extended to cover the rest of the libsmbclient API, but for now that is all.</p>
<p>I&#8217;ve put the tarball <a href="http://cyberelk.net/tim/data/pysmbc/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyberelk.net/tim/2008/03/11/python-bindings-for-libsmbclient/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
