<?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>Niall's Weblog &#187; BitTorrent</title>
	<atom:link href="http://niallohiggins.com/tag/bittorrent/feed/" rel="self" type="application/rss+xml" />
	<link>http://niallohiggins.com</link>
	<description>The website of Niall O'Higgins: A few, immature words</description>
	<lastBuildDate>Wed, 17 Feb 2010 18:49:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Windows, P2P, network freezes and the TCP `half-open&#8217; state</title>
		<link>http://niallohiggins.com/2009/05/18/windows-p2p-network-freezes-and-the-tcp-half-open-state/</link>
		<comments>http://niallohiggins.com/2009/05/18/windows-p2p-network-freezes-and-the-tcp-half-open-state/#comments</comments>
		<pubDate>Tue, 19 May 2009 05:27:23 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[TCP/IP]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/?p=474</guid>
		<description><![CDATA[Have you ever tried to run a very network-intensive P2P application on Windows XP SP2 or higher?  If so, you may have encountered very strange behaviour with the Windows TCP/IP network stack.  Specifically, you won&#8217;t be able to open any new TCP/IP connections, so web-browsing, email checking, SSH, etc will all be basically [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2009/05/18/windows-p2p-network-freezes-and-the-tcp-half-open-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenBSD&#8217;s omalloc: Bug and buffer overflow detection</title>
		<link>http://niallohiggins.com/2008/12/03/openbsds-omalloc-bug-and-buffer-overflow-detection/</link>
		<comments>http://niallohiggins.com/2008/12/03/openbsds-omalloc-bug-and-buffer-overflow-detection/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 02:30:37 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/?p=238</guid>
		<description><![CDATA[For quite a long time now, OpenBSD has, among numerous exploit mitigation techniques,  had a very strict mmap()-based malloc() implementation.  Recently re-written by Otto Moerbeek, it is even harsher now.  I find that this feature makes OpenBSD one of the best platforms to develop C programs on.  If you have a [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2008/12/03/openbsds-omalloc-bug-and-buffer-overflow-detection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unworkable 0.4 released</title>
		<link>http://niallohiggins.com/2008/01/07/unworkable-04-released/</link>
		<comments>http://niallohiggins.com/2008/01/07/unworkable-04-released/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 06:45:10 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Unworkable]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2008/01/07/unworkable-04-released/</guid>
		<description><![CDATA[I have just tagged, packaged and announced version 0.4 of my BitTorrent implementation, Unworkable.
Here are the release notes:

Implemented sending peer keep-alives.
Trace log now contains timestamps.
Make us more tolerant of intermittent tracker failures.
Added support for Arch Linux.
Fixed an off-by-four bug which could cause segfaults on some platforms.
Fix zero padding in peer id generation.
Overall code reduction and [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2008/01/07/unworkable-04-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BitTorrent Strategies: The Beginning</title>
		<link>http://niallohiggins.com/2007/12/27/bittorrent-strategies-the-beginning/</link>
		<comments>http://niallohiggins.com/2007/12/27/bittorrent-strategies-the-beginning/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 15:30:21 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[Unworkable]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/12/28/bittorrent-strategies-the-beginning/</guid>
		<description><![CDATA[To follow up on my last post on the bittorrent end-game, I&#8217;m going to write about a strategy to bootstrap a torrent download.  I am talking here about the case where you start a download with no existing data, in other words, from scratch.  As I described in one of my earlier articles [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/12/27/bittorrent-strategies-the-beginning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BitTorrent Strategies: The End Game</title>
		<link>http://niallohiggins.com/2007/12/26/bittorrent-strategies-the-end-game/</link>
		<comments>http://niallohiggins.com/2007/12/26/bittorrent-strategies-the-end-game/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 07:51:55 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[p2p]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/12/26/bittorrent-strategies-the-end-game/</guid>
		<description><![CDATA[Downloads in BitTorrent take place according to a number of strategies, which map to stages.  Initiating  a torrent download has one strategy, normal operation has another strategy, and finally pulling down the last remaining pieces has yet another strategy.
The End Game is the name for the final download strategy &#8211; there is a [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/12/26/bittorrent-strategies-the-end-game/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BitTorrent Distributed Hash Table (DHT) or Trackerless BitTorrent I</title>
		<link>http://niallohiggins.com/2007/12/24/bittorrent-distributed-hash-table-dht-or-trackerless-bittorrent-i/</link>
		<comments>http://niallohiggins.com/2007/12/24/bittorrent-distributed-hash-table-dht-or-trackerless-bittorrent-i/#comments</comments>
		<pubDate>Tue, 25 Dec 2007 02:12:06 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Maths]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[Unworkable]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/12/24/bittorrent-distributed-hash-table-dht-or-trackerless-bittorrent-i/</guid>
		<description><![CDATA[One of the more interesting extensions to the BitTorrent protocol has been the introduction of a distributed hash table implementation.  As mentioned in my previous article on the basics of the BitTorrent protocol, traditionally BitTorrent relies upon a centralised &#8220;tracker&#8221; application &#8211; which runs over standard HTTP &#8211; in order to facilitate contacting peers [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/12/24/bittorrent-distributed-hash-table-dht-or-trackerless-bittorrent-i/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Decoupled Python GUI Construction, or BitTorrent visualisation</title>
		<link>http://niallohiggins.com/2007/12/22/decoupled-python-gui-construction-or-bittorrent-visualisation/</link>
		<comments>http://niallohiggins.com/2007/12/22/decoupled-python-gui-construction-or-bittorrent-visualisation/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 10:07:25 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Unworkable]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/12/22/decoupled-python-gui-construction-or-bittorrent-visualisation/</guid>
		<description><![CDATA[While in general I appreciate very simple, no-nonsense user interfaces for applications that work efficiently on the console and so can be used via SSH, there are times when increased visualisation is very useful.
Specifically with regard to my BitTorrent client, Unworkable, the default user interface is exceedingly simple.  Inspired by the ubiquitous scp program [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/12/22/decoupled-python-gui-construction-or-bittorrent-visualisation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unworkable 0.3 released</title>
		<link>http://niallohiggins.com/2007/12/20/unworkable-03-released/</link>
		<comments>http://niallohiggins.com/2007/12/20/unworkable-03-released/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 21:41:04 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Unworkable]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/12/20/unworkable-03-released/</guid>
		<description><![CDATA[I have just tagged, packaged and announced version 0.3 of my BitTorrent implementation, Unworkable.  My goal with Unworkable is to make releases frequently &#8211; hopefully twice a month or so &#8211; with incremental improvements each release.  The hope is that each release should be of a higher quality than the last.  Therefore [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/12/20/unworkable-03-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Porting software from OpenBSD to Windows</title>
		<link>http://niallohiggins.com/2007/12/08/porting-software-from-openbsd-to-windows/</link>
		<comments>http://niallohiggins.com/2007/12/08/porting-software-from-openbsd-to-windows/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 00:20:14 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Porting]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/12/08/porting-software-from-openbsd-to-windows/</guid>
		<description><![CDATA[
Just committed the bits for Unworkable to build under Windows, using Cygwin.  The code changes were pretty minimal &#8211; specifically, Cygwin lacks getaddrinfo()  &#8211; however this was a relatively simple matter of bundling the KAME implementation (which is BSD licensed) in the source tree and building and linking with that if it wasn&#8217;t [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/12/08/porting-software-from-openbsd-to-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Porting software from OpenBSD to Linux II</title>
		<link>http://niallohiggins.com/2007/11/19/porting-software-from-openbsd-to-linux-ii/</link>
		<comments>http://niallohiggins.com/2007/11/19/porting-software-from-openbsd-to-linux-ii/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 04:55:49 +0000</pubDate>
		<dc:creator>niallo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Porting]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://niallohiggins.com/2007/11/19/porting-software-from-openbsd-to-linux-ii/</guid>
		<description><![CDATA[
I wrote the other day about porting software to Linux.  I talked about some of the differences between the platforms in terms of the implementation of some well-known C library functions, and hinted at some other incompatibilities.  Well, now I&#8217;m going to write about some of the other issues I encountered.


There are a [...]]]></description>
		<wfw:commentRss>http://niallohiggins.com/2007/11/19/porting-software-from-openbsd-to-linux-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
