tag:blogger.com,1999:blog-17808238796433955532024-03-15T21:09:03.998-04:00Salman Jamali"every right implies a responsibility; every opportunity, an obligation; every possession, a duty"Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.comBlogger95125tag:blogger.com,1999:blog-1780823879643395553.post-73212684554078566232011-01-23T00:04:00.004-05:002011-01-23T00:09:41.800-05:00Shoutreel v1.0 Launched!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.shoutreel.com"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 269px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/TTu3qAmKbCI/AAAAAAAAAhc/tIoZD4JsEDs/s400/Screen%2Bshot%2B2011-01-23%2Bat%2B12.07.28%2BAM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5565243696888835106" /></a>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-71406016281635415692010-11-03T11:17:00.002-04:002010-11-03T11:21:16.494-04:00Got published, again!<span style="font-weight:bold;">What?</span> .. "Defining a Coparticipation Network Using Comments on Digg"<br /><span style="font-weight:bold;">Where?</span> .. IEEE Intelligent Systems<br /><span style="font-weight:bold;">Why?</span> .. Because <a href="http://cs.gmu.edu/~hrangwal/">he's</a> a genius.<br /><br /><span style="font-weight:bold;">Link: http://www.computer.org/portal/web/csdl/doi/10.1109/MIS.2010.98</span>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com5tag:blogger.com,1999:blog-1780823879643395553.post-9444654359081939912010-08-24T01:35:00.001-04:002010-08-24T01:36:41.763-04:00Liferay Performance Tuning<span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; color: rgb(51, 51, 51); line-height: 18px; "><div class="post-body entry-content" style="width: 486px; position: relative; line-height: 1.4; ">This stuff is really exciting. So I've got a few days to compare a bundled liferay out-of-the-box instance with the one that's enhanced by our company for a certain client. I'll be responsible to analyze the difference in performance statistics by profiling the application. I started off with <a href="http://grinder.sourceforge.net/" style="text-decoration: none; color: rgb(85, 130, 0); ">Grinder</a> and just recently learned about the visually appealing <a href="https://visualvm.dev.java.net/" style="text-decoration: none; color: rgb(85, 130, 0); ">VisualVM</a>.<br /><br />Apparently, I'll have to collect stats from both of the tools to summarize the overall difference. Ideally, I'd be able to pinpoint the exact methods that must be rewritten to improve the performance. Instrumenting the CPU using VisualVM by limiting it Liferay specific classes seems like a good idea.<br /><br />Let's see. I'll try to update this post with results, if and when I get them :)</div></span>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com4tag:blogger.com,1999:blog-1780823879643395553.post-9498401259310466932010-07-29T11:49:00.004-04:002010-07-29T15:26:43.831-04:00Struts2 - Adding Properties to the pageContextIn struts2, to access a property inside a JSP that we set in the overridden execute method of Action Interface, we use the following property tag:<br /><blockquote><span class="Apple-style-span" style="font-family:'courier new';"><s:property value="results" /></span></blockquote>where <i>s</i> is an alias for struts-tags tag library and <i>results</i> is a Collection (can be anything) that we've populated in <i>execute</i> method. Note here that it must be a variable/property in you action handler class with both of its getter and setter methods available. The property tag will call the <i>getResults()</i> getter method.<br />This is clean. But it should be noted that <i>results</i> is not available in the <i>pageContext</i> of the page being processed currently. So, for example, if you want to use the <i>results</i> collection inside a jsp scriptlet by doing something like<br /><blockquote><span class="Apple-style-span" style="font-family:'courier new';">pageContext.getAttribute("results")</span></blockquote>this will not work. You cannot even say something like<br /><blockquote><span class="Apple-style-span" style="font-family:'courier new';">request.getAttribute("results")</span></blockquote>Anyways, it's possible and pretty clean too :) All you've to do is to set the <i>pageContext</i> attribute by using another struts tag,<br /><blockquote><span class="Apple-style-span" style="font-family:'courier new';"><s:set name="pageResults" value="%{results}" /></span></blockquote>This is equivalent to<br /><blockquote><span class="Apple-style-span" style="font-family:'courier new';">pageContext.setAttribute("pageResults",results)</span></blockquote>but the later won't work. The name is what you want to name the <i>results</i> in the <i>pageContext</i>, like a variable name; and the value is its value. So here, Set tag will call <i>getResults()</i> and assign the returned value to a <i>pageContext</i> variable called <i>pageResults</i>.<br /><br /><div>That's it :)</div>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com6tag:blogger.com,1999:blog-1780823879643395553.post-19075547338871694052010-06-11T10:55:00.004-04:002010-06-11T11:18:54.915-04:00Grails and MySQL - Enforcing Foreign Key Constraints<b>Problem</b><br /><br />Imagine a scenario where you've two Grails domains called Book and BookAuthor (could by anything) with there respective MySQL tables. You've made sure that every time a Book is created, it must be associated to some BookAuthor by adding something like<br /><br /><span style="font-style: italic;">BookAuthor author</span><br /><br />in your Book domain. Also, you don't have to do anything in BookAuthor domain. Now when someone deletes a BookAuthor, Grails should enforce the foreign key constraint and does not allow it to happen. However, it does and the BookAuthor gets deleted. On top of that, the Book domain is now broken, because all the Books with the deleted BookAuthor as their author are now broken.<br /><br /><b>Solution</b><br /><br />I was hinted that this can be prevented by using InnoDB as the storage engine for those particular tables. For details, read <a href="http://www.builderau.com.au/program/mysql/soa/Using-foreign-keys-and-referential-integrity-in-MySQL/0,339028784,339237600,00.htm">this</a>, or <a href="http://tag1consulting.com/MySQL_Engines_MyISAM_vs_InnoDB">this</a>. For a quick solution, all you've to do is to add the following in your DataSource.groovy in the dataSource enclosure:<br /><br /><span style="font-style: italic;">dialect = 'org.hibernate.dialect.MySQL5InnoDBDialect'</span><br /><br />I dropped the database and let Grails recreate it because the tables have to be created with InnoDB as the storage engine. Note here that the default storage engine that MySQL uses while creating the tables is MyISAM.<br /><br />This solved things for me. Now, whenever someone tries to delete a BookAuthor, which is associated to some Book, it is prevented by Grails with this message - "The BookAuthor id1 cannot be deleted" .. that's it :)<br /><br />Happy coding, thanks!Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-27914401852476144772010-04-12T09:45:00.002-04:002010-04-12T09:47:30.484-04:00Back to Straight Path<object height="340" width="340"><param name="movie" value="http://www.youtube.com/v/GWPHZvetcoc&hl=en_US&fs=1&"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/GWPHZvetcoc&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="340"></embed></object>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-19856976893310531382010-03-31T11:32:00.002-04:002010-03-31T11:40:01.015-04:00About Sentiment Analysishttp://www.ubervu.com/help/analytics/#analyticsq6<br /><br />I wish I had filed a patent or something :(<br /><br />It's going to be big. I was able to foresee the potential in sentiment analysis, but never got time to finish it ... anyways, kudos to ubervu - I'll be an spectator :)Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com1tag:blogger.com,1999:blog-1780823879643395553.post-70232321329510683492010-03-24T03:13:00.004-04:002010-03-30T10:36:15.005-04:00Feelings posterI am just loving this!<br /><br /><a href="http://2.bp.blogspot.com/_kspooNI8sPE/S6m7u4HvzYI/AAAAAAAAAcE/DZBBjMxdV5s/s1600/feelings-poster-2.jpg"><img style="MARGIN: 0px 10px 10px 0px; WIDTH: 264px; FLOAT: left; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5452095237921951106" border="0" alt="" src="http://2.bp.blogspot.com/_kspooNI8sPE/S6m7u4HvzYI/AAAAAAAAAcE/DZBBjMxdV5s/s400/feelings-poster-2.jpg" /></a><br /><br />http://www.ctherapy.com/Results_Pages/descriptions.asp?ProductID=M1000Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-54955222586767641852009-08-05T00:37:00.001-04:002009-08-05T01:15:08.234-04:00Travelling Salesman Problem: Solved!<p><a href="http://lh5.ggpht.com/_kspooNI8sPE/SnkMgFu_L3I/AAAAAAAAAZQ/KDVFUWJMdy0/s1600-h/travelling_salesman_problem%5B6%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="travelling_salesman_problem" border="0" alt="travelling_salesman_problem" src="http://lh3.ggpht.com/_kspooNI8sPE/SnkMloHPOGI/AAAAAAAAAZY/wns98MTH5Kg/travelling_salesman_problem_thumb%5B4%5D.png?imgmax=800" width="373" height="170" /></a> </p> <p></p> <em>[source: </em><a title="http://xkcd.com/399/" href="http://xkcd.com/399/"><em>http://xkcd.com/399/</em></a><em>]</em> Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com3tag:blogger.com,1999:blog-1780823879643395553.post-25769237015167688072009-07-25T19:56:00.008-04:002009-07-25T20:13:31.981-04:00Digging Digg: Comment Mining, Popularity Prediction, and Social Network AnalysisRecently, one of my research works got accepted at <em><strong>The 2009 International Conference on Web Information Systems and Mining (<a href="http://wism-aici2009.shiep.edu.cn/">WISM' 09</a>)</strong></em>. The conference proceedings will be published by IEEE-CS and will be indexed by both EI (Compendex) and ISTP. Following is the abstract:<br /><div align="center"><br /><em><strong><span style="font-size:85%;">Using comment information available from Digg we define<br />a co-participation network between users. We focus on<br />the analysis of this implicit network, and study the behavioral<br />characteristics of users. Using an entropy measure,<br />we infer that users at Digg are not highly focused and<br />participate across a wide range of topics. We also use the<br />comment data and social network derived features to predict<br />the popularity of online content linked at Digg using a<br />classification and regression framework. We show promising<br />results for predicting the popularity scores even after limiting<br />our feature extraction to the first few hours of comment<br />activity that follows a Digg submission.</span></strong><br /></em><em></em></div><br /><div align="left">I am grateful to my advisor, <a href="http://www.blogger.com/www.cs.gmu.edu/~hrangwal/">Dr. Huzefa Rangwala</a>, who pushed me real hard and stayed with me to get it done!</div><br /><div align="left">I am trying to move to wordpress and restructure my blog, but till then, I don't have any section to upload my paper. Anyways, it's available through George Mason University's Technical Reports Series for 2009, which can be located here: <a href="http://cs.gmu.edu/~tr-admin/papers/GMU-CS-TR-2009-7.pdf">http://cs.gmu.edu/~tr-admin/papers/GMU-CS-TR-2009-7.pdf</a>. Also, the paper will soon be available through IEEE.</div>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com3tag:blogger.com,1999:blog-1780823879643395553.post-987149256381982442009-06-04T00:15:00.006-04:002009-06-05T05:55:28.828-04:00The next big thing. [2]There was a <a href="http://www.tomshardware.com/forum/265924-31-configuration"><strong>change</strong></a> in plan; following is the configuration of my newest machine:<br /><ul><li>AMD Phenom 2 x4 940 (3.0 ghz, 4 cores)</li><li>Biostar Ta790gx (amd 790gx chipset, radeon 3300 builtin)</li><li>GSkills 4 GB RAM (ddr2, 1060mhz)</li><li>Western Digital 1 Terabyte HDD (32mb cache, 7200 rpm)</li><li>Antec 300 ATX case and Anter 430w PSU</li><li>Samsung 23' High Definition LCD Monitor (max. res. 1920 x 1080, 5 ms response time)</li></ul>I don't know how much I saved, but I am sure that it's atleast $300. I found really good deals. Anyways, adding everything I paid, the sum was <strong>$650 </strong>for all of the above. I do not plan to overclock it, and I will not use it for gaming. The average CPU temperature is around 30c, which is not bad. I did an Ubuntu 9.04 installation on it (with default options) and following was the first exception:<br /><br /><strong>error 18 selected cylinder exceeds maximum supported by bios</strong><br /><strong></strong><br />I looked around for workarounds, and found nothing straightforward. A few fellows hinted that the boot partition shouldn't be huge because the location of the kernel must be in the first few gigs of hdd. So, all newbies who'll go with the default ubuntu installations are going to see this error (if they have large hard drives). Here is the simple workaround assuming that it's a new system/build:<br /><ul><li>You'll need to re-install ubuntu.</li><li>This time, choose manual partitioning option.</li><li>The problem will be solved if you'll make a separate boot partition (/boot) at the beginning of the disk. It's size can even be 32 mb, but I chose 128mb to be on safe side (this has something to do with ppl who play with kernels)</li></ul>Following is my new partition table:<br /><ul><li><strong>/boot (</strong>128mb, primary partition<strong>)</strong></li><li><strong>/ (</strong>20gb, primary partition<strong>)</strong></li><li><strong>swap (</strong>2gb, logical partition<strong>)</strong></li><li><strong>/home (</strong>900+gb, logical partition<strong>)</strong></li></ul><p>Benefits:</p><ul><li>I can update my ubuntu installation without messing with my home folder.</li><li>I don't really need a swap, but I've too much of free space :p</li><li>Twenty gigs for Root partition (/) is enough for default installation and many softwares.</li><li>Above all, separating boot partition helped me to get rid of <strong><a href="http://wiki.linuxquestions.org/wiki/GRUB">Error 18</a></strong></li></ul><p><a href="http://ubuntuforums.org/showthread.php?p=7389558#post7389558"><strong>My next step</strong></a> - to use some hypervisor and ensure a separation of concern. Primarily, I want to isolate my (future) webserver from everything else I'll be doing on this machine. I know XEN and VMWare ESXI. I am analyzing the <a href="http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939"><strong>comparisons</strong></a> of both; with all I know by now, I might settle down for Xen. </p><p>Above all, I am loving it :)</p>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-60003078821078934712009-05-28T21:23:00.001-04:002009-05-28T21:26:06.213-04:00If research papers had a comment section..<p><a href="http://lh4.ggpht.com/_kspooNI8sPE/Sh85HFzkBkI/AAAAAAAAAYc/JPgRa5ufxc0/s1600-h/phd052709s%5B10%5D.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="phd052709s" border="0" alt="phd052709s" src="http://lh4.ggpht.com/_kspooNI8sPE/Sh85Hotu2YI/AAAAAAAAAYk/llTF5wYNSz0/phd052709s_thumb%5B12%5D.gif?imgmax=800" width="378" height="480" /></a></p> Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com3tag:blogger.com,1999:blog-1780823879643395553.post-64783208533010291372009-05-26T01:21:00.006-04:002009-05-26T01:29:21.700-04:00The next big thing.It's going to be an Intel Quad Core based system; I'll get it all within hours. Here is the config:<br /><br /><strong>Processor</strong> - Q9400 (6mb cache, 2.66ghz, 4 cores,1333 mhz)<br /><strong>Memory</strong> - DDR3 6 GB<br /><strong>Motherboard</strong> - Intel DP45SG<br /><strong>HDD </strong>- SAMSUNG Spinpoint 1TB F1 HD103UJ 7200 RPM 32MB Cache SATA 3.0Gb/s 3.5" Hard Drive<br /><strong>Power Supply </strong>- Coolmax M-500B 500 Watt ATX 12V<br /><strong>Graphics </strong>- MSI N95GT-MD512-OC GeForce 9500 GT 512MB 128-bit GDDR2 PCI Express 2.0 x16<br /><strong>Casing </strong>- Antec Three Hundred ATX Case<br /><br />I am building this thing; it's fun. I am getting it all for $615, which is not bad at all! I was almost finalizing the Mac Mini, but within my budget, I was getting nothing better than a refurb core duo, 1 gig box; all crap.. I hope this one lives with me and my needs for atleast an year.<br /><br />p.s. Why did I buy one? because I hate to shutdown my notebook even once in a month :pSalman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-22169825614818057792009-04-08T19:27:00.001-04:002009-04-08T19:27:21.633-04:00Specialization is for Insects<p> <br /><a href="http://lh3.ggpht.com/_kspooNI8sPE/Sd0y1h_niUI/AAAAAAAAAXM/TR5ifQq5FUQ/s1600-h/The%20Origins%20of%20the%20Thesis%5B4%5D.png"><img title="The Origins of the Thesis" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="177" alt="The Origins of the Thesis" src="http://lh5.ggpht.com/_kspooNI8sPE/Sd0y2N_vP_I/AAAAAAAAAXQ/wkMicY9Oado/The%20Origins%20of%20the%20Thesis_thumb%5B2%5D.png?imgmax=800" width="404" border="0" /></a> </p> <p>A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.</p> <p>-Robert A. Heinlein <br /> <br /><em><strong>just a joke, no offense to all my fellows around :)</strong></em></p> Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com1tag:blogger.com,1999:blog-1780823879643395553.post-9318748151933869832009-04-05T18:37:00.002-04:002009-04-05T19:07:40.202-04:00The bugs in my lifeFor over a week now, I've been dealing with numerous errors, exception, time outs, and malfunctions related to the same problem. Few are,<br /><ul><li>Error Code : 2006 - MySQL server has gone away,</li><li>Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,</li><li>Error occurred during initialization of VM - Could not reserve enough space for object heap,</li><li>100 thousand Null Pointer Exceptions,</li><li>java.lang.ArrayIndexOutOfBoundsException: Array index out of range ..</li><li>Error Code : 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server .. </li><li>ssh: connect to host [server] port 22: Connection timed out</li><li>and many more :p</li></ul><p>And in the meantime, I improved my track record of </p><ul><li>Living with 1 coffee, 1 vitamin water and 1 meal per day..</li><li>Reworking for the 5th time on the same 400 lines of code and fail for the 5th time..</li><li>Thinking effectively for a complete solution .. while taking a bath..</li><li>Staring at random people and realizing the wrong after a bunch of seconds..</li></ul>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-26491267955113947262009-03-27T19:01:00.002-04:002009-03-27T19:31:49.119-04:00Talking about php frameworksI am thinking of updating my blog. Here is the thing: I can do more productive stuff than searching for good looking blogger templates.. Although I am an advocate of simple looking text oriented blogs, but still, I hate the restricted and limited blogger dashboard whenever I think of tweaking the layout somehow.<br /><br />Anyways, a geek <a href="http://www.farooqyousuf.com/">friend</a> talked about cakePHP. I looked it up and it seems interesting. The last time I worked with PHP, there was no hype of php frameworks, and perhaps the only one I heard about was by Zend. So, anyways, this world of frameworks is ranked <a href="http://www.phpframeworks.com/top-10-php-frameworks/">here</a>. By having a couple of sneak peaks at Yii-powered sites, I declare it to be boring to try out.. Next, I've got CodeIgnitor, CakePHP, and Akelos.<br /><br />On the other hand, I've got RubyOnRails!<br /><br />Now, I've worked with PHP and it's the easiest language I've worked with by far (considering the compiled languages I know). I wouldn't be comfortable to work with a framework that might make the whole process as easy as a <span style="font-weight: bold;">cake</span> (from cakePHP) and at the same time I am thinking to stick to php and do more practical things with it instead of trying out something new like Ruby.<br /><br />So, I'll think :) One stupid way of comparison is the time it takes to make a blog with these frameworks: RoR takes 15 minutes, and CodeIgnitor and Akelos take 20 minutes :p For more intelligent comparative analysis, I'll look around for resources. I am planning to export all my posts from this blog to my new blog (I don't know how this work though) ..Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com5tag:blogger.com,1999:blog-1780823879643395553.post-87211997515494611492009-03-25T14:48:00.001-04:002009-03-25T14:49:48.291-04:00OnLive<p><a href="http://lh3.ggpht.com/_kspooNI8sPE/Scp8gEsIvOI/AAAAAAAAAWM/Cvsiyxog0JM/s1600-h/screen001%5B8%5D.jpg"><img title="screen001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="328" alt="screen001" src="http://lh6.ggpht.com/_kspooNI8sPE/Scp8gvOJnkI/AAAAAAAAAWQ/-fbZeNFL5lM/screen001_thumb%5B6%5D.jpg?imgmax=800" width="504" border="0" /></a> </p> <p>Although it’s a neat idea, but I doubt it to be the next big thing in gaming world. It’s only targeting a small niche of gamers: those who have high speed internet connections!</p> <p>The big question - why do I need it in the first place? If it’s not priced significantly lower than it’s competitor big fishes, then hardcore gamers would surely prefer the ugly big boxes over unexpected interruptions in their gaming performance due to primary dependence on internet connection.</p> <p>[<a href="http://www.onlive.com/" target="_blank">more about onLive</a>]</p> Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-32245615195885904712009-03-23T16:07:00.001-04:002009-03-23T16:07:58.599-04:00An Honest Scammer<p><a href="http://lh3.ggpht.com/_kspooNI8sPE/ScfsHEbr0HI/AAAAAAAAAV8/l-8xTISCky0/s1600-h/wow2%5B3%5D.jpg"><img title="wow2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="705" alt="wow2" src="http://lh4.ggpht.com/_kspooNI8sPE/ScfsHvf-8UI/AAAAAAAAAWA/aMvb6EIaDow/wow2_thumb%5B1%5D.jpg?imgmax=800" width="504" border="0" /></a></p> Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com2tag:blogger.com,1999:blog-1780823879643395553.post-72946302558599269862009-02-14T16:53:00.004-05:002009-02-14T17:29:18.475-05:00honda student 1999 civic salman sedan jamali google thesisFew days back, I bought a used car. It's an awesome deal, but still a used car and hence, I am looking for friends who are mechanics :p Anyways, I ran to honda and asked them to inspect <a href="http://www.internetautoguide.com/1999/honda/civic/lx-sedan/1073/index.html">my car</a>. They charged me $105 and with a smiling face smashed on my face a bunch of repair recommendations. So I was supposed to prioritize this list and tackle each one by one under a limited, poor-ish and a miserable budget. In the mean time, being a nerd googler, I was able to investigate a lot about the geeky terms of car mechanics and common problems and their solutions. Just today, I realized that I know a lot more than I knew about a car's anatomy, e.g. I can refill my coolant, fuel my car by myself, etc.<br /><br />following are few of my recent search strings on google:<br /><br /><ul><li>how to check fuse of auxiliary power outlet civic 99</li><li>cigarette outlet not working civic 99</li><li>is my coolant leaking? civic 99</li><li>what is oxygen sensor?</li><li>what is primary oxygen sensor 02 civic 99</li><li>how to attach a number plate on front bumper</li><li>lost my driver's license dmv reporting</li><li>zune fm transmitter</li><li>zune car kit</li><li>best fm transmitter reviews</li><li>pioneer car cd player deal</li><li>sony car cd player deal</li><li>magellon gps deals</li><li>garmin gps deals</li><li>garmin vs magellon vs tomtom</li><li>navteq versus teleatlas maps</li><li>samsung bluetooth headset deals</li><li>samsung wep200 vs wep500</li><li>samsung wep200 vs wep410</li><li>antifreez coolant autoparts</li><li>1999 honda civic mpg</li><li>1999 honda civic lx kbb</li><li>magellon 4210 review cnet</li><li>progressive insurance</li><li>what is liability insurance</li><li>geico</li><li>mr car wash</li><li>..</li><li>..</li></ul><br />and seems like this list would go on and on.. errr. Anyways, above all, i wish i could drive here the way we used to do it in Pakistan.. :D I don't like it, it's so peaceful here. I notice people actually waiting for the red to be green and literally stopping when it's about to be red! See that's not way, you're wasting fuel, your time and hmm.. some excitement :D We are not supposed to switch lanes with indications and thank people for letting you cross.. it's all right, just show some aggression in your acceleration and they'll stop.. it works always :D<br /><br />And what's up with these service stations here?! $90 just to check for the problem in the power outlet? $600-$700 to replace timing belt that cost's $40.. I know it's labor, but still.. it's so systematic that you just don't have any cheaper options, or perhaps i'll get to find few eventually.<br /><br />One more thing, every third mechanic is a Pakistani just like every third software engineer is an Indian and every third human being around is a Chinese :D<br /><br />To summarize, after 2.5 months of craigslisting, I think I've got a nice deal! :)<br /><br />tht's it for now, over n out.Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com7tag:blogger.com,1999:blog-1780823879643395553.post-65510334385353039392009-02-04T00:15:00.002-05:002009-02-04T00:17:20.301-05:00Digg's new recommendation engine<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1242909&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1242909&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br /><br /><br />Now this is what I call Science :DSalman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-91366728912783690072009-02-03T16:59:00.007-05:002010-06-23T16:12:37.008-04:00Our jokes, about us.I came across the following comics.. they all relate to the software development world. Although they might not be funny enough for non-techies, but they justify a lot the source of our hopelessness :p<br /><br />Suggestion: click on the image for bigger size.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBiw1SOTI/AAAAAAAAAVk/sQx7Jd_Txls/s1600-h/2.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 289px; height: 400px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBiw1SOTI/AAAAAAAAAVk/sQx7Jd_Txls/s400/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697764569495858" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBiuDkHiI/AAAAAAAAAVc/r85NQr_UP84/s1600-h/2+%2813%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 254px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBiuDkHiI/AAAAAAAAAVc/r85NQr_UP84/s400/2+%2813%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697763824082466" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBinMPncI/AAAAAAAAAVU/H54GNIURqFk/s1600-h/2+%2812%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 377px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBinMPncI/AAAAAAAAAVU/H54GNIURqFk/s400/2+%2812%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697761981439426" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBihXj4wI/AAAAAAAAAVM/guRK05lZntE/s1600-h/2+%2811%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 207px; height: 400px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBihXj4wI/AAAAAAAAAVM/guRK05lZntE/s400/2+%2811%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697760418292482" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBc6bHo9I/AAAAAAAAAVE/HSuccDeGKW8/s1600-h/2+%289%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 316px; height: 400px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBc6bHo9I/AAAAAAAAAVE/HSuccDeGKW8/s400/2+%289%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697664064889810" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBckcknWI/AAAAAAAAAU8/pl5IDYWon0E/s1600-h/2+%2810%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBckcknWI/AAAAAAAAAU8/pl5IDYWon0E/s400/2+%2810%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697658165402978" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBcmRvpeI/AAAAAAAAAU0/FIo5dWZCOYk/s1600-h/2+%288%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 131px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBcmRvpeI/AAAAAAAAAU0/FIo5dWZCOYk/s400/2+%288%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697658656859618" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBcd8U27I/AAAAAAAAAUs/7rXmnWS5rrk/s1600-h/2+%287%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 290px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBcd8U27I/AAAAAAAAAUs/7rXmnWS5rrk/s400/2+%287%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697656419539890" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/SYjBcf0qZXI/AAAAAAAAAUk/E0lNwnCJesk/s1600-h/2+%286%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 131px;" src="http://2.bp.blogspot.com/_kspooNI8sPE/SYjBcf0qZXI/AAAAAAAAAUk/E0lNwnCJesk/s400/2+%286%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697656924267890" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBT9PeBlI/AAAAAAAAAUc/voCE6q1j0r0/s1600-h/2+%285%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 140px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBT9PeBlI/AAAAAAAAAUc/voCE6q1j0r0/s400/2+%285%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697510202508882" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBTxWvE9I/AAAAAAAAAUU/9P6famuVdo4/s1600-h/2+%284%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 187px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBTxWvE9I/AAAAAAAAAUU/9P6famuVdo4/s400/2+%284%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697507011761106" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBT3JLagI/AAAAAAAAAUM/uWzaCozJE4I/s1600-h/2+%283%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBT3JLagI/AAAAAAAAAUM/uWzaCozJE4I/s400/2+%283%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697508565510658" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBT7LeUlI/AAAAAAAAAUE/qjdizqE8B58/s1600-h/2+%282%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 324px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBT7LeUlI/AAAAAAAAAUE/qjdizqE8B58/s400/2+%282%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697509648880210" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBToCLsSI/AAAAAAAAAT8/JSFa6unvO1c/s1600-h/2+%281%29.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 179px;" src="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBToCLsSI/AAAAAAAAAT8/JSFa6unvO1c/s400/2+%281%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5298697504509636898" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/TCJql2J2EfI/AAAAAAAAAds/PVjoZZZbuvI/s1600/92764.strip.print.gif"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 124px;" src="http://2.bp.blogspot.com/_kspooNI8sPE/TCJql2J2EfI/AAAAAAAAAds/PVjoZZZbuvI/s400/92764.strip.print.gif" alt="" id="BLOGGER_PHOTO_ID_5486064494515196402" border="0" /></a>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com2tag:blogger.com,1999:blog-1780823879643395553.post-70391184114170369172009-02-01T17:55:00.003-05:002009-02-01T18:12:45.628-05:00.. and 694000 songs were downloaded illegally ..<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/lUMf7FWGdCw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/lUMf7FWGdCw&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />a bunch of mind-blowing facts! But still, I am just wondering how this combinatorial explosion of facilities and ease of staying updated isn't enough for us to seek a few pretty simple reality checks on what's happening around us :p .. instead we rely on a bunch of cute & dumb anchors on the tv! grrr..Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com0tag:blogger.com,1999:blog-1780823879643395553.post-68284956338584854212009-01-25T02:13:00.009-05:002009-01-25T02:59:29.499-05:00A Green Leaf-Like Bug!These images are the courtesy of a friend in Pakistan. I didn't try to discover if he loves photography, but I am sure that these are awesome captures. This would definitely amaze anyone like me; anyone living in a place where you waste 2 hours of planning after seeing a couple of dead cockroaches around the kitchen cabinets :p<br /><br />Anyways, This thing is called Microcentrum retinerve. It sounds something like <a href="http://buzz.ifas.ufl.edu/032sl.wav">this</a>; actually, this is how I can recall that it's very common around. Following is it's classification:<br /><ul><li><span style="font-weight: bold;">Class </span>Insecta</li><li> <span style="font-weight: bold;">Order </span>Orthoptera</li><li> <span style="font-weight: bold;">Suborder </span>Ensifera</li><li> <span style="font-weight: bold;">Family </span>Tettigoniidae</li><li> <span style="font-weight: bold;">Species </span>Microcentrum retinerve</li></ul><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1JIGtuI/AAAAAAAAATI/-wHEIn-m8ro/s1600-h/fly4.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1JIGtuI/AAAAAAAAATI/-wHEIn-m8ro/s400/fly4.jpg" alt="" id="BLOGGER_PHOTO_ID_5295126866561513186" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1G5uwxI/AAAAAAAAATA/zlyU6D2hriw/s1600-h/fly3.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1G5uwxI/AAAAAAAAATA/zlyU6D2hriw/s400/fly3.jpg" alt="" id="BLOGGER_PHOTO_ID_5295126865964352274" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/SXwR1LPbLtI/AAAAAAAAAS4/z0VNxX3KcuU/s1600-h/fly2.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_kspooNI8sPE/SXwR1LPbLtI/AAAAAAAAAS4/z0VNxX3KcuU/s400/fly2.jpg" alt="" id="BLOGGER_PHOTO_ID_5295126867129085650" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kspooNI8sPE/SXwRr4uZeSI/AAAAAAAAASw/N6uforG4zbk/s1600-h/fly1.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_kspooNI8sPE/SXwRr4uZeSI/AAAAAAAAASw/N6uforG4zbk/s400/fly1.jpg" alt="" id="BLOGGER_PHOTO_ID_5295126707539900706" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/SXwU5jAZ7EI/AAAAAAAAATY/rRmPLTj1ff4/s1600-h/fly5.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_kspooNI8sPE/SXwU5jAZ7EI/AAAAAAAAATY/rRmPLTj1ff4/s400/fly5.jpg" alt="" id="BLOGGER_PHOTO_ID_5295130240762899522" border="0" /></a><br /><br /><span style="font-size:85%;">[image courtesy: <a href="http://www.blogger.com/syawara1@hotmail.com">Yawar Abbas</a>]</span>Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com5tag:blogger.com,1999:blog-1780823879643395553.post-20270859734379186982009-01-11T17:47:00.003-05:002009-01-11T18:50:52.514-05:00How to quantify the frustration of our youth!Ok. First of all, a disclaimer - I wasn't looking for one of these predicted results!<br /><br /><a href="http://1.bp.blogspot.com/_kspooNI8sPE/SWp3Mf3fFRI/AAAAAAAAASc/E000FUh_Ijc/s1600-h/how+to+know.bmp"><img id="BLOGGER_PHOTO_ID_5290171768896427282" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 306px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_kspooNI8sPE/SWp3Mf3fFRI/AAAAAAAAASc/E000FUh_Ijc/s400/how+to+know.bmp" border="0" /></a><br /><br />My query was like "how to know if a timing belt has been changed". After driving a car for 5-6 years back in my country.. all I learned about the technicalities of cars was limited to refueling it, excellent gear shifting, and racing with odd one outs in random traffic. I am also proud of the fact that because of me and my driving skills, a number of human beings thanked God sincerely that He saved them, who knows that might be a turning point in their lives to submission to All-mighty :D<br /><br />Anyways, I wanted to search for some articles about discovering the last time a timing belt of a car was changed.. there was this civic (yeh still looking for a car), the owner didn't had any related receipt/records, so I thought that there must be someway for a mechanic to get to know this by a brief inspection.. that's it, over and out.Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com3tag:blogger.com,1999:blog-1780823879643395553.post-61939709079138491222009-01-09T02:17:00.005-05:002010-08-20T00:58:39.630-04:00the ridiculous perspective.Sometimes you want to sit & think, but sometimes you just want to sit. Sometimes you want to plan out things, but sometimes, you just don't want to think about plans. This isn't ridiculous, because I am sure that many a times we miss the 'kid' that we once were. That kid was so natural, free of troubles, and all stuffed up with naive patriotism and the desires to score high in games, only. Yes, I miss him, no shame!<br /><br />But, above all, no one's to blame here; I know we're supposed to move on. I'll move on, Inshallah, but I have my memories.. so deep-rooted somewhere that no brainwashing detergent can erase their traces. I feel of the recap as a seizure, a malfunction.. but when I recover from it, I always pop out with a lesson, a simple and clean guideline for the incoming tremors. And, I move on.<br /><br />Still sometimes, I desire a free fall, as in skydiving; but sometimes, I just want to dive and <a href="http://244343.blogspot.com/2009/01/flying-high-high.html"><span style="font-weight:bold;">fly away</span></a>..Salman Jamalihttp://www.blogger.com/profile/00795315173723743264noreply@blogger.com2