<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28136624</id><updated>2011-11-28T07:18:18.607+08:00</updated><category term='Islam'/><category term='Development'/><category term='Firefox'/><category term='Avahi'/><category term='python'/><category term='php'/><category term='Linux'/><category term='Mac'/><category term='Netatalk'/><category term='Fiqh'/><category term='Ubuntu'/><category term='code'/><category term='Security'/><category term='ScribeFire'/><category term='Facebook'/><category term='Programming'/><category term='Web'/><title type='text'>Prototype</title><subtitle type='html'>My little adventure into the unknown!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>52</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28136624.post-4369437983337646030</id><published>2009-11-10T13:52:00.003+08:00</published><updated>2010-01-17T14:28:47.106+08:00</updated><title type='text'>Blogging again</title><content type='html'>It's been a while. I guess I need to start blogging again. Right now I'm looking for a way to nicely format source code - publishing source code had been frustrating with Blogger. There's one which look promising called &lt;a href="http://alexgorbatchev.com/wiki/" target="_blank"&gt;SyntaxHighlighter&lt;/a&gt;. I'll try to figure out how to incorporate this into Blogger.&lt;br /&gt;&lt;br /&gt;Updated: changed the link to the new home of SyntaxHighlighter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-4369437983337646030?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/4369437983337646030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=4369437983337646030' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/4369437983337646030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/4369437983337646030'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2009/11/blogging-again.html' title='Blogging again'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-545163146394614920</id><published>2009-02-12T21:20:00.001+08:00</published><updated>2009-02-12T21:20:54.249+08:00</updated><title type='text'>Connected to the Net again!</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Yahoo! I'm able to connect to the Net again after 2 months being cut-off it :)&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=c62c12cb-db00-44ff-bd39-dbe3acc16c4d' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-545163146394614920?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/545163146394614920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=545163146394614920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/545163146394614920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/545163146394614920'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2009/02/connected-to-net-again.html' title='Connected to the Net again!'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-5356748449544169741</id><published>2008-12-08T23:07:00.001+08:00</published><updated>2008-12-08T23:08:33.470+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Python 3.0</title><content type='html'>Python 3.0 was released 5 days ago. I guess it's time to attempt to port some of the Python 2.x scripts to the new 3.0 style.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-5356748449544169741?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/5356748449544169741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=5356748449544169741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5356748449544169741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5356748449544169741'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/12/python-30.html' title='Python 3.0'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-4849691052141221420</id><published>2008-06-18T20:49:00.001+08:00</published><updated>2008-06-18T20:49:58.028+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 3</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I've installed FF3 on one machine. I have 2 to go. Hip hip horray!&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-4849691052141221420?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/4849691052141221420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=4849691052141221420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/4849691052141221420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/4849691052141221420'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/06/firefox-3.html' title='Firefox 3'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-8665246870049471820</id><published>2008-06-11T10:10:00.002+08:00</published><updated>2008-06-11T10:14:32.316+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>del.icio.us with Firefox 3</title><content type='html'>After a long wait, finally the "native" add-on for del.icio.us service on Firefox 3 is avaibale.&lt;br /&gt;&lt;br /&gt;Hip hip hurray!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-8665246870049471820?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/8665246870049471820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=8665246870049471820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/8665246870049471820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/8665246870049471820'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/06/delicious-with-firefox-3.html' title='del.icio.us with Firefox 3'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-1972500238710786322</id><published>2008-05-29T23:39:00.001+08:00</published><updated>2008-05-29T23:40:25.571+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>D-Link DWA-110 Wireless G USB Adapter: A Nightmare with Ubuntu</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Yes, I bought the &lt;a target='_blank' href='http://www.dlink.com.my/products/dlhome.asp?sec=0&amp;amp;amp;pid=605'&gt;D-Link DWA-110 Wireless G USB Adapte&lt;/a&gt;&lt;a href='http://www.dlink.com.my/products/dlhome.asp?sec=0&amp;amp;amp;pid=605' target='_blank'&gt;r&lt;/a&gt; and with it I got myself a nightmare - free of charge - when I attempted to get it working with a freshly installed Ubuntu Hardy.&lt;br/&gt;&lt;br/&gt;First of all, the driver rt73usb that comes with Ubuntu 8.04 did not work out of the box. A quick browse at the manufacturer site lead me to a driver meant for Linux. Naturally this option would be the preferred one. After all the driver is coming from the maker of the device. Boy, I was totally wrong. Compilation went okay, but I couldn't configure the adapter.&lt;br/&gt;&lt;br/&gt;Frustrated, I search for anoother option and I found one - ndiswrapper using the MS Windows driver. It didn't sound like a good solution to me (and it is still not a good one now!). Why would I want to use MS Windows driver? I'm running Linux, for goodness sake! I tried anyway, and as I expected it didn't work.&lt;br/&gt;&lt;br/&gt;Another round of researching lead me to a GPL'd driver which in multiple instance reported to work with the exact USB adapter that I have. As a bonus, there's even a &lt;a target='_blank' href='http://ubuntuforums.org/showthread.php?t=400236'&gt;guide&lt;/a&gt; to the driver running on Ubuntu. Finally, using the open source driver and manual, I managed to get my USB network adapter working. Kudos to all involved with the GPL'd driver and those who contribute to the manual.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-1972500238710786322?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/1972500238710786322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=1972500238710786322' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/1972500238710786322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/1972500238710786322'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/05/d-link-dwa-110-wireless-g-usb-adapter.html' title='D-Link DWA-110 Wireless G USB Adapter: A Nightmare with Ubuntu'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-5877175205826774264</id><published>2008-05-21T12:13:00.003+08:00</published><updated>2008-05-21T12:19:23.329+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>wxPython ain't working in Ubuntu Hardy?!!</title><content type='html'>After upgrading from Gutsy to Hardy, I found out that my wxPython didn't work anymore. A quick check revealed that wx.pth was missing. The fix is just re-create the file and add &lt;span style="font-weight: bold; font-style: italic;"&gt;wx-2.8-gtk2-unicode&lt;/span&gt; into it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-5877175205826774264?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/5877175205826774264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=5877175205826774264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5877175205826774264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5877175205826774264'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/05/wxpython-aint-working-in-ubuntu-hardy.html' title='wxPython ain&apos;t working in Ubuntu Hardy?!!'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-849671106685173713</id><published>2008-05-20T11:52:00.002+08:00</published><updated>2008-05-20T11:59:19.448+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu Linux, OpenSSH security update and /dev/null</title><content type='html'>After doing my security update for OpenSSH on my Ubuntu, I found out my /dev/null turned to be an ordinary ASCII file. If you encounter the same problem the fix is simple, just re-create /dev/null to because a character device again.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo rm /dev/null&lt;br /&gt;$ sudo mknod /dev/null c 1 3&lt;br /&gt;$ sudo chmod 0600 /dev/null&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-849671106685173713?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/849671106685173713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=849671106685173713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/849671106685173713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/849671106685173713'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/05/ubuntu-linux-openssh-security-update.html' title='Ubuntu Linux, OpenSSH security update and /dev/null'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-835403722966843703</id><published>2008-05-13T22:18:00.001+08:00</published><updated>2008-05-13T22:31:40.073+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScribeFire'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>First Attempt to Blog with ScribeFire</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;This is my first attempt to blog with &lt;a href='http://www.scribefire.com/' target='_blank'&gt;ScribeFire,&lt;/a&gt; a Firefox add-on which helps to post blog.&lt;br/&gt;&lt;br/&gt;The extension is pretty impressive. The UI is very intuitive, simple and easy to use, even for newbie.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-835403722966843703?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/835403722966843703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=835403722966843703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/835403722966843703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/835403722966843703'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/05/first-attempt-to-blog-with-scribefire_13.html' title='First Attempt to Blog with ScribeFire'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-6252441689292343164</id><published>2008-02-04T11:29:00.000+08:00</published><updated>2008-02-04T11:31:30.967+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Islam'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiqh'/><title type='text'>Permasalahan Maslahat</title><content type='html'>Imam Abu Ishak As-Syatibi (790 H), pakar ilmu maqasid Islam silam meletakkan panduan dan syarat berikut jika ingin mendakwa sesuatu itu sebagai maslahat:-&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Mestilah tidak hanya memandang maslahat duniawi sahaja, bahkan mesti meneliti maslahat ukhrawi juga. &lt;/li&gt;&lt;li&gt;Maslahat hanya diterima pakai dalam hal kebaikan untuk Deenul Islam. &lt;/li&gt;&lt;li&gt;Maslahat untuk menjaga hak ramai didahulukan dari menjaga hak sekelompok. &lt;/li&gt;&lt;li&gt;Maslahat mestilah bersandarkan dalil-dalil yang jelas. &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-6252441689292343164?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/6252441689292343164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=6252441689292343164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/6252441689292343164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/6252441689292343164'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/02/permasalahan-maslahat.html' title='Permasalahan Maslahat'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-2672207700058499941</id><published>2008-01-08T21:04:00.000+08:00</published><updated>2008-01-08T22:23:22.959+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Python: Gregorian date to Hijri date conversion and vice versa</title><content type='html'>Ported from Javascript. Credit goes to the original author of the Javascript (the script is quite widespread but I've never seen those using the script write the proper credit). Below is the code:&lt;br /&gt;&lt;pre&gt;&lt;span style=";font-family:Lucida,Courier New;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 128, 0); font-family: verdana;font-size:130%;" &gt;#!/usr/bin/env python&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;import&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;math&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;def&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;floatNum&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    if&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;floatNum&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;0.0000001&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;return&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;math&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;ceil&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;floatNum&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;0.0000001&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    return&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;math&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;floor&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;floatNum&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;0.0000001&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;def&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;Gregorian2Hijri&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;day&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    if&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1582&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;or&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;==&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1582&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;and&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;10&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;or&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; \&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;==&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1582&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;and&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;==&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;10&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;and&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;day&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;14&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1461&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4800&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;\&lt;br /&gt;                          intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;14&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;367&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; \&lt;br /&gt;                         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;14&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd3&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;3&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4900&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; \&lt;br /&gt;                          &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;14&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;100&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd3&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;day&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;32075&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;7&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;5001&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;\&lt;br /&gt;                          intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;9&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;7.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;275&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;9.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;367&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;day&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1729777&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1948440&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;10632&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;10631.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;10631&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;354&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    j1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;10985&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;5316.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;50&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;17719.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    j2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;5670.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;43&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;15238.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt; j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    l1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;30&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;15.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;17719&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;50.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    l2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;16.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;15238&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;43.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;29&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    m&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;24&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;709.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    d&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;709&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;m&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;24.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    y&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;30&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;30&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    return&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;y&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;m&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;d&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;def&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;Hijri2Gregorian&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;day&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;    jd1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;11&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;30.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd1&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;354&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;yr&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;30&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;mth&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;day&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1948440&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;385&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    if&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2299160&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;68569&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;146097.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;146097&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4000&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1461001.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1461&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;31&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;80&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2447.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;d&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2447&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;80.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;11.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;m&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;y&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;100&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;49&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;:&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;jd&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1402&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;k&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1461.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1461&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;k&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;365.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;1461.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;l&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;365&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;30&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;80&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2447.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;d&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2447&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;80.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;intPart&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;/&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;11.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;m&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;j&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;2&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;12&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;y&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;=&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;*&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;k&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;n&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;+&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;i&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;-&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 192); font-family: verdana;font-size:130%;" &gt;4716&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0); font-family: verdana;font-size:130%;" &gt;    return&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;y&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;m&lt;/span&gt;&lt;span style="color: rgb(0, 0, 192); font-family: verdana;font-size:130%;" &gt;,&lt;/span&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: verdana;font-size:130%;" &gt;d&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Usage:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;# Convert from Gregorian to Hijri&lt;br /&gt;print Gregorian2Hijri(1972, 12, 9)&lt;br /&gt;print Gregorian2Hijri(2008, 1, 8)&lt;br /&gt;&lt;br /&gt;# Convert from Hijri to Gregorian&lt;br /&gt;print Hijri2Gregorian(1392, 11, 3)&lt;br /&gt;print Hijri2Gregorian(1428, 12, 29)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-2672207700058499941?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/2672207700058499941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=2672207700058499941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/2672207700058499941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/2672207700058499941'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2008/01/python-gregorian-date-to-hijri-date.html' title='Python: Gregorian date to Hijri date conversion and vice versa'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-2612886405926155000</id><published>2007-12-31T22:07:00.000+08:00</published><updated>2007-12-31T22:12:29.937+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><title type='text'>Facebook Profile Badge</title><content type='html'>I have set up my Facebook Profile Badge.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/people/EA_Faisal/640964590" title="EA Faisal's Facebook profile" target="_TOP"&gt;&lt;img src="http://badge.facebook.com/badge/640964590.171.1068629881.png" alt="EA Faisal's Facebook profile" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-2612886405926155000?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/2612886405926155000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=2612886405926155000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/2612886405926155000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/2612886405926155000'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/12/facebook-profile-badge.html' title='Facebook Profile Badge'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-7871265185324610576</id><published>2007-12-24T13:44:00.000+08:00</published><updated>2007-12-24T13:52:07.528+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><title type='text'>My blog feed is now viewable from Facebook</title><content type='html'>I've set my blog feed in &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;. Now people (that translate to those tagged as friends in Facebook), can easily view my blog feed from the &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; interface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-7871265185324610576?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/7871265185324610576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=7871265185324610576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/7871265185324610576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/7871265185324610576'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/12/my-blog-feed-is-now-viewable-from.html' title='My blog feed is now viewable from Facebook'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-6050471260965889852</id><published>2007-12-19T11:24:00.000+08:00</published><updated>2008-01-09T14:59:10.052+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP: built-in  function round() on 32-bit and 64-bit machines</title><content type='html'>&lt;div style="text-align: justify;"&gt;My customer was complaining about a weird rounding problem recently. I do my development work primarily on a 32-bit machine, but the production server is a 64-bit machine. When I tested to run round(), a PHP built-in function, 32-bit machine and  64-bit machine produced different results. So here is my quick fix to properly round a floating number.&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;" &gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;define&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'ROUND_HALF_DOWN'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;define&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'ROUND_HALF_EVEN'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;define&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'ROUND_HALF_UP'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;br /&gt;* Round floating point number because the built-in round() function produces&lt;br /&gt;* different results on 32-bit and 64-bit machines&lt;br /&gt;*&lt;br /&gt;* @param float   $value       Floating poing value&lt;br /&gt;* @param integer $prec        Precision&lt;br /&gt;* @param integer $rounding    Rounding option&lt;br /&gt;*/&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;function &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;myround&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$value&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$rounding&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) {&lt;br /&gt; list(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$b&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;explode&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'.'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, (string) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$value&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$b &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= (int) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$b&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt; if ((&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;- &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;strlen&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)) &amp;gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) {&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;*= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pow&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;10&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;- &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;strlen&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)));&lt;br /&gt; }&lt;br /&gt; if (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;strlen&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) &amp;gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) {&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f1 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= (int) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;substr&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f2 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= (int) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;substr&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f3 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= (int) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;substr&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;     if (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$rounding &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=== &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ROUND_HALF_DOWN &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;||&lt;br /&gt;         (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$rounding &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=== &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ROUND_HALF_EVEN &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&amp;amp;&amp;amp; ((&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f3 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&amp;amp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) === &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;))) {&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f2 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&amp;gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;6&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) ? &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f1 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;+ &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;: &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     } elseif (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$rounding &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=== &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ROUND_HALF_UP &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;||&lt;br /&gt;               (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$rounding &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=== &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ROUND_HALF_EVEN &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&amp;amp;&amp;amp; ((&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f3 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&amp;amp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) === &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;))) {&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f2 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;&amp;gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;) ? &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f1 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;+ &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;1 &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;: &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f1&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     }&lt;br /&gt;     if (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=== &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;pow&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;10&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prec&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)) {&lt;br /&gt;         ++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$b&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;sprintf&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"%0{$prec}d"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt; return (float) ((string) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$b &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'.' &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. (string) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$f&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Then some quick tests:&lt;br /&gt;&lt;code&gt;&lt;span style="font-size:130%;"&gt;&amp;lt;?php&lt;br /&gt;echo "1.35: " . myround(1.35, 2, ROUND_HALF_UP) . "\n";&lt;br /&gt;echo "1.425: " . myround(1.90*0.75, 2, ROUND_HALF_UP) . "\n";&lt;br /&gt;echo "1.425: " . myround(1.90*0.75, 3, ROUND_HALF_UP) . "\n";&lt;br /&gt;echo "1.425: " . myround(1.90*0.75, 2, ROUND_HALF_EVEN) . "\n";&lt;br /&gt;echo "1.995: " . myround(1.995, 2, ROUND_HALF_UP) . "\n";&lt;br /&gt;echo "1.995: " . myround(1.995, 2, ROUND_HALF_EVEN) . "\n";&lt;br /&gt;echo "1.995: " . myround(1.995, 2, ROUND_HALF_DOWN) . "\n";&lt;br /&gt;echo "1.015: " . myround(1.015, 2, ROUND_HALF_UP) . "\n";&lt;br /&gt;echo "1.015: " . myround(1.015, 2, ROUND_HALF_EVEN) . "\n";&lt;br /&gt;echo "1.000: " . myround(1.00, 2, ROUND_HALF_UP) . "\n";&lt;br /&gt;echo "4.20: " . myround(4.20, 2, ROUND_HALF_UP) . "\n";&lt;br /&gt;?&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-6050471260965889852?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/6050471260965889852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=6050471260965889852' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/6050471260965889852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/6050471260965889852'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/12/php-built-in-function-round-on-32-bit.html' title='PHP: built-in  function round() on 32-bit and 64-bit machines'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-7294742677795871059</id><published>2007-04-18T09:48:00.000+08:00</published><updated>2007-04-18T09:58:31.372+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Avahi'/><category scheme='http://www.blogger.com/atom/ns#' term='Netatalk'/><title type='text'>Linux and Mac OS X are now playing nicely</title><content type='html'>After spending 2 hours of building and configuring &lt;a href="http://netatalk.sourceforge.net/" target="_blank"&gt;Netatalk&lt;/a&gt; and &lt;a href="http://avahi.org/" target="_blank"&gt;Avahi&lt;/a&gt; on my Linux box, my wife's MacBook finally managed to browse the files on the Linux machine. All thanks to the guide on sharing directory using AFP at &lt;a href="http://gentoo-wiki.com/HOWTO_Share_Directories_via_AFP" target="_blank"&gt;Gentoo-Wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-7294742677795871059?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/7294742677795871059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=7294742677795871059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/7294742677795871059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/7294742677795871059'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/04/linux-and-mac-os-x-are-now-playing.html' title='Linux and Mac OS X are now playing nicely'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-631586080409543968</id><published>2007-04-17T15:56:00.000+08:00</published><updated>2007-04-18T09:59:02.965+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Netatalk'/><title type='text'>Making Linux and Mac OS X becomes good buddies</title><content type='html'>Last Friday I helped my wife to get her a &lt;a href="http://www.apple.com/macbook/macbook.html" target="_blank"&gt;MacBook&lt;/a&gt;. All the basic setup such as basic networking went pretty well. The hardware performed quite impressively - the only potential problem I foresee to pose a problem would be the heat.&lt;br /&gt;&lt;br /&gt;Next would be attempting file sharing with Linux since my wife used and stored my Linux machine before MacBook came. I saw a potential product call &lt;a href="http://netatalk.sourceforge.net/" target="_blank"&gt;Netatalk&lt;/a&gt; which look like a good candidate to do just that. May be later tonight or tomorrow night I'll attempt to build Netatalk and play around with it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-631586080409543968?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/631586080409543968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=631586080409543968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/631586080409543968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/631586080409543968'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/04/making-linux-and-mac-os-x-becoming-good.html' title='Making Linux and Mac OS X becomes good buddies'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-9064804459024580323</id><published>2007-04-09T14:53:00.000+08:00</published><updated>2007-04-09T15:23:22.310+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Islam'/><title type='text'>Smoking - An Islamic Perspective</title><content type='html'>I tuned to &lt;a href="http://www.ikim.gov.my/" target="_blank"&gt;Radio &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;IKIM&lt;/span&gt;.FM&lt;/a&gt; while driving this morning and the DJ was already half way discussing about smoking. It was an interesting discussion with a number of callers making their comments.&lt;br /&gt;&lt;br /&gt;So when I reach my office, I immediately look for the &lt;span style="font-style: italic;"&gt;fatwa&lt;/span&gt; or Islamic edict on smoking at &lt;a href="http://www.e-fatwa.gov.my/" target="_blank"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;eFatwa&lt;/span&gt;&lt;/a&gt; portal. Below are the &lt;span style="font-style: italic;"&gt;fatwas&lt;/span&gt; I found:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Fatwa&lt;/span&gt; by the state of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Kedah&lt;/span&gt;:&lt;br /&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:85%;"  &gt;&lt;b&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Merokok&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;adalah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;haram&lt;/span&gt;&lt;br /&gt;Ref: &lt;a href="http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=281" target="_blank"&gt;http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=281&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Fatwa&lt;/span&gt; by the state of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Perlis&lt;/span&gt;:&lt;br /&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:85%;"  &gt;&lt;b&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Mesyuarat&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;telah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;meneliti&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;dan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;berbincang&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;dengan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;panjang&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;lebar&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;serta&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;memutuskan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;bahawa&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;menanam&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;tembakau&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;merokok&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;dan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;memanfaatkan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;hasil&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;tembakau&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;adalah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;HARAM&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;dengan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;berpandukan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;dalil&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;dalil&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;serta&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;nas&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;nas&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;al&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;Quran&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;hadis&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;dan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;pendapat&lt;/span&gt; para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;ulama&lt;/span&gt; yang &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;muktabar&lt;/span&gt;.&lt;br /&gt;Ref: &lt;a href="http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=350" target="_blank"&gt;http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=350&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Fatwa &lt;/span&gt;by the state of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;Selangor&lt;/span&gt;:&lt;br /&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:85%;"  &gt;&lt;b&gt;&lt;blockquote&gt;(1)     &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;Merokok&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;adalah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;haram&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(2)  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;Oleh&lt;/span&gt; yang &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;demikian&lt;/span&gt; , &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;adalah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;haram&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;bagi&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;mana&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;mana&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;orang&lt;/span&gt; Islam &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;menghisap&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;apa&lt;/span&gt; –&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;apa&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;jenis&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;rokok&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;(3)  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;Bagi&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;maksud&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;faiwa&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;ini&lt;/span&gt; , “ &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;rokok&lt;/span&gt; ” &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_63"&gt;ialah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;tembakau&lt;/span&gt; yang &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_65"&gt;digulung&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_66"&gt;dengan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_67"&gt;kertas&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_68"&gt;atau&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_69"&gt;daun&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_70"&gt;nipah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_71"&gt;atau&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_72"&gt;selainnya&lt;/span&gt;.&lt;br /&gt;Ref: &lt;a href="http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=380" target="_blank"&gt;http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=380&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Fatwa&lt;/span&gt; by the state of Sarawak:&lt;br /&gt;&lt;span style=";font-family:Verdana,Arial,Helvetica,sans-serif;font-size:85%;"  &gt;&lt;b&gt;&lt;blockquote&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_73"&gt;Merokok&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_74"&gt;adalah&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_75"&gt;haram&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_76"&gt;dari&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_77"&gt;pandangan&lt;/span&gt; Islam &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_78"&gt;kerana&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_79"&gt;padanya&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_80"&gt;terdapat&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_81"&gt;kemudaratan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_82"&gt;pada&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_83"&gt;kesihatan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_84"&gt;dan&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_85"&gt;pembaziran&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_86"&gt;pada&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_87"&gt;perbelanjaan&lt;/span&gt;&lt;br /&gt;Ref: &lt;a href="http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=845" target="_blank"&gt;http://www.e-fatwa.gov.my/mufti/fatwa_search_result.asp?keyID=845&lt;/a&gt;&lt;/blockquote&gt;&lt;/b&gt;&lt;/span&gt;In summary, the Islamic scholars and Muftis from the 4 states all agreed beyond doubt and proclaimed that smoking is forbidden, or &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_88"&gt;haram&lt;/span&gt;&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-9064804459024580323?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/9064804459024580323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=9064804459024580323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/9064804459024580323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/9064804459024580323'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/04/smoking-islamic-perspective.html' title='Smoking - An Islamic Perspective'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-5472670936375194871</id><published>2007-03-29T14:07:00.000+08:00</published><updated>2007-03-29T14:19:40.527+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux Printing with CUPS - sucked into dependency hell</title><content type='html'>&lt;div style="text-align: justify;"&gt;After two days of struggling, I finally got my Epson C67 printer to work again. All in the name of upgrading GIMP-Print to Gutenprint which should provide better support for the printer, especially for photo printing.&lt;br /&gt;&lt;br /&gt;The initial build process for Gutenprint was smooth - no error what so ever. But when I tried to print - nothing happen. After much reading and Google around, I found the problem was due to dependency issues. This simply means I had to re-build my Gimp and Ghostscript to newer versions (and also I took the opportunity to re-build CUPS). Only after all those re-built I managed to print again. I just wish there is an easier way to resolve dependency in the future.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-5472670936375194871?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/5472670936375194871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=5472670936375194871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5472670936375194871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5472670936375194871'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/03/linux-printing-with-cups-sucked-into.html' title='Linux Printing with CUPS - sucked into dependency hell'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-3914940541469675368</id><published>2007-03-26T14:54:00.000+08:00</published><updated>2007-03-29T14:00:00.337+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>A Simple Step-By-Step Guide of SSL Key Management With OpenSSL</title><content type='html'>This is a simplified  step by step guide to manage SSL key using &lt;a href="http://www.openssl.org/" target="_blank"&gt;OpenSSL&lt;/a&gt;. For further information do &lt;span style="font-style: italic;"&gt;man openssl&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;1. Become a root certificate authority(CA)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;$openssl req -new -x509 -keyout ca.key -out ca.crt -days 3650&lt;/li&gt;&lt;li&gt;This will request for (-)new self-signed(-x509) root certificate with private key(-keyout) named "ca.key") and certificate file(-out) named "ca.crt" which is certified for 10 years(-days 3650).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2. View the contents of the certificate&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;$openssl x509 -in ca.crt -noout -text&lt;/li&gt;&lt;li&gt;$openssl x509 -in ca.crt -noout -dates&lt;/li&gt;&lt;li&gt;$openssl x509 -in ca.crt -noout -purpose&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;3. Create the certificate signing request&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This request is actually generated by those who want their certificate to be signed by root CA&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;$openssl req -new -nodes -keyout my.key -out my.csr -days 365&lt;/li&gt;&lt;li&gt;If paranoid, remove -nodes option to make the private key encrypted and password protected.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;4. Signing a certificate&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;$openssl ca -out my.crt -in my.csr&lt;/li&gt;&lt;li&gt;Optionally, remove the human-readable portions of the certificate : &lt;ul style="font-weight: bold;"&gt;&lt;li&gt;$openssl x509 -in my.crt -out my-nohuman-readable.crt&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;5. Deployment of certificates&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The following certificates my.key, my.crt and ca.crt are needed by application using SSL.&lt;/li&gt;&lt;li&gt;Some applications require both the key and certificate in one file, which can be achived by running:&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;$cat server.key server.crt &gt; key-cert.pem&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;For applications using SSL/TLS, the Diffie Hellman parameters may be required on the server side. Create the DH (using 2048 bits) by issuing:&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;$openssl dhparam -out dh2048.pem 2048&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;6. Certification Revocation List (CRL)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;$openssl ca -gencrl -crldays 30 -out rootca.crl&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;7. Renewing and revoking certificates&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Both root certificate and other signed certificates are subjected to expiry.&lt;/li&gt;&lt;li&gt;If root certificate expires, a new root CA certificate must be created and distributed. All other certificate that it signed must also be re-created and signed.&lt;/li&gt;&lt;li&gt;For other certificates, those certificates can be renewed by first revoking the old certificate, then re-signed the original request or do another round of request and sign procedure. To revoke a certificate, issue the following command:&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;$openssl ca -revoke expire.crt&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Regenerate CRL again if necessary.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-3914940541469675368?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/3914940541469675368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=3914940541469675368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/3914940541469675368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/3914940541469675368'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/03/this-is-simplified-step-by-step-guide.html' title='A Simple Step-By-Step Guide of SSL Key Management With OpenSSL'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-5516064013239803214</id><published>2007-03-20T21:21:00.000+08:00</published><updated>2007-03-29T14:01:41.699+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>Wow! del.icio.us</title><content type='html'>Just open an account at &lt;a href="http://del.icio.us/" target="_blank"&gt;del.icio.us&lt;/a&gt; :) It's a rather late entry into social bookmarking. I already formed an initial impression of social bookmarking - it's pretty cool.&lt;br /&gt;&lt;br /&gt;You can view my bookmarks at &lt;a href="http://del.icio.us/efaisal" target="_blank"&gt;http://del.icio.us/efaisal&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-5516064013239803214?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/5516064013239803214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=5516064013239803214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5516064013239803214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/5516064013239803214'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/03/wow-delicious.html' title='Wow! del.icio.us'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-9175063208299903971</id><published>2007-03-14T15:34:00.000+08:00</published><updated>2007-03-29T14:02:25.461+08:00</updated><title type='text'>Posting source code</title><content type='html'>I not really satisfied the way source code is being displayed. Currently I'm just putting the &lt;span style="font-weight: bold;"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt; tag around the code. No fancy formatting, just plain &lt;span style="font-weight: bold;"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt;. So, is there a better way to format source code? May be use &lt;span style="font-weight: bold;"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt; tag with some cool CSS hacks?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-9175063208299903971?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/9175063208299903971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=9175063208299903971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/9175063208299903971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/9175063208299903971'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/03/posting-source-code.html' title='Posting source code'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-8254641176394927691</id><published>2007-03-14T11:22:00.000+08:00</published><updated>2007-03-29T14:29:14.009+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Scheduleable Event Loop for asyncore/asynchat</title><content type='html'>Been a while since I write a blog.  Below is the Python code which is quite usable to replace the default asyncore loop. It's based on Sam Rushing code which can be found at &lt;a href="http://squirl.nightmare.com/medusa/async_sockets.html" target="_blank"&gt;http://squirl.nightmare.com/medusa/async_sockets.html&lt;/a&gt;&lt;br /&gt;&lt;pre style="font-size: medium;"&gt;import sys, time, asyncore&lt;br /&gt;&lt;br /&gt;map = asyncore.socket_map&lt;br /&gt;&lt;br /&gt;class EventLoop:&lt;br /&gt;def __init__(self):&lt;br /&gt;   self.events = {}&lt;br /&gt;   self.poll = asyncore.poll3&lt;br /&gt;   self.__quit = None&lt;br /&gt;&lt;br /&gt;def loop(self, timeout=30.0):&lt;br /&gt;   while map:&lt;br /&gt;       if self.__quit is True: break&lt;br /&gt;       now = int(time.time())&lt;br /&gt;       for k, v in self.events.iteritems():&lt;br /&gt;           if now &gt;= k:&lt;br /&gt;               for o in v:&lt;br /&gt;                   try:&lt;br /&gt;                       o[0](*o[1][0], **o[1][1])&lt;br /&gt;                   except:&lt;br /&gt;                       type, value, tb = sys.exc_info()&lt;br /&gt;                       parm = str(o[1])&lt;br /&gt;                       logstr = "Error in Evenloop processing " + \&lt;br /&gt;                                "scheduled task."&lt;br /&gt;                       logstr = "Error details: %s: %s" % (type, value)&lt;br /&gt;                       logstr = "Error details(parm): %s" % parm&lt;br /&gt;                       logstr = "Error details(tb): %s" % \&lt;br /&gt;                                tb.tb_frame.f_code&lt;br /&gt;               del self.events[k]&lt;br /&gt;       self.poll(timeout)&lt;br /&gt;&lt;br /&gt;def schedule(self, delta, callback, *args, **kargs):&lt;br /&gt;   now = int(time.time())&lt;br /&gt;   if self.events.has_key(now + delta) is False:&lt;br /&gt;       self.events[now + delta] = []&lt;br /&gt;   self.events[now + delta].append((callback, (args, kargs)))&lt;br /&gt;&lt;br /&gt;def unschedule(self, callback):&lt;br /&gt;   for k, v in self.events.iteritems():&lt;br /&gt;       for o in v:&lt;br /&gt;           if o[0] is callback:&lt;br /&gt;               del self.events[k][v][self.events[k][v].index(o)]&lt;br /&gt;       if len(v) == 0:&lt;br /&gt;           del self.events[k]&lt;br /&gt;&lt;br /&gt;def quit(self):&lt;br /&gt;   self.__quit = True&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-8254641176394927691?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/8254641176394927691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=8254641176394927691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/8254641176394927691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/8254641176394927691'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2007/03/scheduleable-event-loop-for.html' title='Scheduleable Event Loop for asyncore/asynchat'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115573423575979937</id><published>2006-08-16T21:02:00.000+08:00</published><updated>2006-08-16T21:17:15.783+08:00</updated><title type='text'>Hylafax protocol experimentation ended</title><content type='html'>I finally wrote a kind of middleware that sits between a web-based procurement system (written in PHP) and Hylafax server. Among other things that the procurement system does is mass faxing to various vendors - in this case up to a few hundred vendors a day.&lt;br /&gt;&lt;br /&gt;My initial test went pretty smooth - well, a bit of hiccup though. Few fax machines apparently received the distorted document due to some unknown reasons. I'm still investigating. Apart from that I would say the prototype was a success, able to handle hundreds of documents to fax simultaneously. The decision to do the communication part asynchronously paid off - no noticeable load on the server which runs the middleware.&lt;br /&gt;&lt;br /&gt;So anybody interested in integrating your webbased system with Hylafax? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115573423575979937?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115573423575979937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115573423575979937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115573423575979937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115573423575979937'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/08/hylafax-protocol-experimentation-ended.html' title='Hylafax protocol experimentation ended'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115512507574270933</id><published>2006-08-09T20:00:00.000+08:00</published><updated>2006-08-09T20:05:20.700+08:00</updated><title type='text'>Hylafax protocol: Administrative function</title><content type='html'>Today while testing bulk faxing, I encountered a failure due to blacklisted number.&lt;br /&gt;&lt;br /&gt;Is there a way, or rather a protocol verb which I can use to query the Hylafax server for sending modem command - e.g. to check modem status or to reset modem blacklisted number&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115512507574270933?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115512507574270933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115512507574270933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115512507574270933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115512507574270933'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/08/hylafax-protocol-administrative.html' title='Hylafax protocol: Administrative function'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115443429671748134</id><published>2006-08-01T20:05:00.000+08:00</published><updated>2006-08-01T20:11:36.726+08:00</updated><title type='text'>Understanding Hylafax protocol</title><content type='html'>It's been a while since my last blog post. I've been kept busy a number of things - mainly at work.&lt;br /&gt;&lt;br /&gt;OK, so I've learnt one or two things since then.  I've managed to build a prototype Hylafax client - and yes - it's making use of asynchronous communication mechanism. The prototype currently able to send a fax job and query the status of a job. The code right now is rather crude. The next course of action is make some administrative query. I just hope I have the spare time for this :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115443429671748134?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115443429671748134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115443429671748134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115443429671748134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115443429671748134'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/08/understanding-hylafax-protocol.html' title='Understanding Hylafax protocol'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115167170912089030</id><published>2006-06-30T20:43:00.000+08:00</published><updated>2006-06-30T20:48:29.126+08:00</updated><title type='text'>Hylafax protocol prototype update</title><content type='html'>Basic login mechanism is now working. All I did was to follow the same way any FTP client handles login as noted by Bernstein &lt;a href="http://cr.yp.to/ftp.html" target="_blank"&gt;here&lt;/a&gt;. Next would be testing to login as admin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115167170912089030?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115167170912089030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115167170912089030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115167170912089030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115167170912089030'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/hylafax-protocol-prototype-update.html' title='Hylafax protocol prototype update'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115141112037985582</id><published>2006-06-27T20:22:00.000+08:00</published><updated>2006-06-27T20:25:20.386+08:00</updated><title type='text'>Hylafax protocol prototype</title><content type='html'>This is an update of the previous post. For the prototype, I'll just focused on 3 things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Able to login, both as users and admin&lt;/li&gt;&lt;li&gt;Able to post fax job&lt;/li&gt;&lt;li&gt;Able to query the fax server the status of fax job &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I've played around with asyncore/asynchat and looks that this is a feasible project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115141112037985582?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115141112037985582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115141112037985582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115141112037985582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115141112037985582'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/hylafax-protocol-prototype.html' title='Hylafax protocol prototype'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115132329590947334</id><published>2006-06-26T19:53:00.000+08:00</published><updated>2006-06-26T20:01:35.920+08:00</updated><title type='text'>The new Hylafax protocol adventure begins</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've started my little learning project - writing a prototype program that speaks Hylafax protocol in Python. I also found Pyla, a Hylafax client written in Python. Pyla make use of ftplib module that comes with Python distribution - a smart move for not re-inventing the wheel. But I want to re-invent the wheel in order to learn something. So I'll be a little bit more adventurous - instead of using blocking socket like Pyla, I'll go for non-blocking asynchronous communication. Two asynchronous communication framework came to mind - Twisted and asyncore/asynchat. Twisted is sexy, but I guess I'll go with asyncore/asynchat for the sake of learning.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115132329590947334?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115132329590947334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115132329590947334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115132329590947334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115132329590947334'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/new-hylafax-protocol-adventure-begins.html' title='The new Hylafax protocol adventure begins'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115028730108337724</id><published>2006-06-14T20:04:00.000+08:00</published><updated>2006-06-14T20:16:24.473+08:00</updated><title type='text'>Another reminder</title><content type='html'>&lt;div style="text-align: justify;"&gt;I know a mental know will not last long, that's why I blog this kind of thing :)&lt;br /&gt;&lt;br /&gt;Please be reminded to check out &lt;a href="http://bazaar-vcs.org/" target="_blank"&gt;Bazaar-NG&lt;/a&gt; - a next generation distributed version control system. I think I might have one or two projects which is suitable for using distributed version control system. Furthermore, this one is written in Python and still under active development. This could be a nice alternative to centralized version control system that I'm used to - CVS and &lt;a href="http://subversion.tigris.org/" target="_blank"&gt;SVN&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115028730108337724?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115028730108337724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115028730108337724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115028730108337724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115028730108337724'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/another-reminder.html' title='Another reminder'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115020220553847733</id><published>2006-06-13T20:30:00.000+08:00</published><updated>2006-06-13T20:36:45.550+08:00</updated><title type='text'>Hylafax protocol for Python</title><content type='html'>&lt;div style="text-align: justify;"&gt;A reminder for myself to  investigate about &lt;a href="http://www.hylafax.org/"&gt;Hylafax&lt;/a&gt; protocol. All I know right now, the new Hylafax protocol is a modified FTP protocol. When I browse through the hfaxd code (it's written in C++), I think writing a Hylafax protocol under Python is acheivable.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115020220553847733?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115020220553847733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115020220553847733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115020220553847733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115020220553847733'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/hylafax-protocol-for-python.html' title='Hylafax protocol for Python'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-115009158162421437</id><published>2006-06-12T13:35:00.000+08:00</published><updated>2006-06-12T13:53:01.630+08:00</updated><title type='text'>FIFA World Cup - got time to blog?</title><content type='html'>&lt;div style="text-align: justify;"&gt;I haven't been able to find a time to blog - all due to FIFA World Cup. Below are my thoughts of the current state of the competition:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Most of the seeded teams which have played produced a sub-standard performance.&lt;/li&gt;   &lt;li&gt;Many of the teams which were expected to lose to the seeded teams fought in a spirited manner and played extremely well.&lt;/li&gt; &lt;/ol&gt; After 8 matches, the underdogs were obviously well prepared. They did their homework well. They played well as a team. Many of the players were very good at ball control.&lt;br /&gt;&lt;br /&gt;So, what happened to the seeded teams? Over confidence? Ego - thinking that they're star players which make them unable to play as a team? Poorly prepared? Or all the above?&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-115009158162421437?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/115009158162421437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=115009158162421437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115009158162421437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/115009158162421437'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/fifa-world-cup-got-time-to-blog.html' title='FIFA World Cup - got time to blog?'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114985501449701903</id><published>2006-06-09T20:02:00.000+08:00</published><updated>2006-06-09T20:10:14.506+08:00</updated><title type='text'>Open Source: Beyond Software</title><content type='html'>&lt;div style="text-align: justify;"&gt;Open Source is not exclusive to software, or in the broader sense tech domain - yes, that's right. &lt;a href="http://tux.newsforge.com/tux/06/05/31/1749224.shtml?tid=138&amp;amp;tid=30" target="_blank"&gt;Newsforge&lt;/a&gt; reported about a project called &lt;a href="http://www.free-penguin.org/" target="_blank"&gt;Free Penguin Project&lt;/a&gt; that produced sewing pattern to make a soft toy of the cuddly little penguin - Tux.&lt;br /&gt;&lt;br /&gt;Another thing to do beside hacking the codes - sew!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114985501449701903?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114985501449701903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114985501449701903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114985501449701903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114985501449701903'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/open-source-beyond-software.html' title='Open Source: Beyond Software'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114977006890475519</id><published>2006-06-08T20:25:00.000+08:00</published><updated>2007-03-29T14:05:26.669+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>My little rant on Python</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today I thought to myself, why not try to play around with SysV shared memory and semaphore under Python. Then, to my surprise, this time the battery is not included. Yes, there is no module that come with standard Python which offer this facility. After painstakingly Google around, I found 2 modules which provide a mechanism to this IPC - but I'm not too convinced with these 2 modules. I guess I need to dig into the C codes of these external modules to boost my confidence level. Till then, I'd stick to Unix domain socket and pipe for my IPC under Python.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114977006890475519?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114977006890475519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114977006890475519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114977006890475519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114977006890475519'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/my-little-rant-on-python.html' title='My little rant on Python'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114957439068515573</id><published>2006-06-06T13:59:00.000+08:00</published><updated>2006-06-06T14:13:10.693+08:00</updated><title type='text'>IPv6 has finally come</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today, the 6th day of June of the year 2006 - or 666 if you like to dramatize a little bit - is the day &lt;a href="http://www.6bone.net/" target="_blank"&gt;6Bone&lt;/a&gt;, the experimental IPV6 netwrok will be &lt;a href="http://www.ipv6day.org/action.php?n=En.IPv6day" target="_blank"&gt;shut down&lt;/a&gt;. Now &lt;a href="http://www.ipv6tf.org/" target="_blank"&gt;IPv6&lt;/a&gt; comes to a stage of deployment to the masses.&lt;br /&gt;&lt;br /&gt;This is a wake up call for me to ensure that all the boxens I'm using and their corresponding network apps support IPv6. With this, comes a task of learning how to use IPv6 and its tips-and-tricks. Bye-bye 6Bone, Welcome IPv6.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114957439068515573?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114957439068515573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114957439068515573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114957439068515573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114957439068515573'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/ipv6-has-finally-come.html' title='IPv6 has finally come'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114951277231554706</id><published>2006-06-05T20:53:00.000+08:00</published><updated>2006-06-05T21:08:26.093+08:00</updated><title type='text'>2 weeks full of events</title><content type='html'>&lt;div style="text-align: justify;"&gt;A couple of updates.&lt;br /&gt;&lt;br /&gt;First, &lt;a href="http://www.ittutor.net/" target="_blank"&gt;ITTutor&lt;/a&gt; was defaced on 31 May 2006 and up till now is still closed. Apparently the Admin is taking the opportunity, while fixing the defaced page(s), to do some upgrade works.&lt;br /&gt;&lt;br /&gt;Secondly, the Klang Valley in Malaysia was shocked by a landslide which claimed 4 lives. A series of finger-pointing trying to find the fault followed right after. The local authority, however, has the lion share for blames - due to repeated complaint by the affected residences months before the incident happend.&lt;br /&gt;&lt;br /&gt;Next news, I still couldn't find an SSL library for Python which is easy to use and less confusing for newbies like me. The existing libraries is either too complex for newbies or simply out of date with the current C version.&lt;br /&gt;&lt;br /&gt;Finally, the talk in the office is to integrate the procurement system with the fax server, which is running Hylafax. It is very likely I'll be assigned to figure out how to do it.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114951277231554706?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114951277231554706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114951277231554706' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114951277231554706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114951277231554706'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/2-weeks-full-of-events.html' title='2 weeks full of events'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114921945744191771</id><published>2006-06-02T11:28:00.000+08:00</published><updated>2006-06-02T11:37:37.450+08:00</updated><title type='text'>Managing user account using OpenLDAP</title><content type='html'>IBM developerWorks features a nice &lt;a href="http://www-128.ibm.com/developerworks/linux/library/l-openldap/?ca=dnw-719" target="_blank"&gt;article&lt;/a&gt; on implementing a centralize user management using OpenLDAP. Although it's Red Hat specifics, but most of the steps described also applicable to other Linux distributions. I might even try to test the steps in the article myself when I have a free time - may be after the FIFA World Cup is over :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114921945744191771?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114921945744191771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114921945744191771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114921945744191771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114921945744191771'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/managing-user-account-using-openldap.html' title='Managing user account using OpenLDAP'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114912825231376764</id><published>2006-06-01T10:06:00.000+08:00</published><updated>2006-06-01T12:12:01.683+08:00</updated><title type='text'>The first day of June 2006</title><content type='html'>&lt;div style="text-align: justify;"&gt;A very interesting day.&lt;br /&gt;&lt;br /&gt;Today marks the month of June 2006, the month of FIFA World Cup. Along with it come plenty of sleepless night - since all the live telecast would be in the early morning in Malaysia.&lt;br /&gt;&lt;br /&gt;Also a very interesting start:&lt;br /&gt;&lt;a href="http://www.linux.com/" target="_blank"&gt;Linux.com&lt;/a&gt; featured 2 nice articles on &lt;a href="http://www.linux.com/article.pl?sid=06/05/19/1920231" target="_blank"&gt;GNU grep&lt;/a&gt; and &lt;a href="http://www.linux.com/article.pl?sid=06/05/19/1440247" target="_blank"&gt;Emacs tips&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.newsforge.com/" target="_blank"&gt;Newsforge&lt;/a&gt; brought an article on &lt;a href="http://ocsinventory.sourceforge.net/index.php?page=English" target="_blank"&gt;OCSNG&lt;/a&gt; - which could be a nice complement to &lt;a href="http://wpkg.org/" target="_blank"&gt;WPKG&lt;/a&gt; I'm currently evaluating.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114912825231376764?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114912825231376764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114912825231376764' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114912825231376764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114912825231376764'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/06/first-day-of-june-2006.html' title='The first day of June 2006'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114907917302098998</id><published>2006-05-31T20:30:00.000+08:00</published><updated>2006-05-31T20:39:33.026+08:00</updated><title type='text'>Design pattern - is it for real?</title><content type='html'>Today I read a book on design pattern - after hearing about it for quite sometimes. A lot of good and bad things have been said about design pattern. I guess I have to experience it myself before making any judgement. I'm quite sure design pattern is not the holy grail to all programming problems. But with a little bit of effort in understading when to use and when not to use, design pattern could probably be useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114907917302098998?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114907917302098998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114907917302098998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114907917302098998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114907917302098998'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/design-pattern-is-it-for-real.html' title='Design pattern - is it for real?'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114889237173295724</id><published>2006-05-29T16:42:00.000+08:00</published><updated>2006-05-29T16:46:11.740+08:00</updated><title type='text'>Passed another 2 tests at Brain Games</title><content type='html'>&lt;div style="text-align: justify;"&gt;I took another 2 tests namely, HTML 3.2 and Linux Administration (General)  today and passed both. As for the Linux test there were a number of questions on NFS, a subject which I'm not really fond of. I just hope I could sit for a couple more tests before 31 May.&lt;br /&gt;&lt;br /&gt;My transcript is viewable at &lt;a href="http://www.brainbench.com/transcript.jsp?pid=873436"&gt;http://www.brainbench.com/transcript.jsp?pid=873436&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114889237173295724?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114889237173295724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114889237173295724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114889237173295724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114889237173295724'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/passed-another-2-tests-at-brain-games.html' title='Passed another 2 tests at Brain Games'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114881686939998287</id><published>2006-05-28T19:46:00.000+08:00</published><updated>2006-05-28T19:47:49.406+08:00</updated><title type='text'>Logic</title><content type='html'>&lt;span style="font-weight: bold; font-style: italic;"&gt;Logic&lt;/span&gt; is, at best, correct but not always the &lt;span style="font-weight: bold; font-style: italic;"&gt;truth&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114881686939998287?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114881686939998287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114881686939998287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114881686939998287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114881686939998287'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/logic.html' title='Logic'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114864711668625936</id><published>2006-05-26T20:15:00.000+08:00</published><updated>2006-05-26T20:38:36.696+08:00</updated><title type='text'>Rise in electricity tariff in Malaysia</title><content type='html'>&lt;div style="text-align: justify;"&gt;Two days ago Malaysian government announced a hike in electricity tariff commencing in June 2006. The government also claimed that the price increase will not affect approximately 3 millions. I didn't quite understand by that statement though but I guess this got to do with the direct electricity bill. The real concern with this price hike is  whether the price other goods will also go up as well - just like during the incident the fuel price increase. Personally, I feel the likelihood is high based on historical patterns.  How this will have any impact on common people like you and I remain to be seen.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114864711668625936?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114864711668625936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114864711668625936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114864711668625936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114864711668625936'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/rise-in-electricity-tariff-in-malaysia.html' title='Rise in electricity tariff in Malaysia'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114856085093380550</id><published>2006-05-25T20:22:00.000+08:00</published><updated>2007-03-29T14:06:07.373+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>Learn to program in ten years</title><content type='html'>&lt;div style="text-align: justify;"&gt;The first time I read &lt;a href="http://www.norvig.com/" target="_blank"&gt;Peter Norvig&lt;/a&gt;'s essay titled &lt;a href="http://www.norvig.com/21-days.html" target="_blank"&gt;&lt;span style="font-style: italic;"&gt;Teach Yourself Programming in Ten Years&lt;/span&gt;&lt;/a&gt;, I don't give much thought about it. Today, I've re-read and started to ponder my own progress over the years in achieving hacker's enlightenment.&lt;br /&gt;&lt;br /&gt;The one that struck me was the similarity in my own experience in attempting to learn and grasp what I've learn. Like him, I've read numerous books, howtos, FAQ and other documents, yet I still feel like a novice. So what really went wrong? Why I'm still feel I'm at the same level as I was 2 or 3 years ago? Well, Peter Norvig certainly had given all the pointers but I failed to recognize them 2 years ago.&lt;br /&gt;&lt;br /&gt;However, in my effort to learn, it's better late than never. The pointers he had laid out in the essay must be taken seriously.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114856085093380550?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114856085093380550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114856085093380550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114856085093380550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114856085093380550'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/learn-to-program-in-ten-years.html' title='Learn to program in ten years'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114847403347522148</id><published>2006-05-24T20:28:00.000+08:00</published><updated>2006-05-24T20:33:53.486+08:00</updated><title type='text'>Life of a programmer</title><content type='html'>7 bug reports and 11 feature requests: That will keep me busy at least for the next 2 weeks.&lt;br /&gt;&lt;br /&gt;I know this basically translates as: no Math challenge; no exploring Google Pages and updating my little homepage; no other activities that require rigorous thinking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114847403347522148?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114847403347522148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114847403347522148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114847403347522148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114847403347522148'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/life-of-programmer.html' title='Life of a programmer'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114836665204542704</id><published>2006-05-23T14:05:00.000+08:00</published><updated>2006-05-23T14:44:12.053+08:00</updated><title type='text'>Python 1.5 Certification Test at Brain Bench</title><content type='html'>&lt;div style="text-align: justify;"&gt;I took the Python 1.5 test for Brain Games last night and passed. As a token of bragging the transcript is viewable at &lt;a href="http://www.brainbench.com/transcript.jsp?pid=873436" target="_blank"&gt;http://www.brainbench.com/transcript.jsp?pid=873436&lt;/a&gt;. To be honest, I never consider my Python skill as good. I only started to seriously code in Python for the past 2 years - and still learning.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114836665204542704?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114836665204542704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114836665204542704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114836665204542704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114836665204542704'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/python-15-certification-test-at-brain.html' title='Python 1.5 Certification Test at Brain Bench'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114827262818416384</id><published>2006-05-22T12:28:00.000+08:00</published><updated>2006-05-22T12:40:12.730+08:00</updated><title type='text'>PHP Certification Test at Brain Bench</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've passed my first test for the Brain Games - and it's the PHP4 Certification. The test was not that hard - I even managed to juggle between doing the test and doing something else (you can do the same provided you know PHP well enough). There are few questions asking about some build-in functions which I've used once or twice and couldn't seem to recall how to properly used them. Those are the question I flunked.&lt;br /&gt;&lt;br /&gt;As my right to brag for passing the test: you can view my transcript at &lt;a href="http://www.brainbench.com/" target="_blank"&gt;Brain Bench&lt;/a&gt;. Just fill in my transcript id &lt;span name="column_2"&gt;&lt;span&gt;&lt;span name="transcript_demo"&gt;&lt;span name="demo_section"&gt;&lt;span name="demo_personid"&gt;&lt;span style="font-weight: bold;"&gt;873436&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114827262818416384?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114827262818416384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114827262818416384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114827262818416384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114827262818416384'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/php-certification-test-at-brain-bench.html' title='PHP Certification Test at Brain Bench'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114826473654205632</id><published>2006-05-22T10:16:00.000+08:00</published><updated>2006-05-22T12:40:44.176+08:00</updated><title type='text'>Free Certifications</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've just learnt that &lt;a href="http://www.brainbench.com/" target="_blank"&gt;Brain Bench&lt;/a&gt; is conducting another round of Bench Games - what this means is that all certifications test will be free - starting from 15 May 2006 till 31 May 2006. Silly me for ignoring the offer email for too long.&lt;br /&gt;&lt;br /&gt;But I guess I should try to take advantange of this offer. May be learn a few thing along the way. Certification in Linux, Bash Shell, Python, PHP, (X)HTML and CSS come to mind as top in my priority list. However I better have a look at the whole list of certifications over there - which was claimed to be more that 500 certification tests!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114826473654205632?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114826473654205632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114826473654205632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114826473654205632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114826473654205632'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/free-certifications.html' title='Free Certifications'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114809669390088857</id><published>2006-05-20T11:39:00.000+08:00</published><updated>2006-05-20T11:44:53.906+08:00</updated><title type='text'>Elementary school placement examination</title><content type='html'>Yes! You heard it right. My daughter just finished the placement examination to enter elementary school. Out of 352 candidates, only 185 will be chosen for the 2007 academic session. She was quizzed on 8 subjects over 2 hours - with no break. Personally I think it's a little bit too much for a 6-year old. Her result is expected to be out on 29 May 2006. Well, I guess it's tougher nowadays to get a good education.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114809669390088857?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114809669390088857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114809669390088857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114809669390088857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114809669390088857'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/elementary-school-placement.html' title='Elementary school placement examination'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114803040358447637</id><published>2006-05-19T17:14:00.000+08:00</published><updated>2006-05-19T17:20:03.593+08:00</updated><title type='text'>Personal website</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have just created an account with &lt;a href="http://pages.google.com/" target="_blank"&gt;Google Page Creator&lt;/a&gt; for my personal website.  It's accessible at &lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;a href="http://eafaisal.googlepages.com/" target="_blank"&gt;eafaisal.googlepages.com&lt;/a&gt;. Mind you the content is still alpha :)&lt;/span&gt;&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;I guess for the next couple of weeks I'll also be busy exploring Google Page Creator.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114803040358447637?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114803040358447637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114803040358447637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114803040358447637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114803040358447637'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/personal-website.html' title='Personal website'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114800247508173802</id><published>2006-05-19T09:16:00.000+08:00</published><updated>2006-05-19T17:21:14.960+08:00</updated><title type='text'>Mathematical puzzles</title><content type='html'>&lt;div style="text-align: justify;"&gt;Just over two weeks ago, a &lt;a href="http://forums.ittutor.net/index.php?showtopic=29309" target="_blank"&gt;post&lt;/a&gt; at &lt;a href="http://www.ittutor.net/" target="_blank"&gt;IT Tutor&lt;/a&gt; attracted my attention. It was about &lt;a href="http://mathschallenge.net/index.php?section=project" target="_blank"&gt;Project Euler&lt;/a&gt; at &lt;a href="http://mathschallenge.net/" target="_blank"&gt;mathschallege.net&lt;/a&gt;.  To quote from Project Euler introductory page:&lt;br /&gt;&lt;i&gt;&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;blockquote&gt;&lt;i&gt;Project Euler&lt;/i&gt; is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. Please be warned that the problems are challenging and you are unlikely to make much progress if you have no knowledge of programming. Having said that, this is both the perfect environment and opportunity to learn new techniques and refine your programming skills.&lt;/blockquote&gt;At first I wasn't quite enthusiatic about it. But after solving 2 problems I thought, "Wow! I could learn a couple of things if I continue solving the given maths problems". To date, I've solved 21 problems using Python as my programming language of choice. There are a lot of difficult maths questions which I've yet to figure out how to solve - which I believe require a good understanding of mathematics fundamentals - and my last encounter of mathematics academically was during my schooling days :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114800247508173802?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114800247508173802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114800247508173802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114800247508173802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114800247508173802'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/mathematical-puzzles.html' title='Mathematical puzzles'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114784862511828002</id><published>2006-05-17T14:39:00.000+08:00</published><updated>2006-05-17T14:50:25.126+08:00</updated><title type='text'>A few subtle fixes</title><content type='html'>Instead of laboriously reading &lt;a href="http://help.blogger.com/" target="_blank"&gt;Help&lt;/a&gt;, I decided to just quickly scanned certain topics to make a few quick fixes.&lt;br /&gt;&lt;br /&gt;Below is my Changelog:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Changed NavBar to use silver theme&lt;/li&gt;   &lt;li&gt;Fixed the links - no more Edit Me&lt;/li&gt;   &lt;li&gt;Minor changes in few setting options&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;For now I'm pretty OK with the new changes. Probably I'll leave the settings as they are for next 1 month or so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114784862511828002?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114784862511828002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114784862511828002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114784862511828002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114784862511828002'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/few-subtle-fixes.html' title='A few subtle fixes'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114777652743954961</id><published>2006-05-16T18:42:00.000+08:00</published><updated>2006-05-16T18:48:47.446+08:00</updated><title type='text'>Time to explore...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Now that I've figured out how to post, it's time for me to explore Blogger features. Probably I'll start with "Help", then browse through the knowledge base.&lt;br /&gt;&lt;br /&gt;The first thing that needs to be resolved would be: try to comprehend what those settings mean :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114777652743954961?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114777652743954961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114777652743954961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114777652743954961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114777652743954961'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/time-to-explore.html' title='Time to explore...'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28136624.post-114769848341922949</id><published>2006-05-15T21:06:00.000+08:00</published><updated>2006-05-15T21:08:03.426+08:00</updated><title type='text'>My first post</title><content type='html'>This is my &lt;span style="font-weight: bold;"&gt;first&lt;/span&gt; post. Ain't it something :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28136624-114769848341922949?l=eafaisal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eafaisal.blogspot.com/feeds/114769848341922949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28136624&amp;postID=114769848341922949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114769848341922949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28136624/posts/default/114769848341922949'/><link rel='alternate' type='text/html' href='http://eafaisal.blogspot.com/2006/05/my-first-post.html' title='My first post'/><author><name>E A Faisal</name><uri>http://www.blogger.com/profile/14613735852581440956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://bp2.blogger.com/_Swoa48Cbnf8/R4OH42x6vDI/AAAAAAAAAAM/OuI00ov4yJo/S220/salnana.png'/></author><thr:total>0</thr:total></entry></feed>
