<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19232539</id><updated>2026-02-28T02:11:13.774+05:30</updated><category term="php"/><category term="linux"/><category term="Java"/><category term="coreos"/><category term="css"/><category term="distro"/><category term="javascript"/><category term="nodejs"/><category term="systemd"/><category term="ubutnu"/><title type='text'>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='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.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'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>49</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19232539.post-2877189522918413630</id><published>2015-11-24T16:04:00.002+05:30</published><updated>2015-11-24T16:53:01.836+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="coreos"/><category scheme="http://www.blogger.com/atom/ns#" term="systemd"/><title type='text'>see the output from unit files created using template</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
if you are wondering how to see the output of multiple systemd unit files launched via template units then you have come to the right place. On CoreOS i created multiple instances of a service file using template files. Systemd Unit files are of this format:&lt;br /&gt;
&lt;br /&gt;
foo@.service&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #0c1021; color: #f8f8f8;&quot;&gt;[&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Unit&lt;/span&gt;]
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Description&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Preview&lt;/span&gt; &lt;span style=&quot;color: #d8fa3c;&quot;&gt;Application&lt;/span&gt; service

&lt;span style=&quot;color: #d8fa3c;&quot;&gt;After&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;etcd&lt;span style=&quot;color: #fbde2d;&quot;&gt;.&lt;/span&gt;service
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;After&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;docker&lt;span style=&quot;color: #fbde2d;&quot;&gt;.&lt;/span&gt;service
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;After&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;docker&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;connect&lt;span style=&quot;color: #fbde2d;&quot;&gt;.&lt;/span&gt;service

&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Requires&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;docker&lt;span style=&quot;color: #fbde2d;&quot;&gt;.&lt;/span&gt;service

[&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Service&lt;/span&gt;]
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;TimeoutStartSec&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;0&lt;/span&gt;
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;EnvironmentFile&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=/&lt;/span&gt;etc&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;environment
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;User&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;core
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;ExecStartPre&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=-/&lt;/span&gt;usr&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;docker kill hg&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;doc&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;preview&lt;span style=&quot;color: #fbde2d;&quot;&gt;-%&lt;/span&gt;i
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;ExecStartPre&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=-/&lt;/span&gt;usr&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;docker rm hg&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;doc&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;preview&lt;span style=&quot;color: #fbde2d;&quot;&gt;-%&lt;/span&gt;i
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;ExecStartPre&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=/&lt;/span&gt;usr&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;docker pull localhost&lt;span style=&quot;color: #fbde2d;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;5000&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;hg&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;doc&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;preview
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Restart&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;always
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;ExecStart&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=/&lt;/span&gt;usr&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;docker run &lt;span style=&quot;color: #aeaeae;&quot;&gt;--name hg-doc-preview-%i -m 500m \&lt;/span&gt;
    &lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;e &lt;span style=&quot;color: #d8fa3c;&quot;&gt;COREOS_PRIVATE_IPV4&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=$&lt;/span&gt;{&lt;span style=&quot;color: #d8fa3c;&quot;&gt;COREOS_PRIVATE_IPV4&lt;/span&gt;} &lt;span style=&quot;color: #fbde2d;&quot;&gt;\&lt;/span&gt;
    &lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;e &lt;span style=&quot;color: #61ce3c;&quot;&gt;&quot;HG_CACHE_BACKEND=MultilevelCache&quot;&lt;/span&gt; &lt;span style=&quot;color: #fbde2d;&quot;&gt;\&lt;/span&gt;
    &lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;e &lt;span style=&quot;color: #61ce3c;&quot;&gt;&quot;SERVICE_%i_NAME=hg-doc-preview&quot;&lt;/span&gt; &lt;span style=&quot;color: #fbde2d;&quot;&gt;\&lt;/span&gt;
    &lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;e &#39;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;SERVICE_&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;%&lt;/span&gt;i_ROUTE&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Host&lt;/span&gt;(&lt;span style=&quot;color: #61ce3c;&quot;&gt;&quot;mock-server.test-easywebats.com&quot;&lt;/span&gt;)&#39; &lt;span style=&quot;color: #fbde2d;&quot;&gt;\&lt;/span&gt;
    &lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;p &lt;span style=&quot;color: #fbde2d;&quot;&gt;$&lt;/span&gt;{&lt;span style=&quot;color: #d8fa3c;&quot;&gt;COREOS_PRIVATE_IPV4&lt;/span&gt;}&lt;span style=&quot;color: #fbde2d;&quot;&gt;:%&lt;/span&gt;i&lt;span style=&quot;color: #fbde2d;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;7090&lt;/span&gt;  &lt;span style=&quot;color: #fbde2d;&quot;&gt;\&lt;/span&gt;
    &lt;span style=&quot;color: #aeaeae;&quot;&gt;--add-host backends:${COREOS_PRIVATE_IPV4} \&lt;/span&gt;
    localhost&lt;span style=&quot;color: #fbde2d;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;5000&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;hg&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;doc&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;preview
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;ExecStop&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=/&lt;/span&gt;usr&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #fbde2d;&quot;&gt;/&lt;/span&gt;docker stop hg&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;doc&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;preview&lt;span style=&quot;color: #fbde2d;&quot;&gt;-%&lt;/span&gt;i

