<?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>HamzahKhan&#039;s Blog</title>
	<atom:link href="http://blog.hamzahkhan.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.hamzahkhan.com</link>
	<description>Self-proclaimed genius, and ruler of the Internet. System admin the rest of the time</description>
	<lastBuildDate>Sat, 19 Jun 2010 19:57:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Google Wave Prototype server</title>
		<link>http://blog.hamzahkhan.com/?p=106</link>
		<comments>http://blog.hamzahkhan.com/?p=106#comments</comments>
		<pubDate>Sat, 19 Jun 2010 19:57:08 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=106</guid>
		<description><![CDATA[Although I played with the Google Wave Prototype server quite some time ago, I decided to stop running it since I won&#8217;t be playing with it much, but as I was upgrading ejabberd today, I decided to start up the Wave server again. If anyone else has setup the reference server and wants to test [...]]]></description>
			<content:encoded><![CDATA[<p>Although I played with the Google Wave Prototype server quite some time ago, I decided to stop running it since I won&#8217;t be playing with it much, but as I was upgrading ejabberd today, I decided to start up the Wave server again.</p>
<p>If anyone else has setup the reference server and wants to test Federation with me, please send me a wave! <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>My wave server is : wave.hamzahkhan.com, and I am logged in as mhamzahkhan@wave.hamzahkhan.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=106</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Help BakaBT</title>
		<link>http://blog.hamzahkhan.com/?p=104</link>
		<comments>http://blog.hamzahkhan.com/?p=104#comments</comments>
		<pubDate>Fri, 07 May 2010 20:12:27 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=104</guid>
		<description><![CDATA[Hello BakaBT community and people of the Internet, We need your help! Please spread this message everywhere on the Internet. If you have a blog, twitter or myspace or know someone with a blog, twitter or myspace copy this message verbatim! I am writing this message right now as my community website is unreachable due [...]]]></description>
			<content:encoded><![CDATA[<p>Hello BakaBT community and people of the Internet,</p>
<p>We need your help! Please spread this message everywhere on the Internet.<br />
If you have a blog, twitter or myspace or know someone with a blog, twitter or myspace copy this message verbatim!</p>
<p>I am writing this message right now as my community website is unreachable due to a continued DoS attack.<br />
A DoS attack is a Denial-of-Service attack that drowns all normal traffic going to the server by sending a tremendous amount of (fake) traffic.<br />
It is the bane of any website owner as there is very little you can do against it, other than hope the attack will stop or invest in special expensive DoS protection hardware.</p>
<p>The demand of the attacker is that we remove information we posted about his person a while ago on our blog after he did an earlier (simpler) attack.<br />
We managed to dig up all sorts of interesting information thanks to another site (www.0xyg3n.com) which had also been attacked by the same &#8216;hacker&#8217;.</p>
<p>Our site has been down for 24 hours, after which the &#8216;hacker&#8217; promised to stop the attack and give us 1 week to remove the message.<br />
The attack never stopped, normal traffic was able to siphon through so the server seemed reachable. But this means he obviously can not, or will not, negotiate with us.</p>
<p>We have thought a while about what to do, and we have reached some conclusions:<br />
Apparently there is something valuable in the message that we posted as the &#8216;hacker&#8217; is spending a fair dime attacking our server (DoS attacks &#8216;sell&#8217; for about $60 for 24 hours).<br />
There is nothing that we can do to make him stop this attack. Yes, we could give in to his demand, but why would he stop the attack then? He sure isn&#8217;t stopping now. And then what is next? last time he asked for my resignation.</p>
<p>So, we have decided to fight fire with fire. Fight a distributed attack with distribution, and for this we need your help!<br />
If you have a blog, twitter or myspace, or know someone with a blog, twitter or myspace, copy this message verbatim!<br />
If this message is copied many times to many different sites all across the Internet no one will be able to erase it from the Internet.<br />
What happens to our website and 6 year old community? I don&#8217;t know. It would be a shame to loose it over something so trivial.</p>
<p>Below is a summary of the information we found about him (please copy this as well as that is the whole idea of this message!):</p>
<p>&#8211;<br />
I also have his home IP from the comments 77.162.16.18 [...] Anyway since then I have noticed I’ve been getting hits for people doing a search for his site 0xyG3N.info (which I’ll point out has been offline for some time) I would also just like to say that his site has nothing to do with me everything I do online is only via 0xyg3n.com [...] He also uses the username roffamaffia which I suggested he should go back to using. He also uses kyuubinyuu@hotmail.com as an alternate email to the msn one.</p>
<p>I also know his name which is mesut baysan he’s 15 and lives in Dongen Noord-Brabant Netherland oppps. I also have a home address but I’m not going to post that up as I’m not sure if its totally correct or not. I also have some other details that I’ll save for a later post if needed.<br />
&#8211;<br />
Our Twitter: http://twitter.com/BakaBT<br />
Our blog: http://blog.bakabt.com/2009/08/23/kdos/ (use Google cache if the domain is unreachable)<br />
Our backup blog: http://baka.applehomicide.com/2009/08/23/kdos/<br />
0xyg3n&#8217;s blog (not the hacker): http://www.0xyg3n.com/?p=555 about his encounter<br />
Looks like http://gbatmw.net/showthread.php?tid=13506 they were having some problems with &#8216;Mesut&#8217; as well.</p>
<p>E-mail / Live:<br />
- us3n3xt@live.nl (old)<br />
- amaterasu_@live.jp (latest known)</p>
<p>Known nicknames:<br />
- 0xyG3N (note the capital G and N)<br />
- Roffamaffia<br />
- Sasuke-</p>
<p>Help us save our community and give power back to the webmasters!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=104</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RedHat Enterprise Linux 6 Beta</title>
		<link>http://blog.hamzahkhan.com/?p=99</link>
		<comments>http://blog.hamzahkhan.com/?p=99#comments</comments>
		<pubDate>Sun, 02 May 2010 22:52:41 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=99</guid>
		<description><![CDATA[RedHat Enterprise Linux 6 Beta 1 has finally been released as a public beta. It is available as an ISO from the public RedHat FTP site. A couple of days ago, I decided to play with the beta, and I discovered (as I had expected) that there are a lot of significant differences between RHEL5 [...]]]></description>
			<content:encoded><![CDATA[<p>RedHat Enterprise Linux 6 Beta 1 has finally been released as a public beta. It is available as an ISO from the public <a href="ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/">RedHat FTP site</a>.</p>
<p>A couple of days ago, I decided to play with the beta, and I discovered (as I had expected) that there are a lot of significant differences between RHEL5 and RHEL6.<br />
The the main difference which I found to be very frustrating is that there is no longer any support for Xen dom0.</p>
<p>I had heard about RedHat&#8217;s decision to stop supporting Xen, but I did not think that this would mean they would stop shipping it with the distribution.</p>
<p>The loss of dom0 support means that you can no longer use RHEL as a Xen virtualization host, rather only as a guest under other Xen supporting distributions.</p>
<p>Xen was dropped in favor of Kernel-based Virtual Machine, which is a  virtualization infrastructure included with the Linux kernel. Linux KVM is a hardware-assisted virtualization infastructure which requires the CPU to have a special CPU feature called Intel-VT on Intel CPUs and AMD-V on AMD CPUs.</p>
<p>KVM has limited paravirtulization support, but I found in my very simple tests that fully paravirtualizaed guests inside Xen had much better performance.</p>
<p>This latest release of RHEL also means that my RHCE will soon expire. I am hopeing to get re-certified as soon as I can. At the same time, I am also considering taking the &#8220;Red Hat Certified Virtualization Administrator&#8221; course and exam, but I still have some time to think over that. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=99</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco Unified IP Phone 7912G &#8211; SIP to SCCP</title>
		<link>http://blog.hamzahkhan.com/?p=94</link>
		<comments>http://blog.hamzahkhan.com/?p=94#comments</comments>
		<pubDate>Fri, 05 Feb 2010 23:21:06 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=94</guid>
		<description><![CDATA[As stated in my last post, I received my CCNP Lab Kit in the post last week. In my excitement, I decided to switch my IP Phones from the SCCP firmware (which was the software originally on the phones) to the SIP firmware so that I could connect to VoIPTalk. Now that the excitement has [...]]]></description>
			<content:encoded><![CDATA[<p>As stated in my last post, I received my CCNP Lab Kit in the post last week.</p>
<p>In my excitement, I decided to switch my IP Phones from the SCCP firmware (which was the software originally on the phones) to the SIP firmware so that I could connect to VoIPTalk.</p>
<p>Now that the excitement has died down a little, I wanted to switch back to SCCP as, from what I can tell, it provides more features than SIP.</p>
<p>As I&#8217;m not too familiar with Cisco IP Phones, I started Googling for instructions on how to switch back, but I couldn&#8217;t really find any instructions on how to do so.</p>
<p>In the end I tried the same way I had originally upgraded to the SIP firmware. I edited my gkdefault.txt which originally contained the following line:</p>
<p><code>upgradecode:3,0x601,0x0400,0x0100,0.0.0.0,69,0x060111a,CP7912080000SIP060111A.sbin</code></p>
<p>And replaced it with:</p>
<p><code>upgradecode:3,0x601,0x0400,0x0100,0.0.0.0,69,0x070409a,CP7912080003SCCP070409A.sbin</code></p>
<p>You can read what the values mean on the Cisco site, but all I had to change was two last values of the line:</p>
<p>0x060111a -&gt; 0x070409a</p>
<p>CP7912080000SIP060111A.sbin -&gt; CP7912080003SCCP070409A.sbin</p>
<p>The first value I had to change was the build ID/date, which is (from what I can tell) the last few characters in the file name after the &#8220;SIP&#8221; or &#8220;SCCP&#8221; bit.</p>
<p>The second value is pretty self explanatory, its just the file name of the firmware file you have.</p>
<p>Next, I used cfgfmt to convert the file into a .cfg file compatible with the phones, and put it on my TFTP server.</p>
<p>I then restarted the phones, and behold! They were downloading the SCCP firmware image. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m not sure if this is the &#8220;correct&#8221; way to switch back to the SCCP firmware, but it worked for me and I don&#8217;t see why it wouldn&#8217;t be correct, it seems pretty obvious. The only reason I am a little confused is the fact that while searching for instructions to switch back, I found a lot of people having difficulties switching back and even some companies offering a &#8220;recovery&#8221; service for people in this situation.</p>
<p>Hopefully my post will help other people who are in this situation.</p>
<p>Now I just need to figure out how to get the CTU ringtone onto the phone. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=94</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cisco CCNP Lab Kit</title>
		<link>http://blog.hamzahkhan.com/?p=88</link>
		<comments>http://blog.hamzahkhan.com/?p=88#comments</comments>
		<pubDate>Thu, 28 Jan 2010 00:01:56 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=88</guid>
		<description><![CDATA[As I have pretty much completed my studies for CCNA, I decided I would build up my lab so I could &#8220;practice&#8221; for CCNP. A lot of people recommend using a simulator/emulator such as dynamips, but I don&#8217;t think that works out to be just as good as using real hardware but that&#8217;s a different [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hamzahkhan.com/wp-content/uploads/2010/01/4310290018_8895fccbca_o.jpg"><img class="alignleft size-thumbnail wp-image-89" title="4310290018_8895fccbca_o" src="http://blog.hamzahkhan.com/wp-content/uploads/2010/01/4310290018_8895fccbca_o-150x150.jpg" alt="Cisco CCNA Lab Kit" width="150" height="150" /></a></p>
<p>As I have pretty much completed my studies for CCNA, I decided I would build up my lab so I could &#8220;practice&#8221; for CCNP. A lot of people recommend using a simulator/emulator such as dynamips, but I don&#8217;t think that works out to be just as good as using real hardware but that&#8217;s a different matter. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I had originally bought my CCNA Lab Kit from the nice people at <a href="http://www.itelligentsia.com/">ITelligentsia</a> so I decided I would buy the rest of my equipment from them as well.</p>
<p>My current lab consists of the following:</p>
<ul>
<li>Cisco 1800 Series : 1x Cisco 1841 (I bought this separately from someone else)</li>
<li>Cisco 2600 Series: 1x Cisco 2610, 2x Cisco 2511XM, 1x Cisck 2621XM</li>
<li>Cisco 2500 Series: 2x Cisco 2501, 1x Cisck 2509</li>
<li>Cisco 1700 Series: 1x Cisco 1721 (I bought this separately from someone else)</li>
<li>Cisco Catalyst 3550 Series: 2x WS-C3550-24 SMI</li>
<li>Cisco Catalyst 2950 Series: 3x WS-C2950-12</li>
<li>Catalyst 2900 Series XL: 2x Cisco 2924XL</li>
<li>Cisco 2000 Series Wireless LAN Controller: AIR-WLC2006-K9</li>
<li>Cisco Aironet 1200 Series: Cisco Aironet 1231 (AIR-LAP1231G-E-K9)</li>
<li>3x Cisco Unified IP Phone 7912G</li>
</ul>
<p>Hopefully this should be enough to allow me to get going, although I REALLY need a new rack. My 24U rack is already full, so my UPS (4U), Server (4U) and new lab equipment are sitting on the floor, and being very difficult to get access to.</p>
<p>Hopefully I will be able to get two (better be prepared for CCIE Equipment too!) from work in March as we will be moving offices, and from what I can tell, they will be getting new server racks. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I also bought a UPS a few weeks ago, but I&#8217;ve been having some trouble with it. The UPS is a PowerWare 5119 RM 3000VA UPS. I have connected a few of my routers to it, and left it charging for over 24 hours, but when I kill the power the UPS goes into a strange state in which it seems to keep switching on and off and lighting up random lights on the front. From Googling a bit, I found that I might need to change some settings using the management serial port. Unfortunately, the UPS does not use a &#8220;standard&#8221; serial pin out, so I will have to build a cable when I have a chance to. Hopefully I will be able to sort the issue, otherwise I will have to send it back to the place I bought it from for repair. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=88</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx, Varnish, HAProxy, and Thin/Lighttpd</title>
		<link>http://blog.hamzahkhan.com/?p=82</link>
		<comments>http://blog.hamzahkhan.com/?p=82#comments</comments>
		<pubDate>Tue, 29 Sep 2009 23:31:15 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[HAProxy]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Thin]]></category>
		<category><![CDATA[Varnish]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=82</guid>
		<description><![CDATA[Over the last few days, I&#8217;ve been playing with Ruby on Rails again and came across Thin, a small, yet stable web server which will serve applications written in Ruby. This is a small tutorial on how to get Nginx, Varnish, HAProxy working together with Thin (for dynamic pages) and Lighttpd (for static pages). I [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few days, I&#8217;ve been playing with Ruby on Rails again and came across Thin, a small, yet stable web server which will serve applications written in Ruby.</p>
<p>This is a small tutorial on how to get Nginx, Varnish, HAProxy working together with Thin (for dynamic pages) and Lighttpd (for static pages).</p>
<p>I decided to take this route as from reading in many places I found that separating static and dynamic content improves performance significantly.</p>
<h2>Nginx</h2>
<p>Nginx is a lightweight, high performance web server and reverse proxy. It can also be used as an email proxy, although this is not an area I have explored. I will be using Nginx as the front-end server for serving my rails applications.</p>
<p>I installed Nginx using the RHEL binary package available from EPEL.</p>
<p>Configuration of Nginx is very simple. I have kept it very simple, and made Nginx My current configuration file consists of the following:</p>
<pre>user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] $request "$status" $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';

    sendfile on;
    tcp_nopush on;
    tcp_nodelay off;

    keepalive_timeout 5;

    # This section enables gzip compression.
    gzip on;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    # Here you can define the addresses on which varnish will listen. You can place multiple servers here, and nginx will load balance between them.
    upstream cache_servers {
      server localhost:6081 max_fails=3 fail_timeout=30s;
    }

    # This is the default virtual host.
    server {
        listen 80 default;
        access_log /var/log/nginx/access.log main;
        error_log /var/log/nginx/error.log;
        charset utf-8;

        # This is optional. It serves up a 1x1 blank gif image from RAM.
        location = /1x1.gif {
          empty_gif;
        }

        # This is the actual part which will proxy all connections to varnish.
        location / {
          proxy_pass http://cache_servers/;
          proxy_redirect http://cache_servers/ http://$host:$server_port/;

          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}</pre>
<h2>Varnish</h2>
<p>Varnish is a high performance caching server. We can use Varnish to cache content which will not be changed often.</p>
<p>I installed Varnish using the RHEL binary package available from EPEL as well. Initially, I only needed to edit /etc/sysconfig/varnish, and configure the address on which varnish will listen on.</p>
<pre>DAEMON_OPTS="-a localhost:6081 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -s file,/var/lib/varnish/varnish_storage.bin,10G"</pre>
<p>This will make varnish listen on port 6081 for normal HTTP traffic, and port 8082 for administration.</p>
<p>Next, you must edit /etc/varnish/default.vcl to actually cache data. My current configuration is as follows:</p>
<pre>backend thin {
  .host = "127.0.0.1";
  .port = "8080";
}

backend lighttpd {
  .host = "127.0.0.1";
  .port = "8081";
}

sub vcl_recv {
    if (req.url ~ "^/static/") {
        set req.backend = lighttpd;
    } else {
        set req.backend = thin;
    }

    # Allow purging of cache using shift + reload
    if (req.http.Cache-Control ~ "no-cache") {
        purge_url(req.url);
    }

    # Unset any cookies and autorization data for static links and icons, and fetch from catch
    if (req.request == "GET" &amp;&amp; req.url ~ "^/static/" || req.request == "GET" &amp;&amp; req.url ~ "^/icons/") {
        unset req.http.cookie;
        unset req.http.Authorization;
        lookup;
    }

    # Look for images in the cache
    if (req.url ~ "\.(png|gif|jpg|ico|jpeg|swf|css|js)$") {
        unset req.http.cookie;
        lookup;
    }

    # Do not cache any POST'ed data
    if (req.request == "POST") {
        pass;
    }

    # Do not cache any non-standard requests
    if (req.request != "GET" &amp;&amp; req.request != "HEAD" &amp;&amp;
        req.request != "PUT" &amp;&amp; req.request != "POST" &amp;&amp;
        req.request != "TRACE" &amp;&amp; req.request != "OPTIONS" &amp;&amp;
        req.request != "DELETE") {
        pass;
    }

    # Do not cache data which has an autorization header
    if (req.http.Authorization) {
        pass;
    }

    lookup;
}

sub vcl_fetch {
    # Remove cookies and cache static content for 12 hours
    if (req.request == "GET" &amp;&amp; req.url ~ "^/static/" || req.request == "GET" &amp;&amp; req.url ~ "^/icons/") {
        unset obj.http.Set-Cookie;
        set obj.ttl = 12h;
        deliver;
    }

    # Remove cookies and cache images for 12 hours
    if (req.url ~ "\.(png|gif|jpg|ico|jpeg|swf|css|js)$") {
        unset obj.http.set-cookie;
        set obj.ttl = 12h;
        deliver;
    }

    # Do not cache anything that does not return a value in the 200's
    if (obj.status &gt;= 300) {
        pass;
    }

    # Do not cache content which varnish has marked uncachable
    if (!obj.cacheable) {
        pass;
    }

    # Do not cache content which has a cookie set
    if (obj.http.Set-Cookie) {
        pass;
    }

    # Do not cache content with cache control headers set
    if(obj.http.Pragma ~ "no-cache" || obj.http.Cache-Control ~ "no-cache" || obj.http.Cache-Control ~ "private") {
        pass;
    }

    if (obj.http.Cache-Control ~ "max-age") {
        unset obj.http.Set-Cookie;
        deliver;
    }

    pass;
}</pre>
<h2>HAProxy</h2>
<p>HAProxy is a high performance TCP/HTTP load balancer. It can be used to load balance almost any type of TCP connection, although I have only used it with HTTP connections.</p>
<p>We will be using HAProxy to balance connections over multiple thin instances.</p>
<p>HAProxy is also available in EPEL. My HAProxy configuration is as follows:</p>
<pre>global
  daemon
  log 127.0.0.1 local0
  maxconn 4096
  nbproc 1
  chroot /var/lib/haproxy
  user haproxy
  group haproxy

defaults
  mode http
  clitimeout 60000
  srvtimeout 30000
  timeout connect 4000

  option httpclose
  option abortonclose
  option httpchk
  option forwardfor

  balance roundrobin

  stats enable
  stats refresh 5s
  stats auth admin:123abc789xyz

listen thin 127.0.0.1:8080
  server thin 10.10.10.2:2010 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2011 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2012 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2013 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2014 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2015 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2016 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2017 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2018 weight 1 minconn 3 maxconn 6 check inter 20000
  server thin 10.10.10.2:2019 weight 1 minconn 3 maxconn 6 check inter 20000</pre>
<h2>Thin</h2>
<p>My Thin server is actually run on a separate Gentoo box. I installed Thin using the package in Portage.</p>
<p>To configure Thin, I used the following command:</p>
<pre>thin config -C /etc/thin/config-name.yml -c /srv/myapp --servers 10 -e production -p 2010</pre>
<p>This configures thin to start 10 servers, listening on port 2010 to 2019. If you want an init script for Thin, so you can start it at boot, run</p>
<pre>thin init</pre>
<p>This is will create the init script, and you can set it to start up at boot using the normal method (rc-update add thin default or chkconfig thin on).</p>
<p>You should now be able to access your rails app through http://nginx.servers.ip.address</p>
<p>Next, we must configure the static webserver.</p>
<h2>Lighttpd</h2>
<p>I decided to go with Lighttpd as it is a fast, stable and lightweight webserver which will do the job perfectly with little configuration.</p>
<p>You could also use nginx as the static server instead of using lighttpd, but I decided toÂ separateÂ it.</p>
<p>I decided to use the package from EPEL for Lighttpd, and found that most of the default configuration was as I wanted it to be. The only thing I needed to change was the port and address the server was listening on:</p>
<pre>server.port = 8081
server.bind = "127.0.0.1"</pre>
<p>And thats pretty much it! Now you just have to dump any static content into /var/www/lighttpd/ (the default location that the Lighttpd package in EPEL is configured to use) and reference any static links using &#8220;/static/document_path_of_file&#8221;, for example if I put an image into /var/www/lighttpd/images/ called &#8220;bg.png&#8221;, I can access it using http://servers_hostname/static/images/bg.png.</p>
<p>I have not really done any performance tests onto how well this works, and there are probably many things which I could have done better. This is the first time I made any attempt HTTP performance tuning, and so I am always looking for feedback or tips on how to make this better, so please do contact me if you have any suggestions! <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=82</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Server Upgrade / Disk Failure</title>
		<link>http://blog.hamzahkhan.com/?p=76</link>
		<comments>http://blog.hamzahkhan.com/?p=76#comments</comments>
		<pubDate>Wed, 23 Sep 2009 23:07:41 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[failure]]></category>
		<category><![CDATA[Seagate]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[XEON]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=76</guid>
		<description><![CDATA[Last month I had a disk failure which caused most of my data to become inaccessible which is the main reason for my blog being down for so long. I have three 1TB hard drives in a LVM VG&#8230;. without any RAID. This means if one drive fails, it is very unlikely I will be [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Last month I had a disk failure which caused most of my data to become inaccessible which is the main reason for my blog being down for so long.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I have three 1TB hard drives in a LVM VG&#8230;. without any RAID. This means if one drive fails, it is very unlikely I will be able to recover any data. It was very stupid of me, and I regret it VERY much. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The drives I was using in the LVM VG were Seagate Barracuda 7200.11 1TB (ST31000333AS) drives.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I originally bought these drives January 2009, but since then I&#8217;ve had multiple issues with the drives and so I don&#8217;t actually have the drives I originally bought, I sent them back for replacement as they all showed sign of failure sooner or later. Luckily, I was able to catch those failures pretty early, thanks to &#8220;SMARTmon Tools&#8221;. This time I was unable to do so, as I upgraded my SATA controller to a Adaptec 2820SA which does not allow SMART commands to be passed through to the drive.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">After a bit of Googling, I discovered that there have been quite a few reports of these drives failing, unfortunately in January these reports were not available.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">This frustrated me quite a bit, as not only did I lose 500GB worth of important data, I will now have to scrap these drives and buy new drives if eBuyer or Seagate is unwilling to give me a different model of 1TB drives &#8211; I don&#8217;t think it should be an issue for them to give me the Barracuda 7200.12 which seem to have much better reports, but I don&#8217;t think they will agree to this.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">At the moment, I&#8217;ve sent the drives to Seagate&#8217;s i365 Data Recovery service, and they are building a list of files which they will be able to recover.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">During the time the drives failed, I decided it would be a good idea to upgrade my server too. My new servers specs are as follows:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Intel Quad-Core Xeon E5405 2 GHz</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">2&#215;4 GB DDR2 PC2-5300 RAM</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Tyan Tempest i5100X (S5375)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Norco RPC-4220 case</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The Norco RPC-4220 case is a 4U rack-mountable server case and has 20 hot-swappable hard drive bays, which allows quite a of room for storage expansion. When I first powered on the machine, I noticed that the fans which cool the hard drives are amazily loud and so switch them for quiter ones (relax! they are quck provide enough air flow to cool six drives!). The case comes with five SAS/SATA backplanes, which have a Mini-SAS connector. As I don&#8217;t have a SAS controller, I had to buy Mini-SAS reverse breakout cables which allowed me to connect the backplanes to my standard SATA cards. This was quite a pain, as I had no idea that there are two types of Mini-SAS to SATA cables, one for Mini-SAS on Backplane side to SATA on the controller, like I needed, and SATA on the backplane, to Mini-SAS on the controller. It was a pain that I discovered this after I had already bought the wrong cables.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The Tempest i5100X supports two Quad Core XEON processors, although I only bought one for the time being. The board also takes upto 32GB worth of RAM which also allows alot of room for expansion.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Thanks to this upgrade, I was finally able to play with XEN&#8217;s full-virtulization (HVM) functionality as the E5405 has the Intel VT-x extension.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">When I get my drives back from i365, I will be sure to use RAID5 on the drives AND make regular backups&#8230;.. although I haven&#8217;t really found a feasible solution (price wise, and time to actually do it) for backing up 500GB worth of data, so if anyone has any suggestions, please let me know!</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I have looked at Bacula, and I really like it, but I still need media onto which I can backup the data.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I have lost my trust in hard drives for keeping my backups, and burning to DVDs or Bluray would not be very feasible as I would require 63 dual layer DVDs or 10 dual-layer bluray discs to backup 500GB worth of data, and both are not very reliable either (they are easily scratched!).</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I also looked at online backup services, but this too I think is not a feasible idea as backing up 500GB over a connection with only 1.3mbit upload would take way too long.</div>
<p>Last month I had a disk failure which caused most of my data to become inaccessible which is the main reason for my blog being down for so long.</p>
<p>I have three 1TB hard drives in a LVM VG&#8230;. without any RAID. This means if one drive fails, it is very unlikely I will be able to recover any data. It was very stupid of me, and I regret it VERY much. <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>The drives I was using in the LVM VG were Seagate Barracuda 7200.11 1TB (ST31000333AS) drives.</p>
<p>I originally bought these drives January 2009, but since then I&#8217;ve had multiple issues with the drives and so I don&#8217;t actually have the drives I originally bought, I sent them back for replacement as they all showed sign of failure sooner or later. Luckily, I was able to catch those failures pretty early, thanks to &#8220;SMARTmon Tools&#8221;. This time I was unable to do so, as I upgraded my SATA controller to a Adaptec 2820SA which does not allow SMART commands to be passed through to the drive.</p>
<p>After a bit of Googling, I discovered that there have been quite a few reports of these drives failing, unfortunately in January these reports were not available.</p>
<p>This frustrated me quite a bit, as not only did I lose 500GB worth of important data, I will now have to scrap these drives and buy new drives if eBuyer or Seagate is unwilling to give me a different model of 1TB drives &#8211; I don&#8217;t think it should be an issue for them to give me the Barracuda 7200.12 which seem to have much better reports, but I don&#8217;t think they will agree to this.</p>
<p>At the moment, I&#8217;ve sent the drives to Seagate&#8217;s i365 Data Recovery service, and they are building a list of files which they will be able to recover.</p>
<p>During the time the drives failed, I decided it would be a good idea to upgrade my server too. My new servers specs are as follows:</p>
<ul>
<li><span style="background-color: #ffffff;"><a href="http://processorfinder.intel.com/details.aspx?sSpec=SLAP2">Intel Quad-Core Xeon E5405 2 GHz</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://www.crucial.com/uk/store/partspecs.aspx?IMODULE=CT2KIT51272AB667&amp;click=true">2&#215;4 GB DDR2 PC2-5300 RAM</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://www.tyan.com/product_board_detail.aspx?pid=566">Tyan Tempest i5100X (S5375)</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://www.norcotek.com/item_detail.php?categoryid=1&amp;modelno=RPC-4220">Norco RPC-4220</a> case</span></li>
<li><span style="background-color: #ffffff;">(Plus a few recycled parts from my old server)</span></li>
</ul>
<p>The Norco RPC-4220 case is a 4U rack-mountable server case and has 20 hot-swappable hard drive bays, which allows quite a of room for storage expansion. When I first powered on the machine, I noticed that the fans which cool the hard drives are amazily loud and so switch them forÂ quieterÂ ones (relax! they are quck provide enough air flow to cool six drives!). The case comes with five SAS/SATA backplanes, which have a Mini-SAS connector. As I don&#8217;t have a SAS controller, I had to buy Mini-SAS reverse breakout cables which allowed me to connect the backplanes to my standard SATA cards. This was quite a pain, as I had no idea that there are two types of Mini-SAS to SATA cables, one for Mini-SAS on Backplane side to SATA on the controller, like I needed, and SATA on the backplane, to Mini-SAS on the controller. It was a pain that I discovered this after I had already bought the wrong cables.</p>
<p>The Tempest i5100X supports two Quad Core XEON processors, although I only bought one for the time being. The board also takes upto 32GB worth of RAM which also allows alot of room for expansion.</p>
<p>Thanks to this upgrade, I was finally able to play with XEN&#8217;s full-virtulization (HVM) functionality as the E5405 has the Intel VT-x extension.</p>
<p>When I get my drives back from i365, I will be sure to use RAID5 on the drives AND make regular backups&#8230;.. although I haven&#8217;t really found a feasible solution (price wise, and time to actually do it) for backing up 500GB worth of data, so if anyone has any suggestions, please let me know!</p>
<p>I have looked at Bacula, and I really like it, but I still need media onto which I can backup the data.</p>
<p>I have lost my trust in hard drives for keeping my backups, and burning to DVDs or Bluray would not be very feasible as I would require 63 dual layer DVDs or 10 dual-layer bluray discs to backup 500GB worth of data, and both are not very reliable either (they are easily scratched!).</p>
<p>I also looked at online backup services, but this too I think is not a feasible idea as backing up 500GB over a connection with only 1.3mbit upload would take way too long.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Official Myers-Briggs Personality Test</title>
		<link>http://blog.hamzahkhan.com/?p=73</link>
		<comments>http://blog.hamzahkhan.com/?p=73#comments</comments>
		<pubDate>Fri, 17 Jul 2009 15:25:05 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=73</guid>
		<description><![CDATA[Shhh! I was bored! &#8211; It describes me pretty well though imo Your result for The Official Myers-Briggs Personality Test&#8230; ISTP 1% Extraversion, 20% Introversion, 14% Sensing, 12% Intuition, 23% Thinking, 1% Feeling, 8% Judging and 14% Perceiving! Introverted Intuition with Extraverted Thinking Approximately 5.4% of persons in the United States are ISTPs. Summary: Tolerant [...]]]></description>
			<content:encoded><![CDATA[<p>Shhh! I was bored! &#8211; It describes me pretty well though imo <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><br />
Your result for The Official Myers-Briggs Personality Test&#8230;<br />
</em></p>
<h4>ISTP</h4>
<p><strong> 1% Extraversion,  20% Introversion,  14% Sensing,  12% Intuition,  23% Thinking,  1% Feeling,  8% Judging and  14% Perceiving! </strong></p>
<div>
<p><span style="font-size:x-large;"><strong>Introverted Intuition with Extraverted Thinking</strong></span></p>
<p><span><span style="font-size:large;"><strong>Approximately 5.4% of persons in the United States are ISTPs.</strong></span></span></p>
<p><strong>Summary:</strong></p>
<p>Tolerant and flexible, quiet observers until a problem appears, then act quickly to find workable solutions. Analyze what makes things work and readily get through large amounts of data to isolate the core of practical problems. Interested in cause and effect, organize facts using logical principles, value efficiency.</p>
<p><span style="font-size:x-large;"><strong>At Their Best</strong></span></p>
<p>People with ISTP preferences carefully observe what is going on around them. Then, when the need arises, they move quickly to get to the core of a problem and solve it with the greatest efficiency and the least effort. They are interested in how and why things work but find abstract theories uninteresting unless they can quickly apply them. They often function as troubleshooters.</p>
<p>ISTPs resist regimentation and rules, thrive on variety and novelty, and enjoy the challenge of solving a new, concrete, extensive problem.</p>
<p><span style="font-size:x-large;"><strong>Characteristics of ISTPs</strong></span></p>
<p>ISTPs use their Thinking primarily internally to see the essential structure underlying the facts. Their minds seem to work almost like computers, organizing data, reasoning impersonally and objectively. They make rational decisions based on a great deal of concrete data. ISTPs are likely to be</p>
<p><strong>Â· </strong><strong>Detached and objective critics</strong></p>
<p><strong>Â· </strong><strong>Analytical and logical problem solvers</strong></p>
<p>ISTPs are realists, focusing on what is and what can be done with it, rather than on theoretical possibilities. They are often creative at dealing with the immediate problems and good at hands-on tasks. ISTPs are likely to be</p>
<p><strong>Â· </strong><strong>Practical and realistic</strong></p>
<p><strong>Â· </strong><strong>Factual and pragmatic</strong></p>
<p>ISTPs are expedient and believe in economy of effort doing only what is needed with the least possible discussion and fuss. Their focus is on getting the desired results.</p>
<p><span style="font-size:x-large;"><strong>How Others May See Them</strong></span></p>
<p>ISTPs are egalitarian and generally tolerant of a wide range of behavioruntil their ruling logical principles are attacked. At that point, they can surprise others by expressing their firm and clear judgments. ISTPs listen and seem to agree because they are not disagreeing; later, others may find the ISTP was analyzing and making internal judgments.</p>
<p>With their constant scanning for information and focus on results, ISTPs will change course readily if they see another, more efficient way. Because of this, others some- times have trouble &#8220;reading&#8221; them. They tend to be quiet and reserved, though they can be quite talkative in areas in which they have a lot of knowledge. Others usually see ISTPs as</p>
<p><strong>Â· </strong><strong>Adaptable, action-oriented risk takers</strong></p>
<p><strong>Â· </strong><strong>Confident, independent, and self-determined</strong></p>
<p><span style="font-size:x-large;"><strong>Potential Areas for Growth</strong></span></p>
<p>Sometimes life circumstances have not supported ISTPs in the development and expression of their Sensing and Thinking preferences.</p>
<p><strong>Â· </strong><strong>If they have not developed their Sensing, ISTPs may have no reliable way of getting accurate data about the external world or of translating their thoughts into action.</strong></p>
<p><strong>Â· </strong><strong>If they have not developed their Thinking, they may get caught up in the realities around them. and not take time to do the internal logical processing they need to make good decisions. Then their actions may be haphazard responses to immediate needs</strong></p>
<p>If ISTPs do not find a place where they can use their gifts and be appreciated for their contributions, they usually feel frustrated and may</p>
<p><strong>Â· </strong><strong>Become cynical and negative critics</strong></p>
<p><strong>Â· </strong><strong>Withdraw their attention and energy</strong></p>
<p><strong>Â· </strong><strong>Postpone decisions</strong></p>
<p>It is natural for ISTPs to give less attention to their non- preferred Feeling and Intuitive parts. If they neglect these too much, however, they may</p>
<p><strong>Â· </strong><strong>Overlook others&#8217; emotional needs and values</strong></p>
<p><strong>Â· </strong><strong>Not give sufficient weight to the impacts of their decisions on others</strong></p>
<p><strong>Â· </strong><strong>Focus so intently on immediate results that they lose track of the long-term ramifications of their decisions and actions</strong></p>
<p>Under great stress, ISTPs may erupt outwardly in inappropriate displays of emotion. The resulting explosive anger or hurt tearfulness is quite unnerving to others and embarrassing to the usually calm and controlled ISTP.<a href="http://www.helloquizzy.com/tests/the-official-myersbriggs-personality-test"></a></p>
<p><a href="http://www.helloquizzy.com/tests/the-official-myersbriggs-personality-test"><br />
Take The Official Myers-Briggs Personality Test</a> at <a href="http://www.helloquizzy.com/"><strong style="color:#131313"><span style="color:#ac000c">H</span>ello<span style="color:#ac000c">Q</span>uizzy</strong></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=73</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PSP Video Encoding</title>
		<link>http://blog.hamzahkhan.com/?p=60</link>
		<comments>http://blog.hamzahkhan.com/?p=60#comments</comments>
		<pubDate>Wed, 17 Jun 2009 08:19:55 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[mencoder]]></category>
		<category><![CDATA[psp]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=60</guid>
		<description><![CDATA[I often use my PSP to watch Anime and Movies on the way to work, or any long trip on the train/bus. I found Tristan&#8217;s Blog post which gives the settings required to make mencoder convert video to the perfect version for watching on the PSP. To make mencoder hardcode subtitles into the video at [...]]]></description>
			<content:encoded><![CDATA[<p>I often use my PSP to watch Anime and Movies on the way to work, or any long trip on the train/bus.</p>
<p>I found <a href="http://tristan.ferroir.free.fr/index.php/2008/08/23/convertir-une-video-pour-la-psp-windows-et-linux-best-settings-to-convert-video-for-the-psp-windows-and-linux/">Tristan&#8217;s Blog post</a> which gives the settings required to make mencoder convert video to the perfect version for watching on the PSP.</p>
<p>To make mencoder hardcode subtitles into the video at the same time as it encodes for the PSP, just append -slang eng -alang jap to the command. This tell mencoder to use the english subtitles, and japaneese audio (Not required if the file only has one audio track).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=60</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerVault 120T DLT-7000 Autoloader</title>
		<link>http://blog.hamzahkhan.com/?p=58</link>
		<comments>http://blog.hamzahkhan.com/?p=58#comments</comments>
		<pubDate>Fri, 05 Jun 2009 03:35:38 +0000</pubDate>
		<dc:creator>M. Hamzah Khan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bacula]]></category>
		<category><![CDATA[Dell PowerVault 120T DTL-7000]]></category>

		<guid isPermaLink="false">http://blog.hamzahkhan.com/?p=58</guid>
		<description><![CDATA[For the last month or so, I&#8217;ve been using Bacula to backup the important data on my machine/servers and my dads computer. Although it works great with my PowerVault 100T DDS4 drive, I got fed up of having to constantly change tapes every they got filled up. To solve this problem I decided to buy [...]]]></description>
			<content:encoded><![CDATA[<p>For the last month or so, I&#8217;ve been using Bacula to backup the important data on my machine/servers and my dads computer. Although it works great with my PowerVault 100T DDS4 drive, I got fed up of having to constantly change tapes every they got filled up.</p>
<p>To solve this problem I decided to buy a Dell PowerVault 120T DLT-7000 Autoloader from eBay.</p>
<p>I receieved the PV a few days ago, but I was unable to test it as I did not have the neccicary terminator or cable required to connect it to my server.</p>
<p>After looking on eBay, I found both items from a single seller (the same seller I bought the autoloader infact!), and I received both items in the post today.</p>
<p>I hooked everything up very excitedly, and found that the DLT-7000 drive in the PV-120T was faulty! <img src='http://blog.hamzahkhan.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  The LCD displays &#8220;Drive POST Error&#8221;. I&#8217;ve emailed the seller of the autoloader, and I really hope he will be able to repair or send me a new one of these devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hamzahkhan.com/?feed=rss2&amp;p=58</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
