<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0cBQHw5fyp7ImA9WhRXGUQ.&quot;"><id>tag:blogger.com,1999:blog-19232539</id><updated>2011-12-27T18:34:11.227+05:30</updated><category term="linux" /><category term="distro" /><category term="css" /><category term="Java" /><category term="php" /><title>All in vain</title><subtitle type="html">Some rants about technology, PHP, people, tools, web etc from a developers perspective. Feel free to copy ideas, code or anything from here.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://webmechanic.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AllInVain" /><feedburner:info uri="allinvain" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;Ck4MRnkyfyp7ImA9WhRQFkw.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-4763994399461840390</id><published>2011-12-11T18:57:00.001+05:30</published><updated>2011-12-11T19:13:07.797+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-11T19:13:07.797+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>A new JAVA framework with PHP leanings</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f5lWxLym3ppQid65pdth-Ii6MJw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f5lWxLym3ppQid65pdth-Ii6MJw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f5lWxLym3ppQid65pdth-Ii6MJw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f5lWxLym3ppQid65pdth-Ii6MJw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Just came across a different kind of framework in JAVA. Usually when we talk about frameworks in JAVA they are always "full stack" with the kitchen sink thrown in for good measures. I am used to developing with PHP frameworks as they are not too complex and also i like the fact that there is no compilation involved. You just refresh the page and you can see the results. This is where PHP excels.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;But what if you want the robustness of JAVA and instant results of PHP? May i suggest &lt;a href="http://www.playframework.org/" target="_blank"&gt;Play Framework&lt;/a&gt; to you? Not only is it a breeze to get it up and running but also it follows the "shared nothing" approach of PHP which i have always liked for quick web development.&lt;br /&gt;
&lt;br /&gt;
From the &lt;a href="http://www.playframework.org/" target="_blank"&gt;Play Framework&lt;/a&gt; site:&lt;br /&gt;
&lt;blockquote&gt;
Play is a real "Share nothing" system. Ready for REST, it is easily scaled by running multiple instances of the same application on several servers.&lt;/blockquote&gt;
Also, the fact that it uses "Groovy" as the template language it makes it more appealing for me, cause XSLT is a big PITA and i never "got" JSP. I have to say the designers of this framework got it right. They took the Best of breed programming language(JAVA) and married it to the shared nothing model of the Most popular scripting language(PHP). I will take this framework for a spin soon. Only question running through my mind is, will it scale?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-4763994399461840390?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/tJEJW8Bp8Qw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/4763994399461840390/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=4763994399461840390" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4763994399461840390?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4763994399461840390?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/tJEJW8Bp8Qw/new-java-framework-with-php-leanings.html" title="A new JAVA framework with PHP leanings" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2011/12/new-java-framework-with-php-leanings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4NRno-eCp7ImA9WhRQFkw.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-1014141629213122204</id><published>2011-08-30T19:07:00.001+05:30</published><updated>2011-12-11T19:13:17.450+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-11T19:13:17.450+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>HybridAuth PHP authentication library</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W6nIVK_S6rFNKd5hPS2KRqy_wOU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W6nIVK_S6rFNKd5hPS2KRqy_wOU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W6nIVK_S6rFNKd5hPS2KRqy_wOU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W6nIVK_S6rFNKd5hPS2KRqy_wOU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Came across this new Social sign-in library which goes by the name of HybridAuth. Seems like it is a good tool when you want to let your users sign-in to your website without registering to your site.
&lt;br /&gt;
&lt;br /&gt;Will give a try sometime later. Check it out &lt;a href="http://hybridauth.sourceforge.net/"&gt;here!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-1014141629213122204?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/yU8650HocBU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/1014141629213122204/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=1014141629213122204" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1014141629213122204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1014141629213122204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/yU8650HocBU/hybridauth-php-authentication-library.html" title="HybridAuth PHP authentication library" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2011/08/hybridauth-php-authentication-library.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UHQH4-fCp7ImA9WhdXF0w.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-4549332515191470553</id><published>2011-08-30T19:00:00.003+05:30</published><updated>2011-08-30T19:03:51.054+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-30T19:03:51.054+05:30</app:edited><title>New CSS framework from Twitter</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QhgZ-iXrVjo5yuO-SueewYutXPA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QhgZ-iXrVjo5yuO-SueewYutXPA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QhgZ-iXrVjo5yuO-SueewYutXPA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QhgZ-iXrVjo5yuO-SueewYutXPA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Recently one of my friends shared this new CSS framework with me. Named Bootstrap, this is a good attempt at creating a CSS framework and also helps accelerate web development.
&lt;br /&gt;
&lt;br /&gt;Will certainly love to include in my next project. So check it out &lt;a href="http://twitter.github.com/bootstrap/#"&gt;here!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-4549332515191470553?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/fBw3gwWx_fM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/4549332515191470553/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=4549332515191470553" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4549332515191470553?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4549332515191470553?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/fBw3gwWx_fM/new-css-framework-from-twitter.html" title="New CSS framework from Twitter" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2011/08/new-css-framework-from-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcMSX0zeSp7ImA9WxJWFks.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-7753373105902407571</id><published>2009-06-22T15:11:00.003+05:30</published><updated>2009-06-22T15:18:08.381+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-22T15:18:08.381+05:30</app:edited><title>Idea for an android application</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/q1XSW89nYJ0AdYBj-I-ccpjzMtw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q1XSW89nYJ0AdYBj-I-ccpjzMtw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/q1XSW89nYJ0AdYBj-I-ccpjzMtw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q1XSW89nYJ0AdYBj-I-ccpjzMtw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Recently i had this brilliant thought, here it goes. We normally receive so many calls from unknown numbers, it could be great if we know where this call is actually from. I am wondering this can be easily done in a mobile OS like Android. Here is how i think this can be achieved.&lt;br /&gt;&lt;br /&gt;1. Create a DB of name-value pairs for all the operators in India (Some guy &lt;a href="http://mobilecodes.blogspot.com/"&gt;here&lt;/a&gt; has already done it).&lt;br /&gt;2. When a call is received intercept it and look up the first four digits. If a match is made then display the Provider name and State.&lt;br /&gt;3. Optionally, Map of India with a dot for location :)&lt;br /&gt;&lt;br /&gt;So if somebody does it before me then its good, otherwise i think i will take it up later when i get some free time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-7753373105902407571?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/s55EjAd1Mnk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/7753373105902407571/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=7753373105902407571" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7753373105902407571?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7753373105902407571?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/s55EjAd1Mnk/idea-for-android-application.html" title="Idea for an android application" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2009/06/idea-for-android-application.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMGRX47eSp7ImA9WxJWEEk.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-5381427358148257262</id><published>2009-06-15T11:40:00.001+05:30</published><updated>2009-06-15T11:43:44.001+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-15T11:43:44.001+05:30</app:edited><title>Authenticating users Against Active Directory with PHP</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E_LxlyJRlWTc3RWH85pDXhc2hqE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E_LxlyJRlWTc3RWH85pDXhc2hqE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E_LxlyJRlWTc3RWH85pDXhc2hqE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E_LxlyJRlWTc3RWH85pDXhc2hqE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;If you need to authenticate users against an Active Directory server in php you need to do this:&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;    $ldap_server = "ldap://in.xxxxxxx.com" ;//your Domain Name&lt;br /&gt;    $ldap_user   = "xyz@in.xxxxxxx.com";//AD username&lt;br /&gt;    $ldap_pass   = "***********" ;//Domain password&lt;br /&gt;&lt;br /&gt;    $ad = ldap_connect($ldap_server) ;&lt;br /&gt;    ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3) ;&lt;br /&gt;    $bound = @ldap_bind($ad, $ldap_user, $ldap_pass);&lt;br /&gt;    &lt;br /&gt;    var_dump($bound);&lt;br /&gt;?&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-5381427358148257262?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/JT3ErTRD3r8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/5381427358148257262/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=5381427358148257262" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/5381427358148257262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/5381427358148257262?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/JT3ErTRD3r8/authenticating-users-against-active.html" title="Authenticating users Against Active Directory with PHP" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2009/06/authenticating-users-against-active.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEBRXs-fSp7ImA9WxJQFk0.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-9204685096533273431</id><published>2009-05-29T17:58:00.004+05:30</published><updated>2009-05-29T18:07:34.555+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T18:07:34.555+05:30</app:edited><title>creating png images from latex</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YmQuJOEPdZ4wfUeCzFa87FG4hpY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YmQuJOEPdZ4wfUeCzFa87FG4hpY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YmQuJOEPdZ4wfUeCzFa87FG4hpY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YmQuJOEPdZ4wfUeCzFa87FG4hpY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Recently at work i had to generate images from latex equations. I used Miktex latex suite to generate the images. Here is the template i used for generating the images.&lt;br /&gt;&lt;br /&gt;== Preamble ==&lt;br /&gt;\documentclass[11pt]{article}&lt;br /&gt;\newenvironment{custommargins}[2]%&lt;br /&gt;{\addtolength{\leftskip}{#1}\addtolength{\rightskip}{#2}}{\par}&lt;br /&gt;\pagestyle{empty}&lt;br /&gt;\usepackage{amsfonts}&lt;br /&gt;\usepackage{amssymb}&lt;br /&gt;\usepackage{amsmath}&lt;br /&gt;\usepackage{graphicx}&lt;br /&gt;\usepackage{hyperref}&lt;br /&gt;\usepackage{mathptmx} % rm &amp; math&lt;br /&gt;\usepackage[scaled=1.0]{helvet} % ss&lt;br /&gt;\usepackage[papersize={5.75in},top=1pt,bottom=1pt,left=5pt,right=1pt]{geometry}&lt;br /&gt;\begin{document}&lt;br /&gt;  \begin{custommargins}{-2cm}{-2cm}&lt;br /&gt;  \begin{flushleft}&lt;br /&gt;&lt;br /&gt;== Your equation latex snippet ==&lt;br /&gt;&lt;br /&gt;== Postable ==&lt;br /&gt;  &lt;br /&gt;\end{flushleft}&lt;br /&gt;\end{custommargins}&lt;br /&gt;\newpage&lt;br /&gt;\end{document}&lt;br /&gt;&lt;br /&gt;Steps to create image&lt;br /&gt;1) Create a tex file using the above template&lt;br /&gt;2) Create a DVI file using - $LATEX_PATH --quiet --interaction=nonstopmode $temp_tex_file_name&lt;br /&gt;3) you may need to run it twice for formulas to render properly&lt;br /&gt;4) Create png image using - $DVIPS_PATH  -q  $tmp_filename.dvi  -o $tmp_filename.png&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You are done!!&lt;br /&gt;&lt;br /&gt;Dont forget to write to me if you find it useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-9204685096533273431?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/qvhgo_-a9MM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/9204685096533273431/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=9204685096533273431" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/9204685096533273431?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/9204685096533273431?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/qvhgo_-a9MM/creating-png-images-from-latex.html" title="creating png images from latex" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2009/05/creating-png-images-from-latex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IDQH4zcCp7ImA9WxJQFUQ.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-5006504354947554428</id><published>2009-05-29T17:44:00.002+05:30</published><updated>2009-05-29T17:49:31.088+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T17:49:31.088+05:30</app:edited><title>Make your HTML go on a diet!</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7zq_6R_ou0943URdZft2ynotpvc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7zq_6R_ou0943URdZft2ynotpvc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7zq_6R_ou0943URdZft2ynotpvc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7zq_6R_ou0943URdZft2ynotpvc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;In one of my &lt;a href="http://webmechanic.blogspot.com/2008/01/minify-js-and-css.html"&gt;previous posts&lt;/a&gt; i showed a technique wherein you could reduce the size of your css and javascript files. You run them through a minify engine which strips down all the spaces and comments and possibly zip it as well while serving.&lt;br /&gt;&lt;br /&gt;While it is all fine and dandy for a while but after a while you start to think even after the minify-ing process my html page size is still upwards of 300-400K! Then i think you need to do soul searching like i did. Why do we need all those javascript and CSS for anyway? cant we write css which is only 30-40 lines and still keeps my site functional and javascript which "really" helps the vistior.&lt;br /&gt;&lt;br /&gt;Post your comments and suggestions :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-5006504354947554428?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/HTVWsvDbrhU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/5006504354947554428/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=5006504354947554428" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/5006504354947554428?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/5006504354947554428?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/HTVWsvDbrhU/make-your-html-go-on-diet.html" title="Make your HTML go on a diet!" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2009/05/make-your-html-go-on-diet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUAQnozcCp7ImA9WxJQFUQ.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-4318183776439838785</id><published>2009-05-29T17:21:00.002+05:30</published><updated>2009-05-29T17:27:23.488+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T17:27:23.488+05:30</app:edited><title>Textpattern and the art of CMS design</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/w-9GhvY16mnP0hbVdBED5csIdlE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w-9GhvY16mnP0hbVdBED5csIdlE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/w-9GhvY16mnP0hbVdBED5csIdlE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w-9GhvY16mnP0hbVdBED5csIdlE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Phew a new post after such a long time. It has been a long time i have blogged. So here it goes. This post is about &lt;a href="http://textpattern.org"&gt;TextPattern&lt;/a&gt;. A PHP MySQL based CMS.&lt;br /&gt;&lt;br /&gt;I was searching for a simple, elegant and unobtrusive CMS for my personal site. I dutifully headed to &lt;a href="http://opensourcecms.com"&gt;opensourcecms.com&lt;/a&gt; for seeing the latest and greatest PHP powered CMSes but sadly none of them fitted the bill for me. I was amazed by the bloat and stupidity of those CMSes.&lt;br /&gt;&lt;br /&gt;Thats when i remembered about textpattern. I had known it existed for quite a while but never had the time to take it for a ride. Now that i have done it i am quite happy with it and it seems natural to me. I have added one WYSIWYG plugin and an admin theme. Now i am good to go. More to come later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-4318183776439838785?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/nH3vGv8SwBc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/4318183776439838785/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=4318183776439838785" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4318183776439838785?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4318183776439838785?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/nH3vGv8SwBc/textpattern-and-art-of-cms-design.html" title="Textpattern and the art of CMS design" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2009/05/textpattern-and-art-of-cms-design.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUESHgzcCp7ImA9WxRQE0s.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-7755405140318145828</id><published>2008-10-07T11:41:00.002+05:30</published><updated>2008-10-07T11:46:49.688+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-07T11:46:49.688+05:30</app:edited><title>Spaces in file path in DOS</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nX3r9cFsYz0X-XGFDR1oGPZU6w0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nX3r9cFsYz0X-XGFDR1oGPZU6w0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nX3r9cFsYz0X-XGFDR1oGPZU6w0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nX3r9cFsYz0X-XGFDR1oGPZU6w0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;At last i am able to make it work. Thanks to this &lt;a href="http://www.jroller.com/nbprofiler/entry/space_in_path_on_windows"&gt;blog post&lt;/a&gt; i am able to get some headway in the problem i was facing. Basically i was running a php script as a batch script and i was not able to make some commands work because they contained space(s) in the path. There is a switch to DIR command in DOS "/X" which tells you the short name for any directory or file name.&lt;br /&gt;&lt;br /&gt;So instead of "C:\program files\foo\bar.exe" you can use "C:\PROGRA~1\foo\bar.exe". May be it is helpful to someone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-7755405140318145828?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/SSoIvfKJiIs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/7755405140318145828/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=7755405140318145828" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7755405140318145828?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7755405140318145828?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/SSoIvfKJiIs/spaces-in-file-path-in-dos.html" title="Spaces in file path in DOS" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>4</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2008/10/spaces-in-file-path-in-dos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMAQXc4fyp7ImA9WxdaE0w.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-7230479665722800152</id><published>2008-08-21T15:22:00.001+05:30</published><updated>2008-08-21T15:24:00.937+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-21T15:24:00.937+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>I want "no training wheels" attached PHP 6</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_AOpeiBQJy1If3evLIL8JP_JjP0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_AOpeiBQJy1If3evLIL8JP_JjP0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_AOpeiBQJy1If3evLIL8JP_JjP0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_AOpeiBQJy1If3evLIL8JP_JjP0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Yeah you read that right. With some time before PHP6 comes into the fore, i want PHP6 to be a real path breaker. That means effectively no backward compatibility. PHP5 was slow in adoption just because of this reason. People knew that their applications would work on PHP5, that is why they were in no real hurry to adopt it.&lt;br /&gt;&lt;br /&gt;I want the core developers team of PHP to really do some nice things with PHP. For noobies PHP5 should be kept. But with PHP 6 i want them to break new grounds. Like APC (Alternative PHP Cache) should be part of the standard install. I want them to incorporate consistent naming schema for at least in-built functions. That means str_replace =&gt; natsort?? kind of naming schema should be made consistent.&lt;br /&gt;&lt;br /&gt;I want PHP6 to be more serious about security. It should have features which would make incidence of user oversight things of past. I want the in-built functions in PHP6 to raise exceptions. I want PHP6 to have variable types. I mean i declare a variable to be of type INT and i want PHP6 to raise an error if it is used in string context.&lt;br /&gt;&lt;br /&gt;With these changes i can see PHP6 gaining the respectability it deserves. It can move to the area called enterprise platform.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-7230479665722800152?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/Cguc6lI9tnY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/7230479665722800152/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=7230479665722800152" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7230479665722800152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7230479665722800152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/Cguc6lI9tnY/i-want-no-training-wheels-attached-php.html" title="I want &quot;no training wheels&quot; attached PHP 6" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2008/08/i-want-no-training-wheels-attached-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04HQXo5fyp7ImA9WxdaE0w.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-4395302074118302900</id><published>2008-08-21T14:51:00.005+05:30</published><updated>2008-08-21T15:15:30.427+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-21T15:15:30.427+05:30</app:edited><title>Jquery('MyLife').turnAround();</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e-XQlT4y7zJP4dA7PBF3WTvD1vg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e-XQlT4y7zJP4dA7PBF3WTvD1vg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e-XQlT4y7zJP4dA7PBF3WTvD1vg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e-XQlT4y7zJP4dA7PBF3WTvD1vg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This would summarize my development endeavors in JavaScript  Land. I have lately come to love Jquery. So much so anything i do with JavaScript i do it with Jquery. I have also started using the latest Jquery UI. The tabs in JUI is truly amazing and easy to setup. Check out this collection of most &lt;a target="_blank" href="http://www.spicyexpress.net/general/jquerry-at-it-best-downloadable-jquerry-plugins-and-widgets-for-you-2/"&gt;popular Jquery plugins&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am hoping one day we would see one widget system similar to ExtJS but using Jquery. Anyways if you are interested in Jquery, visit the &lt;a href="http://jquery.com"&gt;site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-4395302074118302900?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/GhMoKJ5_Oh8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/4395302074118302900/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=4395302074118302900" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4395302074118302900?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/4395302074118302900?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/GhMoKJ5_Oh8/jquerymylifeturnaround.html" title="Jquery('MyLife').turnAround();" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2008/08/jquerymylifeturnaround.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8CR38yeSp7ImA9WxZRGEQ.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-6976050210678516120</id><published>2008-02-13T15:52:00.002+05:30</published><updated>2008-02-13T16:04:26.191+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-13T16:04:26.191+05:30</app:edited><title>CSS framework + layout</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nFqeplhGkHPyypoOHmNit3MQd2Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nFqeplhGkHPyypoOHmNit3MQd2Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nFqeplhGkHPyypoOHmNit3MQd2Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nFqeplhGkHPyypoOHmNit3MQd2Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;You have heard about development frameworks in php,python etc. Now take a look at a css framework. &lt;a href="http://www.yaml.de/en/home.html"&gt;YAML &lt;/a&gt;is the new kid on the block. It comes with its own slick layout designer so that you can create your own custom layout in a jiffy.&lt;br /&gt;&lt;br /&gt;What i like about this css framework is that it gives you a clean slate to work with. You dont have to worry about the layout not behaving in IE etc. Kudos to its developers for creating such a nice css framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-6976050210678516120?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/I5BmtNnqtsg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/6976050210678516120/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=6976050210678516120" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6976050210678516120?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6976050210678516120?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/I5BmtNnqtsg/css-framework-layout.html" title="CSS framework + layout" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2008/02/css-framework-layout.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEERXY5eip7ImA9WxZSGEo.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-473197996357505030</id><published>2008-02-01T19:12:00.000+05:30</published><updated>2008-02-01T19:16:44.822+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-01T19:16:44.822+05:30</app:edited><title>My own google gadget</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-cvXExt-zyBTTxlHFQ6LRg74j8k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-cvXExt-zyBTTxlHFQ6LRg74j8k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-cvXExt-zyBTTxlHFQ6LRg74j8k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-cvXExt-zyBTTxlHFQ6LRg74j8k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_KvGWxJQuQH0/R6Mieuvf6YI/AAAAAAAAACg/Baxi3cimW7A/s1600-h/screenshot.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/R6Mieuvf6YI/AAAAAAAAACg/Baxi3cimW7A/s400/screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5162007509235394946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just a basic Finance gadget. Check it out now!!&lt;br /&gt;&lt;a href="http://fusion.google.com/add?source=atgs&amp;moduleurl=http%3A//squaressolutions.com/gadgets/Sbazaar/Gadget.xml"&gt;&lt;img src="http://buttons.googlesyndication.com/fusion/add.gif" border="0" alt="Add to Google"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-473197996357505030?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/RkTeRDm4x8M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/473197996357505030/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=473197996357505030" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/473197996357505030?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/473197996357505030?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/RkTeRDm4x8M/my-own-google-gadget.html" title="My own google gadget" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_KvGWxJQuQH0/R6Mieuvf6YI/AAAAAAAAACg/Baxi3cimW7A/s72-c/screenshot.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2008/02/my-own-google-gadget.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cARHoyfyp7ImA9WxZTEkU.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-7324828468860070699</id><published>2008-01-14T10:54:00.000+05:30</published><updated>2008-01-14T11:07:25.497+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-14T11:07:25.497+05:30</app:edited><title>Minify JS and CSS</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5cllQa2edHUTS0E0_Y7OiDVqWcs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5cllQa2edHUTS0E0_Y7OiDVqWcs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5cllQa2edHUTS0E0_Y7OiDVqWcs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5cllQa2edHUTS0E0_Y7OiDVqWcs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;So you just finished working on your new shiny web 2.0 application/site. It all looks very good until you open it on your friends computer to show off your baby. Its painfully slow!!. Hmm you must be wondering why its taking so much time to load.&lt;br /&gt;&lt;br /&gt;The answer may be revealed to you once you see the source of your page. Its all good and dandy that you are using the "mini" version of Javascript frameworks like prototype, jquery, YUI etc. Whats probably slowing down your page is the sheer number of JS and CSS files you are loading on your page.&lt;br /&gt;&lt;br /&gt;To mitigate the impact of so many files being loaded in your page you can use this novel idea. Look at this URL for more info.  http://code.google.com/p/minify/ &lt;a href="http://code.google.com/p/minify/"&gt;Minify&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What minif does is that it lets you load multiple JS and CSS files with one single call. It even caches the file generated so that subsequent requests don't have the overhead of "php" processing. I had some spectacular results with this approach where the sheer number of requests was taking a toll on the page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-7324828468860070699?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/CWBblnEeUbE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/7324828468860070699/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=7324828468860070699" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7324828468860070699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7324828468860070699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/CWBblnEeUbE/minify-js-and-css.html" title="Minify JS and CSS" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>1</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2008/01/minify-js-and-css.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4MRn4-fyp7ImA9WBFaGU0.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-8539738835719560521</id><published>2007-05-23T11:43:00.000+05:30</published><updated>2007-05-23T11:46:27.057+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-23T11:46:27.057+05:30</app:edited><title>New development framework for php</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/woEDYmVdSM0KdzSW_ryMhcimhlk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/woEDYmVdSM0KdzSW_ryMhcimhlk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/woEDYmVdSM0KdzSW_ryMhcimhlk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/woEDYmVdSM0KdzSW_ryMhcimhlk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;i have hosted my new dev framework for php on google. Here is the&lt;a href="http://code.google.com/p/tuxicphp/"&gt; link to that site. &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-8539738835719560521?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/WEK7bzPE45U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/8539738835719560521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=8539738835719560521" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/8539738835719560521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/8539738835719560521?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/WEK7bzPE45U/new-development-framework-for-php.html" title="New development framework for php" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>2</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2007/05/new-development-framework-for-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYESXo9fyp7ImA9WBFSFUk.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-1265367066617073622</id><published>2007-02-15T18:53:00.000+05:30</published><updated>2007-02-15T18:58:28.467+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-02-15T18:58:28.467+05:30</app:edited><title>New PHP development framework</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4MAHZJL9dx4Z-PprgREoCkC_M_Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MAHZJL9dx4Z-PprgREoCkC_M_Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4MAHZJL9dx4Z-PprgREoCkC_M_Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MAHZJL9dx4Z-PprgREoCkC_M_Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Its 2007 and i haven't posted a single entry this year. So what better way than to announce something new!. I have been working on creating my own PHP development framework. Its still in the beta but its started to look good.&lt;br /&gt;&lt;br /&gt;I have used off-the-shelf code/scripts/libraries  like PEAR to create this framework. I am sure new developers would like it. I would soon post the link to the code. I am currently looking for a site to host my code.&lt;br /&gt;&lt;br /&gt;Watch this space!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-1265367066617073622?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/WM-2lOs2Gpc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/1265367066617073622/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=1265367066617073622" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1265367066617073622?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1265367066617073622?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/WM-2lOs2Gpc/new-php-development-framework.html" title="New PHP development framework" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>1</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2007/02/new-php-development-framework.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cGQ3kycCp7ImA9WBBVEEQ.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-2720897620533339346</id><published>2006-12-14T15:56:00.000+05:30</published><updated>2006-12-14T16:47:02.798+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-14T16:47:02.798+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Guide to application development with PHP</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZtpNV1ZP6VGLbkSYLO_SZTuYyGk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZtpNV1ZP6VGLbkSYLO_SZTuYyGk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZtpNV1ZP6VGLbkSYLO_SZTuYyGk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZtpNV1ZP6VGLbkSYLO_SZTuYyGk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I know it sounds too ambitious  but couldn't help but dig it ;) . Well if you have dipped your toes in PHP and you are comfortable working with PHP this guide is for you. If you are unsatisfied with the current way of structuring your application then this guide might help you.&lt;br /&gt;&lt;br /&gt;So lets start with the folder structure. The way you structure your application is crucial. Here is what i have come up with. This structure is only suggestive, you are free to modify it to suit your taste.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_KvGWxJQuQH0/RYErm7KunvI/AAAAAAAAAAU/mEWQmPodkPU/s1600-h/application_structure.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_KvGWxJQuQH0/RYErm7KunvI/AAAAAAAAAAU/mEWQmPodkPU/s400/application_structure.jpg" alt="" id="BLOGGER_PHOTO_ID_5008332208330415858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Classes: Store all your classes and helper code here.&lt;/li&gt;&lt;li&gt;Conf: This holds your configuration files needed for your application.&lt;/li&gt;&lt;li&gt;Cron: Holds all files which needs to run as cron job.&lt;/li&gt;&lt;li&gt;Includes: Store all your function files here.&lt;/li&gt;&lt;li&gt;Js: Javascript code plus any helper code like WYSIWYG editor etc.&lt;/li&gt;&lt;li&gt;Locale: Create folders for every language you plan to support and create language files which you can call depending upon the configuration settings.&lt;/li&gt;&lt;li&gt;Pages: All the pages which perform some directly visible action are stored here. Rest can be stored in the helper sub-directory.&lt;/li&gt;&lt;li&gt;Setup: Some scripts which can generate configuration files plus some SQL files needed for your application.&lt;/li&gt;&lt;li&gt;Style: All CSS + Images, can be organised using themes folder.&lt;/li&gt;&lt;li&gt;Templates: Divided in two sections. Forms stores all the form templates and layout stores what else layout templates.&lt;/li&gt;&lt;li&gt;Tmp: Store temporary files or stuff which is not private. You can use this folder to store cached files in your site as well.&lt;/li&gt;&lt;/ul&gt;Now the root folder would contain only three files, index.php, config.php and .htaccess. The index.php file acts as a router and translates the GET url to load the particular file. For example consider this URL:&lt;br /&gt;                        http://yoursite.com/app/index.php?action=login&lt;br /&gt;&lt;br /&gt;The index page catches the "action" parameter and loads the login.php file and depending upon the current state plus extra variables performs some action.&lt;br /&gt;&lt;br /&gt;Lets get an overview of the index.php file&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;require_once( DIRNAME(__FILE__) .'/includes/app_init.php');    &lt;/blockquote&gt;This line invokes the file which does all the initiation stuff, like loading the configuration file, loading the framework, loading the default template, defining some variables etc.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_KvGWxJQuQH0/RYEoKbKunuI/AAAAAAAAAAM/1aUPKct2yjY/s1600-h/application_structure.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-2720897620533339346?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/hBTZCIsDS8o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/2720897620533339346/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=2720897620533339346" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/2720897620533339346?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/2720897620533339346?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/hBTZCIsDS8o/guide-to-application-development-with.html" title="Guide to application development with PHP" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_KvGWxJQuQH0/RYErm7KunvI/AAAAAAAAAAU/mEWQmPodkPU/s72-c/application_structure.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/12/guide-to-application-development-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMNR3Y9cSp7ImA9WBBWGUw.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-1488807923629479858</id><published>2006-12-12T15:41:00.000+05:30</published><updated>2006-12-12T15:44:56.869+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-12T15:44:56.869+05:30</app:edited><title>Sphinx mysql fulltext searching</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JJN6jsL4VySkDfiDsMTIwGqvdm0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JJN6jsL4VySkDfiDsMTIwGqvdm0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JJN6jsL4VySkDfiDsMTIwGqvdm0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JJN6jsL4VySkDfiDsMTIwGqvdm0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://webmechanic.blogspot.com/2005/11/mysql-fulltext-indexing.html"&gt;A few months back &lt;/a&gt;i posted about a novel way of indexing data in your MySQL database.  There is a small update on this as the developer has launched a &lt;a href="http://sphinxsearch.com/"&gt;dedicated site&lt;/a&gt; for that and also includes some API docs and help text. If you are frustrated with MySQL taking forever to index your data i suggest you take a look at this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-1488807923629479858?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/GA8OxIDDQuk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/1488807923629479858/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=1488807923629479858" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1488807923629479858?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1488807923629479858?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/GA8OxIDDQuk/sphinx-mysql-fulltext-searching.html" title="Sphinx mysql fulltext searching" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/12/sphinx-mysql-fulltext-searching.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UEQn47fyp7ImA9WBBQF0o.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-6852223033987613758</id><published>2006-11-17T19:09:00.000+05:30</published><updated>2006-11-17T19:16:43.007+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-17T19:16:43.007+05:30</app:edited><title>XML sucks</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RvwED1L4cxiSIdYz4N27CVpfgRg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RvwED1L4cxiSIdYz4N27CVpfgRg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RvwED1L4cxiSIdYz4N27CVpfgRg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RvwED1L4cxiSIdYz4N27CVpfgRg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Well if you are a programmer &lt;a href="http://weblog.burningbird.net/2002/10/08/the-parable-of-the-languages/"&gt;you have to read this&lt;/a&gt;. Its awesome, it brought smile to my dry lips. What can i say "&lt;span style="font-style: italic;"&gt;pure genius&lt;/span&gt;". Excerpts from the article.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div  style="text-align: justify; font-style: italic;font-family:georgia;"&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;And each language could be heard to mumble as it tromped and tromped and tromped, with complete and utter glee:&lt;/span&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Have to parse XML, eh? Have to have an XML API, eh? Have to work with SOAP and XML-RPC and RSS and RDF, eh? &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Well parse this, you little markup asshole. &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;The End.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-6852223033987613758?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/-Mxs3oOXMyQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/6852223033987613758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=6852223033987613758" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6852223033987613758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6852223033987613758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/-Mxs3oOXMyQ/xml-sucks.html" title="XML sucks" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/11/xml-sucks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUNRXk8fip7ImA9WBBQF0s.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-7666712388930675928</id><published>2006-11-17T17:13:00.000+05:30</published><updated>2006-11-17T17:21:34.776+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-17T17:21:34.776+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Creating stunning graphs in php using artichow library</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b_6OivmeKG4GMAxV2KWWlN35F5w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b_6OivmeKG4GMAxV2KWWlN35F5w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b_6OivmeKG4GMAxV2KWWlN35F5w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b_6OivmeKG4GMAxV2KWWlN35F5w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Those of you who are looking for a good library package to create visually appealing graphs or charts using GD library and wish some package was there which was GPL'ed then look no far. &lt;a href="http://www.artichow.org/"&gt;Artichow graph library&lt;/a&gt; is the perfect candidate which fits this description. While i like &lt;a href="http://www.aditus.nu/jpgraph/"&gt;Jpgraph &lt;/a&gt;but the fact that its not GPL'ed makes me crib.&lt;br /&gt;&lt;br /&gt; Since the library is in French i suggest you use Google translator to navigate the site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-7666712388930675928?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/AIhn_YQWS1g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/7666712388930675928/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=7666712388930675928" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7666712388930675928?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/7666712388930675928?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/AIhn_YQWS1g/creating-stunning-graphs-in-php-using.html" title="Creating stunning graphs in php using artichow library" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/11/creating-stunning-graphs-in-php-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUINQX4yfip7ImA9WBBQF0s.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-3746006515679577157</id><published>2006-11-17T16:47:00.000+05:30</published><updated>2006-11-17T17:09:50.096+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-17T17:09:50.096+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Using GNU Netcat to access your POP3 mail account</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tf-fTN00Hn3vu5-JUXaRSLi2l44/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tf-fTN00Hn3vu5-JUXaRSLi2l44/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tf-fTN00Hn3vu5-JUXaRSLi2l44/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tf-fTN00Hn3vu5-JUXaRSLi2l44/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Before i begin some background info. Recently for a project we needed to send lot of emails. If this mail doesn't reach its intended recipient it was supposed to bounce back to an email address set by us. Now my job was to connect to that email account and purge our list of those email addresses which are invalid.&lt;br /&gt;&lt;br /&gt;To accomplish this i used &lt;a href="http://netcat.sourceforge.net/"&gt;GNU/NetCat&lt;/a&gt;. Its a wonderful utility and i suggest you go through its documentation for its capabilities. So lets get started. Lets open up a shell:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;blockquote&gt;[root@xyzserver sandeep]# which nc&lt;br /&gt;/usr/bin/nc&lt;/blockquote&gt;this means nc or netcat binary is available&lt;br /&gt;&lt;br /&gt;Lets connect to the pop3 server then:&lt;br /&gt;&lt;blockquote&gt;[root@xyzserver sandeep]# nc -v -v mail.xxxx.com 110&lt;br /&gt;Warning: inverse host lookup failed for 206.xx8.x4.x2: Unknown host&lt;br /&gt;mail.xxxxxxx.com [206.xx8.x4.x2] 110 (pop3) open&lt;br /&gt;+OK POP3 Ready fe1.xxxxxxxxxx.com 0001c6ff&lt;br /&gt;USER ac.sandeep@xxxxxxxxxxx.com&lt;br /&gt;+OK USER xxxxx@xxxxxxxxxx.com set, mate&lt;br /&gt;PASS xxxx&lt;br /&gt;+OK Mailbox locked and ready&lt;br /&gt;LIST&lt;br /&gt;+OK scan listing follows&lt;br /&gt;1 9173&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;What we have done till now, we set netcat to verbose mode to show us as much information as possible. We are connecting on port 110 which is the standard pop3 port. To authenticate myself i sent the "USER" command with my username and for password i sent "PASS" with my password. After we are successfully authenticated i issued the "LIST" command to get a list of mail messages.&lt;br /&gt;&lt;br /&gt;To "read" a particular message you issue "RETR" command with message number. Like this:&lt;br /&gt;&lt;blockquote&gt;RETR 1&lt;br /&gt;+OK Message follows&lt;br /&gt;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;/blockquote&gt;&lt;br /&gt;To delete a message we use "DELE" command.  And finaly to disconnect we use the "QUIT" command. &lt;a href="http://www.sb.net/sbnet/pages/support/pop3.html"&gt;See this page for more information about POP3 protocol&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-3746006515679577157?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/CE2dveEoStw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/3746006515679577157/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=3746006515679577157" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/3746006515679577157?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/3746006515679577157?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/CE2dveEoStw/using-gnu-netcat-to-access-your-pop3.html" title="Using GNU Netcat to access your POP3 mail account" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/11/using-gnu-netcat-to-access-your-pop3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYAR3w-fyp7ImA9WBBQEEo.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-6271135526696815228</id><published>2006-11-09T17:20:00.000+05:30</published><updated>2006-11-09T17:22:26.257+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-09T17:22:26.257+05:30</app:edited><title>Spooky blog</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZJIjLEHkk8JaJVnR8HJrrUv0nUE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZJIjLEHkk8JaJVnR8HJrrUv0nUE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZJIjLEHkk8JaJVnR8HJrrUv0nUE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZJIjLEHkk8JaJVnR8HJrrUv0nUE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Well &lt;a href="http://vin2win.blogspot.com/index.html"&gt;this blog made an interesting read&lt;/a&gt;. I was in the process of killing some time and stumbled here looking for Orkut creator.  This girl sure has a thing for everything spooky. But it is well worth the time, i am going to bookmark it and will try to check it out from time to time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-6271135526696815228?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/5Ge3HSDVeGw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/6271135526696815228/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=6271135526696815228" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6271135526696815228?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6271135526696815228?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/5Ge3HSDVeGw/spooky-blog.html" title="Spooky blog" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>1</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/11/spooky-blog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIMSXszeyp7ImA9WBBQEEk.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-6737293769559140404</id><published>2006-11-07T22:26:00.000+05:30</published><updated>2006-11-09T10:16:28.583+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-09T10:16:28.583+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>Converting Youtube flash videos to MPEG and extracting audio</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gm21XEiCVQq5sJBcxZ_u4sl4O4k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gm21XEiCVQq5sJBcxZ_u4sl4O4k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gm21XEiCVQq5sJBcxZ_u4sl4O4k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gm21XEiCVQq5sJBcxZ_u4sl4O4k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;Recently i was asked (rather commanded ;) ) by my friend to search for her favorite song. Well this song is by &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Jennifer&lt;/span&gt; &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Paige&lt;/span&gt; ("beautiful" &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;OST&lt;/span&gt;&lt;/span&gt; Autumn in &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;New York&lt;/span&gt;&lt;/span&gt;). I searched &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;realy&lt;/span&gt;&lt;/span&gt; hard but could not find it. Then &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;Finally&lt;/span&gt; i found a video on &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Youtube&lt;/span&gt;&lt;/span&gt;. Apparently this song was used as the background score of that video. So my mission was to get the audio-track from this video.&lt;br /&gt;&lt;br /&gt;First of all you need to &lt;a href="http://javimoya.com/blog/youtube_en.php"&gt;grab the video from &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;youtube&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. Make sure you save it with .&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;FLV&lt;/span&gt;&lt;/span&gt; extension. Now you are ready to go.&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Convert this flash video to &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;mpeg&lt;/span&gt;&lt;/span&gt; format.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ffmpeg&lt;/span&gt;&lt;/span&gt; -i video.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;flv&lt;/span&gt;&lt;/span&gt; -ab &lt;span style="color: rgb(128, 0, 0);"&gt;56&lt;/span&gt; -&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;ar&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0);"&gt;22050&lt;/span&gt; -b &lt;span style="color: rgb(128, 0, 0);"&gt;500&lt;/span&gt;  -s 320x240 &lt;span style="color: rgb(0, 0, 102);"&gt; test&lt;/span&gt;.mpg (check out google for more options)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Extract Audio from this &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;MPEG&lt;/span&gt;&lt;/span&gt; video&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:78%;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;ffmpeg&lt;/span&gt;&lt;/span&gt; -i test.mpg -&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;vn&lt;/span&gt;&lt;/span&gt; test.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;wav&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;Convert this &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;WAV&lt;/span&gt;&lt;/span&gt;(&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;PCM&lt;/span&gt;&lt;/span&gt; audio) to MP3 format&lt;br /&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;toolame&lt;/span&gt;&lt;/span&gt; test.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;wav&lt;/span&gt;&lt;/span&gt; test.mp3&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:100%;"&gt;A few notes about the above command. I have &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Xubuntu&lt;/span&gt;&lt;/span&gt; and i have &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;ffmpeg&lt;/span&gt;&lt;/span&gt; and &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;toolame&lt;/span&gt;&lt;/span&gt; encoders installed. You should use appropriate package managers to install them for you. Also i &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;haven't&lt;/span&gt; had the time to play around with quality settings, i think it could have been done even better. So if you know a better process please do let me know.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-6737293769559140404?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/O57XPKmwkTA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/6737293769559140404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=6737293769559140404" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6737293769559140404?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/6737293769559140404?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/O57XPKmwkTA/converting-youtube-flash-videos-to-mpeg.html" title="Converting Youtube flash videos to MPEG and extracting audio" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/11/converting-youtube-flash-videos-to-mpeg.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04HQHo_cSp7ImA9WBBRGEw.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-1837477801801758699</id><published>2006-11-06T16:29:00.000+05:30</published><updated>2006-11-06T16:48:51.449+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-06T16:48:51.449+05:30</app:edited><title>A new type of captcha</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BNkB3Jkan-piDJ0ptDzK-WeljCc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BNkB3Jkan-piDJ0ptDzK-WeljCc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BNkB3Jkan-piDJ0ptDzK-WeljCc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BNkB3Jkan-piDJ0ptDzK-WeljCc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Those of you who came late, a &lt;a href="http://www.captcha.net/"&gt;CAPTCHA&lt;/a&gt; stands for “&lt;em&gt;&lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;ompletely &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;utomated &lt;span style="font-weight: bold;"&gt;P&lt;/span&gt;ublic &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;uring test to tell &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;omputers and &lt;span style="font-weight: bold;"&gt;H&lt;/span&gt;umans &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;part&lt;/em&gt;“ . Basicaly the system asks you to read an image and input the words exactly as written on it, before it lets you perform the desired operation. While i think no doubt it would slow down the spammers, but i have seen some people who claim to have the &lt;a href="http://sam.zoy.org/pwntcha/"&gt;ability to read a captcha&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;While going through this site i wondered is it possible to combine the idea of captcha with the human habit of reading a word partially.  For example if we want the user to enter the word "glass" we can make the captcha to read "galss". Only a human being can infer that it is indeed the english word "glass".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-1837477801801758699?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/Rtt58-ANwM4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/1837477801801758699/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=1837477801801758699" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1837477801801758699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/1837477801801758699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/Rtt58-ANwM4/new-type-of-captcha.html" title="A new type of captcha" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/11/new-type-of-captcha.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkADRX05fip7ImA9WBBRE0s.&quot;"><id>tag:blogger.com,1999:blog-19232539.post-3785006779231335369</id><published>2006-11-01T11:11:00.000+05:30</published><updated>2006-11-01T11:29:34.326+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-01T11:29:34.326+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>Tabs galore: CSS tabs for you</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LPW_Xd9FcLfUl9DW2zcQktE5pDU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LPW_Xd9FcLfUl9DW2zcQktE5pDU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LPW_Xd9FcLfUl9DW2zcQktE5pDU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LPW_Xd9FcLfUl9DW2zcQktE5pDU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Attention all you CSS lovers, get your free &lt;a href="http://exploding-boy.com/images/cssmenus/menus.html"&gt;CSS tabs here&lt;/a&gt;. This one is from exploding boy, whatever that means ;)  Well i have been facinated by css tabs myself because they make your site look much more professional than random links thrown here and there. Also if you are making some kind of an Web based application then its crucial that you create a logical navigation. Grouping similar functionality is best achieved with tabs.&lt;br /&gt;&lt;br /&gt;The tabs on the above site uses images for that polished look. Though nothing is wrong with that but i think i like the pure css tabs more with no images used. And the best example i can think of can be &lt;a href="http://www.imaputz.com/uportal/tabs/tabs-beveled.html"&gt;found here&lt;/a&gt;. I have used them on more than one occasions and find them quite good. More links to other tabs can be &lt;a href="http://www.econsultant.com/web-developer/css-menus-navigation-tabs/"&gt;found here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also one more &lt;a href="http://pmob.co.uk/"&gt;css site worth visiting is this one&lt;/a&gt;. I learned quite a lot about css from this site; thanks paul. You can learn some css techniques here and pick up some layouts too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19232539-3785006779231335369?l=webmechanic.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AllInVain/~4/5gX0M8ZIt_Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webmechanic.blogspot.com/feeds/3785006779231335369/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19232539&amp;postID=3785006779231335369" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/3785006779231335369?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19232539/posts/default/3785006779231335369?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AllInVain/~3/5gX0M8ZIt_Q/tabs-galore-css-tabs-for-you.html" title="Tabs galore: CSS tabs for you" /><author><name>code pirate</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://3.bp.blogspot.com/_KvGWxJQuQH0/TRzCiNy8X7I/AAAAAAAAAlM/wHVYo8YJHJg/s1600-R/images%253Fq%253Dtbn%253AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA" /></author><thr:total>0</thr:total><feedburner:origLink>http://webmechanic.blogspot.com/2006/10/tabs-galore-css-tabs-for-you.html</feedburner:origLink></entry></feed>

