<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Praveen Kumar</title>
	
	<link>http://praveen.kumar.in</link>
	<description>Random thoughts collection bucket</description>
	<lastBuildDate>Sat, 27 Jun 2009 17:29:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/praveen-journal" type="application/rss+xml" /><feedburner:emailServiceId>praveen-journal</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>GNOME Metacity dual screen issue in OpenSolaris 2009.06</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/TwFurdLJLSk/</link>
		<comments>http://praveen.kumar.in/2009/06/03/gnome-metacity-dual-screen-issue-in-opensolaris-2009-06/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 17:51:34 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=478</guid>
		<description><![CDATA[With the latest OpenSolaris 2009.06, maximizing windows managed by Metacity (GNOME) will maximize the windows across both screens. This is due to an issue that Metacity was trying to use a wrong Xinerama type. This issue is fixed in the mercurial repository. However, the fix was not on time to make it into the final [...]]]></description>
			<content:encoded><![CDATA[<p>With the latest OpenSolaris 2009.06, maximizing windows managed by Metacity (GNOME) will maximize the windows across both screens. This is due to an issue that <a href="http://defect.opensolaris.org/bz/show_bug.cgi?id=8748">Metacity was trying to use a wrong Xinerama type</a>. This issue is fixed in the mercurial repository. However, the fix was not on time to make it into the final release of OpenSolaris 2009.06. But, there is a quick workaround for this issue. Here is the set of instructions.</p>
<p><strong>Step 1.</strong> Backup your current metacity.</p>
<p><code>pfexec cp /usr/bin/metacity /usr/bin/metacity.orig</code></p>
<p><strong>Step 2.</strong> Download the fixed Metacity binary from developer&#8217;s site and replace the original binary.</p>
<p><code>wget http://www.gnome.org/~erwannc/bugs/8748/metacity -o /tmp/metacity<br />
pfexec cp /tmp/metacity /usr/bin/metacity</code></p>
<p><strong>Note:</strong> Don&#8217;t do this in one step using <code>wget -o /usr/bin/metacity</code>. This broke my system.</p>
<p><strong>Step 3. (Optional)</strong> By now, your new Metacity should have already started working. If not, replace the current instance by hand.</p>
<p><code>metacity --replace</code></p>
<p>Happy dual-screening on your OpenSolaris 2009.06!</p>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2009%2F06%2F03%2Fgnome-metacity-dual-screen-issue-in-opensolaris-2009-06%2F&amp;linkname=GNOME%20Metacity%20dual%20screen%20issue%20in%20OpenSolaris%202009.06"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/RH5S8bieJJ3oxuy7hxN14ZMjqL4/0/da"><img src="http://feedads.g.doubleclick.net/~a/RH5S8bieJJ3oxuy7hxN14ZMjqL4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RH5S8bieJJ3oxuy7hxN14ZMjqL4/1/da"><img src="http://feedads.g.doubleclick.net/~a/RH5S8bieJJ3oxuy7hxN14ZMjqL4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2009/06/03/gnome-metacity-dual-screen-issue-in-opensolaris-2009-06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2009/06/03/gnome-metacity-dual-screen-issue-in-opensolaris-2009-06/</feedburner:origLink></item>
		<item>
		<title>Creating OpenSolaris live USB sticks</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/ePHzVyT9WiY/</link>
		<comments>http://praveen.kumar.in/2009/06/02/creating-opensolaris-live-usb-sticks/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:37:50 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=474</guid>
		<description><![CDATA[OpenSolaris 2009.06 was announced yesterday. You can download the live CD image (ISO) from here. Here is the set of instructions to create a live USB stick from the live CD that you have downloaded.
Step 1. Install distro-construct.
pfexec pkg install SUNWdistro-const
Step 2. Generate the USB image from CD image.
pfexec usbgen osol-0906-x86.iso osol-0906-x86-usb.img /tmp/osol
Step 3. Copy [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.opensolaris.com/">OpenSolaris</a> 2009.06 was announced yesterday. You can download the live CD image (ISO) from <a href="http://dlc.sun.com/osol/opensolaris/2009/06/osol-0906-x86.iso">here</a>. Here is the set of instructions to create a live USB stick from the live CD that you have downloaded.</p>
<p><strong>Step 1.</strong> Install distro-construct.</p>
<p><code>pfexec pkg install SUNWdistro-const</code></p>
<p><strong>Step 2.</strong> Generate the USB image from CD image.</p>
<p><code>pfexec usbgen osol-0906-x86.iso osol-0906-x86-usb.img /tmp/osol</code></p>
<p><strong>Step 3.</strong> Copy the generated USB image on to the USB stick.</p>
<p><code>pfexec usbcopy osol-0906-x86-usb.img</code></p>
<p>On executing the above command, you will be shown the list of removable media and asked to select the one to use with usbcopy. If you have inserted only one USB media, you will see only one entry to choose from. Please note that you may have to unmount the USB media from your GNOME file manager or command line, before usbcopy starts.</p>
<p>Once usbcopy completes, your OpenSolaris live USB sticks are ready to boot a live environment and perform installation. I will be in Community One West, Deep Dive sessions today (Jun 2, 2009) at Intercontinental Hotel, San Francisco. If anyone needs to make their USB media an OpenSolaris live media, please contact me.</p>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2009%2F06%2F02%2Fcreating-opensolaris-live-usb-sticks%2F&amp;linkname=Creating%20OpenSolaris%20live%20USB%20sticks"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/-9MUSv6sWkqlAFk0-qr4do2Y-LY/0/da"><img src="http://feedads.g.doubleclick.net/~a/-9MUSv6sWkqlAFk0-qr4do2Y-LY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-9MUSv6sWkqlAFk0-qr4do2Y-LY/1/da"><img src="http://feedads.g.doubleclick.net/~a/-9MUSv6sWkqlAFk0-qr4do2Y-LY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2009/06/02/creating-opensolaris-live-usb-sticks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2009/06/02/creating-opensolaris-live-usb-sticks/</feedburner:origLink></item>
		<item>
		<title>Setting up FTPS using vsftpd for Wordpress plugins auto upgrade</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/7cnI6ZxPIuw/</link>
		<comments>http://praveen.kumar.in/2009/05/31/setting-up-ftps-using-vsftpd-for-wordpress-plugins-auto-upgrade/#comments</comments>
		<pubDate>Sun, 31 May 2009 21:20:50 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=463</guid>
		<description><![CDATA[


One of the handy features in the latest Wordpress is the support to upgrade plugins in one click through the Wordpress administration interface. It needs FTP or FTPS access to the server where you have hosted your Wordpress installation. But turning on FTP for users (non-anonymous) is a bad idea. Using FTP involves transferring user [...]]]></description>
			<content:encoded><![CDATA[<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "5378557659";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<p>One of the handy features in the latest Wordpress is the support to upgrade plugins in one click through the Wordpress administration interface. It needs <a href="http://en.wikipedia.org/wiki/FTP">FTP</a> or <a href="http://en.wikipedia.org/wiki/FTPS">FTPS</a> access to the server where you have hosted your Wordpress installation. But turning on FTP for users (non-anonymous) is a bad idea. Using FTP involves transferring user passwords as plain text during authentication. This is a great security concern and the primary reason for why one shouldn&#8217;t turn on FTP for user accounts. However, Wordpress also supports FTPS, FTP over SSL. This shouldn&#8217;t be confused with <a href="http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol">SSH FTP</a> or <a href="http://en.wikipedia.org/wiki/FTP_over_SSH#FTP_over_SSH_.28not_SFTP.29">Secure FTP</a>. FTPS uses TLS or SSL for authentication and commands. Let us see how to setup FTPS on a server using <a href="http://vsftpd.beasts.org/">vsftpd</a>.</p>
<p><strong>Step 1: Install vsftpd</strong></p>
<p>Using the package manager for your distribution, install vsftpd. On Debian and Ubuntu, it can be installed by the following command.</p>
<p><code>sudo apt-get install vsftpd</code></p>
<p><strong>Step 2: Configure FTPS</strong></p>
<p>Edit <code>/etc/vsftpd.conf</code> and do the following.</p>
<p><strong>2a.</strong> comment out anonymous_enable line.</p>
<p><code># Allow anonymous FTP? (Beware - allowed by default if you comment this out).<br />
#anonymous_enable=YES<br />
</code></p>
<p><strong>2b.</strong> Uncomment <code>local_enable</code> and <code>write_enable</code> lines.</p>
<p><code># Uncomment this to allow local users to log in.<br />
local_enable=YES<br />
#<br />
# Uncomment this to enable any form of FTP write command.<br />
write_enable=YES<br />
</code></p>
<p><strong>2c.</strong> Override the umask for local users to 022 by uncommenting the <code>local_umask</code> line. </p>
<p><code># Default umask for local users is 077. You may wish to change this to 022,<br />
# if your users expect that (022 is used by most other ftpd's)<br />
local_umask=022</code></p>
<p><strong>Note:</strong> Failing to do this, will make the plugin directory unreadable by your webserver and you will start getting PHP include errors. If this happens, you have to disable the plugin and remove the directory or change the permission of the directory to 755.</p>
<p><strong>2d.</strong> Turn on SSL by adding the following lines. This is disable plain FTP and allow only FTPS.</p>
<p><code>ssl_enable=YES<br />
allow_anon_ssl=NO<br />
force_local_data_ssl=YES<br />
force_local_logins_ssl=YES<br />
ssl_tlsv1=YES<br />
ssl_sslv2=YES<br />
ssl_sslv3=YES</code></p>
<p>It is assumed that the RSA certificate and key are in the standard locations <code>/etc/ssl/certs/ssl-cert-snakeoil.pem</code> and <code>/etc/ssl/private/ssl-cert-snakeoil.key</code> respectively. If not, create these and put them there.</p>
<p><code># This option specifies the location of the RSA certificate to use for SSL<br />
# encrypted connections.<br />
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem<br />
# This option specifies the location of the RSA key to use for SSL<br />
# encrypted connections.<br />
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key</code></p>
<p><strong>Step 3: Restart vsftpd.</strong></p>
<p>Restart vsftpd by issuing the following command.</p>
<p><code>sudo /etc/init.d/vsftpd restart</code></p>
<p>Now your vsftpd is ready to serve FTPS connections.</p>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2009%2F05%2F31%2Fsetting-up-ftps-using-vsftpd-for-wordpress-plugins-auto-upgrade%2F&amp;linkname=Setting%20up%20FTPS%20using%20vsftpd%20for%20Wordpress%20plugins%20auto%20upgrade"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/4RwgjBajpTXVtYMxr4AfGRFni7Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/4RwgjBajpTXVtYMxr4AfGRFni7Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4RwgjBajpTXVtYMxr4AfGRFni7Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/4RwgjBajpTXVtYMxr4AfGRFni7Q/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2009/05/31/setting-up-ftps-using-vsftpd-for-wordpress-plugins-auto-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2009/05/31/setting-up-ftps-using-vsftpd-for-wordpress-plugins-auto-upgrade/</feedburner:origLink></item>
		<item>
		<title>Oracle to buy Sun Microsystems</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/7vSmCCIgCes/</link>
		<comments>http://praveen.kumar.in/2009/04/20/oracle-to-buy-sun-microsystems/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 06:11:40 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=454</guid>
		<description><![CDATA[This morning there was an official announcement that Oracle has offered to buy Sun Microsystems for $9.50 per stock, and Sun&#8217;s board agreed. The market rumors surrounding Sun for the last few weeks suggested that something was looming. But, Oracle was a surprise to me. It looks like closing the deal typically takes from 3 [...]]]></description>
			<content:encoded><![CDATA[<p>This morning there was an official announcement that Oracle has offered to buy Sun Microsystems for $9.50 per stock, and Sun&#8217;s board agreed. The market rumors surrounding Sun for the last few weeks suggested that something was looming. But, Oracle was a surprise to me. It looks like closing the deal typically takes from 3 to 9 months. It would be interesting to see how Sun would be integrated into Oracle.</p>
<p>Also, Oracle&#8217;s attitude towards Open Source remains largely unknown at this point. Sun did some extensive Open Sourcing in the past few years. It would be interesting to see how this deal would affect the direction of those products.</p>
<p>To know more information about the deal, read the <a href="http://www.sun.com/third-party/global/oracle/">Sun&#8217;s press release</a> or <a href="http://www.oracle.com/us/corporate/press/018363">Oracle&#8217;s press release</a>. Oracle has put up an <a href="http://www.oracle.com/sun/index.html">information page</a> and <a href="http://www.oracle.com/sun/sun-faq.pdf">answered some of the frequently asked questions</a> in there.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2009%2F04%2F20%2Foracle-to-buy-sun-microsystems%2F&amp;linkname=Oracle%20to%20buy%20Sun%20Microsystems"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/RrrrhCXQfsdqahRu9vLtKAmlCzo/0/da"><img src="http://feedads.g.doubleclick.net/~a/RrrrhCXQfsdqahRu9vLtKAmlCzo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RrrrhCXQfsdqahRu9vLtKAmlCzo/1/da"><img src="http://feedads.g.doubleclick.net/~a/RrrrhCXQfsdqahRu9vLtKAmlCzo/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2009/04/20/oracle-to-buy-sun-microsystems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2009/04/20/oracle-to-buy-sun-microsystems/</feedburner:origLink></item>
		<item>
		<title>Turning off loud system beep in OpenSolaris Gnome and GDM</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/7EXt56n9DRs/</link>
		<comments>http://praveen.kumar.in/2009/04/01/turning-off-loud-system-beep-in-opensolaris-gnome-and-gdm/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 21:33:41 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=440</guid>
		<description><![CDATA[Since OpenSolaris started using Gnome 2.24, I started getting loud system beeps those were produced on the PC speaker device that by-passes the audio device. Gnome uses kbd to generate this beep. This beep is so loud that it is really annoying. Also it hurts one&#8217;s ears when listening to music using a headset. The [...]]]></description>
			<content:encoded><![CDATA[<p>Since OpenSolaris started using Gnome 2.24, I started getting loud system beeps those were produced on the PC speaker device that by-passes the audio device. Gnome uses kbd to generate this beep. This beep is so loud that it is really annoying. Also it hurts one&#8217;s ears when listening to music using a headset. The volume of the beep can&#8217;t be controlled by the system volume control. To turn off the beep or control the volume, one must use the <code>xset(1)</code> utility. The beep can be turned off by issuing the command <code>xset -b</code> or <code>xset b off</code> in (Gnome) terminal. One can also control the volume through <code>xset b <volume>
<pitch> <duration></code>. However this is not persistent across logins. You will lose this setting once you log off and log on. Theoretically adding this to <code>~/.xprofile</code> should work to make it persistent. It used to work till snv_101a. However for unknown root cause, it doesn&#8217;t work anymore.</p>
<p><strong>Gnome:</strong><br />
In order to make this persistent, one should edit the Gconf properties for Metacity. First install the SUNWgnome-config-editor package by issuing the command <code>pfexec pkg install SUNWgnome-config-editor</code>. Then invoke <code>gconf-edito</code>r from a terminal. Go to <code>apps -> metacity -> general</code> and uncheck <code>audible_bell</code> property and exit <code>gconf-editor</code>. This should disable the system beep for all applications under Gnome and make the change persistent.</p>
<div id="attachment_443" class="wp-caption aligncenter" style="width: 738px"><img src="http://praveen.kumar.net.in/journal/wp-content/uploads/2009/04/gnome-beep-off.png" alt="Turn Gnome sytem beep off" title="Turn Gnome sytem beep off" width="708" height="578" class="size-full wp-image-443" /><p class="wp-caption-text">Turn Gnome sytem beep off</p></div>
<p><span id="more-440"></span></p>
<p><strong>GDM:</strong><br />
To turn off the beep when GDM starts, invoke the GDM setup by issuing the command <code>pfexec /usr/sbin/gdmsetup</code> from a terminal. Then, go to <code>Accessibility</code> tab and uncheck <code>Login screen ready</code> entry under <code>Sounds</code> section.</p>
<div id="attachment_442" class="wp-caption aligncenter" style="width: 561px"><img src="http://praveen.kumar.net.in/journal/wp-content/uploads/2009/04/gdm-beep-off.png" alt="Turn GDM beep off" title="Turn GDM beep off" width="531" height="723" class="size-full wp-image-442" /><p class="wp-caption-text">Turn GDM beep off</p></div>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2009%2F04%2F01%2Fturning-off-loud-system-beep-in-opensolaris-gnome-and-gdm%2F&amp;linkname=Turning%20off%20loud%20system%20beep%20in%20OpenSolaris%20Gnome%20and%20GDM"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/jy1fTCRlm984xxlvx6Go_Qz-_Ek/0/da"><img src="http://feedads.g.doubleclick.net/~a/jy1fTCRlm984xxlvx6Go_Qz-_Ek/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jy1fTCRlm984xxlvx6Go_Qz-_Ek/1/da"><img src="http://feedads.g.doubleclick.net/~a/jy1fTCRlm984xxlvx6Go_Qz-_Ek/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2009/04/01/turning-off-loud-system-beep-in-opensolaris-gnome-and-gdm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2009/04/01/turning-off-loud-system-beep-in-opensolaris-gnome-and-gdm/</feedburner:origLink></item>
		<item>
		<title>Getting (some) Things Done</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/1QKZLLCjvFg/</link>
		<comments>http://praveen.kumar.in/2008/12/13/getting-some-things-done/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 19:38:28 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[gtd]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=429</guid>
		<description><![CDATA[Recently I found myself in a situation where I felt that I have more things to do than the time available in hand. The number of unread e-mails and pending tasks were growing in a faster rate day by day. I missed to act upon a few important e-mails. This new situation had increased my [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I found myself in a situation where I felt that I have more things to do than the time available in hand. The number of unread e-mails and pending tasks were growing in a faster rate day by day. I missed to act upon a few important e-mails. This new situation had increased my stress and caused a sense of unaccomplishment in spite of being reasonably productive. My positive sense of being in control was going down day by day. That is when I started to realize that there is something basically wrong in the way I handled things.</p>
<p>On the other hand, I see some of my <a href="http://www.bactrian.org/~carlton/">manager</a>&#8217;s activities through his <a href="http://twitter.com/davidcarlton">Twitter updates</a> and <a href="http://malvasiabianca.org/">blog posts</a>. The wide range of stuff he does is mind-boggling. He might have ten-folds of things to do than I have. However I saw a sense of completion in most of the things he did. I discussed with him about this in one of the <a href="http://malvasiabianca.org/archives/2008/02/one-on-ones/">1-1 meetings</a> we had. From his answers, I realized that instead of trying to manage my time, I should try to manage the things that I do. He recommended to read &#8220;<a href="http://en.wikipedia.org/wiki/Getting_Things_Done">Getting Things Done</a>&#8221; by David Allen. I promptly bought the book. However due to bad management of things I do, I was not able to start on the book until a couple of months later.</p>
<p><span id="more-429"></span></p>
<p>After reading through a couple of chapters of the book, I was still trying to understand some of the concepts that the book. I decided to experiment the concepts that I learned so far practically. To start with, I have chosen to apply the techniques on my e-mail system. The first thing I did was to review my mailing list subscriptions and get myself removed from the lists that I felt not so important. Then I went on created tags on <a href="http://www.mozilla.com/en-US/thunderbird/">Mozilla Thunderbird</a> to organize my mails according to some predefined GTD categories. Then it was time to go through all the unread mails by acting on them or moving them to an appropriate category. Once I got my e-mail Inbox to zero unread mails, I had a better sense of control of my e-mail. From then on I started applying GTD workflow for my e-mail processing and I get my e-mail Inbox to zero count many times a day. There will be a detailed post about the setup of my e-mail system sometime in the future.</p>
<p>Applying GTD to my e-mail was a significant success. For a couple of months from then, I was applying GTD techniques only on my e-mails. I realized that it was time to start applying them on the other things that I do as well. In the meantime, <a href="http://www.sun.com/">my employer</a> was offering a day long class room session on &#8220;Getting Things Done &#8211; Mastering the workflow&#8221; training conducted by <a href="http://www.mozilla.com/en-US/thunderbird/">David Allen&#8217;s company</a>. I was very eager to attend the session to get some first hand sight of how to apply these techniques for everything I do. My manager was kind enough to approve my request for the class room session. I took this session last week that gave me more insight to things like mind sweep, weekly reviews, higher altitude reviews, etc.</p>
<p>I bought some stationery supplies last week to manage the paper materials I have. I sat down for my first mind sweep and weekly review last Sunday. The outcome was a very decent set of &#8220;Next Actions&#8221;. I tracked them electronically using <a href="http://www.rousette.org.uk/projects/">Tracks</a>. I was very happy to see I have already done many significant things that I was procrastinating for a while. One of more visible things that I did was to clean up workspace. I can&#8217;t wait to have my next weekly review tomorrow. I will come up with a detailed post on how I do my weekly reviews and capture things, next actions after a month. That will give me more experience to share about getting things done.</p>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2008%2F12%2F13%2Fgetting-some-things-done%2F&amp;linkname=Getting%20%28some%29%20Things%20Done"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/Z9-YL6CZgGFOKhV4OWpJXvIvoUI/0/da"><img src="http://feedads.g.doubleclick.net/~a/Z9-YL6CZgGFOKhV4OWpJXvIvoUI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Z9-YL6CZgGFOKhV4OWpJXvIvoUI/1/da"><img src="http://feedads.g.doubleclick.net/~a/Z9-YL6CZgGFOKhV4OWpJXvIvoUI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2008/12/13/getting-some-things-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2008/12/13/getting-some-things-done/</feedburner:origLink></item>
		<item>
		<title>Oh No, Not Again</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/n66xztJKVcU/</link>
		<comments>http://praveen.kumar.in/2008/11/14/oh-no-not-again/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 02:11:46 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[economy]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=427</guid>
		<description><![CDATA[My employer (Sun Microsystems, Inc.) has announced another round of layoffs, which will eliminate as much as 18% of Sun&#8217;s workforce (around 6000 jobs), will save the company $700 million to $800 million. We have also announced the departure of the head of Software Group, Rich Green. With this we are restructuring the Software Group [...]]]></description>
			<content:encoded><![CDATA[<p>My employer (Sun Microsystems, Inc.) has <a href="http://www.sun.com/aboutsun/pr/2008-11/sunflash.20081114.1.xml">announced</a> another round of layoffs, which will eliminate as much as 18% of Sun&#8217;s workforce (around 6000 jobs), will save the company $700 million to $800 million. We have also announced the departure of the head of Software Group, Rich Green. With this we are restructuring the Software Group into Application Platform Software, Systems Platforms and Cloud Computing &#038; Developer Platforms. The recession of world wide economy is putting enormous pressure on technology companies like us. We would hope that this downturn would end soon before causing irreversible damage to many companies. However I feel that we have just entered into the difficult stage of the slowdown and we will be seeing more challenges awaiting us.</p>
<p><strong>Disclaimer: All the views expressed herein are mine. I am not talking for my employer, Sun Microsystems, Inc.</strong></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2008%2F11%2F14%2Foh-no-not-again%2F&amp;linkname=Oh%20No%2C%20Not%20Again"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/bcT9xAbMwEKpmSisEj9L_Kbyjv4/0/da"><img src="http://feedads.g.doubleclick.net/~a/bcT9xAbMwEKpmSisEj9L_Kbyjv4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bcT9xAbMwEKpmSisEj9L_Kbyjv4/1/da"><img src="http://feedads.g.doubleclick.net/~a/bcT9xAbMwEKpmSisEj9L_Kbyjv4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2008/11/14/oh-no-not-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2008/11/14/oh-no-not-again/</feedburner:origLink></item>
		<item>
		<title>Identifying what is holding up your boot speed in Linux</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/JtWOtkOxaBw/</link>
		<comments>http://praveen.kumar.in/2008/08/02/identifying-what-is-holding-up-your-boot-speed-in-linux/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 21:48:52 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=423</guid>
		<description><![CDATA[For a while now, I was not happy with the speed my Debian GNU/Linux booted. It was taking approximately 1:10 minutes to drop me in the GDM prompt. Today, I decided that I will try to probe into what exactly is happening. I have already heard of bootchart a few years ago. However I never [...]]]></description>
			<content:encoded><![CDATA[<p>For a while now, I was not happy with the speed my Debian GNU/Linux booted. It was taking approximately 1:10 minutes to drop me in the GDM prompt. Today, I decided that I will try to probe into what exactly is happening. I have already heard of <a href="http://www.bootchart.org/">bootchart</a> a few years ago. However I never had a chance to use it. So, I installed bootchart. I am not going to talk in detail about the installation. It is available in Debian and Ubuntu repositories. If you are using some other distribution, you can either find it in the repository or compile it from the source.</p>
<p>After installation, reboot the system and add <code>'init=/sbin/bootchartd'</code> to the <code>'kernel'</code> command line arguments in Grub. This will use bootchartd as init and bootstartd will in turn start the original init. If alternative init environment like <code>init-ng</code> is used, there might be additional arguments needed. Please consult the bootchartd man page for more information. Once the systems boots, the data collected is available in <code>/var/log/bootchart.tgz</code>. Run <code>bootchart</code> to generate <code>bootchart.png</code> from <code>/var/log/bootchart.tgz</code>.</p>
<p>After doing this, I figured out that <code>udevadm</code> is taking almost 30 seconds. I later figured out that the udev rule that tries to rename <code>'wlan0'</code> to <code>'eth1'</code> is the culprit (search on Google). Then I commented the <code>'eth1'</code> line in <code>/etc/udev/rules.d/70-persistent-net.rules</code>, rebooted and did the bootchart thing again. I was happy to see that a portion of around 30 seconds is now removed from my boot time. That&#8217;s great!</p>
<table border="0" align="center">
<tr>
<th>Before udev fix</th>
<th>After udev fix</th>
</tr>
<tr>
<td>
<a href="http://praveen.kumar.net.in/journal/post-images/bootchart-before.png"><img src="http://praveen.kumar.net.in/journal/post-images/bootchart-before-sm.png" alt="Bootchart before udev fix" /></a>
</td>
<td>
<a href="http://praveen.kumar.net.in/journal/post-images/bootchart-after.png"><img src="http://praveen.kumar.net.in/journal/post-images/bootchart-after-sm.png" alt="Bootchart after udev fix" /></a>
</td>
</tr>
</table>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2008%2F08%2F02%2Fidentifying-what-is-holding-up-your-boot-speed-in-linux%2F&amp;linkname=Identifying%20what%20is%20holding%20up%20your%20boot%20speed%20in%20Linux"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/u_qH00OhCdtlhzgFNU2-88bQVOc/0/da"><img src="http://feedads.g.doubleclick.net/~a/u_qH00OhCdtlhzgFNU2-88bQVOc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/u_qH00OhCdtlhzgFNU2-88bQVOc/1/da"><img src="http://feedads.g.doubleclick.net/~a/u_qH00OhCdtlhzgFNU2-88bQVOc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2008/08/02/identifying-what-is-holding-up-your-boot-speed-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2008/08/02/identifying-what-is-holding-up-your-boot-speed-in-linux/</feedburner:origLink></item>
		<item>
		<title>AT&amp;T Store Apple iPhone 3G preorder status checking</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/NqzgUtjb_84/</link>
		<comments>http://praveen.kumar.in/2008/07/24/att-store-apple-iphone-3g-preorder-status-checking/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 06:18:07 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=422</guid>
		<description><![CDATA[I have pre-ordered Apple iPhone 3G from my neighboring AT&#038;T store last Sunday (Jul 20). I have done this as purchasing from the Apple Store wouldn&#8217;t let me to apply my FAN discounts on the plan. Applying it latter would reflect only after a couple of billing cycles. Also I don&#8217;t wanna get into the [...]]]></description>
			<content:encoded><![CDATA[<p>I have pre-ordered Apple iPhone 3G from my neighboring AT&#038;T store last Sunday (Jul 20). I have done this as purchasing from the Apple Store wouldn&#8217;t let me to apply my FAN discounts on the plan. Applying it latter would reflect only after a couple of billing cycles. Also I don&#8217;t wanna get into the crazy line. I didn&#8217;t join the true Apple cult yet. I was just curious about the status of the pre-order and I checked the status online and found that the status query mechanism can be exploited to post automated queries. Here is a small ruby script that I wrote to check bulk statuses. This would also give you a clue on where you are in preorder line.<br />
<span id="more-422"></span></p>
<p>This script is intended to be used to check your order status only. Please note that this comes with absolutely no warranty and I can&#8217;t be held responsible for the misuse of the script. AT&#038;T may change their query mechanism if they know about this exploit.</p>
<pre lang="ruby">
#!/usr/bin/env ruby

require 'rubygems'
require 'open-uri'
require 'openssl'

# FIXME (2008-07-24, praveen): This is nasty. I don't know of any other
# simpler way to skip SSL certificate verification.
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

class Order
  attr_reader <img src='http://praveen.kumar.in/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> rder_number, :zip_code, :valid, :canceled, \
  :customer_name, <img src='http://praveen.kumar.in/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> rder_date, :shipped, :ship_date, :ship_carrier, \
  :tracking_number

  def initialize order_number, zip_code
    @order_number = order_number
    @zip_code = zip_code
    @valid = false
    @canceled = false

    order_status_uri = URI.parse "https://www.wireless.att.com/order_status/\
order_status_results.jsp?fromwhere=order_status&#038;vMethod=ordernum&#038;\
vNumber=#{order_number}&#038;ZipCode=#{zip_code}&#038;x=40&#038;y=14"
    order_status = order_status_uri.read

    if !order_status.scan("We're sorry, but the information you entered \
was not recognized by our systems.").to_s.empty?
      @valid = false
      return
    end
    @valid = true

    if !order_status.scan("Canceled")[0].to_s.empty?
      @canceled = true
      return
    end
    @canceled = false

    @customer_name =
      order_status.scan(/Customer:\s*\w*/).to_s.gsub!(/Customer:\s*/,"")
    @order_date =
      order_status.scan(/Date Ordered:.*/).to_s.gsub!(/Date Ordered:\s*/, "")
    @order_date.gsub!(/\s/, "")
    @shipped =
      order_status.scan(/\
<td width="5%".*/)[3].scan(/[01]/).to_s.to_i == 1 ?
    true : false
    if !@shipped
      return
    end
    @ship_date = order_status.scan(/\<td width="6%".*/)[5]
    @ship_date.gsub! /^.*\<p\>/, ""
    @ship_date.gsub! /\<\/p\>.*$/, ""
    @ship_carrier = order_status.scan(/\
<td width="6%".*/)[7]
    @ship_carrier.gsub! /^.*\<p\>/, ""
    @ship_carrier.gsub! /\<\/p\>.*$/, ""
    @tracking_number =
      order_status.scan(/\http:\/\/fedex.com\/Tracking\?tracknumbers=\d*/).to_s
    @tracking_number.gsub! /\http:\/\/fedex.com\/Tracking\?tracknumbers=/, ""
  end

  def print
    if !@valid
      puts "#{@order_number.ljust(6)} ------------------------ NOT FOUND \
------------------------"
      return
    end
    if @canceled
      puts "#{@order_number.ljust(6)} ------------------------ CANCELLED \
------------------------"
      return
    end
    if @shipped
      puts "#{@order_number.ljust(6)} #{@customer_name.slice(0..14).ljust(15)} \
#{@order_date} #{'Yes'.ljust(5)} #{@ship_date} #{@ship_carrier.ljust(6)} \
#{@tracking_number}"
    else
      puts "#{@order_number.ljust(6)} #{@customer_name.slice(0..14).ljust(15)} \
#{@order_date} #{'No'.ljust(5)} #{'NA'.ljust(8)} #{'NA'.ljust(6)} \
#{'NA'.ljust(12)}"
    end
  end
end

if ARGV.length != 3
  puts "Usage: ./order-status.rb ZIP BEGIN END

  ZIP      ZIP code of the AT&#038;T store where the order is placed.
  BEGIN    Order number to begin searching for.
  END      Order number to end searching for.

Example: ./order-status.rb 94025 12000 12100
"
else
  puts "Que Order# #{'Name'.ljust(15)} Order Dt Ship? Ship Dt  Carrie Tracking"
  puts "----------------------------------------------------------------------"
  queue = 0
  for order_number in ARGV[1]..ARGV[2]
    o = Order.new order_number, ARGV[0]
    if o.valid and !o.canceled
      queue += 1 if !o.shipped
      display_queue = o.shipped ? "NA" : queue
    else
      display_queue = "NA"
    end
    print "#{display_queue.to_s.ljust(3)} "
    o.print
  end
end
</pre>
<p><div align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7090400310274257";
google_ad_slot = "4888131072";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div></p>
<p><strong>Sample output:</strong><br />
Data is scrambled to protect identity.</p>
<pre>
praveen@athena:~/scratch/ruby$ ./order-status.rb [ZIP] XX208 XX250
./order-status.rb:9: warning: already initialized constant VERIFY_PEER
Que Order# Name            Order Dt Ship? Ship Dt  Carrie Tracking
----------------------------------------------------------------------
NA  XX208  ***IVEL         07/15/08 Yes   07/18/08 F      981870058XXX
1   XX209  ***EPHINE       07/15/08 No    NA       NA     NA
2   XX210  ***PBELL        07/15/08 No    NA       NA     NA
3   XX211  ***ISSA         07/15/08 No    NA       NA     NA
NA  XX212  ------------------------ NOT FOUND ------------------------
NA  XX213  ***N            07/15/08 Yes   07/18/08 F      981870063XXX
NA  XX214  ***E            07/15/08 Yes   07/18/08 FDE11  978403293XXX
4   XX215  ***DIRI         07/15/08 No    NA       NA     NA
NA  XX216  ***TT           07/15/08 Yes   07/24/08 F      981871193XXX
5   XX217  ***E            07/15/08 No    NA       NA     NA
6   XX218  ***TT           07/15/08 No    NA       NA     NA
7   XX219  ***ESH          07/15/08 No    NA       NA     NA
8   XX220  ***D            07/15/08 No    NA       NA     NA
9   XX221  ***ECCA         07/15/08 No    NA       NA     NA
10  XX222  ***ENIA         07/15/08 No    NA       NA     NA
NA  XX223  ***TEH          07/15/08 Yes   07/18/08 F      981870054XXX
11  XX224  ***TER          07/15/08 No    NA       NA     NA
NA  XX225  ***TER          07/15/08 Yes   07/24/08 F      981847797XXX
NA  XX226  ------------------------ CANCELLED ------------------------
NA  XX227  ***DA           07/16/08 Yes   07/24/08 FDE51  982002804XXX
NA  XX228  ------------------------ CANCELLED ------------------------
NA  XX229  ***HEESH        07/16/08 Yes   07/18/08 F      981846745XXX
12  XX230  ***ER           07/16/08 No    NA       NA     NA
13  XX231  ***A            07/16/08 No    NA       NA     NA
14  XX232  ***EL           07/16/08 No    NA       NA     NA
15  XX233  ***SWORTH       07/16/08 No    NA       NA     NA
16  XX234  ***SWORTH       07/16/08 No    NA       NA     NA
17  XX235  ***SWORTH       07/16/08 No    NA       NA     NA
18  XX236  ***RGE          07/16/08 No    NA       NA     NA
19  XX237  ***AB           07/16/08 No    NA       NA     NA
20  XX238  ***QUIEL        07/16/08 No    NA       NA     NA
NA  XX239  ***RY           07/16/08 Yes   07/18/08 F      981870059XXX
</pre>
<p><strong>PS:</strong> The credit also goes to an anonymous guy who wrote a similar script that I came across in a forum (I forgot the exact place). Most of the regexp ideas were shamelessly stolen from his original script. This is my first non-trivial Ruby script. I don&#8217;t know much about Ruby. This was a learning script as well. Please bear with newbie mistakes and coding conventions. If you have any comments on the code, I will be more than happy to hear from you.</p>
<p><strong>Update (2008-07-29):</strong> AT&#038;T finally decided to do something about the vulnerability. They are using &#8220;Captcha&#8221; now. So, this script might not work anymore. However I am pretty close to the head of the queue. I might get my phone in a couple of days or so. So, I don&#8217;t worry about this anymore&#8230;<br />
<strong><br />
Update (2008-08-02):</strong> My phone shipped today.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2008%2F07%2F24%2Fatt-store-apple-iphone-3g-preorder-status-checking%2F&amp;linkname=AT%26%23038%3BT%20Store%20Apple%20iPhone%203G%20preorder%20status%20checking"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/G0fF5q4P6UNEIGJPmoAxqJUC12w/0/da"><img src="http://feedads.g.doubleclick.net/~a/G0fF5q4P6UNEIGJPmoAxqJUC12w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/G0fF5q4P6UNEIGJPmoAxqJUC12w/1/da"><img src="http://feedads.g.doubleclick.net/~a/G0fF5q4P6UNEIGJPmoAxqJUC12w/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2008/07/24/att-store-apple-iphone-3g-preorder-status-checking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2008/07/24/att-store-apple-iphone-3g-preorder-status-checking/</feedburner:origLink></item>
		<item>
		<title>Completely clueless</title>
		<link>http://feedproxy.google.com/~r/praveen-journal/~3/wikaIfrf4KQ/</link>
		<comments>http://praveen.kumar.in/2008/07/23/completely-clueless/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 20:59:47 +0000</pubDate>
		<dc:creator>Praveen Kumar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[frustration]]></category>
		<category><![CDATA[opensolaris]]></category>

		<guid isPermaLink="false">http://praveen.kumar.net.in/journal/?p=421</guid>
		<description><![CDATA[On my OpenSolaris. What could be more exciting than this?

praveen@athena:~$ /opt/sfw/bin/emacs
Fatal error (11).Segmentation Fault (core dumped)

praveen@athena:~$ file core
core:           ELF 32-bit LSB core file 80386 Version 1, from 'emacs'

praveen@athena:~$ gdb -c core /opt/sfw/bin/emacs
GNU gdb 6.3.50_2004-11-23-cvs
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the [...]]]></description>
			<content:encoded><![CDATA[<p>On my OpenSolaris. What could be more exciting than this?</p>
<pre>
praveen@athena:~$ /opt/sfw/bin/emacs
Fatal error (11).Segmentation Fault (core dumped)

praveen@athena:~$ file core
core:           ELF 32-bit LSB core file 80386 Version 1, from 'emacs'

praveen@athena:~$ gdb -c core /opt/sfw/bin/emacs
GNU gdb 6.3.50_2004-11-23-cvs
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.11"...(no debugging symbols found)

Core was generated by `/opt/sfw/bin/emacs'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /opt/sfw/lib/libXaw3d.so.5...(no debugging symbols found)...done.
Loaded symbols for /opt/sfw/lib/libXaw3d.so.5
Reading symbols from /usr/lib/libXmu.so...done.
Loaded symbols for /usr/lib/libXmu.so
Reading symbols from /usr/lib/libXt.so.4...done.
Loaded symbols for /usr/lib/libXt.so.4
Reading symbols from /usr/lib/libSM.so.6...done.
Loaded symbols for /usr/lib/libSM.so.6
Reading symbols from /usr/lib/libICE.so.6...done.
Loaded symbols for /usr/lib/libICE.so.6
Reading symbols from /usr/lib/libXext.so.0...done.
Loaded symbols for /usr/lib/libXext.so.0
Reading symbols from /usr/lib/libtiff.so.3...done.
Loaded symbols for /usr/lib/libtiff.so.3
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /usr/lib/libpng12.so.0...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /lib/libm.so.2...done.
Loaded symbols for /lib/libm.so.2
Reading symbols from /opt/sfw/lib/libungif.so.4...done.
Loaded symbols for /opt/sfw/lib/libungif.so.4
Reading symbols from /usr/lib/libXpm.so.4...done.
Loaded symbols for /usr/lib/libXpm.so.4
Reading symbols from /usr/lib/libX11.so...Segmentation Fault (core dumped)

praveen@athena:~$ file core
core:           ELF 32-bit LSB core file 80386 Version 1, from 'gdb'
</pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fpraveen.kumar.in%2F2008%2F07%2F23%2Fcompletely-clueless%2F&amp;linkname=Completely%20clueless"><img src="http://praveen.kumar.in/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/AI0pTzAHLOVSYWB27FpcRZ5NRJU/0/da"><img src="http://feedads.g.doubleclick.net/~a/AI0pTzAHLOVSYWB27FpcRZ5NRJU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AI0pTzAHLOVSYWB27FpcRZ5NRJU/1/da"><img src="http://feedads.g.doubleclick.net/~a/AI0pTzAHLOVSYWB27FpcRZ5NRJU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://praveen.kumar.in/2008/07/23/completely-clueless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://praveen.kumar.in/2008/07/23/completely-clueless/</feedburner:origLink></item>
	</channel>
</rss>