[&lt;span style=&quot;color: #d8fa3c;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Fleet&lt;/span&gt;]
&lt;span style=&quot;color: #d8fa3c;&quot;&gt;Conflicts&lt;/span&gt;&lt;span style=&quot;color: #fbde2d;&quot;&gt;=&lt;/span&gt;hg&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;doc&lt;span style=&quot;color: #fbde2d;&quot;&gt;-&lt;/span&gt;preview@&lt;span style=&quot;color: #fbde2d;&quot;&gt;%&lt;/span&gt;i&lt;span style=&quot;color: #fbde2d;&quot;&gt;.&lt;/span&gt;service

&lt;/pre&gt;
&lt;br /&gt;
You can then start instances of this service like so:&lt;br /&gt;
fleetctl start foo\@1234.service to launch on external port 1234. Now if you follow this there would be many unit files and you would like to watch the output of all these units.&lt;br /&gt;
&lt;br /&gt;
Just run this command to see the logs for all such units:&lt;br /&gt;
&lt;pre style=&quot;background: #0c1021; color: #f8f8f8;&quot;&gt;fleetctl list-units &lt;span style=&quot;color: #fbde2d;&quot;&gt;|&lt;/span&gt; grep foo &lt;span style=&quot;color: #fbde2d;&quot;&gt;|&lt;/span&gt; awk &lt;span style=&quot;color: #61ce3c;&quot;&gt;&#39;{ printf &quot; -u %s &quot;, $1 }&#39;&lt;/span&gt; &lt;span style=&quot;color: #fbde2d;&quot;&gt;|&lt;/span&gt; xargs journalctl -f
&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webmechanic.blogspot.com/feeds/2877189522918413630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19232539/2877189522918413630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/2877189522918413630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/2877189522918413630'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2015/11/see-output-from-unit-files-created.html' title='see the output from unit files created using template'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19232539.post-7427185769164380896</id><published>2014-10-09T17:48:00.002+05:30</published><updated>2014-10-09T17:49:43.246+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="nodejs"/><category scheme="http://www.blogger.com/atom/ns#" term="ubutnu"/><title type='text'>running grunt cli shows nothing on ubuntu 14</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If you are running ubuntu and you followed some tutorial which lists first step in the installation of nodeJS you might have run&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;sudo apt-get install node&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
and when you tried to do your basic hello world this would have failed with the console reporting missing NodejS binary. The reason being on ubuntu NodeJS is called nodejs and there is another legacy program called node. You must run the following commands to ensure GruntJS works fine:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: black; color: white;&quot;&gt;sudo apt-get --purge remove node&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: black; color: white;&quot;&gt;ln -s /usr/bin/nodejs /usr/bin/node&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: black; color: white;&quot;&gt;grunt -v&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;Now you should be able to run Grunt without any issue!&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webmechanic.blogspot.com/feeds/7427185769164380896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19232539/7427185769164380896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7427185769164380896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7427185769164380896'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2014/10/running-grunt-cli-shows-nothing-on.html' title='running grunt cli shows nothing on ubuntu 14'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19232539.post-9095273041656547187</id><published>2014-09-13T13:52:00.000+05:30</published><updated>2014-09-13T13:55:21.622+05:30</updated><title type='text'>docker fails to run on Ubuntu LTS 14?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If you try to follow the documentation on docker.com and install the latest version you might encounter this error:&lt;br /&gt;
&lt;br /&gt;
Cannot connect to the Docker daemon. Is &#39;docker -d&#39; running on this host?&lt;br /&gt;
&lt;br /&gt;
to solve this run:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;sudo apt-get install apparmor;sudo docker -d &amp;amp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webmechanic.blogspot.com/feeds/9095273041656547187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19232539/9095273041656547187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/9095273041656547187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/9095273041656547187'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2014/09/docker-fails-to-run-on-ubuntu-lts-14.html' title='docker fails to run on Ubuntu LTS 14?'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19232539.post-6487978595119895906</id><published>2012-04-13T12:17:00.003+05:30</published><updated>2012-04-13T12:18:24.856+05:30</updated><title type='text'>IE z-index bug for absolutely positioned elements</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;I hate IE. Its because of the way it interprets css standards it makes it painful for web developers. If you are facing similar issue that your absolutely positioned elements are hiding behind content below it do not despair, there is help at hand. Head to this &lt;a href=&quot;http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/&quot; target=&quot;_blank&quot;&gt;blog&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;In brief,&amp;nbsp;&lt;span style=&quot;background-color: white; font-size: 17px; line-height: 20px; text-align: -webkit-auto;&quot;&gt;giving the parent element a higher z-index actual fixes the bug.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 17px; line-height: 20px; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 17px; line-height: 20px; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmechanic.blogspot.com/feeds/6487978595119895906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19232539/6487978595119895906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/6487978595119895906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/6487978595119895906'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2012/04/ie-z-index-bug-for-absolutely.html' title='IE z-index bug for absolutely positioned elements'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19232539.post-8863641341127786585</id><published>2012-02-26T12:37:00.002+05:30</published><updated>2012-02-26T12:37:39.980+05:30</updated><title type='text'>DIY make your normal TV smart</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir8bK7wr_tTcsF93h37sMtGoGLzqBRP4jbzzLNrLBY6jHs7_uoFG9LqB3qbGaWdS7S3x4d0b51inGJ8U7S-Lv_cJc4NIp_sLScuVu8Ql85aSZjs-gvpPAkk4-t6MNNpxEp4fnITA/s200/panasonic-th-l32u20-275x275-imad2j6tbu6qt8r5.jpeg&quot; width=&quot;200&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Question: What to do if you want a &quot;Smart&quot; TV and you don&#39;t have the money it requires?&lt;br /&gt;
Answer: You take any &quot;Dumb&quot; TV that is good enough and make it smart. Continue reading below to know how.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Step 1: You need a adequate sized LCD or LED TV. Perhaps &lt;a href=&quot;http://www.flipkart.com/panasonic-32-inches-full-hd-lcd-th-l32u20-television/p/itmd29nthcz5bggd?pid=TVSD29NHY8DY6T6Z&amp;amp;_l=tT53qCgsH3ECVmA_6bNhwQ--&amp;amp;_r=tgtYYd6gqqFzKBZqBqvLyw--&amp;amp;ref=c6aeacd6-103c-4a0a-92f9-b58ea7db5bd6&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;? &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 2: Get hold of a &lt;a href=&quot;http://www.raspberrypi.org/&quot; target=&quot;_blank&quot;&gt;Raspberry Pi&lt;/a&gt;. &lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 3: Install your favorite distro (Debian squeeze??).&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 4: Install XBMC&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 5: Install &lt;a href=&quot;http://www.lirc.org/&quot; target=&quot;_blank&quot;&gt;Lirc&lt;/a&gt;.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 6: Buy compatible remote for Lirc.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 7: AC wall adapter with USB to power your Raspberry Pi.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Step 8: Profit??&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webmechanic.blogspot.com/feeds/8863641341127786585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/19232539/8863641341127786585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/8863641341127786585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/8863641341127786585'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2012/02/diy-make-your-normal-tv-smart.html' title='DIY make your normal TV smart'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir8bK7wr_tTcsF93h37sMtGoGLzqBRP4jbzzLNrLBY6jHs7_uoFG9LqB3qbGaWdS7S3x4d0b51inGJ8U7S-Lv_cJc4NIp_sLScuVu8Ql85aSZjs-gvpPAkk4-t6MNNpxEp4fnITA/s72-c/panasonic-th-l32u20-275x275-imad2j6tbu6qt8r5.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>A new JAVA framework with PHP leanings</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Just came across a different kind of framework in JAVA. Usually when we talk about frameworks in JAVA they are always &quot;full stack&quot; 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=&quot;http://www.playframework.org/&quot; target=&quot;_blank&quot;&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 &quot;shared nothing&quot; approach of PHP which i have always liked for quick web development.&lt;br /&gt;
&lt;br /&gt;
From the &lt;a href=&quot;http://www.playframework.org/&quot; target=&quot;_blank&quot;&gt;Play Framework&lt;/a&gt; site:&lt;br /&gt;
&lt;blockquote&gt;
Play is a real &quot;Share nothing&quot; 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 &quot;Groovy&quot; as the template language it makes it more appealing for me, cause XSLT is a big PITA and i never &quot;got&quot; 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;</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/fullpage/post/19232539/4763994399461840390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4763994399461840390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4763994399461840390'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2011/12/new-java-framework-with-php-leanings.html' title='A new JAVA framework with PHP leanings'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>HybridAuth PHP authentication library</title><content type='html'>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=&quot;http://hybridauth.sourceforge.net/&quot;&gt;here!&lt;/a&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/fullpage/post/19232539/1014141629213122204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/1014141629213122204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/1014141629213122204'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2011/08/hybridauth-php-authentication-library.html' title='HybridAuth PHP authentication library'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>New CSS framework from Twitter</title><content type='html'>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=&quot;http://twitter.github.com/bootstrap/#&quot;&gt;here!&lt;/a&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/fullpage/post/19232539/4549332515191470553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4549332515191470553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4549332515191470553'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2011/08/new-css-framework-from-twitter.html' title='New CSS framework from Twitter'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>Idea for an android application</title><content type='html'>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=&quot;http://mobilecodes.blogspot.com/&quot;&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.</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/fullpage/post/19232539/7753373105902407571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7753373105902407571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7753373105902407571'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2009/06/idea-for-android-application.html' title='Idea for an android application'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>Authenticating users Against Active Directory with PHP</title><content type='html'>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 = &quot;ldap://in.xxxxxxx.com&quot; ;//your Domain Name&lt;br /&gt;    $ldap_user   = &quot;xyz@in.xxxxxxx.com&quot;;//AD username&lt;br /&gt;    $ldap_pass   = &quot;***********&quot; ;//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;</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/fullpage/post/19232539/5381427358148257262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/5381427358148257262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/5381427358148257262'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2009/06/authenticating-users-against-active.html' title='Authenticating users Against Active Directory with PHP'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>creating png images from latex</title><content type='html'>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.</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/fullpage/post/19232539/9204685096533273431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/9204685096533273431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/9204685096533273431'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2009/05/creating-png-images-from-latex.html' title='creating png images from latex'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>Make your HTML go on a diet!</title><content type='html'>In one of my &lt;a href=&quot;http://webmechanic.blogspot.com/2008/01/minify-js-and-css.html&quot;&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 &quot;really&quot; helps the vistior.&lt;br /&gt;&lt;br /&gt;Post your comments and suggestions :)</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/fullpage/post/19232539/5006504354947554428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/5006504354947554428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/5006504354947554428'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2009/05/make-your-html-go-on-diet.html' title='Make your HTML go on a diet!'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>Textpattern and the art of CMS design</title><content type='html'>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=&quot;http://textpattern.org&quot;&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=&quot;http://opensourcecms.com&quot;&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.</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/fullpage/post/19232539/4318183776439838785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4318183776439838785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4318183776439838785'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2009/05/textpattern-and-art-of-cms-design.html' title='Textpattern and the art of CMS design'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>Spaces in file path in DOS</title><content type='html'>At last i am able to make it work. Thanks to this &lt;a href=&quot;http://www.jroller.com/nbprofiler/entry/space_in_path_on_windows&quot;&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 &quot;/X&quot; which tells you the short name for any directory or file name.&lt;br /&gt;&lt;br /&gt;So instead of &quot;C:\program files\foo\bar.exe&quot; you can use &quot;C:\PROGRA~1\foo\bar.exe&quot;. May be it is helpful to someone.</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/fullpage/post/19232539/7755405140318145828' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7755405140318145828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7755405140318145828'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2008/10/spaces-in-file-path-in-dos.html' title='Spaces in file path in DOS'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>5</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>I want &quot;no training wheels&quot; attached PHP 6</title><content type='html'>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.</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/fullpage/post/19232539/7230479665722800152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7230479665722800152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7230479665722800152'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2008/08/i-want-no-training-wheels-attached-php.html' title='I want &quot;no training wheels&quot; attached PHP 6'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>Jquery(&#39;MyLife&#39;).turnAround();</title><content type='html'>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=&quot;_blank&quot; href=&quot;http://www.spicyexpress.net/general/jquerry-at-it-best-downloadable-jquerry-plugins-and-widgets-for-you-2/&quot;&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=&quot;http://jquery.com&quot;&gt;site&lt;/a&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/fullpage/post/19232539/4395302074118302900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4395302074118302900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/4395302074118302900'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2008/08/jquerymylifeturnaround.html' title='Jquery(&#39;MyLife&#39;).turnAround();'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>CSS framework + layout</title><content type='html'>You have heard about development frameworks in php,python etc. Now take a look at a css framework. &lt;a href=&quot;http://www.yaml.de/en/home.html&quot;&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.</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/fullpage/post/19232539/6976050210678516120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/6976050210678516120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/6976050210678516120'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2008/02/css-framework-layout.html' title='CSS framework + layout'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>My own google gadget</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGVkURGO9owYCtujrIowzSU1Nx6NdW7A2mANfCzowgoV0aEIZoAWfXgFc0rC-HlY6lMCU5V7uHos9KrRvXne-FanzuSjmVhLbCzV88yCanQZYWcQ8YJzKJFvowJZvf7m1sr6MXeg/s1600-h/screenshot.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGVkURGO9owYCtujrIowzSU1Nx6NdW7A2mANfCzowgoV0aEIZoAWfXgFc0rC-HlY6lMCU5V7uHos9KrRvXne-FanzuSjmVhLbCzV88yCanQZYWcQ8YJzKJFvowJZvf7m1sr6MXeg/s400/screenshot.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5162007509235394946&quot; border=&quot;0&quot; /&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=&quot;http://fusion.google.com/add?source=atgs&amp;moduleurl=http%3A//squaressolutions.com/gadgets/Sbazaar/Gadget.xml&quot;&gt;&lt;img src=&quot;http://buttons.googlesyndication.com/fusion/add.gif&quot; border=&quot;0&quot; alt=&quot;Add to Google&quot;&gt;&lt;/a&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/fullpage/post/19232539/473197996357505030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/473197996357505030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/473197996357505030'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2008/02/my-own-google-gadget.html' title='My own google gadget'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGVkURGO9owYCtujrIowzSU1Nx6NdW7A2mANfCzowgoV0aEIZoAWfXgFc0rC-HlY6lMCU5V7uHos9KrRvXne-FanzuSjmVhLbCzV88yCanQZYWcQ8YJzKJFvowJZvf7m1sr6MXeg/s72-c/screenshot.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><title type='text'>Minify JS and CSS</title><content type='html'>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 &quot;mini&quot; 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=&quot;http://code.google.com/p/minify/&quot;&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&#39;t have the overhead of &quot;php&quot; processing. I had some spectacular results with this approach where the sheer number of requests was taking a toll on the page.</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/fullpage/post/19232539/7324828468860070699' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7324828468860070699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7324828468860070699'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2008/01/minify-js-and-css.html' title='Minify JS and CSS'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>1</thr:total></entry><entry><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><title type='text'>New development framework for php</title><content type='html'>i have hosted my new dev framework for php on google. Here is the&lt;a href=&quot;http://code.google.com/p/tuxicphp/&quot;&gt; link to that site. &lt;/a&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/fullpage/post/19232539/8539738835719560521' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/8539738835719560521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/8539738835719560521'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2007/05/new-development-framework-for-php.html' title='New development framework for php'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>1</thr:total></entry><entry><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><title type='text'>New PHP development framework</title><content type='html'>Its 2007 and i haven&#39;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!!</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/fullpage/post/19232539/1265367066617073622' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/1265367066617073622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/1265367066617073622'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2007/02/new-php-development-framework.html' title='New PHP development framework'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>1</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Guide to application development with PHP</title><content type='html'>I know it sounds too ambitious  but couldn&#39;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=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01S9N4oi-Hx9YwmoWElUUWOlNhyphenhyphenwYJ-PvjckrBfQqTaGeJ1Sreg8xmdDOi3ay6OsYCQgeyMoZEwMrRhJjxdMcNscRYlqj0eweraeb6KP1i1lCjxZYosC2SgCGrMzkF9zOdLGXzw/s1600-h/application_structure.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01S9N4oi-Hx9YwmoWElUUWOlNhyphenhyphenwYJ-PvjckrBfQqTaGeJ1Sreg8xmdDOi3ay6OsYCQgeyMoZEwMrRhJjxdMcNscRYlqj0eweraeb6KP1i1lCjxZYosC2SgCGrMzkF9zOdLGXzw/s400/application_structure.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5008332208330415858&quot; border=&quot;0&quot; /&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 &quot;action&quot; 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__) .&#39;/includes/app_init.php&#39;);    &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=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwZNklubvHdh3BHD6YWtkODPGUJFFvCyLdFyvnUJ3DKCoBE4Pyrva-FJHhXqp3k-WpKA42Qmf5utwNFNWhTqcKsKGnyNmh199d1gtPgM5UoM-tEfhRprtHyfTydyST55V-jcayyA/s1600-h/application_structure.jpg&quot;&gt;&lt;br /&gt;&lt;/a&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/fullpage/post/19232539/2720897620533339346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/2720897620533339346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/2720897620533339346'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2006/12/guide-to-application-development-with.html' title='Guide to application development with PHP'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi01S9N4oi-Hx9YwmoWElUUWOlNhyphenhyphenwYJ-PvjckrBfQqTaGeJ1Sreg8xmdDOi3ay6OsYCQgeyMoZEwMrRhJjxdMcNscRYlqj0eweraeb6KP1i1lCjxZYosC2SgCGrMzkF9zOdLGXzw/s72-c/application_structure.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><title type='text'>Sphinx mysql fulltext searching</title><content type='html'>&lt;a href=&quot;http://webmechanic.blogspot.com/2005/11/mysql-fulltext-indexing.html&quot;&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=&quot;http://sphinxsearch.com/&quot;&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.</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/fullpage/post/19232539/1488807923629479858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/1488807923629479858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/1488807923629479858'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2006/12/sphinx-mysql-fulltext-searching.html' title='Sphinx mysql fulltext searching'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><title type='text'>XML sucks</title><content type='html'>Well if you are a programmer &lt;a href=&quot;http://weblog.burningbird.net/2002/10/08/the-parable-of-the-languages/&quot;&gt;you have to read this&lt;/a&gt;. Its awesome, it brought smile to my dry lips. What can i say &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;pure genius&lt;/span&gt;&quot;. Excerpts from the article.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div  style=&quot;text-align: justify; font-style: italic;font-family:georgia;&quot;&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-size:85%;&quot;&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=&quot;font-size:85%;&quot;&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=&quot;font-size:85%;&quot;&gt;Well parse this, you little markup asshole. &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;The End.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&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/fullpage/post/19232539/6852223033987613758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/6852223033987613758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/6852223033987613758'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2006/11/xml-sucks.html' title='XML sucks'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Creating stunning graphs in php using artichow library</title><content type='html'>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&#39;ed then look no far. &lt;a href=&quot;http://www.artichow.org/&quot;&gt;Artichow graph library&lt;/a&gt; is the perfect candidate which fits this description. While i like &lt;a href=&quot;http://www.aditus.nu/jpgraph/&quot;&gt;Jpgraph &lt;/a&gt;but the fact that its not GPL&#39;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.</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/fullpage/post/19232539/7666712388930675928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7666712388930675928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19232539/posts/default/7666712388930675928'/><link rel='alternate' type='text/html' href='http://webmechanic.blogspot.com/2006/11/creating-stunning-graphs-in-php-using.html' title='Creating stunning graphs in php using artichow library'/><author><name>code pirate</name><uri>http://www.blogger.com/profile/15044220368447366489</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9A6FO5i2ilFxKl6hj0_RBYyPqcVVRVsarVUl46iEG7JUU3BoA76P_FsgmJuEhSDN6I4Gzv5bkBw7BoWxuyW_OLLoPP3_3XDdiOyGNcmI_IPhOAe_qHekCrB-KtCz-do/s113-r/images%3Fq%3Dtbn%3AANd9GcQWLanHJg0SiCkjsI8lhqVU7bTX0BtyG8T4Ed1mK-vv1RCnIPIvsA'/></author><thr:total>0</thr:total></entry></feed>