<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11964363</id><updated>2011-11-09T17:10:57.773+05:30</updated><category term='ruby'/><category term='apache'/><category term='mobile'/><category term='annoyances'/><category term='business'/><category term='tech'/><category term='mysql'/><category term='php'/><category term='ajax'/><category term='bug'/><category term='security'/><category term='asus'/><category term='gprs'/><category term='climate'/><category term='firefox'/><category term='jquery'/><category term='travel'/><category term='shell'/><category term='video'/><category term='email'/><category term='windows'/><category term='code'/><category term='guitar'/><category term='cron'/><category term='cars'/><category term='notebook'/><category term='laptop'/><category term='google'/><category term='backup'/><category term='humor'/><title type='text'>Dreweys Corner</title><subtitle type='html'>Security is a cat and mouse game</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>99</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11964363.post-1229234616272474633</id><published>2011-09-02T22:22:00.002+05:30</published><updated>2011-09-02T22:24:15.442+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>UDF Uncaught ReferenceError: $ is not defined</title><content type='html'>&lt;b&gt;UFD Uncaught ReferenceError: $ is not defined&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The Uncaught ReferenceError: $ is not defined error appears when the jquery library is called at the end of the page.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Check the spot where jquery is called.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1229234616272474633?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1229234616272474633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1229234616272474633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1229234616272474633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1229234616272474633'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2011/09/udf-uncaught-referenceerror-is-not.html' title='UDF Uncaught ReferenceError: $ is not defined'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8160697846454721574</id><published>2011-08-18T17:54:00.003+05:30</published><updated>2011-08-18T18:06:56.904+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Skype 5.5 For Windows Unstable</title><content type='html'>Skype version 5.5 For Windows is Unstable. It is obvious the problem is with the new Visual Style.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To disable the Skype Visual Style:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Click Tools &amp;gt; Options&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Change the Visual Style to 'Classic Windows'.&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/-1bTmXolAWDg/Tk0HGuFGiVI/AAAAAAAAAqQ/vDxASiyI0gk/s1600/capture_18082011_175459.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 178px;" src="http://4.bp.blogspot.com/-1bTmXolAWDg/Tk0HGuFGiVI/AAAAAAAAAqQ/vDxASiyI0gk/s320/capture_18082011_175459.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5642173720195139922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Save Changes.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Skype 5.5 For Windows Unstable&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8160697846454721574?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8160697846454721574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8160697846454721574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8160697846454721574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8160697846454721574'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2011/08/skype-55-for-windows-unstable.html' title='Skype 5.5 For Windows Unstable'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-1bTmXolAWDg/Tk0HGuFGiVI/AAAAAAAAAqQ/vDxASiyI0gk/s72-c/capture_18082011_175459.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3331651578648900687</id><published>2011-07-19T23:20:00.003+05:30</published><updated>2011-07-19T23:24:21.907+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>The value of the property 'LoadPage' is null or undefined, not a Function object</title><content type='html'>If you've used the  tag. Internet Explorer versions below 9 will display the error:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;"The value of the property 'LoadPage' is null or undefined, not a Function object"&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Do not use the body onLoad. This tag is not compatible on older browsers.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The solution is to use this instead:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;  if ( window.addEventListener ) {&lt;/div&gt;&lt;div&gt;  window.addEventListener( "load", LoadPage, false );&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;  else&lt;/div&gt;&lt;div&gt;     if ( window.attachEvent ) {&lt;/div&gt;&lt;div&gt;        window.attachEvent( "onload", LoadPage );&lt;/div&gt;&lt;div&gt;  } else&lt;/div&gt;&lt;div&gt;        if ( window.onLoad ) {&lt;/div&gt;&lt;div&gt;           window.onload = LoadPage;&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3331651578648900687?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3331651578648900687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3331651578648900687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3331651578648900687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3331651578648900687'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2011/07/value-of-property-loadpage-is-null-or.html' title='The value of the property &apos;LoadPage&apos; is null or undefined, not a Function object'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4398596818472105930</id><published>2011-02-10T13:36:00.003+05:30</published><updated>2011-02-10T13:43:45.349+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google Chrome Stuck Refuses to Update</title><content type='html'>The Google Chrome update is stuck refuses to install. Clicking on About -&gt; Update refuses to update Chrome.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may run into this problem if the Windows temp files directory is moved to a partition other than the default location.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The solution:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You need to force Chrome to update.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;1) Quit Chrome and make sure no stray instances are running&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OPEN a DOS box. Type cmd in the run box in the start menu. Copy and paste the command that begins from reg. exe and ends at /v cmd. Paste the entire line in the DOS box and hit enter&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Run the following from a command prompt to get the magic incantation:&lt;/div&gt;&lt;div&gt;reg.exe query "HKCU\Software\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}" /v cmd&lt;/div&gt;&lt;div&gt;(use {4ea16ac7-fd5a-47c3-875b-dbf4a2008c20} if you're on canary rather than stable, beta, or dev)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) Run the command obtained from the previous step.  For example:&lt;/div&gt;&lt;div&gt;"C:\Users\YOU\AppData\Local\Google\Chrome\Application\9.0.597.84\Installer\setup.exe" --rename-chrome-exe&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4398596818472105930?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4398596818472105930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4398596818472105930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4398596818472105930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4398596818472105930'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2011/02/google-chrome-stuck-refuses-to-update.html' title='Google Chrome Stuck Refuses to Update'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-507093752564204934</id><published>2010-07-30T00:45:00.003+05:30</published><updated>2010-10-05T20:31:20.632+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Invalid query 1: Got a packet bigger than 'max_allowed_packet' bytes</title><content type='html'>&lt;div&gt;Invalid query 1: Got a packet bigger than 'max_allowed_packet' bytes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If your script generates this error change the following variables:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;File: /etc/my.cnf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Restart the mysql daemon after these changes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;max_allowed_packet = 16M&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html"&gt;http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-507093752564204934?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/507093752564204934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=507093752564204934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/507093752564204934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/507093752564204934'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2010/07/invalid-query-1-got-packet-bigger-than.html' title='Invalid query 1: Got a packet bigger than &apos;max_allowed_packet&apos; bytes'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5017499975206343424</id><published>2010-04-12T00:21:00.008+05:30</published><updated>2011-03-06T12:21:21.346+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Convert any Video format to Xvid with Virtual Dub</title><content type='html'>&lt;div&gt;Convert any Video format to Xvid with Virtual Dub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Uses:&lt;/div&gt;&lt;div&gt;Convert a DVD to avi&lt;/div&gt;&lt;div&gt;Backup a DVD&lt;/div&gt;&lt;div&gt;Xvid Encoding&lt;/div&gt;&lt;div&gt;Convert movies to Xvid&lt;/div&gt;&lt;div&gt;Compress a Video File&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Requirements:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Download and install the latest &lt;a href="http://www.xvid.org/Downloads.15.0.html"&gt;Xvid video codec&lt;/a&gt;&lt;/div&gt;&lt;div&gt;- Download and install the latest &lt;a href="http://virtualdub.sourceforge.net/"&gt;Virtual Dub&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;- DO THIS FIRST -&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1) Open the video file in Virtual Dub. Enable the Fast Recompress in Video &gt; Fast Recompress. Next, Click Video &gt; Compression.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_5BsE_fDcVM8/S8Ia9uTbQYI/AAAAAAAAAfE/NTv1fspKq2k/s1600/1capture_11042010_191743.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_5BsE_fDcVM8/S8Ia9uTbQYI/AAAAAAAAAfE/NTv1fspKq2k/s320/1capture_11042010_191743.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5458955346030313858" style="cursor: pointer; width: 320px; height: 174px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Select the Xvid codec at the bottom.&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_5BsE_fDcVM8/S8Ia9y8xqcI/AAAAAAAAAfM/rPPGnjZLjVc/s1600/2capture_11042010_191754.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_5BsE_fDcVM8/S8Ia9y8xqcI/AAAAAAAAAfM/rPPGnjZLjVc/s320/2capture_11042010_191754.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5458955347277490626" style="cursor: pointer; width: 320px; height: 173px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;3) Select profile. Choose Unrestricted or choose a profile that best selects the target device you want to watch the Xvid video.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/S8Ia-dwE-1I/AAAAAAAAAfU/P3EfPGQ-7gM/s1600/3capture_11042010_191759.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 266px; height: 320px;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/S8Ia-dwE-1I/AAAAAAAAAfU/P3EfPGQ-7gM/s320/3capture_11042010_191759.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5458955358766955346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) Hit F7 on the keyboard or go to File &gt; Save as AVI and enter a filename.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_5BsE_fDcVM8/S8Ia-sdC2mI/AAAAAAAAAfc/74qet-bF44o/s1600/4capture_11042010_191809.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_5BsE_fDcVM8/S8Ia-sdC2mI/AAAAAAAAAfc/74qet-bF44o/s320/4capture_11042010_191809.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5458955362713655906" style="cursor: pointer; width: 320px; height: 174px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;5) Watch the newly created compressed Xvid Video!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;or Batch Convert Videos&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) File &gt; Queue Batch Operation &gt; Batch Wizard &lt;/div&gt;&lt;div&gt;- Drag n Drop the Files into the Batch box&lt;/div&gt;&lt;div&gt;- Choose the destination folder&lt;/div&gt;&lt;div&gt;- Click Add to Queue - Re-Save as AVI&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) File &gt; Job Control &gt;  Click Start&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5017499975206343424?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5017499975206343424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5017499975206343424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5017499975206343424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5017499975206343424'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2010/04/convert-any-video-format-to-xvid-with.html' title='Convert any Video format to Xvid with Virtual Dub'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/S8Ia9uTbQYI/AAAAAAAAAfE/NTv1fspKq2k/s72-c/1capture_11042010_191743.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-399134770653849438</id><published>2010-02-12T22:44:00.004+05:30</published><updated>2010-03-08T13:05:05.521+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Convert: missing an image filename, Command not found</title><content type='html'>&lt;span style="font-weight:bold;"&gt;convert: missing an image filename 'image-test.jpg'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;sh: line 1: image-test.jpg: command not found&lt;br /&gt;&lt;br /&gt;Running the convert function through system() in a PHP script may result in the following error, "convert: missing an image filename"&lt;br /&gt;&lt;br /&gt;The filename has been passed correctly to convert. The error persists.&lt;br /&gt;&lt;br /&gt;Why does the error appear?&lt;br /&gt;&lt;br /&gt;Line breaks. During the dump process it is possible that extra line breaks were added to the filenames. &lt;br /&gt;&lt;br /&gt;Line breaks are invisible. That is why you cannot see the problem in the filename. The problem is not visible.&lt;br /&gt;&lt;br /&gt;The solution is to run a trim() on all the filenames. That will instantly clean up and remove all the extra line breaks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-399134770653849438?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/399134770653849438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=399134770653849438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/399134770653849438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/399134770653849438'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2010/02/convert-missing-image-filename-command.html' title='Convert: missing an image filename, Command not found'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-9042825969279200916</id><published>2010-02-11T23:35:00.006+05:30</published><updated>2010-03-08T12:06:35.702+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>phpMyAdmin Blank Page and eaccelerator</title><content type='html'>&lt;b&gt;Blank phpmyadmin&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So you've installed a brand new version of phpmyadmin. Running the config tool displays a blank page.&lt;br /&gt;&lt;br /&gt;phpmyadmin displays a blank config page. The page is blank. Changing the configs manually will not work.&lt;br /&gt;&lt;br /&gt;This issue appears if you have a version of php eaccelerator installed. It appears that certain versions of phpmyadmin will not work correctly with a version eaccelerator.&lt;br /&gt;&lt;br /&gt;Disable php eaccelerator.&lt;br /&gt;&lt;br /&gt;Heres how:&lt;br /&gt;&lt;br /&gt;Open the /etc/php.ini file and edit the following line:&lt;br /&gt;&lt;br /&gt;eaccelerator.enable="0"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-9042825969279200916?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/9042825969279200916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=9042825969279200916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/9042825969279200916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/9042825969279200916'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2010/02/blank-phpmyadmin.html' title='phpMyAdmin Blank Page and eaccelerator'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-2564858513618580978</id><published>2009-12-27T19:59:00.005+05:30</published><updated>2009-12-28T10:42:49.941+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Disable Google Updates, GoogleUpdate.exe</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Disable Google Updates, GoogleUpdate.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Procedure To disable GoogleUpdate.exe from running automatically during startup&lt;br /&gt;&lt;br /&gt;Click Run &gt; Type Msconfig &gt; Goto the Startup Tab&lt;br /&gt;&lt;br /&gt;Remove the checkbox next to GoogleUpdate.exe&lt;br /&gt;&lt;br /&gt;Click OK. Restart the computer.&lt;br /&gt;&lt;br /&gt;GoogleUpdate.exe also adds itself to Scheduled Tasks.&lt;br /&gt;&lt;br /&gt;Navigate to the Control Panel &gt; Scheduled Tasks&lt;br /&gt;&lt;br /&gt;Delete all the GoogleUpdate.exe entries.&lt;br /&gt;&lt;br /&gt;Restart the computer.&lt;br /&gt;&lt;br /&gt;Click Run &gt; Click Browse &gt; Navigate to c:\windows\system32\ &gt; Select the services.msc file. Click open&lt;br /&gt;&lt;br /&gt;Right Click on the Google Update Service &gt; Properties&lt;br /&gt;&lt;br /&gt;Set the Start Up type to Disabled&lt;br /&gt;&lt;br /&gt;Repeat process for the Google Updater Service.&lt;br /&gt;&lt;br /&gt;Restart Computer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-2564858513618580978?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/2564858513618580978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=2564858513618580978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2564858513618580978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2564858513618580978'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2009/12/disable-google-updates-googleupdateexe.html' title='Disable Google Updates, GoogleUpdate.exe'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1681697866250183064</id><published>2009-12-27T16:27:00.002+05:30</published><updated>2009-12-28T10:42:03.252+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Default Phone Lock Password For Nokia E63</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Default Phone Lock Password For Nokia E63&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Default Phone Lock Password For Nokia E63 is &lt;span style="font-weight:bold;"&gt;12345&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Menu &gt; Tools &gt; Settings &gt; General &gt; Security &gt; Phone and SIM Card &gt; Lock Code&lt;br /&gt;&lt;br /&gt;To Change the lock:&lt;div&gt;&lt;br /&gt;Navigate to:&lt;br /&gt;Menu &gt; Tools &gt; Settings &gt; General &gt; Security &gt; Phone and SIM Card &gt; Lock Code&lt;br /&gt;&lt;br /&gt;Enter the old default preset lock code 12345&lt;br /&gt;&lt;br /&gt;Enter the new lock code twice&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1681697866250183064?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1681697866250183064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1681697866250183064' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1681697866250183064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1681697866250183064'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2009/12/default-phone-lock-password-for-nokia.html' title='Default Phone Lock Password For Nokia E63'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8223921512548977199</id><published>2009-05-31T23:54:00.001+05:30</published><updated>2009-06-01T00:08:40.138+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Countdown to the Palm Pre</title><content type='html'>Countdown to the Palm Pre&lt;br /&gt;&lt;br /&gt;In 6 days, Palm is going to unveil the brand new Palm Pre smart-phone.&lt;br /&gt;&lt;br /&gt;The last few months, Palm has been busy building the suspense and remaining secretive on details of the upcoming phone.&lt;br /&gt;&lt;br /&gt;Blogs, Social networks, News feeds, Reviews, Videos, Rumor mills, CNN fortune, twitter. Everything! Everyone is on the new phone.&lt;br /&gt;&lt;br /&gt;Back in 2006, Palm was struggling to stay afloat. Ed Colligan (CEO) did an amazing job of convincing Elevation Partners to invest $425 million! Money was invested to create money.&lt;br /&gt;&lt;br /&gt;The Pre is the next big thing after the Apple iPhone. The Web OS Operating System that powers the Pre is revolutionary. The world has not seen anything like it, yet.&lt;br /&gt;&lt;br /&gt;To create an Operating System on a phone where applications are built using plain HTML and Javascript is new. This is a first.&lt;br /&gt;&lt;br /&gt;There is no doubt. Demand is going to be huge. Palm is going to face a shortage. The company will recover the $425 million invested in no time.&lt;br /&gt;&lt;br /&gt;It appears that the Web OS will power a range of smaller hardware devices. Phones, smaller form factor devices?&lt;br /&gt;&lt;br /&gt;Microsoft has been using this strategy for a while. The main Operating System is broken down into multiple flavors. The licensing fee is unique to the flavor.&lt;br /&gt;&lt;br /&gt;Palm is pulling the same stunt with Web OS.&lt;br /&gt;&lt;br /&gt;It is fascinating to see how Palm jumped to $12 per share compared to the $1 per share back in December.&lt;br /&gt;&lt;br /&gt;To bounce back from dust during a recession is something.&lt;br /&gt;&lt;br /&gt;This is a company with mobility in its DNA.&lt;br /&gt;&lt;br /&gt;Really exciting times for Palm and for all those involved with the company.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8223921512548977199?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8223921512548977199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8223921512548977199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8223921512548977199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8223921512548977199'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2009/05/countdown-to-palm-pre.html' title='Countdown to the Palm Pre'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1009760498169676229</id><published>2009-03-26T12:05:00.005+05:30</published><updated>2009-03-26T12:25:01.560+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>The Palm Pre</title><content type='html'>These are exciting times for Palm, the makers of the Palm Pilot. &lt;br /&gt;&lt;br /&gt;Palm has been hard at work on the Palm Pre.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5BsE_fDcVM8/ScslwKDdKbI/AAAAAAAAAVE/APP4nNNYbVA/s1600-h/palm-pre.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 187px;" src="http://3.bp.blogspot.com/_5BsE_fDcVM8/ScslwKDdKbI/AAAAAAAAAVE/APP4nNNYbVA/s320/palm-pre.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5317385294303799730" /&gt;&lt;/a&gt;&lt;br /&gt;The Palm Pre is not *just* another mobile OS. This is mobile platform with features and underlying workings that do not exist on today’s mobile devices.&lt;br /&gt;&lt;br /&gt;Apart from the standard list of features, the two that really stand out are:&lt;br /&gt;&lt;br /&gt;- Multitasking&lt;br /&gt;- Developing Apps in HTML and CSS!&lt;br /&gt;&lt;br /&gt;Multitasking on a mobile device is a mean feat. Screens are smaller, form factors change, SLOW processing power, SLOW graphics and difficult input methods.&lt;br /&gt;&lt;br /&gt;The Palm Pre multitasks apps like a deck of cards. Every card is an application and here’s where it gets even better, the STATE of the app you minimize is STORED and restored just like it was before the app was minimized. As an example, if you were composing an email message, you could minimize the compose window, then watch a movie and return to the email in the state it was left.&lt;br /&gt;&lt;br /&gt;Developing apps in HTML and CSS consumes less dev time. No more fiddling with pesky SDK’s and learning a whole new API. Notepad or a HTML WYSIWYG tool is all that is needed.&lt;br /&gt;&lt;br /&gt;For the last 10 years, a lot has been expected from Palm. Palm after all, has mobility built into its DNA. At a time where mobile devices didn’t do a lot apart from creating calls and a bunch of a few address book apps, the Palm Pilot was a Personal Device Assistant.&lt;br /&gt;&lt;br /&gt;Palm Pre is slated for release in the first quarter this year. I do hope they release a GSM unlocked version too.&lt;br /&gt;&lt;br /&gt;Palm has revisited the ideas and concepts that made Palm Pilot a success back in the day and engineered a modern WebOS platform that is ready for today and the future!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.palm.com/us/products/phones/pre/"&gt;http://www.palm.com/us/products/phones/pre/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JRnlzbuLRwM&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JRnlzbuLRwM&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1009760498169676229?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1009760498169676229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1009760498169676229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1009760498169676229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1009760498169676229'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2009/03/palm-pre.html' title='The Palm Pre'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5BsE_fDcVM8/ScslwKDdKbI/AAAAAAAAAVE/APP4nNNYbVA/s72-c/palm-pre.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3845466345734812664</id><published>2009-01-08T14:32:00.001+05:30</published><updated>2009-01-08T14:34:44.839+05:30</updated><title type='text'>Sarcastic Conversations</title><content type='html'>When in a conversation with a person and if you are leading the conversation, it is key to figure out the pace of the conversation.&lt;br /&gt;&lt;br /&gt;If the other person is sarcastic all the time and if that is the only way they can reply, then it is time to bail out.&lt;br /&gt;&lt;br /&gt;Sarcastic people have issues.&lt;br /&gt;&lt;br /&gt;When you exit, you exit. Don’t try to exit out and then get back into the conversation. That would be weak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3845466345734812664?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3845466345734812664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3845466345734812664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3845466345734812664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3845466345734812664'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2009/01/sarcastic-conversations.html' title='Sarcastic Conversations'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5979132822291381597</id><published>2008-12-31T22:20:00.004+05:30</published><updated>2009-03-19T14:47:48.341+05:30</updated><title type='text'>New Year 2009</title><content type='html'>The New Year is an hour away.&lt;br /&gt;&lt;br /&gt;Nothing will change. Stuff from the old continues.&lt;br /&gt;&lt;br /&gt;It is refreshing to see the year number change over to a new digit after 365 days.&lt;br /&gt;&lt;br /&gt;Do New Year’s resolutions ever work?&lt;br /&gt;&lt;br /&gt;Maybe a resolution everyday would work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5979132822291381597?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5979132822291381597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5979132822291381597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5979132822291381597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5979132822291381597'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/12/new-year-2009.html' title='New Year 2009'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5914272319281585223</id><published>2008-09-23T22:52:00.004+05:30</published><updated>2008-12-31T22:28:09.272+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google's Mobile Platform is Here</title><content type='html'>Gotta love Mobile Technology. &lt;br /&gt;&lt;br /&gt;Today, Google launched a new platform for mobile devices. What is interesting here is that the new Android platform is not just limited to cellphones. &lt;br /&gt;&lt;br /&gt;It is quite possible that audio/video devices in cars, homes, hospitals are powered by the new platform.&lt;br /&gt;&lt;br /&gt;The platform is built so that it can be dumped on *any* device. The possibilites are endless. I am typing this on Google's Chrome browser. Throw in Chrome on a mobile device and you have instant everything.&lt;br /&gt;&lt;br /&gt;I am so happy that the days of proprietary *mobile only* browsers and webpages are coming to an end. WAP was just terrible. Cellphones are finally WiFi enabled.&lt;br /&gt;&lt;br /&gt;All roads now lead towards high speed mobile processors and chips that can do photos, video and WiFi. I am leaving out 3G because 3G does not exist in most parts of the world and is still expensive.&lt;br /&gt;&lt;br /&gt;It was about time that cellphone manufactures broke away from the closed business practices of carriers. Carriers are never happy with WiFi on cellphones because users would not need to use the slow and expensive GPRS services.&lt;br /&gt;&lt;br /&gt;WiFi on cellphones is what we NEED.&lt;br /&gt;&lt;br /&gt;http://www.t-mobileg1.com/g1-announcement.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5914272319281585223?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5914272319281585223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5914272319281585223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5914272319281585223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5914272319281585223'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/09/googles-mobile-platform-is-here.html' title='Google&apos;s Mobile Platform is Here'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8233131318480496035</id><published>2008-08-14T23:18:00.005+05:30</published><updated>2008-08-14T23:46:27.867+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='notebook'/><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Atom - Intel's Money Machine</title><content type='html'>Amazing. Chipmaker Intel’s money machine is at work like there’s no tomorrow.&lt;br /&gt;&lt;br /&gt;Although purchases of some computing products have slowed, Intel created a whole new chip – The Atom Processor– for the masses. The Atom fits in perfect for smaller netbooks like the ASUS EEE, MID devices and cellphones?&lt;br /&gt;&lt;br /&gt;Quote – “Intel calls Atom a "perfect recession product"”.&lt;br /&gt;&lt;br /&gt;The performance and battery life on the Atom is like no other.&lt;br /&gt;&lt;br /&gt;Just a few years ago, AMD was moving towards the top of the game. They had great processors for desktops. However, AMD could never figure out a solution for the heat problems that affected the processors. The failure rate was just too high.&lt;br /&gt;&lt;br /&gt;AMD’s next problem was the absence of a processor for laptops. Computing has been moving towards mobile. AMD had nothing to beat Intel’s Centrino technology.&lt;br /&gt;&lt;br /&gt;Even today, laptops with the AMD processor are plagued with heat problems. Heat leads to fatigue and failure. High temperatures can kill electronics.&lt;br /&gt;&lt;br /&gt;After Intel released the Core 2 Duo, AMD’s fate was sealed for failure.&lt;br /&gt;&lt;br /&gt;Intel continues to focus on Mobile.&lt;br /&gt;&lt;br /&gt;- Processors that run faster&lt;br /&gt;- Processors that consume less power&lt;br /&gt;- Processors that produce less heat&lt;br /&gt;- Chipsets integrated and packed with everything - from graphics to WiFi to 3G&lt;br /&gt;- Integration does away with external dongles&lt;br /&gt;- USB 3.0&lt;br /&gt;&lt;br /&gt;I am on an Intel Core 2 Duo laptop and this thing flies.&lt;br /&gt;&lt;br /&gt;Looking forward to in the (near future?) where cellphones and car computing are all powered by Intel's latest, fastest and greatest chips!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;INTEL's STOCK PERFORMANCE - LAST 5 YEARS&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5BsE_fDcVM8/SKRy44c9sCI/AAAAAAAAAMw/RdLoWEVC7cY/s1600-h/intel-stocks.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5BsE_fDcVM8/SKRy44c9sCI/AAAAAAAAAMw/RdLoWEVC7cY/s400/intel-stocks.jpg" alt="" id="BLOGGER_PHOTO_ID_5234434988463468578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AMD's STOCK PERFORMANCE - LAST 5 YEARS&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5BsE_fDcVM8/SKRzM0W3VnI/AAAAAAAAAM4/dYd5a0B67Wk/s1600-h/amd-stocks.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5BsE_fDcVM8/SKRzM0W3VnI/AAAAAAAAAM4/dYd5a0B67Wk/s400/amd-stocks.jpg" alt="" id="BLOGGER_PHOTO_ID_5234435330961528434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://finance.yahoo.com/echarts?s=INTC#chart3:symbol=intc;range=20030902,20080813;indicator=volume;charttype=line;crosshair=on;ohlcvalues=0;logscale=on"&gt;http://finance.yahoo.com/echarts?s=INTC#chart3:symbol=intc;range=20030902,20080813;indicator=volume;charttype=line;crosshair=on;ohlcvalues=0;logscale=on&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://finance.yahoo.com/echarts?s=AMD#chart1:symbol=amd;range=5y;indicator=volume;charttype=line;crosshair=on;ohlcvalues=0;logscale=on;source=undefined"&gt;http://finance.yahoo.com/echarts?s=AMD#chart1:symbol=amd;range=5y;indicator=volume;charttype=line;crosshair=on;ohlcvalues=0;logscale=on;source=undefined&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8233131318480496035?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8233131318480496035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8233131318480496035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8233131318480496035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8233131318480496035'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/08/atom-intels-money-machine.html' title='Atom - Intel&apos;s Money Machine'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5BsE_fDcVM8/SKRy44c9sCI/AAAAAAAAAMw/RdLoWEVC7cY/s72-c/intel-stocks.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5812489437457141859</id><published>2008-07-11T16:05:00.003+05:30</published><updated>2008-07-11T16:15:10.951+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><title type='text'>Interview: Software Behind the Mars Phoenix Lander</title><content type='html'>wow! Very interesting interview/discussion between O'Reilly News and NASA's project software engineer.&lt;br /&gt;&lt;br /&gt;"&lt;strong&gt;What's the process look like there for getting software to get 700+ pounds of metal and equipment to another planet?"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;"&lt;strong&gt;Here's my $325 million baby.  Will it land?&lt;/strong&gt;"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"The spacecraft software is entirely in C.  "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.oreilly.com/2008/07/the-software-behind-the-mars-p.html"&gt;http://news.oreilly.com/2008/07/the-software-behind-the-mars-p.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5812489437457141859?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5812489437457141859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5812489437457141859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5812489437457141859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5812489437457141859'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/07/interview-software-behind-mars-phoenix.html' title='Interview: Software Behind the Mars Phoenix Lander'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4309771945275961942</id><published>2008-05-31T15:50:00.004+05:30</published><updated>2008-05-31T15:53:59.908+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google Talk Current Music Track Bug Workaround Fix</title><content type='html'>Google Talk  version 1.0.0.104 (client) will crash under the following conditions:&lt;br /&gt;&lt;br /&gt;1] Show Current Music Track is enabled&lt;br /&gt;2] Winamp v5.5 is playing a music track&lt;br /&gt;&lt;br /&gt;The following is a workaround fix:&lt;br /&gt;&lt;br /&gt;Create an empty winamp.m3u file and drop the file into the C:\Program Files\Winamp directory.&lt;br /&gt;&lt;br /&gt;Restart both applications.&lt;br /&gt;&lt;br /&gt;Howto create an empty winamp.m3u file?&lt;br /&gt;&lt;br /&gt;Right-click &gt; New Text Document &gt; Rename the file to winamp.m3u&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4309771945275961942?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4309771945275961942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4309771945275961942' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4309771945275961942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4309771945275961942'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/05/google-talk-current-music-track.html' title='Google Talk Current Music Track Bug Workaround Fix'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7882559909651630208</id><published>2008-05-31T15:43:00.002+05:30</published><updated>2008-05-31T15:49:19.492+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Texting Your Way To Love</title><content type='html'>This is too true&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://current.com/items/88906818_texting_your_way_to_love"&gt;http://current.com/items/88906818_texting_your_way_to_love&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://current.com/items/88906818_texting_your_way_to_love"&gt;&lt;/a&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="400"&gt;&lt;br /&gt;&lt;param name="movie" value="http://current.com/e/88906818"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://current.com/e/88906818" type="application/x-shockwave-flash" width="400" height="400" wmode="transparent" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7882559909651630208?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7882559909651630208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7882559909651630208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7882559909651630208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7882559909651630208'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/05/texting-your-way-to-love.html' title='Texting Your Way To Love'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8960527138642831912</id><published>2008-05-18T23:51:00.002+05:30</published><updated>2008-05-18T23:55:09.028+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>2008 Fortune 500</title><content type='html'>I used to think that software companies were in the Top 10 Fortune 500 list. That doesn't seem to be the case.&lt;br /&gt;&lt;br /&gt;Source:&lt;br /&gt;&lt;a href="http://money.cnn.com/magazines/fortune/fortune500/"&gt;http://money.cnn.com/magazines/fortune/fortune500/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2008 Fortune 500&lt;br /&gt;&lt;br /&gt;1. Wal-Mart Stores    &lt;br /&gt;2. Exxon Mobil    &lt;br /&gt;3. Chevron    &lt;br /&gt;4. General Motors    &lt;br /&gt;5. ConocoPhillips    &lt;br /&gt;6. General Electric    &lt;br /&gt;7. Ford Motor    &lt;br /&gt;8. Citigroup    &lt;br /&gt;9. Bank of America    &lt;br /&gt;10. AT&amp;amp;T    &lt;br /&gt;11. Berkshire Hathaway&lt;br /&gt;12. J.P. Morgan Chase &amp;amp; Co.&lt;br /&gt;13. AIG&lt;br /&gt;14. Hewlett-Packard&lt;br /&gt;15. IBM&lt;br /&gt;16. Valero Energy&lt;br /&gt;17. Verizon Communications&lt;br /&gt;18. McKesson&lt;br /&gt;19. Cardinal Health&lt;br /&gt;20. Goldman Sachs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8960527138642831912?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8960527138642831912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8960527138642831912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8960527138642831912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8960527138642831912'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/05/2008-fortune-500.html' title='2008 Fortune 500'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-9095108428790948577</id><published>2008-05-09T10:49:00.012+05:30</published><updated>2008-12-11T15:13:44.707+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cars'/><title type='text'>Ford, General Motors Hydrogen Fuel Cell SUV's</title><content type='html'>Gotta love Monster Trucks. Driving one of these small giants at a high speed is epic. I don't think a SUV is designed for slow.&lt;br /&gt;&lt;br /&gt;I guess the only problem is Gas! This could soon be a problem of the past.&lt;br /&gt;&lt;br /&gt;Ford, General Motors and Toyota have been experimenting with Fuel Cells! Generate electricity from clean Hydrogen.&lt;br /&gt;&lt;br /&gt;The next challenge is to release these quick at great price point.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.chevrolet.com/fuelcell/"&gt;GM's&lt;/a&gt; Chevy Equinox. A 100 of these are supposedly out on the streets! (USA only)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/SCPjVviG9zI/AAAAAAAAAL0/Py-7HBCgT-w/s1600-h/ChevroletEquinox-FuelCell.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/SCPjVviG9zI/AAAAAAAAAL0/Py-7HBCgT-w/s400/ChevroletEquinox-FuelCell.jpg" alt="" id="BLOGGER_PHOTO_ID_5198248357591971634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ford Explorer&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5BsE_fDcVM8/SCPfgIdu-LI/AAAAAAAAALk/yox59yfcT40/s1600-h/ford_explorer_fuel_cell_driving.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5BsE_fDcVM8/SCPfgIdu-LI/AAAAAAAAALk/yox59yfcT40/s400/ford_explorer_fuel_cell_driving.jpg" alt="" id="BLOGGER_PHOTO_ID_5198244138036689074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ford Explorer, Fuel Cell&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5BsE_fDcVM8/SCPfW4du-KI/AAAAAAAAALc/_LBizPeRGzQ/s1600-h/ford_explorer_fuel_cell_engine.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5BsE_fDcVM8/SCPfW4du-KI/AAAAAAAAALc/_LBizPeRGzQ/s400/ford_explorer_fuel_cell_engine.jpg" alt="" id="BLOGGER_PHOTO_ID_5198243979122899106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Toyota Fuel Cell Vehicle:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/SCPhrodu-MI/AAAAAAAAALs/AmETAlHzWe8/s1600-h/toyota_fchv.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/SCPhrodu-MI/AAAAAAAAALs/AmETAlHzWe8/s400/toyota_fchv.jpg" alt="" id="BLOGGER_PHOTO_ID_5198246534628440258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.automobilemag.com/auto_shows/2006_los_angeles/0611_2007_ford_explorer_fuel_cell/photo_01.html"&gt;Automobilemag&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.carlist.com/autonews/2004/toyota_fchv.html"&gt;Carlist Toyota&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-9095108428790948577?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/9095108428790948577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=9095108428790948577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/9095108428790948577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/9095108428790948577'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/05/ford-general-motors-hydrogen-fuel-cell.html' title='Ford, General Motors Hydrogen Fuel Cell SUV&apos;s'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/SCPjVviG9zI/AAAAAAAAAL0/Py-7HBCgT-w/s72-c/ChevroletEquinox-FuelCell.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-9062895541009328803</id><published>2008-05-09T09:03:00.000+05:30</published><updated>2008-12-11T15:13:44.874+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The Fall of Motorola (Handheld Division)</title><content type='html'>Not so long ago, Motorola had the most stylish clamshell cellphone in the market. They were the first to release a phone that was thin, a strong anodized aluminum shell with an electroluminescent chemically etched keypad.&lt;br /&gt;&lt;br /&gt;This chart from Yahoo! Finance displays Motorola’s stock situation during the last six months.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/SCHzxIdu-JI/AAAAAAAAALU/LlhqkWDjXfE/s1600-h/motorola-2008-stocks.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/SCHzxIdu-JI/AAAAAAAAALU/LlhqkWDjXfE/s400/motorola-2008-stocks.png" alt="" id="BLOGGER_PHOTO_ID_5197703470373599378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Besides, the fall in stock, there has been a lot of talk about Motorola shutting down the handheld division.&lt;br /&gt;&lt;br /&gt;Motorola went down hill after the success with the RAZR. Instead of focusing on a solid software platform for the RAZR, Motorola continued shipping the crippled RAZR 2 with a half baked version of Linux. There wasn’t an active developer base developing apps. The User Interface (UI) was slow and prone to crashes.&lt;br /&gt;&lt;br /&gt;RAZR 2 ought to have had a version of Windows Mobile thrown in, increased onboard memory to 2Gigs and a camera that beats Nokia.&lt;br /&gt;&lt;br /&gt;To make matters worse, RAZR 2 was expensive. Expectations from cellphones began running high between 2006 and 2007. The price point for RAZR 2 that did not do much for a phone released in 2006/07, added to the failure. Sony Ericsson and Nokia were pushing out faster and better phones three times faster than Motorola.&lt;br /&gt;&lt;br /&gt;The next problem is that Motorola probably lost out on market research and the need for foresight. The least you could do is figure out why the RAZR was a success and build on that.&lt;br /&gt;&lt;br /&gt;I think Motorola ought to have been aggressive on a quarterly basis. Release new updates at a high speed. Why wait to release an update two years later only to realize that this one is the same as the previous release. It is ridiculous to wait. You will have probably lost millions in revenue waiting or the competition will have eaten you. And then it is too late to rise again.&lt;br /&gt;&lt;br /&gt;Sony Ericsson for sure figured they need to be heading in a different direction. The XPERIA X1 with Windows Mobile 6 under the hood proves this. Windows Mobile is a first for Sony, opens up a lot of doors for businesses, applications and developers.&lt;br /&gt;&lt;br /&gt;There are ways to monetize through software on cellphones for business use. Applications, push email, secure communication protocols, custom applications, hardware accessories, custom developer toolkits, email, web proxy services.&lt;br /&gt;&lt;br /&gt;The shift from Symbian to Windows Mobile is a surprise from Sony. I guess this is where the company changed gears, something that Motorola ought to have done two/three years ago!&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://finance.yahoo.com/q/bc?s=MOT&amp;amp;t=6m&amp;amp;l=on&amp;amp;z=m&amp;amp;q=l&amp;amp;c="&gt;Yahoo! Finance Stocks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.usatoday.com/money/industries/technology/2008-02-01-motorola-possible-spinoff_N.htm"&gt;USA Today - Motorola mulls breakup, phone unit sale&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.phonescoop.com/news/item.php?n=2714"&gt;Motorola Exploring Sale of Handset Business&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-9062895541009328803?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/9062895541009328803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=9062895541009328803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/9062895541009328803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/9062895541009328803'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/05/fall-of-motorola-handheld-division.html' title='The Fall of Motorola (Handheld Division)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/SCHzxIdu-JI/AAAAAAAAALU/LlhqkWDjXfE/s72-c/motorola-2008-stocks.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-853786270625012325</id><published>2008-05-05T22:57:00.000+05:30</published><updated>2008-05-05T22:58:29.527+05:30</updated><title type='text'>Excel: Convert Rows to Columns</title><content type='html'>COPY--PASTE SPECIAL--&gt; TRANSPOSE&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-853786270625012325?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/853786270625012325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=853786270625012325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/853786270625012325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/853786270625012325'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/05/excel-convert-rows-to-columns.html' title='Excel: Convert Rows to Columns'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-2469385366122204440</id><published>2008-04-26T21:18:00.003+05:30</published><updated>2008-04-26T21:22:15.462+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Importing UTF-8 Datasets in MySQL</title><content type='html'>Before importing a UTF-8 dataset, be sure to change the default MySQL database collation to utf8_unicode_ci.&lt;br /&gt;&lt;br /&gt;Note: If the tables and structures are in the utf8 collation but the database is on a Latin collation, the import will not be successful.&lt;br /&gt;&lt;br /&gt;The database, tables and structures need to be all UTF8 enabled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-2469385366122204440?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/2469385366122204440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=2469385366122204440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2469385366122204440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2469385366122204440'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/04/importing-utf-8-datasets-in-mysql.html' title='Importing UTF-8 Datasets in MySQL'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8838038234038376451</id><published>2008-04-19T12:12:00.002+05:30</published><updated>2008-04-19T14:13:24.010+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Escape MySQL Variables in the Same Sequence</title><content type='html'>When escaping a MySQL query, be sure to escape the variables in the correct order.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;UPDATE&lt;br /&gt;    table_name&lt;br /&gt;SET&lt;br /&gt;    var1='%s',&lt;br /&gt;    var3='%s',&lt;br /&gt;    var2='%s'&lt;br /&gt;WHERE&lt;br /&gt;    foo=bar&lt;br /&gt;    mysql_real_escape_string($var1, $db),&lt;br /&gt;    mysql_real_escape_string($var3, $db),&lt;br /&gt;    mysql_real_escape_string($var2, $db)&lt;br /&gt;&lt;br /&gt;The mysql_real_escape_string function will escape variables in the order specified in SET&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8838038234038376451?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8838038234038376451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8838038234038376451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8838038234038376451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8838038234038376451'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/04/escape-mysql-variables-in-same-sequence.html' title='Escape MySQL Variables in the Same Sequence'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5774739902761452217</id><published>2008-03-06T10:37:00.001+05:30</published><updated>2008-03-06T10:45:47.221+05:30</updated><title type='text'>Hotel Drinking Glasses</title><content type='html'>Source: &lt;a href="http://www.divinecaroline.com/article/22250/39039?CMP=DC_0001_TAG"&gt;http://www.divinecaroline.com/article/22250/39039?CMP=DC_0001_TAG&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://services.brightcove.com/services/viewer/federated_f8/1138309739" bgcolor="#FFFFFF" flashVars="videoId=1329232712&amp;playerId=1138309739&amp;viewerSecureGatewayURL=https://services.brightcove.com/services/amfgateway&amp;servicesURL=http://services.brightcove.com/services&amp;cdnURL=http://admin.brightcove.com&amp;domain=embed&amp;autoStart=false&amp;" base="http://admin.brightcove.com" name="flashObj" width="486" height="412" seamlesstabbing="false" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5774739902761452217?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5774739902761452217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5774739902761452217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5774739902761452217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5774739902761452217'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/03/hotel-drinking-glasses.html' title='Hotel Drinking Glasses'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-2114933680422787152</id><published>2008-02-21T09:03:00.009+05:30</published><updated>2008-12-11T15:13:50.084+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='annoyances'/><title type='text'>Indian Fashion, Human Mannequins</title><content type='html'>Quote from the Wiki:&lt;br /&gt;# A jointed model of the human body used by artists, especially to demonstrate the arrangement of drapery. Also called lay figure.&lt;br /&gt;# A life-size, articulated doll mainly used to display clothing.&lt;br /&gt;&lt;br /&gt;There seem to be a lot of India clothes tailors in Bangkok. These guys share a common trait and that is to stand *outside* the store like retards.&lt;br /&gt;&lt;br /&gt;It is annoying as hell to see these characters standing around, doing nothing, staring the whole damn day.&lt;br /&gt;&lt;br /&gt;I was quick to grab this photo. My hand was in the bag, I instantly powered on the camera, made the guy think I was going to climb up the stairs – only to turn around point and shoot! He was caught off guard and moved out of the frame after I shot the photo. Oops! Too late ;-)&lt;br /&gt;&lt;br /&gt;Invest in some real Mannequins guys.. That's the least you can do!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5BsE_fDcVM8/R7zy-3r7esI/AAAAAAAAAG8/FFZN7i-H854/s1600-h/bangkok-india-tailor-road_019-1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5BsE_fDcVM8/R7zy-3r7esI/AAAAAAAAAG8/FFZN7i-H854/s400/bangkok-india-tailor-road_019-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5169273634228501186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/R7zy1Hr7erI/AAAAAAAAAG0/Rj1mZWnuD94/s1600-h/bangkok-india-tailor-road_026.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/R7zy1Hr7erI/AAAAAAAAAG0/Rj1mZWnuD94/s400/bangkok-india-tailor-road_026.jpg" alt="" id="BLOGGER_PHOTO_ID_5169273466724776626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5BsE_fDcVM8/R7zyWnr7eqI/AAAAAAAAAGs/_fSSI612-Vo/s1600-h/bangkok-india-tailor_043.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5BsE_fDcVM8/R7zyWnr7eqI/AAAAAAAAAGs/_fSSI612-Vo/s400/bangkok-india-tailor_043.jpg" alt="" id="BLOGGER_PHOTO_ID_5169272942738766498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5BsE_fDcVM8/R7zx0Xr7epI/AAAAAAAAAGk/bq5ul8cKrg0/s1600-h/bangkok-india-tailor-road_031.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5BsE_fDcVM8/R7zx0Xr7epI/AAAAAAAAAGk/bq5ul8cKrg0/s400/bangkok-india-tailor-road_031.jpg" alt="" id="BLOGGER_PHOTO_ID_5169272354328246930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;External References:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Mannequin"&gt;http://en.wikipedia.org/wiki/Mannequin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-2114933680422787152?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/2114933680422787152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=2114933680422787152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2114933680422787152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2114933680422787152'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/02/indian-fashion-human-mannequins.html' title='Indian Fashion, Human Mannequins'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5BsE_fDcVM8/R7zy-3r7esI/AAAAAAAAAG8/FFZN7i-H854/s72-c/bangkok-india-tailor-road_019-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4812201499851300423</id><published>2008-02-17T17:22:00.004+05:30</published><updated>2008-02-17T17:42:02.152+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>What Not to Do on Duplicate Records</title><content type='html'>You've probably grabbed a bunch of records from the database, pumped them into an array and then tried to delete the duplicate records. The result is a dataset that is messed up, the reason why is unknown.&lt;br /&gt;&lt;br /&gt;Lets look at the array:&lt;br /&gt;&lt;br /&gt;// Your query here&lt;br /&gt;$SqlSelectRow = mysql_fetch_array($SqlSelectResult)&lt;br /&gt;&lt;br /&gt;This behavior occurs because you perform the action on the contents in the array. Updates to the array are not reflected on the database, and therein lies the problem.&lt;br /&gt;&lt;br /&gt;Be sure to directly update records in the database or have the array update contents in the db.&lt;br /&gt;&lt;br /&gt;An easy solution though is to set the column as 'unique' and then dump the dataset. Be sure to remove the unique attribute once this process completes if you want duplicate records during future inserts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4812201499851300423?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4812201499851300423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4812201499851300423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4812201499851300423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4812201499851300423'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/02/what-not-to-do-on-duplicate-records.html' title='What Not to Do on Duplicate Records'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1301606893203345367</id><published>2008-02-11T15:29:00.000+05:30</published><updated>2008-12-11T15:13:50.201+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Mobile Technology Forges Ahead At Barcelona</title><content type='html'>Interesting developments this year at the wireless industry meet in Barcelona.&lt;br /&gt;&lt;br /&gt;Sony Ericsson decides to bundle Windows Mobile on smart phones. &lt;br /&gt;&lt;br /&gt;Yes! This just *had* to happen sooner or later. Sony has designed and produced great looking hardware, be it notebooks, cellphones, flat screen TVs etc. Back in the Palm days, the Sony Palm PDA had the best form factor.&lt;br /&gt;&lt;br /&gt;Designing software apps for a mobile device is a challenge. Small screens, restrictive input methods, tiny memory RAM/ROM and the User Interface real estate is limited.&lt;br /&gt;&lt;br /&gt;Symbian is an obnoxious OS on a cellphone. I can never figure out the flow of logic on a Symbian OS. The UI is big and ugly, menus are nested way too deep and any setting that involves a network configuration … ouch .. good luck finding your way around.&lt;br /&gt;&lt;br /&gt;I hope Sony decides to get rid of Symbian altogether, go full steam ahead with the Windows Mobile OS and release loads of applications off the Windows Mobile SDK. There is a great cloud of win mobile applications already, so finding developers should not be hard.&lt;br /&gt;&lt;br /&gt;Windows mobile has been doing great on HTC devices. To keep the innovation going, HTC now has a giant of a competitor. &lt;br /&gt;&lt;br /&gt;The newly announced Sony Xperia is packed with a gorgeous 800x480 touchscreen, WiFi radio and Mobile 6. The microSD flash support (a first one from Sony?) signifies Sony’s seriousness in embracing open standards and making its presence felt in the market.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/R7AdGHr7emI/AAAAAAAAAF0/Ly4WpSWdLeU/s1600-h/medium_2256177808_5bab020bbb_o.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/R7AdGHr7emI/AAAAAAAAAF0/Ly4WpSWdLeU/s400/medium_2256177808_5bab020bbb_o.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5165660763573680738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I guess what really spun this development is the Apple iPhone. The iPhone was the *first* in telling users, “Hey look, we’ve re-created the software stack”. There are features like touch and a full fledged desktop class browser that users can now look forward too. Not to mention a gazillion of other features that cellphone companies never bothered about.&lt;br /&gt;&lt;br /&gt;Motorola is in trouble today because of crappy software. The RAZR cellphone did not have a rock solid OS. Plus, adding in features and installing apps was hard and impossible. Hardware with pathetic software slapped on is junkyard scrap. Sony would be in this state too, had they not jumped the Windows Mobile route.&lt;br /&gt;&lt;br /&gt;Interesting to see how this is going to go ahead. Robust windows mobile on sexy hardware that seamlessly integrates with the desktop. Good times ahead!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sonyericsson.com/cws/corporate/press/pressreleases/pressreleasedetails/globalx1-20080210"&gt;More Details on the Sony Press Release&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1301606893203345367?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1301606893203345367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1301606893203345367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1301606893203345367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1301606893203345367'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/02/mobile-technology-forges-ahead-at.html' title='Mobile Technology Forges Ahead At Barcelona'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/R7AdGHr7emI/AAAAAAAAAF0/Ly4WpSWdLeU/s72-c/medium_2256177808_5bab020bbb_o.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7698197598846619758</id><published>2008-01-28T23:44:00.000+05:30</published><updated>2008-12-11T15:13:50.491+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='guitar'/><title type='text'>Summer of 69 Guitar Tablature</title><content type='html'>I am a &lt;a href="http://en.wikipedia.org/wiki/Bryan_Adams"&gt;Bryan Adams&lt;/a&gt; fan. Summer of 69 needs no introduction.&lt;br /&gt;&lt;br /&gt;This is the guitar tablature of the first few seconds that starts the electricity.&lt;br /&gt;&lt;br /&gt;Create these tabs in &lt;a href="http://www.guitar-pro.com/en/index.php"&gt;Guitar Pro&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Track 1&lt;br /&gt;     E  E  E  E  E  E  E  E     E  E  E  E  E  E  Q     &lt;br /&gt;E||--0--------2--------3-----|-----2--------0-----2----|&lt;br /&gt;B||-----3--------3--------3--|--------3----------------|&lt;br /&gt;G||--------2--------2--------|--2--------2-----2-------|&lt;br /&gt;D||--------------------------|-------------------------|&lt;br /&gt;A||--------------------------|-------------------------|&lt;br /&gt;E||--------------------------|-------------------------|&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  E  E  E  E  E  E  E  E     E  E  E  E  E  E  Q       E  E  E  E  E  E  E  E   &lt;br /&gt;--------------------------|-------------------------|--0--------2--------3-----|&lt;br /&gt;--0--------2--------3-----|-----2--------0-----2----|-----3--------3--------3--|&lt;br /&gt;-----2--------2--------2--|--------2----------------|--------2--------2--------|&lt;br /&gt;-----------------2--------|--2--------2-----2-------|--------------------------|&lt;br /&gt;--------2-----------------|-------------------------|--------------------------|&lt;br /&gt;--------------------------|-------------------------|--------------------------|&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  E  E  E  E  E  E  Q       E  E  E  E  E  E  E  E     E  E  E  E  E  E  Q      &lt;br /&gt;-----2--------0-----2----|--------------------------|-------------------------||&lt;br /&gt;--------3----------------|--0--------2--------3-----|-----2--------0-----2----||&lt;br /&gt;--2--------2-----2-------|-----2--------2--------2--|--------2----------------||&lt;br /&gt;-------------------------|-----------------2--------|--2--------2-----2-------||&lt;br /&gt;-------------------------|--------2-----------------|-------------------------||&lt;br /&gt;-------------------------|--------------------------|-------------------------||&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/R54dukvrK_I/AAAAAAAAAFU/39_2tbL-8Vs/s1600-h/bryan-adams-summer-of-69-intro.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/R54dukvrK_I/AAAAAAAAAFU/39_2tbL-8Vs/s400/bryan-adams-summer-of-69-intro.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5160594908987993074" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7698197598846619758?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7698197598846619758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7698197598846619758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7698197598846619758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7698197598846619758'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/01/summer-of-69-guitar-tablature.html' title='Summer of 69 Guitar Tablature'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/R54dukvrK_I/AAAAAAAAAFU/39_2tbL-8Vs/s72-c/bryan-adams-summer-of-69-intro.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-6556797513152787786</id><published>2008-01-23T00:05:00.000+05:30</published><updated>2008-12-11T15:13:50.636+05:30</updated><title type='text'>Enable UTF-8 on PHP, MySQL and Apache</title><content type='html'>Before we begin, you need r00t access to key Apache, PHP and MySQL configuration files.&lt;br /&gt;&lt;br /&gt;Let’s start with the apache config. The location paths may differ based on your server setup. Look around and be sure that you are editing real config files and not the templates.&lt;br /&gt;&lt;br /&gt;Apache Config - /etc/httpd/conf/httpd.conf&lt;br /&gt;&lt;br /&gt;AddDefaultCharset UTF-8&lt;br /&gt;&lt;br /&gt;PHP Config – /etc/php.ini&lt;br /&gt;&lt;br /&gt;default_charset = "utf-8"&lt;br /&gt;&lt;br /&gt;MySQL Config - /etc/my.cnf&lt;br /&gt;&lt;br /&gt;[client]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;character-set-server=utf8&lt;br /&gt;default-character-set=utf8&lt;br /&gt;default-collation=utf8_unicode_ci&lt;br /&gt;init-connect='SET NAMES utf8'&lt;br /&gt;character-set-client = utf8&lt;br /&gt;&lt;br /&gt;Restart the above services once these updates have been applied.&lt;br /&gt;&lt;br /&gt;Confirm if UTF-8 is Enabled:&lt;br /&gt;&lt;br /&gt;# mysql –uroot –hlocalhost –p&lt;br /&gt;# show variables like 'c%'&lt;br /&gt;&lt;br /&gt;The above output should be:&lt;br /&gt;&lt;br /&gt;+--------------------------+-------------------------------------------------------------------+&lt;br /&gt;| Variable_name            | Value                                                             |&lt;br /&gt;+--------------------------+-------------------------------------------------------------------+&lt;br /&gt;| character_set_client     | utf8                                                              |&lt;br /&gt;| character_set_connection | utf8                                                              |&lt;br /&gt;| character_set_database   | utf8                                                              |&lt;br /&gt;| character_set_filesystem | binary                                                            |&lt;br /&gt;| character_set_results    | utf8                                                              |&lt;br /&gt;| character_set_server     | utf8                                                              |&lt;br /&gt;| character_set_system     | utf8                                                              |&lt;br /&gt;| collation_connection     | utf8_general_ci                                                   |&lt;br /&gt;| collation_database       | utf8_unicode_ci                                                   |&lt;br /&gt;| collation_server         | utf8_unicode_ci                                                   |&lt;br /&gt;| completion_type          | 0                                                                 |&lt;br /&gt;| concurrent_insert        | 1                                                                 |&lt;br /&gt;| connect_timeout          | 5                                                                 |&lt;br /&gt;+--------------------------+-------------------------------------------------------------------+&lt;br /&gt;&lt;br /&gt;It is possible that after these updates, PHP will continue to decode a UTF-8 character set in the form of question marks. Eg: ????&lt;br /&gt;&lt;br /&gt;The solution is to call mysql_query() immediately after mysql_connect() has attempted a connection to the database.&lt;br /&gt;&lt;br /&gt;$db_ = @mysql_connect (HOST, USER, PASSWORD, TRUE) or die("Could not connect");&lt;br /&gt;mysql_query('SET NAMES utf8');&lt;br /&gt;mysql_select_db(DB, $db_);&lt;br /&gt;&lt;br /&gt;(Note the mysql_query('SET NAMES utf8'); above)&lt;br /&gt;&lt;br /&gt;// Other db connect info here&lt;br /&gt;&lt;br /&gt;// To be continued&lt;br /&gt;Howto override php.ini through htaccess&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/R54aMkvrK-I/AAAAAAAAAFM/kuPyjSF5hDw/s1600-h/mysql-utf8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/R54aMkvrK-I/AAAAAAAAAFM/kuPyjSF5hDw/s400/mysql-utf8.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5160591026337557474" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-6556797513152787786?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/6556797513152787786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=6556797513152787786' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6556797513152787786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6556797513152787786'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/01/enable-utf-8-on-php-mysql-and-apache.html' title='Enable UTF-8 on PHP, MySQL and Apache'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/R54aMkvrK-I/AAAAAAAAAFM/kuPyjSF5hDw/s72-c/mysql-utf8.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1669763775876577252</id><published>2008-01-14T19:39:00.000+05:30</published><updated>2008-01-15T00:31:07.616+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>MySQL Access Denied Error</title><content type='html'>Before dumping a list of databases between different MySQL servers, be sure to exclude the MySQL database.&lt;br /&gt;&lt;br /&gt;Assuming you are importing the dump from Server A to Server B, the database imports the password from Server A onto B. There could be a few other settings that could be messed up too in the MySQL db if the versions are different.&lt;br /&gt;&lt;br /&gt;To resolve this issue, set the MySQL password /etc/my.cnf on Server B to the one that was set on Server A. Restart the MySQL daemon.&lt;br /&gt;&lt;br /&gt;To prevent this issue from occurring, specify the --databases parameter and explicitly mention the database names to be included before the process is executed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1669763775876577252?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1669763775876577252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1669763775876577252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1669763775876577252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1669763775876577252'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/01/mysql-access-denied-error.html' title='MySQL Access Denied Error'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8381058263872439049</id><published>2008-01-01T23:49:00.000+05:30</published><updated>2008-01-02T00:00:29.521+05:30</updated><title type='text'>Queen Elizabeth - The Christmas Broadcast 1957</title><content type='html'>Interesting how a message from Queen Elizabeth back in 1957 continues to hold true today.&lt;br /&gt;&lt;br /&gt;Minute 2:33/7:56&lt;br /&gt;... trouble is caused when honesty is counted as foolishness&lt;br /&gt;... loose the trust of the world if we abandon fundamental principles&lt;br /&gt;... it has always been difficult to build and destroy. To build and cherish is much more difficult.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QWHGDP3EPDw&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QWHGDP3EPDw&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8381058263872439049?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8381058263872439049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8381058263872439049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8381058263872439049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8381058263872439049'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2008/01/queen-elizabeth-christmas-broadcast.html' title='Queen Elizabeth - The Christmas Broadcast 1957'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-820620589868098961</id><published>2007-11-21T23:57:00.000+05:30</published><updated>2008-12-11T15:13:51.055+05:30</updated><title type='text'>The Future of Books</title><content type='html'>There are the brick and mortar book stores, used and tattered books, online book stores and ebooks. All these book models have issues. &lt;br /&gt;&lt;br /&gt;Books in book stores can be overpriced. You might spend a tonne on a book, read and figure out it wasn't worth the money. Your stuck with an expensive paperweight. Used books can be in a bad shape, pages missing, dogs ears and everything that can destroy paper.&lt;br /&gt;&lt;br /&gt;The ebook format is not the best to read on a laptop. Hard to read on a bed and the experience is far from a real book. &lt;br /&gt;&lt;br /&gt;Enter amazon.com&lt;br /&gt;&lt;br /&gt;A whole new device that specializes in book reading from the worlds largest book store! Books, newspapers, blogs and magazines pushed to the device, straight from the store.&lt;br /&gt;&lt;br /&gt;The amazon kindle is a wireless reading device. The kindle connects to a cellphone network (USA only) and downloads books wirelessly. You need to buy books in the kindle format. Books are pushed by amazon.com onto the device FREE. And No, you don't need a cellphone plan to connect to the network. The device is network *aware* out of the box.&lt;br /&gt;&lt;br /&gt;The e-ink display ensures that text is clearly visible in direct sunlight. Hardware controls flip pages and zoom in/out of text.&lt;br /&gt;&lt;br /&gt;Kudos to amazon.com. A device such as this, allows a subscription model and maybe book rentals.&lt;br /&gt;&lt;br /&gt;This would also allow better and flexible screen displays and maybe the end of fat-n-heavy books.&lt;br /&gt;&lt;br /&gt;Amazon Kindle Tech Specs:&lt;br /&gt;&lt;br /&gt;Display: 6" diagonal E-Ink® electronic paper display, 600 x 800 pixel resolution at 167 ppi, 4-level gray scale&lt;br /&gt;Size (in inches): 7.5" x 5.3" x 0.7"&lt;br /&gt;Weight: 10.3 ounces&lt;br /&gt;System requirements: None, because it doesn't require a computer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/R0R-ruS9-1I/AAAAAAAAAE0/ojU5lkxaQRM/s1600-h/amazon-kindle-launch-03.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/R0R-ruS9-1I/AAAAAAAAAE0/ojU5lkxaQRM/s400/amazon-kindle-launch-03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5135368764736273234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;External Links:&lt;br /&gt;&lt;a href="http://amazon.com/gp/product/B000FI73MA/ref=amb_link_5873612_3?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=gateway-center-column&amp;pf_rd_r=0Z2YD8FHZBVG10P7PP60&amp;pf_rd_t=101&amp;pf_rd_p=329252801&amp;pf_rd_i=507846"&gt;Amazon Kindle&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-820620589868098961?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/820620589868098961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=820620589868098961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/820620589868098961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/820620589868098961'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/11/future-of-books.html' title='The Future of Books'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5BsE_fDcVM8/R0R-ruS9-1I/AAAAAAAAAE0/ojU5lkxaQRM/s72-c/amazon-kindle-launch-03.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-688304299301987725</id><published>2007-11-09T23:39:00.000+05:30</published><updated>2007-11-09T23:42:55.931+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='climate'/><title type='text'>Global Warming, Sue the Government</title><content type='html'>With every passing year, our climate seems to be getting hotter or colder (depending on where you are located). It is easy to notice unexpected rainfall in the middle of summer or winter, rise in sea levels and other natural disasters.&lt;br /&gt;&lt;br /&gt;I think the first step in getting a grip on green house gases is to sue the government. Oil companies are evil. They will do whatever it takes to _stop_ progress and widespread adoption of renewable sources of energy.&lt;br /&gt;&lt;br /&gt;A case against the government should be such that:&lt;br /&gt;&lt;br /&gt;A) A settlement (buying out of officials) is never reached&lt;br /&gt;B) The case cannot be dismissed&lt;br /&gt;C) A solution should be found&lt;br /&gt;D) After the court proceedings have ended, the government should fund projects related to renewable sources of energy&lt;br /&gt;&lt;br /&gt;So why sue the government?&lt;br /&gt;Governments pass and enforce laws -&gt; Oil companies do not -&gt; Oil companies buy out government officials -&gt; Government officials buy out climate *experts* -&gt; Government officials lax out laws/rules related to environment. &lt;br /&gt;&lt;br /&gt;Governments _profit_ trillions of dollars from oil companies.&lt;br /&gt;&lt;br /&gt;Global Warming Fast Facts&lt;br /&gt;&lt;a href="http://news.nationalgeographic.com/news/2004/12/1206_041206_global_warming.html"&gt;http://news.nationalgeographic.com/news/2004/12/1206_041206_global_warming.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a great start,   &lt;br /&gt;California Sues EPA Over Auto Emissions&lt;br /&gt;&lt;a href="http://www.breitbart.com/article.php?id=D8SPL3IG1&amp;show_article=1"&gt;http://www.breitbart.com/article.php?id=D8SPL3IG1&amp;show_article=1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-688304299301987725?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/688304299301987725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=688304299301987725' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/688304299301987725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/688304299301987725'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/11/global-warming-sue-government.html' title='Global Warming, Sue the Government'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-6704997821318441205</id><published>2007-10-31T15:42:00.000+05:30</published><updated>2007-10-31T15:52:18.889+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Howto Display Records from a Database without Refreshing the Entire Page, PHP &amp; AJAX</title><content type='html'>This post address a common question found on on AJAX and PHP forums.&lt;br /&gt;&lt;br /&gt;Howto grab the newest records from the database and display them without the traditional meta refresh?&lt;br /&gt;Or&lt;br /&gt;Howto display records from a database without refreshing the entire page?&lt;br /&gt;&lt;br /&gt;The requirements:&lt;br /&gt;A basic understanding of AJAX. Get started with AJAX here: &lt;a href="http://developer.mozilla.org/en/docs/AJAX:Getting_Started"&gt;http://developer.mozilla.org/en/docs/AJAX:Getting_Started&lt;/a&gt;&lt;br /&gt;PHP&lt;br /&gt;MySQL&lt;br /&gt;A dataset&lt;br /&gt;&lt;br /&gt;I am going to use the mozilla developer docs as a reference point.&lt;br /&gt;&lt;br /&gt;The first step is to create a HTTP request. Before we do that we need to figure out the browser that the user is running.&lt;br /&gt;&lt;br /&gt;If the browser is Internet Explorer, call the ActiveXObject&lt;br /&gt;else, call the XMLHttpRequest(); &lt;br /&gt;// This includes all browsers other than Microsoft Internet Explorer. &lt;br /&gt;//Mozilla, Safari etc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;// Create the HTTP request&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;function createRequestObject()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; var browser;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; if (window.XMLHttpRequest)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  // Mozilla, Safari, ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;     browser = new XMLHttpRequest();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; else if (window.ActiveXObject)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  browser = new ActiveXObject("Microsoft.XMLHTTP");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; return browser;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;var httpRequest = createRequestObject();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once we've got the HTTP request setup, our next step is to grab the contents from the database. It is here that we set the time interval or the frequency on when the updated content is displayed.&lt;br /&gt;&lt;br /&gt;We're going to call a PHP script get_records.php that actually grabs the dataset from the database. More on the PHP script later.&lt;br /&gt;&lt;br /&gt;The time interval is set to 300000 milli seconds, 5 minutes&lt;br /&gt;&lt;br /&gt;Convert minutes to seconds:&lt;br /&gt;5 minutes = 5 x 60 seconds = 300 seconds&lt;br /&gt;&lt;br /&gt;Convert seconds to milli seconds:&lt;br /&gt;300 seconds = 300 x 1000 milli seconds = 300000 milli seconds&lt;br /&gt;&lt;br /&gt;Note the exception handler below. The alert popup box will appear if there was an error. You can comment out that line later.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;function displayOutput()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; try&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  setTimeout("displayOutput()", 300000); // Recursive JavaScript function calls displayOutput() every 5 minutes, 1800 seconds&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  httpRequest.open('GET', 'get_records.php', true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  httpRequest.onreadystatechange = handleResponse;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  httpRequest.send(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; catch( e1 )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;     // Unable to open file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;     alert('Caught Exception: ' + e1.description);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The next step is to handle the data. We've made the HTTP request, we've called the PHP script, we've got the data. What are we going to do with the data?&lt;br /&gt;&lt;br /&gt;If everything went well, readystate should be == 4(complete) and httpRequest.status should be == 200. All ok .. Proceed to set the innerHTML with the data.&lt;br /&gt;&lt;br /&gt;Read about innerHTML:&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms533897.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms533897.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;function handleResponse()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; try {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;            if (httpRequest.readyState == 4) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                if (httpRequest.status == 200) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                    //alert(httpRequest.responseText);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                    document.getElementById("data").innerHTML = httpRequest.responseText;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                } else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                    alert('There was a problem with the request.');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;        catch( e2 )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;            alert('Caught Exception: ' + e2.description);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our final step is to display the data:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;\&lt;\body onload\=\"displayOutput\(\)\;\"\&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;\&lt;\div id\=\"data\"\&gt;\&lt;\/div\&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;\&lt;\/body\&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To be continued ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-6704997821318441205?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/6704997821318441205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=6704997821318441205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6704997821318441205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6704997821318441205'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/10/howto-display-records-from-database.html' title='Howto Display Records from a Database without Refreshing the Entire Page, PHP &amp; AJAX'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3657904817161816379</id><published>2007-10-31T15:01:00.000+05:30</published><updated>2007-10-31T15:54:17.645+05:30</updated><title type='text'>Crash A Wedding</title><content type='html'>Living in a boring city that does nothing during the weekends?&lt;br /&gt;&lt;br /&gt;Crash a wedding!&lt;br /&gt;&lt;br /&gt;The important tip to remember is , "Dress Appropriately"&lt;br /&gt;&lt;br /&gt;Read more:&lt;br /&gt;&lt;br /&gt;How To: Crash A Wedding&lt;br /&gt;&lt;a href="http://www.askmen.com/fashion/how_to_200/241b_how_to.html"&gt;http://www.askmen.com/fashion/how_to_200/241b_how_to.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Watch the movie, Wedding Crashers&lt;br /&gt;&lt;a href="http://www.imdb.com/title/tt0396269/"&gt;http://www.imdb.com/title/tt0396269/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3657904817161816379?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3657904817161816379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3657904817161816379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3657904817161816379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3657904817161816379'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/10/crash-wedding.html' title='Crash A Wedding'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-6880135280992182314</id><published>2007-10-12T10:51:00.000+05:30</published><updated>2007-10-12T11:22:56.241+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Parse error: syntax error, unexpected ':'</title><content type='html'>If short open tags are enabled and if the HTML content in a PHP file has a &lt;\?, PHP will display the error, Parse error: syntax error, unexpected ':'&lt;br /&gt;&lt;br /&gt;Tags such as &lt;\? could be used to open XML tags or other non PHP based tags.&lt;br /&gt;&lt;br /&gt;The solution is to disable the short_open_tag directive in the \/etc\/php.ini file. This would force PHP to parse PHP code with tags that begin with &lt;\?php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-6880135280992182314?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/6880135280992182314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=6880135280992182314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6880135280992182314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6880135280992182314'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/10/parse-error-syntax-error-unexpected.html' title='Parse error: syntax error, unexpected &apos;:&apos;'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-659630949031729231</id><published>2007-10-11T00:26:00.000+05:30</published><updated>2007-10-11T01:12:13.097+05:30</updated><title type='text'>Winamp's Redesign Interface .. Thumbs Down</title><content type='html'>A friend of mine once mentioned, "But Winamp looks old". I had to agree with her on this one.&lt;br /&gt;&lt;br /&gt;We were talking about media players. Media players that support a variety of formats thrown at them, support ripping and burning on the fly and Yes - Look Modern.&lt;br /&gt;&lt;br /&gt;It is Winamp's 10th anniversary. "A completely redesigned interface, including Album Art" says the updated version history. I have been looking out for a Winamp redesign since version 3. The fact that Winamp version 3 Wasabi was dumped wasn't a good thing, but that is another story.&lt;br /&gt;&lt;br /&gt;So I proceed to download, click the download link, hit save, 8 minutes later I run the installer. A few pre-install questions and 5 seconds to go. Tada! The new "Bento redesigned interface" appears. The default color scheme is dark, pasty and bland. I am not impressed at all. Nothing to wow about. Fonts do _not_ look smooth and are in need of anti-aliasing.&lt;br /&gt;&lt;br /&gt;The three pane layout feels fossilized. I remember Winamp version 1 and 2 looking the same. Screen elements look clumsy. I need to click a handler inorder to figure out what they do.&lt;br /&gt;&lt;br /&gt;I am on a 1280x800 resolution display at 120 DPI. Winamp should have looked gorgeous. I fail to understand why the redesign did not include better and _modern_ color schemes. The royal blue color scheme looks hideous. There is a total absence of gloss or the glass effect found on Windows Vista, Windows Media Player, the Windows Media Center application etc. Even Windows Mobile 6 and the new Motorola UI look shiny.&lt;br /&gt;&lt;br /&gt;So what happened? Nullsoft is owned by AOL. Is AOL trying _not_ to get into the Radio business? AOL has probably  secured deals with a dozen other apps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-659630949031729231?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/659630949031729231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=659630949031729231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/659630949031729231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/659630949031729231'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/10/winamps-redesign-interface-thumbs-down.html' title='Winamp&apos;s Redesign Interface .. Thumbs Down'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5447222476857963537</id><published>2007-10-01T11:28:00.000+05:30</published><updated>2007-10-01T11:41:05.551+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>Bad ; sign errors in crontab file, can't install</title><content type='html'>Editing crontab with PICO editor might display the error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;"bad ; sign errors in crontab file, can't install"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The ; character is used to combine and run multiple commands in one statement. Your cron job might look like:&lt;br /&gt;&lt;br /&gt;# Command One; Command Two&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;*/3 * * * * cd /usr/home/; php -q whatever.php&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The above statement consists of two commands. &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The second command would be executed even if &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;the first were to fail.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The solution is to get rid of the ; character. Use the &amp;amp;&amp;amp; character instead.&lt;br /&gt;&lt;br /&gt;The &amp;amp;&amp;amp; character will _not_ execute command two if command one were to fail.&lt;br /&gt;&lt;br /&gt;To get rid of the error, edit your cronjob like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;*/3 * * * * cd /usr/home/ &amp;amp;&amp;amp; php -q whatever.php&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5447222476857963537?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5447222476857963537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5447222476857963537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5447222476857963537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5447222476857963537'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/10/bad-sign-errors-in-crontab-file-cant.html' title='Bad ; sign errors in crontab file, can&apos;t install'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4090093232791789748</id><published>2007-09-29T12:42:00.000+05:30</published><updated>2007-09-29T12:48:30.686+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Unzip:  cannot find or open file.zip</title><content type='html'>When extracting the contents of a corrupted .zip file, unzip will display the error:&lt;br /&gt;&lt;br /&gt;"unzip:  cannot find or open file.zip, file.zip.zip or file.zip.ZIP."&lt;br /&gt;&lt;br /&gt;Before you move the .zip, be sure to run a test on the .zip:&lt;br /&gt;&lt;br /&gt;#unzip -t file.zip&lt;br /&gt;&lt;br /&gt;If the test fails, recreate the archive with tar or gzip.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4090093232791789748?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4090093232791789748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4090093232791789748' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4090093232791789748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4090093232791789748'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/09/unzip-cannot-find-or-open-filezip.html' title='Unzip:  cannot find or open file.zip'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4960588433915137200</id><published>2007-09-28T20:33:00.000+05:30</published><updated>2007-09-28T20:47:40.282+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Enable .htaccess to Overwrite Apache Config</title><content type='html'>If the htaccess AllOverwrite is disabled, Apache will throw up a 500 Internal Server Error&lt;br /&gt;&lt;br /&gt;Enable htaccesss AllOverwrite by editing the following file on the webserver:&lt;br /&gt;&lt;br /&gt;vi /etc/httpd/conf/httpd.conf&lt;br /&gt;&lt;br /&gt;#Add or edit the line to look like this&lt;br /&gt;AllowOverride AuthConfig Indexes Limit All&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4960588433915137200?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4960588433915137200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4960588433915137200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4960588433915137200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4960588433915137200'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/09/enable-htaccess-to-overwrite-apache.html' title='Enable .htaccess to Overwrite Apache Config'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5704259804786322704</id><published>2007-09-06T00:28:00.000+05:30</published><updated>2008-12-11T15:13:51.457+05:30</updated><title type='text'>Apple is on Steroids</title><content type='html'>The business model at Apple is on steroids. A few more billions this holiday season.&lt;br /&gt;&lt;br /&gt;Two months ago, the 8GB iPhone bagged a heafty price tag of $599. Fast forward today, two months later, a price cut of $200. &lt;br /&gt;&lt;br /&gt;The iPod line has been split into two. iPod classic and the new iPod touch.&lt;br /&gt;&lt;br /&gt;The breakdown:&lt;br /&gt;iPhone 8GB - $399&lt;br /&gt;&lt;br /&gt;iPod Classic 80GB - $249&lt;br /&gt;iPod Classic 160GB - $349&lt;br /&gt;&lt;br /&gt;iPod Touch 8GB - $299&lt;br /&gt;iPod Touch 16GB - $399&lt;br /&gt;&lt;br /&gt;The 8GB iPhone sounds reasonable at $399. The 16GB iPod Touch that has all the bells and whistles of the iPhone - is limited at 16GB!!?? WTF!&lt;br /&gt;&lt;br /&gt;Why would a standalone device such as the iPod Touch boast a touch interface, 3.5inch widescreen, Safari, YouTube, WiFi on 16GB of storage? I guess this is a beta release. A years worth of waiting will see that storage double, triple and quadruple.&lt;br /&gt;&lt;br /&gt;Innovative idea one, users can now purchase music directly from their iPod Touch and iPhone devices through the integrated iTunes store. Access iTunes through WiFi and buy music. Anywhere. Anytime.&lt;br /&gt;&lt;br /&gt;Innovative idea two, Apple cut a deal with Starbucks. If your sipping coffee at Starbucks and wondering what song is playing, you bring up the iPod Touch or the iPhone, get into iTunes (through WiFi) and buy the song instantly. I guess, with Apples design philosophy behind great interfaces, this feature will trigger millions of legal downloads. USA only (for now).&lt;br /&gt;&lt;br /&gt;A musician could well release an album at Starbucks and iPod users would _buy_ tracks they like. This strategy has great potential to start a whole new way to sell music legally and quickly.&lt;br /&gt;&lt;br /&gt;Just in time for the holidays.. Ho Ho Ho&lt;br /&gt;&lt;br /&gt;Very clever!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5BsE_fDcVM8/Rt8A_nMzrGI/AAAAAAAAAEs/7OEDTchl1CU/s1600-h/ipod-classic-6th-gen-2007.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5BsE_fDcVM8/Rt8A_nMzrGI/AAAAAAAAAEs/7OEDTchl1CU/s400/ipod-classic-6th-gen-2007.jpg" alt="" id="BLOGGER_PHOTO_ID_5106801595315891298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5704259804786322704?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5704259804786322704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5704259804786322704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5704259804786322704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5704259804786322704'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/09/apple-is-on-steroids.html' title='Apple is on Steroids'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5BsE_fDcVM8/Rt8A_nMzrGI/AAAAAAAAAEs/7OEDTchl1CU/s72-c/ipod-classic-6th-gen-2007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7056243393648525012</id><published>2007-09-03T19:38:00.000+05:30</published><updated>2008-12-11T15:13:51.653+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Put Your Laptop SD Card Slot to Use, Create Backups</title><content type='html'>Backups are generally created on the following media:&lt;br /&gt;&lt;br /&gt;- DVD/R&lt;br /&gt;- External USB flash devices&lt;br /&gt;- External USB HDD&lt;br /&gt;&lt;br /&gt;A laptops SD card slot generally goes unused. Mounting an external USB flash device takes over a USB port and can break if you forget to unplug the device.&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;br /&gt;&lt;/div&gt;I've been experimenting  in creating one click backups on a SD flash card, with great results! The greatest advantage is that you do not tie up a USB port and the SD card does not need to be ejected at all.&lt;br /&gt;&lt;br /&gt;- Stick in a SD card&lt;br /&gt;- Create a batch script that runs the backup either manually or invoked through a task/CRON schedule&lt;br /&gt;&lt;br /&gt;The following script executes winrar with command line parameters and dumps the ZIP onto the SD card.&lt;br /&gt;&lt;br /&gt;-- Begin Copy and Paste --&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;@ echo off&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;echo Kill a running app&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;taskkill /f /im APP_NAME_HERE.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;echo cd into the winrar directory&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;c:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;cd progra~1\winrar\&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;echo Run winrar&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;winrar a f:\ -r -afrar -m1 -rr -rv -t -ilog -ag+bck-MMM-DD_YYYY__NNN -x@F:\exclude-dirs.txt F:\SOURCE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;echo Copy .ZIP to the SD Card, h:\ is the SD destination&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;copy /v f:\bck-*.rar h:\&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;pause&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-- End Copy/Paste --&lt;br /&gt;&lt;br /&gt;Dump the above contents into a .bat file and voila!&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;br /&gt;SD/MMC/MS Card - &lt;a href="http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&amp;N=1053107930+1053307940&amp;amp;name=2GB"&gt;newegg.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rarlab.com/"&gt;Winrar &lt;/a&gt;or &lt;a href="http://www.rarlab.com/"&gt;Winzip&lt;/a&gt;&lt;br /&gt;Laptop, duh!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5BsE_fDcVM8/RtwWwnMzrFI/AAAAAAAAAEk/Ii7qipYgkFA/s1600-h/laptop-sd-slot-backup.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5BsE_fDcVM8/RtwWwnMzrFI/AAAAAAAAAEk/Ii7qipYgkFA/s400/laptop-sd-slot-backup.jpg" alt="" id="BLOGGER_PHOTO_ID_5105981101943532626" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7056243393648525012?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7056243393648525012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7056243393648525012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7056243393648525012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7056243393648525012'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/09/put-your-laptop-sd-card-slot-to-use.html' title='Put Your Laptop SD Card Slot to Use, Create Backups'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5BsE_fDcVM8/RtwWwnMzrFI/AAAAAAAAAEk/Ii7qipYgkFA/s72-c/laptop-sd-slot-backup.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1309038735934645657</id><published>2007-08-25T21:55:00.000+05:30</published><updated>2007-08-30T00:14:29.782+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Managing Multiple Simultaneous Sessions With PHP</title><content type='html'>The Issue:&lt;br /&gt;&lt;br /&gt;Managing multiple simultaneous sessions with PHP is not a fun thing.&lt;br /&gt;&lt;br /&gt;How does one go about creating a session that is unique to the browser window or tab? The goal is to freeze the session state.&lt;br /&gt;&lt;br /&gt;Generally when a user signs in into a Control Panel type of environment -&gt; screen elements are displayed -&gt; the user clicks on the element and performs the action. If the user were to open multiple new windows or tabs, all of the assigned session variables _will be_ overwritten. What this results in, is a huge mess of what was opened previously and newly opened content.&lt;br /&gt;&lt;br /&gt;One way to work around this problem is to disable the right-click. Prevent the user from opening new windows, prevent the user from clicking any of the mouse buttons other than the left click. This workaround requires the user to sign in into the Control Panel with the Internet Explorer browser. Any other browser would fly through the filters. Javascript must be enabled etc etc. Detecting the browser_type is the next issue.  It is possible to spoof the HTTP User Agent and have the client report, spoof and copy any other client/app. The disadvantages on such an approach quickly add to the mix. A lot of the online banking portals seem to follow this approach.&lt;br /&gt;&lt;br /&gt;The next solution involves renaming and creating new PHP sessions. I haven't found this to work too well. There were too many hoops involved.&lt;br /&gt;&lt;br /&gt;The Solution:&lt;br /&gt;&lt;br /&gt;The solution is to create a multi-dimensional array. Dynamically feed and call the multi-dimensional array based on the parent called.&lt;br /&gt;&lt;br /&gt;Lets say you have five variables (parent vars) and need to register five sessions. Create a unique hash for each of the five variables, create a multi-dimensional array and call the hash in every GET and POST request. Its that simple!&lt;br /&gt;&lt;br /&gt;// session_start();&lt;br /&gt;&lt;br /&gt;// Select vars from db&lt;br /&gt;&lt;br /&gt;$foo = generate_hash();&lt;br /&gt;&lt;br /&gt;// Loop them {&lt;br /&gt;$_SESSION[$foo]['type'] = $foo;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;To call these sessions, the subsequent pages would need to call a GET request of the form, $type = hash_value&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1309038735934645657?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1309038735934645657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1309038735934645657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1309038735934645657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1309038735934645657'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/08/managing-multiple-simultaneous-sessions.html' title='Managing Multiple Simultaneous Sessions With PHP'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8872840281312065688</id><published>2007-07-18T15:33:00.000+05:30</published><updated>2007-07-18T15:43:53.869+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>RSM database is corrupt and cannot be Rebuilt</title><content type='html'>&lt;span style="font-weight: bold;"&gt;RSM database is corrupt and cannot be Rebuilt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Windows XP - If the Removable Storage service is disabled, the Computer Management applet will create an event log alert with the error:&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;RSM database is corrupt and cannot be rebuilt&lt;br /&gt;"&lt;br /&gt;&lt;br /&gt;To resolve this issue, set the Removable Storage startup type to Manual or Automatic(services.msc)&lt;br /&gt;&lt;br /&gt;Alternatively, rebuild the RSM database by:&lt;br /&gt;&lt;br /&gt;1. Stop the RSM Service&lt;br /&gt;2. Delete the RSM databases located at %SystemRoot%\System32\NtmsData&lt;br /&gt;3. Restart the RSM Service&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8872840281312065688?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8872840281312065688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8872840281312065688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8872840281312065688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8872840281312065688'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/07/rsm-database-is-corrupt-and-cannot-be.html' title='RSM database is corrupt and cannot be Rebuilt'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8764387057235867151</id><published>2007-07-17T19:27:00.000+05:30</published><updated>2007-07-17T19:48:14.884+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Google, Unable to login - Certificate Expired Error</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Google, Unable to login - Certificate Expired Error&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Logging in to any of google's services will display a certificate expired error. This issue will occur if your computer clock is out of sync and displays an incorrect date/time.&lt;br /&gt;&lt;br /&gt;Internet Explorer will display the certificate error and the post login  process will stall. A temporary workaround to the problem is to enter the correct date/time through the windows date/time applet located in the systray. Attempt the login again after the date/time has been corrected.&lt;br /&gt;&lt;br /&gt;Generally, a date/time error occurs due to a dead &lt;a href="http://en.wikipedia.org/wiki/Nonvolatile_BIOS_memory"&gt;CMOS battery&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This issue affects all of google's services that require a google account- gmail, gtalk, google accounts, orkut etc.&lt;br /&gt;&lt;br /&gt;Further reading:&lt;br /&gt;&lt;a href="http://www.google.com/support/talk/bin/answer.py?hl=en&amp;amp;answer=33612"&gt;Google Support - I received an error message that said to check my computer's clock settings&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8764387057235867151?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8764387057235867151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8764387057235867151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8764387057235867151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8764387057235867151'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/07/google-unable-to-login-certificate.html' title='Google, Unable to login - Certificate Expired Error'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7181039576201922942</id><published>2007-07-17T19:11:00.000+05:30</published><updated>2007-07-17T19:24:10.643+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Tar: Cannot write: Disk quota exceeded</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Tar: Cannot write: Disk quota exceeded&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When creating a tar archive, tar will display the annoying error:&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;sdaX: write failed, user block limit reached&lt;br /&gt;tar: Cannot write: Disk quota exceeded&lt;br /&gt;tar: Error is not recoverable: exiting now&lt;br /&gt;"&lt;br /&gt;&lt;br /&gt;To resolve this issue, check that:&lt;br /&gt;&lt;br /&gt;1) You have two times the free disk space proportionate to the size of the archive you are creating&lt;br /&gt;2) The server does not have restrictions on individual file sizes&lt;br /&gt;3) Hsphere - Double the disk quota value by navigating to the FTP user area and look for the quota parameter.&lt;br /&gt;&lt;br /&gt;Note: Why hsphere has two config areas (FTP and Disk Limits) for controlling disk quotas is beyond my understanding.&lt;br /&gt;&lt;br /&gt;The FTP quota is the real disk quota that controls free space available on the filesystem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7181039576201922942?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7181039576201922942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7181039576201922942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7181039576201922942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7181039576201922942'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/07/tar-cannot-write-disk-quota-exceeded.html' title='Tar: Cannot write: Disk quota exceeded'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3568702880397230098</id><published>2007-06-22T20:25:00.000+05:30</published><updated>2008-12-11T15:13:52.015+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Is your computer running out of RAM?</title><content type='html'>Windows Users, Howto know if your computer is running out of RAM/Memory:&lt;br /&gt;&lt;br /&gt;Open the Windows Task Manager (ctrl + alt + delete). Note the stats below the PF history. (screenshot)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/Documents%20and%20Settings/Andrew/Desktop/windows-task-manager-memory.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5BsE_fDcVM8/RnvkdSlFD7I/AAAAAAAAADI/rfY71qIFvxk/s1600-h/windows-task-manager-memory.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5BsE_fDcVM8/RnvkdSlFD7I/AAAAAAAAADI/rfY71qIFvxk/s400/windows-task-manager-memory.jpg" alt="" id="BLOGGER_PHOTO_ID_5078904196645064626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the screenshot above:&lt;br /&gt;&lt;br /&gt;Total Physical Memory - This is the total amout of RAM/Physical memory installed in the computer. Total amount of RAM installed = 1.5GB&lt;br /&gt;&lt;br /&gt;Commit Charge - The maximum amount of space used by the pagefile = 1.2GB&lt;br /&gt;&lt;br /&gt;Total Physical Memory (K) = 1562668 ~1.5GB&lt;br /&gt;Commit Charge Peak value (K) = 1340072 ~1.2GB&lt;br /&gt;&lt;br /&gt;* Divide (K) by 1048576 to convert value to GB&lt;br /&gt;&lt;br /&gt;Total Free RAM/Memory = Total Physical Memory - Commit Charge Peak value&lt;br /&gt;= 1.5 - 1.2&lt;br /&gt;= 0.3GB (~307MB)&lt;br /&gt;&lt;br /&gt;In this example, 307MB is the total free memory available under load. This number is acceptable. I still have room to run a few more apps.&lt;br /&gt;&lt;br /&gt;IF your total free memory is in the negative, Windows _will_ swap contents to the pagefile instead of the memory. This causes applications to slow down and Windows runs like a pig. Perhaps its time for that long awaited RAM upgrade. ;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Linux, check the amount of free RAM available:&lt;br /&gt;&lt;br /&gt;Run the command free -m at the shell prompt:&lt;br /&gt;&lt;br /&gt;-sh-3.00$ free -m&lt;br /&gt;            total       used       free     shared    buffers     cached&lt;br /&gt;Mem:          1010        794        215          0         14        205&lt;br /&gt;-/+ buffers/cache:        575        435&lt;br /&gt;Swap:         2000        257       1743&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3568702880397230098?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3568702880397230098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3568702880397230098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3568702880397230098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3568702880397230098'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/06/is-your-computer-running-out-of-ram.html' title='Is your computer running out of RAM?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5BsE_fDcVM8/RnvkdSlFD7I/AAAAAAAAADI/rfY71qIFvxk/s72-c/windows-task-manager-memory.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-6249089235494301122</id><published>2007-06-17T23:06:00.000+05:30</published><updated>2008-12-11T15:13:52.263+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><title type='text'>Getting Up to Speed with RaidRails, Ruby on Rails</title><content type='html'>This how-to assumes you have a basic understanding of Ruby and Rails.&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;br /&gt;Windows XP (I have tested the following in a Windows XP Pro SP2 environment)&lt;br /&gt;&lt;br /&gt;XAMPP:&lt;br /&gt;Install - Apache &amp; MySQL&lt;br /&gt;&lt;a href="http://www.apachefriends.org/en/xampp-windows.html"&gt;http://www.apachefriends.org/en/xampp-windows.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Instant Rails:&lt;br /&gt;&lt;a href="http://rubyforge.org/frs/?group_id=904"&gt;http://rubyforge.org/frs/?group_id=904&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Radrails:&lt;br /&gt;&lt;a href="http://www.aptana.com/download_radrails.php"&gt;http://www.aptana.com/download_radrails.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Configure Rails and Rake path&lt;br /&gt;Navigate to the Instant Rails directory.&lt;br /&gt;Select the rails binary and rake.bat as shown below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5BsE_fDcVM8/RnVyYilFD2I/AAAAAAAAACg/bTx3R_jox5g/s1600-h/ruby-on-rails_01+%281%29.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5BsE_fDcVM8/RnVyYilFD2I/AAAAAAAAACg/bTx3R_jox5g/s400/ruby-on-rails_01+%281%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5077089920854855522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) Setup the Ruby Interpreter&lt;br /&gt;Select ruby.exe located in the \bin\ dir&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5BsE_fDcVM8/RnVyQClFD1I/AAAAAAAAACY/asi_rXycNhc/s1600-h/ruby-on-rails_01.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5BsE_fDcVM8/RnVyQClFD1I/AAAAAAAAACY/asi_rXycNhc/s400/ruby-on-rails_01.jpg" alt="" id="BLOGGER_PHOTO_ID_5077089774825967442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3) Start the MySQL server&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5BsE_fDcVM8/RnVyfSlFD3I/AAAAAAAAACo/AmoAXpuPdGY/s1600-h/ruby-on-rails_01+%282%29.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_5BsE_fDcVM8/RnVyfSlFD3I/AAAAAAAAACo/AmoAXpuPdGY/s400/ruby-on-rails_01+%282%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5077090036818972530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4) Create a New Project - RadRails&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5BsE_fDcVM8/RnVy3ylFD5I/AAAAAAAAAC4/s5TPrYxToI4/s1600-h/ruby-on-rails_01+%284%29.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5BsE_fDcVM8/RnVy3ylFD5I/AAAAAAAAAC4/s5TPrYxToI4/s400/ruby-on-rails_01+%284%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5077090457725767570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5) Enter a Project Name&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5BsE_fDcVM8/RnVyqylFD4I/AAAAAAAAACw/wt5UNtlu7pc/s1600-h/ruby-on-rails_01+%283%29.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5BsE_fDcVM8/RnVyqylFD4I/AAAAAAAAACw/wt5UNtlu7pc/s400/ruby-on-rails_01+%283%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5077090234387468162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6) Hello World!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5BsE_fDcVM8/RnVzTClFD6I/AAAAAAAAADA/6ofCFit98sc/s1600-h/ruby-on-rails_01+%285%29.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5BsE_fDcVM8/RnVzTClFD6I/AAAAAAAAADA/6ofCFit98sc/s400/ruby-on-rails_01+%285%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5077090925877202850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ruby:&lt;br /&gt;&lt;a href="http://www.ruby-lang.org/en/"&gt;http://www.ruby-lang.org/en/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby on Rails framework:&lt;br /&gt;&lt;a href="http://www.rubyonrails.org/"&gt;http://www.rubyonrails.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby forge:&lt;br /&gt;&lt;a href="http://rubyforge.org/"&gt;http://rubyforge.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ruby Help and Docs:&lt;br /&gt;&lt;a href="http://www.ruby-doc.org/"&gt;http://www.ruby-doc.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Streamlined:&lt;br /&gt;&lt;a href="http://streamlinedframework.org:8079/trac/"&gt;http://streamlinedframework.org:8079/trac/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IBM Fast-track your Web apps with Ruby on Rails:&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/"&gt;http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-6249089235494301122?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/6249089235494301122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=6249089235494301122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6249089235494301122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6249089235494301122'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/06/getting-up-to-speed-with-raidrails-ruby.html' title='Getting Up to Speed with RaidRails, Ruby on Rails'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5BsE_fDcVM8/RnVyYilFD2I/AAAAAAAAACg/bTx3R_jox5g/s72-c/ruby-on-rails_01+%281%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4146084255790401609</id><published>2007-05-24T18:08:00.000+05:30</published><updated>2007-05-24T18:17:30.896+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP Fatal error: [] operator not supported for strings</title><content type='html'>&lt;span style="font-weight:bold;"&gt;PHP Fatal error: [] operator not supported for strings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PHP will throw up the error:&lt;br /&gt;&lt;br /&gt;"Fatal error: [] operator not supported for strings"&lt;br /&gt;&lt;br /&gt;if:&lt;br /&gt;&lt;br /&gt;- The array variable eg, $foo[] has been set elsewhere as a string&lt;br /&gt;- The array variable has already been set as an array elsewhere &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The solution:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Do not mix the same variable names between strings and arrays&lt;br /&gt;- Do not create duplicate array names&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4146084255790401609?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4146084255790401609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4146084255790401609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4146084255790401609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4146084255790401609'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/05/php-fatal-error-operator-not-supported.html' title='PHP Fatal error: [] operator not supported for strings'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3823194326504694282</id><published>2007-05-24T11:39:00.000+05:30</published><updated>2007-05-24T11:55:58.140+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP fopen Fails to Open Directory in Windows</title><content type='html'>&lt;span style="font-weight:bold;"&gt;fopen Fails to Open Directory in Windows&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;fopen — Opens file or URL&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;However, if the file is a directory, fopen will fail to open the directory in windows. This issue does not occur in Linux.&lt;br /&gt;&lt;br /&gt;Windows Error:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Warning: fopen(c:\windows\): failed to open stream: Permission denied&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Regardless of the permissions on the windows or any other directory, fopen will display the error.&lt;br /&gt;&lt;br /&gt;PHP Code:&lt;br /&gt;&lt;br /&gt;Windows:&lt;br /&gt;$fh = fopen('c:\\windows\\', 'r');&lt;br /&gt;&lt;br /&gt;Linux:&lt;br /&gt;$fh = fopen('/home/test/', 'r');&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;fopen Fails to Open Directory in Windows&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3823194326504694282?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3823194326504694282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3823194326504694282' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3823194326504694282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3823194326504694282'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/05/php-fopen-fails-to-open-directory-in.html' title='PHP fopen Fails to Open Directory in Windows'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-234566894745582053</id><published>2007-05-24T10:24:00.000+05:30</published><updated>2007-05-24T11:01:52.997+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP INSERT an Array into MySQL</title><content type='html'>Inserting an array into MySQL while escaping the string with mysql_real_escape_string() will throw up the error:&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-weight:bold;"&gt;mysql_real_escape_string() expects parameter 1 to be string&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;I haven't got down to research the real reason behind this issue. The obvious reason is that mysql_real_escape_string() escapes all characters in a string. To escape an array, I guess we'd need to loop the contents and return the escaped array.&lt;br /&gt;&lt;br /&gt;The solution:&lt;br /&gt;&lt;br /&gt;-- During INSERT or UPDATE &lt;br /&gt;&lt;br /&gt;- Serialize the array before the INSERT or UPDATE query&lt;br /&gt;$array_var[] = $some_data;&lt;br /&gt;&lt;br /&gt;$serialized_array = serialize($array_var);&lt;br /&gt;&lt;br /&gt;// mysql_real_escape_string() will now escape $serialized_array and insert/update without errors.&lt;br /&gt;&lt;br /&gt;-- During SELECT &lt;br /&gt;&lt;br /&gt;- Unserialize the array after the SELECT query is executed&lt;br /&gt;&lt;br /&gt;$array_var = unserialize($get_all[$k]['array_var']);&lt;br /&gt;&lt;br /&gt;// Print the array&lt;br /&gt;print_r($array_var);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-234566894745582053?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/234566894745582053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=234566894745582053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/234566894745582053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/234566894745582053'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/05/php-insert-array-into-mysql.html' title='PHP INSERT an Array into MySQL'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-2890681341591512751</id><published>2007-05-22T23:47:00.000+05:30</published><updated>2007-05-22T23:55:26.824+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Logic to Check the Status of a URL</title><content type='html'>Open socket to host&lt;br /&gt;Check socket status&lt;br /&gt;Proceed to grab headers&lt;br /&gt;Check headers status&lt;br /&gt;&lt;br /&gt;IF the URL is a file or similar&lt;br /&gt;Parse page and look for href patterns&lt;br /&gt;For each URL&lt;br /&gt;Open socket to host&lt;br /&gt;Check socket status&lt;br /&gt;Proceed to grab headers&lt;br /&gt;Check headers status&lt;br /&gt;&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;// Local Filesystem - Perform integrity checks&lt;br /&gt;// Local Filesystem - Checks on date attribute&lt;br /&gt;// Local Filesystem - Replace domain with the localPath, check status&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-2890681341591512751?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/2890681341591512751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=2890681341591512751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2890681341591512751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2890681341591512751'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/05/logic-to-check-status-of-url.html' title='Logic to Check the Status of a URL'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-423938207493570887</id><published>2007-05-21T23:59:00.000+05:30</published><updated>2007-05-22T00:04:13.218+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>sudo vs su -</title><content type='html'>&lt;blockquote&gt;The "sudo" command allows users specified in a sudoers file which is usually located in the /etc directory to perform certain functions (again, as permitted by the sudoers file) that are normally reserved for the root user. The syntax would be something like:&lt;br /&gt;&lt;br /&gt;sudo command&lt;br /&gt;&lt;br /&gt;where command is normally limited to the root user. You may be prompted for your normal user password, and if the root user has given you permission (in the sudoers file) to perform that action, you can.&lt;br /&gt;&lt;br /&gt;The "su" command is a "switch user" command. In its simplest form, typing "su" will prompt you for the root password and if given correctly you get root privileges. Typing "su -" and giving the correct password gives you root's privileges and environment. The "su" command can also be used to gain access to another "normal" user's account if you have that user's password. To do that you would type "su &lt;username&gt;" where &lt;username&gt; is a valid normal user on that system.&lt;/username&gt;&lt;/username&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-423938207493570887?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/423938207493570887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=423938207493570887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/423938207493570887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/423938207493570887'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/05/sudo-vs-su.html' title='sudo vs su -'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5040458351069201053</id><published>2007-04-23T10:48:00.000+05:30</published><updated>2007-04-23T11:50:58.768+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Slow MySQL Performance over a USB Bus</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Slow MySQL Performance over a USB Bus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Parsing a 3gig MySQL dB with ~5  million datasets can be agonizingly  slow. The bottleneck here being the USB bus.&lt;br /&gt;&lt;br /&gt;I had to get MySQL running off an external USB HDD due to the heat generated on my notebook  (Intel Core 2 Duo, SATA HDD).&lt;br /&gt;&lt;br /&gt;The only advantage of this setup is the heat issue. As for the cons, there are plenty:&lt;br /&gt;&lt;br /&gt;- USB connector can break the connection for some reason&lt;br /&gt;- Slow USB bus&lt;br /&gt;- USB external is powered through AC, brick needs to convert from AC -&gt; DC&lt;br /&gt;- The external IDE connector&lt;br /&gt;&lt;br /&gt;Time consumed:&lt;br /&gt;100 tables per week&lt;br /&gt;~2.5 weeks&lt;br /&gt;22/7, One 10-15 minute standby break before script execution&lt;br /&gt;&lt;br /&gt;Filesystem: NTFS&lt;br /&gt;&lt;br /&gt;dB dumped and imported to an ext3 filesystem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5040458351069201053?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5040458351069201053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5040458351069201053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5040458351069201053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5040458351069201053'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/04/slow-mysql-performance-over-usb-bus.html' title='Slow MySQL Performance over a USB Bus'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3014734807436845196</id><published>2007-04-02T11:11:00.000+05:30</published><updated>2007-04-02T11:16:13.418+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Send Attachments with Mutt</title><content type='html'>Use mutt to send an email through shell.&lt;br /&gt;-a flag to attach an attachment&lt;br /&gt;-s flag is the subject&lt;br /&gt;echo -e creates the message in the body&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="color: rgb(0, 0, 153);"&gt;#!/bin/bash&lt;br /&gt;echo -e "This is the body message of the email" | mutt -a attachment.zip foo@recipient.com -s "This is the email subject"&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3014734807436845196?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3014734807436845196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3014734807436845196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3014734807436845196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3014734807436845196'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/04/send-attachments-with-mutt.html' title='Send Attachments with Mutt'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1553875888190874520</id><published>2007-03-19T15:10:00.000+05:30</published><updated>2007-04-23T11:43:58.075+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Reset the TCP/IP Stack</title><content type='html'>&lt;b&gt;Reset the TCP/IP Stack&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Windows XP - Is the TCP/IP config acting up? Enter the command in a DOS box and this will hopefully clear the mess!&lt;br /&gt;&lt;br /&gt;Note: Write down or screen capture DNS addresses, LAN configs and other variables. The reset will wipe out all network settings.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;netsh int ip reset c:\resetlog.txt&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1553875888190874520?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1553875888190874520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1553875888190874520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1553875888190874520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1553875888190874520'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/03/reset-tcpip-stack.html' title='Reset the TCP/IP Stack'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1384376589182178091</id><published>2007-03-13T13:52:00.001+05:30</published><updated>2007-04-23T10:31:28.037+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='gprs'/><title type='text'>GPRS Access Numbers</title><content type='html'>&lt;span style="font-weight: bold;"&gt;GPRS Access Numbers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;*99#&lt;br /&gt;*99***1#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1384376589182178091?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1384376589182178091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1384376589182178091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1384376589182178091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1384376589182178091'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/03/gprs-access-numbers.html' title='GPRS Access Numbers'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4607297534134562430</id><published>2007-03-13T11:33:00.001+05:30</published><updated>2007-04-23T10:30:13.597+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Disable Data Execution Prevention (DEP)</title><content type='html'>&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Disable Data Execution Prevention (DEP)&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Edit the BOOT.INI file in the root  of the partition from which the computer boots.&lt;br /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Right-click on My Computer and select Properties.&lt;/li&gt;&lt;li&gt;Click on the Advanced tab.&lt;/li&gt;&lt;li&gt;Click on the third button—settings for system start options.&lt;/li&gt;&lt;li&gt;Click on the Edit button to edit the boot.ini file.&lt;/li&gt;&lt;li&gt;Carefully edit the /NoExecute=OptIn string and change it to AlwaysOff. This    part at the end of the line should now read: /NoExecute=AlwaysOff&lt;/li&gt;&lt;li&gt;Save and close the dialog boxes by clicking on OK.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Alternative Method:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ATTRIB -S -H -R C:\BOOT.INI&lt;/li&gt;&lt;li&gt;NOTEPAD BOOT.INI&lt;/li&gt;&lt;li&gt;Carefully edit the /NoExecute=OptIn string and change OptIn to AlwaysOff.    This part at the end of the line should now read: /NoExecute=AlwaysOff&lt;/li&gt;&lt;li&gt;Close the editor and resave the BOOT.INI file back to where it was.&lt;/li&gt;&lt;li&gt;ATTRIB +S +H +R C:\BOOT.INI&lt;/li&gt;&lt;/ul&gt;To disable DEP by modifying the Boot.ini file, change the /noexecute policy level to alwaysoff.&lt;br /&gt;&lt;p&gt;&lt;span class="postbody"&gt;/NoExecute=AlwaysOff&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4607297534134562430?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4607297534134562430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4607297534134562430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4607297534134562430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4607297534134562430'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/03/disable-data-execution-prevention-dep.html' title='Disable Data Execution Prevention (DEP)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5579239873522807335</id><published>2007-03-04T13:06:00.001+05:30</published><updated>2007-04-23T10:42:26.360+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Shell Environment Variables</title><content type='html'>&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-weight: bold;"&gt;Shell Environment Variables&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;List the environment vars from a shell prompt:&lt;br /&gt;&lt;br /&gt;                 &lt;b&gt;-sh-3.00$ env&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5579239873522807335?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5579239873522807335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5579239873522807335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5579239873522807335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5579239873522807335'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/03/shell-environment-variables.html' title='Shell Environment Variables'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8405114946858624638</id><published>2007-01-23T10:10:00.000+05:30</published><updated>2007-01-23T10:13:40.021+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Linux Shell</title><content type='html'>Linux Shell&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;List Files and Directories without Color Coding&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$ls --color=none -all&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;List Files with Auto-Refresh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;while [ 1 ]; do clear; ls -allh; sleep 5; done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Generate and Check MD5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$md5sum FILE &gt; md5sum.txt&lt;br /&gt;$md5sum -c md5.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Generate the Date of the Form: January_01_YYYY.$ext&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$NOW=`date +%B_%d_%a_%Y&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Get the Total Size of a Directory and File&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$du -hcs dir/dir&lt;br /&gt;$du -h file.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Search for Text Pattern in Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$egrep "stuff.php" *&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8405114946858624638?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8405114946858624638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8405114946858624638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8405114946858624638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8405114946858624638'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/linux-shell.html' title='Linux Shell'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-338867304017723682</id><published>2007-01-23T10:09:00.000+05:30</published><updated>2007-01-23T10:10:40.444+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Split and Join Files</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Split and Join Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$split -b 450m file.tar.gz&lt;br /&gt;&lt;br /&gt;With Prefix&lt;br /&gt;$split -b 450m file.tar.gz PREFIX&lt;br /&gt;&lt;br /&gt;Join Files&lt;br /&gt;$cat xaa xab xac &gt;&gt; file.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Split and Join Files&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-338867304017723682?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/338867304017723682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=338867304017723682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/338867304017723682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/338867304017723682'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/split-and-join-files.html' title='Split and Join Files'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1250321439959215296</id><published>2007-01-19T19:26:00.000+05:30</published><updated>2007-01-19T19:30:36.117+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>mysqldump: Couldn't execute SHOW TRIGGERS LIKE</title><content type='html'>&lt;span style="font-weight:bold;"&gt;mysqldump: Couldn't execute SHOW TRIGGERS LIKE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Importing a database with 251+ tables on Windows XP results in the following error:&lt;br /&gt;mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE table_name. Can't create&lt;br /&gt;ate/write to file '\tmp\#sql_8d4_0.MYD' (Errcode: 17) (1)&lt;br /&gt;&lt;br /&gt;This issue is due to the windows file handles. &lt;br /&gt;&lt;br /&gt;[quote]&lt;br /&gt;Please examine the server status variable "open_files_limit" and note that&lt;br /&gt;mysqld requires two open files for each myisam table. &lt;br /&gt;&lt;br /&gt;On my machine it looks like this:&lt;br /&gt;mysql&gt; SHOW VARIABLES LIKE 'Open_files_limit';&lt;br /&gt;Variable_name Value&lt;br /&gt;open_files_limit      1024&lt;br /&gt;&lt;br /&gt;From the manual:&lt;br /&gt; The number of files that the operating system allows mysqld to open. This is&lt;br /&gt;the real value allowed by the system and might be different from the value you&lt;br /&gt;gave using the --open-files-limit option to mysqld or mysqld_safe. The value is&lt;br /&gt;0 on systems where MySQL can't change the number of open files.&lt;br /&gt;&lt;br /&gt;When mysqldump tries to dump the files, it will first take a read lock on all&lt;br /&gt;the tables in the database. That requires it to open all of them at the same&lt;br /&gt;time. So if the number of available open files is low, this kind of error can&lt;br /&gt;occur.&lt;br /&gt;&lt;br /&gt;To make mysqldump avoid taking the read lock use --skip-lock-tables option. I&lt;br /&gt;successfully used that to dump more tables than my system had file descriptors.&lt;br /&gt;&lt;br /&gt;It should also be possible to put a smaller number of tables in each database or&lt;br /&gt;only dump a selected number of tables at a time.&lt;br /&gt;&lt;br /&gt;But that are workarounds, best thing is to increase the number of open files on&lt;br /&gt;the system.&lt;br /&gt;[/quote]&lt;br /&gt;&lt;br /&gt;Source:&lt;br /&gt;http://bugs.mysql.com/bug.php?id=17089&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;mysqldump: Couldn't execute SHOW TRIGGERS LIKE&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1250321439959215296?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1250321439959215296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1250321439959215296' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1250321439959215296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1250321439959215296'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/mysqldump-couldnt-execute-show-triggers.html' title='mysqldump: Couldn&apos;t execute SHOW TRIGGERS LIKE'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-966083744016523834</id><published>2007-01-17T00:31:00.000+05:30</published><updated>2007-01-17T00:35:25.445+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>CSV Invalid Field When Importing Into MySQL</title><content type='html'>&lt;span style="font-weight:bold;"&gt;CSV Invalid Field When Importing Into MySQL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Check that there are no funny characters such as single quotes or double quotes.&lt;br /&gt;The import fields need to be specified correctly.&lt;br /&gt;The CSV input file needs to be saved in the CSV format.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CSV Invalid Field When Importing Into MySQL&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-966083744016523834?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/966083744016523834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=966083744016523834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/966083744016523834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/966083744016523834'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/csv-invalid-field-when-importing-into.html' title='CSV Invalid Field When Importing Into MySQL'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3586353371459629184</id><published>2007-01-16T23:06:00.000+05:30</published><updated>2007-04-24T12:05:24.798+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Restore a MySQL Database</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Restore a MySQL Database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Through Shell:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;$ mysql -uUserName -pPassword -hlocalhost DatabaseName &lt; mysql_db.sql&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Restore a MySQL Database&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3586353371459629184?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3586353371459629184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3586353371459629184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3586353371459629184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3586353371459629184'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/restore-mysql-database.html' title='Restore a MySQL Database'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7793435968570029475</id><published>2007-01-16T22:52:00.000+05:30</published><updated>2007-01-20T23:47:58.333+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Backup a MySQL Database</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Backup a MySQL Database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Through Shell:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Backup an entire database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$mysqldump -udatabase_user -p --host="host.com" --opt -f database_name &gt; database_backup.sql&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Backup through Windows:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;c:\&gt; mysqldump -udatabase_user -p --host="host.com" --skip-lock-tables database_name &gt; database_backup.sql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Backup a table&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$mysqldump -udatabase_user -p --host="host.com" --opt -f database_name table_name &gt; database_table_backup.sql&lt;br /&gt;&lt;br /&gt;-p prompts for a password after the above command is executed&lt;br /&gt;&lt;br /&gt;--force, -f&lt;br /&gt;&lt;br /&gt;Continue even if an SQL error occurs during a table dump.&lt;br /&gt;&lt;br /&gt;One use for this option is to cause mysqldump to continue executing even when it encounters a view that has become invalid because the defintion refers to a table that has been dropped. Without --force, mysqldump exits with an error message. With --force, mysqldump prints the error message, but it also writes a SQL comment containing the view definition to the dump output and continues executing.&lt;br /&gt;&lt;br /&gt;--opt&lt;br /&gt;&lt;br /&gt;This option is shorthand; it is the same as specifying --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset. It should give you a fast dump operation and produce a dump file that can be reloaded into a MySQL server quickly.&lt;br /&gt;&lt;br /&gt;The --opt option is enabled by default. Use --skip-opt to disable it. See the discussion at the beginning of this section for information about selectively enabling or disabling certain of the options affected by --opt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Backup a MySQL Database&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7793435968570029475?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7793435968570029475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7793435968570029475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7793435968570029475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7793435968570029475'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/backup-mysql-database.html' title='Backup a MySQL Database'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7277847135996680693</id><published>2007-01-06T17:46:00.000+05:30</published><updated>2007-06-15T12:50:25.474+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><title type='text'>Places to Visit</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Places to Visit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;India:&lt;br /&gt;Taj Mahal, Red Fort Delhi - Visited - 2006&lt;br /&gt;&lt;br /&gt;Basilica Old Goa - UNESCO - Visited&lt;br /&gt;&lt;br /&gt;Australia:&lt;br /&gt;Sydney Opera House&lt;br /&gt;http://en.wikipedia.org/wiki/Sydney_Opera_House&lt;br /&gt;&lt;br /&gt;Australia Zoo&lt;br /&gt;&lt;br /&gt;Egypt:&lt;br /&gt;Egyptian Pyramids&lt;br /&gt;http://en.wikipedia.org/wiki/Egyptian_pyramids&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Germany:&lt;br /&gt;Magdeburg Water Bridge&lt;br /&gt;http://en.wikipedia.org/wiki/Magdeburg_Water_Bridge&lt;br /&gt;&lt;br /&gt;Autobahn&lt;br /&gt;http://en.wikipedia.org/wiki/Autobahn&lt;br /&gt;&lt;br /&gt;France:&lt;br /&gt;Eiffel Tower&lt;br /&gt;http://en.wikipedia.org/wiki/Eiffel_Tower&lt;br /&gt;&lt;br /&gt;USA:&lt;br /&gt;Niagara Falls&lt;br /&gt;http://en.wikipedia.org/wiki/Niagara_Falls&lt;br /&gt;&lt;br /&gt;Hollywood&lt;br /&gt;http://en.wikipedia.org/wiki/Hollywood&lt;br /&gt;&lt;br /&gt;Disneyland&lt;br /&gt;http://en.wikipedia.org/wiki/Disneyland&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Places to Visit&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7277847135996680693?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7277847135996680693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7277847135996680693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7277847135996680693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7277847135996680693'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/places-to-visit.html' title='Places to Visit'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3477586814498626809</id><published>2007-01-06T11:13:00.000+05:30</published><updated>2007-01-06T11:25:45.454+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Find and Replace a Matching String of Text</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Find and Replace a Matching String of Text&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This script will find all .html files (in the current directory and all subdirectories) and replace the string of text 123 with 456&lt;br /&gt;&lt;br /&gt;#!/bin/bsh&lt;br /&gt;&lt;br /&gt;for file in $(find . -type f -name '*.html')&lt;br /&gt;&lt;br /&gt;do&lt;br /&gt;&lt;br /&gt;cat $file |sed "s|123|456|g" &gt; $file.new&lt;br /&gt;&lt;br /&gt;mv -v $file.new $file&lt;br /&gt;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Prefix and escape double quotes with a backslash, (double quotes are used by SED)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bsh&lt;br /&gt;&lt;br /&gt;for file in $(find . -type f -name '*.php')&lt;br /&gt;&lt;br /&gt;do&lt;br /&gt;cat $file |sed "s|include \"file.php\";|require_once (\'/path/file.php\');|g" &gt; $file.new&lt;br /&gt;&lt;br /&gt;mv -v $file.new $file&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Find and Replace a Matching String of Text&lt;/span&gt; &lt;/title1&gt;&lt;/title1&gt;&lt;/title1&gt;&lt;/title1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3477586814498626809?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3477586814498626809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3477586814498626809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3477586814498626809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3477586814498626809'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/find-and-replace-matching-string-of.html' title='Find and Replace a Matching String of Text'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-8434467753273162734</id><published>2007-01-06T11:03:00.000+05:30</published><updated>2007-09-10T12:33:12.630+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Archive and Compress a Directory</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Archive, ZIP/Unzip and Compress/Decompress a Directory&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;$ tar -zcvf archive.tar.gz sourcedirectory/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Exclude a directory(s) from the archive:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;$ tar -zcvf archive.tar.gz sourcedirectory/ --exclude=exclude01-dir/* --exclude=exclude02-dir/subdir/*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ZIP&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;$ zip db.zip foo-file&lt;br /&gt;&lt;br /&gt;$ zip -r dir.zip directory/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Extract contents of a GZ archive&lt;br /&gt;$ gunzip archive.sql.gz&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;$ gzip -d archive.sql.gz    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Extract contents of a TAR GZ Archive&lt;br /&gt;$ tar -zxvf archive.tar.gz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-8434467753273162734?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/8434467753273162734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=8434467753273162734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8434467753273162734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/8434467753273162734'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/archive-and-compress-directory.html' title='Archive and Compress a Directory'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-6487086600884164400</id><published>2007-01-06T00:07:00.000+05:30</published><updated>2007-01-06T00:13:47.095+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Recursively Copy a Directory</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Recursively Copy a Directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;cp -r source newdestination&lt;br /&gt;&lt;br /&gt;Note: newdestination does not need to exist&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Recursively Copy a Directory&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-6487086600884164400?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/6487086600884164400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=6487086600884164400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6487086600884164400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6487086600884164400'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2007/01/recursively-copy-directory.html' title='Recursively Copy a Directory'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-5171190396729962552</id><published>2006-12-17T21:54:00.000+05:30</published><updated>2006-12-17T21:56:02.019+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><title type='text'>Firefox List of Installed Plugins</title><content type='html'>&lt;div class="lastupd"&gt;&lt;span style="font-weight: bold;"&gt;Firefox List of Installed Plugins&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hdr"&gt;Last updated:&lt;/span&gt; Sun, 17 Dec 2006 16:23:01 GMT &lt;/div&gt; &lt;div class="useragent"&gt; &lt;span class="hdr"&gt;User Agent:&lt;/span&gt; Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0 &lt;/div&gt; &lt;div class="extensions"&gt; &lt;h3&gt;&lt;span class="hdr"&gt;Extensions&lt;/span&gt; (enabled: 7, disabled: 1):&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://adblock.mozdev.org/"&gt;Adblock&lt;/a&gt; 0.5.3.043 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.customizegoogle.com/"&gt;CustomizeGoogle&lt;/a&gt; 0.55 &lt;/li&gt;&lt;li&gt;&lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt; 1.2 &lt;/li&gt;&lt;li&gt;&lt;a href="http://flashgot.net/"&gt;FlashGot&lt;/a&gt; 0.5.97.02 &lt;/li&gt;&lt;li&gt;&lt;a href="http://mozilla.doslash.org/infolister"&gt;InfoLister&lt;/a&gt; 0.9f &lt;/li&gt;&lt;li&gt;&lt;a href="http://inforss.mozdev.org/"&gt;infoRSS&lt;/a&gt; 1.1.1 [disabled]&lt;/li&gt;&lt;li&gt;&lt;a href="http://toolbar.netcraft.com/"&gt;netcrafttoolbar&lt;/a&gt; 1.1.1.7 &lt;/li&gt;&lt;li&gt;&lt;a href="http://sage.mozdev.org/"&gt;Sage&lt;/a&gt; 1.3.9 &lt;/li&gt;&lt;/ul&gt; &lt;/div&gt; &lt;div class="themes"&gt; &lt;h3&gt;&lt;span class="hdr"&gt;Themes&lt;/span&gt; (3):&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="file:///C:/extensions.html"&gt;Firefox (default)&lt;/a&gt; 2.0 &lt;/li&gt;&lt;li&gt;&lt;a href="http://quadrone.org/"&gt;Qute&lt;/a&gt; 3.2.2 [selected]&lt;/li&gt;&lt;li&gt;&lt;a href="http://cdburnerxp.se/winestripe/"&gt;Winestripe&lt;/a&gt; 1.2.1 &lt;/li&gt;&lt;/ul&gt; &lt;/div&gt; &lt;div class="plugins"&gt; &lt;h3&gt;&lt;span class="hdr"&gt;Plugins&lt;/span&gt; (9):&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;Adobe Acrobat&lt;/li&gt;&lt;li&gt;DivX Player Netscape Plugin&lt;/li&gt;&lt;li&gt;DivX® Web Player&lt;/li&gt;&lt;li&gt;Java(TM) 2 Platform Standard Edition 5.0 Update 6&lt;/li&gt;&lt;li&gt;Microsoft® DRM&lt;/li&gt;&lt;li&gt;Mozilla Default Plug-in&lt;/li&gt;&lt;li&gt;QuickTime Plug-in 7.1.3&lt;/li&gt;&lt;li&gt;Shockwave Flash&lt;/li&gt;&lt;li&gt;Windows Media Player Plug-in Dynamic Link Library&lt;/li&gt;&lt;/ul&gt; &lt;/div&gt;&lt;span style="font-weight: bold;"&gt;  Firefox List of Installed Plugins&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-5171190396729962552?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/5171190396729962552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=5171190396729962552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5171190396729962552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/5171190396729962552'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/12/firefox-list-of-installed-plugins.html' title='Firefox List of Installed Plugins'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7387717892776301245</id><published>2006-12-17T21:06:00.000+05:30</published><updated>2006-12-17T21:15:12.910+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='email'/><title type='text'>SPAM and the Catch All Feature</title><content type='html'>&lt;span style="font-weight: bold;"&gt;SPAM and the Catch All Feature&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of our domains had been receiving a huge amount of SPAM. The Catch All feature had been enabled due to the fact that usernames could be created on-the-fly and used without creating inboxes.&lt;br /&gt;&lt;br /&gt;With this "feature" enabled, a spammer could load up a dictionary with a list of usernames and blast the domain with SPAM. The reason why all email would be received is because Catch All does not bounce non-existent addresses/usernames. Instead, it forwards all incoming email to a POP email address.&lt;br /&gt;&lt;br /&gt;We disabled the feature today and voila! SPAM levels reduced by 90%!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SPAM and the Catch All Feature&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7387717892776301245?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7387717892776301245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7387717892776301245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7387717892776301245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7387717892776301245'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/12/spam-and-catch-all-feature.html' title='SPAM and the Catch All Feature'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-2336768778322259843</id><published>2006-12-14T20:58:00.000+05:30</published><updated>2006-12-14T21:02:47.866+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Procedure to Name MySQL DB's</title><content type='html'>I've been using the following method as the naming convention to name DB's/tables.&lt;br /&gt;&lt;br /&gt;DB name-&gt; host_dbtitle&lt;br /&gt;&lt;br /&gt;Table name-&gt; dbtitle_tableTopic&lt;br /&gt;&lt;br /&gt;Foreign keys are created across all tables and _not_ on the last relation only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-2336768778322259843?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/2336768778322259843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=2336768778322259843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2336768778322259843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2336768778322259843'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/12/procedure-to-name-mysql-dbs.html' title='Procedure to Name MySQL DB&apos;s'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7233577335550114028</id><published>2006-11-02T20:17:00.000+05:30</published><updated>2006-11-02T20:29:30.058+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP Extract a String that does not Match a given String of Text</title><content type='html'>&lt;span style="font-weight: bold;"&gt;PHP Extract a String that does not Match a given String of Text&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Use explode, to strip and remove a line of text or word that matches "Foo"&lt;br /&gt;&lt;blockquote style="color: rgb(51, 51, 255);"&gt;$string = "Test Foo Bar";&lt;br /&gt;$split = explode("Foo",$string);&lt;br /&gt;$strip0 = $split[0];&lt;br /&gt;$strip1 = $split[1];&lt;br /&gt;&lt;br /&gt;echo "$strip0"; =&gt; Test&lt;br /&gt;echo "$strip1"; =&gt; Bar&lt;br /&gt;&lt;/blockquote&gt;The [0] var gets the char previous to the match&lt;br /&gt;The [1] var gets the char after the match&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7233577335550114028?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7233577335550114028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7233577335550114028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7233577335550114028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7233577335550114028'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/11/php-extract-string-that-does-not-match.html' title='PHP Extract a String that does not Match a given String of Text'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1821534830997721739</id><published>2006-11-02T16:02:00.001+05:30</published><updated>2006-11-13T19:02:22.823+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Tracking a User Posing as You on Social Networking Sites - Orkut, Hi5 et al</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Tracking a User Posing as You on Social Networking Sites - Orkut, Hi5 et al&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;Pen and a book (papers get misplaced)&lt;br /&gt;Or&lt;br /&gt;Create a new word/notepad file&lt;br /&gt;&lt;br /&gt;This list is by no means complete. It is not a guarantee that you will find the user behind the fake or spoofed account. This is a checklist of to-dos, just so that you can go through before hitting the panic button.&lt;br /&gt;&lt;br /&gt;The first step is to note the date/time when you became aware of your fake account. So, if you know about the fake account at 9 in the morning on 1st January, make sure you enter the time in the diary as January 1st, 9AM and _not_ January 1st, 12PM or whatever else comes to your mind.&lt;br /&gt;&lt;br /&gt;This will help you backtrack a couple of days and figure out if you pissed off a friend earlier. If you _did_ create foes lately, do _not_ jump to conclusions and accuse them. What you really need is evidence.&lt;br /&gt;&lt;br /&gt;You are trying to piece together a puzzle and not accuse.&lt;br /&gt;&lt;br /&gt;- How to gather the evidence?&lt;br /&gt;&lt;br /&gt;+ Begin by checking the fake profile for patterns.&lt;br /&gt;Look for words and sentences and compare them with emails you received from friends, your ex etc. Check the alphabet case. Are certain words in upper or lowercase and can these be matched with previous emails or letters?&lt;br /&gt;&lt;br /&gt;+ Repeat the steps above and check for patterns in scraps (Orkut) and emails or letters received from the creator of the fake account.&lt;br /&gt;&lt;br /&gt;+ Note the date/time when you receive messages from the spoofed account.&lt;br /&gt;Does the person reply at a certain time? Does the time correspond with your local time zone? If you send a message at 9 in the morning does the reply come in within a few minutes or at midnight? If the message is received within a short period of time, then most likely the person is in the same time zone as you.&lt;br /&gt;&lt;br /&gt;Does the person reply on Sundays? If not, then the person is probably at work and sending the emails or messages from a work computer.&lt;br /&gt;&lt;br /&gt;+ You could begin an email conversation with the person behind the fake account and again look for patterns in the replies. Do _not_ ask questions such as, who are you? Where you from? The person has to be a real moron to tell you who (s)he really is.&lt;br /&gt;&lt;br /&gt;+ Photos&lt;br /&gt;If the fake account contains your photos, try to think. Do all your friends and family have copies of these photos? Or did you send the photos to a group of friends or a person? Is it possible that the photos were grabbed online from a public space? If so, who had access to them and when?&lt;br /&gt;&lt;br /&gt;+ Trace and log the IP Address&lt;br /&gt;Every email sent contains an IP address. The IP address can be used to trace the source Internet Service Provider. Check the email headers for the IP address from the emails received. Trace the IP and find the name of the Internet Service Provider. Pinpoint the telephone if the IP address is in the same city as you.&lt;br /&gt;&lt;br /&gt;Does the IP address point to a company? Try to think of people you may know who work there and see if someone can help you out.&lt;br /&gt;&lt;br /&gt;Remember to note the IP address along with the sent and received timestamp. An email header is like a diary, it logs detailed information as it makes its way to your Inbox. The time and date that an email was sent could be different from the time and date when you received it.&lt;br /&gt;&lt;br /&gt;+ Talk&lt;br /&gt;Bring up the conversation with your friends. Look around and listen to what they say.&lt;br /&gt;Does someone know more than you?&lt;br /&gt;Could a buddy in your group know who is behind the fake account?&lt;br /&gt;Does a person you know have a history of creating fake accounts? If so, watch him/her closely.&lt;br /&gt;Ask questions, look for clues&lt;br /&gt;&lt;br /&gt;+ Check the friend list in the fake account&lt;br /&gt;Go through the friend list and check if they were added in the same day?&lt;br /&gt;It is likely that the creator of the account will know those friends.&lt;br /&gt;List the common friends between you and those on the fake account.&lt;br /&gt;Check the messages (for patterns) that your friends received from the fake account.&lt;br /&gt;&lt;br /&gt;+ Know your Information Technology laws&lt;br /&gt;Get on a search engine (http://www.google.com) and do a search for:&lt;br /&gt;your-country-name information technology law&lt;br /&gt;(substitute your-country-name with your country)&lt;br /&gt;This will help you better understand the issues and discuss with the authorities.&lt;br /&gt;&lt;br /&gt;+ Law enforcement&lt;br /&gt;Send an email warning the person that you take up the matter with the authorities. If (s)he does not comply then file a complaint. The email should be sent with your full name and not from the fake account.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1821534830997721739?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1821534830997721739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1821534830997721739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1821534830997721739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1821534830997721739'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/11/tracking-user-posing-as-you-on-social.html' title='Tracking a User Posing as You on Social Networking Sites - Orkut, Hi5 et al'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-3483471319716017376</id><published>2006-10-16T11:19:00.000+05:30</published><updated>2006-10-16T11:36:57.316+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>FTP Upload Files Through Windows DOS Prompt</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FTP Upload Files Through Windows DOS Prompt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listing a huge list of directories and files from a server in a FTP client can be time consuming. This solution involves uploading files directly through the Windows FTP program.&lt;br /&gt;&lt;br /&gt;To upload files to the server without a FTP client, create the following two files in the d:\ftp directory:&lt;br /&gt;&lt;br /&gt;upload-ftp.bat (copy and paste the contents below)&lt;br /&gt;&lt;blockquote style="color: rgb(51, 51, 255);"&gt;d:\&lt;br /&gt;cd ftp&lt;br /&gt;ftp -s:files.txt&lt;br /&gt;&lt;/blockquote&gt;(Note: d: is the drive where these two files are located)&lt;br /&gt;&lt;br /&gt;files.txt (copy and paste the contents below)&lt;blockquote style="color: rgb(51, 51, 255);"&gt;open server-name.com&lt;br /&gt;username&lt;br /&gt;password&lt;br /&gt;bin&lt;br /&gt;prompt&lt;br /&gt;cd /var/www/remotedir&lt;br /&gt;send file1.zip&lt;br /&gt;send file2.zip&lt;br /&gt;send file3.zip&lt;br /&gt;send file4.zip&lt;br /&gt;quit&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;Double click to run the file upload-ftp.bat. The zip files to be uploaded need to be in the same directory (d:\ftp\ in this case) as the two files above.&lt;br /&gt;&lt;br /&gt;Note: Ensure that the remote directory exists before uploading the files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-3483471319716017376?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/3483471319716017376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=3483471319716017376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3483471319716017376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/3483471319716017376'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/ftp-upload-files-through-windows-dos.html' title='FTP Upload Files Through Windows DOS Prompt'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1522418336286917169</id><published>2006-10-16T10:57:00.000+05:30</published><updated>2006-10-16T11:08:11.962+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>CRON line 1: Unexpected EOF while looking for matching ``'</title><content type='html'>&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;CRON&lt;/span&gt; line 1: Unexpected &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;EOF&lt;/span&gt; while looking for matching ``'&lt;br /&gt;&lt;br /&gt;When running a &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;CRON&lt;/span&gt; job  that uses  the command:&lt;br /&gt;NOW=`date +%B_%d_%a_%Y`&lt;br /&gt;&lt;br /&gt;the script will abort execution and display the following error:&lt;br /&gt;&lt;blockquote&gt;/bin/sh: -c: line 1: unexpected &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;EOF&lt;/span&gt; while looking for matching ``'&lt;br /&gt;/bin/sh: -c: line 2: syntax error: unexpected end of file&lt;br /&gt;&lt;/blockquote&gt;To prevent this issue from occurring, dump the contents of the script into a .sh file and run the .sh from &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;CRON&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Sometimes, &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;CRON&lt;/span&gt; is set to use sh  as opposed to the bash shell that the script needs.&lt;br /&gt;&lt;br /&gt;The &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;CRON&lt;/span&gt; shell can be modified in the /etc/&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;crontab&lt;/span&gt; &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;config&lt;/span&gt; file. Requires r00t privileges. Ensure that the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;CRON&lt;/span&gt; daemon is restarted after the modifications.&lt;br /&gt;&lt;br /&gt;/&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;sbin&lt;/span&gt;/service &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;crond&lt;/span&gt; restart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1522418336286917169?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1522418336286917169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1522418336286917169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1522418336286917169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1522418336286917169'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/cron-line-1-unexpected-eof-while.html' title='CRON line 1: Unexpected EOF while looking for matching ``&apos;'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4611757839234878421</id><published>2006-10-13T13:24:00.000+05:30</published><updated>2006-11-04T20:47:33.287+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Frequently Used .htaccess Directives in Apache</title><content type='html'>Frequently Used .htaccess Directives in Apache&lt;br /&gt;&lt;br /&gt;# Force www&lt;br /&gt;RewriteEngine On&lt;br /&gt;RewriteCond %{HTTP_HOST} !^www.domain\.com$ [NC]&lt;br /&gt;RewriteRule (.*) http://www.domain.com/$1 [R=301,L]&lt;br /&gt;or&lt;br /&gt;RewriteRule ^(.*)$ http://www.domain.com/$0 [R=301,L]&lt;br /&gt;&lt;br /&gt;# Add mod-rewrite rules (if needed)&lt;br /&gt;# This checks if a file or directory exists before calling the var&lt;br /&gt;RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;&lt;br /&gt;# This sends the var to the PHP file&lt;br /&gt;RewriteRule ^([A-Za-z0-9_-]+) http://www.domain.com/foo/bar/get.php?var=$0 [PT]&lt;br /&gt;&lt;br /&gt;# Disable and turn off PHP register globals&lt;br /&gt;php_flag register_globals OFF&lt;br /&gt;&lt;br /&gt;# Enable PHP errors&lt;br /&gt;php_flag display_errors ON&lt;br /&gt;&lt;br /&gt;# Disable directory listing&lt;br /&gt;IndexIgnore *&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Override common PHP settings&lt;br /&gt;php_value post_max_size 16M&lt;br /&gt;php_value upload_max_filesize 20M&lt;br /&gt;php_value memory_limit 25M&lt;br /&gt;php_value max_execution_time 900&lt;br /&gt;php_value session.gc_maxlifetime 7200&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Hide the directory indexes&lt;br /&gt;Options All -Indexes&lt;br /&gt;&lt;br /&gt;# Show the directory indexes&lt;br /&gt;Options All +Indexes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Disable access and prevent viewing of htaccess&lt;br /&gt;&lt;files 1htaccess=""&gt;&lt;br /&gt;opentag Files .htaccess closetag&lt;br /&gt;order allow,deny&lt;br /&gt;deny from all&lt;br /&gt;opentag /Files closetag&lt;br /&gt;&lt;br /&gt;Alternatively,&lt;br /&gt;CHMOD .htaccess to 644 or RW-R--R--&lt;br /&gt;&lt;br /&gt;# Disallow or prevent hotlinking of images, photos or any other file type&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteCond %{HTTP_REFERER} !^$&lt;br /&gt;RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC]&lt;br /&gt;RewriteRule \.(gif|jpg)$ - [F]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Redirect an old path to a new one&lt;br /&gt;# Redirect an old file to a new file&lt;br /&gt;Redirect /old-dir/foo.html http://www.domain.com/foo/new.html&lt;br /&gt;&lt;br /&gt;# Redirect an old directory to a new directory&lt;br /&gt;Redirect /old-dir/ http://www.domain.com/new-dir/&lt;br /&gt;&lt;br /&gt;# Set the default index file&lt;br /&gt;DirectoryIndex index.html&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;# Set multiple files as the default if the first doesn't exist&lt;br /&gt;DirectoryIndex index1.html index2.php index3.shtml foo.htm&lt;br /&gt;&lt;br /&gt;# Block or ban offline browsers or leechers&lt;br /&gt;RewriteEngine On&lt;br /&gt;RewriteCond %{HTTP_USER_AGENT} ^wget [OR]&lt;br /&gt;RewriteCond %{HTTP_USER_AGENT} ^flashget [OR]&lt;br /&gt;RewriteCond %{HTTP_USER_AGENT} ^getright&lt;br /&gt;RewriteRule ^.* - [F,L]&lt;br /&gt;&lt;br /&gt;# Ban traffic from a single or multiple domains&lt;br /&gt;RewriteEngine on&lt;br /&gt;# Options +FollowSymlinks&lt;br /&gt;RewriteCond %{HTTP_REFERER} foo\.com [NC]&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;# Options +FollowSymlinks&lt;br /&gt;RewriteCond %{HTTP_REFERER} foo1\.com [NC,OR]&lt;br /&gt;RewriteCond %{HTTP_REFERER} foo2\.com&lt;br /&gt;RewriteRule .* - [F]&lt;/files&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4611757839234878421?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4611757839234878421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4611757839234878421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4611757839234878421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4611757839234878421'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/frequently-used-htaccess-directives-in.html' title='Frequently Used .htaccess Directives in Apache'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4645021171122056912</id><published>2006-10-09T11:49:00.000+05:30</published><updated>2006-10-09T12:07:46.072+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>preg_replace(): Error - Delimiter must not be alphanumeric or backslash</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;preg&lt;/span&gt;_replace(): Error - Delimiter must not be alphanumeric or backslash&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;preg&lt;/span&gt;_replace() will output a delimiter error if the "$pattern" does not have a / delimiter or if quotes are used when calling the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;preg&lt;/span&gt;_replace() function itself.&lt;br /&gt;&lt;br /&gt;The Error:&lt;br /&gt;&lt;br /&gt;$patterns[0] = '/PHP/4.4.4/';&lt;br /&gt;$replacements[0] = "&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;FooBar&lt;/span&gt;!";&lt;br /&gt;&lt;br /&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;preg&lt;/span&gt;_replace("$patterns",$replacements,"$string[$counter]");&lt;br /&gt;&lt;br /&gt;The above will result in the following error:&lt;br /&gt;"&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;preg&lt;/span&gt;_replace(): Parameter mismatch, pattern is a string while replacement in an array"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Corrected Version:&lt;br /&gt;&lt;br /&gt;// Delimiter is /&lt;br /&gt;// Note: the forward slash after &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;PHP&lt;/span&gt; is to be escaped with a backslash&lt;br /&gt;// The i after the / is for case-insensitive matches. This means, you can match lower case words with upper case words and vice-&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;versa&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$patterns[0] = '/PHP\/4.4.4/i';&lt;br /&gt;$replacements[0] = "&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;FooBar&lt;/span&gt;!";&lt;br /&gt;&lt;br /&gt;// Double quotes are to be removed&lt;br /&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;preg&lt;/span&gt;_replace($patterns,$replacements,"$string[$counter]");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4645021171122056912?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4645021171122056912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4645021171122056912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4645021171122056912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4645021171122056912'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/pregreplace-error-delimiter-must-not-be.html' title='preg_replace(): Error - Delimiter must not be alphanumeric or backslash'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-4189734342990481149</id><published>2006-10-08T19:45:00.000+05:30</published><updated>2006-10-08T20:08:54.798+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>CRON Fields</title><content type='html'>&lt;span style="font-weight: bold;"&gt;CRON Fields&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;    # (Use to post in the top of your crontab)&lt;br /&gt;    # ------------- minute (0 - 59)&lt;br /&gt;    # | ----------- hour (0 - 23)&lt;br /&gt;    # | | --------- day of month (1 - 31)&lt;br /&gt;    # | | | ------- month (1 - 12)&lt;br /&gt;    # | | | | ----- day of week (0 - 6) (Sunday=0)&lt;br /&gt;    # | | | | |&lt;br /&gt;    # * * * * * command to be executed&lt;br /&gt;&lt;br /&gt;        * The comma (',') operator specifies a list of values, for example: "1,3,4,7,8"&lt;br /&gt;        * The dash ('-') operator specifies a range of values, for example: "1-6", which is equivalent to "1,2,3,4,5,6"&lt;br /&gt;        * The asterisk ('*') operator specifies all possible values for a field. For example, an asterisk in the hour time field would be equivalent to 'every hour'..&lt;br /&gt;&lt;br /&gt;    Source: http://en.wikipedia.org/wiki/Crontab&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-4189734342990481149?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/4189734342990481149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=4189734342990481149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4189734342990481149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/4189734342990481149'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/cron-fields.html' title='CRON Fields'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-7956522842827499034</id><published>2006-10-08T16:10:00.000+05:30</published><updated>2007-05-25T00:17:12.039+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Delete All Email Using MUTT, Through SSH</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Delete All Email Using MUTT, Through SSH&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since I &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;login&lt;/span&gt; through SSH frequently, I use the MUTT email client to check email generated through automated scripts, logs etc. There were 40,000  emails  that needed to be deleted quickly. I've been unable to find a "select all" option.&lt;br /&gt;&lt;br /&gt;The solution involves, pressing the SHIFT and t key simultaneously. This will bring up the "tag messages matching feature". Enter the match that is common with all the emails. &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Eg&lt;/span&gt;: / and hit enter. (this will flag all the matching email with a *)&lt;br /&gt;&lt;br /&gt;shift + t&lt;br /&gt;Tag messages matching: /&lt;br /&gt;;d&lt;br /&gt;$&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;q&lt;br /&gt;yes&lt;br /&gt;&lt;br /&gt;The $ key will sync mutt - deleted emails will be purged, mailbox updated etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-7956522842827499034?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/7956522842827499034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=7956522842827499034' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7956522842827499034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/7956522842827499034'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/delete-all-email-using-mutt-through-ssh.html' title='Delete All Email Using MUTT, Through SSH'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-2053472025240169540</id><published>2006-10-08T15:59:00.000+05:30</published><updated>2007-05-25T00:13:24.907+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>Disable CRON Output From Flooding Email</title><content type='html'>Disable CRON Output From Flooding Email&lt;br /&gt;&lt;br /&gt;When a script is executed through CRON, the output can quickly flood an inbox. To disable output from specific scripts, append the following at the end of the script:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;# Disable output completely&lt;/span&gt;&lt;br /&gt;*/2 * * * * /usr/local/bin/php /test/foobar.php &gt; /dev/null 2&gt;&amp;1&lt;br /&gt;&lt;br /&gt;This script runs every two minutes.&lt;br /&gt;Standard output (1) is redirected to /dev/null&lt;br /&gt;Standard error (2) is directed to the same as standard output (1)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Redirect script output to a log file&lt;/span&gt;&lt;br /&gt;*/2 * * * * /usr/local/bin/php /test/foobar.php &gt; /localpath/log.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Redirect script output to a log file, append log&lt;/span&gt;&lt;br /&gt;*/2 * * * * /usr/local/bin/php /test/foobar.php &gt;&gt; /localpath/log.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Redirect script output and CLI error output to the same log file&lt;/span&gt;&lt;br /&gt;*/2 * * * * /usr/local/bin/php /test/foobar.php &gt; /localpath/log.txt 2&gt;&amp;1&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;/localpath/log.txt - This is standard output (1)&lt;br /&gt;The 2 in the 2&gt;&amp;1 will direct standard error (2) to standard output. In this case, log.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Redirect script output and CLI error output to a different log file&lt;/span&gt;&lt;br /&gt;*/2 * * * * /usr/local/bin/php /test/foobar.php &gt; /localpath/log.txt 2&gt;/localpath/cli-errors.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Redirect script output and CLI error output to a different log file, append log&lt;/span&gt;&lt;br /&gt;*/2 * * * * /usr/local/bin/php /test/foobar.php &gt;&gt; /localpath/log.txt 2&gt;&gt;/localpath/cli-errors.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;To test:&lt;/span&gt;&lt;br /&gt;Execute this command&lt;br /&gt;ls . IS  &gt;&gt; errors.txt 2&gt;&gt;errors.txt&lt;br /&gt;&lt;br /&gt;The second alternative is to modify the MAILTO= option and set it to "". This will however, disable all output from being sent to the email address specified in the MAILTO feature.&lt;br /&gt;&lt;br /&gt;Another option would be to redirect the output to a text file and call the text file through the browser for analysis.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;The php -q flag suppresses HTTP header output.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-2053472025240169540?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/2053472025240169540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=2053472025240169540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2053472025240169540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/2053472025240169540'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/disable-cron-output.html' title='Disable CRON Output From Flooding Email'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1804328524138159307</id><published>2006-10-07T17:54:00.000+05:30</published><updated>2006-11-04T19:33:45.588+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Find and Replace the Exact Match in a String</title><content type='html'>To find and replace the exact match in a string, use the function ereg_replace. ereg will find the exact match and not a pattern.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;// Strip the extra --&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;$string= ereg_replace("--","-",$string);&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;pre&gt;&lt;b&gt;&lt;/b&gt;// Replace \n with a br tag&lt;blockquote style="color: rgb(51, 51, 255);"&gt;$string = str_replace("\n","&lt;br /&gt;",$string);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;// Find and replace multiple needles in a haystack&lt;br /&gt;&lt;/pre&gt;&lt;blockquote style="color: rgb(51, 51, 255);"&gt;$patterns[0] = '/&gt;/';&lt;br /&gt;$patterns[1] = '/1/';&lt;br /&gt;$patterns[2] = "/2/";&lt;br /&gt;$patterns[3] = '/3/';&lt;br /&gt;$patterns[4] = '/4/';&lt;br /&gt;&lt;br /&gt;// Escape non alpha characters&lt;br /&gt;$patterns[5] = '/\"/';&lt;br /&gt;$patterns[6] = '/\+/';&lt;br /&gt;$patterns[7] = '/\'/';&lt;br /&gt;$patterns[8] = '/\./';&lt;br /&gt;$patterns[9] = '/Some Text/';&lt;br /&gt;   &lt;br /&gt;$replacements = '-';&lt;br /&gt;&lt;br /&gt;$data = preg_replace($patterns, $replacements, $data);&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1804328524138159307?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1804328524138159307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1804328524138159307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1804328524138159307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1804328524138159307'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/find-and-replace-exact-match-in-string.html' title='Find and Replace the Exact Match in a String'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-1643836916398935434</id><published>2006-10-07T12:29:00.000+05:30</published><updated>2007-01-17T00:31:23.204+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>PHP DOCUMENT_ROOT Include does not work with CRON</title><content type='html'>When including libraries or external files in PHP, the variable $_SERVER['DOCUMENT_ROOT'] will not call the external files if the script is run through CRON.&lt;br /&gt;&lt;br /&gt;This is because, usually a PHP script would be executed through a /usr/local/bin/php -q directive. Since Apache does not play a role here, the DOCUMENT_ROOT variable will not work.&lt;br /&gt;&lt;br /&gt;To ensure that the DOCUMENT_ROOT works, call the script through curl, wget or lynx. As a security measure, apps like wget are disabled on most servers. The alternative option is to get rid of the DOCUMENT_ROOT variable all together.&lt;br /&gt;&lt;br /&gt;When including files in PHP scripts, it is best to create an includes.php in the base dir of the application. All scripts in the sub-directories can call the include file through a define path.  The includes file can in turn define paths to other dependencies.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;&lt;blockquote&gt; The -q flag suppresses HTTP header output. As long as your script itself does not send anything to stdout, -q will prevent cron from sending you an email every time the script runs. For example, print and echo send to stdout. Avoid using these functions if you want to prevent cron from sending you email.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;The ../dirname directory include path does not work with cron too. The path needs to be included in full&lt;br /&gt;&lt;br /&gt;Source:&lt;br /&gt;&lt;a href="http://www.modwest.com/help/kb5-125.html"&gt;http://www.modwest.com/help/kb5-125.html&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Further Reference:&lt;br /&gt;&lt;a href="http://www.us2.php.net/features.commandline"&gt;http://www.us2.php.net/features.commandline&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-1643836916398935434?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/1643836916398935434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=1643836916398935434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1643836916398935434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/1643836916398935434'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/10/php-documentroot-include-does-not-work.html' title='PHP DOCUMENT_ROOT Include does not work with CRON'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-6196222561194489465</id><published>2006-09-30T14:24:00.000+05:30</published><updated>2006-09-30T14:51:42.481+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='notebook'/><category scheme='http://www.blogger.com/atom/ns#' term='asus'/><title type='text'>ASUS W3J and S96J/Z96J, ATI X1600 Graininess BIOS Update Patch Fix</title><content type='html'>On some notebook computers, the ATI X1600  creates a graininess issue on the screen when viewing certain shades of colors.&lt;br /&gt;&lt;br /&gt;A BIOS update has been released for a few of the ASUS notebooks. This includes the ASUS W3J and the S96J/Z96J models.&lt;br /&gt;&lt;br /&gt;These BIOS updates can be found on this &lt;a href="http://www.notebookforums.com/thread173555-8.html"&gt;thread on Notebook Forums&lt;/a&gt;. The BIOS fix has been confirmed to fix the graininess issue.&lt;br /&gt;&lt;br /&gt;Direct links to the BIOS Updates:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1toppc.com/Merchant2/images/Notebook/Asus/96J1101.ROM"&gt;S96J Beta BIOS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1toppc.com/Merchant2/images/Notebook/Asus/W3JAS_209A.zip"&gt;W3J Beta BIOS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Procedure to install the BIOS update:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt; 1: Download NERO image files&lt;br /&gt;2: Use Nero to burn the image file to the CD&lt;br /&gt;3: Insert CD and when first power on the laptop press "ESC" at Intel logo screen&lt;br /&gt;4: Select Optical drive at boot options screen&lt;br /&gt;5: At "A:\" prompt type "Update" and press "Enter".&lt;br /&gt;6: The BIOS will be updated and don't turn off or reset the computer during BIOS flash.&lt;br /&gt;7: Screen will go back to "A:\" prompt when finish&lt;br /&gt;8: Restart the computer and then hold F2 to enter BIOS, press F10 to save and exit BIOS.&lt;br /&gt;9:Boot to Windows, it'll start to find all kinds of new hardware.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-6196222561194489465?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/6196222561194489465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=6196222561194489465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6196222561194489465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/6196222561194489465'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/09/asus-w3j-and-s96jz96j-ati-x1600.html' title='ASUS W3J and S96J/Z96J, ATI X1600 Graininess BIOS Update Patch Fix'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-115371666147900532</id><published>2006-07-24T10:03:00.000+05:30</published><updated>2006-07-30T18:39:32.940+05:30</updated><title type='text'>UNESCO World Heritage Sites, Agra New Delhi India</title><content type='html'>I was on a trip to New Delhi..&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.fotopic.net/yxytwi.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://images.fotopic.net/yxytwi.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Red Fort, Agra Delhi - A UNESO World Heritage Site&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.fotopic.net/yizx8r.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://images.fotopic.net/yizx8r.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Red Fort, Agra Delhi&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.fotopic.net/yizxcy.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://images.fotopic.net/yizxcy.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Read Fort, Agra Delhi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.fotopic.net/yxyu2y.jpg"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://images.fotopic.net/yxyu2y.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Taj Mahal, Wonder of the World, Agra New Delhi India&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-115371666147900532?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/115371666147900532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=115371666147900532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/115371666147900532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/115371666147900532'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/07/unesco-world-heritage-sites-agra-new.html' title='UNESCO World Heritage Sites, Agra New Delhi India'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-115151828844120487</id><published>2006-06-28T23:22:00.000+05:30</published><updated>2006-06-28T23:41:28.463+05:30</updated><title type='text'>Google Junction, A Scam?</title><content type='html'>There seem to be no shortage of companies which create a market for people who want to generate an income from home.&lt;br /&gt;&lt;br /&gt;The usual highlights:&lt;br /&gt;&lt;br /&gt;- Generate income during spare time&lt;br /&gt;- Plenty of opportunity&lt;br /&gt;- E-commerce, internet knowledge needed&lt;br /&gt;- Data Entry, clicking links etc&lt;br /&gt;- Internet Business&lt;br /&gt;- Involves some amount of down payment&lt;br /&gt;&lt;br /&gt;Once such company is GoogleJunction&lt;br /&gt;&lt;br /&gt;What's Fishy?&lt;br /&gt;&lt;br /&gt;- The contact link contains a Pune, India address which is probably non-existent.&lt;br /&gt;- The contact submit link points to websitecomplete.com. (Fill out the form, hit submit and watch the POST URL change).&lt;br /&gt;- A WHOIS on the domain does not yield anything other than the DNS entries.&lt;br /&gt;- The domain name itself. Why would a company NOT affiliated to Google, name itself after Google?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Oh well, Google has probably begun the process to shut them down..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-115151828844120487?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/115151828844120487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=115151828844120487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/115151828844120487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/115151828844120487'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2006/06/google-junction-scam.html' title='Google Junction, A Scam?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-112853382732693348</id><published>2005-10-05T23:01:00.000+05:30</published><updated>2005-10-05T23:16:29.753+05:30</updated><title type='text'>VIA and Mini-box Announce the VoomPC</title><content type='html'>&lt;blockquote&gt;VIA and Mini-box have revealed the ultra-compact x86 VoomPC, a barebones computer system for your vehicle priced between US $299 to $399. The VoomPC integrates the Mini-box M1-ATX 12V power supply unit, this is specially designed for vehicles since it can protect itself from power surges, it can also eliminate car battery drain by monitoring car battery levels, even when the car is off.&lt;br /&gt;&lt;br /&gt;Vehicle manufacturers will be able to easily integrate a wide range of GPS navigation, communication, entertainment and information functionality into private cars or professional service vehicles such as law enforcement, rescue and commercial transport, where access to data on the road is essential.&lt;br /&gt;&lt;br /&gt;The processor powering the system is VIA’s C3 1000MHz chip, it consumes a low wattage of about 15-30 watts, this less than the dimmest parking lights found in any car. The VoomPC also features advanced audio control, with 'anti-thump' technology that keeps car amplifiers turned off while the PC starts, eliminating annoying speaker thumps and pops, while the VIA Vinyl Audio Six-TRAC audio codec enables stunning six-channel surround sound for a more authentic listening experience with greater depth.&lt;br /&gt;&lt;br /&gt;Compatible with all standard Linux or Microsoft Windows operating systems and built within Mini-box’s signature compact chassis of just 21cm x 25cm x 6.7cm, the VoomPC is equipped with rich peripheral connectivity, multimedia and telematics options afforded by the feature-packed VIA EPIA Mini-ITX mainboard, including USB2.0, Firewire, Ethernet, PCMCIA types I and II CardBus interface for GPRS/Wifi, S-Video, VGA and six-channel audio.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7450/991/1600/4775_super.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/7450/991/320/4775_super.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7450/991/1600/4775_large.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/7450/991/320/4775_large.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.mobilemag.com/content/100/313/C4775/"&gt;http://www.mobilemag.com/content/100/313/C4775/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-112853382732693348?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/112853382732693348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=112853382732693348' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112853382732693348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112853382732693348'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/10/via-and-mini-box-announce-voompc.html' title='VIA and Mini-box Announce the VoomPC'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-112343989445951474</id><published>2005-08-08T00:05:00.000+05:30</published><updated>2005-08-08T00:08:14.463+05:30</updated><title type='text'>On the road to WiFi</title><content type='html'>An interesting article on the use of WiFi along the country side. This bit in particular caught my attention..&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Driving along the road here, I used my laptop to get e-mail and download video - and you can do that while cruising at 70 miles per hour, mile after mile after mile, at a transmission speed several times as fast as a T-1 line.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;VERY Cool!!&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Usually, the police and fire agencies communicate just by radio, but Hermiston decided to go with a public-private partnership that established a Wi-Fi network. The police chief, Dan Coulombe, showed me the wireless computers that all police officers now carry. They can download data and receive images from video monitors - and, if nerve gas ever escaped, display the cloud's direction and speed.&lt;br /&gt;&lt;br /&gt;Fingerprint readers are now being added to these portable devices so a police officer can almost instantly run a person's fingerprint through a multistate database. And if there's a report of a burglary, the police rushing to the scene can download floor plans of the building, live images from video monitors and information about the alarm system.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nytimes.com/2005/08/07/opinion/07kristof.html?ex=1124078400&amp;en=ab2bd0a4499e9466&amp;ei=5070&amp;emc=eta1"&gt;Source&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-112343989445951474?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/112343989445951474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=112343989445951474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112343989445951474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112343989445951474'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/08/on-road-to-wifi.html' title='On the road to WiFi'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-112339975245203867</id><published>2005-08-07T12:50:00.000+05:30</published><updated>2005-08-07T12:59:12.456+05:30</updated><title type='text'>Windows Vista May Degrade OpenGL</title><content type='html'>The implementation of OpenGL on Windows Vista turns up an interesting debate. To summarize this issue, &lt;br /&gt;&lt;br /&gt;a] A wrapper will be used to get OpenGL to work along with Direct3d. So, performance of OpenGL apps could face a performance hit of up to 50%. &lt;br /&gt;&lt;br /&gt;b] Microsoft implemented the proprietary Direct3d and so created this situation of incompatibility between the two.&lt;br /&gt;&lt;br /&gt;c] By creating a proprietary system for gaming, vendors would find no reason to port to Open GL based platforms such as GNU/Linux..?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://slashdot.org/articles/05/08/06/177251.shtml?tid=109&amp;tid=152"&gt;The debate&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-112339975245203867?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/112339975245203867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=112339975245203867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112339975245203867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112339975245203867'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/08/windows-vista-may-degrade-opengl.html' title='Windows Vista May Degrade OpenGL'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-112299812077154195</id><published>2005-08-02T21:22:00.000+05:30</published><updated>2005-08-02T21:25:20.776+05:30</updated><title type='text'>Exploit writers team up to target Cisco routers</title><content type='html'>&lt;blockquote&gt;LAS VEGAS In a room at the Alexis Park Hotel, a nightmare scenario for Cisco has begun to unfold.&lt;br /&gt;&lt;br /&gt;It's Saturday night, a time for blowout parties at the annual DEF CON hacker convention, including the Goth-flavored Black and White Ball. But a half dozen researchers in the nondescript room quietly drink, stare at the screens of their laptops, and in low voices, discuss how to compromise two flat metal boxes sitting on a sofa side table: Cisco routers.&lt;br /&gt;&lt;br /&gt;They argue that it's the logical conclusion to Cisco's attempts to censor a presentation given by Michael Lynn, a security researcher who resigned from his company, Internet Security Systems, to present his method for compromising and running code on Cisco routers at the Black Hat Security Briefings earlier this week.&lt;br /&gt;&lt;br /&gt;The companies made good on legal threats, settling on Thursday with Lynn, who signed a permanent injunction preventing him from using the presentation or disseminating the information at either Black Hat or the following DEF CON convention.&lt;br /&gt;&lt;br /&gt;The legal tactics acted to mobilize security researchers and hackers at the shows to glean whatever information they could about the methods used by Lynn and reproduce his work.&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2005/08/02/cisco_exploits/"&gt;Source&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-112299812077154195?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/112299812077154195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=112299812077154195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112299812077154195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/112299812077154195'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/08/exploit-writers-team-up-to-target.html' title='Exploit writers team up to target Cisco routers'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111899242310798120</id><published>2005-06-17T12:18:00.000+05:30</published><updated>2005-06-17T12:50:34.066+05:30</updated><title type='text'>Bluetooth: A tooth too long?</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Cellphones&lt;/span&gt;, Smartphones, Blackberry, Windows Mobile, Palm etcetera etcetera &lt;img align='right' src="http://www.hoboguide.com/drew/blog/bluetooth.jpg"&gt; ALL want to grab a market share of a booming &lt;span style="font-style:italic;"&gt;'mobile small devices'&lt;/span&gt; category. Each vendor adopts different standards, so sharing information between them ain't no simple task.&lt;br /&gt;&lt;br /&gt;Bluetooth, which &lt;span style="font-style:italic;"&gt;sounds &lt;/span&gt;great is yet to see the light of day. A device which is Bluetooth enabled contributes to only 50% of the equation. A USB cable has to be used inorder to sync the contents with a PC. The device in turn should be compatible with a email clients like Microsoft Outlook, Evolution etc. To add to the woes, the cable is usually not bundled with the device and is sold as an accessory. From the Operating System point of view, pre Windows XP SP2, doesn't support Bluetooth well and may not work at all. Add to this the motherboard manufactures who have been extremely slow in releasing Bluetooth enabled motherboards. Laptops and Notebooks have pretty good support for WI-Fi.&lt;br /&gt;&lt;br /&gt;Open Source pundits commonly proclaim, "Open Standards are Good". But what is the point, if the standards are not &lt;span style="font-style:italic;"&gt;enforced &lt;/span&gt;in the first place. I think the only way a standard becomes mainstream is for a giant to come-a-long and implement it. In this case, Microsoft. With Windows XP SP2, and Windows Mobile 5, Microsoft's goal is to allow a seamless integration between devices. Maybe we're getting there, but slowly.&lt;br /&gt;&lt;br /&gt;Now what we need, are Bluetooth enabled printers, home theatre systems, digital cameras and a whole slew of gadgets!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bluetooth.com/products/"&gt;Products which support Bluetooth&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111899242310798120?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111899242310798120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111899242310798120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111899242310798120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111899242310798120'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/06/bluetooth-tooth-too-long.html' title='Bluetooth: A tooth too long?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111468577817664796</id><published>2005-04-28T16:08:00.000+05:30</published><updated>2005-05-04T13:15:38.796+05:30</updated><title type='text'>Google Gmail vs Microsoft and the Desktop</title><content type='html'>&lt;a href="http://www.gmail.com"&gt;Google Gmail&lt;/a&gt; is the future of email. &lt;img align=right src="https://gmail.google.com/gmail/help/images/logo.gif"&gt; Maybe just not email, but how we store information. &lt;br /&gt;&lt;br /&gt;I've been trying an experiment. Instead of saving emails and docs locally, I forward the content to my gmail account. The next step is to organise the info through labels. &lt;a href="http://gmail.google.com/support/bin/answer.py?answer=6578&amp;topic=39"&gt;Labels&lt;/a&gt; are not to be mixed with folders. A label is like a tag. Combining the search &amp; labels feature makes it very easy to find the info. Google search is a very powerful tool. Unlike navigating to a document burried deeply under some directory on my PC, a search on gmail takes just seconds!&lt;br /&gt;&lt;br /&gt;Microsoft has been adding features to Outlook that turn it into an all in one Information Manager. &lt;br /&gt;&lt;br /&gt;The shift to online webservices as in the case of Gmail make it easy to store, manage and most importantly retrieve info quickly. All Microsoft has is the Desktop. I think they realize this and are trying to further lock users to the desktop with the upcoming &lt;a href="http://msdn.microsoft.com/longhorn/"&gt;Windows Longhorn&lt;/a&gt; which is slated to be released by 2006.&lt;br /&gt;&lt;br /&gt;The advantages of web based services are plenty. In such a case the computer only acts as a medium between the user and the web. Apart from the ease of use, this could also mean huge cost savings for users. If the computer crashes, its easy to get on another PC and continue transparently. Most desktop users do not backup their critical data. A crash can result in a tremendous amount of downtime. Not to mention, the time spent in reinstalling the OS, apps and configurations.&lt;br /&gt;&lt;br /&gt;It could be only a matter of time, before we login to a google account and begin editing documents or listen to music by simply booting the computer through a GNU/Linux based bootable CD. The possibilities are endless. This would really make on-the-move technology a reality!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111468577817664796?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111468577817664796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111468577817664796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111468577817664796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111468577817664796'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/04/google-gmail-vs-microsoft-and-desktop.html' title='Google Gmail vs Microsoft and the Desktop'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111411062323976164</id><published>2005-04-22T00:37:00.000+05:30</published><updated>2005-04-22T00:40:23.240+05:30</updated><title type='text'>Outsourcing on a Cruise Ship off Los Angeles!</title><content type='html'>[quote]&lt;br /&gt;What if you could outsource to a company that offered the cost savings of an India-based outsourcing firm, but whose facilities were just a few hours away?&lt;br /&gt;&lt;br /&gt;That’s the premise of three entrepreneurs in San Diego, who are in the final throes of launching a company that will offer software development off the coast of California—three miles outside Los Angeles, to be specific.&lt;br /&gt;&lt;br /&gt;The three plan to buy a used cruise ship and station it close enough for a half-hour water taxi ride to shore, but far enough to avoid H1B jurisdiction. According to CEO David Cook, who was a tanker ship captain before going into IT ten years ago, project pricing “will be comparable to a distant-shore firm.”&lt;br /&gt;&lt;br /&gt;By stationing the ship in international waters, the company, called SeaCode, will be able to remain close to U.S. clients while picking and choosing IT talent from around the world—something that tightening H1B visa requirements have made difficult in the U.S.&lt;br /&gt;[/quote]&lt;br /&gt;&lt;br /&gt;Read full article here:&lt;br /&gt;http://www.adtmag.com/article.asp?id=10959&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111411062323976164?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111411062323976164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111411062323976164' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111411062323976164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111411062323976164'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/04/outsourcing-on-cruise-ship-off-los.html' title='Outsourcing on a Cruise Ship off Los Angeles!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111384731226016060</id><published>2005-04-18T22:23:00.000+05:30</published><updated>2005-04-18T23:31:52.260+05:30</updated><title type='text'>Business &amp; IT</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Being &lt;/span&gt;involved in the IT field, business concepts are pretty new to me. &lt;img align=right src="http://www.hoboguide.com/drew/blog/bus-it.jpg"&gt;Coupled with Info Systems, it's interesting to learn these new concepts. The business culture is all about creating and managing a Plan. The plan includes everything, from finances to responsibility to coaxing and motivating employees to be efficient and productive.&lt;br /&gt;&lt;br /&gt;I suppose without a marketing framework, even the greatest piece of software would'nt stand a chance.&lt;br /&gt;&lt;br /&gt;From an IT point of view, one gains a better understanding of the overall picture, why a product needs to be coded a certain way, the kind of users who will be using the product, idiot proofing, profits etc.&lt;br /&gt;&lt;br /&gt;Sometimes the two concepts do not meet..and just then your looking at a Kernel Panic! aaarrggg...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111384731226016060?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111384731226016060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111384731226016060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111384731226016060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111384731226016060'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/04/business-it.html' title='Business &amp; IT'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111298807887072005</id><published>2005-04-09T00:42:00.000+05:30</published><updated>2005-04-09T13:46:45.436+05:30</updated><title type='text'>Hitachi - Lets Get Perpendicular</title><content type='html'>Hitachi storage has revealed this new perpendicular storage based HDD. Instead of reading a huge list of specs, they put together a groovy SWF animation.&lt;img src="http://www.hoboguide.com/drew/blog/hitachi.gif" align="right"&gt; The characters explain the restraints on current horizontal based disk technology and go on to highlight how parallel works. This is by no means a substitute to a full length whitepaper, but a great way to understand quickly what the hype all about!&lt;br /&gt;&lt;br /&gt;Done correctly, snazzy marketing does help in removing the confusion that people generally associate with  bits and bytes. Ofcourse, a solid product with consumer demand is needed in the first place. &lt;a href="http://labs.google.com"&gt;Google&lt;/a&gt; and &lt;a href="http://www.apple.com/ipod/"&gt;Apple(ipod)&lt;/a&gt; are perfect in the field of marketing.&lt;br /&gt;&lt;a href="http://hitachigst.com/hdd/research/recording_head/pr/PerpendicularAnimation.html"&gt;&lt;br /&gt;Hitachi Technologies Lets Get Perpendicular&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111298807887072005?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111298807887072005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111298807887072005' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111298807887072005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111298807887072005'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/04/hitachi-lets-get-perpendicular.html' title='Hitachi - Lets Get Perpendicular'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111287890948554954</id><published>2005-04-07T18:15:00.000+05:30</published><updated>2005-04-07T18:35:34.450+05:30</updated><title type='text'>Search Engine Spiders &amp; Dynamic Content</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Spiders&lt;/span&gt; and dynamic content just dont like each other. A spider visits a webserver, grabs static content and is out in a jiffy. Even if they do grab some dynamic links, the search result will be buried deeply somewhere in 1 out of n results. I've been exploring the possibility of converting a dynamic link ( ok, not exactly converting, but rather masquerading) into a static one. The whole idea is to turn the content more spider friendly.&lt;br /&gt;&lt;br /&gt;Apache powered webservers have excellent features. The 'mod rewrite' rule for .htaccess is just the kind of thing which will make those dynamic links appear as static. There are a lot of tweaks which are needed in the PHP too. But, once that's covered, the spiders are friendly.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://httpd.apache.org/docs/mod/mod_rewrite.html"&gt;Apache docs on mod_rewrite&lt;/a&gt; are a good starter for this kind of an experiment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111287890948554954?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111287890948554954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111287890948554954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111287890948554954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111287890948554954'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/04/search-engine-spiders-dynamic-content.html' title='Search Engine Spiders &amp; Dynamic Content'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11964363.post-111278661318479977</id><published>2005-04-06T16:37:00.000+05:30</published><updated>2005-04-09T13:45:42.546+05:30</updated><title type='text'>Hello World!</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Today,&lt;/span&gt; I finally got down to creating a Blog account.  I've been contemplating about this for ages. This weeks &lt;a href="http://www.bbcworld.com/content/template_clickonline.asp?pageid=665&amp;amp;co_pageid=2"&gt;BBC's ClickOnline&lt;/a&gt; episode on 'Blog Life' was interesting. I guess it was pretty brief with a slightly greater emphasis on the political aspect and implications of Blogging.&lt;br /&gt;&lt;br /&gt;This is going to be an interesting hobby as keeping this Blog updated will be quite a challenge!&lt;br /&gt;&lt;code&gt;&lt;img src="http://www.hoboguide.com/drew/blog/hmm.gif" /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11964363-111278661318479977?l=dreweyscorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dreweyscorner.blogspot.com/feeds/111278661318479977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11964363&amp;postID=111278661318479977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111278661318479977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11964363/posts/default/111278661318479977'/><link rel='alternate' type='text/html' href='http://dreweyscorner.blogspot.com/2005/04/hello-world.html' title='Hello World!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/04719856177529761668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
