<?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>Sanoop Kuniel&#039;s Blog</title>
	<atom:link href="http://www.kuniel.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kuniel.net</link>
	<description>Skill is successfully walking a tightrope over Niagara Falls. Intelligence is not trying.</description>
	<lastBuildDate>Sat, 29 May 2010 14:56:48 +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>Wordpress on Android</title>
		<link>http://www.kuniel.net/2010/05/29/wordpress-on-android-2/</link>
		<comments>http://www.kuniel.net/2010/05/29/wordpress-on-android-2/#comments</comments>
		<pubDate>Sat, 29 May 2010 14:54:02 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/?p=42</guid>
		<description><![CDATA[I noticed the wordpress app on android market doesn&#8217;t support the version on my site. Its been a while since I&#8217;ve been wanting to upgrade wordpress. Ever since I saw an android app for wordpress, I&#8217;ve been wanting to try it out from my phone. Not that I am a regular poster, but I love [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed the wordpress app on android market doesn&#8217;t support the version on my site. Its been a while since I&#8217;ve been wanting to upgrade wordpress. Ever since I saw an android app for wordpress, I&#8217;ve been wanting to try it out from my phone. Not that I am a regular poster, but I love my HTC Hero and I am obsessed with having everything on it.&nbsp;</p>
<p>I thought upgrading wordpress would be a real pain, copying over new files, modding my existing theme for the new version, upgrading the database, fixing broken stuff. But to my surprise it took only 5 mins to untar the new files, goto admin panel and click &quot;Upgrade Database&quot; viola!&nbsp;</p>
<p>Futhermore, I didn&#8217;t have to make any changes to the theme, it just worked out of the box&#8230;</p>
<p>Guess i&#8217;ll stop being too lazy&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..naah! :b</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2010/05/29/wordpress-on-android-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webpshere restart checker</title>
		<link>http://www.kuniel.net/2009/12/16/webpshere-restart-checker/</link>
		<comments>http://www.kuniel.net/2009/12/16/webpshere-restart-checker/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 11:11:20 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2009/12/16/webpshere-restart-checker/</guid>
		<description><![CDATA[A simple script to check if the websphere process is stopped or was restarted

#!/bin/ksh
 ##############################################################################
 # Description &#8211; Check WebSphere Application Server
 #
 # This script checks the WebSphere process if its stopped/restarted recently
 # Sanoop Kuniel (16-12-09)
 #############################################################################
 ## Set Profile and Server instance to monitor ##
 set -A profiles &#8220;AppSrv01&#8243; &#8220;AppSrv02&#8243;
 set -A [...]]]></description>
			<content:encoded><![CDATA[<p>A simple script to check if the websphere process is stopped or was restarted</p>
<p>
<div class="codesnip-container" >#!/bin/ksh<br />
 ##############################################################################<br />
 # Description &#8211; Check WebSphere Application Server<br />
 #<br />
 # This script checks the WebSphere process if its stopped/restarted recently<br />
 # Sanoop Kuniel (16-12-09)<br />
 #############################################################################</p>
<p> ## Set Profile and Server instance to monitor ##<br />
 set -A profiles &#8220;AppSrv01&#8243; &#8220;AppSrv02&#8243;<br />
 set -A servers &#8220;server1&#8243; &#8220;server2&#8243;</p>
<p> notify_list=&#8221;sanoop_kuniel@aviva-asia.com&#8221;</p>
<p> i=0<br />
 while [ $i -lt ${#profiles[@]} ]<br />
 do</p>
<p>     profile=${profiles[$i]}<br />
     server=${servers[$i]}<br />
     old_processid=&#8221;"</p>
<p>     (( i=i+1 ))</p>
<p>     result_file=&#8221;/tmp/CheckWAS.$profile.$server.result&#8221;</p>
<p>     echo &#8220;##Script Start##&#8221; > $result_file<br />
     date >> $result_file<br />
     count_file=&#8221;/tmp/CheckWAS.$profile.$server.count&#8221;</p>
<p>     ## Check if we can find the last recorded process id if not assume first run os script<br />
     if [ -f $count_file ]<br />
     then<br />
         old_processid=`cat $count_file|cut -c 1-8`<br />
         echo &#8220;Found last recorded process id : $old_processid&#8221; >> $result_file<br />
     fi</p>
<p>     echo &#8220;Hostname :: &#8221; `hostname` >> $result_file<br />
     ps -ef|grep $profile|grep $server|grep -v grep|awk &#8216;{print $2}&#8217;>$count_file<br />
     was_count=`wc -l $count_file |cut -c 1-8`</p>
<p>     echo &#8220;Profile  :: $profile&#8221; >> $result_file<br />
     echo &#8220;Instance :: $server&#8221; >> $result_file</p>
<p>     if [ $was_count = 0 ]<br />
     then<br />
         echo &#8220;!!!!!!!!! WebSphere Application Server is not running !!!!!!!!!&#8221; >> $result_file<br />
         mail -s &#8220;WEBSPHERE STOPPED on `hostname` &#8211; $profile &#8211; $server&#8221; &#8220;$notify_list&#8221;< $result_file<br />
     else<br />
         processid=`cat $count_file|cut -c 1-8`<br />
         if [ -z "$old_processid" ]<br />
         then<br />
             old_processid=$processid<br />
         fi<br />
         last_processid=`cat /usr/IBM/WebSphere/AppServer/profiles/$profile/logs/$server/$server.pid`</p>
<p>         ## Compare all process ids<br />
         if [ "$old_processid" != "$processid" ] || [ "$processid" != "$last_processid" ] || [ "$old_processid" != "$last_processid" ]<br />
         then<br />
             echo "Server was restarted!!" >> $result_file<br />
             echo &#8220;Last recorded process id :: $old_processid&#8221; >> $result_file<br />
             echo &#8220;Process id in pid file :: $last_processid&#8221; >> $result_file<br />
             echo &#8220;Current process id :: $processid&#8221; >> $result_file<br />
             mail -s &#8220;WEBSPHERE RESTART on `hostname` &#8211; $profile &#8211; $server&#8221; &#8220;$notify_list&#8221;< $result_file<br />
             echo "##Script End##" >> $result_file<br />
             exit 1<br />
         fi<br />
         echo &#8220;Process id :: `cat $count_file`&#8221; >> $result_file<br />
         echo &#8220;WebSphere is running&#8230;exiting&#8221;  >> $result_file<br />
     fi<br />
     echo &#8220;##Script End##&#8221; >> $result_file<br />
 done</div>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2009/12/16/webpshere-restart-checker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DB2 restore with rollforward</title>
		<link>http://www.kuniel.net/2009/09/29/db2-restore-with-rollforward/</link>
		<comments>http://www.kuniel.net/2009/09/29/db2-restore-with-rollforward/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 09:50:47 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[AIX]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[DB2]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2009/09/29/db2-restore-with-rollforward/</guid>
		<description><![CDATA[I recently had a few problem trying to restore a DB2 online compressed backup from one AIX machine to another.&#160;
I thought it would have been a simple process as saying

db2 restore db MYDB from /home/user/backup

which worked fine, Untill i tried to connect to the database. That is when i got the error

db2 => connect to [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had a few problem trying to restore a DB2 online compressed backup from one AIX machine to another.&nbsp;</p>
<p>I thought it would have been a simple process as saying</p>
<p>
<div class="codesnip-container" >db2 restore db MYDB from /home/user/backup</div>
</p>
<p>which worked fine, Untill i tried to connect to the database. That is when i got the error</p>
<p>
<div class="codesnip-container" >db2 => connect to MYDB<br />
 SQL1117N  A connection to or activation of database &#8220;AM2&#8243; cannot be made<br />
 because of ROLL-FORWARD PENDING.  SQLSTATE=57019</div>
</p>
<p>So i tried searching for a solution and tried everything i could.</p>
<p>
<div class="codesnip-container" >db2 => rollforward db MYDB to end of logs and stop<br />
 SQL4970N  Roll-forward recovery on database &#8220;MYDB&#8221; cannot reach the specifiedstop point (end-of-log or point-in-time) because of missing or corrupted log<br />
 file(s) on database partition(s) &#8220;0&#8243;. Roll-forward recovery processing has<br />
 halted on log file &#8220;S0001797.LOG&#8221;.<br />
 db2 => rollforward db MYDB complete<br />
 SQL1276N  Database &#8220;MYDB&#8221; cannot be brought out of rollforward pending state<br />
 until roll-forward has passed a point in time greater than or equal to<br />
 &#8220;2009-09-25-06.39.04.000000 UTC&#8221;, because node &#8220;0&#8243; contains information later<br />
 than the specified time.<br />
  db2 => rollforward db MYDB to 2009-09-25-06.39.04.000000 and stop<br />
 SQL1274N  The database &#8220;MYDB&#8221; requires roll-forward recovery and the<br />
 point-in-time must be to the end of logs.<br />
  db2 => rollforward db MYDB query status</p>
<p>                                  Rollforward Status</p>
<p>  Input database alias                   = MYDB<br />
  Number of nodes have returned status   = 1</p>
<p>  Node number                            = 0<br />
  Rollforward status                     = DB  working<br />
  Next log file to be read               = S0001797.LOG<br />
  Log files processed                    = S0001795.LOG &#8211; S0001796.LOG<br />
  Last committed transaction             = 2009-09-25-06.39.04.000000 UTC</p></div>
<p> </p>
<p>To cut it short this is what i did to fix it. </p>
<p>
<div class="codesnip-container" >db2 => restore db MYDB from /home/db2inst1/OSOL logtarget /tmp<br />
 DB20000I  The RESTORE DATABASE command completed successfully.</p>
<p> db2 => rollforward db MYDB to end of logs and stop overflow log path (/tmp) noretrieve</p>
<p>                                  Rollforward Status</p>
<p>  Input database alias                   = MYDB<br />
  Number of nodes have returned status   = 1</p>
<p>  Node number                            = 0<br />
  Rollforward status                     = not pending<br />
  Next log file to be read               =<br />
  Log files processed                    = S0001795.LOG &#8211; S0001799.LOG<br />
  Last committed transaction             = 2009-09-25-06.39.04.000000 UTC</p>
<p> DB20000I  The ROLLFORWARD command completed successfully.<br />
 db2 => connect to MYDB</p>
<p>    Database Connection Information</p>
<p>  Database server        = DB2/AIX64 9.1.4<br />
  SQL authorization ID   = DB2INST1<br />
  Local database alias   = MYDB</p></div>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2009/09/29/db2-restore-with-rollforward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Promote free software &#8211; DUMP VISTA!</title>
		<link>http://www.kuniel.net/2007/11/25/promote-free-software-dump-vista/</link>
		<comments>http://www.kuniel.net/2007/11/25/promote-free-software-dump-vista/#comments</comments>
		<pubDate>Sun, 25 Nov 2007 15:02:17 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/11/25/promote-free-software-dump-vista/</guid>
		<description><![CDATA[The free software foundation has started up a campaign to promote free software and oppose the adoption of Microsoft Windows Vista. Its about time someone thought of this. I would encourage everyone to support the FSF and sign the petition at http://www.badvista.org. So gohead, support a righteous cause.


]]></description>
			<content:encoded><![CDATA[<p>The free software foundation has started up a campaign to promote free software and oppose the adoption of Microsoft Windows Vista. Its about time someone thought of this. I would encourage everyone to support the FSF and sign the petition at <a href="http://www.badvista.org" onClick="javascript:urchinTracker ('/outbound/article/www.badvista.org');">http://www.badvista.org</a>. So gohead, support a righteous cause.</p>
<div><img src="http://badvista.fsf.org/logos/BadVista_no_littering.png" alt="DUMP VISTA!" width="145" height="251" /></div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/11/25/promote-free-software-dump-vista/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>db2move import utf-8</title>
		<link>http://www.kuniel.net/2007/11/24/db2move-import-utf-8/</link>
		<comments>http://www.kuniel.net/2007/11/24/db2move-import-utf-8/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 08:44:39 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/11/24/db2move-import-utf-8/</guid>
		<description><![CDATA[Well it starts off as a simple export/import of an UTF-8 database from AIX to Windows. I have an UTF-8 database on an AIX box and I created a UTF-8 database on the windows to replicate the setup on AIX with&#160;

db2 create db MYUTFDB codeset UTF-8 territory US

and did the following to export the schema [...]]]></description>
			<content:encoded><![CDATA[<p>Well it starts off as a simple export/import of an UTF-8 database from AIX to Windows. I have an UTF-8 database on an AIX box and I created a UTF-8 database on the windows to replicate the setup on AIX with&nbsp;</p>
<p>
<div class="codesnip-container" >db2 create db MYUTFDB codeset UTF-8 territory US</div>
</p>
<p>and did the following to export the schema and the data from the AIX box</p>
<p>
<div class="codesnip-container" >db2look -d MYUTFDB -ea -o mydbddl.sql<br />
  db2move AMUTF export</div>
<p>&nbsp;</p>
<p>and on the windows box did this to import it on my newly created UTF-8 DB.</p>
<p>
<div class="codesnip-container" >db2 -tvf  mydbddl.sql<br />
  db2move MYUTFDB IMPORT</div>
<p>&nbsp;</p>
<p>Now comes the time for a 2 day long struggle to find out why the utf-8 data inside the tables are all messed up, and all I could see are characters looking like &quot;&#8211;&gt;&#8211;&gt;&quot;. When i opened up the ixf file for the imported tables using Notepad++ Instead of seeing actual characters (ex: in Japanese) i could only find &quot;SUB&quot; (Hex: 1A1A). To keep the long story short this is what i used to solve the problem</p>
<p>
<div class="codesnip-container" >db2set DB2CODEPAGE=1208<br />
  db2 terminate<br />
  db2 force applications all<br />
  db2stop<br />
  db2start</div>
</p>
<p>I did this both on the AIX and Windows box.&nbsp;</p>
<p>&nbsp;The reason being, for some reason the db2move export on the AIX box, always exported the IXF files in the codepage 819 instead of 1208, eventhough my database was set to codepage 1208. Hence problem solved!</p>
<p>World Peace!&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/11/24/db2move-import-utf-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>catch that ESB! &#8211; ServiceMix the right concoction for all your ESB needs.</title>
		<link>http://www.kuniel.net/2007/10/15/catch-that-esb-servicemix-the-right-concoction-for-all-your-esb-needs/</link>
		<comments>http://www.kuniel.net/2007/10/15/catch-that-esb-servicemix-the-right-concoction-for-all-your-esb-needs/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 09:03:41 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/10/15/catch-that-esb-servicemix-the-right-concoction-for-all-your-esb-needs/</guid>
		<description><![CDATA[Yes i&#8217;ve been lazy! as always!. And this latest post is in response to the question &#34;time to update ur blog?&#34; from someone i know. You know who you are  , and i know you are the only one reading it :p So here goes, educate yourself  . Go back to your Maths [...]]]></description>
			<content:encoded><![CDATA[<p>Yes i&#8217;ve been lazy! as always!. And this latest post is in response to the question &quot;time to update ur blog?&quot; from someone i know. You know who you are <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , and i know you are the only one reading it :p<br /> So here goes, educate yourself <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Go back to your Maths and Physics after ur done, ok?</p>
<p>What is ESB?</p>
<p> ESB (Enterprise Service Bus) is not just a fancy name used in the Java world, Its become an iconic term when people talk about &quot;Integration&quot;. Imaging 10 different applications wanting to communicate with each other by some means, and lets say each application has some form of communication link between them, the end result? a mesh of communication links running across each of the individual applications resulting in CHAOS! The way ESB solves this problem is providing a single interface to for application to communicate to each other, synonymous to a line and different components connected to the same line at different places. Something like a BUS? <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Now for some technical jargon&#8230;..&nbsp;</p>
<p>The purpose of an ESB is to facilitate application and process integration by providing distributed processing, intelligent routing, security, and dynamic data transformation. In an ESB these services are infrastructure services so each application does not have to implement these requirements independently and in a proprietary manner. The ESB addresses the disadvantages of existing solutions by creating a standard infrastructure for integration. Point-to-point solutions, where each of <em>n</em> components requires <em>n</em>-1 interfaces for full communication, are replaced by a bus solution where each component requires a single interface to the bus for global communication. An ESB provides distributed messaging, routing, business process orchestration, reliability and security. It also provides pluggable services and, because of the standard bus, these pluggable services can be provided by third parties and still interoperate reliably with the bus.</p>
<p><a href="http://incubator.apache.org/servicemix/home.html" title="ServiceMix" target="_blank" onClick="javascript:urchinTracker ('/outbound/article/incubator.apache.org');">ServiceMix</a>  &#8211; Whats it all about?</p>
<p>ServiceMix was an Apache incubator project which finally graduated and is now an Apache top level project. Apache ServiceMix is an Open Source ESB (Enterprise Service Bus) that combines the functionality of a Service Oriented Architecture (SOA) and an Event Driven Architecture (EDA)&nbsp; to create an agile, enterprise ESB. Its an open source distributed ESB built from the ground up on the&nbsp; Java Business Integration (JBI) specification JSR 208 and released under the Apache license. The goal of JBI is to allow components and services to be integrated in a vendor independent way, allowing users and vendors to plug and play.&nbsp;</p>
<p>Why ServiceMix?</p>
<p>There are many vendors that provide ESB solutions (like Oracle ESB and IBM Websphere ESB), but there is no universal agreement as to the best design or architecture for an ESB. ServiceMix has a design that is based on the JBI (JSR 208) specification in order to create a standards based ESB and the ServiceMix ESB combines the functionality of both a Service Oriented Architecture (S0A) and Event Driven Architecture (EDA) to achieve an agile, enterprise ESB.As previously stated, ServiceMix is an open source ESB that is based on the Java Business Integration (JBI) standard. These two factors, open source and open standards-based, allow for low entry cost, maximum flexibility, reuse, and investment protection.</p>
<p>ServiceMix uses yet another Apache project ActiveMQ to provide remoting, clustering, reliability and distributed failover. Iam not going to go into any details on using ServiceMix, there are already plenty of resource for it on the project&#8217;s homepage. So goahead and give it a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/10/15/catch-that-esb-servicemix-the-right-concoction-for-all-your-esb-needs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenWRT on ASUS WL500gP &#8211; Router on Steroids!</title>
		<link>http://www.kuniel.net/2007/06/10/openwrt-on-asus-wl500gp-router-on-steroids/</link>
		<comments>http://www.kuniel.net/2007/06/10/openwrt-on-asus-wl500gp-router-on-steroids/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 08:07:36 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/06/10/openwrt-on-asus-wl500gp-router-on-steroids/</guid>
		<description><![CDATA[I was tired of my old Netgear wireless router, since i had to reset it every&#8230;hmm lemme think&#8230;1hr!! and i used to go crazy walking to it on the other room and reset it. But finally its all over, i got myself a nice and shiny new ASUS WL500g Premium. Trying to find it at [...]]]></description>
			<content:encoded><![CDATA[<p>I was tired of my old Netgear wireless router, since i had to reset it every&#8230;hmm lemme think&#8230;1hr!! and i used to go crazy walking to it on the other room and reset it. But finally its all over, i got myself a nice and shiny new ASUS WL500g Premium. Trying to find it at SimLim Square was kinda pain in the arse, considering only one shop had it. The primary reason i wanted to get this particular router was, it had 2 USB ports (called Storage Link in Linksys terminology) making it somewhat of a NAS (Network Attached Storage). The firmware provided was all good, but i needed something better and what better than OpenWRT (<a href="http://www.openwrt.org" title="http://www.openwrt.org" onClick="javascript:urchinTracker ('/outbound/article/www.openwrt.org');">http://www.openwrt.org</a>), the open-source linux os for the router initially made for the Linksys WRT series routers but was later ported to routers made by ASUS, Buffalo etc. To make it more clear, this is what the creator of OpenWRT have to say about it.</p>
<p>&quot;OpenWrt is described as a Linux distribution for embedded devices.</p>
<p> Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&quot;</p>
<p>What makes OpenWRT so great?</p>
<p>Well it depends on how much you love the word &quot;Freedom&quot;. It lets you install everything from an OpenVPN Server,Web Server, FTP Server, Samba Server or a simple NAS server. and the best part its worth around 179 SGD and you get a low end server which always stays on. You could even use it as a bittorrent or an emule client to download stuff of P2P without even having to switch on your PC. It comes with all the goodies provided by the Linux 2.4 kernel.</p>
<p>Another project that complements OpenWRT is X-Wrt (<a href="http://www.x-wrt.org" title="http://www.x-wrt.org" onClick="javascript:urchinTracker ('/outbound/article/www.x-wrt.org');">http://www.x-wrt.org</a> ) which is a web interface to configure OpenWRT based systems.</p>
<p>To get started I used the image <a href="http://downloads.x-wrt.org/xwrt/firmware_images/whiterussian/0.9/latest-daily-build/openwrt-brcm-2.4-squashfs.trx" title="http://downloads.x-wrt.org/xwrt/firmware_images/whiterussian/ 0.9/latest-daily-build/openwrt-brcm-2.4-squashfs.trx" onClick="javascript:urchinTracker ('/outbound/article/downloads.x-wrt.org');">http://downloads.x-wrt.org/xwrt/firmware_images/whiterussian/ 0.9/latest-daily-build/openwrt-brcm-2.4-squashfs.trx</a><br /> which comes pre-built with x-wrt packages. And i used the TFTP method mentioned in OpenWRT Wiki to update the firmware</p>
<p>1. Connect your PC to the routers with one of the LAN ports on the routers.</p>
<p>2. Set your PCs IP to a static IP (ex: 192.168.1.10)</p>
<p>3. Unplug the power cord on the router</p>
<p>4. Push the RESTORE (not the red EZsetup!!!!) button on the router using a pen or such, and keep the button pushed down.</p>
<p>5. Plug the power on the router while keeping the (black) RESTORE button pushed for few seconds.</p>
<p>If you see a slowly blinking power light, you&#8217;re in diag mode. Now the router should accept an image via tftp.</p>
<p>6. On the PC open up a cmd window.</p>
<p>7. Type &quot;tftp -i 192.168.1.1 PUT openwrt-brcm-2.4-squashfs.trx&quot; and press enter in the command window.</p>
<p>8. After the tftp upload is complete, wait at least 6 minutes. Asus WL-500gP doesn&#8217;t seem to reboot automatically after the upgrade is complete. You need to plug off the power, and plug it back on to make the router alive again.</p>
<p>after the router is back up. goto http://192.168.1.1 to get access to the x-wrt management interface.</p>
<p>and don&#8217;t forget to use the mighty SSH to login to the router and let your imagination run wild!</p>
<p> &nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/06/10/openwrt-on-asus-wl500gp-router-on-steroids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 and Reverse DNS (an IRC addicts paradise)</title>
		<link>http://www.kuniel.net/2007/05/23/ipv6-and-reverse-dns-an-irc-addicts-paradise/</link>
		<comments>http://www.kuniel.net/2007/05/23/ipv6-and-reverse-dns-an-irc-addicts-paradise/#comments</comments>
		<pubDate>Wed, 23 May 2007 15:56:23 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/05/23/ipv6-and-reverse-dns-an-irc-addicts-paradise/</guid>
		<description><![CDATA[Like always, lazy and sleepy all thanks to KFC&#8217;s cheese fries. I&#8217;ve been in hibernation for too long. And now that i&#8217;ve finally woken up to write something, i would like to write about something that i&#8217;ve always liked IRCing, though iam not into it much these days but it still brings back memories. OK [...]]]></description>
			<content:encoded><![CDATA[<p>Like always, lazy and sleepy all thanks to KFC&#8217;s cheese fries. I&#8217;ve been in hibernation for too long. And now that i&#8217;ve finally woken up to write something, i would like to write about something that i&#8217;ve always liked IRCing, though iam not into it much these days but it still brings back memories. OK then no more talking, lets get back to the point.</p>
<p>hmm, IPv6&#8230;&#8230;</p>
<p>Well IPv6 is the next generation protocol for the Internet. IPv6 is already being tested by a lot of organizations and universities. And for the answer to the first question &quot;Why?&quot;, well we are running out of address space. The current internet protocol IPv4 can support a maximum 2<sup>32</sup> (approx 4.3 billion) distinct addresses and even with things like NAT (Network Address Translation) we are still going to run out of addresses someday. Hence all the smart people around the world have come up with something called IPv6 (aka. IP version 6, as in TCP/IP? <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . IPv6 supports 5&times;10<sup>28</sup> addresses for <em>each</em> of the roughly 6.5 billion people alive today. Unlike IPv4 addresses which look something like 192.168.1.2, IPv6 addresses are normally written as eight groups of four hexadecimal digits ex: 2001:0db8:0000:0000:0000:0000:1428:57ab. Well enought talking getting back to our topic. People on IRC would love to show off l33t host names, something like &quot;southpark.kicks-ass.net&quot; (a.k.a Reverse DNS entries for IPs) instead of an IP when they join a channel and as with the case of IPv4, the people who own the rights to set these Reverse DNS entries are most likely your ISPs or if you own a dedicated server, your server provider. But with the case of IPv6, these rights can be all your, and wats better ITS FREE!! <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Q: what do you need to have to get you started with IPv6?&nbsp;</p>
<p>A: An IPv6 Tunnel (Which creates dynamic IPv6 tunnels between someone called the Tunnel Broker&nbsp; (People who provide IPv6 tunnels) and your machine)</p>
<p>These Tunnels route your traffic over the existing IPv4 network and connect you the world of IPv6. So after you have setup an IPv6 tunnel your traffic would be routed something like this</p>
<p>&lt;Your IPv6 Network/Host&#8211;&gt;&nbsp; IPv4 (Your ISP) &lt;&#8212; IPV4 Network &#8212; &gt; IPv6 Network.</p>
<p>In short all your IPv6 traffic would be tunneled through ur existing IPv4 infrastructure, hence these tunnels are also called &quot;6to4&quot; tunnels and visa versa.</p>
<p>Q: How do you create an IPv6 Tunnel?<br /> A: There are lots of free IPv6 Tunnel providers, to name a few</p>
<p>&nbsp;&nbsp;&nbsp; 1. Hurricane Electric (http://ipv6tb.he.net)<br /> &nbsp;&nbsp;&nbsp; 2. BT-exact (http://tb.ipv6.btexact.com)</p>
<p>refer to http://en.wikipedia.org/wiki/Tunnel_broker to get a list of tunnel brokers.</p>
<p>the easiest way to get started with IPv6 is to download the Gateway6 Client from http://www.go6.net/4105/download.asp formally known as freenet6. Register for an account at www.go6.com and install the Gateway6 client and run the client and provide your newly created account.</p>
<p>Once you startup the client, it would create a IPv6 Tunnel and install an Virtual IPv6 Tunnel adapter and you would instantly be assigned a IPv6 Address.&nbsp;</p>
<p>To get started with Reverse DNS you must request an IPv6 Subnet by selecting &quot;Enable Routing Advertisemen&quot;.&nbsp; The next step is to assign a DNS Server that would handle reverse dns for you, again there are lots of free DNS provider out there that support creating IPv6 Zones like http://www.afraid.org and  http://www.xname.org. In my case i&#8217;ve used<strong> ns1.afraid.org </strong>as the DNS server to represent afraid.org&#8217;s nameservers.</p>
<p>&nbsp;<img src="http://img259.imageshack.us/img259/5991/gateway6ud4.jpg" alt="Gateway 6 Client" title="Gateway 6 Client" width="520" height="654" /></p>
<p>&nbsp;after you have requested a subnet and the gateway 6 client is restarted, your virtual ipv6 adapter would have a new address added to it something like 2001:5c0:95ad::1 and in my case i own the subnet 2001:5c0:95ad::/48 so any address from 2001:5c0:95ad::1 to 2001:5c0:95ad:ffff:ffff:ffff:ffff:ffff is all mine to cherish <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>now that you have the subnet we will start by creating a reverse dns zone at afraid.org (keep in mind they have very low tolerance on DNS abuse)<br /> create an afraid.org account and login to it and create a new IPv6 Reverse Zone</p>
<p>&nbsp;Under the &quot;IPv6 Reverse&quot; create a IPv6 Subnet with something like &quot;2001:5c0:95ad::/48&quot;</p>
<p>now add a new record for&nbsp; 2001:5c0:95ad::1 inside the subnet, make sure the hostname you specify has already an AAAA record pointing back to 2001:5c0:95ad::1 (Which can be setup from &quot;Subdomain&quot; section at afraid.org). So once the reverse DNS entry is setup you can start using your brand new host name to login to any irc network and when the irc server queries the reverse dns record for your IPv6 IP it will get hold of the hostname you just specified. PWNAGE!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/05/23/ipv6-and-reverse-dns-an-irc-addicts-paradise/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>w00tw00t.at.ISC.SANS.DFind</title>
		<link>http://www.kuniel.net/2007/03/20/w00tw00tatiscsansdfind/</link>
		<comments>http://www.kuniel.net/2007/03/20/w00tw00tatiscsansdfind/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 08:28:15 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/03/20/w00tw00tatiscsansdfind/</guid>
		<description><![CDATA[Well i&#8217;ve been having this problem for a long time, with script kiddies trying to run scans on my server with Dfind (http://class101.org ).
These are some of these request from the apache server logs

/var/log/httpd/access_log.2:80.237.172.185 &#8211; - [05/Mar/2007:09:20:47 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;
 /var/log/httpd/access_log.2:83.71.188.242 &#8211; - [05/Mar/2007:16:25:40 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 [...]]]></description>
			<content:encoded><![CDATA[<p>Well i&#8217;ve been having this problem for a long time, with script kiddies trying to run scans on my server with Dfind (<a href="http://class101.org" title="http://class101.org" onClick="javascript:urchinTracker ('/outbound/article/class101.org');">http://class101.org</a> ).</p>
<p>These are some of these request from the apache server logs</p>
<p>
<div class="codesnip-container" >/var/log/httpd/access_log.2:80.237.172.185 &#8211; - [05/Mar/2007:09:20:47 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;<br />
 /var/log/httpd/access_log.2:83.71.188.242 &#8211; - [05/Mar/2007:16:25:40 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;<br />
 /var/log/httpd/access_log.2:213.254.226.49 &#8211; - [06/Mar/2007:05:11:47 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;<br />
 /var/log/httpd/access_log.2:216.30.246.14 &#8211; - [09/Mar/2007:08:56:12 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;<br />
 /var/log/httpd/access_log.3:80.237.211.76 &#8211; - [25/Feb/2007:07:46:16 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;<br />
 /var/log/httpd/access_log.3:83.71.188.242 &#8211; - [25/Feb/2007:17:51:23 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400 299 &#8220;-&#8221; &#8220;-&#8221;<br />
 /var/log/httpd/access_log.3:80.237.172.185 &#8211; - [27/Feb/2007:05:42:20 -0800] &#8220;GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1&#8243; 400</div>
<p>&nbsp;</p>
<p>All this while i&#8217;ve been lazy <img src='http://www.kuniel.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , but today i felt like trying something to fix it. What i&#8217;ve come up with is this</p>
<p>
<div class="codesnip-container" >grep &#8220;w00tw00t&#8221; /var/log/httpd/access_log*|awk &#8216;{print $1}&#8217;|sed &#8217;s/\(.*\)://g&#8217;|sort|uniq|cat /etc/apf/deny_hosts.rules -|sort|uniq</div>
<p>&nbsp;</p>
<p>This is one of the things i wrote to get all the list of IPs from the Apache access logs who have been running these scans. Well the purpose of this is to feed these IPs to APF (<a href="http://www.rfxnetworks.com/apf.php" title="http://www.rfxnetworks.com/apf.php" onClick="javascript:urchinTracker ('/outbound/article/www.rfxnetworks.com');">http://www.rfxnetworks.com/apf.php</a> ) the output of this is pumped to /etc/apf/deny_hosts.rules to block any of these lamers from further accessing my server ^_^</p>
<p>Only problem is for some strange reason, I couldn&#8217;t pipe the output of the command directly to /etc/apf/deny_hosts.rules. The file always ended up with output of &quot;grep &quot;w00tw00t&quot; /var/log/httpd/access_log*|awk &#8216;{print $1}&#8217;|sed &#8217;s/\(.*\)://g&#8217;|sort|uniq&quot;. Well maybe i&#8217;ll figure it out sometime later. SLEEPP!! awaits!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/03/20/w00tw00tatiscsansdfind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django for Python</title>
		<link>http://www.kuniel.net/2007/03/13/django-for-python/</link>
		<comments>http://www.kuniel.net/2007/03/13/django-for-python/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 09:32:59 +0000</pubDate>
		<dc:creator>Sanoop Kuniel</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.kuniel.net/2007/03/13/django-for-python/</guid>
		<description><![CDATA[Django  is a web-framework similar to Rails for Ruby, i&#8217;ve not worked on rails much thought but my friend vivek  seems to be the &#34;GURU&#34; of rails =), but when he mentioned Django i just wanted to give it a try. From what i can say Django has been a no pain and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com" title="Django" onClick="javascript:urchinTracker ('/outbound/article/www.djangoproject.com');">Django</a>  is a web-framework similar to Rails for Ruby, i&#8217;ve not worked on rails much thought but my friend <a href="http://www.khokhar.info" title="viv" onClick="javascript:urchinTracker ('/outbound/article/www.khokhar.info');">vivek</a>  seems to be the &quot;GURU&quot; of rails =), but when he mentioned Django i just wanted to give it a try. From what i can say Django has been a no pain and all gain framework. Easy to setup and code. In the world of Web 2.0, isn&#8217;t that want we want. I had an old friend who ones said &quot;Good Programmers are Lazy Programmers&quot;.I still remember your words, Hats-off to you Jacob!. That said, Django is pretty easy to get things started with, I won&#8217;t start with providing a tutorials for it, the site already has a great set of tutorials. You can also check out <a href="http://www.djangobook.com" title="www.djangobook.com" onClick="javascript:urchinTracker ('/outbound/article/www.djangobook.com');">www.djangobook.com</a>&nbsp; which is a book in making for Django. One other interesting thing to check out is a video on Django at <a href="http://video.google.com/videoplay?docid=-70449010942275062&amp;q=Django" title="http://video.google.com/videoplay?docid=-70449010942275062&amp;q=Django" onClick="javascript:urchinTracker ('/outbound/article/video.google.com');">http://video.google.com/videoplay?docid=-70449010942275062&amp;q=Django</a><br /> &nbsp;</p>
<p>If you have trouble figuring out Django you can also drop in at the IRC channel #django at irc.freenode.net&nbsp;</p>
<p>Well thats it from me for a while, I&#8217;ve been feeling lazy lately :b&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kuniel.net/2007/03/13/django-for-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
