<?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>King of the Potato People</title>
	<atom:link href="http://www.potato-people.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.potato-people.com/blog</link>
	<description>Code, photos and ramblings of Rick Hodger</description>
	<pubDate>Wed, 12 Nov 2008 11:35:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Limit total bandwidth on Linux</title>
		<link>http://www.potato-people.com/blog/2008/11/limit-total-bandwidth-on-linux/</link>
		<comments>http://www.potato-people.com/blog/2008/11/limit-total-bandwidth-on-linux/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 11:35:29 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[bandwidth]]></category>

		<category><![CDATA[bits]]></category>

		<category><![CDATA[bytes]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=29</guid>
		<description><![CDATA[Want to limit the total bandwidth available to a Linux server, and don&#8217;t want to do it at the switch or router? Here&#8217;s how!

Simply use the Linux traffic control tools as follows. First enter:
tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 100mbit
Now enter the following line. This line sets the bandwidth [...]]]></description>
			<content:encoded><![CDATA[<p>Want to limit the total bandwidth available to a Linux server, and don&#8217;t want to do it at the switch or router? Here&#8217;s how!</p>
<p><span id="more-29"></span></p>
<p>Simply use the Linux traffic control tools as follows. First enter:</p>
<p><code>tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 100mbit</code></p>
<p>Now enter the following line. This line sets the bandwidth rate; note the &#8220;256kbit&#8221;. This will limit our server to 256Kbps.</p>
<p><code>tc class add dev eth0 parent 1: classid 1:1 cbq rate 256kbit allot 1500 prio 5 bounded isolated</code></p>
<p>And lastly:</p>
<p><code>tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 0/0 flowid 1:1</code></p>
<p>For more informtation on how this works, type &#8216;man tc&#8217; at your console.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/11/limit-total-bandwidth-on-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spamhaus DROP list</title>
		<link>http://www.potato-people.com/blog/2008/09/spamhaus-drop-list/</link>
		<comments>http://www.potato-people.com/blog/2008/09/spamhaus-drop-list/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 10:04:45 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Geek]]></category>

		<category><![CDATA[ISP]]></category>

		<category><![CDATA[anti]]></category>

		<category><![CDATA[antispam]]></category>

		<category><![CDATA[spam]]></category>

		<category><![CDATA[spamhaus]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=25</guid>
		<description><![CDATA[The Spamhaus DROP list (Don&#8217;t Route or Peer) is still awaiting it&#8217;s BGP feed for network providers. So in the meantime, I&#8217;ve knocked up a little PHP script that downloads the DROP list from Spamhaus and spits out either a list of IPtables rules or a Cisco access control list.
View Source: http://www.potato-people.com/code/misctools/spamhausdrop.phps
Download: http://www.potato-people.com/code/misctools/spamhausdrop.tar.gz
]]></description>
			<content:encoded><![CDATA[<p>The Spamhaus DROP list (Don&#8217;t Route or Peer) is still awaiting it&#8217;s BGP feed for network providers. So in the meantime, I&#8217;ve knocked up a little PHP script that downloads the DROP list from Spamhaus and spits out either a list of IPtables rules or a Cisco access control list.</p>
<p>View Source: <a href="http://www.potato-people.com/code/misctools/spamhausdrop.phps">http://www.potato-people.com/code/misctools/spamhausdrop.phps</a></p>
<p>Download: <a href="http://www.potato-people.com/code/misctools/spamhausdrop.tar.gz">http://www.potato-people.com/code/misctools/spamhausdrop.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/09/spamhaus-drop-list/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pet Hate: MTR</title>
		<link>http://www.potato-people.com/blog/2008/09/pet-hate-mtr/</link>
		<comments>http://www.potato-people.com/blog/2008/09/pet-hate-mtr/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 09:49:10 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[ISP]]></category>

		<category><![CDATA[icmp]]></category>

		<category><![CDATA[loss]]></category>

		<category><![CDATA[measuring]]></category>

		<category><![CDATA[mtr]]></category>

		<category><![CDATA[packet]]></category>

		<category><![CDATA[ping]]></category>

		<category><![CDATA[router]]></category>

		<category><![CDATA[traceroute]]></category>

		<category><![CDATA[winmtr]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=21</guid>
		<description><![CDATA[MTR, also known as Matt's Trace Route, is an enahanced traceroute utility which after making the initial run continues to rerun the traceroute and calculate hop-specific packet loss and latencies.

Unfortunately, virtually everytime someone calls me and mentions "packet loss" and "MTR" in the same breath, it's because they do not understand the output. ]]></description>
			<content:encoded><![CDATA[<p>MTR, also known as Matt&#8217;s Trace Route, is an enahanced traceroute utility which after making the initial run continues to rerun the traceroute and calculate hop-specific packet loss and latencies.</p>
<p>Unfortunately, virtually everytime someone calls me and mentions &#8220;packet loss&#8221; and &#8220;MTR&#8221; in the same breath, it&#8217;s because they do not understand the output.</p>
<p><span id="more-21"></span></p>
<p>I&#8217;m going to assume you already know what a traceroute is, and what it does. MTR runs a traceroute over and over for infinity in order to identify possible faulty routers or links. For example, this is an mtr from my server to www.linx.net:</p>
<p><code>My traceroute  [v0.72]<br />
mashed (0.0.0.0)                                       Mon Sep  8 10:14:13 2008<br />
Keys:  Help   Display mode   Restart statistics   Order of fields   quit<br />
Packets               Pings<br />
Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev<br />
1. gw0.potato-people.com             0.0%    11    0.6   1.0   0.5   1.4   0.4<br />
2. gi0-3.br1.heron.bytel.net.uk      0.0%    11   98.8  13.9   0.5  98.8  31.1<br />
3. vlan1.br0.heron.bytel.net.uk      0.0%    11    2.3   1.9   1.0   2.6   0.5<br />
4. collector.linx.net                0.0%    10   19.6  18.4  17.3  20.0   1.0<br />
5. pink.linx.net                     0.0%    10   18.5  18.1  17.2  19.3   0.7</code></p>
<p>Pretty simple - each hop is identified, and then MTR repeats this (note the &#8220;Snt&#8221;, or sent packets column) and records the loss and latencies.</p>
<p><strong>Packet Loss</strong></p>
<p>If we saw a sudden jump to 50% loss at hop 3 and beyond, then we know there is a problem between hops 2 and 3, or at 3 itself. Eg:</p>
<p><code>My traceroute  [v0.72]<br />
mashed (0.0.0.0)                                       Mon Sep  8 10:14:13 2008<br />
Keys:  Help   Display mode   Restart statistics   Order of fields   quit<br />
Packets               Pings<br />
Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev<br />
1. gw0.potato-people.com             0.0%    11    0.6   1.0   0.5   1.4   0.4<br />
2. gi0-3.br1.heron.bytel.net.uk      0.0%    11   98.8  13.9   0.5  98.8  31.1<br />
3. vlan1.br0.heron.bytel.net.uk     50.0%    11    2.3   1.9   1.0   2.6   0.5<br />
4. collector.linx.net               50.0%    10   19.6  18.4  17.3  20.0   1.0<br />
5. pink.linx.net                    50.0%    10   18.5  18.1  17.2  19.3   0.7</code></p>
<p><strong>Measuring Routers</strong></p>
<p>Unfortuantely what I more often than not see, is something like this:</p>
<p><code>My traceroute  [v0.72]<br />
mashed (0.0.0.0)                                       Mon Sep  8 10:14:13 2008<br />
Keys:  Help   Display mode   Restart statistics   Order of fields   quit<br />
Packets               Pings<br />
Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev<br />
1. gw0.potato-people.com             0.0%    11    0.6   1.0   0.5   1.4   0.4<br />
2. gi0-3.br1.heron.bytel.net.uk      9.0%    11   98.8  13.9   0.5  98.8  31.1<br />
3. vlan1.br0.heron.bytel.net.uk      3.0%    11    2.3   1.9   1.0   2.6   0.5<br />
4. collector.linx.net                0.0%    10   19.6  18.4  17.3  20.0   1.0<br />
5. pink.linx.net                     0.0%    10   18.5  18.1  17.2  19.3   0.7</code></p>
<p>This example shows lost packets at hops 2 and 3 but - and here&#8217;s the important part - not beyond hops 2 or 3. In this case, the MTR is measuring the CPU load of the router at those hops, not the packet loss on the connection. Check hop 5 - no packets have been dropped at the actual destination.</p>
<p>You see, nearly all routers, much like computers, have a list of priorities of things they have to deal with. Forwarding packets between ports is the highest priority. Things such as routing protocols come second, the management interface (whether it be by web, telnet or serial console) come second. Responding to packets sent directly to the router comes long after everything else.</p>
<p>So, if a router is paticularly busy and has a lot of packets to forward, it&#8217;ll drop the lowest priority things to get a few more CPU cycles. This means the first thing to get dropped from it&#8217;s list of things to do, when under stress, is responding to packets sent directly to the router.</p>
<p><strong>ICMP is lossy</strong></p>
<p>Ping, traceroute and MTR all use the ICMP protocol, and ICMP is very, very lossy. That means that packets will and should be expected to drop. In the example below, we can see a level of packet loss across all hops. However, check the &#8220;Snt&#8221; column - this MTR has been running for some time, and sent over 1400 packets to each hop. This MTR measures nothing more than the lossy nature of ICMP over a long time period. Pure background noise.</p>
<p><code>My traceroute  [v0.72]<br />
mashed (0.0.0.0)                                       Mon Sep  8 10:38:03 2008<br />
Keys:  Help   Display mode   Restart statistics   Order of fields   quit<br />
Packets               Pings<br />
Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev<br />
1. gw0.potato-people.com             0.8%  1439    2.6   1.0   0.5  12.0   1.1<br />
2. gi0-3.br1.heron.bytel.net.uk      1.4%  1439    1.1   4.3   0.3 217.2  21.5<br />
3. vlan1.br0.heron.bytel.net.uk      1.3%  1438    1.6   6.0   0.6 208.5  24.2<br />
4. collector.linx.net                1.3%  1438   18.3  27.5  16.2 395.3  36.0<br />
5. pink.linx.net                     1.5%  1438   18.9  18.3  16.2  27.9   1.0</code></p>
<p><strong>Turning off ICMP</strong></p>
<p>It&#8217;s for these very reasons that an increasing number of ISPs are disabling the ability to do traceroutes across their network. It used to be that this was done for security - it&#8217;s much harder to hack into someone&#8217;s network if you do not know the addresses of any of the routers or switches - but now it&#8217;s done for a combination of security and to stop calls from customers who don&#8217;t know how to interpret the results of a tool that, for example, some VoIP company said they should run.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/09/pet-hate-mtr/feed/</wfw:commentRss>
		</item>
		<item>
		<title>North East Coast of Northern Ireland</title>
		<link>http://www.potato-people.com/blog/2008/08/north-east-coast-of-northern-ireland/</link>
		<comments>http://www.potato-people.com/blog/2008/08/north-east-coast-of-northern-ireland/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 10:41:27 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Photography]]></category>

		<category><![CDATA[antrim]]></category>

		<category><![CDATA[coast]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=16</guid>
		<description><![CDATA[

]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 710px"><img title="Dunluce Castle" src="http://www.rickhodgerphotography.com/portfolio/IMG_CvB25I.jpg" alt="Dunluce Castle, Inner Courtyard" width="700" height="501" /><p class="wp-caption-text">Dunluce Castle, Inner Courtyard</p></div>
<p><span id="more-16"></span></p>
<div class="wp-caption alignnone" style="width: 810px"><img title="Carrick-a-rede Rope Bridge" src="http://www.rickhodgerphotography.com/portfolio/IMG_0mFrbk.jpg" alt="Carrick-a-rede Rope Bridge" width="800" height="415" /><p class="wp-caption-text">Carrick-a-rede Rope Bridge</p></div>
<div class="wp-caption aligncenter" style="width: 469px"><img title="Dunluce Castle, Entryway" src="http://www.rickhodgerphotography.com/portfolio/IMG_ef1o4G.jpg" alt="Dunluce Castle, Entryway" width="459" height="600" /><p class="wp-caption-text">Dunluce Castle, Entryway</p></div>
<div class="wp-caption aligncenter" style="width: 490px"><img title="Dunluce Castle, Entryway Parapet" src="http://www.rickhodgerphotography.com/portfolio/IMG_UnLliO.jpg" alt="Dunluce Castle, Entryway Parapet" width="480" height="700" /><p class="wp-caption-text">Dunluce Castle, Entryway Parapet</p></div>
<div class="wp-caption aligncenter" style="width: 710px"><img title="Dunseverick Castle" src="http://www.rickhodgerphotography.com/portfolio/IMG_kvAZDZ.jpg" alt="Dunseverick Castle" width="700" height="599" /><p class="wp-caption-text">Dunseverick Castle</p></div>
<div class="wp-caption aligncenter" style="width: 710px"><img title="Coastline West of Dunluce Castle" src="http://www.rickhodgerphotography.com/portfolio/IMG_hY7EV3.jpg" alt="Coastline West of Dunluce Castle" width="700" height="469" /><p class="wp-caption-text">Coastline West of Dunluce Castle</p></div>
<div class="wp-caption aligncenter" style="width: 471px"><img title="Coastline East of Dunluce Castle" src="http://www.rickhodgerphotography.com/portfolio/IMG_WtOh3B.jpg" alt="Coastline East of Dunluce Castle" width="461" height="600" /><p class="wp-caption-text">Coastline East of Dunluce Castle</p></div>
<div class="wp-caption aligncenter" style="width: 710px"><img title="White Bay, County Antrim" src="http://www.rickhodgerphotography.com/portfolio/IMG_kSLqUK.jpg" alt="White Bay, County Antrim" width="700" height="469" /><p class="wp-caption-text">White Bay, County Antrim</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/08/north-east-coast-of-northern-ireland/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Further musings on measuring bandwidth</title>
		<link>http://www.potato-people.com/blog/2008/08/further-musings-on-measuring-bandwidth/</link>
		<comments>http://www.potato-people.com/blog/2008/08/further-musings-on-measuring-bandwidth/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 11:02:50 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[ISP]]></category>

		<category><![CDATA[adsl]]></category>

		<category><![CDATA[bandwidth]]></category>

		<category><![CDATA[broadband]]></category>

		<category><![CDATA[measurement]]></category>

		<category><![CDATA[sdsl]]></category>

		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=12</guid>
		<description><![CDATA[A few further thoughts on things that people forget to take into account when attempting to measure bandwidth:

When measuring bandwidth, attempt to use a site or tool that is close to your ISP. If you&#8217;re in the UK and you try to test your connection using a site hosted in the US it&#8217;s never going [...]]]></description>
			<content:encoded><![CDATA[<p>A few further thoughts on things that people forget to take into account when attempting to measure bandwidth:</p>
<ul>
<li>When measuring bandwidth, attempt to use a site or tool that is close to your ISP. If you&#8217;re in the UK and you try to test your connection using a site hosted in the US it&#8217;s never going to give you a decent idea of your speed. I recommend <a href="http://www.speedtest.net/" target="_blank">Speedtest.net</a>, as it&#8217;s a single tool that can test to a multitude of different locations and will give you a much better idea of exactly how your line is performing.</li>
<li>Remember to allow around 10% for overheads. An 8Mb ADSL line will top out at 7.2Mbps. This is due to overheads for the ADSL line itself: a certain amount of bandwidth is required to manage your packets that will not be visible on any web-based bandwidth test.</li>
<li>Any download requires a certain amount of packets to be sent in the opposite direction. Usually these are acknowledgement packets to assure the server you are downloading from that everything is being received okay (or not, as the case may be). Again, that magic 10% figure is the one to watch out for. A 1Mbps download will roughly need a 100Kbps upload. If you are using up all your upload bandwidth, your download bandwidth will be poor.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/08/further-musings-on-measuring-bandwidth/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dealing with DMCA notices in the UK</title>
		<link>http://www.potato-people.com/blog/2008/06/dealing-with-dmca-notices-in-the-uk/</link>
		<comments>http://www.potato-people.com/blog/2008/06/dealing-with-dmca-notices-in-the-uk/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 14:48:56 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[ISP]]></category>

		<category><![CDATA[copyright]]></category>

		<category><![CDATA[dmca]]></category>

		<category><![CDATA[notice.]]></category>

		<category><![CDATA[takedown]]></category>

		<category><![CDATA[uk]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=11</guid>
		<description><![CDATA[As I work in a ISP, I (unfortunately) have to deal with the abuse mailbox. And unfortuantely, these means responding to DMCA notices from US companies. How do you deal with a copyright infringement happening on your network, but when the holder is in the US and trying to apply US law?
DISCLAIMER: I am not [...]]]></description>
			<content:encoded><![CDATA[<p>As I work in a ISP, I (unfortunately) have to deal with the abuse mailbox. And unfortuantely, these means responding to DMCA notices from US companies. How do you deal with a copyright infringement happening on your network, but when the holder is in the US and trying to apply US law?</p>
<p><strong>DISCLAIMER: I am not a solicitor.</strong></p>
<p><span id="more-11"></span></p>
<p>The US DMCA act allows a copyright holder to issue what is commonly known as a DMCA takedown notice. In some cases, such as <a href="http://www.mediasentry.com/" target="_blank">MediaSentry</a>, they&#8217;ll even try to insist that you completely disconnect the user.</p>
<p>Unfortunately (or fortunately) the US DMCA act cannot be enforced in the UK. So the actual notice and demand is completely invalid. Does that mean you can ignore it? No. The US company could still pursue damages in a US court and most likely win. Once they have a judgement against you, they could then bring it to the UK - and as an ISP, you don&#8217;t want that to happen.</p>
<p>I handle it by contacting the user directly, informing them that we have a alleged copyright infringement against them and that the need to cease and desist using any Bittorrent, Limewire, eDonkey or whatever their flavour of Peer-2-Peer software is. After that, the response I send to the copyright holder is as follows:</p>
<blockquote><p>Please note that we are a UK company and under UK law the DMCA act does not have a equivelent provision. However, in the intrests of protecting your represented copyright holder we have acted upon this notice and the user identified by IP address xx.xx.xx.xx has been reprimanded.</p>
<p>Under section 35 of the UK Data Protection Act of 1998, we cannot provide any additional information unless presented with a certified  UK court order.</p></blockquote>
<p>This fulfills two things: It informs the US company that you can&#8217;t apply US law to a UK company. Secondly, it shows that you&#8217;re still willing to comply and help out to the best of your ability. Section 35 of the UK Data Protection Act is real, and states that you cannot give information about your customers to a third party with a court order (or subpeona, for those in the US).</p>
<p><strong>Example DMCA Takedown Notice</strong></p>
<p>abuse@xxxxxxx.uk</p>
<p>Sunday, June 01, 2008<br />
[company]<br />
[address]</p>
<p>RE:  Unauthorized Distribution of the following media:<br />
XXXXXXXX</p>
<p>Dear Abuse Department:</p>
<p>We are writing this letter on behalf of XXXXXX. No one is authorized to perform, exhibit, reproduce, transmit, or otherwise distribute the above-mentioned work without the express written permission of the copyright owner, permission which has not been granted to XX.XX.XX.XX.</p>
<p>We have received information that an individual has utilized the above-referenced IP address at the noted date and time to offer downloads of the above-mentioned work through a &#8220;peer-to-peer&#8221; service. The included documentation specifies the location on your network where the infringement occurred, as well as any other available identifying information. The distribution of unauthorized copies of copyrighted media constitutes copyright infringement under the Copyright Act, Title 17 United States Code Section 106(3). This conduct may also violate the laws of other countries, international law, and/or treaty obligations.</p>
<p>Since you own this IP address, we request that you immediately do the following:</p>
<p>1) Disable access to the individual who has engaged in the conduct described above; and<br />
2) Terminate any and all accounts that this individual has through you.</p>
<p>On behalf of XXXXXX, the owner of the exclusive rights to the copyrighted material at issue in this notice, we hereby state, pursuant to the Digital Millennium Copyright Act, Title 17 United States Code Section 512, that we have a good faith belief that use of the material in the manner complained of is not authorized by the copyright owner, its respective agents, or the law. Also pursuant to the Digital Millennium Copyright Act, we hereby state that we believe the information in this notification is accurate, and, under penalty of perjury, that we are authorized to act on behalf of the owner of the exclusive rights being infringed as set forth in this notification.</p>
<p>Please contact us at the above listed address or by replying to this email should you have any questions. We appreciate your assistance and thank you for your cooperation in this matter. In your future correspondence with us, please refer to Case ID XXXXXXXXX. Your prompt response is requested.</p>
<p>Respectfully,</p>
<p>XXXXXXXX<br />
SafeNet Enfocement Coordinator</p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/06/dealing-with-dmca-notices-in-the-uk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Measuring bandwidth</title>
		<link>http://www.potato-people.com/blog/2008/04/measuring-bandwidth/</link>
		<comments>http://www.potato-people.com/blog/2008/04/measuring-bandwidth/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 18:04:42 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[adsl]]></category>

		<category><![CDATA[bandwidth]]></category>

		<category><![CDATA[bits]]></category>

		<category><![CDATA[bytes]]></category>

		<category><![CDATA[limits]]></category>

		<category><![CDATA[math]]></category>

		<category><![CDATA[throughput]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=9</guid>
		<description><![CDATA[An issue that comes up for me at work time and time again is customers misunderstanding how bandwidth is measured.

Data is traditionally measured in Bytes. A CD contains 650MBytes of data. Bandwidth is measured in bits however, and this is what most customers misunderstand. A CD measured in terms of bandwidth, is 5,200Mbits (there are [...]]]></description>
			<content:encoded><![CDATA[<p>An issue that comes up for me at work time and time again is customers misunderstanding how bandwidth is measured.</p>
<p><span id="more-9"></span></p>
<p>Data is traditionally measured in Bytes. A CD contains 650MBytes of data. Bandwidth is measured in bits however, and this is what most customers misunderstand. A CD measured in terms of bandwidth, is 5,200Mbits (there are 8 bits per byte). Note that in writing, you use a capital &#8216;B&#8217; to denote Bytes, and a lower-case &#8216;b&#8217; to denote bits.</p>
<p>The issue is that bandwidth is traditionally measured in bits, not bytes. A 1Mbit circuit lets you download at 100KBytes/second. A lot of people make the mistake of thinking that a 1Mbit circuit is the same as downloading at 1MBytes/second.</p>
<p>This becomes a problem when a customer - as has happened today - complains of a slow speed problem. The systems (which I built and maintain) show this customer as downloading up to 32Gbits per day. They dispute this via the phone, proclaiming that they only downloaded &#8220;4 gig&#8221; (in a 5 hour window, I&#8217;ll add). If you do the math: 4*8 = 32. 32Gbits. On a standard ADSL line, that&#8217;s a crazy amount of usage - averaging around 1.8Mbit/s for that 5 hour window. During peak hours, an ADSL Max line (due to contention) may only be able to achieve 2Mb/s. It&#8217;s a classic case of someone mistaking Bytes for bits&#8230; of course, explaining that to them is another matter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/04/measuring-bandwidth/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reservoir</title>
		<link>http://www.potato-people.com/blog/2008/04/reservoir/</link>
		<comments>http://www.potato-people.com/blog/2008/04/reservoir/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 12:09:53 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Photography]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[management]]></category>

		<category><![CDATA[oooh]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=6</guid>
		<description><![CDATA[In my spare time, I&#8217;m working on a tool for photographers for managing photo collections. I was unable to find one that matched my requirements in the open source world, and frankly didn&#8217;t like the look of a lot of the commercial ones. Plus, making it web based means I can access my photos from [...]]]></description>
			<content:encoded><![CDATA[<p>In my spare time, I&#8217;m working on a tool for photographers for managing photo collections. I was unable to find one that matched my requirements in the open source world, and frankly didn&#8217;t like the look of a lot of the commercial ones. Plus, making it web based means I can access my photos from anywhere in the world.</p>
<p>Click through for a demo video of the progress so far&#8230;</p>
<p><span id="more-6"></span></p>
<p><a href="http://www.potato-people.com/blog/wp-content/uploads/2008/04/11apr2008_demo.swf"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="467" height="268" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.potato-people.com/blog/wp-content/uploads/2008/04/11apr2008_demo.swf" /><embed type="application/x-shockwave-flash" width="467" height="268" src="http://www.potato-people.com/blog/wp-content/uploads/2008/04/11apr2008_demo.swf"></embed></object> </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/04/reservoir/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ZyXEL 660R Half-Bridge Mode</title>
		<link>http://www.potato-people.com/blog/2008/04/zyxel-660r-half-bridge-mode/</link>
		<comments>http://www.potato-people.com/blog/2008/04/zyxel-660r-half-bridge-mode/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 11:21:07 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[ZyXEL]]></category>

		<category><![CDATA[adsl]]></category>

		<category><![CDATA[bridge]]></category>

		<category><![CDATA[half-bridge]]></category>

		<category><![CDATA[ip address]]></category>

		<category><![CDATA[pppoa]]></category>

		<category><![CDATA[public ip]]></category>

		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=5</guid>
		<description><![CDATA[A common problem with ADSL in the UK is that most connections are still using PPPoA. This means that if you want a computer to have a public IP address on one of these connections, you need to either have a block of IP addresses routed by your ISP to your router (at extra) cost, [...]]]></description>
			<content:encoded><![CDATA[<p>A common problem with ADSL in the UK is that most connections are still using PPPoA. This means that if you want a computer to have a public IP address on one of these connections, you need to either have a block of IP addresses routed by your ISP to your router (at extra) cost, or you use a USB modem. There’s no real option for those folks that want to connect something like a SonicWall or any other firewall device directly to the line.</p>
<p><span id="more-5"></span></p>
<p>However, there is a poorly documented hidden “half-bridge” mode in the ZyXEL 660R routers. These cheap little single-port routers have the ability to push the public IP address and all it’s traffic onto a single device connected to the LAN port.</p>
<p>To do this, set the router up as normal with the username and password for your connection, then logout from the web interface. You’ll now need to telnet to the device, and enter the following:</p>
<p><code>poe bridge switch on<br />
ip dhcp enif0 server lease 120<br />
sys save</code></p>
<p>After this, reboot the router. Once it boots up and logs into your ISP, you should find that it gives you a single IP address on DHCP and that address will be an external fully public IP address.</p>
<p><strong>Update:</strong> <a href="http://intotheunknown.co.uk/2008/06/struggling-with-sip-these-resources.html" target="_blank">IntoTheUnknown</a> uses this to build a SIP VoIP system, which of course can have problems when passing through any firewall or NAT conversion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/04/zyxel-660r-half-bridge-mode/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making your webserver a little bit more secure.</title>
		<link>http://www.potato-people.com/blog/2008/04/making-your-webserver-a-little-bit-more-secure/</link>
		<comments>http://www.potato-people.com/blog/2008/04/making-your-webserver-a-little-bit-more-secure/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 09:39:14 +0000</pubDate>
		<dc:creator>rick</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[filesystem]]></category>

		<category><![CDATA[loopback]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.potato-people.com/blog/?p=3</guid>
		<description><![CDATA[The most common attack vector on Linux web servers, is to get something uploaded onto the server that can then be executed. Most of these automated attacks try to put their payload into /tmp, which is universally writable by any user, and then execute it.
But what if they couldn&#8217;t execute it?

This is an easy way [...]]]></description>
			<content:encoded><![CDATA[<p>The most common attack vector on Linux web servers, is to get something uploaded onto the server that can then be executed. Most of these automated attacks try to put their payload into /tmp, which is universally writable by any user, and then execute it.</p>
<p>But what if they couldn&#8217;t execute it?</p>
<p><span id="more-3"></span></p>
<p>This is an easy way to beef up your webserver server security a little. Create a 1GB partition on your system, and in your fstab file, add a &#8220;noexec flag&#8221; like so:</p>
<p><code>/dev/sda3 /tmp ext3 acl,user_xattr,<strong>noexec</strong> 1 1</code></p>
<p>Now, the system will prevent any executable in /tmp from being executed and thus sealing off the most common flaw that allows for most automated attacks to work.</p>
<p>No unallocated space on your disk and don&#8217;t want to risk resizing? Use a <a href="http://www.faqs.org/docs/Linux-mini/Loopback-Root-FS.html" target="_blank">loopback filesystem</a>.</p>
<p><code>/dev/loop0 /tmp ext3 acl,user_xattr,<strong>noexec</strong> 1 1</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.potato-people.com/blog/2008/04/making-your-webserver-a-little-bit-more-secure/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
