<?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-1780823879643395553</id><updated>2012-01-18T01:02:04.911-05:00</updated><category term='Underwater astonishments - Camouflaging Octopus Footage'/><category term='virtualization virtualbox system configuration host guest'/><category term='grails groovy myisam innodb mysql constraint'/><category term='shoutreel'/><category term='Robert A. Heinlein Lazarus Long'/><category term='Chuck Hagel'/><category term='ubervu sentiment analysis opinion mining'/><category term='LLVM GCC Compiler Low Level Virtual Machine'/><category term='clusty carrot vivisimo cluster clustering search engine'/><category term='Microsoft Yahoo Bid 40 Billion'/><category term='Popularity Prediction'/><category term='errors exceptions malfunctions'/><category term='name statistics america pokemyname'/><category term='Principles Agile Programming'/><category term='collapse artificial intelligence industry'/><category term='DTrace Solaris Keylogger Reverse engineering'/><category term='Fairfax Tornado Warning'/><category term='Large Hadron Collider by Brian Cox'/><category term='Nebraska&apos;s senior U.S. Senator Farewell poem'/><category term='Online Compiler IDE Live IDE'/><category term='Jabber code library agsXMPP SDK'/><category term='Comment Mining'/><category term='Comparison of Enum Types - Java vs C# vs C++'/><category term='IT IQ Test Game'/><category term='facts of the future world'/><category term='perfect rainbow'/><category term='liferay'/><category term='software development comics'/><category term='Islam Prophet Muhammad Quran Allah'/><category term='OpenSolaris Solaris Installation NDIS wireless'/><category term='Dua&apos; to help you with your studying'/><category term='How to quantify the frustration of our youth'/><category term='desktop system quad core Q9400 DP45SG intel'/><category term='Data Mining in Social Networks'/><category term='Algorithm Sum of square of each digit of an integer'/><category term='Solaris threading model kernel architecture'/><category term='amd phenom 940 biostar 790gx error 18 ubuntu partition manual virtualization xen esxi'/><category term='bill clinton george mason university hillary'/><category term='Digg'/><category term='OntologyWorks Semantic Web RIF'/><category term='Social Network Analysis'/><category term='performance tuning'/><category term='Hillary Clinton George Mason University'/><category term='VisualVM'/><category term='benefits virtualization reasons uses advantages'/><category term='Compiled versus interpreted languages'/><category term='Tan Le Brings the Force to Life with Mind Control Device'/><category term='Messing around Facebook'/><category term='MS Thesis Semantic Web George Mason'/><category term='Where do you sit in class'/><category term='honda student 1999 civic salman sedan jamali google thesis'/><category term='grinder'/><category term='VisualVM 1.0 JDK 6 Update 7'/><category term='Mac hack contest'/><category term='George Mason University Ranking'/><category term='struts pageContext struts-tags jsp liferay'/><category term='george mason university computer science'/><category term='Association for the Advancement of Artificial Intelligence AAAI'/><category term='Recovering OpenSolaris Solairs Linux after Windows Installation partition GRUB bootloader lost'/><category term='Virtualization from Sun Microsystems'/><category term='How to Do a Proper Push-Up'/><category term='the ridiculous perspective'/><category term='php tutorials resources mysql'/><category term='Python NASA Rapid Application Development User Interface ROI Case Study Scientifcic Programming'/><category term='kid monster funny'/><category term='semantic web metacrap metadata'/><category term='unchrome chrome google'/><category term='A Green Leaf-Like Bug pakistan yawar abbas'/><category term='Digg&apos;s new recommendation engine'/><title type='text'>Salman Jamali</title><subtitle type='html'>"every right implies a responsibility; every opportunity, an obligation; every possession, a duty"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7321268455407856623</id><published>2011-01-23T00:04:00.004-05:00</published><updated>2011-01-23T00:09:41.800-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shoutreel'/><title type='text'>Shoutreel v1.0 Launched!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.shoutreel.com"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7321268455407856623?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7321268455407856623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7321268455407856623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7321268455407856623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7321268455407856623'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2011/01/shoutreel-launched.html' title='Shoutreel v1.0 Launched!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kspooNI8sPE/TTu3qAmKbCI/AAAAAAAAAhc/tIoZD4JsEDs/s72-c/Screen%2Bshot%2B2011-01-23%2Bat%2B12.07.28%2BAM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7140601628163541569</id><published>2010-11-03T11:17:00.002-04:00</published><updated>2010-11-03T11:21:16.494-04:00</updated><title type='text'>Got published, again!</title><content type='html'>&lt;span style="font-weight:bold;"&gt;What?&lt;/span&gt; .. "Defining a Coparticipation Network Using Comments on Digg"&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Where?&lt;/span&gt; .. IEEE Intelligent Systems&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Why?&lt;/span&gt; .. Because &lt;a href="http://cs.gmu.edu/~hrangwal/"&gt;he's&lt;/a&gt; a genius.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Link: http://www.computer.org/portal/web/csdl/doi/10.1109/MIS.2010.98&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7140601628163541569?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7140601628163541569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7140601628163541569' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7140601628163541569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7140601628163541569'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/11/got-published-again.html' title='Got published, again!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-944465435908193991</id><published>2010-08-24T01:35:00.001-04:00</published><updated>2010-08-24T01:36:41.763-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='grinder'/><category scheme='http://www.blogger.com/atom/ns#' term='performance tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='VisualVM'/><title type='text'>Liferay Performance Tuning</title><content type='html'>&lt;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; "&gt;&lt;div class="post-body entry-content" style="width: 486px; position: relative; line-height: 1.4; "&gt;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 &lt;a href="http://grinder.sourceforge.net/" style="text-decoration: none; color: rgb(85, 130, 0); "&gt;Grinder&lt;/a&gt; and just recently learned about the visually appealing &lt;a href="https://visualvm.dev.java.net/" style="text-decoration: none; color: rgb(85, 130, 0); "&gt;VisualVM&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Let's see. I'll try to update this post with results, if and when I get them :)&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-944465435908193991?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/944465435908193991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=944465435908193991' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/944465435908193991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/944465435908193991'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/08/liferay-performance-tuning.html' title='Liferay Performance Tuning'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-949840125931046693</id><published>2010-07-29T11:49:00.004-04:00</published><updated>2010-07-29T15:26:43.831-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='struts pageContext struts-tags jsp liferay'/><title type='text'>Struts2 - Adding Properties to the pageContext</title><content type='html'>In 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:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&amp;lt;s:property value="results" /&gt;&lt;/span&gt;&lt;/blockquote&gt;where &lt;i&gt;s&lt;/i&gt; is an alias for struts-tags tag library and &lt;i&gt;results&lt;/i&gt; is a Collection (can be anything) that we've populated in &lt;i&gt;execute&lt;/i&gt; 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 &lt;i&gt;getResults()&lt;/i&gt; getter method.&lt;br /&gt;This is clean. But it should be noted that &lt;i&gt;results&lt;/i&gt; is not available in the &lt;i&gt;pageContext&lt;/i&gt; of the page being processed currently. So, for example, if you want to use the &lt;i&gt;results&lt;/i&gt; collection inside a jsp scriptlet by doing something like&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;pageContext.getAttribute("results")&lt;/span&gt;&lt;/blockquote&gt;this will not work. You cannot even say something like&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;request.getAttribute("results")&lt;/span&gt;&lt;/blockquote&gt;Anyways, it's possible and pretty clean too :) All you've to do is to set the &lt;i&gt;pageContext&lt;/i&gt; attribute by using another struts tag,&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&amp;lt;s:set name="pageResults" value="%{results}" /&gt;&lt;/span&gt;&lt;/blockquote&gt;This is equivalent to&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;pageContext.setAttribute("pageResults",results)&lt;/span&gt;&lt;/blockquote&gt;but the later won't work. The name is what you want to name the &lt;i&gt;results&lt;/i&gt; in the &lt;i&gt;pageContext&lt;/i&gt;, like a variable name; and the value is its value. So here, Set tag will call &lt;i&gt;getResults()&lt;/i&gt; and assign the returned value to a &lt;i&gt;pageContext&lt;/i&gt; variable called &lt;i&gt;pageResults&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;That's it :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-949840125931046693?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/949840125931046693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=949840125931046693' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/949840125931046693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/949840125931046693'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/07/struts2-adding-properties-to.html' title='Struts2 - Adding Properties to the pageContext'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-1907554733887169405</id><published>2010-06-11T10:55:00.004-04:00</published><updated>2010-06-11T11:18:54.915-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grails groovy myisam innodb mysql constraint'/><title type='text'>Grails and MySQL - Enforcing Foreign Key Constraints</title><content type='html'>&lt;b&gt;Problem&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;BookAuthor author&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I was hinted that this can be prevented by using InnoDB as the storage engine for those particular tables. For details, read &lt;a href="http://www.builderau.com.au/program/mysql/soa/Using-foreign-keys-and-referential-integrity-in-MySQL/0,339028784,339237600,00.htm"&gt;this&lt;/a&gt;, or &lt;a href="http://tag1consulting.com/MySQL_Engines_MyISAM_vs_InnoDB"&gt;this&lt;/a&gt;. For a quick solution, all you've to do is to add the following in your DataSource.groovy in the dataSource enclosure:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dialect = 'org.hibernate.dialect.MySQL5InnoDBDialect'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 :)&lt;br /&gt;&lt;br /&gt;Happy coding, thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-1907554733887169405?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/1907554733887169405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=1907554733887169405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/1907554733887169405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/1907554733887169405'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/06/grails-and-mysql-enforcing-foreign-key.html' title='Grails and MySQL - Enforcing Foreign Key Constraints'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2791440185247614477</id><published>2010-04-12T09:45:00.002-04:00</published><updated>2010-04-12T09:47:30.484-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Islam Prophet Muhammad Quran Allah'/><title type='text'>Back to Straight Path</title><content type='html'>&lt;object height="340" width="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GWPHZvetcoc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/GWPHZvetcoc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2791440185247614477?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2791440185247614477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2791440185247614477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2791440185247614477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2791440185247614477'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/04/back-to-straight-path.html' title='Back to Straight Path'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-1985697689331053138</id><published>2010-03-31T11:32:00.002-04:00</published><updated>2010-03-31T11:40:01.015-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubervu sentiment analysis opinion mining'/><title type='text'>About Sentiment Analysis</title><content type='html'>http://www.ubervu.com/help/analytics/#analyticsq6&lt;br /&gt;&lt;br /&gt;I wish I had filed a patent or something :(&lt;br /&gt;&lt;br /&gt;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 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-1985697689331053138?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/1985697689331053138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=1985697689331053138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/1985697689331053138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/1985697689331053138'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/03/about-sentiment-analysis.html' title='About Sentiment Analysis'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7023232132951068349</id><published>2010-03-24T03:13:00.004-04:00</published><updated>2010-03-30T10:36:15.005-04:00</updated><title type='text'>Feelings poster</title><content type='html'>I am just loving this!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_kspooNI8sPE/S6m7u4HvzYI/AAAAAAAAAcE/DZBBjMxdV5s/s1600/feelings-poster-2.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://www.ctherapy.com/Results_Pages/descriptions.asp?ProductID=M1000&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7023232132951068349?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7023232132951068349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7023232132951068349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7023232132951068349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7023232132951068349'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2010/03/feelings-poster.html' title='Feelings poster'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kspooNI8sPE/S6m7u4HvzYI/AAAAAAAAAcE/DZBBjMxdV5s/s72-c/feelings-poster-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5495522258676764185</id><published>2009-08-05T00:37:00.001-04:00</published><updated>2009-08-05T01:15:08.234-04:00</updated><title type='text'>Travelling Salesman Problem: Solved!</title><content type='html'>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_kspooNI8sPE/SnkMgFu_L3I/AAAAAAAAAZQ/KDVFUWJMdy0/s1600-h/travelling_salesman_problem%5B6%5D.png"&gt;&lt;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" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;em&gt;[source: &lt;/em&gt;&lt;a title="http://xkcd.com/399/" href="http://xkcd.com/399/"&gt;&lt;em&gt;http://xkcd.com/399/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;/em&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-5495522258676764185?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5495522258676764185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5495522258676764185' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5495522258676764185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5495522258676764185'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/08/travelling-salesman-problem-solved.html' title='Travelling Salesman Problem: Solved!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_kspooNI8sPE/SnkMloHPOGI/AAAAAAAAAZY/wns98MTH5Kg/s72-c/travelling_salesman_problem_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2576923701516768807</id><published>2009-07-25T19:56:00.008-04:00</published><updated>2009-07-25T20:13:31.981-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Popularity Prediction'/><category scheme='http://www.blogger.com/atom/ns#' term='Comment Mining'/><category scheme='http://www.blogger.com/atom/ns#' term='Social Network Analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='Digg'/><title type='text'>Digging Digg: Comment Mining, Popularity Prediction, and Social Network Analysis</title><content type='html'>Recently, one of my research works got accepted at &lt;em&gt;&lt;strong&gt;The 2009 International Conference on Web Information Systems and Mining (&lt;a href="http://wism-aici2009.shiep.edu.cn/"&gt;WISM' 09&lt;/a&gt;)&lt;/strong&gt;&lt;/em&gt;. The conference proceedings will be published by IEEE-CS and will be indexed by both EI (Compendex) and ISTP. Following is the abstract:&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Using comment information available from Digg we define&lt;br /&gt;a co-participation network between users. We focus on&lt;br /&gt;the analysis of this implicit network, and study the behavioral&lt;br /&gt;characteristics of users. Using an entropy measure,&lt;br /&gt;we infer that users at Digg are not highly focused and&lt;br /&gt;participate across a wide range of topics. We also use the&lt;br /&gt;comment data and social network derived features to predict&lt;br /&gt;the popularity of online content linked at Digg using a&lt;br /&gt;classification and regression framework. We show promising&lt;br /&gt;results for predicting the popularity scores even after limiting&lt;br /&gt;our feature extraction to the first few hours of comment&lt;br /&gt;activity that follows a Digg submission.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="left"&gt;I am grateful to my advisor, &lt;a href="http://www.blogger.com/www.cs.gmu.edu/~hrangwal/"&gt;Dr. Huzefa Rangwala&lt;/a&gt;, who pushed me real hard and stayed with me to get it done!&lt;/div&gt;&lt;br /&gt;&lt;div align="left"&gt;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: &lt;a href="http://cs.gmu.edu/~tr-admin/papers/GMU-CS-TR-2009-7.pdf"&gt;http://cs.gmu.edu/~tr-admin/papers/GMU-CS-TR-2009-7.pdf&lt;/a&gt;. Also, the paper will soon be available through IEEE.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2576923701516768807?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2576923701516768807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2576923701516768807' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2576923701516768807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2576923701516768807'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/07/digging-digg-comment-mining-popularity.html' title='Digging Digg: Comment Mining, Popularity Prediction, and Social Network Analysis'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-98714925638198244</id><published>2009-06-04T00:15:00.006-04:00</published><updated>2009-06-05T05:55:28.828-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amd phenom 940 biostar 790gx error 18 ubuntu partition manual virtualization xen esxi'/><title type='text'>The next big thing. [2]</title><content type='html'>There was a &lt;a href="http://www.tomshardware.com/forum/265924-31-configuration"&gt;&lt;strong&gt;change&lt;/strong&gt;&lt;/a&gt; in plan; following is the configuration of my newest machine:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;AMD Phenom 2 x4 940 (3.0 ghz, 4 cores)&lt;/li&gt;&lt;li&gt;Biostar Ta790gx (amd 790gx chipset, radeon 3300 builtin)&lt;/li&gt;&lt;li&gt;GSkills 4 GB RAM (ddr2, 1060mhz)&lt;/li&gt;&lt;li&gt;Western Digital 1 Terabyte HDD (32mb cache, 7200 rpm)&lt;/li&gt;&lt;li&gt;Antec 300 ATX case and Anter 430w PSU&lt;/li&gt;&lt;li&gt;Samsung 23' High Definition LCD Monitor (max. res. 1920 x 1080, 5 ms response time)&lt;/li&gt;&lt;/ul&gt;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 &lt;strong&gt;$650 &lt;/strong&gt;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:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;error 18 selected cylinder exceeds maximum supported by bios&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You'll need to re-install ubuntu.&lt;/li&gt;&lt;li&gt;This time, choose manual partitioning option.&lt;/li&gt;&lt;li&gt;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)&lt;/li&gt;&lt;/ul&gt;Following is my new partition table:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;/boot (&lt;/strong&gt;128mb, primary partition&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;/ (&lt;/strong&gt;20gb, primary partition&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;swap (&lt;/strong&gt;2gb, logical partition&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;/home (&lt;/strong&gt;900+gb, logical partition&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Benefits:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;I can update my ubuntu installation without messing with my home folder.&lt;/li&gt;&lt;li&gt;I don't really need a swap, but I've too much of free space :p&lt;/li&gt;&lt;li&gt;Twenty gigs for Root partition (/) is enough for default installation and many softwares.&lt;/li&gt;&lt;li&gt;Above all, separating boot partition helped me to get rid of &lt;strong&gt;&lt;a href="http://wiki.linuxquestions.org/wiki/GRUB"&gt;Error 18&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://ubuntuforums.org/showthread.php?p=7389558#post7389558"&gt;&lt;strong&gt;My next step&lt;/strong&gt;&lt;/a&gt; - 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 &lt;a href="http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939"&gt;&lt;strong&gt;comparisons&lt;/strong&gt;&lt;/a&gt; of both; with all I know by now, I might settle down for Xen. &lt;/p&gt;&lt;p&gt;Above all, I am loving it :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-98714925638198244?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/98714925638198244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=98714925638198244' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/98714925638198244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/98714925638198244'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/06/next-big-thing-2.html' title='The next big thing. [2]'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6000307882107893471</id><published>2009-05-28T21:23:00.001-04:00</published><updated>2009-05-28T21:26:06.213-04:00</updated><title type='text'>If research papers had a comment section..</title><content type='html'>&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_kspooNI8sPE/Sh85HFzkBkI/AAAAAAAAAYc/JPgRa5ufxc0/s1600-h/phd052709s%5B10%5D.gif"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6000307882107893471?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6000307882107893471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6000307882107893471' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6000307882107893471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6000307882107893471'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/05/if-research-papers-had-comment-section.html' title='If research papers had a comment section..'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_kspooNI8sPE/Sh85Hotu2YI/AAAAAAAAAYk/llTF5wYNSz0/s72-c/phd052709s_thumb%5B12%5D.gif?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6478320853301029137</id><published>2009-05-26T01:21:00.006-04:00</published><updated>2009-05-26T01:29:21.700-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desktop system quad core Q9400 DP45SG intel'/><title type='text'>The next big thing.</title><content type='html'>It's going to be an Intel Quad Core based system; I'll get it all within hours. Here is the config:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Processor&lt;/strong&gt; - Q9400 (6mb cache, 2.66ghz, 4 cores,1333 mhz)&lt;br /&gt;&lt;strong&gt;Memory&lt;/strong&gt; - DDR3 6 GB&lt;br /&gt;&lt;strong&gt;Motherboard&lt;/strong&gt; - Intel DP45SG&lt;br /&gt;&lt;strong&gt;HDD &lt;/strong&gt;- SAMSUNG Spinpoint 1TB F1 HD103UJ 7200 RPM 32MB Cache SATA 3.0Gb/s 3.5" Hard Drive&lt;br /&gt;&lt;strong&gt;Power Supply &lt;/strong&gt;- Coolmax M-500B 500 Watt ATX 12V&lt;br /&gt;&lt;strong&gt;Graphics &lt;/strong&gt;- MSI N95GT-MD512-OC GeForce 9500 GT 512MB 128-bit GDDR2 PCI Express 2.0 x16&lt;br /&gt;&lt;strong&gt;Casing &lt;/strong&gt;- Antec Three Hundred ATX Case&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;p.s. Why did I buy one? because I hate to shutdown my notebook even once in a month :p&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6478320853301029137?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6478320853301029137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6478320853301029137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6478320853301029137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6478320853301029137'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/05/next-big-thing.html' title='The next big thing.'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2216982561481805779</id><published>2009-04-08T19:27:00.001-04:00</published><updated>2009-04-08T19:27:21.633-04:00</updated><title type='text'>Specialization is for Insects</title><content type='html'>&lt;p&gt;   &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_kspooNI8sPE/Sd0y1h_niUI/AAAAAAAAAXM/TR5ifQq5FUQ/s1600-h/The%20Origins%20of%20the%20Thesis%5B4%5D.png"&gt;&lt;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" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;-Robert A. Heinlein   &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;&lt;strong&gt;just a joke, no offense to all my fellows around :)&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2216982561481805779?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2216982561481805779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2216982561481805779' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2216982561481805779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2216982561481805779'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/04/specialization-is-for-insects.html' title='Specialization is for Insects'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_kspooNI8sPE/Sd0y2N_vP_I/AAAAAAAAAXQ/wkMicY9Oado/s72-c/The%20Origins%20of%20the%20Thesis_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-931874815193386983</id><published>2009-04-05T18:37:00.002-04:00</published><updated>2009-04-05T19:07:40.202-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='errors exceptions malfunctions'/><title type='text'>The bugs in my life</title><content type='html'>For over a week now, I've been dealing with numerous errors, exception, time outs, and malfunctions related to the same problem. Few are,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Error Code : 2006 - MySQL server has gone away,&lt;/li&gt;&lt;li&gt;Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,&lt;/li&gt;&lt;li&gt;Error occurred during initialization of VM - Could not reserve enough space for object heap,&lt;/li&gt;&lt;li&gt;100 thousand Null Pointer Exceptions,&lt;/li&gt;&lt;li&gt;java.lang.ArrayIndexOutOfBoundsException: Array index out of range ..&lt;/li&gt;&lt;li&gt;Error Code : 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server .. &lt;/li&gt;&lt;li&gt;ssh: connect to host [server] port 22: Connection timed out&lt;/li&gt;&lt;li&gt;and many more :p&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And in the meantime, I improved my track record of &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Living with 1 coffee, 1 vitamin water and 1 meal per day..&lt;/li&gt;&lt;li&gt;Reworking for the 5th time on the same 400 lines of code and fail for the 5th time..&lt;/li&gt;&lt;li&gt;Thinking effectively for a complete solution .. while taking a bath..&lt;/li&gt;&lt;li&gt;Staring at random people and realizing the wrong after a bunch of seconds..&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/1780823879643395553-931874815193386983?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/931874815193386983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=931874815193386983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/931874815193386983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/931874815193386983'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/04/bugs-in-my-life.html' title='The bugs in my life'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2649126795511394726</id><published>2009-03-27T19:01:00.002-04:00</published><updated>2009-03-27T19:31:49.119-04:00</updated><title type='text'>Talking about php frameworks</title><content type='html'>I 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.&lt;br /&gt;&lt;br /&gt;Anyways, a geek &lt;a href="http://www.farooqyousuf.com/"&gt;friend&lt;/a&gt; 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 &lt;a href="http://www.phpframeworks.com/top-10-php-frameworks/"&gt;here&lt;/a&gt;. 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.&lt;br /&gt;&lt;br /&gt;On the other hand, I've got RubyOnRails!&lt;br /&gt;&lt;br /&gt;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 &lt;span style="font-weight: bold;"&gt;cake&lt;/span&gt; (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.&lt;br /&gt;&lt;br /&gt;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) ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2649126795511394726?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2649126795511394726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2649126795511394726' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2649126795511394726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2649126795511394726'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/03/talking-about-php-frameworks.html' title='Talking about php frameworks'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8721199751549461149</id><published>2009-03-25T14:48:00.001-04:00</published><updated>2009-03-25T14:49:48.291-04:00</updated><title type='text'>OnLive</title><content type='html'>&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_kspooNI8sPE/Scp8gEsIvOI/AAAAAAAAAWM/Cvsiyxog0JM/s1600-h/screen001%5B8%5D.jpg"&gt;&lt;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" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;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!&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://www.onlive.com/" target="_blank"&gt;more about onLive&lt;/a&gt;]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8721199751549461149?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8721199751549461149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8721199751549461149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8721199751549461149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8721199751549461149'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/03/onlive.html' title='OnLive'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_kspooNI8sPE/Scp8gvOJnkI/AAAAAAAAAWQ/-fbZeNFL5lM/s72-c/screen001_thumb%5B6%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3224561519588590471</id><published>2009-03-23T16:07:00.001-04:00</published><updated>2009-03-23T16:07:58.599-04:00</updated><title type='text'>An Honest Scammer</title><content type='html'>&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_kspooNI8sPE/ScfsHEbr0HI/AAAAAAAAAV8/l-8xTISCky0/s1600-h/wow2%5B3%5D.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3224561519588590471?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3224561519588590471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3224561519588590471' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3224561519588590471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3224561519588590471'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/03/honest-scammer.html' title='An Honest Scammer'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_kspooNI8sPE/ScfsHvf-8UI/AAAAAAAAAWA/aMvb6EIaDow/s72-c/wow2_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7294630255859926986</id><published>2009-02-14T16:53:00.004-05:00</published><updated>2009-02-14T17:29:18.475-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='honda student 1999 civic salman sedan jamali google thesis'/><title type='text'>honda student 1999 civic salman sedan jamali google thesis</title><content type='html'>Few 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 &lt;a href="http://www.internetautoguide.com/1999/honda/civic/lx-sedan/1073/index.html"&gt;my car&lt;/a&gt;. 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.&lt;br /&gt;&lt;br /&gt;following are few of my recent search strings on google:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;how to check fuse of auxiliary power outlet civic 99&lt;/li&gt;&lt;li&gt;cigarette outlet not working civic 99&lt;/li&gt;&lt;li&gt;is my coolant leaking? civic 99&lt;/li&gt;&lt;li&gt;what is oxygen sensor?&lt;/li&gt;&lt;li&gt;what is primary oxygen sensor 02 civic 99&lt;/li&gt;&lt;li&gt;how to attach a number plate on front bumper&lt;/li&gt;&lt;li&gt;lost my driver's license dmv reporting&lt;/li&gt;&lt;li&gt;zune fm transmitter&lt;/li&gt;&lt;li&gt;zune car kit&lt;/li&gt;&lt;li&gt;best fm transmitter reviews&lt;/li&gt;&lt;li&gt;pioneer car cd player deal&lt;/li&gt;&lt;li&gt;sony car cd player deal&lt;/li&gt;&lt;li&gt;magellon gps deals&lt;/li&gt;&lt;li&gt;garmin gps deals&lt;/li&gt;&lt;li&gt;garmin vs magellon vs tomtom&lt;/li&gt;&lt;li&gt;navteq versus teleatlas maps&lt;/li&gt;&lt;li&gt;samsung bluetooth headset deals&lt;/li&gt;&lt;li&gt;samsung wep200 vs wep500&lt;/li&gt;&lt;li&gt;samsung wep200 vs wep410&lt;/li&gt;&lt;li&gt;antifreez coolant autoparts&lt;/li&gt;&lt;li&gt;1999 honda civic mpg&lt;/li&gt;&lt;li&gt;1999 honda civic lx kbb&lt;/li&gt;&lt;li&gt;magellon 4210 review cnet&lt;/li&gt;&lt;li&gt;progressive insurance&lt;/li&gt;&lt;li&gt;what is liability insurance&lt;/li&gt;&lt;li&gt;geico&lt;/li&gt;&lt;li&gt;mr car wash&lt;/li&gt;&lt;li&gt;..&lt;/li&gt;&lt;li&gt;..&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;To summarize, after 2.5 months of craigslisting, I think I've got a nice deal! :)&lt;br /&gt;&lt;br /&gt;tht's it for now, over n out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7294630255859926986?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7294630255859926986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7294630255859926986' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7294630255859926986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7294630255859926986'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/02/honda-student-1999-civic-salman-sedan.html' title='honda student 1999 civic salman sedan jamali google thesis'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6551033438535303939</id><published>2009-02-04T00:15:00.002-05:00</published><updated>2009-02-04T00:17:20.301-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digg&apos;s new recommendation engine'/><title type='text'>Digg's new recommendation engine</title><content type='html'>&lt;object width="400" height="225"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1242909&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=1242909&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now this is what I call Science :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6551033438535303939?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6551033438535303939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6551033438535303939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6551033438535303939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6551033438535303939'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/02/diggs-new-recommendation-engine.html' title='Digg&apos;s new recommendation engine'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-9136672891278369007</id><published>2009-02-03T16:59:00.007-05:00</published><updated>2010-06-23T16:12:37.008-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development comics'/><title type='text'>Our jokes, about us.</title><content type='html'>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&lt;br /&gt;&lt;br /&gt;Suggestion: click on the image for bigger size.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBiw1SOTI/AAAAAAAAAVk/sQx7Jd_Txls/s1600-h/2.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBiuDkHiI/AAAAAAAAAVc/r85NQr_UP84/s1600-h/2+%2813%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBinMPncI/AAAAAAAAAVU/H54GNIURqFk/s1600-h/2+%2812%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBihXj4wI/AAAAAAAAAVM/guRK05lZntE/s1600-h/2+%2811%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBc6bHo9I/AAAAAAAAAVE/HSuccDeGKW8/s1600-h/2+%289%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBckcknWI/AAAAAAAAAU8/pl5IDYWon0E/s1600-h/2+%2810%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBcmRvpeI/AAAAAAAAAU0/FIo5dWZCOYk/s1600-h/2+%288%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBcd8U27I/AAAAAAAAAUs/7rXmnWS5rrk/s1600-h/2+%287%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/SYjBcf0qZXI/AAAAAAAAAUk/E0lNwnCJesk/s1600-h/2+%286%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBT9PeBlI/AAAAAAAAAUc/voCE6q1j0r0/s1600-h/2+%285%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBTxWvE9I/AAAAAAAAAUU/9P6famuVdo4/s1600-h/2+%284%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SYjBT3JLagI/AAAAAAAAAUM/uWzaCozJE4I/s1600-h/2+%283%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBT7LeUlI/AAAAAAAAAUE/qjdizqE8B58/s1600-h/2+%282%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kspooNI8sPE/SYjBToCLsSI/AAAAAAAAAT8/JSFa6unvO1c/s1600-h/2+%281%29.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/TCJql2J2EfI/AAAAAAAAAds/PVjoZZZbuvI/s1600/92764.strip.print.gif"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-9136672891278369007?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/9136672891278369007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=9136672891278369007' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9136672891278369007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9136672891278369007'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/02/our-jokes-about-us.html' title='Our jokes, about us.'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kspooNI8sPE/SYjBiw1SOTI/AAAAAAAAAVk/sQx7Jd_Txls/s72-c/2.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7039118411417036917</id><published>2009-02-01T17:55:00.003-05:00</published><updated>2009-02-01T18:12:45.628-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facts of the future world'/><title type='text'>.. and 694000 songs were downloaded illegally ..</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lUMf7FWGdCw&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lUMf7FWGdCw&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;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 &amp; dumb anchors on the tv! grrr..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7039118411417036917?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7039118411417036917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7039118411417036917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7039118411417036917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7039118411417036917'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/02/and-694000-songs-were-downloaded.html' title='.. and 694000 songs were downloaded illegally ..'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6828495633858485421</id><published>2009-01-25T02:13:00.009-05:00</published><updated>2009-01-25T02:59:29.499-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='A Green Leaf-Like Bug pakistan yawar abbas'/><title type='text'>A Green Leaf-Like Bug!</title><content type='html'>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&lt;br /&gt;&lt;br /&gt;Anyways, This thing is called Microcentrum retinerve. It sounds something like &lt;a href="http://buzz.ifas.ufl.edu/032sl.wav"&gt;this&lt;/a&gt;; actually, this is how I can recall that it's very common around. Following is it's classification:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Class &lt;/span&gt;Insecta&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Order &lt;/span&gt;Orthoptera&lt;/li&gt;&lt;li&gt;        &lt;span style="font-weight: bold;"&gt;Suborder &lt;/span&gt;Ensifera&lt;/li&gt;&lt;li&gt;            &lt;span style="font-weight: bold;"&gt;Family &lt;/span&gt;Tettigoniidae&lt;/li&gt;&lt;li&gt;                &lt;span style="font-weight: bold;"&gt;Species &lt;/span&gt;Microcentrum retinerve&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1JIGtuI/AAAAAAAAATI/-wHEIn-m8ro/s1600-h/fly4.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1G5uwxI/AAAAAAAAATA/zlyU6D2hriw/s1600-h/fly3.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/SXwR1LPbLtI/AAAAAAAAAS4/z0VNxX3KcuU/s1600-h/fly2.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kspooNI8sPE/SXwRr4uZeSI/AAAAAAAAASw/N6uforG4zbk/s1600-h/fly1.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kspooNI8sPE/SXwU5jAZ7EI/AAAAAAAAATY/rRmPLTj1ff4/s1600-h/fly5.jpg"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[image courtesy: &lt;a href="http://www.blogger.com/syawara1@hotmail.com"&gt;Yawar Abbas&lt;/a&gt;]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6828495633858485421?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6828495633858485421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6828495633858485421' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6828495633858485421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6828495633858485421'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/01/green-leaf-like-bug.html' title='A Green Leaf-Like Bug!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kspooNI8sPE/SXwR1JIGtuI/AAAAAAAAATI/-wHEIn-m8ro/s72-c/fly4.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2027085973437918698</id><published>2009-01-11T17:47:00.003-05:00</published><updated>2009-01-11T18:50:52.514-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='How to quantify the frustration of our youth'/><title type='text'>How to quantify the frustration of our youth!</title><content type='html'>Ok. First of all, a disclaimer - I wasn't looking for one of these predicted results!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_kspooNI8sPE/SWp3Mf3fFRI/AAAAAAAAASc/E000FUh_Ijc/s1600-h/how+to+know.bmp"&gt;&lt;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" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2027085973437918698?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2027085973437918698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2027085973437918698' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2027085973437918698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2027085973437918698'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/01/how-to-quantify-frustration-of-our.html' title='How to quantify the frustration of our youth!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kspooNI8sPE/SWp3Mf3fFRI/AAAAAAAAASc/E000FUh_Ijc/s72-c/how+to+know.bmp' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6193970907913849122</id><published>2009-01-09T02:17:00.005-05:00</published><updated>2010-08-20T00:58:39.630-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='the ridiculous perspective'/><title type='text'>the ridiculous perspective.</title><content type='html'>Sometimes you want to sit &amp; 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!&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Still sometimes, I desire a free fall, as in skydiving; but sometimes, I just want to dive and &lt;a href="http://244343.blogspot.com/2009/01/flying-high-high.html"&gt;&lt;span style="font-weight:bold;"&gt;fly away&lt;/span&gt;&lt;/a&gt;..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6193970907913849122?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6193970907913849122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6193970907913849122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6193970907913849122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6193970907913849122'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/01/ridiculous-perspective.html' title='the ridiculous perspective.'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2601853060099095289</id><published>2009-01-05T21:21:00.004-05:00</published><updated>2009-01-05T21:56:43.178-05:00</updated><title type='text'>My car buying experience</title><content type='html'>First of all, I still couldn't buy one.. but anyways, I had 3 close encounters of actually wasting up my super duper budget of 3500$ on the following cars (after analyzing 25+ cars):&lt;br /&gt;&lt;br /&gt;1 - 1997 civic ex coupe automatic &lt;br /&gt;2 - 1999 civic ex sedan automatic&lt;br /&gt;3 - 2000 civic ex coupe automatic&lt;br /&gt;&lt;br /&gt;For 1, we settled for a done deal happily. Later, the carfax tells me that the car has a &lt;a href="http://www.carfax.com/car_buying/odometer.cfm"&gt;rollbacked odometer&lt;/a&gt;. Amazingly, we couldn't guess it from the extremely humble speech of the seller that he's perhaps being untruthful and that the rollback amounts to 45000 miles!&lt;br /&gt;&lt;br /&gt;Exhausted, as well as excited.. I went for 2, perfect history, affordable, I am all ready.. and there you go.. sold-out! [yehh and didn't care to take off the advertisement from the list!]&lt;br /&gt;&lt;br /&gt;The biggest blow, number 3. Not affordable, but for the price a great deal. So, I thought I'll drag my budget a little more. I did that. After a bunch of email ins and outs, we decided on a meeting time. I was desperate to just get it for whatever it had, for any extra cost. And once again, I receive an email: "Sorry, sold out!" Perhaps, what’s most disappointing about this one was that the seller listed it for ~4000$ and I wanted to get it for $3600 and he sold it for $3400 !!! Yeh, i know something's wrong.. :(&lt;br /&gt;&lt;br /&gt;So, I've 20 days more days to stay patient.. then my carfax account will expire.. and I am not going to think about a car anymore..&lt;br /&gt;&lt;br /&gt;Recommendation for craigslist: as soon as an item is sold-out, something should force the seller to close his advertisement.&lt;br /&gt;&lt;br /&gt;Recommendation for buyers: as soon as you find out a good deal, don't wait for another good deal, don't push your luck :p&lt;br /&gt;&lt;br /&gt;Recommendation for sellers: if you can't negotiate, don't face the buyers ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2601853060099095289?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2601853060099095289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2601853060099095289' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2601853060099095289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2601853060099095289'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/01/my-car-buying-experience.html' title='My car buying experience'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2766483621148160253</id><published>2009-01-02T22:31:00.001-05:00</published><updated>2009-01-02T22:32:51.777-05:00</updated><title type='text'>Status: sitting on notebook watching couch (&amp; eating carpet)</title><content type='html'>~no comments!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2766483621148160253?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2766483621148160253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2766483621148160253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2766483621148160253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2766483621148160253'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2009/01/status-sitting-on-notebook-watching.html' title='Status: sitting on notebook watching couch (&amp; eating carpet)'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4912953458582325451</id><published>2008-12-27T02:30:00.003-05:00</published><updated>2008-12-27T02:33:18.878-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tan Le Brings the Force to Life with Mind Control Device'/><title type='text'>Tan Le Brings the Force to Life with Mind Control Device</title><content type='html'>The Entertainment Gathering 2008&lt;br /&gt;Monterey, CA&lt;br /&gt;Dec 12th, 2008&lt;br /&gt;&lt;br /&gt;Tan Le, co-founder and president of Emotiv Systems, gives a live demo of a mind control device that uses a person's thoughts to input computer commands.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://244343.blogspot.com/2008/12/tan-le-brings-force-to-life-with-mind.html"&gt;demo video&lt;/a&gt; here!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4912953458582325451?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4912953458582325451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4912953458582325451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4912953458582325451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4912953458582325451'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/12/tan-le-brings-force-to-life-with-mind.html' title='Tan Le Brings the Force to Life with Mind Control Device'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7143346806425109644</id><published>2008-12-27T01:05:00.003-05:00</published><updated>2008-12-27T01:35:24.082-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php tutorials resources mysql'/><title type='text'>PHP - tutorials and resources for all levels of expertise!</title><content type='html'>I had been planning to revise the things I did in my mere 4 months professional/commerical work experience with PHP &amp;amp; MYSQL (and Apache) over Windows platform. I did a lot.. solved numerous complications, disiciplined my interpreted programming language skills, and incorporated my ideas into the couple of projects..&lt;br /&gt;&lt;br /&gt;What helped me the most? the experience and skills of my extraordinarily talented team lead;&lt;br /&gt;What bored me the most? coding the next .php without thinking to innovate more durable and appealing solutions to reccurent problems..&lt;br /&gt;What did I like? Scrum + Agility + Web Development .. exponential success!&lt;br /&gt;&lt;br /&gt;But after 1.5 years, all I can recall are some echos and the nightmares of being lost in some opensource OO php code.If I had the mountains of php code and mysql stuff that I wrote in those 4 months, I would have been proud again of my skills in mere 4 days..&lt;br /&gt;&lt;br /&gt;Without it, I needed some resources for quick overviews that I could walk through while doing brainstorming for my thesis study 80% of my daily time.. So I found this digg.com entry:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nettuts.com/articles/web-roundups/25-resources-to-get-you-started-with-php-from-scratch/"&gt;&lt;strong&gt;25 Resources to Get You Started with PHP from Scratch&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Dec 23rd in &lt;/strong&gt;&lt;a title="View all posts in Web Roundups" href="http://nettuts.com/category/articles/web-roundups/" rel="category tag"&gt;&lt;strong&gt;Web Roundups&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; by &lt;/strong&gt;&lt;a title="Posts by Drew Douglass" href="http://nettuts.com/author/drewdouglass/"&gt;&lt;strong&gt;Drew Douglass&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I liked the smooth transition from overly simple walkthroughs to "Advanced and OOP techniques" stuff. Thanks Drew! This article can definitely forward anyone interested in almost any of PHP related things to the finest resources on the web.. give it a try!&lt;br /&gt;&lt;br /&gt;over and out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7143346806425109644?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7143346806425109644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7143346806425109644' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7143346806425109644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7143346806425109644'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/12/php-tutorials-and-resources-for-all.html' title='PHP - tutorials and resources for all levels of expertise!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4189432145232986910</id><published>2008-11-13T14:23:00.003-05:00</published><updated>2008-11-13T14:34:39.105-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chuck Hagel'/><category scheme='http://www.blogger.com/atom/ns#' term='Nebraska&apos;s senior U.S. Senator Farewell poem'/><title type='text'>If you can't look him straight in the eye</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p&gt;Following is the poem that Chuck Hagel, Nebraska's senior U.S. Senator read out in his Farewell to the U.S. Senate on 2nd October, 2008. The poem's actual author for some is unknown, but &lt;a href="http://www.theguyintheglass.com/"&gt;this&lt;/a&gt; site claims that it's Peter "Dale" Wimbrow Sr. Anyways, it's so perfectly written that none can just ignore it; yet, we can only wish..&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;When you get what you want in your struggle for self&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;And the world makes you king for a day,&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;Just go to the mirror and look at yourself&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;And see what that man has to say.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;For it isn't your father or mother or wife&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;Whose judgment upon you must pass.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;The fellow whose verdict counts most in your life&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;Is the one staring back from the glass.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;You may be like Jack Horner and chisel a plum&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;And think you're a wonderful guy.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;But the man in the glass says you're only a bum&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;If you can't look him straight in the eye.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;He's the fellow to please--never mind all the rest,&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;For he's with you clear to the end.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;And you've passed your most dangerous, difficult test&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;If the man in the glass is your friend.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;You may fool the whole world down the pathway of years&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;And get pats on the back as you pass.&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;But your final reward will be heartache and tears&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;If you've cheated the man in the glass.&lt;/em&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;[source: &lt;/span&gt;&lt;/strong&gt;&lt;a href="http://hagel.senate.gov/public/index.cfm?FuseAction=Home.FarewellSpeech"&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;http://hagel.senate.gov/public/index.cfm?FuseAction=Home.FarewellSpeech&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;]&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4189432145232986910?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4189432145232986910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4189432145232986910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4189432145232986910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4189432145232986910'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/11/if-you-cant-look-him-straight-in-eye.html' title='If you can&apos;t look him straight in the eye'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4897118554401374255</id><published>2008-11-07T00:58:00.001-05:00</published><updated>2008-11-07T01:04:37.494-05:00</updated><title type='text'>Subversion – Introduction</title><content type='html'>&lt;p&gt;I have been working with Subversion for a while now, but I started right out of an immediate need, and hence without any conceptual background. This time however, a lack of some basic understanding hindered my learning, so, I took out some time to skim through the most reliable source of information. I found this Subversion book titled as &amp;quot;Version Control with Subversion&amp;quot;, which can be downloaded &lt;a href="http://svnbook.red-bean.com/en/1.5/svn-book.pdf"&gt;here&lt;/a&gt;. It's time consuming to go through a 400 pages book to learn about something secondary in importance to my (or any developer's) work, so, I thought it might be useful to summarize things I'll read right away. &lt;/p&gt;  &lt;p&gt;Following is the summarized selection I have extracted from the first chapter of the book..&lt;/p&gt;  &lt;p&gt;A version control system tries to enable collaborative editing and sharing of data. Subversion is one such system. Different systems use different technique to implement this collaborative environment; even Subversion supports a couple of different methods. It can manage any sort of file collections (not limited to source-code only). At its core, just like any other version control system, there is a repository; it stores information in the form of a file-system tree of files and directories (just like a typical file server). Clients connect to the repository, to read and write files. The operations are synchronized, and each client sees the latest version of the files stored on the repository. &lt;/p&gt;  &lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5264533095613102834" style="display: block; margin: 0px auto 10px; width: 148px; height: 173px; text-align: center" alt="" src="http://1.bp.blogspot.com/_kspooNI8sPE/SQ9g9TBOevI/AAAAAAAAALs/ONg3AYO5X7c/s400/1.bmp" border="0" /&gt;&lt;/div&gt;  &lt;p&gt;What distinguishes it from a file server, however, is its ability to remember all the changes ever made to any of the files or directories, as well changes in the directory structure and addition and deletion of files. The fundamental problem faced by all version control systems is as questioned: how will the system allow users to share information, but prevent them from accidentally stepping on each other's feet? It's all too easy for users to accidentally overwrite each other's changes in the repository.&lt;/p&gt;  &lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5264533353081053778" style="display: block; margin: 0px auto 10px; width: 367px; height: 339px; text-align: center" alt="" src="http://2.bp.blogspot.com/_kspooNI8sPE/SQ9hMSKXolI/AAAAAAAAAL0/V7e6bambqYc/s400/2.bmp" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;In sum, the problem reduces to the following questions: How the latest version of a file should represent all the changes made by some writers, when some reader is reading it? Anyways, two solutions have been proposed to this problem:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Lock-Modify-Unlock Solution&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;img id="BLOGGER_PHOTO_ID_5264533681964235522" style="display: block; margin: 0px auto 10px; width: 348px; height: 380px; text-align: center" alt="" src="http://1.bp.blogspot.com/_kspooNI8sPE/SQ9hfbWOuwI/AAAAAAAAAL8/yEThV06qQu0/s400/3.bmp" border="0" /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Three problems:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Locking may cause administrative problems – you lock a file and go on vacation &lt;/li&gt;    &lt;li&gt;Locking may cause unnecessary serialization – both need to modify different portions &lt;/li&gt;    &lt;li&gt;Locking may create a false sense of security – lock A, then ask for B; lock B, then ask for A&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;The Copy-Modify-Merge Solution (Used by Subversion and many other systems)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5264534641151210770" style="display: block; margin: 0px auto 10px; width: 348px; height: 338px; text-align: center" alt="" src="http://1.bp.blogspot.com/_kspooNI8sPE/SQ9iXQmOdRI/AAAAAAAAAMM/nnqzli3c8bM/s400/4.bmp" border="0" /&gt; &lt;img id="BLOGGER_PHOTO_ID_5264534818930885154" style="display: block; margin: 0px auto 10px; width: 355px; height: 364px; text-align: center" alt="" src="http://1.bp.blogspot.com/_kspooNI8sPE/SQ9ihm4NAiI/AAAAAAAAAMU/qcn5ZnDbj-4/s400/4.bmp" border="0" /&gt; In the fourth action, Harry failed to write the file back to repository because he had an older version (which he was modifying) as compared to the one currently on the latest repository. This is where the concept of “merge” needs to be introduced. So, once Harry downloads the latest repository version, he merges his changes done in the older version into this downloaded latest version, and, writes this merged file back to the repository (A* above). Finally, Sally can now read this updated file that has her modifications as well as that of Harry’s. This solution is much preferred over The Lock-Modify-Unlock Solution in many cases except when the files are sound files or binary files where it will become almost impossible to ensure consistency of the changes made by multiple clients at the same time. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SUBVERSION - IN ACTION&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Repository URLs&lt;/strong&gt; You can access Subversion repositories through many different methods—on local disk or through various network protocols, depending on how your administrator has set things up for you. A repository location, however, is always a URL. Table 1.1, “Repository access URLs” describes how different URL schemes map to the available access methods. &lt;img id="BLOGGER_PHOTO_ID_5264535229275077266" style="display: block; margin: 0px auto 10px; width: 400px; height: 147px; text-align: center" alt="" src="http://3.bp.blogspot.com/_kspooNI8sPE/SQ9i5fh4epI/AAAAAAAAAMc/0iJfaVhWowI/s400/5.bmp" border="0" /&gt; &lt;strong&gt;Working Copies&lt;/strong&gt; Subversion has this concept of a working copy, which is essentially an up to date copy of the project source-code that you’ll download (or checkout) from the underlying repository. If the repository has multiple projects, then you’ll need to specifically mention the exact URL of the project subdirectory while issuing a check-out command to SVN, say something like this: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;svn checkout &lt;/em&gt;&lt;a href="http://svn.example.com/repository/my_project"&gt;&lt;em&gt;http://svn.example.com/repository/my_project&lt;/em&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now, there are two possibilities: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;You can checkout/download the source-code of my_project in some ordinary directory; you’ll need to get some typical SVN client to do so. I use TortoiseSVN, which can be downloaded here.&lt;/li&gt;    &lt;li&gt;Alternatively, you can checkout/download the source-code into some workspace project’s source folder of the IDE you use for development. I use Eclipse Ganymede these days, and the Subclipse v1.4 plugin does the job for me; it can be downloaded here.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;It’s easy to get used to the synchronization mechanisms adopted by Subversion. Most of the times, the only operations one shall use as a developer are Commit, Update, Merge, Compare, Restore, etc. I won’t get into details of each command here (respecting the order of knowledge in the book). Once you’ve checked out the source-code, it’s time for you to play around with it just like you can with any of your local projects. Important thing to note here is that whatever you’ll modify will not have an effect on the original source-code in the repository, and hence the name ‘working copy’. But, at some point in time, you’ll need to incorporate (or commit) your changes into the original files in the project repository. This operation is known as COMMIT, and to do this commit, you’ll execute a command like this: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;svn commit MyMainClass.java -m &amp;quot;Fixed a bug in main class&amp;quot;&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;If all goes good, you’ll be shown a confirmation that your changes have been committed and the repository is now updated. So, the next time you’ll check-out the same my_project code from the repository, you can witness your updated MyMainClass.java code. There is just one last thing that needs to be understood. Consider the following case:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;You and some other developer checkout my_project at the same time (hence the same version).&lt;/li&gt;    &lt;li&gt;You make changes to MyMainClass.java’s methodX, and, you commit the code.&lt;/li&gt;    &lt;li&gt;Then, the other developer makes his/her changes to the same class’s methodY, and tries to commit. This commit however, will fail.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Reason: &lt;/strong&gt;he/she is trying to commit a modified yet NOT up to date version of the file to the repository. It’s no more up to date, because the latest on repository is YOUR’S MyMainClass.java.&lt;/p&gt;  &lt;p&gt;To get over this problem, the other developer will issue an update command, like this: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;svn update &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The svn will then automatically TRY to update the working copy of this developer by incorporating the changes made by you (or any other changes in the latest version) . The developer, however, is required to do some manual modifications, if he was also updating the same method (i.e. method) or section of code.&lt;/p&gt;  &lt;p&gt;Switching to &lt;a href="http://sourceforge.net/projects/carrot2" target="_blank"&gt;Carrot2&lt;/a&gt;.. for now, over &amp;amp; out.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4897118554401374255?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4897118554401374255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4897118554401374255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4897118554401374255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4897118554401374255'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/11/testing.html' title='Subversion – Introduction'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kspooNI8sPE/SQ9g9TBOevI/AAAAAAAAALs/ONg3AYO5X7c/s72-c/1.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6012609883592944144</id><published>2008-11-02T22:04:00.003-05:00</published><updated>2008-11-02T22:08:17.424-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hillary Clinton George Mason University'/><title type='text'>Stage set - Hillary, Incominggg..</title><content type='html'>&lt;strong&gt;Venue:&lt;/strong&gt; George Mason University, Fairfax, VA&lt;br /&gt;&lt;strong&gt;Date: &lt;/strong&gt;2nd November, 2008&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_kspooNI8sPE/SQ5qjGiBCBI/AAAAAAAAALc/kGf_svn_80w/s1600-h/11-02-08_1436.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5264262165723940882" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_kspooNI8sPE/SQ5qjGiBCBI/AAAAAAAAALc/kGf_svn_80w/s400/11-02-08_1436.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&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/1780823879643395553-6012609883592944144?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6012609883592944144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6012609883592944144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6012609883592944144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6012609883592944144'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/11/stage-set-hillary-incominggg.html' title='Stage set - Hillary, Incominggg..'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kspooNI8sPE/SQ5qjGiBCBI/AAAAAAAAALc/kGf_svn_80w/s72-c/11-02-08_1436.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8035033481496682914</id><published>2008-11-01T17:51:00.005-04:00</published><updated>2008-11-02T01:28:52.814-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clusty carrot vivisimo cluster clustering search engine'/><title type='text'>Introduction to Carrot2 Clustering Engine/API</title><content type='html'>&lt;div&gt;&lt;br /&gt;I was pretty much impressed by the easily comprehensible yet powerful facilities provided by this component based clustering engine; thanks to it's devleopers for releasing it's &lt;a href="http://sourceforge.net/projects/carrot2/"&gt;source code&lt;/a&gt;. Unlike this opensource engine, there is another clustering engine by &lt;a href="http://vivisimo.com/"&gt;Vivisimo&lt;/a&gt;, called &lt;a href="http://vivisimo.com/landing/landing-overview"&gt;Vivisimo Velocity&lt;/a&gt;, which is commerical and hence helps us in no way. Anyways, to see the best that can be done with VV, try &lt;a href="http://www.clusty.com/"&gt;Clusty&lt;/a&gt;, which efficiently clusters search results using the Vivisimo clustering technology. However, clusty isn't state of the art in coming up with semantically near-perfection cluster label names, as discussed &lt;a href="http://www.readwriteweb.com/archives/overview_of_clu.php"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Anyways, let's appreciate opensource - back to Carrot2.&lt;br /&gt;&lt;br /&gt;So, &lt;i&gt;Carrot2 is an Open Source Search Results Clustering Engine. It can automatically organize (cluster) search results into thematic categories&lt;/i&gt;, called clusters.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Carrot2 provides an architecture for acquiring search results from various sources (YahooAPI, GoogleAPI&lt;b&gt;(deprecated)&lt;/b&gt;, MSN Search API, eTools Meta Search, Alexa Web Search, PubMed, OpenSearch, Lucene index, SOLR), clustering the results and visualising the clusters. Currently, 5 clustering algorithms are available that are suitable for different kinds of document clustering tasks.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_kspooNI8sPE/SQ06OS5g9PI/AAAAAAAAALU/WzPmBCyTYxM/s1600-h/architecture.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263927556731630834" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand; HEIGHT: 163px" alt="" src="http://1.bp.blogspot.com/_kspooNI8sPE/SQ06OS5g9PI/AAAAAAAAALU/WzPmBCyTYxM/s400/architecture.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;/i&gt; &lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;/i&gt; &lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The architecture of Carrot2 is based on a pipeline of components of three types: input components, filter components and visualization components. The task of input components is to provide search results for clustering based on a user query. Filter components transform the results in some way (e.g. apply clustering, case normalization), and the visualisation components render the transformed results for the user.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have successfully walked through the &lt;a href="http://carrot2.svn.sourceforge.net/viewvc/carrot2/trunk/carrot2/applications/carrot2-demo-api-example/"&gt;most basic example application&lt;/a&gt; of this api. It simply uses yahoo api and the &lt;a href="http://project.carrot2.org/publications.html#ieee-lingo"&gt;lingo clustering algorithm &lt;/a&gt;to cluster the results of a certain query. The best way to understand the mechanics of carrot2 and to make the most out of it's abilites, one needs to follow the code while studying the comprehensively written javadoc documentation.&lt;br /&gt;&lt;br /&gt;So, I did so.. but for now it's about time for me to shutdown my brain for next 4-5 hours.. I'll continue this post and will try to put forward a precise text extracted out of those comments in the next part, explaining in detail things one needs to know to get started with carrot2!&lt;br /&gt;&lt;br /&gt;for now, over and out!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8035033481496682914?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8035033481496682914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8035033481496682914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8035033481496682914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8035033481496682914'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/11/introduction-to-carrot2-clustering.html' title='Introduction to Carrot2 Clustering Engine/API'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kspooNI8sPE/SQ06OS5g9PI/AAAAAAAAALU/WzPmBCyTYxM/s72-c/architecture.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8482362741420420064</id><published>2008-10-31T01:03:00.004-04:00</published><updated>2008-10-31T01:16:08.673-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='name statistics america pokemyname'/><title type='text'>Poke my name!</title><content type='html'>SALMAN is the most popular 1565th name in USA. One in every 12,107 Americans are named as SALMAN and popularity of name SALMAN is 82.6 people per million.&lt;br /&gt;&lt;br /&gt;If we compare the popularity statistics of SALMAN to USA's population statistics, we can estimate that as of October.31.2008 01:04 there are 25,216 people named as SALMAN in the United States and the number of SALMAN's are increasing by 217 people every year.&lt;br /&gt;&lt;br /&gt;Usage of salman as a first name is 75.86% and its usage as a middle name is 24.14%. The sum of alphabetical order of letters in SALMAN is 60 and this makes SALMAN arithmetic buddies with words like Pure, Active, Dapper, Holy.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_kspooNI8sPE/SQqS2hhB9NI/AAAAAAAAALE/28w-8qVDr80/s1600-h/untitled.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263180579943347410" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 323px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://4.bp.blogspot.com/_kspooNI8sPE/SQqS2hhB9NI/AAAAAAAAALE/28w-8qVDr80/s400/untitled.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yes :p&lt;br /&gt;You get all this information about your name &lt;a href="http://www.pokemyname.com/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;By the way, I was experimenting (building from source in eclipse ide) Carrot2's opensource clustering search engine demo browser, I was frustated and tired; [so,] the first thing I search for was my name, and some cluster pointed me to this interesting junk :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8482362741420420064?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8482362741420420064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8482362741420420064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8482362741420420064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8482362741420420064'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/10/poke-my-name.html' title='Poke my name!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kspooNI8sPE/SQqS2hhB9NI/AAAAAAAAALE/28w-8qVDr80/s72-c/untitled.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6195616966689938014</id><published>2008-10-22T12:42:00.005-04:00</published><updated>2008-10-22T13:53:44.199-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unchrome chrome google'/><title type='text'>UnChrome your Chrome</title><content type='html'>&lt;i&gt;Regarding to Google, "Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier". Unfortunately, each Google Chrome installation contains a unique ID that allowing identifying its user. Google doesn't make it an easy job to remove this ID.&lt;br /&gt;&lt;br /&gt;The UnChrome application was designed to help you with this task. It replaces your unique ID with Null values so that your browser cannot be identified any longer. The functionality of Google Chrome is not influenced by this. You only need to apply UnChrome once.&lt;br /&gt;&lt;br /&gt;If Google Chrome is started now then please close it. Afterwards, please click on the link below to anonymize your Chrome installation.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.astalavista.com/index.php?section=directory&amp;cmd=detail&amp;id=1986"&gt;Article Link&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.astalavista.com/media/directory/uploads/9ffbb317c69f7a43a5401f8e878ef7ca.exe"&gt;Download Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6195616966689938014?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6195616966689938014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6195616966689938014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6195616966689938014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6195616966689938014'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/10/unchrome-your-chrome.html' title='UnChrome your Chrome'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3242366314949804772</id><published>2008-10-12T03:50:00.002-04:00</published><updated>2008-10-12T04:12:53.957-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Messing around Facebook'/><title type='text'>Messing around Facebook..</title><content type='html'>What's the quickest way to findout answers to following questions about facebook users:&lt;br /&gt;&lt;br /&gt;1- How many male computer science graduates from my *university* aged between 18 and 25 are registered on facebook?&lt;br /&gt;&lt;br /&gt;2- How many male computer science graduates from my *country* aged between 18 and 25 are registered on facebook?&lt;br /&gt;&lt;br /&gt;3- How many *female* graduates from my university aged between 18 and 25 are registered on facebook?&lt;br /&gt;&lt;br /&gt;4- How many graduates from my university are registered on facebook?&lt;br /&gt;&lt;br /&gt;The quickest thing that came to my mind was to use the API somehow, however there is something else that facebook wants advertisers to use to answer such questions!! But hey, anyone can turn out to be an advertiser on facebook :D&lt;br /&gt;&lt;br /&gt;So, yeh! it's pretty easy and thanks to &lt;a href="http://saunderslog.com/"&gt;Alec Saunder&lt;/a&gt; for innovating this trick!&lt;br /&gt;&lt;br /&gt;To answer countably infinite such questions, follow the steps that he has neatly outlined on his blog &lt;a href="http://saunderslog.com/2007/11/25/facebook-market-research-secrets/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Summarizing it, there is no big trick here. Each advertiser is facilitated by facebook with a query builder that immediately returns *ONLY* the number of results of a specific input query. With a little investigative approach and excessive show of curiousity, you can use this tool to build a strong data set of facebook statistics, which by all means, can be called a representative sample of all the world wide web users!&lt;br /&gt;&lt;br /&gt;Following is a depiction of my lack of creativity to use this tool, :p&lt;br /&gt;&lt;br /&gt;There are  2440      18 year old males from China registered on Facebook.&lt;br /&gt;There are  1,143,180 18 year old males from USA registered on Facebook.&lt;br /&gt;There are  31,020    18 year old males from India registered on Facebook.&lt;br /&gt;There are  11,400    18 year old males from Pakistan registered on Facebook.&lt;br /&gt;There are  267,760   18 year old males from UK registered on Facebook.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3242366314949804772?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3242366314949804772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3242366314949804772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3242366314949804772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3242366314949804772'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/10/messing-around-facebook.html' title='Messing around Facebook..'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6173435981775210209</id><published>2008-10-12T02:56:00.004-04:00</published><updated>2008-10-12T03:17:15.150-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Mining in Social Networks'/><title type='text'>Data Mining in Social Networks</title><content type='html'>With huge social networks around, I felt like it might be easier to apply some typical data mining algorithm on any dataset that I will &lt;a href="http://infoadvocate.org/blog/2008/05/02/bbc-creates-data-mining-facebook-application/"&gt;extract from these networks&lt;/a&gt;, using their released APIs.&lt;br /&gt;&lt;br /&gt;So, it turned out that it isn't a child's play for two reasons:&lt;br /&gt;&lt;br /&gt;1- the data from social networks is relational, and hence data objects are linked in one way or other. Contrary to this, in typical propositional data, for e.g. patient records, data objects are independent of one other. So, a different breed of mining algorithms are required (e.g. Bayesian classifiers).&lt;br /&gt;&lt;br /&gt;2- the process of extraction of data, keeping in consideration the legality of the technique, and other limitations.&lt;br /&gt;&lt;br /&gt;Anyways, we've got to find something for our data mining class project. I jumped into &lt;a href="http://en.wikipedia.org/wiki/Web_mining"&gt;Web Mining&lt;/a&gt; from typical and *boring* UCI data sets' based projects. Then, I started noticing interesting approaches to mining social networks.&lt;br /&gt;&lt;br /&gt;So, I was looking for an introductory paper on mining social networks and I found this paper hosted by the Knowledge Discovery Laboratory of the Computer Science department at Purdue University, &lt;a href="http://www.cs.purdue.edu/homes/neville/papers/jensen-neville-nas2002.pdf"&gt;here&lt;/a&gt;. It really serves the purpose and the title "Data Mining in Social Networks" makes it more interesting for newbies. The authors are David Jensen and Jennifer Neville. I would recommend anyone interested in having a decent introduction to the subject matter, to go through this paper once!&lt;br /&gt;&lt;br /&gt;~over and out&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6173435981775210209?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6173435981775210209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6173435981775210209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6173435981775210209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6173435981775210209'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/10/data-mining-in-social-networks.html' title='Data Mining in Social Networks'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2461265857752431733</id><published>2008-09-30T12:06:00.005-04:00</published><updated>2008-10-01T23:48:41.543-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Underwater astonishments - Camouflaging Octopus Footage'/><title type='text'>Underwater astonishments - Camouflaging Octopus Footage</title><content type='html'>I have always felt proud of my inquisitiveness and investigative approach to dig deeper into almost anything that amazes me (yeh anyhting!). I have been following very aggressively things people share on Digg, Dzone, and Youtube; and, I usually get to know more about them, beyond the content that's shared..&lt;br /&gt;&lt;br /&gt;But, something, I don't know how, but I missed it. It was shared by a very good brother, and literally, this was beyond most of the great thing I have ever seen or heard about. For me, as being a computer freak, this was beyond calculations, or algorithms.. and I am sure it's a jaw-dropping footage of the beauty of nature, mashallah for everyone out there associated with any sort of engineering and non-engineering field of study. The only comment I can bring to words is that it's not out there without a purpose, it's not a coincidence, and it's not a yet-another illusion; but, it's a real-world miracle of Allah, a fascination that carries numerous signs with it (atleast for me).&lt;br /&gt;&lt;br /&gt;Anyways, so it's an Octopus (Vulgaris) that for various reasons use its ability to match its pattern, color, brightness, and texture of apparently anyhting that it's resting upon. Above all, this is the first time it's caught on camera.&lt;br /&gt;See the following video:&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ckP8msIgMYE&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/ckP8msIgMYE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Following is the complete talk given by David Gallo. &lt;i&gt;"David Gallo works to push the bounds of oceanic discovery. Active in undersea exploration (sometimes in partnership with legendary Titanic-hunter Robert Ballard), he was one of the first oceanographers to use a combination of manned submersibles and robots to map the ocean world with unprecedented clarity and detail.&lt;br /&gt;He was a co-expedition leader during an exploration of the RMS Titanic and the German battleship Bismarck, using Russian Mir subs. On behalf of the Woods Hole labs, he appears around the country speaking on ocean and water issues, and leading tours of the deep-ocean submersible Alvin." &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;object id="VE_Player" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" height="285" width="432" align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"&gt;&lt;param name="_cx" value="11430"&gt;&lt;param name="_cy" value="7541"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://static.videoegg.com/ted/flash/loader.swf"&gt;&lt;param name="Src" value="http://static.videoegg.com/ted/flash/loader.swf"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value=""&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="NoScale"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value="FFFFFF"&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="false"&gt;&lt;embed src="http://static.videoegg.com/ted/flash/loader.swf" flashvars="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/DAVIDGALLO-2007_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true" quality="high" allowscriptaccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2461265857752431733?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2461265857752431733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2461265857752431733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2461265857752431733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2461265857752431733'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/09/underwater-astonishments-camouflaging.html' title='Underwater astonishments - Camouflaging Octopus Footage'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8423568084004453386</id><published>2008-09-16T00:30:00.002-04:00</published><updated>2008-09-16T00:33:46.971-04:00</updated><title type='text'>Hurricane IKA</title><content type='html'>This &lt;a href="http://www.boston.com/bigpicture/2008/09/the_short_but_eventful_life_of.html"&gt;link&lt;/a&gt; has the best pictorial depiction of the devastation caused by hurricane IKA! do check them out. Let's wish the best for the affected people..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8423568084004453386?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8423568084004453386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8423568084004453386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8423568084004453386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8423568084004453386'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/09/hurricane-ika.html' title='Hurricane IKA'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4454409735421972655</id><published>2008-09-06T14:55:00.003-04:00</published><updated>2008-09-06T15:13:12.869-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Large Hadron Collider by Brian Cox'/><title type='text'>TedTalk Apr08 - Large Hadron Collider by Brian Cox </title><content type='html'>&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="285" id="VE_Player" align="middle"&gt;&lt;param name="movie" value="http://static.videoegg.com/ted2/flash/loader.swf"&gt;&lt;PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&amp;#038;file=http://static.videoegg.com/ted/movies/BrianCox_2008_high.flv&amp;#038;autoPlay=false&amp;#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;#038;forcePlay=false&amp;#038;logo=&amp;#038;allowFullscreen=true"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="scale" value="noscale"&gt;&lt;param name="wmode" value="window"&gt;&lt;embed src="http://static.videoegg.com/ted2/flash/loader.swf" FlashVars="bgColor=FFFFFF&amp;#038;file=http://static.videoegg.com/ted/movies/BrianCox_2008_high.flv&amp;#038;autoPlay=false&amp;#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;#038;forcePlay=false&amp;#038;logo=&amp;#038;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4454409735421972655?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4454409735421972655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4454409735421972655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4454409735421972655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4454409735421972655'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/09/tedtalk-apr08-large-hadron-collider-by.html' title='TedTalk Apr08 - Large Hadron Collider by Brian Cox '/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3286840353021947743</id><published>2008-09-01T05:46:00.003-04:00</published><updated>2008-09-01T05:52:06.607-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='collapse artificial intelligence industry'/><title type='text'>What is AI Winter?</title><content type='html'>An AI Winter is a collapse in the perception of artificial intelligence research. The term was coined by analogy with the relentless spiral of a nuclear winter: a chain reaction of pessimism in the AI community, followed by pessimism in the press, followed by a severe cutback in funding, followed by the end of serious research.&lt;br /&gt;&lt;br /&gt;It first appeared in 1984 as the topic of a public debate at the annual meeting of AAAI (then called the "American Association of Artificial Intelligence"). Two leading AI researchers, Roger Schank and Marvin Minsky, warned the business community that enthusiasm for AI had spiraled out of control and that disappointment would certainly follow. They were right. Just three years later, the billion-dollar AI industry began to collapse.&lt;br /&gt;&lt;br /&gt;The process of hype, disappointment and funding cuts are common in many emerging technologies (consider the railway mania or the dot-com bubble), but the problem has been particularly acute for AI. The pattern has occurred many times:&lt;br /&gt;&lt;br /&gt;1966: the failure of machine translation,&lt;br /&gt;1970: the abandonment of connectionism,&lt;br /&gt;1971−75: DARPA's frustration with the Speech Understanding Research program at Carnegie Mellon University,&lt;br /&gt;1973: the large decrease in AI research in the United Kingdom in response to the Lighthill Report,&lt;br /&gt;1973−74: DARPA's cutbacks to academic AI research in general,&lt;br /&gt;1987: the collapse of the Lisp machine market,&lt;br /&gt;1993: expert systems slowly reaching the bottom,&lt;br /&gt;1990 or so: the quiet disappearance of the fifth-generation computer project's original goals&lt;br /&gt;and the generally bad reputation AI has had since.&lt;br /&gt;The worst times for AI have been 1974−80 and 1987 to the present. Sometimes one or the other of these periods (or some part of them) is referred to as the AI winter.&lt;br /&gt;&lt;br /&gt;The historical episodes known as AI winters are collapses only in the perception of AI by government bureacrats and venture capitalists. Despite the rise and fall of AI's reputation, it has continued to develop new and successful technologies. AI researcher Rodney Brooks would complain in 2002 that "there's this stupid myth out there that AI has failed, but AI is around you every second of the day." Ray Kurzweil agrees: "Many observers still think that the AI winter was the end of the story and that nothing since come of the AI field. Yet today many thousands of AI applications are deeply embedded in the infrastructure of every industry." He adds unequivocally: "the AI winter is long since over."&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/AI_Winter"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;wikipedia&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3286840353021947743?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3286840353021947743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3286840353021947743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3286840353021947743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3286840353021947743'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/09/what-is-ai-winter.html' title='What is AI Winter?'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-9174024795339241690</id><published>2008-09-01T01:57:00.009-04:00</published><updated>2008-09-01T05:52:52.141-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='george mason university computer science'/><title type='text'>back to school</title><content type='html'>Hi, I was doing good, but the school started last week :I&lt;br /&gt;So, I got myself registered for 2 classes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://cs.gmu.edu/syllabus/syllabi-fall08/CS681TecuciG.html"&gt;Expert Systems&lt;/a&gt;, and &lt;/li&gt;&lt;li&gt;&lt;a href="http://cs.gmu.edu/syllabus/syllabi-fall08/INFS755RangwalaH.html"&gt;Introduction to Datamining&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;justification - Expert Systems:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Attending explanatory and detailed lectures about &lt;a href="http://lac.gmu.edu/"&gt;disciple&lt;/a&gt; architecture, &lt;/li&gt;&lt;li&gt;To work towards &lt;a href="http://cs.gmu.edu/programs/certificates/"&gt;certificate in Intelligent Agents&lt;/a&gt;, &lt;/li&gt;&lt;li&gt;To listen to the critical questions posed by students at disciple approach,&lt;/li&gt;&lt;li&gt;Trying to get implicit answers ciritcal to my thesis study, and &lt;/li&gt;&lt;li&gt;To become able to write some journal paper related to what I’ll be taught in class and what I am studying for my thesis. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;jjustification - Data Mining:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Dr. Carlotta Domeniconi was teaching it (no more, but new prof. is good),&lt;/li&gt;&lt;li&gt;To learn atleast the definition of mining!,&lt;/li&gt;&lt;li&gt;to diversify my know-how of cs topics,&lt;/li&gt;&lt;li&gt;to find out a way to take time out to use &lt;a href="http://code.google.com/apis/maps/"&gt;google maps api&lt;/a&gt; to crawl google maps data and use it somehow (how intelligent :p)&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-9174024795339241690?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/9174024795339241690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=9174024795339241690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9174024795339241690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9174024795339241690'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/09/back-to-school.html' title='back to school'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8655481222258972666</id><published>2008-08-24T22:59:00.002-04:00</published><updated>2008-08-24T23:01:51.786-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='George Mason University Ranking'/><title type='text'>Mason Tops U.S. News List of Schools to Watch</title><content type='html'>&lt;strong&gt;August 22, 2008 &lt;/strong&gt;&lt;br /&gt;&lt;em&gt;By Dave Andrews and Tara Laskowski&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Mason was named the nation’s number one university to watch on U.S. News and World Report's new list of “Up-and-Coming Schools” published on Friday, Aug. 22.&lt;br /&gt;&lt;br /&gt;The list, comprising 70 colleges and universities across the country, identifies “schools that have recently made the most promising and innovative changes in academics, faculty, students, campus or facilities.”&lt;br /&gt;&lt;br /&gt;In its annual peer assessment survey, U.S. News asked education experts to identify schools that met those criteria. This is the first time a list of up-and-coming schools has been created.&lt;br /&gt;&lt;br /&gt;"Being recognized by U.S. News &amp;amp; World Report for this is both an honor and validation of our efforts,” says Mason President Alan Merten. “This acknowledgment is something that every one of our faculty, staff, students and alumni should be proud of.”&lt;br /&gt;&lt;br /&gt;Celebrating its 37th anniversary in 2009, Mason has strong academic and research programs, which concentrate on producing successful students and accomplished alumni with a global focus.&lt;br /&gt;&lt;br /&gt;In the past three years, Mason has added 27 degree programs, including undergraduate degrees in global and environmental change, and film and video studies.&lt;br /&gt;&lt;br /&gt;The university also partnered with the Smithsonian Institution in fall 2007 to create the Smithsonian Semester, which allows students to live on-site at the Conservation and Research Center of the Smithsonian's National Zoo and study global-scale conservation issues and civic concerns.&lt;br /&gt;&lt;br /&gt;The university has a reputation for forward-thinking academic offerings. In the 1980s, Mason established the first engineering school in the country to focus on information technology to meet the workforce needs of an emerging high-tech economy.&lt;br /&gt;&lt;br /&gt;The university also boasts some of the most cutting-edge research in the biosciences, from cancer research to thwarting biological weapons.&lt;br /&gt;&lt;br /&gt;Its new biomedical research laboratory is one of 13 nationwide being built with the help of a $25 million grant from the National Institute of Allergy and Infectious Diseases, part of the National Institutes of Health.&lt;br /&gt;&lt;br /&gt;The university's students are innovators as well. From discovering new galaxies to lobbying legislators on policy issues, Mason students have success in all areas.&lt;br /&gt;&lt;br /&gt;Mason has one of the strongest undergraduate research programs, and students regularly publish research that contributes to the knowledge of their field. The school has produced acclaimed authors, popular television personalities, celebrated Olympic athletes and renowned scientists.&lt;br /&gt;&lt;br /&gt;Mason is a young university that continues to grow. The school is in the midst of its largest structural transformation ever, investing more than $500 million in construction between 2002 and 2013.&lt;br /&gt;&lt;br /&gt;Highlights include multiple new academic buildings, an on-campus hotel and conference center and what will soon be one of the largest academic, residential communities in Virginia.&lt;br /&gt;&lt;br /&gt;“For universities or colleges to achieve and maintain excellence, it is imperative that they continually seek ways to be innovative, enhance their academic programs and upgrade their facilities,” says Provost Peter Stearns.&lt;br /&gt;&lt;br /&gt;“This strategy has allowed our faculty to pursue their research, and students to achieve their educational goals.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8655481222258972666?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8655481222258972666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8655481222258972666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8655481222258972666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8655481222258972666'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/08/mason-tops-us-news-list-of-schools-to.html' title='Mason Tops U.S. News List of Schools to Watch'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3230813048105456296</id><published>2008-08-17T13:04:00.002-04:00</published><updated>2008-08-17T13:35:11.757-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comparison of Enum Types - Java vs C# vs C++'/><title type='text'>Comparison of Enum Types - Java vs C# vs C++</title><content type='html'>&lt;strong&gt;Enumerated Lists in Java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Each item in the list is called an enum. Each enum is of the type under which it is declared. It is no way a string, or any integer. The simplest declaration of an enumerated list in java is as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;enum BookType { HARDCOPY , EBOOK }; //where the semicolon is optional&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Note here that HARDCOPY and EBOOK are not strings, there type is BookType. Anyways, once declared, we can use an instance of BookType as,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;BookType bt1 = BookType.HARDCOPY;&lt;br /&gt;BookType bt2 = BookType.EBOOK;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Beyond this, any other assignment to BookType would result in a compilation error.&lt;br /&gt;Java’s coding conventions want you to capitalize all the constants in an enum type declaration. Having any other case combination is legal.&lt;br /&gt;&lt;br /&gt;An enum in Java is just like a separate class. So, they can be declared independent of any class, like a different class. However, the only access modifier applicable to an independent enum declaration is public (and default i.e. no modifier). It can never be private or protected (obviously!).&lt;br /&gt;&lt;br /&gt;They can also be declared as a class member; however, they can never be declared as a local type i.e. within a method! Any access modifier can be used with an enum type which is declared inside a class - It can be public, private, default (no modifier), or protected.&lt;br /&gt;&lt;br /&gt;If an enum type is declared in classOne and it is being used in classTwo, then the assignment of values to this enum type’s instance is changed as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;public classOne {&lt;br /&gt;enum BookType { HARDCOPY , EBOOK }&lt;br /&gt;BookType bt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public classTwo {&lt;br /&gt;public classTwo(){&lt;br /&gt;classOne instanceOne = new classOne();&lt;br /&gt;instanceOne.bt = classOne.BookType.EBOOK;&lt;br /&gt;// instanceOne.bt = BookType.EBOOK;&lt;br /&gt;// this is wrong, compilation error.&lt;br /&gt;}&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As I said earlier, an enum type declaration is simply a kind of a class declaration and hence it can incorporate constructors, and member variables and methods. Why do you need all this? Because sometimes you really need to know more about a particular enum constant then just a weird looking capitalize word.&lt;br /&gt;&lt;br /&gt;Consider following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;enum BookType{&lt;br /&gt;&lt;br /&gt;HARDCOPY("expensive"), EBOOK("cheap");&lt;br /&gt;&lt;br /&gt;public String bookPriceIdea; //bad practice: use getter/setter.&lt;br /&gt;&lt;br /&gt;private BookType(String priceIdea) {&lt;br /&gt;this.bookPriceIdea = priceIdea;&lt;br /&gt;}&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the above example, each enum type is associated with a string that tells more about the price of the type of book. Think of anything else, and you can associate it to any enum type in a similar way. Notice that I have declared a member variable within the enum type declaration, this is allowed. Also note that the access modifier of the constructor is private, which is again strange; however, it cannot be public or protected because apparently it’s for internal use (invoked automatically), and not for any external invocation.&lt;br /&gt;&lt;br /&gt;Optionally, you can just ignore the access modifier here to give it a default behavior. Accessing this additional attribute associated with an enum constant is easy and is as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;&lt;br /&gt;BookType bt = BookType.HARDCOPY;&lt;br /&gt;String btPriceIdea = bt.bookPriceIdea;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, there is something called “constant specific class body”. Within the declaration of the enum type, such a class body (that looks like an inner class) can be associated with any enum constant. Within this code section/body, you override a member function of the enum type declaration. The following example will hopefully clarify this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;enum BookType {&lt;br /&gt;&lt;br /&gt;AMAZONKINDLEBOOK,&lt;br /&gt;EBOOK,&lt;br /&gt;HARDCOPY{&lt;br /&gt;public boolean getBookDependencyOnElectronics(){&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;public boolean getBookDependencyOnElectronics(){&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;&lt;strong&gt;Enumerated Lists in C#&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Simple declaration:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;Enum enum-type-name { enumConstant1, enumConstant2 … }&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consider following example:&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;Enum FamilyMembers&lt;br /&gt;{&lt;br /&gt;Father,&lt;br /&gt;Mother,&lt;br /&gt;Daughter,&lt;br /&gt;Son&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first constant has a default value of 0 (i.e. father = 0). Each of the following constants are given increasing integers from 0 onwards like 1, 2, 3 and so on. Note that the default type of the constants is the primitive type int. If you don’t want the integer assignments for constants to start from zero, you can manually initialize the first one from the intended starting int as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;Enum FamilyMembers&lt;br /&gt;{&lt;br /&gt;Father=1,&lt;br /&gt;Mother,&lt;br /&gt;Daughter,&lt;br /&gt;Son&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, Father=1, Mother=2, Daughter=3 and Son=4. You can do the following in C#:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;System.Console.WriteLine(“Order of mother is “ + (int) FamilyMembers.Mother);&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, the following is not allowed in Java:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;System.out.println(“Order of mother is “ + (int) FamilyMembers.Mother);&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instead, you can associate the attribute “order” with FamilyMembers type as discussed earlier.&lt;br /&gt;&lt;br /&gt;Coming back to C#, one can also do the following to associate average ages of members of a typical family:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;Enum FamilyMembers&lt;br /&gt;{&lt;br /&gt;Father=50,&lt;br /&gt;Mother=45,&lt;br /&gt;Daughter=20,&lt;br /&gt;Son=15&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;System.Console.WriteLine(“Average age of a mother is “ + (int) FamilyMembers.Mother);&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The base type of an enumeration, which is by default int, can infact be changed to any of the integer types. Following is the syntax to do so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;Enum FamilyMembers: short&lt;br /&gt;{&lt;br /&gt;Father=50,&lt;br /&gt;Mother=45,&lt;br /&gt;Daughter=20,&lt;br /&gt;Son=15&lt;br /&gt;}&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Even though the base type is short, but an explicit cast is still required when using these as shown here:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;short averageAge = (short) FamilyMembers.Father;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;&lt;strong&gt;Enumerated Lists in C++&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Enumerators in C++ are less complicated then structures, and they are not class-like declarations as they are in Java. Each constant in the enum type declaration is called enumerator (called enum in Java). Consider the following famous enumeration of days of the week:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;enum week_days {&lt;br /&gt;Sunday,&lt;br /&gt;Monday,&lt;br /&gt;Tuesday,&lt;br /&gt;Wednesday,&lt;br /&gt;Thursday,&lt;br /&gt;Friday,&lt;br /&gt;Saturday&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;void main (){&lt;br /&gt;week_days dayOne;&lt;br /&gt;dayOne = Wednesday;&lt;br /&gt;cout&amp;#60;&amp;#60;dayone&amp;#60;&amp;#60;endl;&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that the declaration of enumeration is nothing different to what we have seen previously except for the face that the semicolon is a must in C++. Consider the following code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;enum week_days {&lt;br /&gt;Sunday,&lt;br /&gt;Monday=1,&lt;br /&gt;Tuesday,&lt;br /&gt;Wednesday=1,&lt;br /&gt;Thursday,&lt;br /&gt;Friday=9,&lt;br /&gt;Saturday&lt;br /&gt;};&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In C++, enumerations are treated internally as integers which is again unlike Java, where the type of enum constant (enumerator) is its owner enum type, and nothing else. The thing to note here is that Sunday=0, Monday=1, Tuesday=2, Wednesday=1, Thursday=2, Friday=9, and Saturday=10. And so, same integer can be associated with multiple enumerators.&lt;br /&gt;&lt;br /&gt;Since enumerators are internally treated as integers, apparently all integer arithmetic can be performed on them. Hence, the following is legal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;int i = Sunday; // i becomes 0&lt;br /&gt;int j = 3 + MOnday; // j becomes 4&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, the reverse ain't possible - no implicit conversion from int to enum:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;em&gt;week_days dayOne = 2; // compilation error, such a type conversion is illegal.&lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3230813048105456296?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3230813048105456296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3230813048105456296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3230813048105456296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3230813048105456296'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/08/comparison-of-enum-types-java-vs-c-vs-c.html' title='Comparison of Enum Types - Java vs C# vs C++'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5711267857534536279</id><published>2008-08-16T00:26:00.003-04:00</published><updated>2008-08-16T00:34:19.561-04:00</updated><title type='text'>Trip to NY [080908, 081008]</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_kspooNI8sPE/SKZYvkcsJlI/AAAAAAAAAJw/94d_A0e5eUk/s1600-h/Picture+088+%5B1024x768%5D.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5234969191125886546" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_kspooNI8sPE/SKZYvkcsJlI/AAAAAAAAAJw/94d_A0e5eUk/s400/Picture+088+%5B1024x768%5D.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_kspooNI8sPE/SKZYvsskqSI/AAAAAAAAAJ4/MIMIGSpreBw/s1600-h/Picture+105+%5B1024x768%5D.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5234969193339988258" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_kspooNI8sPE/SKZYvsskqSI/AAAAAAAAAJ4/MIMIGSpreBw/s400/Picture+105+%5B1024x768%5D.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_kspooNI8sPE/SKZXrxf_5II/AAAAAAAAAJo/U4T_kJIsGEc/s1600-h/Picture+032+%5B1024x768%5D.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5234968026398319746" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_kspooNI8sPE/SKZXrxf_5II/AAAAAAAAAJo/U4T_kJIsGEc/s400/Picture+032+%5B1024x768%5D.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-5711267857534536279?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5711267857534536279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5711267857534536279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5711267857534536279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5711267857534536279'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/08/trip-to-ny-080908-081008.html' title='Trip to NY [080908, 081008]'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_kspooNI8sPE/SKZYvkcsJlI/AAAAAAAAAJw/94d_A0e5eUk/s72-c/Picture+088+%5B1024x768%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2991335445829779287</id><published>2008-08-03T00:44:00.012-04:00</published><updated>2008-08-03T01:44:57.659-04:00</updated><title type='text'>I baked fudge brownies; all alone!!!</title><content type='html'>Yes I did it.. except for a few seconds of confusion in the process, it went fine and the outcome was delicious!.. more importantly, it's good to eat it all alone.. err, or is it :p&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SJU4ZTCZt6I/AAAAAAAAAI4/sBaryD30Jdc/s1600-h/1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230148549518931874" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_kspooNI8sPE/SJU4ZTCZt6I/AAAAAAAAAI4/sBaryD30Jdc/s400/1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/SJU4gNO5nTI/AAAAAAAAAJA/FDVUsV-iEM0/s1600-h/2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230148668219825458" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SJU4gNO5nTI/AAAAAAAAAJA/FDVUsV-iEM0/s400/2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/SJU4lAUNNrI/AAAAAAAAAJI/tczTAHGSOXs/s1600-h/3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230148750651766450" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SJU4lAUNNrI/AAAAAAAAAJI/tczTAHGSOXs/s400/3.jpg" border="0" /&gt;&lt;/a&gt; &lt;div&gt;&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/SJU4qQH6pZI/AAAAAAAAAJQ/GXK5oTMKbmg/s1600-h/4.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230148840794531218" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_kspooNI8sPE/SJU4qQH6pZI/AAAAAAAAAJQ/GXK5oTMKbmg/s400/4.jpg" border="0" /&gt;&lt;/a&gt;&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/SJU4yyqgVfI/AAAAAAAAAJY/rx3rlFnGEkE/s1600-h/5.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230148987505366514" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_kspooNI8sPE/SJU4yyqgVfI/AAAAAAAAAJY/rx3rlFnGEkE/s400/5.jpg" border="0" /&gt;&lt;/a&gt;&lt;a href="http://bp3.blogger.com/_kspooNI8sPE/SJU44pFmwBI/AAAAAAAAAJg/SmH7L-3RVGw/s1600-h/6.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5230149088013893650" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_kspooNI8sPE/SJU44pFmwBI/AAAAAAAAAJg/SmH7L-3RVGw/s400/6.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2991335445829779287?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2991335445829779287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2991335445829779287' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2991335445829779287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2991335445829779287'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/08/i-made-fudge-brownies-all-alone.html' title='I baked fudge brownies; all alone!!!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kspooNI8sPE/SJU4ZTCZt6I/AAAAAAAAAI4/sBaryD30Jdc/s72-c/1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6498857076688304804</id><published>2008-08-01T22:09:00.004-04:00</published><updated>2008-08-01T22:14:58.300-04:00</updated><title type='text'>Instantaneous updates on feelings..</title><content type='html'>So, don't even dare to pass by if 'enraged' is the update! Anyways, I sneaked into someone's private space to get this snapshot.. I would love to have one such I dont know what to call it, let's say may be 'feeling manager' :D&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SJPCO7qNtNI/AAAAAAAAAIw/yLxbaxUTYcE/s1600-h/08-01-08_1509.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5229737154095985874" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_kspooNI8sPE/SJPCO7qNtNI/AAAAAAAAAIw/yLxbaxUTYcE/s400/08-01-08_1509.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&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/1780823879643395553-6498857076688304804?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6498857076688304804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6498857076688304804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6498857076688304804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6498857076688304804'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/08/instantaneous-updates-on-feelings.html' title='Instantaneous updates on feelings..'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kspooNI8sPE/SJPCO7qNtNI/AAAAAAAAAIw/yLxbaxUTYcE/s72-c/08-01-08_1509.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7610343008578017924</id><published>2008-07-16T21:35:00.004-04:00</published><updated>2008-07-16T22:22:16.961-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VisualVM 1.0 JDK 6 Update 7'/><title type='text'>VisualVM 1.0</title><content type='html'>&lt;span style="font-size:85%;"&gt;VisualVM is a visual tool integrating several commandline JDK tools and lightweight profiling capabilities. Designed for both production and development time use, it further enhances the capability of monitoring and performance analysis for the Java SE platform. Using it,&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Application Developer&lt;/strong&gt; can monitor, profile, take thread dumps, browse heap dumps.&lt;br /&gt;&lt;strong&gt;System Administrator&lt;/strong&gt; can monitor and control Java applications across the entire network.&lt;br /&gt;&lt;strong&gt;Java Application User&lt;/strong&gt; can create bug reports containing all the necessary information,&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SH6igGFpAFI/AAAAAAAAAIY/ITUSsi1pITM/s1600-h/vvm-anagram-profiler.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5223791290070138962" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_kspooNI8sPE/SH6igGFpAFI/AAAAAAAAAIY/ITUSsi1pITM/s400/vvm-anagram-profiler.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="https://visualvm.dev.java.net/"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;https://visualvm.dev.java.net/&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7610343008578017924?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7610343008578017924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7610343008578017924' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7610343008578017924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7610343008578017924'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/07/visualvm-10.html' title='VisualVM 1.0'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kspooNI8sPE/SH6igGFpAFI/AAAAAAAAAIY/ITUSsi1pITM/s72-c/vvm-anagram-profiler.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6144151825228085135</id><published>2008-07-14T08:03:00.000-04:00</published><updated>2008-07-14T08:10:54.326-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Association for the Advancement of Artificial Intelligence AAAI'/><title type='text'>I am a 'little' part of AAAI</title><content type='html'>&lt;span style="font-size:85%;"&gt;Today, I became a part of apparently the most active Artificial Intelligence group i.e. Association for the Advancement of Artificial Intelligence (AAAI). I was eligible for the Student Membership costing 35$ per year for students in US/Canada. Following are the officially listed benefits associated with a typical membership:&lt;br /&gt;&lt;/span&gt;&lt;ul style="color: rgb(102, 102, 102);"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;AI Magazine: Included in  your basic membership&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The AAAI  Conference on Artificial Intelligence: Members  receive substantial discounts on registration fees&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The Conference on Innovative Applications of Artificial  Intelligence: Members receive substantial discounts on registration  fees&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The online AI Directory: Included in your basic membership&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Sponsored Journals: Members receive substantial discounts on  subscription fees&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The Spring Symposium Series&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;AAAI Technical Reports: Members receive discounts on technical  reports&lt;/span&gt; &lt;/li&gt;&lt;li&gt; &lt;span style="font-size:85%;"&gt;AAAI Press&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Access to expanded world wide web services: Members  receive password access to controlled portions of AAAI's web, where they can find full-text versions of the latest AI Magazine, along with other members-only materials.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;AAAI Workshops&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;AAAI Affiliates&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6144151825228085135?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6144151825228085135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6144151825228085135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6144151825228085135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6144151825228085135'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/07/i-am-little-part-of-aaai.html' title='I am a &apos;little&apos; part of AAAI'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8477393376290479640</id><published>2008-07-13T13:30:00.000-04:00</published><updated>2008-07-13T13:34:16.678-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='How to Do a Proper Push-Up'/><title type='text'>A Proper Push-Up!</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Lie chest-down with your hands at shoulder level, palms flat on the floor and slightly more than shoulder-width apart, your feet together and parallel to each other. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Look forward rather than down at the floor. The first contact you make with the floor with any part of the face should be your chin, not your nose. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Keep your legs straight and your toes tucked under your feet. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Straighten your arms as you push your body up off the floor. Keep your palms fixed at the same position and keep your body straight. Try not to bend or arch your upper or lower back as you push up. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Exhale as your arms straighten out. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Pause for a moment. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Lower your body slowly towards the floor. Bend your arms and keep your palms in fixed position. Keep body straight and feet together. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Lower body until chest touches the floor. Try not to bend your back. Keep your knees off the floor, and inhale as you bend your arms. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Pause for a moment. Begin straightening your arms for a second push-up. Exhale as you raise your body. &lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;span style="font-size:78%;color:#333333;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://www.ehow.com/how_3190_proper-push-up.html"&gt;&lt;span style="font-size:78%;color:#333333;"&gt;&lt;strong&gt;eHow&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;color:#333333;"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8477393376290479640?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8477393376290479640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8477393376290479640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8477393376290479640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8477393376290479640'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/07/proper-push-up.html' title='A Proper Push-Up!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8999129581588820192</id><published>2008-07-02T00:32:00.000-04:00</published><updated>2008-07-02T00:42:20.787-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OntologyWorks Semantic Web RIF'/><title type='text'>Is the OntologyWorks Knowledge Server a Database?</title><content type='html'>&lt;span style="font-size:85%;"&gt;I was looking for companies that are working with technologies related to Semantic Web. I noticed that a few members in the &lt;/span&gt;&lt;a href="http://www.w3.org/2005/rules/wiki/RIF_Working_Group"&gt;&lt;span style="font-size:85%;"&gt;RIF&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; (Rule Interchange Format) workgroup at w3c are from OntologyWorks.&lt;br /&gt;&lt;br /&gt;They &lt;/span&gt;&lt;a href="http://www.ontologyworks.com/main"&gt;&lt;span style="font-size:85%;"&gt;define&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; themselves as,&lt;br /&gt;&lt;em&gt;".. a product company offering a broad suite of semantic technologies including deductive information repositories (our Ontology Works Knowledge Servers), semantic information fusion and cost effective semantic federation of legacy databases, ontology-based domain modeling, and management of the distributed enterprise."&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;It wasn't unusual for them to justify their existence, considering the fact that there are a number of disbelievers as far as the ability of Semantic Web concerned. One question that they answered was the thing that whether their capabilities were any different from companies offering typical database management system based services. Following is their &lt;/span&gt;&lt;a href="http://www.ontologyworks.com/more-than-a-database"&gt;&lt;span style="font-size:85%;"&gt;justification&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;:&lt;br /&gt;&lt;em&gt;"Our information repositories are called Ontology Works Knowledge Servers to distinguish them from traditional database management systems or “databases” as these are usually called. Our Knowledge Server Family of ontology-based deductive systems do all that a database does but also do so much more that. They are a change of state in database technology, as from water to steam. We also apply our semantic technology capabilities to other information management systems, e.g. semantic legacy database federation, semantic enterprise mission management, semantic enhancement of existing databases and other applications.&lt;br /&gt;&lt;br /&gt;In essence, traditional databases contain models of the world that are truncated and mute on many issues. They do not do inference over the model and cannot handle 3-place and higher relationships as our systems can. The emphasis in traditional databases is on storing lots of data and getting some of it out fast when needed. They were built so that users could ask for something, not about something. Traditional systems are brittle, expensive to maintain, and can't provide the answers the modern enterprise needs.&lt;br /&gt;&lt;br /&gt;At our end of the semantic technologies spectrum we can describe the knowledge domain you care about with full descriptive power - with temporal understanding, n-place relationships and a powerfully descriptive controlling logic that allows complex inference over the model.&lt;br /&gt;&lt;br /&gt;The genius of Ontology Works is that we can instantiate this complex, expressive model (ontology + controlling logic) of a knowledge domain in a deductive system - the eXtensible Knowledge Server (XKS) that gives excellent query performance for complex query whose answers have very high value to the enterprise. Our Knowledge Servers give the user real knowledge discovery, not just data retrieval.&lt;br /&gt;&lt;br /&gt;The question then is not, “Is it better to have these highly expressive information systems or go back to mute data models?” The question is, “Yes, this expressiveness is an undoubted good, but is it efficiently computable.” With Ontology Works the answer is “Yes, it is efficiently computable.” Consequently, the economics of implementing our systems is very favorable." &lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8999129581588820192?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8999129581588820192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8999129581588820192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8999129581588820192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8999129581588820192'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/07/is-ontology-works-knowledge-server.html' title='Is the OntologyWorks Knowledge Server a Database?'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4009997108773535062</id><published>2008-06-24T01:45:00.000-04:00</published><updated>2008-06-24T01:56:59.897-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perfect rainbow'/><title type='text'>Perfect Rainbow!</title><content type='html'>&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/SGCKb9frf6I/AAAAAAAAAGY/xVreN3A1RW8/s1600-h/06-23-08_1855.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5215320581463572386" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SGCKb9frf6I/AAAAAAAAAGY/xVreN3A1RW8/s400/06-23-08_1855.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/SGCKbwfZqUI/AAAAAAAAAGg/mlni2vr7ZGw/s1600-h/06-23-08_1856.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5215320577972742466" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_kspooNI8sPE/SGCKbwfZqUI/AAAAAAAAAGg/mlni2vr7ZGw/s400/06-23-08_1856.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/SGCKb0RhZII/AAAAAAAAAGo/ytlLKWeZm08/s1600-h/06-23-08_1859.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5215320578988270722" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_kspooNI8sPE/SGCKb0RhZII/AAAAAAAAAGo/ytlLKWeZm08/s400/06-23-08_1859.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/SGCKcLIOuQI/AAAAAAAAAGw/xj72EvKEVeM/s1600-h/06-23-08_1900.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5215320585123313922" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SGCKcLIOuQI/AAAAAAAAAGw/xj72EvKEVeM/s400/06-23-08_1900.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I took these snapshots near the newly built dorms at George Mason University's Fairfax Campus. On closely observing these, one can see the second lighter rainbow just above the first. Honestly speaking, this is the first time ever that I saw such a perfect beauty of nature! Anyways, I wouldn't have experienced it if there were no thunderstorm warning, which made us to leave earlier..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4009997108773535062?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4009997108773535062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4009997108773535062' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4009997108773535062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4009997108773535062'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/perfect-rainbow.html' title='Perfect Rainbow!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_kspooNI8sPE/SGCKb9frf6I/AAAAAAAAAGY/xVreN3A1RW8/s72-c/06-23-08_1855.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3208356243142187874</id><published>2008-06-23T02:01:00.000-04:00</published><updated>2008-06-23T02:27:17.990-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT IQ Test Game'/><title type='text'>IQ Game</title><content type='html'>&lt;embed style="WIDTH: 340px; HEIGHT: 300px" name="IQ Game" src="http://freeweb.siol.net/danej/riverIQGame.swf" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;To start press the BIG BLUE button.&lt;br /&gt;The RULES are as follows:&lt;br /&gt;1, Only two people can travel at once&lt;br /&gt;2, Daddy (with short brown hair) can not stay with the girls (long hair) without the presence of the mother&lt;br /&gt;3, Mum (with long bluish hair) cant stay with the boys (short hair) without the presence of the father&lt;br /&gt;4, The arrested red-hair girl in stipy outfit cannot stay with any of the family members&lt;br /&gt;5, Only the Police officer and the parents can drive the boat across the river&lt;br /&gt;&lt;br /&gt;Click on the people you want to transport&lt;br /&gt;To use the boat click on the red dots next to the boat&lt;br /&gt;&lt;br /&gt;Following is some unauthentic info about it:&lt;br /&gt;This test was developed and used in Japan for job and university IQ tests&lt;br /&gt;Mainly used in the IT sector&lt;br /&gt;This test is solved in around 15mins (in Japan)&lt;br /&gt;&lt;br /&gt;If you succeed in:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;4 minutes: you are a Genius&lt;/li&gt;&lt;li&gt;6 minutes: You are exceptionally intelligent&lt;/li&gt;&lt;li&gt;10 minutes:You are very intelligent&lt;/li&gt;&lt;li&gt;20 minutes:You are average&lt;/li&gt;&lt;li&gt;25 minutes: You are a bit slow&lt;/li&gt;&lt;li&gt;30 minutes or more: You are terrible&lt;/li&gt;&lt;/ul&gt;Finally, I did it in 6 minutes. But, I am sure that I am missing the atoms of an exceptionally intelligent human being. :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3208356243142187874?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3208356243142187874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3208356243142187874' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3208356243142187874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3208356243142187874'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/to-start-press-big-blue-button.html' title='IQ Game'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5185699769876029621</id><published>2008-06-18T10:52:00.000-04:00</published><updated>2008-06-18T10:56:37.103-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Compiler IDE Live IDE'/><title type='text'>CodeIDE: An Online IDE</title><content type='html'>Online apps are the way of the future they say, and if you needed more proof there’s now an online IDE for programmers called CodeIDE. CodeIDE is an in-browser development environment that mixes a text field for writing code, a debug panel, a command line input and other tools. &lt;div&gt;So far CodeIDE supports Basic, Pascal, C++, Perl, Javascript, HTML, MATH and LISP. Registered users get chat tools which can be used to solicit help and advice from other users. If you sign up for an account you’ll also get access to organizational tool like projects and files.&lt;br /&gt;While the text field-based text editor has some impressive features like syntax highlighting, line numbering and search and replace capabilities, I doubt it’s going to replace emacs or Vi for the serious coder.&lt;br /&gt;But aside from the limited text editor feature, CodeIDE is an impressive setup and when used in conjunction with a real text editor the debug features are just a cut-and-paste away. Where applicable (HTML mainly) the debug window auto updates so you can see your markup as you enter it.&lt;br /&gt;While it isn’t all that useful, there’s a nice little AJAXy widget that show live debug results from other users which is kind of fun to watch. There’s also a forum and wiki, though both are a bit short on content since the site just went live a couple of days ago.&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SFkh1hiASKI/AAAAAAAAAGA/mj-KaDCk3Bk/s1600-h/1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5213235247075838114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_kspooNI8sPE/SFkh1hiASKI/AAAAAAAAAGA/mj-KaDCk3Bk/s400/1.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/SFkh1tWDK-I/AAAAAAAAAGI/x6BacWAXVSY/s1600-h/2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5213235250246921186" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SFkh1tWDK-I/AAAAAAAAAGI/x6BacWAXVSY/s400/2.jpg" border="0" /&gt;&lt;/a&gt;&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SFkh12qfjHI/AAAAAAAAAGQ/Al8UBoFxydk/s1600-h/3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5213235252748586098" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_kspooNI8sPE/SFkh12qfjHI/AAAAAAAAAGQ/Al8UBoFxydk/s400/3.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://blog.wired.com/monkeybites/2007/02/codeide_an_onli.html"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;http://blog.wired.com/monkeybites/2007/02/codeide_an_onli.html&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;]&lt;/strong&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/1780823879643395553-5185699769876029621?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5185699769876029621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5185699769876029621' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5185699769876029621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5185699769876029621'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/codeide-online-ide.html' title='CodeIDE: An Online IDE'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kspooNI8sPE/SFkh1hiASKI/AAAAAAAAAGA/mj-KaDCk3Bk/s72-c/1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-9111256795670822160</id><published>2008-06-17T13:36:00.000-04:00</published><updated>2008-06-17T13:39:04.995-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Where do you sit in class'/><title type='text'>Where do you sit in class!</title><content type='html'>&lt;a href="http://bp3.blogger.com/_kspooNI8sPE/SFf2psJczNI/AAAAAAAAAF4/1ysEeWH1__k/s1600-h/xx.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5212906289790504146" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_kspooNI8sPE/SFf2psJczNI/AAAAAAAAAF4/1ysEeWH1__k/s400/xx.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SFf2kFXwZrI/AAAAAAAAAFw/FMdUL557_Ig/s1600-h/xx.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/SFf2YJaZyJI/AAAAAAAAAFo/Z0iqZqBeIVY/s1600-h/xx.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-9111256795670822160?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/9111256795670822160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=9111256795670822160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9111256795670822160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9111256795670822160'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/where-do-you-sit-in-class.html' title='Where do you sit in class!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_kspooNI8sPE/SFf2psJczNI/AAAAAAAAAF4/1ysEeWH1__k/s72-c/xx.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5101104008470289835</id><published>2008-06-17T11:47:00.001-04:00</published><updated>2008-06-17T13:39:37.135-04:00</updated><title type='text'>Ha, ha, haaa!</title><content type='html'>&lt;a href="http://bp1.blogger.com/_kspooNI8sPE/SFfcziGyIJI/AAAAAAAAAFg/s9H4n_xywjY/s1600-h/pic17.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5212877871591334034" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_kspooNI8sPE/SFfcziGyIJI/AAAAAAAAAFg/s9H4n_xywjY/s400/pic17.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ISLAMABAD - June 16: A sergeant of the&lt;br /&gt;Islamabad Traffic Police issuing a ticket to a city policeman for jumping the ‘red light’ at Radio Pakistan crossing on Monday.—Photo by G.A. Zaidi&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[source:&lt;/strong&gt;&lt;/span&gt;&lt;a href="http://dawn.com/2008/06/17/SlideShow/NIP17.htm"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;http://dawn.com/2008/06/17/SlideShow/NIP17.htm&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;]&lt;/strong&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/1780823879643395553-5101104008470289835?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5101104008470289835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5101104008470289835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5101104008470289835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5101104008470289835'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/ha-ha-haaa.html' title='Ha, ha, haaa!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kspooNI8sPE/SFfcziGyIJI/AAAAAAAAAFg/s9H4n_xywjY/s72-c/pic17.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5598040281390749170</id><published>2008-06-14T20:41:00.000-04:00</published><updated>2008-06-14T20:45:38.529-04:00</updated><title type='text'>our common sense!</title><content type='html'>&lt;img id="BLOGGER_PHOTO_ID_5211902831353457826" style="CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SFRmAuKs7KI/AAAAAAAAAFQ/Ob_fN2ROzk0/s400/untitled.bmp" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-5598040281390749170?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5598040281390749170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5598040281390749170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5598040281390749170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5598040281390749170'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/our-common-sense.html' title='our common sense!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_kspooNI8sPE/SFRmAuKs7KI/AAAAAAAAAFQ/Ob_fN2ROzk0/s72-c/untitled.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2780155841623278546</id><published>2008-06-10T00:31:00.000-04:00</published><updated>2008-06-10T21:07:20.120-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Robert A. Heinlein Lazarus Long'/><title type='text'>Yes, he said Insect :|</title><content type='html'>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. - &lt;strong&gt;Robert A. Heinlein, "Lazarus Long"&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2780155841623278546?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2780155841623278546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2780155841623278546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2780155841623278546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2780155841623278546'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/insect.html' title='Yes, he said Insect :|'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3647117229356459476</id><published>2008-06-08T23:33:00.000-04:00</published><updated>2008-06-08T23:37:35.042-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Thesis Semantic Web George Mason'/><title type='text'>My MS Thesis</title><content type='html'>On 2nd June, 2008, I started my M.S. Thesis study in a sort of official manner. I requested my advisor Dr. Tecuci and supervisor Dr. Boicu to suggest me a thesis topic. I did it deliberately as I had a bad experience in working on one of my own research topic as part of my undegraduation final year project, where all the responsibility and planning lied with me and all that a supervisor asks you is 'watsp' or 'howz it goin'. So, my understandings lead me to have supervision in the sense of transfer of knowledge, experience, and planning ability.&lt;br /&gt;&lt;br /&gt;Also, I added one single condition in regard to my research topic that they might propose: Some how, I want to work in parallel to the Semantic Web Activity. Fortunately, they already had a broad vision about such a project in relation to Disciple System. Eventually, in the next meeting, I was introduced to the vision, direction, timeline, opportunities, and expectations. And, I loved it!&lt;br /&gt;&lt;br /&gt;The Disciple System, which is a brainchild of Dr. Tecuci, was not developed since its inception, while keeping in mind a compliance with the artifacts of the semantic web. In the recent years, however, a lot work was done to get the most out of OWL, while extending it where it was required. Now, the related standards have all matured, and at the same time new standards are being developed. To achieve a strong compliance b/w Disciple and those standards, I am required to study, observe, and participate in development of a couple (or may be single) standards, which provide the same (or more) facilities that Disciple is providing in a non-standard way. This would be achieved by identifying relevant W3C working groups (RIF etc), and seeking memberships. Following this, we would rebuild certain components of Disciple to conform to norms of semantic web standards and would come up with some sort of association b/w non-conventional expert systems and semantic web.&lt;br /&gt;&lt;br /&gt;Yes, it's all very much abstract as of now and it remains like this traditionally. The more I'll study, the narrower the vision will be, till the moment when I'll be able to say it all in a couple of statements, known as the Thesis Statement.&lt;br /&gt;&lt;br /&gt;That's it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3647117229356459476?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3647117229356459476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3647117229356459476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3647117229356459476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3647117229356459476'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/06/my-ms-thesis.html' title='My MS Thesis'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5434365861796015895</id><published>2008-05-19T01:16:00.000-04:00</published><updated>2008-05-19T01:25:54.817-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Principles Agile Programming'/><title type='text'>The 4 Core Principles of Agile Programming</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Author: Joe Winchester, JDJ's Desktop Technologies Editor, is a software developer working on development tools for IBM in Hursley, UK.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;One of the things I really enjoy at the moment is the recognition and adoption of agile programming as a fully fledged powerful way to deliver quality software projects. As its figurehead is a group of very talented individuals who have created the agile manifesto http://agilemanifesto.org/. At its core are four simple principles that, when followed and applied to software projects, generally will ensure a great flexibility and hence higher agility.&lt;br /&gt;&lt;br /&gt;Leaving aside how great agile projects are, what worries me at the moment is that more and more people seem to be buying into this idea that agile programming is a noun rather than a verb, and that to do it correctly you have to follow a certain process to the letter.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Point 1: the manifesto for agile developemt states that it puts "Individuals and interactions" over process and tools. In other words, you adapt the process and tools to the team and not vice-versa.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A colleague of mine recently attended a lecture on how their company was going to roll out a company wide agile methodology. They'd given it a silly in-house acronym and appointed a team of people to help projects adopt this new methodology. At the lecture attendees were given a 97 page ring bound handout explaining agile programming that, on page 85, warned people to "beware of powerpoint architects". Forget having a black fly in your chardonnay folks, this is like having a herd of dinosaurs squash your PC and replace it with a punch card mailbox.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Point 2: the manifesto for agile development states that it puts: "Working software over comprehensive documentation".&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In the same week a friend of mine e-mailed me to complain that at her company they'd decided to become agile and renamed all of their meetings to scrums. Folks, if it smells like a pointless meeting, if it looks like a pointless meeting, if it tastes like a pointless meeting, then it probably is a pointless meeting. Calling it a scrum isn't going to change that. What was even more ironic was that at said meeting my friend, who was the only person there who'd written any code in the last ten years, yet had to suffer watching six colleagues stare at PowerPoint charts of dates and endlessly argue about which documents had to be signed off at which points in the next few months to obtain the right sizing to get the right approval to go ahead with the project that had the right marketing messages, blah blah, and so forth. The thought of actually coding something and showing it to customers to see what they thought and repeating this process to create an iterative feedback loop was clearly beyond their comprehension. Forget having ten thousand spoons when all you need is a fork; it's like having ten thousand planners when all you need is a developer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Point 3: the manifesto for agile development state that it puts: "Responding to change over following a plan."&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Legal departments can be a huge obstacle to agile development. I've heard so many stories of projects that want to reach customers early to get feedback yet find immovable hurdles thrown up by lawyers who insist that documents must be signed by the customer that their legal departments refuse to do so, creating a deadlock that keeps both sets of lawyers happily engaged, yet drives a massive wedge between the developer and their potential future user ,thereby destroying the whole feedback loop that is essential to the "perpetual beta" concept. When pressed most of the arguments given by lawyers, often pseudo lawyers because they don't actually have law degrees, are usually ridiculous and involve extrapolating things ad absurdum; "What if Foo does Boo and Moo sues us and we all get crushed by a falling comet ?", or recounting quondam horror stories, "Remember when Foo messed up and we all got sued and had to save the day and you're just about to do the same, etc...". Unfortunately legal departments hold a huge amount of power at corporations and love nothing more than to remind other groups of just how big and important they are.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Point 4: the manifesto for agile development state that it puts "Customer collaboration over contract negotiation".&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If companies refuse to actually change themselves, even if means changing the core and fabric of all that prevents the projects from becoming agile, then they'll just end up about as flexible as an elephant with two left feet. Being agile is not a buzzword; it is not a religion; it is not a methodology; it is about taking a few core principles and applying them to everything related to the entire development process. It is about taking risks, getting customers more involved with the development cycles, and reaping the rewards at the end when higher quality, better functioning, and more thoroughly tested code is delivered. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color:#666666;"&gt;&lt;strong&gt;[source:  &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://xml.sys-con.com/read/522904_1.htm"&gt;&lt;span style="color:#666666;"&gt;&lt;strong&gt;http://xml.sys-con.com/read/522904_1.htm&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#666666;"&gt;&lt;strong&gt;]&lt;/strong&gt;&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/1780823879643395553-5434365861796015895?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5434365861796015895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5434365861796015895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5434365861796015895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5434365861796015895'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/05/4-core-principles-of-agile-programming.html' title='The 4 Core Principles of Agile Programming'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4252282730277063532</id><published>2008-05-18T02:43:00.000-04:00</published><updated>2008-05-18T03:06:38.130-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantic web metacrap metadata'/><title type='text'>Metacrap</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Metacrap is a portmanteau drawn from metadata and crap. The origin of the word is unknown, but it was popularized by Cory Doctorow in a 2001 essay titled "Metacrap: Putting the torch to seven straw-men of the meta-utopia."&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;In the essay, Doctorow illustrates problems in relying on metadata for knowledge representation in online records or files by drawing humorous parallels to real-world systems, as well as showing examples of metadata collapse in online, web-based systems. The fragility of metadata is an important concern because much planning for improving the web (such as the semantic web) is predicated upon certain flavors of metadata becoming widely adopted and used with care -- something which, according to Doctorow's essay, will not and cannot happen. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Doctorow's seven insurmountable obstacles to reliable metadata are: &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;People lie &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;People are lazy &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;People are stupid &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Mission Impossible: know thyself &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Schemas aren't neutral &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Metrics influence results &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;There's more than one way to describe something &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;The complete article can be read &lt;/em&gt;&lt;a href="http://www.well.com/~doctorow/metacrap.htm"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Metacrap"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;http://en.wikipedia.org/wiki/Metacrap&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4252282730277063532?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4252282730277063532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4252282730277063532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4252282730277063532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4252282730277063532'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/05/metacrap.html' title='Metacrap'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5902976018153574747</id><published>2008-05-09T06:07:00.000-04:00</published><updated>2008-05-09T06:12:07.027-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dua&apos; to help you with your studying'/><title type='text'>Dua' to help you with your studying</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Dua Before Studying&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Allahumma infa’nii bimaa ‘allamtanii wa’allimnii maa yanfa’ unii.&lt;br /&gt;O Allah! Make useful for me what You taught me and teach me knowledge that will be useful to me.&lt;br /&gt;&lt;br /&gt;Allahumma inii as’aluka fahmal-nabiyyen wa hifthal mursaleen al-muqarrabeen.&lt;br /&gt;O Allah! I ask You for the understanding of the prophets and the memory of the messengers, and those nearest to You.&lt;br /&gt;&lt;br /&gt;Allahumma ijal leesanee ‘amiran bi thikrika wa qalbi bi khashyatika.&lt;br /&gt;O Allah! Make my tongue full of Your remembrance, and my heart with consciousness of You.&lt;br /&gt;&lt;br /&gt;Innaka ‘ala ma-tasha’-u qadeer wa anta hasbun-allahu wa na’mal wakeel.&lt;br /&gt;(Oh Allah!) You do whatever You wish, and You are my Availer and best if aid. Protector and the best of aid.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dua After Studying&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Allahhumma inni astaodeeuka ma qara’tu wama hafaz-tu. Faradduhu ‘allaya inda hagati elayhi. Innaka ‘ala ma-tasha’-u qadeer wa anta hasbeeya wa na’mal wakeel.&lt;br /&gt;Oh Allah! I entrust You with what I have read and I have studied. (Oh Allah!) Bring it back to me when I am in need of it. (Oh Allah!) You do whatever You wish, and You are my Availer and Protector and the best of aid.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dua While Studying Something Difficult&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Allahumma la sahla illama ja-’altahu sahla wa anta taj ‘alu al hazana etha shi’ta sahla.&lt;br /&gt;O Allah! Nothing is easy except what You have made easy. If You wish, You can make the difficult easy.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dua For Anxiety&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Allahumma inni a’oodhoo bika minal-hammi-walhazan. Wa’a oodhoo bika minal-ghammi-wal-kasal. Wa’a oodhoo bika minal jubni wal bukhl. Wa’a oodhoo bikal min ghalabatid-dayni-waqarir rijal.&lt;br /&gt;Oh Allah, I seek refuge in You from worry and grief, from helplessness and laziness, from cowardice and stinginess, and from overpowering of debt and from oppression of men.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dua For Distress&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Allahumma rahmataka arjoo falaa takilnee ilaa nafsee tarfata ‘aynin wa aslih-lee sha’nee kullahu, laa ilaha illa anta.&lt;br /&gt;O Allah! It is Your mercy that I hope for so do not leave me in charge of my affairs even for a blink of an eye and rectify for me all of my affairs. None has the right to be worshipped except You.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dua For Distress and Grief (Taken from USC-MSA website)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is based on the following saheeh hadeeth reported by Imaam Ahmad (translation adapted from www.islam-qa.com; see question 1392):&lt;br /&gt;The Messenger of Allaah (peace and blessings of Allaah be upon him) said: ‘There is nobody who is afflicted with distress or grief and who says: “Allaahumma inni ‘abduka wa ibn ‘abdika wa ibn amatika, naasiyati bi yadika maadin fiyya hukmuka ‘adlun fiyya qadaa’uka, as’aluka bi kulli ismin huwa laka sammayta bihi nafsaka aw ‘allamtahu ahadan min khalqika aw anzaltahu fi kitaabika aw asta’tharta bihi fi ‘ilmi al-ghaybi ‘indaka an taj’al al-Qur’aana rabee’a qalbi wa noor sadri wa jilaa’a huzni wa dhihaaba hammi.’&lt;br /&gt;&lt;br /&gt;‘O Allaah, I am Your slave, son of Your slave, son of Your maidservant, my forelock is in Your hand, Your command over me is ever executed and Your decree over me is just. I ask You by every name belonging to You which You have named Yourself with, or which you revealed in Your Book, or which You taught to any of Your creation, or which You have preserved in the knowledge of the Unseen with You, that You make the Qur’aan the life of my heart and the light of my breast, and a departure for my sorrow and a release for my anxiety,” - but Allaah will take away his distress and grief, and replace it with ease.’ He was asked, ‘O Messenger of Allaah, should we not learn it?’ He said, ‘Of course, whoever hears it should learn it.’&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;[source: George Mason University - Muslim Students Association, &lt;a href="http://gmu.edu/org/msa/"&gt;http://gmu.edu/org/msa/&lt;/a&gt;]&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-5902976018153574747?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5902976018153574747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5902976018153574747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5902976018153574747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5902976018153574747'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/05/dua-to-help-you-with-your-studying.html' title='Dua&apos; to help you with your studying'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6087523520078549144</id><published>2008-05-08T23:39:00.000-04:00</published><updated>2008-05-08T23:42:08.199-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fairfax Tornado Warning'/><title type='text'>Tornado Warning</title><content type='html'>&lt;strong&gt;TORNADO WARNING NATIONAL WEATHER SERVICE BALTIMORE MD/WASHINGTON DC 1133 PM EDT THU MAY 8 2008&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;THE NATIONAL WEATHER SERVICE IN STERLING VIRGINIA HAS ISSUED A TORNADO WARNING FOR... PRINCE GEORGES COUNTY IN CENTRAL MARYLAND &lt;strong&gt;FAIRFAX COUNTY &lt;/strong&gt;IN NORTHERN VIRGINIA PRINCE WILLIAM COUNTY IN NORTHERN VIRGINIA STAFFORD COUNTY IN NORTHERN VIRGINIA CHARLES COUNTY IN SOUTHERN MARYLAND UNTIL 1215 AM EDT&lt;br /&gt;&lt;br /&gt;* AT 1132 PM EDT...NATIONAL WEATHER SERVICE DOPPLER RADAR INDICATED A DEVELOPING TORNADO NEAR TRIANGLE... MOVING NORTHEAST AT 27 MPH.&lt;br /&gt;&lt;br /&gt;* LOCATIONS IMPACTED INCLUDE... WOODBRIDGE... INDIAN HEAD... LORTON... FORT BELVOIR...&lt;br /&gt;&lt;br /&gt;IF YOU ARE IN OR NEAR THE PATH OF THIS STORM...TAKE COVER NOW! IF NO UNDERGROUND SHELTER IS AVAILABLE MOVE TO AN INTERIOR ROOM ON THE LOWEST FLOOR. MOBILE HOMES AND VEHICLES SHOULD BE ABANDONED FOR MORE SUBSTANTIAL SHELTER. AVOID WINDOWS!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;[source: &lt;/span&gt;&lt;a href="http://www.weather.com/weather/newscenter/alerts/USVA0262?alertId=579280"&gt;&lt;span style="font-size:78%;"&gt;http://www.weather.com/weather/newscenter/alerts/USVA0262?alertId=579280&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6087523520078549144?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6087523520078549144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6087523520078549144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6087523520078549144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6087523520078549144'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/05/tornado-warning.html' title='Tornado Warning'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8129522337706478819</id><published>2008-05-05T10:49:00.000-04:00</published><updated>2008-05-05T10:53:15.356-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jabber code library agsXMPP SDK'/><title type='text'>Jabber: agsXMPP SDK</title><content type='html'>&lt;span style="font-size:85%;"&gt;agsXMPP is a SDK / library for the eXtensible Messaging and Presence Protocol (XMPP) protocol written in managed C# dedicated to .NET and Mono technologies. The SDK is released as open source under a dual license. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Our SDK could be used for XMPP client, server and component development.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;----------- FAQS -----------&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Will you add feature xyz?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;We work continuous on new features and XMPP extensions. Feel free to contact us if you want to sponsor certain functionality.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Does the agsXMPP SDK run on Mono/Linux?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Yes it does.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Is the agsXMPP SDK API stable?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Yes, agsXMPP is used in many open source and commercial projects today. The version is still below 1.0 because there are still some features on our roadmap which we want to add before increasing the version to 1.0.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Can I use the agsXMPP SDK in a commercial application?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="mailto:sales@ag-software.de"&gt;&lt;span style="font-size:85%;"&gt;Contact us&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; by Email if you are interested in a commercial license.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Can you release a LGPL or BSD licensed version?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;No we can't&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Can I build a XMPP server with agsXMPP?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Yes you can. But writing a XMPP server is a very compex task.The idea of XMPP is: simple client, complex server.Even if agsXMPP does lots of work for you, you have to study the XMPP RFC's in detail.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;The examples don't support feature xyz and are crashing sometimes&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;the examples are not meant to be a usable client or server. Just to show off particular features of the API and get started with agsXMPP development.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;I can't authenticate to my server, I'm sure that the password is correct&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;In the most cases this is a problem with your server configuration and the XMPP domain.Never use IP addresses in your Jid or XMPP domain for testing.The XMPP domain is part of the SASL authentication and must match. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8129522337706478819?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8129522337706478819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8129522337706478819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8129522337706478819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8129522337706478819'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/05/jabber-agsxmpp-sdk.html' title='Jabber: agsXMPP SDK'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7748672425967277898</id><published>2008-04-27T00:05:00.000-04:00</published><updated>2008-04-27T00:43:07.222-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization virtualbox system configuration host guest'/><title type='text'>My machine's current configuration</title><content type='html'>These days, I am working on a virtualization project and trying out a few things while anticipating definite abnormal behaviors/outcomes; and, it's working since I have slept only 4 hours in last 42 hours and still alive enough to live without water, the vitamin water :p&lt;br /&gt;Anyways, a few secs back I lost my mind while switching amongst a number of OS instances, thanks to VirtualBox. So, I drew this to clarify things to myself:&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/SBQDXXtV1ZI/AAAAAAAAADY/qMC92SvhVzk/s1600-h/Configuration.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193779970301089170" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/SBQDXXtV1ZI/AAAAAAAAADY/qMC92SvhVzk/s320/Configuration.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Looks good :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7748672425967277898?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7748672425967277898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7748672425967277898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7748672425967277898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7748672425967277898'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/my-machines-current-configuration.html' title='My machine&apos;s current configuration'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_kspooNI8sPE/SBQDXXtV1ZI/AAAAAAAAADY/qMC92SvhVzk/s72-c/Configuration.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4316202005113674810</id><published>2008-04-25T09:07:00.000-04:00</published><updated>2008-04-25T09:19:00.522-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python NASA Rapid Application Development User Interface ROI Case Study Scientifcic Programming'/><title type='text'>Python Streamlines Space Shuttle Mission Design</title><content type='html'>&lt;p&gt;&lt;span style="font-size:78%;"&gt;This article was published on &lt;/span&gt;&lt;a class="reference" href="http://www.builder.com/"&gt;&lt;span style="font-size:78%;"&gt;Builder.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;, and I read it here: &lt;/span&gt;&lt;a href="http://www.python.org/about/success/usa/"&gt;&lt;span style="font-size:78%;"&gt;http://www.python.org/about/success/usa/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a id="introduction" name="introduction"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;Software engineers have long told their bosses and clients that they can have software "fast, cheap, or right," as long as they pick any two of those factors. Getting all three? Forget about it!&lt;br /&gt;But &lt;a class="reference" href="http://www.unitedspacealliance.com/"&gt;United Space Alliance (USA)&lt;/a&gt;, NASA's main shuttle support contractor, had a mandate to provide software that meets all three criteria. Their experience with Python told them NASA's demands were within reach. Less than a year later, USA is nearing deployment of a Workflow Automation System (WAS) that meets or exceeds all of NASA's specifications.&lt;/p&gt;&lt;p&gt;"Python allows us to tackle the complexity of programs like the WAS without getting bogged down in the language," says Robin Friedrich, USA's Senior Project Engineer. Friedrich conceived of the WAS project in response to a significant gap in the way shuttle mission planning was handling data management. "Historically," Friedrich says, "this data has been communicated using paper and, more recently, data file exchange. But both of these approaches are error-prone. Catching and fixing errors as well as responding to frequent change requests can bog such a system down." Complicating the issue was the challenge of finding money to improve the flight design process in an era of declining budgets for space activities.&lt;/p&gt;&lt;p&gt;&lt;a id="just-in-time-provides-a-solution-and-more-problems" name="just-in-time-provides-a-solution-and-more-problems"&gt;&lt;strong&gt;"Just in time" provides a solution--and more problems&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;USA decided they needed a way to "minimize data changes and the resulting rework." The shortest route to that goal would be to shift the design work to the end of the process so that flight characteristics would have a good chance of already being finalized. In other words, as Friedrich says, "We decided we needed to do this data management work 'just in time'."&lt;br /&gt;A just-in-time solution, however, generally puts more stress on both people and systems to get things right the first time because postponing these activities to the end of the process means a loss of scheduling elasticity.&lt;/p&gt;&lt;p&gt;"The obvious answer," according to Friedrich, "was to create a central database repository to help guarantee consistency and to provide historical tracking of data changes." An Oracle database was designed to store the information, but a graphical front end to manage the process of workflow automation was clearly an essential component of an effective solution. "We knew from experience--we do a good bit of Java coding in our group--that using C++ or Java would have added to the problem, not the solution," Friedrich maintains.&lt;/p&gt;&lt;p&gt;&lt;a id="python-a-mainstay-since-1994" name="python-a-mainstay-since-1994"&gt;&lt;strong&gt;Python a mainstay since 1994&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Enter Python. "We'd been using Python since 1994," says Friedrich, "when I literally stumbled across Python as I was searching the pre-Web Gopher FTP space for some help with a C++ project we were doing." Being an inveterate systems engineer, Friedrich "just had to investigate it." He was stunned by what he discovered.&lt;/p&gt;&lt;p&gt;"Twenty minutes after my first encounter with Python, I had downloaded it, compiled it, and installed it on my SPARCstation. It actually worked out of the box!"&lt;/p&gt;&lt;p&gt;As if that weren't enough, further investigation revealed that Python has a number of strengths, not the least of which is the fact that "things just work the first time. No other language exhibits that trait like Python," says Friedrich.&lt;/p&gt;&lt;p&gt;He attributes this characteristic to three primary language features:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Dynamic typing &lt;/li&gt;&lt;li&gt;Pseudocode-like syntax &lt;/li&gt;&lt;li&gt;The Python interpreter &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The result? "We achieve immediate functioning code so much faster in Python than in any other language that it's staggering," says Friedrich. "Java and C++, for example, have much more baggage you have to understand just to get a functioning piece of software.&lt;/p&gt;&lt;p&gt;"Python also shines when it comes to code maintenance," according to Friedrich. "Without a lot of documentation, it is hard to grasp what is going on in Java and C++ programs and even with a lot of documentation, Perl is just hard to read and maintain." Before adopting Python, Friedrich's team was doing a good bit of Perl scripting and C++ coding. "Python's ease of maintenance is a huge deal for any company that has any significant amount of staff turnover at all," says Friedrich.&lt;/p&gt;&lt;p&gt;The team had already developed a moderately large number of C++ libraries. Because of Python's easy interface to the outside world, USA was able to retain these libraries. "We wrote a grammar-based tool that automatically interfaced all of our C++ libraries," says Friedrich.&lt;br /&gt;Another aspect of Python that Friedrich found eminently significant is its shallow learning curve.&lt;/p&gt;&lt;p&gt;"We are always under the gun on software projects, like everyone else," he says. "But for any programmer, picking up Python is a one-week deal because things just behave as you expect them to, so there's less chasing your tail and far more productivity." He contrasts that with C++ and Java, which he says takes a good programmer weeks to grasp and months to become proficient.&lt;/p&gt;&lt;p&gt;Friedrich says that even the non-programming engineers at USA learned to do Python coding quickly. "We wanted to draft the coding energy of the engineering staff, but we didn't want them to have to learn C++. Python made the perfect 4GL programming layer for the existing C++ classes."&lt;/p&gt;&lt;p&gt;&lt;a id="one-coder-and-17-000-lines-of-code-later" name="one-coder-and-17-000-lines-of-code-later"&gt;&lt;strong&gt;One coder and 17,000 lines of code later&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;The WAS project, which has required somewhat less than a man-year of effort, has been coded by a single Senior Software Engineer, Charlie Fly, who has cranked out some 17,000 source lines of code (SLOC). Python plays the central role, managing data interactions and the task network, as shown in Figure A.&lt;br /&gt;&lt;img src="http://www.python.org/files/success/usa/fig_a.gif" /&gt;&lt;br /&gt;Figure A: Python plays a central role in data interaction.&lt;/p&gt;&lt;p&gt;In the system, user tasks communicate with a Python data server, which in turn connects to an Oracle server via DCOracle. Using Oracle's built-in trigger mechanism to send a message to WAS as data records are updated, the WAS calculates which tasks are now data-ready and notifies the appropriate user.&lt;/p&gt;&lt;p&gt;At the core of the design is the Task object, which stores all information relevant to a single task in the workflow network. The end user can view the network in a PERT-style chart layout (Figure B), where color coding reveals at a glance which tasks are finished, which are in process, and which have not yet been started.&lt;br /&gt;&lt;img src="http://www.python.org/files/success/usa/fig_b.gif" /&gt;&lt;br /&gt;Figure B: PERT-style layout&lt;/p&gt;&lt;p&gt;Two other graphical interface windows allow the user to manage the dependencies among data items in the network (Figure C) and to view and edit individual task details (Figure D).&lt;br /&gt;&lt;img src="http://www.python.org/files/success/usa/fig_c.gif" /&gt;&lt;br /&gt;Figure C: Interface 1&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.python.org/files/success/usa/fig_d.gif" /&gt;&lt;br /&gt;Figure D: Interface 2&lt;/p&gt;&lt;p&gt;All of the code for the UIs was also done in Python, using the popular Tkinter library along with an open source package of supporting modules. Tkinter is included in all standard Python installations.&lt;/p&gt;&lt;p&gt;"USA is pleasantly surprised by how much quality software we can deliver," Friedrich says. "And each time we demonstrate success with Python, we add a few more believers to my growing list!"&lt;/p&gt;&lt;p&gt;&lt;a id="about-the-author" name="about-the-author"&gt;&lt;strong&gt;About the Author&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Dan Shafer is a freelance author and sometime Python coder who hangs out on California's central coast. He is a member of the PythonCard Open Source development team creating a GUI-building framework for Python applications. He makes his living as a writer and a product development consultant. A founder and former editorial director of Builder.com, Shafer has been part of the Web development community almost from its inception.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4316202005113674810?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4316202005113674810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4316202005113674810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4316202005113674810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4316202005113674810'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/python-streamlines-space-shuttle.html' title='Python Streamlines Space Shuttle Mission Design'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4914021740138394163</id><published>2008-04-20T19:48:00.000-04:00</published><updated>2008-04-20T19:50:44.345-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Compiled versus interpreted languages'/><title type='text'>Compiled versus interpreted languages</title><content type='html'>&lt;p&gt;During the design of an application, you might need to decide whether to use a compiled language or an interpreted language for the application source code.&lt;/p&gt;&lt;p&gt;Both types of languages have their strengths and weaknesses. Usually, the decision to use an interpreted language is based on time restrictions on development or for ease of future changes to the program. A trade-off is made when using an interpreted language. You trade speed of development for higher execution costs. Because each line of an interpreted program must be translated each time it is executed, there is a higher overhead. Thus, an interpreted language is generally more suited to ad hoc requests than predefined requests.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Advantages of compiled languages&lt;br /&gt;&lt;/strong&gt;Assembler, COBOL, PL/I, C/C++ are all translated by running the source code through a compiler. This results in very efficient code that can be executed any number of times. The overhead for the translation is incurred just once, when the source is compiled; thereafter, it need only be loaded and executed.&lt;/p&gt;&lt;p&gt;Interpreted languages, in contrast, must be parsed, interpreted, and executed each time the program is run, thereby greatly adding to the cost of running the program. For this reason, interpreted programs are usually less efficient than compiled programs.&lt;br /&gt;Some programming languages, such as REXX™ and Java™, can be either interpreted or compiled.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Advantages of interpreted languages&lt;br /&gt;&lt;/strong&gt;There are reasons for using languages that are compiled and reasons for using interpreted languages. There is no simple answer as to which language is "better"—it depends on the application. Even within an application we could end up using many different languages. For example, one of the strengths of a language like CLIST is that it is easy to code, test, and change.&lt;/p&gt;&lt;p&gt;However, it is not very efficient. The trade-off is machine resources for programmer time.&lt;br /&gt;Keeping this in mind, we can see that it would make sense to use a compiled language for the intensive parts of an application (heavy resource usage), whereas interfaces (invoking the application) and less-intensive parts could be written in an interpreted language. An interpreted language might also be suited for ad hoc requests or even for prototyping an application.&lt;/p&gt;&lt;p&gt;One of the jobs of a designer is to weigh the strengths and weaknesses of each language and then decide which part of an application is best served by a particular language.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:78%;color:#666666;"&gt;[source: &lt;/span&gt;&lt;/strong&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/zoslnctr/v1r7/index.jsp?topic=/com.ibm.zappldev.doc/zappldev_85.html"&gt;&lt;strong&gt;&lt;span style="font-size:78%;color:#666666;"&gt;http://publib.boulder.ibm.com/infocenter/zoslnctr/v1r7/index.jsp?topic=/com.ibm.zappldev.doc/zappldev_85.html&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size:78%;color:#666666;"&gt;]&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4914021740138394163?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4914021740138394163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4914021740138394163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4914021740138394163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4914021740138394163'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/compiled-versus-interpreted-languages.html' title='Compiled versus interpreted languages'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3967308117931852989</id><published>2008-04-20T03:35:00.000-04:00</published><updated>2008-04-20T04:08:40.881-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recovering OpenSolaris Solairs Linux after Windows Installation partition GRUB bootloader lost'/><title type='text'>Recovering OpenSolaris/Solairs/Linux after Windows Installation</title><content type='html'>I was running a dual boot configuration with two OSes: Windows XP and Solaris XDE 01/08. I upgraded my system memory but I couldn't visualize the performance difference. This, and a few other reasons made me to opt for a fresh Windows XP installation.&lt;br /&gt;&lt;br /&gt;As usual, Windows wiped out the MBR and set it's own partition as active. Following this, I lost my GRUB bootloader and hence the option to boot into Solaris. I played and searched around a little bit and found a couple of good tweaks to recover a Solaris/OpenSolaris boot option, or a Linux boot option by actually recovering the GRUB bootloader.&lt;br /&gt;&lt;br /&gt;Recovering GRUB for Linux is different then doing the same for Solaris. Generally Linux installation updates the MBR to load the GRUB, but a Windows installation cleans this MBR. To recover it follow this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Get a live CD of your Linux Distribution,&lt;/li&gt;&lt;li&gt;Boot the Linux from this CD,&lt;/li&gt;&lt;li&gt;Open a Terminal,&lt;/li&gt;&lt;li&gt;Get into GRUB by typing this: &lt;strong&gt;sudo grub&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Then you need to know abou the sequence number of your previous Linux partition (if you don't remember this, you can get an idea from Windows disk management utility).&lt;/li&gt;&lt;li&gt;Once you are sure about it, type this if it was the first partiton: &lt;strong&gt;root (hd0,0)&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="color:#666666;"&gt;or this if it was second partition on the second harddisk: root (hd0,1)&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Finally type this: &lt;strong&gt;setup (hd0)&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;You're done!&lt;/strong&gt;&lt;/p&gt;For Solaris/OpenSolaris, Follow this procedure:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Get a OpenSolaris Installation Disk,&lt;/li&gt;&lt;li&gt;Boot from CD,&lt;/li&gt;&lt;li&gt;type 'c' at boot menu to get the GRUB command line,&lt;/li&gt;&lt;li&gt;Type this: &lt;strong&gt;rootnoverify (hdX,Y)&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#666666;"&gt;replace X by hdd number, and Y by the sequence number of partition where Solaris is installed. e.g. rootnoverify (hd0,0) for first harddisk and first partition.&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Now make the Solaris partition active. Type this: &lt;strong&gt;makeactive&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Now chainload the bootsect, which implies that the GRUB bootloader, which is installed through your Solaris will be loaded when you'll startup your system. &lt;/li&gt;&lt;li&gt;To do this, type the following: &lt;strong&gt;chainloader +1&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Finally type: &lt;strong&gt;boot&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;You're done!&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3967308117931852989?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3967308117931852989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3967308117931852989' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3967308117931852989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3967308117931852989'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/recovering-opensolarissolairslinux.html' title='Recovering OpenSolaris/Solairs/Linux after Windows Installation'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7792345644953593529</id><published>2008-04-18T01:46:00.000-04:00</published><updated>2008-04-18T02:13:18.802-04:00</updated><title type='text'>Got ticketed!!</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:85%;"&gt;[1:15 AM 18th Aril, 2008, Cavalier Court, Fairfax, VA, USA - 0.2 miles from my home]&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Waqas: &lt;/strong&gt;Hello officer, I am sorry this guy (me) is sick, dying, (me: laffing, waqas: shutup) and in emergency I missed the left turn, so had to reverse on the main road.&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; Your documents Sir.&lt;br /&gt;&lt;strong&gt;Waqas:&lt;/strong&gt; (punjabi) saaala *** .. mar diya, shit, my points, my first ever.., damn *** ****&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; Sir, do u know y I pulled u over?&lt;br /&gt;&lt;strong&gt;(Waqas thinking):&lt;/strong&gt; thinking of giving him a topi after realizing that reversing the car might not be the reason for the devil to appear from nowhere; while playing confident that rest all was ok.&lt;br /&gt;&lt;strong&gt;Waqas:&lt;/strong&gt; No, I don't know, you tell me please.&lt;br /&gt;&lt;strong&gt;(Salman whispering):&lt;/strong&gt; abay stay true, he is playing with us.&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; Ohkk.&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; Do you know the max. speed of this highway?&lt;br /&gt;&lt;strong&gt;Waqas:&lt;/strong&gt; (innocent liar) No.&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; 30 mph, and u were on 47 mph, as of my speed gun. Secondly, this is the highway and you reversed your car on it while there was a car on your back (cop's car).&lt;br /&gt;&lt;strong&gt;Waqas:&lt;/strong&gt; Oh I am sorry, we were in emergency this guy.., these tablets.., his face.., we are students.., (Allah teray bachay..)&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; Please wait Sir, and went back with all docs.&lt;br /&gt;&lt;strong&gt;Waqas:&lt;/strong&gt; (punjabi) *** saaala **** .. mar diya, shit, my points, my first ever.., damn *** ****&lt;br /&gt;&lt;strong&gt;(after 5-10 minutes)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; there you go, you may prepay, or njoy the court.&lt;br /&gt;&lt;strong&gt;Officer:&lt;/strong&gt; thank you Sir.&lt;br /&gt;&lt;strong&gt;Salman:&lt;/strong&gt; good experience yar :D&lt;br /&gt;&lt;strong&gt;Waqas:&lt;/strong&gt; (punjabi) *** saaala **** .. mar diya, shit, my points, my first ever.., damn *** ****&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;[time 1:31 AM 18th Aril, 2008, Cavalier Court, Fairfax VA, USA - home.]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7792345644953593529?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7792345644953593529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7792345644953593529' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7792345644953593529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7792345644953593529'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/got-ticketed.html' title='Got ticketed!!'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2170596711313122542</id><published>2008-04-10T21:56:00.000-04:00</published><updated>2008-04-10T21:59:09.934-04:00</updated><title type='text'>Happy Birthday from JustLinux Forums‏</title><content type='html'>&lt;p&gt;&lt;span style="font-size:130%;"&gt;Happy Birthday from JustLinux Forums‏&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;From:&lt;/strong&gt; JustLinux Forums (jpalermo@jupitermedia.com)&lt;br /&gt;&lt;strong&gt;Sent:&lt;/strong&gt; Fri 4/11/08 12:02 AM&lt;br /&gt;&lt;strong&gt;To:&lt;/strong&gt; &lt;a href="mailto:salmanj_85@hotmail.com"&gt;salmanj_85@hotmail.com&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="color:#666666;"&gt;Hello addicted, We at JustLinux Forums would like to wish you a happy birthday today!&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;-------------------------------------&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;even the bots care for me :p&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2170596711313122542?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2170596711313122542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2170596711313122542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2170596711313122542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2170596711313122542'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/happy-birthday-from-justlinux-forums.html' title='Happy Birthday from JustLinux Forums‏'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-820873867911851317</id><published>2008-04-07T20:50:00.000-04:00</published><updated>2008-04-07T20:53:48.630-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='benefits virtualization reasons uses advantages'/><title type='text'>Why Virtualization: A List of Reasons</title><content type='html'>Following are some (possibly overlapping) representative reasons for and benefits of virtualization:&lt;br /&gt;&lt;br /&gt;Virtual machines can be used to consolidate the workloads of several under-utilized servers to fewer machines, perhaps a single machine (server consolidation). Related benefits (perceived or real, but often cited by vendors) are savings on hardware, environmental costs, management, and administration of the server infrastructure.&lt;br /&gt;&lt;br /&gt;The need to run legacy applications is served well by virtual machines. A legacy application might simply not run on newer hardware and/or operating systems. Even if it does, if may under-utilize the server, so as above, it makes sense to consolidate several applications. This may be difficult without virtualization as such applications are usually not written to co-exist within a single execution environment (consider applications with hard-coded System V IPC keys, as a trivial example).&lt;br /&gt;&lt;br /&gt;Virtual machines can be used to provide secure, isolated sandboxes for running untrusted applications. You could even create such an execution environment dynamically - on the fly - as you download something from the Internet and run it.&lt;br /&gt;&lt;br /&gt;You can think of creative schemes, such as those involving address obfuscation.&lt;br /&gt;&lt;br /&gt;Virtualization is an important concept in building secure computing platforms.&lt;br /&gt;&lt;br /&gt;Virtual machines can be used to create operating systems, or execution environments with resource limits, and given the right schedulers, resource guarantees. Partitioning usually goes hand-in-hand with quality of service in the creation of QoS-enabled operating systems.&lt;br /&gt;&lt;br /&gt;Virtual machines can provide the illusion of hardware, or hardware configuration that you do not have (such as SCSI devices, multiple processors, ...) Virtualization can also be used to simulate networks of independent computers.&lt;br /&gt;&lt;br /&gt;Virtual machines can be used to run multiple operating systems simultaneously: different versions, or even entirely different systems, which can be on hot standby. Some such systems may be hard or impossible to run on newer real hardware.&lt;br /&gt;&lt;br /&gt;Virtual machines allow for powerful debugging and performance monitoring. You can put such tools in the virtual machine monitor, for example. Operating systems can be debugged without losing productivity, or setting up more complicated debugging scenarios.&lt;br /&gt;&lt;br /&gt;Virtual machines can isolate what they run, so they provide fault and error containment. You can inject faults proactively into software to study its subsequent behavior.&lt;br /&gt;&lt;br /&gt;Virtual machines make software easier to migrate, thus aiding application and system mobility.&lt;br /&gt;&lt;br /&gt;You can treat application suites as appliances by "packaging" and running each in a virtual machine.&lt;br /&gt;&lt;br /&gt;Virtual machines are great tools for research and academic experiments. Since they provide isolation, they are safer to work with. They encapsulate the entire state of a running system: you can save the state, examine it, modify it, reload it, and so on. The state also provides an abstraction of the workload being run.&lt;br /&gt;&lt;br /&gt;Virtualization can enable existing operating systems to run on shared memory multiprocessors.&lt;br /&gt;&lt;br /&gt;Virtual machines can be used to create arbitrary test scenarios, and can lead to some very imaginative, effective quality assurance.&lt;br /&gt;&lt;br /&gt;Virtualization can be used to retrofit new features in existing operating systems without "too much" work.&lt;br /&gt;&lt;br /&gt;Virtualization can make tasks such as system migration, backup, and recovery easier and more manageable.&lt;br /&gt;&lt;br /&gt;Virtualization can be an effective means of providing binary compatibility.&lt;br /&gt;&lt;br /&gt;Virtualization on commodity hardware has been popular in co-located hosting. Many of the above benefits make such hosting secure, cost-effective, and appealing in general.&lt;br /&gt;&lt;br /&gt;Virtualization is fun.&lt;br /&gt;&lt;br /&gt;Plenty of other reasons ...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;[source: &lt;/span&gt;&lt;/strong&gt;&lt;a href="http://www.kernelthread.com/publications/virtualization/"&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;http://www.kernelthread.com/publications/virtualization/&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;]&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-820873867911851317?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/820873867911851317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=820873867911851317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/820873867911851317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/820873867911851317'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/why-virtualization-list-of-reasons.html' title='Why Virtualization: A List of Reasons'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-5088103600434379362</id><published>2008-04-07T20:33:00.000-04:00</published><updated>2008-04-07T20:54:31.876-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Yahoo Bid 40 Billion'/><title type='text'>Microsoft's $40 Billion Question</title><content type='html'>Here are a few suggestions for what else Microsoft could get for $40 billion:&lt;br /&gt;&lt;br /&gt;--Hire 40,000 engineers, at $100,000 apiece, for a decade&lt;br /&gt;&lt;br /&gt;--Acquire Facebook (estimated to have a market value of $15 billion), along with just about any other meaningful social networking site, including MySpace, Bebo, Hi5 and LinkedIn. There would still be enough money left over to pay some consultants to help with integration.&lt;br /&gt;&lt;br /&gt;--Spend eight times more than Google did last year to acquire traffic--and presumably make traffic more pricey for Google, to boot.&lt;br /&gt;&lt;br /&gt;--Hire 80 million workers in China to do nothing but click on Microsoft properties and related ads for 10 years.&lt;br /&gt;&lt;br /&gt;--Promise a free Big Mac to everyone who clicks on a Microsoft ad--and give away 14 trillion of 'em.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:#333333;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://www.forbes.com/technology/2008/04/07/microsoft-yahoo-acquisition-tech-ebiz-cx_wt_0407msft.html"&gt;&lt;span style="font-size:78%;color:#333333;"&gt;&lt;strong&gt;http://www.forbes.com/technology/2008/04/07/microsoft-yahoo-acquisition-tech-ebiz-cx_wt_0407msft.html&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;color:#333333;"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-5088103600434379362?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/5088103600434379362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=5088103600434379362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5088103600434379362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/5088103600434379362'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/microsofts-40-billion-question.html' title='Microsoft&apos;s $40 Billion Question'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3019348120957983795</id><published>2008-04-06T22:50:00.000-04:00</published><updated>2008-04-06T22:51:16.476-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization from Sun Microsystems'/><title type='text'>Virtualization from Sun Microsystems</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3-fPU-ajGnM&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3-fPU-ajGnM&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3019348120957983795?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3019348120957983795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3019348120957983795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3019348120957983795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3019348120957983795'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/virtualization-from-sun-microsystems.html' title='Virtualization from Sun Microsystems'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7855263926899822660</id><published>2008-04-02T10:41:00.000-04:00</published><updated>2008-04-02T10:44:01.023-04:00</updated><title type='text'>Growth of Programming Languages (TIOBE index)</title><content type='html'>&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/R_ObjUuYFXI/AAAAAAAAACo/8ByEk9anciw/s1600-h/ss.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5184658627194525042" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_kspooNI8sPE/R_ObjUuYFXI/AAAAAAAAACo/8ByEk9anciw/s400/ss.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;]&lt;br /&gt;&lt;/strong&gt;&lt;/span&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/1780823879643395553-7855263926899822660?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7855263926899822660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7855263926899822660' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7855263926899822660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7855263926899822660'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/blog-post.html' title='Growth of Programming Languages (TIOBE index)'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_kspooNI8sPE/R_ObjUuYFXI/AAAAAAAAACo/8ByEk9anciw/s72-c/ss.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-64687235517810078</id><published>2008-04-02T10:33:00.000-04:00</published><updated>2008-04-02T10:36:34.924-04:00</updated><title type='text'>50 who matter now</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;1 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;You!&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; The consumer as creator&lt;br /&gt;2 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Sergey Brin and Larry Page&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Co-founders, Google&lt;br /&gt;3 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Paul Jacobs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Qualcomm&lt;br /&gt;4 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Rupert Murdoch&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, News Corp.&lt;br /&gt;5 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Steve Jobs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Apple Computer&lt;br /&gt;6 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Susan Desmond-Hellmann&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; President of product development, Genentech&lt;br /&gt;7 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;The Emerging Global Middle Class&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; China, India, Russia, Brazil, and elsewhere&lt;br /&gt;8 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Fujio Cho&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Chairman, Toyota&lt;br /&gt;9&lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;The New Oil Despots&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; King Abdullah bin Abdul aziz al Saud (Saudi Arabia), Mahmoud Ahmadinejad (Iran), Hugo Chavez (Venezuela), and Vladimir Putin (Russia)&lt;br /&gt;10 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Ray Ozzie&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Chief technical officer, Microsoft&lt;br /&gt;11 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Marc Benioff&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Salesforce.com&lt;br /&gt;12 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Robert Iger&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Walt Disney Co.&lt;br /&gt;13 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Stewart Butterfield and Caterina Fake&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Co-founders, Flickr&lt;br /&gt;14 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Brian McAndrews&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, aQuantive&lt;br /&gt;15 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Jack Ma&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Alibaba.com&lt;br /&gt;16 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Barry Diller&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;  CEO, InterActiveCorp&lt;br /&gt;17 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Ed Zander&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Motorola&lt;br /&gt;18 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;John Thompson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Symantec&lt;br /&gt;19 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Mark Hurd&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Hewlett-Packard&lt;br /&gt;20 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Ben Bernanke&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Chairman, Federal Reserve Board&lt;br /&gt;21 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Bill Gates&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Benefactor, Bill and Melinda Gates Foundation&lt;br /&gt;22 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Reid Hoffman&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Angel investor and CEO, LinkedIn&lt;br /&gt;23 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;The New New Media&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Kevin Rose (Digg) and Jimmy Wales (Wikipedia)&lt;br /&gt;24 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Patricia Woertz&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Archer Daniels Midland&lt;br /&gt;25 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Kevin Martin&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Chairman, Federal Communications Commission&lt;br /&gt;26 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Ed Whitacre&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Chairman and CEO, AT&amp;amp;T&lt;br /&gt;27 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Jeremy Allaire&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Brightcove&lt;br /&gt;28 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Chad Hurley and Steven Chen&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Co-founders, YouTube&lt;br /&gt;29 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Danny Rimer&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; General partner, Index Ventures&lt;br /&gt;30 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Muhammad Yunus&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Founder, Grameen Bank&lt;br /&gt;31 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Greg Isaacs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Director of developer relations, eBay&lt;br /&gt;32 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Alex Bogusky&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Creative director, Crispin Porter &amp;amp; Bogusky&lt;br /&gt;33 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Vinod Khosla&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Founder, Khosla Ventures&lt;br /&gt;34 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;David Heinemeier Hansson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Partner, 37signals&lt;br /&gt;35 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Tim O'Reilly&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Founder and CEO, O'Reilly Media&lt;br /&gt;36 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Janus Friis and Niklas Zennström&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Co-founders, Skype&lt;br /&gt;37 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Patricia Russo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Lucent Technologies&lt;br /&gt;38 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Oprah Winfrey&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Entertainment mogul&lt;br /&gt;39 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Electronic Frontier Foundation&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; &lt;br /&gt;40 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Jeff Valdez&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Founder, SiTV&lt;br /&gt;41 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Stephen Maurer and Andrej Sali&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Adjunct associate professor, University of California at Berkeley, and professor, University of California at San Francisco&lt;br /&gt;42 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Jeff Bezos&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Amazon.com&lt;br /&gt;43 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;The Pre-Internet Dinosaurs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Larry Ellison (Oracle), Paul Otellini (Intel), and Michael Dell (Dell)&lt;br /&gt;44 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;William McDonough&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Architect, William McDonough &amp;amp; Partners&lt;br /&gt;45 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Richard Branson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Chairman, Virgin Group&lt;br /&gt;46 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Mike Morhaime&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Co-founder and president, Blizzard Entertainment&lt;br /&gt;47 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Nick Denton&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Publisher, Gawker Media&lt;br /&gt;48 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Naguib Sawiris&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; CEO, Orascom Telecom&lt;br /&gt;49 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;David Allen&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Author, Getting Things Done&lt;br /&gt;50 &lt;/span&gt;&lt;a href="javascript:openWindow(" toolbar="no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=728,height=505')&amp;quot;"&gt;&lt;span style="font-size:85%;"&gt;Blake Krikorian&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; Co-founder and CEO, Sling Media&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;[source : &lt;/span&gt;&lt;/strong&gt;&lt;a href="http://money.cnn.com/magazines/business2/peoplewhomatter/index.html"&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;http://money.cnn.com/magazines/business2/peoplewhomatter/index.html&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-size:78%;"&gt;]&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-64687235517810078?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/64687235517810078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=64687235517810078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/64687235517810078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/64687235517810078'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/04/50-who-matter-now.html' title='50 who matter now'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8117343469263983370</id><published>2008-03-05T13:04:00.000-05:00</published><updated>2008-03-05T13:06:16.285-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DTrace Solaris Keylogger Reverse engineering'/><title type='text'>Researchers turn Sun Solaris utility into fuzzing tool</title><content type='html'>Security researchers have developed a way to turn a utility for Sun Microsystems' Solaris operating system into a rootkit-like, reverse engineering tool that can be deployed to quickly locate application vulnerabilities and create exploits.&lt;br /&gt;&lt;br /&gt;The utility, DTrace, is a dynamic tracing, or event logging, function within the Solaris OS that allows systems administrators to monitor a combination of functions, including system performance, statistic debugging information and execution analysis. &lt;br /&gt;&lt;br /&gt;Sun designed DTrace to provide operational insights that allow systems administrators to tune and troubleshoot applications and the operating system itself.&lt;br /&gt;&lt;br /&gt;Sun released DTrace in 2003 in conjunction with Solaris 10. In 2005, Sun made it available under the Common Development and Distribution License (CDDL) open source license. Apple has since integrated it into its Mac OS X Leopard platform.&lt;br /&gt;&lt;br /&gt;The security researchers, Tiller Beauchamp and David Weston, who work at engineering firm Science Applications International Corp. (SAIC), unveiled their findings at the recent Black Hat conference in Washington D.C.&lt;br /&gt;&lt;br /&gt;They explained that DTrace provides a framework for performance observability and debugging in real time. With DTrace, system administrators can set probes within their operating environment, then define a metric they want to measure or record.&lt;br /&gt;&lt;br /&gt;The tool's ability to take an in-depth look at the operating system and its applications make it ideal not only for reverse engineering, but also for building exploits, the researchers said at Black Hat. Watson called DTrace a friendly programming rootkit that lets you see everything within the operating environment.&lt;br /&gt;&lt;br /&gt;One of the key functions of DTrace is its ability to allow automating tasks that would otherwise be manually intensive, Beauchamp said. “If you're sending input to an application to trigger a vulnerability, you can have DTrace alert you when input has reached a vulnerable function. It basically takes a large amount of time off inspecting a vulnerability because it can be programmatically controlled.”&lt;br /&gt;&lt;br /&gt;DTrace is a great platform as is, Weston added. “But we were interested primarily in a reverse-engineering tool, and DTrace is missing the ability to set conditions that would allow reverse-engineering an application to discover vulnerabilities."&lt;br /&gt;&lt;br /&gt;While DTrace is not destructive by itself, combined with other utilities it can cause damage. For instance, it can be manipulated to perform "snooping" operations, such as stealing a user's keystrokes without their knowledge, exactly like a keystroke logger, the researchers said at Black Hat.&lt;br /&gt;&lt;br /&gt;Beauchamp and Weston said they have developed a DTrace-based toolkit called RE:Trace. Working with Sun's Chris Andrews, they created a library of routines in a language called Ruby, they told SCMagazineUS.com. With Ruby, they were able to give DTrace a number of capabilities it lacked, including object-oriented programming and expressionals.&lt;br /&gt;&lt;br /&gt;Beauchamp and Weston called RE:Trace a “high-level” application programming interface (API) that includes sample scripts. These help not only debug vulnerabilities within applications, but write exploits for them as well, Beauchamp and Weston said.&lt;br /&gt;&lt;br /&gt;[Source: SC Magazine - &lt;a href="http://www.scmagazineus.com/Researchers-turn-Sun-Solaris-utility-into-fuzzing-tool/article/107245/"&gt;Actual article link&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8117343469263983370?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8117343469263983370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8117343469263983370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8117343469263983370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8117343469263983370'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/03/researchers-turn-sun-solaris-utility.html' title='Researchers turn Sun Solaris utility into fuzzing tool'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8165136599905366068</id><published>2008-02-29T23:50:00.001-05:00</published><updated>2008-10-16T01:30:19.206-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris threading model kernel architecture'/><title type='text'>Solaris Threading Model</title><content type='html'>I was looking for a detailed account of Solaris Kernel's architecture, specifically the threading model, and I found this book Solaris Internals. The one I have talks about Solaris 7's architecture. Now I believe that minute architectural details change frequently in Solaris because of the aggressive involvement of the OpenSolaris community. So, I might not be up to date with whatsoever I will discuss about here.&lt;br /&gt;&lt;br /&gt;The basic execution unit in Solaris is a Process. Each process has its own Virtual Memory/Machine Environment. Now this environment is nothing more than a name given collectively to objects associated with a process, e.g. the address space, global variables, open files, accounting information etc. Such an environment isolates the process from other processes in the system which are apparently running concurrently.&lt;br /&gt;&lt;br /&gt;By default, each process has atleast one thread of execution which is the default main thread. And, each Solaris process can have multiple threads, where all the threads share the same Virtual Memory environment of that process. The kernel uses time-slicing to allocate the CPU to these process threads, and once a process is taken off a CPU, its complete execution environment consisting of per thread items(program counter, stack, registers etc) are saved so that the thread can be resumed at some later time.&lt;br /&gt;&lt;br /&gt;Now, in Solaris, Kernel threads execute on the CPU. Kernel threads are different from the User or Process threads in the sense that there creation and management is a responsibility of the kernel itself, and not some threading api. So now, we have discussed Kernel Threads and the thread contained by a process. Before discussing the threading model, it's better to talk about one more dimension of threads in Solaris. The Solaris kernel is multithreaded - "it is implemented with multiple threads of execution to allow concurrency across multiple processors". Such a kernel allows concurrent access to itself to improve performance on a multiprocessor system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8165136599905366068?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8165136599905366068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8165136599905366068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8165136599905366068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8165136599905366068'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/solaris-threading-model.html' title='Solaris Threading Model'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-177581515712403690</id><published>2008-02-23T12:27:00.000-05:00</published><updated>2008-02-23T12:28:56.449-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kid monster funny'/><title type='text'>He's gonna kick my askk</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dquyhj2975g&amp;rel=1&amp;border=0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/dquyhj2975g&amp;rel=1&amp;border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-177581515712403690?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/177581515712403690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=177581515712403690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/177581515712403690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/177581515712403690'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/hes-gonna-kick-my-askk.html' title='He&apos;s gonna kick my askk'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4600532080320595992</id><published>2008-02-20T01:41:00.000-05:00</published><updated>2008-02-20T01:46:41.356-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSolaris Solaris Installation NDIS wireless'/><title type='text'>Troubleshooting SXDE installation and initial setup</title><content type='html'>Where SXDE is Solaris Express Developer Edition. In the following discussion, I am talking about Solaris Express Developer Edition 02/08, while using the word Solaris or OS.&lt;br /&gt;&lt;br /&gt;During the last week's few nights, I struggled to pump up my Solaris as a competitve alternative to my existing Windows XP. However, I failed. Unexpectedly, I faced certain problems which I never had with most of the linux distros I ever installed.&lt;br /&gt;&lt;br /&gt;First Problem: Solaris can't be installed on Extended Logical Partition.&lt;br /&gt;&lt;br /&gt;I am not sure about the current status but, while googling it I found this to be declared as a bug, which was being taken care of back in 2006. I expected it to be resolved by 2008 however, I wasn't able to even look at the free space available within the extended logical partition in the Parition Manager, while installing Solaris.&lt;br /&gt;&lt;br /&gt;Solution: Now since Windows XP don't allow you to have more than 3 primary partitions, I had to delete one from my machine. Once I did that, I had 5 gb free, but I required 20GB which is recommended for a smooth Solaris installation. Anyways, I wsa able to MOVE/RESIZE my extended logical parition to the point that the 15GB free space poped out of this extended partition, and I finally had 15+5 GB able to be used as a Primary Partition. That was it, I was done by using those 20GB to create a 'Solaris' Partition.&lt;br /&gt;&lt;br /&gt;Second Problem: Wireless Internet connection not working.&lt;br /&gt;&lt;br /&gt;I have a Dell Inspiron e1505, with a Dell 1390 Wireless Minicard. I assumed Solaris capable enough to do some sort of driver detection to get that thing running automatically, but it wasn't as simple. For certain reasons, I had to use Solaris NDIS(Network Driver Interface Specification) Wrapper Toolkit. This toolkit somehow makes use of the native binary Windows drivers of wifi cards to be used in Solaris. Also, one sort of limitation was that a 32 bit windows &lt;br /&gt;&lt;br /&gt;driver can only be used in 32bit Solaris and not in 64Bit Solaris. Here, I was stucked again. By default, the installed Solaris was 64-bit Edition. And, there were no 64bit drivers for my Wifi card.&lt;br /&gt;&lt;br /&gt;So, there was a grub-based workaround that I found in carlton's guide to boot up the 32 bit Solaris. All you have to do is to goto /boot/grub and edit the file menu.lst as follows:&lt;br /&gt;&lt;br /&gt;Since I had a previous Windows XP Installation, I was able to find the string "title Windows" in the menu.lst file. Right above it, append (add) the following:&lt;br /&gt;&lt;br /&gt;title Solaris Express Developer Edition 02/08 (32 Bits)&lt;br /&gt;kernel$ /platform/i86pc/kernel/unix&lt;br /&gt;module$ /platform/i86pc/boot_archive&lt;br /&gt;&lt;br /&gt;Once done, restart the pc, and select this GRUB option from the boot menu to boot the 32 bit version of Solaris. Now you are ready to lookout over the internet for the 32 bit driver for you wifi card. So, find one. I got mine at dell.com. In that driver package, only 2 files were required by NDIS toolkit, which were:&lt;br /&gt;&lt;br /&gt;bcm32.inf file (ASCII text file) - It contains information that tells the Windows installer what devices this driver supports and what registry keys should be created to control driver's configuration.&lt;br /&gt;&lt;br /&gt;bcm32.sys file (binary file) - This file contains the actual driver executable code in Windows Portable Executable (PE) format.&lt;br /&gt;&lt;br /&gt;You also need the NDIS Wrapper Toolkit which can be downloaded from &lt;a href="http://www.opensolaris.org/os/community/laptop/downloads/ndis-0.1.tar.gz"&gt;here&lt;/a&gt;. Now, I won't rewrite the steps I did as I followed nothing more than what &lt;a href="http://www.opensolaris.org/os/community/laptop/downloads/Wireless_Success.pdf"&gt;Carlton's little guide&lt;/a&gt; talks about. It's comprehensible and straight forward.&lt;br /&gt;&lt;br /&gt;But finally, after doing it all, I was again troubled with 3 more problems:&lt;br /&gt;&lt;br /&gt;1- I was ONLY able to access the www using IPs and not the domain names, for e.g. I could access Google if I type http://64.233.167.147 at the browser. But, &lt;br /&gt;&lt;br /&gt;I couldn't access the same if I type http://www.google.com. I resolved this by making a little change in /etc/nsswitch.conf file. I changed the 'hosts: files' to 'hosts: files dns'(&lt;a href='http://www.tech-recipes.com/solaris_system_administration_tips121.html'&gt;more on this&lt;/a&gt;). And that was it.&lt;br /&gt;&lt;br /&gt;2- I couldn't sort out to activate the wifi connection automatically on startup. Although I have checked the same option in Networks Panel but, it helping me out.&lt;br /&gt;3- Sometimes, the connection is lost when I play around with and apparently the only solution then turns out to be a system restart.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4600532080320595992?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4600532080320595992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4600532080320595992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4600532080320595992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4600532080320595992'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/troubleshooting-sxde-installation-and.html' title='Troubleshooting SXDE installation and initial setup'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-8522126788492784855</id><published>2008-02-13T19:03:00.000-05:00</published><updated>2008-02-13T19:16:32.706-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LLVM GCC Compiler Low Level Virtual Machine'/><title type='text'>LLVM 2.2</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Where LLVM stands for Low Level Virtual Machine.&lt;br /&gt;I found about it while skimming through slashdot.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;As of Wikipedia,&lt;br /&gt;&lt;/strong&gt;"The Low Level Virtual Machine, generally known as LLVM, is a compiler infrastructure, written in C++, which is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary imperative programming languages. The LLVM project started in 2000 at the University of Illinois at Urbana-Champaign."&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;As of Slashdot,&lt;/strong&gt;&lt;br /&gt;".. This is the thirteenth public release of the open-source compiler that started as a GCC fork. LLVM supports several aggressive optimizations, in compile-, link- and run-time, and often produces faster (1.5-3x) code than GCC. It is also much faster than GCC at compiling (despite the slow link-time optimizations). Gentoo users are already trying to build the whole system with the LLVM toolchain to get the extra performance bit."&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Few features of LLVM as listed on its homepage are,&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Front-ends for C and C++ based on the GCC 3.4 and 4.0.1 parsers. They support the ANSI-standard C and C++ languages to the same degree that GCC supports them. Additionally, many GCC extensions are supported. LLVM also includes a front-end for "&lt;/span&gt;&lt;a href="http://llvm.org/docs/Stacker.html"&gt;&lt;span style="font-size:85%;"&gt;Stacker&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;", a Forth-like language. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A stable implementation of the LLVM instruction set, which serves as both the online and offline code representation, together with assembly (ASCII) and bytecode (binary) readers and writers, and a verifier. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A powerful pass-management system that automatically sequences passes (including analysis, transformation, and code-generation passes) based on their dependences, and pipelines them for efficiency. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A wide range of global scalar optimizations. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A link-time interprocedural optimization framework with a rich set of analyses and transformations, including sophisticated whole-program pointer analysis, call graph construction, and support for profile-guided optimizations. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;An easily retargettable code generator, which currently supports X86, X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, and IA-64.&lt;br /&gt;A Just-In-Time (JIT) code generation system, which currently supports X86, X86-64, PowerPC and PowerPC-64. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Support for generating DWARF debugging information. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A C back-end useful for testing and for generating native code on targets other than the ones listed above. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A profiling system similar to gprof. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A test framework with a number of benchmark codes and applications. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;APIs and debugging tools to simplify rapid development of LLVM components&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Where strengths being,&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;LLVM uses a simple &lt;/span&gt;&lt;a href="http://llvm.org/docs/LangRef.html"&gt;&lt;span style="font-size:85%;"&gt;low-level language&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; with strictly defined semantics. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;It includes front-ends for &lt;/span&gt;&lt;a href="http://llvm.org/docs/CommandGuide/html/llvmgcc.html"&gt;&lt;span style="font-size:85%;"&gt;C&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://llvm.org/docs/CommandGuide/html/llvmgxx.html"&gt;&lt;span style="font-size:85%;"&gt;C++&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, and &lt;/span&gt;&lt;a href="http://llvm.org/docs/Stacker.html"&gt;&lt;span style="font-size:85%;"&gt;Stacker&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; (a forth-like language). Front-ends for Java, Scheme, and other languages are in development. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;It includes an aggressive optimizer, including scalar, interprocedural, profile-driven, and some simple loop optimizations. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;It supports a &lt;/span&gt;&lt;a href="http://llvm.org/pubs/2004-01-30-CGO-LLVM.html"&gt;&lt;span style="font-size:85%;"&gt;life-long compilation model&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, including link-time, install-time, run-time, and offline optimization. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;LLVM has full support for &lt;/span&gt;&lt;a href="http://llvm.org/docs/GarbageCollection.html"&gt;&lt;span style="font-size:85%;"&gt;accurate garbage collection&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;The LLVM code generator is relatively easy to retarget, and makes use of a powerful target description language. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;LLVM has extensive &lt;/span&gt;&lt;a href="http://llvm.org/docs/"&gt;&lt;span style="font-size:85%;"&gt;documentation&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; and has hosted many &lt;/span&gt;&lt;a href="http://llvm.org/ProjectsWithLLVM/"&gt;&lt;span style="font-size:85%;"&gt;projects&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; of various sorts.&lt;br /&gt;Many third-party users have claimed that LLVM is easy to work with and develop for. For example, the Stacker front-end was written in &lt;/span&gt;&lt;a href="http://llvm.org/docs/Stacker.html#introduction"&gt;&lt;span style="font-size:85%;"&gt;4 days&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; by someone who started knowing nothing about LLVM. Additionally, LLVM has tools to make &lt;/span&gt;&lt;a href="http://llvm.org/docs/Bugpoint.html"&gt;&lt;span style="font-size:85%;"&gt;development easier&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;LLVM is under active development and is constantly being extended, enhanced and improved. See the status updates on the left bar to see the rate of development. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;LLVM is freely available under an OSI-approved "three-clause BSD" &lt;/span&gt;&lt;a href="http://llvm.org/docs/FAQ.html#license"&gt;&lt;span style="font-size:85%;"&gt;license&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;LLVM is currently used by several commercial entities, who contribute many extensions and new features. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;And the intended users include,&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A compiler researcher interested in compile-time, link-time (interprocedural), and runtime transformations for C and C++ programs. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A virtual machine researcher/developer interested in a portable, language-independent instruction set and compilation framework. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;An architecture researcher interested in compiler/hardware techniques. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;A security researcher interested in static analysis or instrumentation. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;An instructor or developer interested in a system for quick prototyping of compiler transformations. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;An end-user who wants to get better performance out of your code. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:78%;color:#666666;"&gt;&lt;strong&gt;[sources: &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://developers.slashdot.org/article.pl?no_d2=1&amp;amp;sid=08/02/12/1431222"&gt;&lt;span style="font-size:78%;color:#666666;"&gt;&lt;strong&gt;http://developers.slashdot.org/article.pl?no_d2=1&amp;amp;sid=08/02/12/1431222&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;color:#666666;"&gt;&lt;strong&gt;, &lt;/strong&gt;&lt;/span&gt;&lt;a href="http://llvm.org/Features.html"&gt;&lt;span style="font-size:78%;color:#666666;"&gt;&lt;strong&gt;http://llvm.org/Features.html&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;color:#666666;"&gt;&lt;strong&gt;, Wikipedia]&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-8522126788492784855?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/8522126788492784855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=8522126788492784855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8522126788492784855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/8522126788492784855'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/llvm-22.html' title='LLVM 2.2'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-415336496680244341</id><published>2008-02-12T23:44:00.000-05:00</published><updated>2008-02-13T00:43:36.288-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bill clinton george mason university hillary'/><title type='text'>Bill Clinton at George Mason</title><content type='html'>&lt;a href="http://bp3.blogger.com/_kspooNI8sPE/R7J3gdye8aI/AAAAAAAAACI/jBbnvhgQEl4/s1600-h/CIMG3993.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5166323122183270818" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_kspooNI8sPE/R7J3gdye8aI/AAAAAAAAACI/jBbnvhgQEl4/s400/CIMG3993.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_kspooNI8sPE/R7J3gtye8bI/AAAAAAAAACQ/hKLW6LcM_6w/s1600-h/CIMG3995.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5166323126478238130" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_kspooNI8sPE/R7J3gtye8bI/AAAAAAAAACQ/hKLW6LcM_6w/s400/CIMG3995.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_kspooNI8sPE/R7J3hNye8cI/AAAAAAAAACY/_Nej0vgxVh8/s1600-h/CIMG3975.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5166323135068172738" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_kspooNI8sPE/R7J3hNye8cI/AAAAAAAAACY/_Nej0vgxVh8/s400/CIMG3975.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-f020403ea79807a8" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v15.nonxt2.googlevideo.com/videoplayback?id%3Df020403ea79807a8%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330189694%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D11A4FB24E61FD7B1A3E6903204246CD5BA50636.4982F5AB7E30D490F21DA2DA2840581440DC7164%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Df020403ea79807a8%26offsetms%3D5000%26itag%3Dw160%26sigh%3DSvS6WOvo5UEhu_e2oRr0mO_sYpM&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v15.nonxt2.googlevideo.com/videoplayback?id%3Df020403ea79807a8%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330189694%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D11A4FB24E61FD7B1A3E6903204246CD5BA50636.4982F5AB7E30D490F21DA2DA2840581440DC7164%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Df020403ea79807a8%26offsetms%3D5000%26itag%3Dw160%26sigh%3DSvS6WOvo5UEhu_e2oRr0mO_sYpM&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Bill Clinton at our campus (George Mason University, Fairfax), supporting Hillary's presidential campaign..&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-415336496680244341?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=f020403ea79807a8&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/415336496680244341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=415336496680244341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/415336496680244341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/415336496680244341'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/bill-clinton-at-george-mason.html' title='Bill Clinton at George Mason'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_kspooNI8sPE/R7J3gdye8aI/AAAAAAAAACI/jBbnvhgQEl4/s72-c/CIMG3993.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-4168479860595069882</id><published>2008-02-07T09:13:00.000-05:00</published><updated>2008-02-07T09:18:20.365-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac hack contest'/><title type='text'>Mac hack contest</title><content type='html'>&lt;p&gt;&lt;strong&gt;One year after Mac hack contest, Linux &amp;amp; Vista may be tested&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;IDG News Service 2/6/08Robert McMillan, IDG News Service, San Francisco Bureau &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;One year after launching a controversial Macintosh hacking contest, the promoters of the CanSecWest security research conference are thinking about giving hackers another shot at cracking the Mac. Only this time, they're looking to broaden the field.&lt;br /&gt;&lt;br /&gt;Last year, show organizers invited attendees to hack into a Macintosh laptop, with the successful hacker winning the computer and a cash prize. But this year they're talking about giving attendees three targets to choose from. "We're thinking of having a contest where we have Vista and OS X and Linux ... and see which one goes first," said Dragos Ruiu, the principal organizer of CanSecWest.&lt;br /&gt;&lt;br /&gt;Last year, security researcher Dino Dai Zovi spent a sleepless night hacking his Mac in order to take the prize at the show's first PWN to OWN contest. Dai Zovi found a QuickTime bug that allowed him to run unauthorized software on the Mac once the computer's browser was directed to a specially crafted Web page.&lt;br /&gt;&lt;br /&gt;Dai Zovi split the contest prize with a friend at the show, Shane Macaulay, who helped him pull off his attack. Macaulay got to keep the Macbook Pro while Dai Zovi pocketed the US$10,000 put up by 3Com's Tipping Point division in exchange for technical details on the bug.&lt;br /&gt;&lt;br /&gt;It turned out that the QuickTime bug affected the Windows operating system too, but Ruiu said that Dai Zovi's hack helped change the way the industry thinks about the Mac OS, which has a reputation for being far more secure than Windows. "We were trying to point out that there was a security issue with Mac stuff here, and everybody was trying to play ostrich."&lt;br /&gt;&lt;br /&gt;Ruiu and Dai Zovi say that last year's contest helped kick off a flurry of Mac-related security research, but according to TippingPoint Manager of Security Response Terri Forslof, it also illustrated a security industry truism: "Given enough time and motivation, everything can be broken," she said. "When TippingPoint agreed to purchase whatever vulnerability was used to win the contest for $10,000, it added an appropriate level of motivation. That's how it works."&lt;br /&gt;&lt;br /&gt;Shortly after last year's contest, Gartner published a research paper warning that such challenges are "risky endeavors" that could put sensitive vulnerability information out in the public domain.&lt;br /&gt;&lt;br /&gt;That hasn't stopped CanSecWest from pressing forward with this year's event.&lt;br /&gt;&lt;br /&gt;Ruiu isn't certain that he'll run the three-way hacking contest this year. That's because he also has a grander, top-secret hacking contest idea that may or may not pan out, he said.&lt;br /&gt;&lt;br /&gt;Either way, he promised "an interesting spectacle."&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Bob McMillan is Senior writer for the IDG News Service.&lt;br /&gt;&lt;strong&gt;[source: &lt;/strong&gt;&lt;a href="http://security.itworld.com/4341/mac-hack-contest-080206/page_1.html"&gt;&lt;strong&gt;http://security.itworld.com/4341/mac-hack-contest-080206/page_1.html&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-4168479860595069882?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/4168479860595069882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=4168479860595069882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4168479860595069882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/4168479860595069882'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/mac-hack-contest.html' title='Mac hack contest'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3904378022836438644</id><published>2008-02-02T22:13:00.000-05:00</published><updated>2008-02-02T22:48:18.723-05:00</updated><title type='text'>OpenSolaris Concern: Virtualization</title><content type='html'>If we can identify 3 facets of virtualization of an underlying hardware as&lt;br /&gt;- virtualization to Isolate a 'process' from other processes,&lt;br /&gt;- something that can monitor status of and activities within a virtual machine, and&lt;br /&gt;- being a guest or being a host operating system, &lt;br /&gt;&lt;br /&gt;then,&lt;br /&gt;- OpenSolaris has Zones and Branded Zones which provide "protected and virtualized OS environment within an instance of Solaris, allowing one or more processes to run in isolation from other activity on the system', and they "enable kernel and user mode development of Solaris and Linux applications without impacting developers in seperate zones".&lt;br /&gt;&lt;br /&gt;- OperSolaris also supports Xen, which is "an open-source virtual machine monitor", and&lt;br /&gt;&lt;br /&gt;- OpenSolaris is available as a guest operating system for VMWare. (&lt;a href="http://www.opensolaris.org/os/article/2006-02-27_getting_started_with_opensolaris_using_vmware/"&gt;Get Started&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;[source: &lt;a href="http://www.opensolaris.org/os/community/edu/curriculum_development/OSOLINTROOS_2.2.pdf"&gt;OpenSolaris - Student Guide&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3904378022836438644?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3904378022836438644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3904378022836438644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3904378022836438644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3904378022836438644'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/opensolaris-concern-virtualization.html' title='OpenSolaris Concern: Virtualization'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-7305384337391259876</id><published>2008-02-02T20:59:00.000-05:00</published><updated>2008-02-02T21:07:41.693-05:00</updated><title type='text'>SXDE Installation Guide: Laptop Installations</title><content type='html'>Where SXDE is Solaris Express Developer Edition.&lt;br /&gt;The &lt;a href="http://www.opensolaris.org/os/community/edu/curriculum_development/OSOLINTROOS_2.2.pdf"&gt;Student Guide&lt;/a&gt; titled as "Introduction to Operating Systems: A hands-on approach using the OpenSolaris Project" referred to the following link for installation of SXDE on Laptops: &lt;br /&gt;&lt;a href="http://docs.sun.com/app/docs/doc/820-0462/6nc6uh7s2?a=view"&gt;Solaris Express Developer Edition Installation Guide: Laptop Installations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since I couldn’t love it by just running it within a virtual machine, I am following these guidelines to install it as another operating system on my machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-7305384337391259876?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/7305384337391259876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=7305384337391259876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7305384337391259876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/7305384337391259876'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/sxde-installation-guide-laptop.html' title='SXDE Installation Guide: Laptop Installations'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-9058078719553192916</id><published>2008-02-01T23:07:00.000-05:00</published><updated>2008-02-01T23:57:47.947-05:00</updated><title type='text'>Thinking of a switch? think OS.</title><content type='html'>Where OS is OpenSolaris.&lt;br /&gt;I am taking Advance Operating Systems course in spring08 semester with Dr. Harry Foxwell at George Mason University. Two things convinced me to get into this class: the professor's profile, and an opportunity to get out of closed Windows..&lt;br /&gt;&lt;br /&gt;He is kind of an AIO individual, being an ex-soccer referee, a Vietnam veteran, Senior System Engineer at Sun Microsystems, and an adjunct professor here at GMU, which seemed interesting at a glance.&lt;br /&gt;&lt;br /&gt;Then, I remember the references made to Solaris' implementation during my Operating Systems class as being competitive with the contemporary systems, if not any better. I also knew Solaris is based on Unix. And literally, this was the only information I had before taking the first class of this course.&lt;br /&gt;&lt;br /&gt;I want to track my progress in learning it, and this text serves the purpose of being the appetizer post. As I will try to gradually fill up my stomach with more *nix-based stuff, I'll try to keep this blog in shape perfected with my knowledgebase.&lt;br /&gt;&lt;br /&gt;As of now, I have successfully installed Solaris 10 (commercial version) on VMware Server version 1.0.4, which was a piece of cake while partly following &lt;a href="http://www.virtualization.info/lab/HowTo%20-%20Install%20Sun%20Solaris%2010%20inside%20VMware%20Workstation%205.5.pdf"&gt;HOW TO INSTALL SUN SOLARIS INSIDE VMWARE WORKSTATION 5.5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But, I feel like I am lacking hardware resources on my inspiron e1505 notebook to enjoy its full capacity. Following up, I downloaded 3 DVDS of Solaris Express Developer Edition 09/07 from opensolaris.org, and burned them.&lt;br /&gt;&lt;br /&gt;And yes, I was thinking of a switch, and I'll love one such to OS, if it's supporting my coursework!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-9058078719553192916?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/9058078719553192916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=9058078719553192916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9058078719553192916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9058078719553192916'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/02/thinking-of-switch-think-os.html' title='Thinking of a switch? think OS.'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6742792736731399478</id><published>2008-01-26T21:42:00.000-05:00</published><updated>2008-01-26T21:43:06.847-05:00</updated><title type='text'>Requiem for a dream</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/e2Ma4BvMUwU&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/e2Ma4BvMUwU&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6742792736731399478?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6742792736731399478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6742792736731399478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6742792736731399478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6742792736731399478'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/requiem-for-dream.html' title='Requiem for a dream'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6239748585738057751</id><published>2008-01-25T15:21:00.000-05:00</published><updated>2008-01-25T15:26:08.261-05:00</updated><title type='text'>Deliver a Presentation like Steve Jobs</title><content type='html'>&lt;em&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;The following article is written by&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt; &lt;a href="mailto:carmine@gallocommunications.com"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Carmine Gallo&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;. &lt;em&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;He is&lt;/span&gt; &lt;span style="font-size:85%;"&gt;a business communications &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;a onclick="popup(this.href,770,600);return false;" href="http://www.carminegallo.com/" target="popup"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;strong&gt;coach&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;strong&gt; and Emmy-Award winning former TV journalist, is the author of Fire Them Up! and 10 Simple Secrets of the World's Greatest Business Communicators. He writes his communications &lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;a href="http://www.businessweek.com/smallbiz/"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;strong&gt;column &lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;strong&gt;every week.&lt;/strong&gt;&lt;/em&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;When Apple (&lt;/span&gt;&lt;a href="http://investing.businessweek.com/research/stocks/snapshot/snapshot.asp?symbol=AAPL" rel="ticker"&gt;&lt;span style="font-size:85%;"&gt;AAPL&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;) CEO &lt;/span&gt;&lt;a href="http://investing.businessweek.com/businessweek/research/stocks/people/person.asp?personId=340149&amp;amp;symbol=AAPL"&gt;&lt;span style="font-size:85%;"&gt;Steve Jobs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; kicked off this year's Macworld Conference &amp;amp; Expo, he once again raised the bar on presentation skills. While most presenters simply convey information, Jobs also inspires. He sells the steak and the sizzle at the same time, as one reader commented a few years ago.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;I analyzed his latest presentation and extracted the 10 elements that you can combine to dazzle your own audience. Bear in mind that Jobs has been refining his skills for years. I broke down his 2007 Macworld keynote in a &lt;/span&gt;&lt;a href="http://www.businessweek.com/smallbiz/content/jul2007/sb2007076_474371.htm"&gt;&lt;span style="font-size:85%;"&gt;previous column&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; (BusinessWeek.com, 7/6/07) and in a &lt;/span&gt;&lt;a href="http://www.businessweek.com/go/08/gallo"&gt;&lt;span style="font-size:85%;"&gt;chapter&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; in my latest book. Still, how he actually arrives at what appear to be effortless presentations bears expanding on and explaining again.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;1. Set the theme.&lt;/strong&gt; "There is something in the air today." With those words, Jobs opened Macworld. By doing so, he set the theme for &lt;/span&gt;&lt;a href="http://images.businessweek.com/ss/08/01/0116_macworld/index_01.htm"&gt;&lt;span style="font-size:85%;"&gt;his presentation&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; (BusinessWeek.com, 1/15/08) and hinted at the key product announcement—the ultrathin MacBook Air laptop. Every presentation needs a theme, but you don't have to deliver it at the start. Last year, Jobs delivered the theme about 20 minutes into his presentation: "Today Apple reinvents the phone." Once you identify your theme, make sure you deliver it several times throughout your presentation.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;2. Demonstrate enthusiasm.&lt;/strong&gt; Jobs shows his passion for computer design. During his presentation he used words like "extraordinary," "amazing," and "cool." When demonstrating a new location feature for the iPhone, Jobs said, "It works pretty doggone well." Most speakers have room to add some flair to their presentations. Remember, your audience wants to be wowed, not put to sleep. Next time you're crafting or delivering a presentation, think about injecting your own personality into it. If you think a particular feature of your product is "awesome," say it. Most speakers get into presentation mode and feel as though they have to strip the talk of any fun. If you are not enthusiastic about your own products or services, how do you expect your audience to be?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;3. Provide an outline.&lt;/strong&gt; Jobs outlined the presentation by saying, "There are four things I want to talk about today. So let's get started…" Jobs followed his outline by verbally opening and closing each of the four sections and making clear transitions in between. For example, after revealing several new iPhone features, he said, "The iPhone is not standing still. We keep making it better and better and better. That was the second thing I wanted to talk about today. No. 3 is about iTunes." Make lists and provide your audience with guideposts along the way.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;4. Make numbers meaningful.&lt;/strong&gt; When Jobs announced that Apple had sold 4 million iPhones to date, he didn't simply leave the number out of context. Instead, he put it in perspective by adding, "That's 20,000 iPhones every day, on average." Jobs went on to say, "What does that mean to the overall market?" Jobs detailed the breakdown of the U.S smartphone market and Apple's share of it to demonstrate just how impressive the number actually is. Jobs also pointed out that Apple's market share equals the share of its top three competitors combined. Numbers don't mean much unless they are placed in context. Connect the dots for your listeners.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;5. Try for an unforgettable moment.&lt;/strong&gt; This is the moment in your presentation that everyone will be talking about. Every Steve Jobs presentation builds up to one big scene. In this year's Macworld keynote, it was the announcement of MacBook Air. To demonstrate just how thin it is, Jobs said it would fit in an envelope. Jobs drew cheers by opening a manila interoffice envelope and holding the laptop for everyone to see. What is the one memorable moment of your presentation? Identify it ahead of time and build up to it. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;6. Create visual slides.&lt;/strong&gt; While most speakers fill their slides with data, text, and charts, Jobs does the opposite. There is very little text on a Steve Jobs slide. Most of the slides simply show one image. For example, his phrase "The first thing I want to talk to you about today…" was accompanied by a slide with the numeral 1. That's it. Just the number. When Jobs discussed a specific product like the iPhone, the audience saw a slide with an image of the product. When text was introduced, it was often revealed as short sentences (three or four words) to the right of the image. Sometimes, there were no images at all on the slide but a sentence that Jobs had delivered such as "There is something in the air." There is a trend in public speaking to paint a picture for audiences by creating more visual graphics. Inspiring presenters are short on bullet points and big on graphics. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;7. Give 'em a show.&lt;/strong&gt; A Jobs presentation has ebbs and flows, themes and transitions. Since he's giving his audience a show instead of simply delivering information, Jobs includes video clips, demonstrations, and guests he shares the stage with. In his latest keynote, the audience heard from Jim Gianopulos, CEO and chairman of &lt;/span&gt;&lt;a href="http://investing.businessweek.com/research/stocks/snapshot/snapshot.asp?capId=6441777"&gt;&lt;span style="font-size:85%;"&gt;Fox Filmed Entertainment&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, and &lt;/span&gt;&lt;a href="http://investing.businessweek.com/businessweek/research/stocks/people/person.asp?personId=551668&amp;amp;symbol=INTC"&gt;&lt;span style="font-size:85%;"&gt;Paul Otellini&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, CEO of Intel (&lt;/span&gt;&lt;a href="http://investing.businessweek.com/research/stocks/snapshot/snapshot.asp?symbol=(INTC" rel="ticker"&gt;&lt;span style="font-size:85%;"&gt;(INTC&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;). Enhance your presentations by incorporating multimedia, product demonstrations, or giving others the chance to say a few words. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;8. Don't sweat the small stuff. &lt;/strong&gt;Despite your best preparation, something might go wrong as it did during the keynote. Jobs was about to show some photographs from a live Web site, and the screen went black while Jobs waited for the image to appear. It never did. Jobs smiled and said, "Well, I guess Flickr isn't serving up the photos today." He then recapped the new features he had just introduced. That's it. It was no big deal. I have seen presenters get flustered over minor glitches. Don't sweat minor mishaps. Have fun. Few will remember a glitch unless you call attention to it. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;9. Sell the benefit.&lt;/strong&gt; While most presenters promote product features, Jobs sells benefits. When introducing iTunes movie rentals, Jobs said, "We think there is a better way to deliver movie content to our customers." Jobs explained the benefit by saying, "We've never offered a rental model in music because people want to own their music. You listen to your favorite song thousands of times in your life. But most of us watch movies once, maybe a few times. And renting is a great way to do it. It's less expensive, doesn't take up space on our hard drive…" Your listeners are always asking themselves, "What's in it for me?" Answer the question. Don't make them guess. Clearly state the benefit of every service, feature, or product. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;10. Rehearse, rehearse, rehearse.&lt;/strong&gt; Steve Jobs cannot pull off an intricate presentation with video clips, demonstrations, and outside speakers without hours of rehearsal. I have spoken to people within Apple who tell me that Jobs rehearses the entire presentation aloud for many hours. Nothing is taken for granted. You can see he rehearsed the Macworld presentation because his words were often perfectly synchronized with the images and text on the slides. When Jobs was showing examples of the films that are available on the new iTunes movie rental service, one poster of a particular film appeared at the exact moment he began to talk about it. The entire presentation was coordinated. A Steve Jobs presentation looks effortless because it is well-rehearsed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[source: &lt;/span&gt;&lt;a href="http://www.businessweek.com/smallbiz/content/jan2008/sb20080125_269732.htm"&gt;&lt;span style="font-size:85%;"&gt;http://www.businessweek.com/smallbiz/content/jan2008/sb20080125_269732.htm&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6239748585738057751?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6239748585738057751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6239748585738057751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6239748585738057751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6239748585738057751'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/deliver-presentation-like-steve-jobs.html' title='Deliver a Presentation like Steve Jobs'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2877003044606333705</id><published>2008-01-24T01:17:00.000-05:00</published><updated>2008-01-24T01:19:28.599-05:00</updated><title type='text'>What's missing in C++?</title><content type='html'>&lt;ul&gt;&lt;li&gt;No &lt;a title="Garbage collection (computer science)" href="http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29"&gt;automatic garbage collection&lt;/a&gt; (It is possible to use an external GC though, such as the &lt;a title="Boehm garbage collector" href="http://en.wikipedia.org/wiki/Boehm_garbage_collector"&gt;Boehm_garbage_collector&lt;/a&gt;) &lt;/li&gt;&lt;li&gt;No requirement for &lt;a title="Bounds checking" href="http://en.wikipedia.org/wiki/Bounds_checking"&gt;bounds checking&lt;/a&gt; of arrays (The std::vector class can be used to avoid this problem) &lt;/li&gt;&lt;li&gt;No &lt;a title="Array programming" href="http://en.wikipedia.org/wiki/Array_programming"&gt;operations on whole arrays&lt;/a&gt; (This can be achieved with Template classes). &lt;/li&gt;&lt;li&gt;No syntax for &lt;a title="Range (computer science)" href="http://en.wikipedia.org/wiki/Range_%28computer_science%29"&gt;ranges&lt;/a&gt;, such as the A..B notation used in several languages &lt;/li&gt;&lt;li&gt;No &lt;a title="Nested function" href="http://en.wikipedia.org/wiki/Nested_function"&gt;nested function&lt;/a&gt; definitions &lt;/li&gt;&lt;li&gt;No formal &lt;a title="Closure (computer science)" href="http://en.wikipedia.org/wiki/Closure_%28computer_science%29"&gt;closures&lt;/a&gt; or functions as parameters (only function and variable pointers). (C++0x will probably feature closures). &lt;/li&gt;&lt;li&gt;No native support for &lt;a title="Multithreading" href="http://en.wikipedia.org/wiki/Multithreading"&gt;multithreading&lt;/a&gt; and &lt;a title="Computer networks" href="http://en.wikipedia.org/wiki/Computer_networks"&gt;networking&lt;/a&gt; (C++0x will provide thread-local storage and threading classes in the standard library) &lt;/li&gt;&lt;li&gt;No standard libraries for several other application programming needs &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;[source: &lt;a href="http://en.wikipedia.org/wiki/Criticism_of_C%2B%2B"&gt;http://en.wikipedia.org/wiki/Criticism_of_C%2B%2B&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2877003044606333705?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2877003044606333705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2877003044606333705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2877003044606333705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2877003044606333705'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/whats-missing-in-c.html' title='What&apos;s missing in C++?'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-9215509168306363453</id><published>2008-01-24T00:41:00.000-05:00</published><updated>2008-01-24T00:57:05.014-05:00</updated><title type='text'>C++0x</title><content type='html'>C++0x is the planned new standard for the C++ programming language. It is intended to replace the existing C++ standard, ISO/IEC 14882, which was published in 1998 and updated in 2003. These predecessors are informally known as C++98 and C++03. The new standard will include several additions to the core language and will extend the C++ standard library, incorporating most of the C++ Technical Report 1 libraries — most likely with the exception of the library of mathematical special functions.&lt;br /&gt;&lt;br /&gt;Programming languages such as C++ use an evolutionary process to develop their definition. This process inevitably raises compatibility issues with existing code, which has happened occasionally during the C++ development process. However, according to the announcement made by Bjarne Stroustrup (inventor of the C++ language and member of the committee), the new standard will be almost 100% compatible with the current standard.&lt;br /&gt;&lt;br /&gt;[source: &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B0x"&gt;http://en.wikipedia.org/wiki/C%2B%2B0x&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-9215509168306363453?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/9215509168306363453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=9215509168306363453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9215509168306363453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/9215509168306363453'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/c0x.html' title='C++0x'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3682132389946919932</id><published>2008-01-23T23:40:00.000-05:00</published><updated>2008-01-24T00:37:14.705-05:00</updated><title type='text'>Defining C++</title><content type='html'>&lt;p&gt;I was trying to get to the roots of information pertaining to the evolution of C++ and found an interview link on youtube. It's with Bjarne Stroustrup, founder/inventor of C++, and Herb Sutter, secretary of the ISO/ANSI C++ standards committee. &lt;/p&gt;&lt;p&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ptY52nYNXQ4&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/ptY52nYNXQ4&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;p&gt;In it, Stroustrup defined C++ as a language, &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Which is close to the hardware, &lt;/li&gt;&lt;li&gt;Which can deal very effectively with resources, and&lt;/li&gt;&lt;li&gt;Which has the abstraction mechanism that can serve the demands of really large applications, &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;He also somewhat criticized that if there is something good happening about C++, one won't hear a lot about it. This is partly because a number of people working on other languages are paid to disseminate improvement bullets about their languages; on the other hand, there is no substantial marketing budget to popularize or create hype around C++.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3682132389946919932?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3682132389946919932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3682132389946919932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3682132389946919932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3682132389946919932'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/defining-c.html' title='Defining C++'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-6737128489415379141</id><published>2008-01-23T23:07:00.000-05:00</published><updated>2008-01-24T01:01:32.038-05:00</updated><title type='text'>The invention of C++</title><content type='html'>&lt;strong&gt;1983: C++&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Tired of the lack of expressiveness of mainstream programming languages of the day and of the slowness of experimental languages, AT&amp;amp;T researcher Bjarne Stroustrup built the first version of C++ in 1983. C++ combines the expressive power of OOP (object-oriented programming) with the speed, compactness, and flexibility of C, its systems programming language predecessor, which was invented at AT&amp;amp;T ten years earlier. C++ matches C in efficiency and adds facilities for building larger, more easily maintained, and more reliable systems.&lt;br /&gt;&lt;br /&gt;Stroustrup's creation, originally intended to improve the working lives of his colleagues, rapidly became one of the most influential programming languages in industry and academia worldwide. Today, upwards of a million programmers use C++ to write software for machines ranging from PCs to supercomputers. If you have used a computer, you have almost certainly used a program written in C++. Most PC and Internet users do so daily. C++ is even used for software in gadgets such as cameras and elevators, which are not usually associated with computers and programming.&lt;br /&gt;&lt;br /&gt;At AT&amp;amp;T, C++ has become embedded in transmission, switching, and operations systems. C++ is also used in scientific programming, data analysis, simulation, and other mainstays of telecommunications research. Constant research and refinement have kept C++ in the front line of systems development to this day.&lt;br /&gt;&lt;br /&gt;[source: &lt;a href="http://www.corp.att.com/attlabs/reputation/timeline/83cplus.html"&gt;http://www.corp.att.com/attlabs/reputation/timeline/83cplus.html&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;In &lt;a title="The Design and Evolution of C++" href="http://en.wikipedia.org/wiki/The_Design_and_Evolution_of_C%2B%2B"&gt;The Design and Evolution of C++&lt;/a&gt; (1994), Bjarne Stroustrup describes some rules that he uses for the design of C++:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;C++ is designed to be a &lt;a title="Statically typed" href="http://en.wikipedia.org/wiki/Statically_typed"&gt;statically typed&lt;/a&gt;, general-purpose language that is as efficient and portable as C &lt;/li&gt;&lt;li&gt;C++ is designed to directly and comprehensively support multiple programming styles (&lt;a title="Procedural programming" href="http://en.wikipedia.org/wiki/Procedural_programming"&gt;procedural programming&lt;/a&gt;, &lt;a title="Data abstraction" href="http://en.wikipedia.org/wiki/Data_abstraction"&gt;data abstraction&lt;/a&gt;, &lt;a title="Object-oriented programming" href="http://en.wikipedia.org/wiki/Object-oriented_programming"&gt;object-oriented programming&lt;/a&gt;, and &lt;a title="Generic programming" href="http://en.wikipedia.org/wiki/Generic_programming"&gt;generic programming&lt;/a&gt;) &lt;/li&gt;&lt;li&gt;C++ is designed to give the programmer choice, even if this makes it possible for the programmer to choose incorrectly &lt;/li&gt;&lt;li&gt;C++ is designed to be as compatible with C as possible, therefore providing a smooth transition from C &lt;/li&gt;&lt;li&gt;C++ avoids features that are platform specific or not general purpose &lt;/li&gt;&lt;li&gt;C++ does not incur overhead for features that are not used (the "zero-overhead principle") &lt;/li&gt;&lt;li&gt;C++ is designed to function without a sophisticated programming environment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;[source: &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B"&gt;http://en.wikipedia.org/wiki/C%2B%2B&lt;/a&gt;]&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-6737128489415379141?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/6737128489415379141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=6737128489415379141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6737128489415379141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/6737128489415379141'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/invention-of-c.html' title='The invention of C++'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-2470827995166871217</id><published>2008-01-23T13:28:00.000-05:00</published><updated>2008-01-23T15:57:26.120-05:00</updated><title type='text'>Java: Rounding off to 2 decimal places</title><content type='html'>Seeking the simplest way to round off a float value to 2 decimal places, i found these:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 1:&lt;/strong&gt;&lt;br /&gt;x = (double)int((x+0.005)*100.0)/100.0;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 2:&lt;/strong&gt;&lt;br /&gt;x = Math.round(x*100.0) / 100.0;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 3:&lt;/strong&gt;&lt;br /&gt;DecimalFormat df2 = new DecimalFormat( "#,###,###,##0.00" );&lt;br /&gt;double dd = 100.2397;&lt;br /&gt;double dd2dec = new Double(df2.format(dd)).doubleValue();&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 4:&lt;/strong&gt;&lt;br /&gt;f = (float) (Math.round(n*100.0f)/100.0f);&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 5:&lt;/strong&gt;&lt;br /&gt;double r = 5.1234;&lt;br /&gt;System.out.println(r); // r is 5.1234&lt;br /&gt;int decimalPlaces = 2;&lt;br /&gt;BigDecimal bd = new BigDecimal(r);&lt;br /&gt;bd = bd.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP); // setScale is immutable&lt;br /&gt;r = bd.doubleValue();&lt;br /&gt;System.out.println(r); // r is 5.12&lt;br /&gt;&lt;br /&gt;[source: www.thescripts.com, accuracy unchecked]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How I did it:&lt;/strong&gt;&lt;br /&gt;float percentage = score.floatValue()/(qapairs.length*10)*100; //my float value&lt;br /&gt;percentage = Float.valueOf((new DecimalFormat("###.00").format(percentage)));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-2470827995166871217?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/2470827995166871217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=2470827995166871217' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2470827995166871217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/2470827995166871217'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/java-rounding-off-to-2-decimal-places.html' title='Java: Rounding off to 2 decimal places'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-3238139539969355617</id><published>2008-01-19T13:39:00.000-05:00</published><updated>2008-01-19T13:46:44.386-05:00</updated><title type='text'>SPARQL Query Language for RDF</title><content type='html'>DBpedia is a community effort to extract structured information from Wikipedia and to make this information available on the Web. DBpedia allows you to ask sophisticated queries against Wikipedia and to link other datasets on the Web to Wikipedia data.&lt;br /&gt;&lt;strong&gt;[source: &lt;a href="http://dbpedia.org/"&gt;www.DBPedia.org&lt;/a&gt;]&lt;/strong&gt;&lt;br /&gt;---------------- ---------------- ----------------&lt;br /&gt;The W3C just gave SPARQL the stamp of approval. SPARQL is a query language for the Semantic Web, and differs from othe query languages in that is usable across different data sources. There are allready 14 implementations of the spec, which is a lot. Most of them are free software. There are also billions of relations out there that are queryable, thanks to the Linking Open Data project. The structured data of Wikipedia are now queryable at DBpedia. Also, have a look at Ivan Herman's presentations. &lt;br /&gt;&lt;br /&gt;Lets have an example: You could do this on dbpedia.org (with the standard prefixes you find there) and it will return computer scientists born before 1945: SELECT ?name ?birth ?death ?person WHERE { ?person skos:subject &lt;http://dbpedia.org/resource/Category:Computer_scientists&gt; . ?person dbpedia2:birth ?birth . ?person foaf:name ?name . OPTIONAL { ?person dbpedia2:death ?death } FILTER (?birth &lt; "1945-01-01"^^xsd:date) . } ORDER BY ?name&lt;br /&gt;&lt;strong&gt;[source: &lt;a href="http://developers.slashdot.org/firehose.pl?id=470880&amp;op=view"&gt;Slashdot&lt;/a&gt;]&lt;/strong&gt;&lt;br /&gt;---------------- ---------------- ----------------&lt;br /&gt;&lt;a href="http://www.w3.org/TR/rdf-sparql-query/"&gt;SPARQL Query Language for RDF&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;ABSTRACT&lt;/strong&gt;&lt;br /&gt;RDF is a directed, labeled graph data format for representing information in the Web. This specification defines the syntax and semantics of the SPARQL query language for RDF. SPARQL can be used to express queries across diverse data sources, whether the data is stored natively as RDF or viewed as RDF via middleware. SPARQL contains capabilities for querying required and optional graph patterns along with their conjunctions and disjunctions. SPARQL also supports extensible value testing and constraining queries by source RDF graph. The results of SPARQL queries can be results sets or RDF graphs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-3238139539969355617?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/3238139539969355617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=3238139539969355617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3238139539969355617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/3238139539969355617'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/sparql-query-language-for-rdf.html' title='SPARQL Query Language for RDF'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-641015837733753064</id><published>2008-01-09T22:14:00.001-05:00</published><updated>2008-01-09T22:14:56.749-05:00</updated><title type='text'>Different Swap techniques</title><content type='html'>Using a TEMPORARY variable:&lt;br /&gt; &lt;br /&gt;int a = 10, b = 20;&lt;br /&gt;int temp = 0;&lt;br /&gt; &lt;br /&gt;temp = a;&lt;br /&gt;a = b;&lt;br /&gt;b = temp;&lt;br /&gt; &lt;br /&gt;Without using a temporary variable:&lt;br /&gt; &lt;br /&gt;int a = 10, b = 20;&lt;br /&gt; &lt;br /&gt;a = a + b;   // ( a = 30 ) &lt;br /&gt;b = a - b;   //  ( b = 10 ) &lt;br /&gt;a = a - b;    // ( a = 20 )&lt;br /&gt; &lt;br /&gt;In one line:&lt;br /&gt; &lt;br /&gt;int a = 10, b = 20;&lt;br /&gt; &lt;br /&gt;a = a + b - ( b = a );&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-641015837733753064?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/641015837733753064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=641015837733753064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/641015837733753064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/641015837733753064'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/different-swap-techniques.html' title='Different Swap techniques'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1780823879643395553.post-1184600883752395116</id><published>2008-01-06T23:41:00.000-05:00</published><updated>2008-01-08T23:59:46.852-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algorithm Sum of square of each digit of an integer'/><title type='text'>Sum of square of each digit of an integer</title><content type='html'>My first try that worked:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;&lt;span style="color:#000066;"&gt;&lt;br /&gt;int S(int x){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;int sum=0, y=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (x!=0){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (x &lt; 10) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y = x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y = x % 10;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x = (x - y) / 10;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sum += y * y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return sum;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Returns:&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#666666;"&gt;DigitsSum(55)=50 [5*5 + 5*5]&lt;br /&gt;DigitsSum(230)=13 [2*2 + 3*3 + 0*0]&lt;br /&gt;DigitsSum(37)=58 [3*3 + 7*7]&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#666666;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;U P D A T E&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;A better solution:&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000066;"&gt;int ur_num;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;int sum_of_sq=0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;while(ur_num!=0){ &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;remainder=ur_num%10; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;sum_of_sq += remainder*remainder; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;ur_num = ur_num/10;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000066;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1780823879643395553-1184600883752395116?l=salmanjamali.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://salmanjamali.blogspot.com/feeds/1184600883752395116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1780823879643395553&amp;postID=1184600883752395116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/1184600883752395116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1780823879643395553/posts/default/1184600883752395116'/><link rel='alternate' type='text/html' href='http://salmanjamali.blogspot.com/2008/01/sum-of-square-of-each-digit-of-integer.html' title='Sum of square of each digit of an integer'/><author><name>Salman Jamali</name><uri>http://www.blogger.com/profile/00795315173723743264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
