<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Astrila</title>
    <link>http://www.shitalshah.com/blog/</link>
    <description>Some blogs on Gizmos, music, science, math, physics, hikes, adventure outings, programming, books and such stuff...</description>
    <copyright>Shital Shah</copyright>
    <lastBuildDate>Wed, 18 Jun 2008 07:39:43 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>shital@ShitalShah.com</managingEditor>
    <webMaster>shital@ShitalShah.com</webMaster>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=3ba8f65c-36d8-4d36-b0fc-cc8d4e8d6225</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=3ba8f65c-36d8-4d36-b0fc-cc8d4e8d6225</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
   The Observing Blog at S&amp;T have <a href="http://www.skyandtelescope.com/community/skyblog/observingblog/19981449.html">posted</a> this
   wonderful <a href="http://media.skyandtelescope.com/video/Planet_animation.mov">movie</a> about
   celestial dance of some of the brightest objects in sky in August and September 2008,
   just after sunset. Unfortunately, for us in mid-northern latitudes (and especially
   Seattle weather), things won't be as bright and high but having these objects "collide"
   with each other and that too with crescent moon around looks beautiful!<img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=3ba8f65c-36d8-4d36-b0fc-cc8d4e8d6225" /></body>
      <title>The Four Planet Dance Of 2008</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=3ba8f65c-36d8-4d36-b0fc-cc8d4e8d6225</guid>
      <link>http://www.ShitalShah.com/blog/TheFourPlanetDanceOf2008.aspx</link>
      <pubDate>Wed, 18 Jun 2008 07:39:43 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
The Observing Blog at S&amp;amp;T have &lt;a href="http://www.skyandtelescope.com/community/skyblog/observingblog/19981449.html"&gt;posted&lt;/a&gt; this
wonderful &lt;a href="http://media.skyandtelescope.com/video/Planet_animation.mov"&gt;movie&lt;/a&gt; about
celestial dance of some of the brightest objects in sky in August and September 2008,
just after sunset. Unfortunately, for us in mid-northern latitudes (and especially
Seattle weather), things won't be as bright and high but having these objects "collide"
with each other and that too with crescent moon around looks beautiful!&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=3ba8f65c-36d8-4d36-b0fc-cc8d4e8d6225" /&gt;</description>
      <category>Heavenly Stuff</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=fa84be43-d42a-44de-80c4-11fea7f77912</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=fa84be43-d42a-44de-80c4-11fea7f77912</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      This addictive program can easily keep you busy for rest of the weekend so be careful
      :). <a href="http://www.phun.at/">Phun</a> is a physics simulator that even kids can
      use and its absolutely a delight. I watched the video and had to immediately download
      to give it a try. At first the interface might seem not as easy but after reading
      tutorial in main page and forums, you might be able to accomplish everything shown
      in video in less than 15 min of learning curve! Simply the easiest, powerful and most
      fun physics program I’ve come across. 
   </p>
        <p>
      Enjoy!
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=fa84be43-d42a-44de-80c4-11fea7f77912" />
      </body>
      <title>Phun With Physics Simulations</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=fa84be43-d42a-44de-80c4-11fea7f77912</guid>
      <link>http://www.ShitalShah.com/blog/PhunWithPhysicsSimulations.aspx</link>
      <pubDate>Sun, 09 Mar 2008 03:27:51 GMT</pubDate>
      <description>&lt;p&gt;
   This addictive program can easily keep you busy for rest of the weekend so be careful
   :). &lt;a href="http://www.phun.at/"&gt;Phun&lt;/a&gt; is a physics simulator that even kids can
   use and its absolutely a delight. I watched the video and had to immediately download
   to give it a try. At first the interface might seem not as easy but after reading
   tutorial in main page and forums, you might be able to accomplish everything shown
   in video in less than 15 min of learning curve! Simply the easiest, powerful and most
   fun physics program I’ve come across. 
&lt;p&gt;
   Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=fa84be43-d42a-44de-80c4-11fea7f77912" /&gt;</description>
      <category>Software To Download;Physics</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=6e5c3e28-3101-4b61-97a0-760fd340adae</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=6e5c3e28-3101-4b61-97a0-760fd340adae</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I can get sucked in to <a href="http://www.a-i.com/show_tree.asp?id=76&amp;level=2&amp;root=75">challenges</a> very
      easily especially when that involves Artificial Intelligence or statistical analysis.
      The challenge that has occupied my interests these days is the one that was put up
      by <a href="http://netflixprize.com/">Netflix</a>. It’s easy to describe: They give
      you 100 million data points for a triplet (Customer, Movie, Rating) and you have to
      predict the rating for given (customer, movie) pairs. If the average of squared errors
      of your predictions is below certain value you get a million dollar prize. 
   </p>
        <p>
      The problem is nothing new in the field. The researchers have been developing techniques
      for this class of problems since centuries – often without anticipating rewards. Any
      such material reward would be embarrassingly insignificant compared to the real prize
      - understanding the most unique and powerful thing in existence that we are aware
      of: The intelligence. 
   </p>
        <p>
      What makes Netflix prize an interesting challenge, however, is that it’s very well
      defined and several researchers are trying out their tools of trade so it also provides
      quantitative measurement for comparison. There are some consensus that Netflix
      have set the bar just high enough that no one would ever be able to achieve the lowest
      required RMS. But that shouldn’t stop you to enjoy the game and push extremes to new
      boundaries. 
   </p>
        <p>
      So how am I doing this? I started out brushing up on all existing techniques: Neural
      networks with linear elements, back propagation, principle component analysis and
      SVD, logistic regression (still many more to go: Bayesian networks, Markov decision
      process, SOMs and Recurrent networks). It’s one thing to read about these algorithms
      from text books and other to actually put in the practice to solve real world problems
      efficiently. The difficulty using these techniques straight from textbook (without
      domain specific enhancements) is that they suck when your data set is huge (matrix
      with 8.6 billion elements) and that there is no real generalized algorithms to determine
      several parameters such as learning rate, number of units and so on effectively.
   </p>
        <p>
      The one algorithm that swept me away among all of these is called Generalized Hebbian
      Algorithm (<a href="http://www.dcs.shef.ac.uk/~genevieve/gorrell_thesis.pdf">GHA</a>)
      - which probably is the most practical algorithm out there for linear problems since
      1985 but is not described in even latest well known textbooks! This algorithm can
      deal with essentially infinite data that available serially, it will use only required
      amount of memory to hold eigenvectors and perform SVD starting with most significant
      eigenvalue! 
   </p>
        <p>
      In any case, I'm making <a href="http://www.shitalshah.com/dev/agha.zip">my implementation</a> of
      highly optimized version of this neural network algorithm available with source code.
   </p>
        <p>
      Again limitation of GHA (and AGHA) is that they work best on linear problems
      only.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=6e5c3e28-3101-4b61-97a0-760fd340adae" />
      </body>
      <title>Fast Asymmetric Generalized Hebbian Algorithm</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=6e5c3e28-3101-4b61-97a0-760fd340adae</guid>
      <link>http://www.ShitalShah.com/blog/FastAsymmetricGeneralizedHebbianAlgorithm.aspx</link>
      <pubDate>Mon, 07 May 2007 03:43:37 GMT</pubDate>
      <description>&lt;p&gt;
   I can get sucked in to &lt;a href="http://www.a-i.com/show_tree.asp?id=76&amp;amp;level=2&amp;amp;root=75"&gt;challenges&lt;/a&gt; very
   easily especially when that involves Artificial Intelligence or statistical analysis.
   The challenge that has occupied my interests these days is the one that was put up
   by &lt;a href="http://netflixprize.com/"&gt;Netflix&lt;/a&gt;. It’s easy to describe: They give
   you 100 million data points for a triplet (Customer, Movie, Rating) and you have to
   predict the rating for given (customer, movie) pairs. If the average of squared errors
   of your predictions is below certain value you get a million dollar prize. 
&lt;/p&gt;
&lt;p&gt;
   The problem is nothing new in the field. The researchers have been developing techniques
   for this class of problems since centuries – often without anticipating rewards. Any
   such material reward would be embarrassingly insignificant compared to the real prize
   - understanding the most unique and powerful thing in existence that we are aware
   of: The intelligence. 
&lt;/p&gt;
&lt;p&gt;
   What makes Netflix prize an interesting challenge, however, is that it’s very well
   defined and several researchers are trying out their tools of trade so it also provides
   quantitative measurement for comparison. There are some consensus that&amp;nbsp;Netflix
   have set the bar just high enough that no one would ever be able to achieve the lowest
   required RMS. But that shouldn’t stop you to enjoy the game and push extremes to new
   boundaries. 
&lt;/p&gt;
&lt;p&gt;
   So how am I doing this? I started out brushing up on all existing techniques: Neural
   networks with linear elements, back propagation, principle component analysis and
   SVD, logistic regression (still many more to go: Bayesian networks, Markov decision
   process, SOMs&amp;nbsp;and Recurrent networks). It’s one thing to read about these algorithms
   from text books and other to actually put in the practice to solve real world problems
   efficiently. The&amp;nbsp;difficulty using these techniques straight from textbook (without
   domain specific enhancements) is that they suck when your data set is huge (matrix
   with 8.6 billion elements) and that there is no real generalized algorithms to determine
   several parameters such as learning rate, number of units and so on effectively.
&lt;/p&gt;
&lt;p&gt;
   The one algorithm that swept me away among all of these is called Generalized Hebbian
   Algorithm (&lt;a href="http://www.dcs.shef.ac.uk/~genevieve/gorrell_thesis.pdf"&gt;GHA&lt;/a&gt;)
   - which probably is the most practical algorithm out there for linear problems since
   1985 but is not described in even latest well known textbooks! This algorithm can
   deal with essentially infinite data that available serially, it will use only required
   amount of memory to hold eigenvectors and perform SVD starting with most significant
   eigenvalue! 
&lt;/p&gt;
&lt;p&gt;
   In any case, I'm making &lt;a href="http://www.shitalshah.com/dev/agha.zip"&gt;my implementation&lt;/a&gt; of
   highly optimized version of this neural network algorithm available with source code.
&lt;/p&gt;
&lt;p&gt;
   Again&amp;nbsp;limitation of&amp;nbsp;GHA (and AGHA) is that they work best on linear problems
   only.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=6e5c3e28-3101-4b61-97a0-760fd340adae" /&gt;</description>
      <category>AI;Mathematics</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=c743f498-f397-49ca-8c14-03a69404c543</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=c743f498-f397-49ca-8c14-03a69404c543</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      These two small utilities I'd wrote about an year ago and since then
      they were sitting on my network share. Meanwhile lot of people in my team used
      it and found them useful. There is still a large list of features
      that I'd like to add but even without it, these are pretty usable at this point. So
      enjoy!
   </p>
        <p>
          <a href="http://www.shitalshah.com/sqlutils/">SQL INSERT Script Genertor</a>
        </p>
        <p>
          <a href="http://www.shitalshah.com/diskdefuzzer/">Disk Defuzzer</a>
        </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=c743f498-f397-49ca-8c14-03a69404c543" />
      </body>
      <title>Two Small Utilities</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=c743f498-f397-49ca-8c14-03a69404c543</guid>
      <link>http://www.ShitalShah.com/blog/TwoSmallUtilities.aspx</link>
      <pubDate>Mon, 07 May 2007 02:38:03 GMT</pubDate>
      <description>&lt;p&gt;
   These two small utilities I'd wrote&amp;nbsp;about&amp;nbsp;an year ago and&amp;nbsp;since then
   they were&amp;nbsp;sitting on my network share. Meanwhile lot of people in my team used
   it and found them useful.&amp;nbsp;There&amp;nbsp;is&amp;nbsp;still a large list of&amp;nbsp;features
   that I'd like to add but even without it, these are pretty usable at this point. So
   enjoy!
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.shitalshah.com/sqlutils/"&gt;SQL INSERT Script Genertor&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.shitalshah.com/diskdefuzzer/"&gt;Disk Defuzzer&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=c743f498-f397-49ca-8c14-03a69404c543" /&gt;</description>
      <category>Programming;Software To Download</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=70749bb0-9e07-42f3-bac2-0ba9c248b912</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=70749bb0-9e07-42f3-bac2-0ba9c248b912</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I’d been attempting to post this entry right from inside Word 2007 Beta 2, but no
      luck so far interfacing with dasBlog. But the good thing is that most Office 2007
      apps seems to be now blog and RSS aware. You can manage your blogging accounts right
      inside the Word or OneNote, although few things like pinging Technorati is missing.
   </p>
        <p>
      The coolest thing in Office 12 is, though, new math related functionality. Now you
      can insert math equation in Word with rendering quality that matches LaTex (well,
      most of the time in Beta 2). The equation can be entered very interactively or in <a href="http://www.unicode.org/notes/tn28/UTN28-PlainTextMath.pdf">linear
      format</a> which also allows TeX like symbol naming convention such as \alpha, \to,
      \infty and so on.  Full TeX syntax however is not yet supported and some features
      such as equation numbering is missing in this release. But the interactive UI to build
      equations is pretty funcky. You can align equations and form equation array by using
      shift+Enter key and right clicking on ‘=’ symbol.
   </p>
        <p>
      Even cooler is the fact that this functionality is available from any Office app.
      So you can actually start writing equation in your emails and Excel sheet! The equations
      are converted in to png file when sent in an email so even the lousy email reader
      can handle it.  For example, here’s the Prime Number Theorem typed in Outlook
      2007 is rendered as png image like this:
   </p>
        <p align="center">
          <img src="http://www.shitalshah.com/blog/content/binary/PrimeNumberTheorem.png" border="0" />
        </p>
        <p>
      Andrei Burago working in with authoring team demoed this awesome power of Word12 and
      set out to rewrite my entire <a href="http://www.shitalshah.com/articles/twinprimes/On%20Expression%20Of%20Number%20As%20A%20Sum%20Of%20Primes.docx">paper
      on twin primes just using Word 2007</a> (which I had <a href="http://www.shitalshah.com/articles/twinprimes/TwinPrimesDistribution.pdf">written
      originally in TeX</a>)!
   </p>
        <p>
      The Ribbon bar is ultra cool and has replaced both menus and toolbar. This might drive
      you nuts however when you are trying to find some usual stuff such as list of recent
      files, print preview and so on. The trick is to click on Office symbol on upper left
      corner (hack, who would have known that!). The Lookout doesn’t seem to work any longer
      in Outlook 2007 but the instant searching is pretty satisfactory once you give it
      sometime to index stuff.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=70749bb0-9e07-42f3-bac2-0ba9c248b912" />
      </body>
      <title>Math In Office 2007</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=70749bb0-9e07-42f3-bac2-0ba9c248b912</guid>
      <link>http://www.ShitalShah.com/blog/MathInOffice2007.aspx</link>
      <pubDate>Tue, 16 May 2006 23:37:52 GMT</pubDate>
      <description>&lt;p&gt;
   I’d been attempting to post this entry right from inside Word 2007 Beta 2, but no
   luck so far interfacing with dasBlog. But the good thing is that most Office 2007
   apps seems to be now blog and RSS aware. You can manage your blogging accounts right
   inside the Word or OneNote, although few things like pinging Technorati is missing.
&lt;/p&gt;
&lt;p&gt;
   The coolest thing in Office 12 is, though, new math related functionality. Now you
   can insert math equation in Word with rendering quality that matches LaTex (well,
   most of the time in Beta 2). The equation can be entered very interactively or in &lt;a href="http://www.unicode.org/notes/tn28/UTN28-PlainTextMath.pdf"&gt;linear
   format&lt;/a&gt; which also allows TeX like symbol naming convention such as \alpha, \to,
   \infty and so on.&amp;nbsp; Full TeX syntax however is not yet supported and some features
   such as equation numbering is missing in this release. But the interactive UI to build
   equations is pretty funcky. You can align equations and form equation array by using
   shift+Enter key and right clicking on ‘=’ symbol.
&lt;/p&gt;
&lt;p&gt;
   Even cooler is the fact that this functionality is available from any Office app.
   So you can actually start writing equation in your emails and Excel sheet! The equations
   are converted in to png file when sent in an email so even the lousy email reader
   can handle it.&amp;nbsp; For example, here’s the Prime Number Theorem typed in Outlook
   2007 is rendered as png image like this:
&lt;/p&gt;
&lt;p align=center&gt;
   &lt;img src="http://www.shitalshah.com/blog/content/binary/PrimeNumberTheorem.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   Andrei Burago working in with authoring team demoed this awesome power of Word12 and
   set out to rewrite my entire &lt;a href="http://www.shitalshah.com/articles/twinprimes/On%20Expression%20Of%20Number%20As%20A%20Sum%20Of%20Primes.docx"&gt;paper
   on twin primes just using Word 2007&lt;/a&gt; (which I had &lt;a href="http://www.shitalshah.com/articles/twinprimes/TwinPrimesDistribution.pdf"&gt;written
   originally in TeX&lt;/a&gt;)!
&lt;/p&gt;
&lt;p&gt;
   The Ribbon bar is ultra cool and has replaced both menus and toolbar. This might drive
   you nuts however when you are trying to find some usual stuff such as list of recent
   files, print preview and so on. The trick is to click on Office symbol on upper left
   corner (hack, who would have known that!). The Lookout doesn’t seem to work any longer
   in Outlook 2007 but the instant searching is pretty satisfactory once you give it
   sometime to index stuff.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=70749bb0-9e07-42f3-bac2-0ba9c248b912" /&gt;</description>
      <category>Software To Download</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=83bd1b60-9f6d-42c7-bb91-b51d8649e745</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=83bd1b60-9f6d-42c7-bb91-b51d8649e745</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      There are tons and tons of things to blog but here is a quick one.
   </p>
        <p>
      Last Thanksgiving (a 4 days of holidays in USA) I wanted to work on something
      really cool that is absolutely worth doing and something I can spend my entire 4 days
      continuosly. I looked over my list of pending projects to find something extraordinarily
      cool, kept thinking about new ideas flowing around, looked over to other idea websites and realized
      that my mind was just keept going blank all the while.
   </p>
        <p>
      So when people asked what were my plans for thanksgiving, I'd reply "I'll be doing
      Project Blank" :).
   </p>
        <p>
      It just so happened, at the very start of the thanksgiving I was casualy reading the <a href="http://msdn.microsoft.com/xml/rss/sse/">SSE
      specs</a> that was just announced by Ray Ozzie and immediately realized things missing
      in there and the huge possibilities of massive human collaboration that it can make
      happen. Rest of it is the story. I ended up spending about 16 hours a day in designing
      what I call now Data Syndication Services specifications and writing a reference
      application for it. While my efforts were inspired by SSE and Groove, the DSS design
      enables data sharing on a massive scale on much realistic grounds.
   </p>
        <p>
      And guess what, I still call the project binaries Blank :).
   </p>
        <p>
      Want to take a look? Go ahead and collaborate: <a href="http://www.ShitalShah.com/dss">http://www.ShitalShah.com/dss</a>!
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=83bd1b60-9f6d-42c7-bb91-b51d8649e745" />
      </body>
      <title>Introducing DSS</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=83bd1b60-9f6d-42c7-bb91-b51d8649e745</guid>
      <link>http://www.ShitalShah.com/blog/IntroducingDSS.aspx</link>
      <pubDate>Thu, 16 Feb 2006 15:04:01 GMT</pubDate>
      <description>&lt;p&gt;
   There are tons and tons of things to blog but here is a quick one.
&lt;/p&gt;
&lt;p&gt;
   Last Thanksgiving (a 4 days of holidays in USA)&amp;nbsp;I wanted to work on something
   really cool that is absolutely worth doing and something I can spend my entire 4 days
   continuosly. I looked over my list of pending projects to find something extraordinarily
   cool, kept thinking about new ideas flowing around, looked over to other idea websites&amp;nbsp;and&amp;nbsp;realized
   that&amp;nbsp;my mind was just keept going blank all the while.
&lt;/p&gt;
&lt;p&gt;
   So when people asked what were my plans for thanksgiving, I'd reply "I'll be doing
   Project Blank" :).
&lt;/p&gt;
&lt;p&gt;
   It just so happened, at the very start of the thanksgiving I&amp;nbsp;was casualy reading&amp;nbsp;the &lt;a href="http://msdn.microsoft.com/xml/rss/sse/"&gt;SSE
   specs&lt;/a&gt; that was just announced by Ray Ozzie and immediately realized things missing
   in there and the huge possibilities of massive human collaboration that it can make
   happen. Rest of it is the story. I ended up spending about 16 hours a day in designing
   what I call now Data Syndication Services specifications and writing a&amp;nbsp;reference
   application for it. While my efforts were inspired by SSE and Groove, the DSS design
   enables data sharing on a massive scale on much realistic grounds.
&lt;/p&gt;
&lt;p&gt;
   And guess what, I still call the project binaries Blank :).
&lt;/p&gt;
&lt;p&gt;
   Want to take a look? Go ahead and collaborate: &lt;a href="http://www.ShitalShah.com/dss"&gt;http://www.ShitalShah.com/dss&lt;/a&gt;!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=83bd1b60-9f6d-42c7-bb91-b51d8649e745" /&gt;</description>
      <category>New Stuff On My Site;Software To Download</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=7f4c2bec-f19e-48c2-b727-adc79f435342</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=7f4c2bec-f19e-48c2-b727-adc79f435342</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">About a year and half ago, the new version
   of <a href="http://www.shitalshah.com/astrila/messageexport/">Groove</a> had came
   out and it still didn't had an ability export IMs. It drove me nuts so I started to
   write my own Groove tool that would do it in excuse to explore its infamous internals.
   Ah! What a ride that was! Groove APIs have extremely huge surface area (which means
   there are thousands and thousands of them sprinkled all over in hard to find places).
   Tons of them have confusing names, misleading functionalities and put in the wrong
   place. The fun part? There is almost no documentation! And yeah, did I forgot to mention
   that they are heavy C++ oriented, frequently late bound and mostly proprietary stuff
   (they even have their own proprietary definition for rich text and APIs!)? 
   <br /><br />
   If your brain needs some challenge that's the place to dig in to. After sacrificing
   my 3 weekends I finally had a working tool that exports Groove IMs and put them to
   Outlook without loosing formatting or attachments! I consider this an equivalent feat
   of removing nag dialog of WinZip by changing a x86 jump instruction in its disassembled
   binary using only Visual Studio debugger and absolutely nothing else ;).<br /><br />
   This tool had been sitting on my hard drive crying to get out for months and months.
   In between, I did some polishing up, adding wizards, support for Word and Excel, creating
   a help file and even created a website for it. So now I think it’s pretty much ready
   and have decided to give it away for free personal use (similar tools cost $50 something
   I guess). <a href="http://www.shitalshah.com/astrila/messageexport/">Check it out</a> if
   you use Groove and want to save your invaluable messages! Call it laziness or ignorance
   or whatever but I really do feel guilty not to putting this out early when 3.0 came
   out and lot of people SO need it!<br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=7f4c2bec-f19e-48c2-b727-adc79f435342" /></body>
      <title>Groove Hacks</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=7f4c2bec-f19e-48c2-b727-adc79f435342</guid>
      <link>http://www.ShitalShah.com/blog/GrooveHacks.aspx</link>
      <pubDate>Tue, 15 Nov 2005 05:48:53 GMT</pubDate>
      <description>About a year and half ago, the new version of &lt;a href="http://www.shitalshah.com/astrila/messageexport/"&gt;Groove&lt;/a&gt; had
came out and it still didn't had an ability export IMs. It drove me nuts so I started
to write my own Groove tool that would do it in excuse to explore its infamous internals.
Ah! What a ride that was! Groove APIs have extremely huge surface area (which means
there are thousands and thousands of them sprinkled all over in hard to find places).
Tons of them have confusing names, misleading functionalities and put in the wrong
place. The fun part? There is almost no documentation! And yeah, did I forgot to mention
that they are heavy C++ oriented, frequently late bound and mostly proprietary stuff
(they even have their own proprietary definition for rich text and APIs!)? 
&lt;br&gt;
&lt;br&gt;
If your brain needs some challenge that's the place to dig in to. After sacrificing
my 3 weekends I finally had a working tool that exports Groove IMs and put them to
Outlook without loosing formatting or attachments! I consider this an equivalent feat
of removing nag dialog of WinZip by changing a x86 jump instruction in its disassembled
binary using only Visual Studio debugger and absolutely nothing else ;).&lt;br&gt;
&lt;br&gt;
This tool had been sitting on my hard drive crying to get out for months and months.
In between, I did some polishing up, adding wizards, support for Word and Excel, creating
a help file and even created a website for it. So now I think it’s pretty much ready
and have decided to give it away for free personal use (similar tools cost $50 something
I guess). &lt;a href="http://www.shitalshah.com/astrila/messageexport/"&gt;Check it out&lt;/a&gt; if
you use Groove and want to save your invaluable messages! Call it laziness or ignorance
or whatever but I really do feel guilty not to putting this out early when 3.0 came
out and lot of people SO need it!&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=7f4c2bec-f19e-48c2-b727-adc79f435342" /&gt;</description>
      <category>Software To Download</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=3ea21a7d-d536-4207-b7b8-09c0412666e9</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=3ea21a7d-d536-4207-b7b8-09c0412666e9</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://astrila.blogspot.com">It's easier to run</a>.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=3ea21a7d-d536-4207-b7b8-09c0412666e9" />
      </body>
      <title>On The Run</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=3ea21a7d-d536-4207-b7b8-09c0412666e9</guid>
      <link>http://www.ShitalShah.com/blog/OnTheRun.aspx</link>
      <pubDate>Fri, 07 Oct 2005 05:37:08 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;a href="http://astrila.blogspot.com"&gt;It's easier to run&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=3ea21a7d-d536-4207-b7b8-09c0412666e9" /&gt;</description>
      <category>Random Thoughts</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=89d2e2bc-7ad5-4f6e-bc0f-99c906896855</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=89d2e2bc-7ad5-4f6e-bc0f-99c906896855</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Okay... the (big) news time: We have moved out to all the way to the opposite coast
      and I've started my new work at Microsoft! More details will follow as I get some
      time from double pressure of moving and brand new job but suffice to say that Microsoft
      is possibly the ultimate geek destination on the planet and it shows up in all
      kind of little things. Lot of organizations out there fail to see the
      tremendous advantages of integration and try to mix and match in the hope they
      would get the best of both worlds. In reality they end up using only the lowest common
      denominator that exist between both worlds. Microsoft technologies are driven
      to its maximum at the MS campuses and its perhaps the best showcase for the power
      of these technologies. In other news, the fall colors in Seattle area is much
      vivid and really bright from what <a href="http://www.dotphoto.com/go.asp?l=sytel&amp;AID=628315&amp;Pres=Y">I
      used to see on east coast</a> and something we thought we would be missing at this
      Evergreen State ;). This place rocks!
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=89d2e2bc-7ad5-4f6e-bc0f-99c906896855" />
      </body>
      <title>Big Move</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=89d2e2bc-7ad5-4f6e-bc0f-99c906896855</guid>
      <link>http://www.ShitalShah.com/blog/BigMove.aspx</link>
      <pubDate>Fri, 07 Oct 2005 03:46:54 GMT</pubDate>
      <description>&lt;p&gt;
   Okay... the (big) news time: We have moved out to all the way to&amp;nbsp;the opposite&amp;nbsp;coast
   and I've started my new work at Microsoft! More details will follow as I get some
   time from double pressure of moving and brand new job but suffice to say that Microsoft
   is possibly the ultimate geek destination on the planet and it shows up in&amp;nbsp;all
   kind of&amp;nbsp;little things.&amp;nbsp;Lot of organizations out there&amp;nbsp;fail to see the
   tremendous advantages of integration&amp;nbsp;and try to mix and match in the hope they
   would get the best of both worlds. In reality they end up using only the lowest common
   denominator that exist between both worlds.&amp;nbsp;Microsoft technologies are driven
   to its maximum at the MS campuses and its perhaps the best showcase for the power
   of these technologies.&amp;nbsp;In other news, the fall colors in Seattle area is much
   vivid and really bright from what &lt;a href="http://www.dotphoto.com/go.asp?l=sytel&amp;amp;AID=628315&amp;amp;Pres=Y"&gt;I
   used to see on east coast&lt;/a&gt; and something we&amp;nbsp;thought we would be missing at&amp;nbsp;this
   Evergreen State ;). This place rocks!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=89d2e2bc-7ad5-4f6e-bc0f-99c906896855" /&gt;</description>
      <category>Personal News</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=fa008a66-b8a1-4d48-a126-49e9c60bac49</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=fa008a66-b8a1-4d48-a126-49e9c60bac49</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I just finished <a href="http://codeproject.com/useritems/Eq2Img.asp">my
   new article on CodeProject</a>. The mission on MimeTeX was started about couple of
   months ago when in a weekend I just got attracted to MimeTeX's C code like a magnet
   ;). Now I've built ASP.Net handler, caching, admin etc on the top of it and its looking
   great! Enabling scientific content on web seems to be my new obsession. So if you
   take pride in delighting your users with every new release, here's your brand new
   feature! Go ahead, download it, use it! If you run in to any problem, I'll be glad
   to offer you my help.<br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=fa008a66-b8a1-4d48-a126-49e9c60bac49" /></body>
      <title>My New CodeProject Article On Equation Rendering</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=fa008a66-b8a1-4d48-a126-49e9c60bac49</guid>
      <link>http://www.ShitalShah.com/blog/MyNewCodeProjectArticleOnEquationRendering.aspx</link>
      <pubDate>Wed, 24 Aug 2005 02:31:01 GMT</pubDate>
      <description>I just finished &lt;a href="http://codeproject.com/useritems/Eq2Img.asp"&gt;my new article
on CodeProject&lt;/a&gt;. The mission on MimeTeX was started about couple of months ago
when in a weekend I just got attracted to MimeTeX's C code like a magnet ;). Now I've
built ASP.Net handler, caching, admin etc on the top of it and its looking great!
Enabling scientific content on web seems to be my new obsession. So if you take pride
in delighting your users with every new release, here's your brand new feature! Go
ahead, download it, use it! If you run in to any problem, I'll be glad to offer you
my help.&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=fa008a66-b8a1-4d48-a126-49e9c60bac49" /&gt;</description>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=21ab9ce3-36fd-490a-97ee-064141fc6b90</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=21ab9ce3-36fd-490a-97ee-064141fc6b90</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font color="#ff0000">UPDATE: </font>Check out <a href="http://www.codeproject.com/dotnet/Eq2Img.asp">my
      article</a> on detailed HowTo for this topic.
   </p>
        <p>
      A weekend worth of effort has paid off so I can finally write about this equation.
      For those who wants to write about mathematics in their blogs knows what I'm talking
      about. Quite ironically, there is no built-in support for writing math equations in
      HTML. Of all types of knowledges, mathematics is something that remains invariant
      over time, cultures, languages. But the fact that the Internet, the largest knowledge
      resource of our times, does not <i>yet</i> have the capability to easily represent
      theses crown jewels is ironic. 
   </p>
        <p>
      That got to be changed. Thanks to John Forkosh who authored MimeTeX, the C code that
      parses equations in TeX format and renders them in to images. The code could be compiled
      as CGI executable to run under Windows. But my goal is different. I want to enable
      all forums, blogs, wikis and even desktop apps like Yahoo/MSN messenger so users can
      quickly write math equations. Considering some of forums and wikis have thousands
      of simultaneous users, the CGI executable just won't cut it. Neither it's usable for
      integration with desktop apps. So my decision was to convert original MimeTex code
      in to Win32 DLL and that's were the trouble begins (and weekend plans ends). I realized
      the MimeTeX code had several memory leaks which don't matter that much when you run
      it as a CGI EXE but could bring down the server if I'd to run it in-proc. Fortunately
      I was able to fix those leaks in just a weekend worth of effort and finally have my
      C# test app talking to MimeTeX Win32 DLL and displaying equations as I type! However
      the coolest part of the whole process was the long long emails with John Forkosh over
      next few days discussing every change I made in his code, carefully scrutinizing it,
      sending back and forth our changes to each other. While John would be updating his
      distro soon, you can <a href="http://www.shitalshah.com/dev/eq2img_all.zip">download
      the code</a> with fixes along with VB.Net and C# samples, DLL for desktop apps and
      my HttpHandler HttpModule code. This will enable you to integrate this functionality
      in any website or desktop app and let your users write equations as simply as: 
   </p>
        <p align="center">
      Fermat's Last Theorem is &lt;img src="$x^n + y^n = z^n$"&gt;
   </p>
        <p>
      And Now without further ado, here's <a href="http://en.wikipedia.org/wiki/The_Answer_to_Life,_the_Universe,_and_Everything">the
      answer to life, the universe and everything</a> (and no, it's not 42): 
   </p>
        <p align="center">
          <img src="http://www.shitalshah.com/showeq.ashx?\LARGE e^{i\pi}=-1" />
        </p>
        <p>
      Known as Euler's Identity, this equation reflects the relationship between four most
      fundamental numbers in the universe. There are not many important mathematical and
      physical equations where <img src="http://www.shitalshah.com/showeq.ashx?e" />, <img src="http://www.shitalshah.com/showeq.ashx?i" /> or <img src="http://www.shitalshah.com/showeq.ashx?\pi" /> hasn't
      invaded yet and that in essence implies that these fundamental constants very tightly
      controls the ways the universe works (did you noticed <img title="Eienstein's Field Equation" src="http://www.shitalshah.com/showeq.ashx?G_{\mu\nu} = \frac{8 \pi G}{c^4} T_{\mu\nu}" />).
      So in nutshell, this equation just might be the concise definition of the universe
      ;). 
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=21ab9ce3-36fd-490a-97ee-064141fc6b90" />
      </body>
      <title>World's Most Beautiful Equation</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=21ab9ce3-36fd-490a-97ee-064141fc6b90</guid>
      <link>http://www.ShitalShah.com/blog/WorldsMostBeautifulEquation.aspx</link>
      <pubDate>Mon, 08 Aug 2005 17:22:07 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font color=#ff0000&gt;UPDATE: &lt;/font&gt;Check out &lt;a href="http://www.codeproject.com/dotnet/Eq2Img.asp"&gt;my
   article&lt;/a&gt; on detailed HowTo for this topic.
&lt;/p&gt;
&lt;p&gt;
   A weekend worth of effort has paid off so I can finally write about this equation.
   For those who wants to write about mathematics in their blogs knows what I'm talking
   about. Quite ironically, there is no built-in support for writing math equations in
   HTML. Of all types of knowledges, mathematics is something that remains invariant
   over time, cultures, languages. But the fact that the Internet, the largest knowledge
   resource of our times, does not &lt;i&gt;yet&lt;/i&gt; have the capability to easily represent
   theses crown jewels is ironic. 
&lt;/p&gt;
&lt;p&gt;
   That got to be changed. Thanks to John Forkosh who authored MimeTeX, the C code that
   parses equations in TeX format and renders them in to images. The code could be compiled
   as CGI executable to run under Windows. But my goal is different. I want to enable
   all forums, blogs, wikis and even desktop apps like Yahoo/MSN messenger so users can
   quickly write math equations. Considering some of forums and wikis have thousands
   of simultaneous users, the CGI executable just won't cut it. Neither it's usable for
   integration with desktop apps. So my decision was to convert original MimeTex code
   in to Win32 DLL and that's were the trouble begins (and weekend plans ends). I realized
   the MimeTeX code had several memory leaks which don't matter that much when you run
   it as a CGI EXE but could bring down the server if I'd to run it in-proc. Fortunately
   I was able to fix those leaks in just a weekend worth of effort and finally have my
   C# test app talking to MimeTeX Win32 DLL and displaying equations as I type! However
   the coolest part of the whole process was the long long emails with John Forkosh over
   next few days discussing every change I made in his code, carefully scrutinizing it,
   sending back and forth our changes to each other. While John would be updating his
   distro soon, you can &lt;a href="http://www.shitalshah.com/dev/eq2img_all.zip"&gt;download
   the code&lt;/a&gt; with fixes along with VB.Net and C# samples, DLL for desktop apps and
   my HttpHandler HttpModule code&gt;. This will enable you to integrate this functionality
   in any website or desktop app and let your users write equations as simply as: 
&lt;/p&gt;
&lt;p align=center&gt;
   Fermat's Last Theorem is &amp;lt;img src="$x^n + y^n = z^n$"&amp;gt;
&lt;/p&gt;
&lt;p&gt;
   And Now without further ado, here's &lt;a href="http://en.wikipedia.org/wiki/The_Answer_to_Life,_the_Universe,_and_Everything"&gt;the
   answer to life, the universe and everything&lt;/a&gt; (and no, it's not 42): 
&lt;/p&gt;
&lt;p align=center&gt;
   &lt;img src="http://www.shitalshah.com/showeq.ashx?\LARGE e^{i\pi}=-1"&gt; 
&lt;/p&gt;
&lt;p&gt;
   Known as Euler's Identity, this equation reflects the relationship between four most
   fundamental numbers in the universe. There are not many important mathematical and
   physical equations where &lt;img src="http://www.shitalshah.com/showeq.ashx?e"&gt;, &lt;img src="http://www.shitalshah.com/showeq.ashx?i"&gt; or &lt;img src="http://www.shitalshah.com/showeq.ashx?\pi"&gt; hasn't
   invaded yet and that in essence implies that these fundamental constants very tightly
   controls the ways the universe works (did you noticed &lt;img title="Eienstein's Field Equation" src="http://www.shitalshah.com/showeq.ashx?G_{\mu\nu} = \frac{8 \pi G}{c^4} T_{\mu\nu}"&gt;).
   So in nutshell, this equation just might be the concise definition of the universe
   ;). 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=21ab9ce3-36fd-490a-97ee-064141fc6b90" /&gt;</description>
      <category>Mathematics</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=c943a223-475c-4f9b-b17d-1523c19c2090</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=c943a223-475c-4f9b-b17d-1523c19c2090</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <ul>
          <li>
         If type's constructor (i.e. static constructor) throws an exception, entire type becomes
         unusable. Any attempt to call any member of that type would result in TypeInitializationException.</li>
          <li>
         Operator overloading should never be the only way to use the functionality if your
         code targets 1.x versions of frameworks because VB.Net can't access it without resorting
         to ugly calls such as<span class="inlineCode">op_Addition</span>.</li>
          <li>
         There is universal symbol for money (a generic version of $, £, ¥ etc) and
         it's ¤ (U+00A4). If you format the number as currency in culture invariant way
         then .net attaches this symbol to your number. I just think it's cool to have some
         universal symbol for money :).</li>
          <li>
         Simplest way to convert hex number to int:<span class="inlineCode">Int32.Parse("1AFF",
         NumberStyles.HexNumber, null)</span></li>
          <li>
         Simplest way to display array of bytes as hex values:<span class="inlineCode">BitConverter.ToString(byteArray)</span></li>
          <li>
         If you updated something in your computer and suddenly your .Net app behaves bad,
         it is possible to do automatic rollback.. The .Net Framework keeps track of assemblies
         that was loaded by any managed app up. This info is stored in an INI file in<span class="inlineCode">LocalSettings\Application
         Data\ApplicationHistory</span>and is used by .Net Application Restore tool. I think
         this great debugging aid too.</li>
          <li>
         In .Net world, zombies are not purely an imagination: <pre class="code">
class Person
{
	static object HoldOnToMe;

	~Person()
	{
		<strong>HoldOnToMe
         = this;</strong> GC.ReRegisterForFinalize(this); } } </pre></li>
          <li>
         Values types are allocated on stack but not when you have an array of value types.
         For example,<span class="inlineCode">new Int32[100]</span>allocates 100 unboxed integers
         on heap, not on stack.</li>
          <li>
         The Finally block is not really always guaranteed to get executed. If any of these
         3 special exceptions do happen, code in Finally won't be executed:<span class="inlineCode">OutOfMemoryException</span>,<span class="inlineCode">StackOverFlowException</span>and<span class="inlineCode">ExecutionEngineException</span>(I'd
         be fortunate enough to experience all of these). That means you had created some global
         kernel objects, they will indeed hang around and may interfere when user restarts
         your app. BTW, if you see a code like<span class="inlineCode">catch(Exception ex)
         {...}</span>or<span class="inlineCode">catch{...}</span>, tell the developer that
         he has committed a sin.</li>
          <li>
         Apparently GC.Collect() is not always a line of code you should disgust at. You might
         want to do it especially when you <em>own</em> the process and had created loads of
         objects which won't be used any further (for example moving on to a new tab in WinForms
         app). I used this in one of my projects to improve on the memory pressure and was
         really feeling guilty about it, until recently. <pre class="code">
	GC.Collect();
	//block my thread till objects needing finalization are done
	GC.WaitForPendingFinalizers();
	GC.Collect();
</pre></li>
          <li>
         You should always strong name your assemblies, especially if it is going to be used
         by assemblies in multiple AppDomains in the same process because only they are shared
         between domains; otherwise each AppDomain will have it's own copy. Why anyone would
         have multiple AppDomains, you ask. Well, if you are enabling your app to have 3<sup>rd</sup> party
         plugins, I strongly recommend loading all these plugins in to a separate domain. This
         way not only you can control the security policy on these plugins but also unload
         the bad plugins without shutting down your app. This is often overlooked in various
         plugin architectures for .Net but if you don't do this, you app might go on the same
         route as IE6.</li>
          <li>
         If you have enabled your app or website for localization, don't forget to test it
         with Turkish language. If your thread is having CurrentCulture Turkish (tr-TR) and
         if you try to uppercase a letter i, you get İ instead of normal english I (i.e.
         Unicode character U+0130 instead of U+0049). Scott Hanselman has <a href="http://www.hanselman.com/blog/UpdateOnTheDasBlogTurkishIBugAndAReminderToMeOnGlobalization.aspx">a
         first hand experience</a>.</li>
          <li>
         Many of you know Application.ThreadException event which lets you capture the unhandled
         exceptions in WinForms app and do something like Windows Error Reporting. But the
         better way is probably<span class="inlineCode">AppDomain.UnhandledException</span>event
         because that also lets you get notified for non-CLS compliant exceptions and without
         needing a reference to<span class="inlineCode">Application</span>object.</li>
          <li>
         The values of public constants that you reference from other assemblies are embedded
         in your own assembly metadata. That means, if other assembly changes the value of
         the constant afterwards, you must recompile your own assembly or otherwise you still
         will be using that old value of the constant. I think this is as critical "bug" as <a title="My post on OT list about how troublesome this problem could be" href="http://groups.yahoo.com/group/win_tech_off_topic/message/27597">lapsed
         event handlers</a>.</li>
          <li>
         Jagged arrays are not CLS compliant. If you are building a library that can be used
         by VB or C# guys, you can't have jagged arrays as public member type.</li>
          <li>
         Visual Basic can do this: <pre class="code">
Try
	...
Catch e as Exception <strong>When
         x = 0</strong> ... End try </pre></li>
        </ul>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=c943a223-475c-4f9b-b17d-1523c19c2090" />
      </body>
      <title>Some Cool .Net Nuggets</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=c943a223-475c-4f9b-b17d-1523c19c2090</guid>
      <link>http://www.ShitalShah.com/blog/SomeCoolNetNuggets.aspx</link>
      <pubDate>Fri, 24 Jun 2005 22:00:46 GMT</pubDate>
      <description>	&lt;ul&gt;
   &lt;li&gt;
      If type's constructor (i.e. static constructor) throws an exception, entire type becomes
      unusable. Any attempt to call any member of that type would result in TypeInitializationException.&lt;/li&gt;
   &lt;li&gt;
      Operator overloading should never be the only way to use the functionality if your
      code targets 1.x versions of frameworks because VB.Net can't access it without resorting
      to ugly calls such as&lt;span class="inlineCode"&gt;op_Addition&lt;/span&gt;.&lt;/li&gt;
   &lt;li&gt;
      There is universal symbol for money (a generic version of $, &amp;#xA3;, &amp;#xA5; etc) and
      it's &amp;#xA4; (U+00A4). If you format the number as currency in culture invariant way
      then .net attaches this symbol to your number. I just think it's cool to have some
      universal symbol for money :).&lt;/li&gt;
   &lt;li&gt;
      Simplest way to convert hex number to int:&lt;span class="inlineCode"&gt;Int32.Parse("1AFF",
      NumberStyles.HexNumber, null)&lt;/span&gt;
   &lt;/li&gt;
   &lt;li&gt;
      Simplest way to display array of bytes as hex values:&lt;span class="inlineCode"&gt;BitConverter.ToString(byteArray)&lt;/span&gt;
   &lt;/li&gt;
   &lt;li&gt;
      If you updated something in your computer and suddenly your .Net app behaves bad,
      it is possible to do automatic rollback.. The .Net Framework keeps track of assemblies
      that was loaded by any managed app up. This info is stored in an INI file in&lt;span class="inlineCode"&gt;LocalSettings\Application
      Data\ApplicationHistory&lt;/span&gt;and is used by .Net Application Restore tool. I think
      this great debugging aid too.&lt;/li&gt;
   &lt;li&gt;
      In .Net world, zombies are not purely an imagination: &lt;pre class="code"&gt;
class Person
{
	static object HoldOnToMe;

	~Person()
	{
		&lt;strong&gt;HoldOnToMe
      = this;&lt;/strong&gt; GC.ReRegisterForFinalize(this); } } &lt;/pre&gt;
   &lt;/li&gt;
   &lt;li&gt;
      Values types are allocated on stack but not when you have an array of value types.
      For example,&lt;span class="inlineCode"&gt;new Int32[100]&lt;/span&gt;allocates 100 unboxed integers
      on heap, not on stack.&lt;/li&gt;
   &lt;li&gt;
      The Finally block is not really always guaranteed to get executed. If any of these
      3 special exceptions do happen, code in Finally won't be executed:&lt;span class="inlineCode"&gt;OutOfMemoryException&lt;/span&gt;,&lt;span class="inlineCode"&gt;StackOverFlowException&lt;/span&gt;and&lt;span class="inlineCode"&gt;ExecutionEngineException&lt;/span&gt;(I'd
      be fortunate enough to experience all of these). That means you had created some global
      kernel objects, they will indeed hang around and may interfere when user restarts
      your app. BTW, if you see a code like&lt;span class="inlineCode"&gt;catch(Exception ex)
      {...}&lt;/span&gt;or&lt;span class="inlineCode"&gt;catch{...}&lt;/span&gt;, tell the developer that
      he has committed a sin.&lt;/li&gt;
   &lt;li&gt;
      Apparently GC.Collect() is not always a line of code you should disgust at. You might
      want to do it especially when you &lt;em&gt;own&lt;/em&gt; the process and had created loads of
      objects which won't be used any further (for example moving on to a new tab in WinForms
      app). I used this in one of my projects to improve on the memory pressure and was
      really feeling guilty about it, until recently. &lt;pre class="code"&gt;
	GC.Collect();
	//block my thread till objects needing finalization are done
	GC.WaitForPendingFinalizers();
	GC.Collect();
&lt;/pre&gt;
   &lt;/li&gt;
   &lt;li&gt;
      You should always strong name your assemblies, especially if it is going to be used
      by assemblies in multiple AppDomains in the same process because only they are shared
      between domains; otherwise each AppDomain will have it's own copy. Why anyone would
      have multiple AppDomains, you ask. Well, if you are enabling your app to have 3&lt;sup&gt;rd&lt;/sup&gt; party
      plugins, I strongly recommend loading all these plugins in to a separate domain. This
      way not only you can control the security policy on these plugins but also unload
      the bad plugins without shutting down your app. This is often overlooked in various
      plugin architectures for .Net but if you don't do this, you app might go on the same
      route as IE6.&lt;/li&gt;
   &lt;li&gt;
      If you have enabled your app or website for localization, don't forget to test it
      with Turkish language. If your thread is having CurrentCulture Turkish (tr-TR) and
      if you try to uppercase a letter i, you get &amp;#0304; instead of normal english I (i.e.
      Unicode character U+0130 instead of U+0049). Scott Hanselman has &lt;a href="http://www.hanselman.com/blog/UpdateOnTheDasBlogTurkishIBugAndAReminderToMeOnGlobalization.aspx"&gt;a
      first hand experience&lt;/a&gt;.&lt;/li&gt;
   &lt;li&gt;
      Many of you know Application.ThreadException event which lets you capture the unhandled
      exceptions in WinForms app and do something like Windows Error Reporting. But the
      better way is probably&lt;span class="inlineCode"&gt;AppDomain.UnhandledException&lt;/span&gt;event
      because that also lets you get notified for non-CLS compliant exceptions and without
      needing a reference to&lt;span class="inlineCode"&gt;Application&lt;/span&gt;object.&lt;/li&gt;
   &lt;li&gt;
      The values of public constants that you reference from other assemblies are embedded
      in your own assembly metadata. That means, if other assembly changes the value of
      the constant afterwards, you must recompile your own assembly or otherwise you still
      will be using that old value of the constant. I think this is as critical "bug" as &lt;a title="My post on OT list about how troublesome this problem could be" href="http://groups.yahoo.com/group/win_tech_off_topic/message/27597"&gt;lapsed
      event handlers&lt;/a&gt;.&lt;/li&gt;
   &lt;li&gt;
      Jagged arrays are not CLS compliant. If you are building a library that can be used
      by VB or C# guys, you can't have jagged arrays as public member type.&lt;/li&gt;
   &lt;li&gt;
      Visual Basic can do this: &lt;pre class="code"&gt;
Try
	...
Catch e as Exception &lt;strong&gt;When
      x = 0&lt;/strong&gt; ... End try &lt;/pre&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=c943a223-475c-4f9b-b17d-1523c19c2090" /&gt;</description>
      <category>Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=0159357a-1b39-4542-a356-89efb210d43b</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=0159357a-1b39-4542-a356-89efb210d43b</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">A famous quote from John Von Neumann goes
   like this, <blockquote> Anyone who considers arithmetical methods of producing random
   digits is, of course, in a state of sin. </blockquote><p>
      This is something I've intuitively believed since I was 15 and even hadn't heard of
      Neumann. Pure random numbers is (or probably more) as fascinating concept as <span class="math">∞</span> or <span class="math">i</span>.
      It is impossible to generate sequence of purely random numbers without tapping in
      to nature. That means I could never write a computer code that generates a sequence
      of random numbers without showing up absolutely any patterns in a long run. There
      are only better random generators, never a perfect one, except thy nature itself. 
   </p><p>
      So when I saw an <a href="http://www.sciencenews.org/articles/20010901/bob9.asp">article</a> that
      digits of Pi are so far empirically proven to be randomly distributed, I was shocked.
      Infect <a href="http://www.nersc.gov/%7Edhbailey/dhbpapers/bcrandom.pdf">huge progress</a> has
      been made to prove that digits of Pi are indeed randomly distributed. Now the fact
      is, π can indeed be calculated algebraically (i.e. without tapping in to any natural
      phenomenon) and the idea that this can produce a pure random distribution just gives
      me a feeling as if sky is falling. I'd been hypothesizing since long time that the
      ability to generate infinite sequence of pure random numbers is the most significant
      (and probably the only) property to identify the existence of <i>real universe, </i>if
      it at all exist, that is ;). Consider this question: How do you know, at this precise
      moment, that you aren't part of some simulation running on some huge alien computer,
      or that you aren't some character in StarTrek holosuit or that you aren't dreaming
      with all these things around you (however "real" they may feel) aren't really "real"?
      Ok, it's hard to explain what I'm asking you but in nutshell, I'm trying to find out
      from pure mathematical perspective if there is anything in the nature that I can't
      masquerade, a property of the physical world around us that is impossible to simulate
      by any artificial means however sophisticated. 
      <br /></p><p>
      My hypothesis is that this property of the real world is an ability to generate infinite
      sequence of pure random numbers. That means, if you really want to find out whether
      you are some simulation running in a giant alien computer, all you have to do is to
      observe some natural phenomenon over a time with precision P and verify that your
      readings demonstrate pure randomness over the period of time T, where the P and T
      depends on sophistication of that alien simulation. The P and T can be very large
      but can never be infinity, except unless you are in the <i>real</i> world, of course.
      This is the mathematician's version of "I exist because I think".<br /></p><p>
      So now you know why randomness of digits of pi made my stomach cringe. When I think
      about it, I'm starting to feel that any <a href="http://mathworld.wolfram.com/TranscendentalNumber.html">transcendental
      number</a> obtained through convergence of infinite series (lets call them algebric
      transcendentals or ATs) must indeed have its digits distributed randomly. If you remember
      Cantor, there are more transcendental numbers than any other kind. But what this really
      means is I'm able to generate sequence of <i>pure</i> random numbers only using algebric
      means. It's as simple as finding new AT and emitting its digits. If you were someone
      who had given lot of thoughts to the nature of random numbers for years, this would
      sound both frightening and exciting to you. But hold on, could this really be true?
      After giving this some thought I believe it couldn't possibly be. I've finally constructed
      the following conjecture: 
   </p><blockquote>From a finite sequence of minimum length <i>L</i> of digits of any AT,
   there exist a Turing machine program <span class="math">G(L)</span> to calculate the
   next digit in that sequence in finite steps. In other words, for any AT there always
   exist a number <i>L</i> which is finite and for which <i>G(L)</i> is a <a href="http://mathworld.wolfram.com/ComputableFunction.html">computable
   function</a>.</blockquote>In simple language, if you just give me sequence of AT's
   digits I should be able to <i>predict</i> the next digits provided you gave me enough
   of them to start with. This simply means if the alien computer was trieng to fool
   you by feeding you digits of some AT as a stream of random numbers, you can just sit
   back, collect these digits for a while and when you get handful of those, you can
   run through your algorithm to predict the next digits and find out you are not really
   in a real world (and also the fact that aliens didn't knew about Shital's AT Conjecture)!
   So random distribution is not the one and only property to identify a sequence of
   pure random numbers. The sequence of pure random numbers would not satiesfy this conjecture
   (i.e. <i>L</i> would be ∞). Infect this should be outright obvious: For sequence of
   natural numbers <i>0, 1, 2, ...</i> we have all digits equally distributed but this
   sequence isn't by any means random.<br /><br />
   This also gets us on to something else: the <i>L</i> now becomes a valuable property
   of an AT. A random number with infinite digits can be considered as a special class
   of AT with <i>L</i><i>=</i> ∞. Let's call set of all such number <i>Ρ</i> (greek
   capital letter Rho) then the cardinality of <i>Ρ </i>should be <i><a href="http://mathworld.wolfram.com/Aleph-1.html">Aleph-1</a></i>. 
   <p></p><p>
      If all of this went over your head, here is fun part: <a href="http://www.angio.net/pi/piquery">Here</a> you
      can look it up if your phone number has showed up in digits of pi calculated so far
      or <a href="http://pi.nersc.gov/">even your name</a> expressed as hex codes! For example,
      I can be found in pi at 67357954<sup>th</sup> digit ;). 
   </p><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=0159357a-1b39-4542-a356-89efb210d43b" /></body>
      <title>Digits Of Pi</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=0159357a-1b39-4542-a356-89efb210d43b</guid>
      <link>http://www.ShitalShah.com/blog/DigitsOfPi.aspx</link>
      <pubDate>Tue, 21 Jun 2005 20:20:14 GMT</pubDate>
      <description>A famous quote from John Von Neumann goes like this,
&lt;blockquote&gt; Anyone who considers
arithmetical methods of producing random digits is, of course, in a state of sin. &lt;/blockquote&gt; 
&lt;p&gt;
   This is something I've intuitively believed since I was 15 and even hadn't heard of
   Neumann. Pure random numbers is (or probably more) as fascinating concept as &lt;span class="math"&gt;∞&lt;/span&gt; or &lt;span class="math"&gt;i&lt;/span&gt;.
   It is impossible to generate sequence of purely random numbers without tapping in
   to nature. That means I could never write a computer code that generates a sequence
   of random numbers without showing up absolutely any patterns in a long run. There
   are only better random generators, never a perfect one, except thy nature itself. 
&lt;/p&gt;
&lt;p&gt;
   So when I saw an &lt;a href="http://www.sciencenews.org/articles/20010901/bob9.asp"&gt;article&lt;/a&gt; that
   digits of Pi are so far empirically proven to be randomly distributed, I was shocked.
   Infect &lt;a href="http://www.nersc.gov/%7Edhbailey/dhbpapers/bcrandom.pdf"&gt;huge progress&lt;/a&gt; has
   been made to prove that digits of Pi are indeed randomly distributed. Now the fact
   is, π can indeed be calculated algebraically (i.e. without tapping in to any natural
   phenomenon) and the idea that this can produce a pure random distribution just gives
   me a feeling as if sky is falling. I'd been hypothesizing since long time that the
   ability to generate infinite sequence of pure random numbers is the most significant
   (and probably the only) property to identify the existence of &lt;i&gt;real universe, &lt;/i&gt;if
   it at all exist, that is ;). Consider this question: How do you know, at this precise
   moment, that you aren't part of some simulation running on some huge alien computer,
   or that you aren't some character in StarTrek holosuit or that you aren't dreaming
   with all these things around you (however "real" they may feel) aren't really "real"?
   Ok, it's hard to explain what I'm asking you but in nutshell, I'm trying to find out
   from pure mathematical perspective if there is anything in the nature that I can't
   masquerade, a property of the physical world around us that is impossible to simulate
   by any artificial means however sophisticated. 
   &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
   My hypothesis is that this property of the real world is an ability to generate infinite
   sequence of pure random numbers. That means, if you really want to find out whether
   you are some simulation running in a giant alien computer, all you have to do is to
   observe some natural phenomenon over a time with precision P and verify that your
   readings demonstrate pure randomness over the period of time T, where the P and T
   depends on sophistication of that alien simulation. The P and T can be very large
   but can never be infinity, except unless you are in the &lt;i&gt;real&lt;/i&gt; world, of course.
   This is the mathematician's version of "I exist because I think".&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
   So now you know why randomness of digits of pi made my stomach cringe. When I think
   about it, I'm starting to feel that any &lt;a href="http://mathworld.wolfram.com/TranscendentalNumber.html"&gt;transcendental
   number&lt;/a&gt; obtained through convergence of infinite series (lets call them algebric
   transcendentals or ATs) must indeed have its digits distributed randomly. If you remember
   Cantor, there are more transcendental numbers than any other kind. But what this really
   means is I'm able to generate sequence of &lt;i&gt;pure&lt;/i&gt; random numbers only using algebric
   means. It's as simple as finding new AT and emitting its digits. If you were someone
   who had given lot of thoughts to the nature of random numbers for years, this would
   sound both frightening and exciting to you. But hold on, could this really be true?
   After giving this some thought I believe it couldn't possibly be. I've finally constructed
   the following conjecture: 
&lt;/p&gt;
&lt;blockquote&gt;From a finite sequence of minimum length &lt;i&gt;L&lt;/i&gt; of digits of any AT,
there exist a Turing machine program &lt;span class="math"&gt;G(L)&lt;/span&gt; to calculate the
next digit in that sequence in finite steps. In other words, for any AT there always
exist a number &lt;i&gt;L&lt;/i&gt; which is finite and for which &lt;i&gt;G(L)&lt;/i&gt; is a &lt;a href="http://mathworld.wolfram.com/ComputableFunction.html"&gt;computable
function&lt;/a&gt;.&lt;/blockquote&gt;In simple language, if you just give me sequence of AT's
digits I should be able to &lt;i&gt;predict&lt;/i&gt; the next digits provided you gave me enough
of them to start with. This simply means if the alien computer was trieng to fool
you by feeding you digits of some AT as a stream of random numbers, you can just sit
back, collect these digits for a while and when you get handful of those, you can
run through your algorithm to predict the next digits and find out you are not really
in a real world (and also the fact that aliens didn't knew about Shital's AT Conjecture)!
So random distribution is not the one and only property to identify a sequence of
pure random numbers. The sequence of pure random numbers would not satiesfy this conjecture
(i.e. &lt;i&gt;L&lt;/i&gt; would be ∞). Infect this should be outright obvious: For sequence of
natural numbers &lt;i&gt;0, 1, 2, ...&lt;/i&gt; we have all digits equally distributed but this
sequence isn't by any means random.&lt;br&gt;
&lt;br&gt;
This also gets us on to something else: the &lt;i&gt;L&lt;/i&gt; now becomes a valuable property
of an AT. A random number with infinite digits can be considered as a special class
of AT with &lt;i&gt;L&lt;/i&gt; &lt;i&gt;=&lt;/i&gt; ∞. Let's call set of all such number &lt;i&gt;Ρ&lt;/i&gt; (greek
capital letter Rho) then the cardinality of &lt;i&gt;Ρ &lt;/i&gt;should be &lt;i&gt;&lt;a href="http://mathworld.wolfram.com/Aleph-1.html"&gt;Aleph-1&lt;/a&gt;&lt;/i&gt;. 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
   If all of this went over your head, here is fun part: &lt;a href="http://www.angio.net/pi/piquery"&gt;Here&lt;/a&gt; you
   can look it up if your phone number has showed up in digits of pi calculated so far
   or &lt;a href="http://pi.nersc.gov/"&gt;even your name&lt;/a&gt; expressed as hex codes! For example,
   I can be found in pi at 67357954&lt;sup&gt;th&lt;/sup&gt; digit ;). 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=0159357a-1b39-4542-a356-89efb210d43b" /&gt;</description>
      <category>Mathematics</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=91af33eb-ea58-495e-b2ec-c069a34835de</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=91af33eb-ea58-495e-b2ec-c069a34835de</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">These are interesting questions if you
   were pursuing an acadamy degree on management/leadership. I do have the answers but
   don't have enough room here to write it down (<a href="http://mathforum.org/dr.math/faq/faq.fermat.html">Fermat</a> R.I.P.).<br /><ol><li>
         What a good leader should do when a majority vote is different then his/her strongly
         held belief?</li><li>
         If you must make a choice between hurting your team's goal or ethics, what a good
         leader should choose?</li><li>
         Say your boss wants you and your team to do something that isn't good for your team's
         goals. After lots of arguments, your boss does not change his/her mind. How would
         you handle this situation?</li><li>
         How a good leader should treat his/her equals in the team? What can you do to harness
         his/her abilities without producing conflicts in leadership or ego-clash?</li><li>
         How a good leader would pass the unpleasant news to the team without hurting the morals
         and motivation?</li><li>
         In certain phase of a project you need your team to heavily overwork for a some period.
         What are the good things to do to keep the team alive and motivated in such times?</li><li>
         Some members of a large team may end up doing boring, repetative and otherwise uninteresting
         work. How a good leader would recruite them? How to keep them motivated?</li><li>
         Statistically 90% of the projects goes over-budget and over-deadlines. Say if you
         did fell in to these 90%, how would you keep your boss and your team keep going?</li><li>
         Communication is of atmost important to the team. But is it good or bad to have lots
         of discussions?</li><li>
         What are the good rules of thumb for good signal-to-noise ratio for team brainstorming
         sessions?</li><li>
         A very capable and essential team member of yours asks you for a raise but you do
         not have funds. How would you keep him/her?</li><li>
         Say you lead a large team and you can't recruite every single team member personally
         any longer. What are the general good recruiting policies a leader can set up avoid
         the weak nodes in your team?</li><li>
         If you had to choose between following two candidates, what job attributes you would
         consider for the best match? enthusiatic but unexperienced college grads and less
         passionate but highly experienced professionals.</li><li>
         How a good leader should respond when he/she finds certain team members does not respect
         or have a belief in him/her?</li><li>
         Lets say you came to knew that you might soon become the target for certain mishapes,
         which weren't really your fault. What would be your exit strategy?</li></ol><br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=91af33eb-ea58-495e-b2ec-c069a34835de" /></body>
      <title>15 Questions On Leadership</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=91af33eb-ea58-495e-b2ec-c069a34835de</guid>
      <link>http://www.ShitalShah.com/blog/15QuestionsOnLeadership.aspx</link>
      <pubDate>Tue, 24 May 2005 21:26:55 GMT</pubDate>
      <description>These are interesting questions if you were pursuing an acadamy
degree on management/leadership. I do have the answers but don't have
enough room here to write it down (&lt;a href="http://mathforum.org/dr.math/faq/faq.fermat.html"&gt;Fermat&lt;/a&gt; R.I.P.).&lt;br&gt;
&lt;ol&gt;
   &lt;li&gt;
      What a good leader should do when a majority vote is different then his/her strongly
      held belief?&lt;/li&gt;
   &lt;li&gt;
      If you must make a choice between hurting your team's goal or ethics, what a good
      leader should choose?&lt;/li&gt;
   &lt;li&gt;
      Say your boss wants you and your team to do something that isn't good for your team's
      goals. After lots of arguments, your boss does not change his/her mind. How would
      you handle this situation?&lt;/li&gt;
   &lt;li&gt;
      How a good leader should treat his/her equals in the team? What can you do to harness
      his/her abilities without producing conflicts in leadership or ego-clash?&lt;/li&gt;
   &lt;li&gt;
      How a good leader would pass the unpleasant news to the team without hurting the morals
      and motivation?&lt;/li&gt;
   &lt;li&gt;
      In certain phase of a project you need your team to heavily overwork for a some period.
      What are the good things to do to keep the team alive and motivated in such times?&lt;/li&gt;
   &lt;li&gt;
      Some members of a large team may end up doing boring, repetative and otherwise uninteresting
      work. How a good leader would recruite them? How to keep them motivated?&lt;/li&gt;
   &lt;li&gt;
      Statistically 90% of the projects goes over-budget and over-deadlines. Say if you
      did fell in to these 90%, how would you keep your boss and your team keep going?&lt;/li&gt;
   &lt;li&gt;
      Communication is of atmost important to the team. But is it good or bad to have lots
      of discussions?&lt;/li&gt;
   &lt;li&gt;
      What are the good rules of thumb for good signal-to-noise ratio for team brainstorming
      sessions?&lt;/li&gt;
   &lt;li&gt;
      A very capable and essential team member of yours asks you for a raise but you do
      not have funds. How would you keep him/her?&lt;/li&gt;
   &lt;li&gt;
      Say you lead a large team and you can't recruite every single team member personally
      any longer. What are the general good recruiting policies a leader can set up avoid
      the weak nodes in your team?&lt;/li&gt;
   &lt;li&gt;
      If you had to choose between following two candidates, what job attributes you would
      consider for the best match? enthusiatic but unexperienced college grads and less
      passionate but highly experienced professionals.&lt;/li&gt;
   &lt;li&gt;
      How a good leader should respond when he/she finds certain team members does not respect
      or have a belief in him/her?&lt;/li&gt;
   &lt;li&gt;
      Lets say you came to knew that you might soon become the target for certain mishapes,
      which weren't really your fault. What would be your exit strategy?&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=91af33eb-ea58-495e-b2ec-c069a34835de" /&gt;</description>
      <category>Junk</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=f219482f-399f-4c3f-a8d4-97073dc167a7</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=f219482f-399f-4c3f-a8d4-97073dc167a7</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">The idea of wrapping calendar information
   in to the RSS feed may sound very appealing. Almost every website owned by some kind
   of group or organization has their event calendar. The thought that you can aggregate
   them in to your "Calendar Aggregator" is just so geekily cool. What if people started
   putting up their weekend plans through some kind of RSS-Calendar and you can subscribe
   to them in your calendar program! I dig through dozens of W3C and other specs and
   half a dozen of implementation to find out what has been done so far and why it hasn't
   happened yet. The result of my findings and possible solution are summarized in <a href="http://www.shitalshah.com/articlelist.aspx?file=articles%5cRSSCalendar.htm&amp;title=RSS+And+Calendar+Integration&amp;heading=RSS+And+Calendar+Integration">my
   essay</a> in some reader friendly writing.<br /><br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=f219482f-399f-4c3f-a8d4-97073dc167a7" /></body>
      <title>RSS And Calender Integration</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=f219482f-399f-4c3f-a8d4-97073dc167a7</guid>
      <link>http://www.ShitalShah.com/blog/RSSAndCalenderIntegration.aspx</link>
      <pubDate>Tue, 24 May 2005 02:10:36 GMT</pubDate>
      <description>The idea of wrapping calendar information in to the RSS feed may sound
very appealing. Almost every website owned by some kind of group or
organization has their event calendar. The thought that you can
aggregate them in to your "Calendar Aggregator" is just so geekily
cool. What if people started putting up their weekend plans through
some kind of RSS-Calendar and you can subscribe to them in your
calendar program! I dig through dozens of W3C and other specs and
half a dozen of implementation to find out what has been done so far
and why it hasn't happened yet. The result of my findings and possible
solution are summarized in &lt;a href="http://www.shitalshah.com/articlelist.aspx?file=articles%5cRSSCalendar.htm&amp;amp;title=RSS+And+Calendar+Integration&amp;amp;heading=RSS+And+Calendar+Integration"&gt;my
essay&lt;/a&gt; in some reader friendly writing.&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=f219482f-399f-4c3f-a8d4-97073dc167a7" /&gt;</description>
      <category>Events To Attend;Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=e384bcae-92de-4b3e-b8a0-f5ef1af05f82</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=e384bcae-92de-4b3e-b8a0-f5ef1af05f82</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I'd to ditch the grand <a href="http://www.micropersuasion.com/2005/04/scoble_rubel_ho.html">New
   York geek dinner</a> to attend <a href="http://www.nyas.org/events/eventDetail.asp?eventID=3182&amp;date=5/2/2005%207:15:00%20PM">a
   talk</a> on how the Brain makes memories at <a href="http://www.nyas.org">New York
   Academy of Sciences</a>. This is my current absolute favorite subject to spend all
   my free time so I HAD to be there. The talk also turned out to be very energetic,
   fun and fast paced by Jennifer Mangels of Columbia University. The first part of the
   talk was about the role of the hippocampus in forming long term memories and her research.
   What they tried to do was to record EEG signals from different areas of the neocortex
   when a person tries to memorize something and recall it back later. Her research attempts
   to <i>imperially</i> prove that different areas of the brain must strongly participate
   together to have hippocampus realize the importance of the incoming information and
   form the contextual long term memories. While I really disgust at how everyone in
   neuroscience these days just do some EEGs and fMRIs and run around to write conclusions,
   above theory fits well with Jeff Hawkin's <a href="http://www.shitalshah.com/blog/AITheStageIsSet.aspx">On
   Intelligence</a>.<br /><br />
   However more interesting was the second part of the talk: The Self Theory of Intelligence.
   This is very interesting. In 1970s, Carol Dweck did some research on human motivation
   in school children and noted that some students intrinsically tend to persist in the
   face of failure while others quit as soon as the going gets rough. After more investigations,
   she discovered that student's beliefs about the nature of intelligence had a strong
   connection with the way they approach challenging intellectual tasks: Students who
   view their intelligence as an unchangeable internal characteristic tend to shy away
   from academic challenges, whereas students who believe that their intelligence can
   be increased through effort and persistence seek them out.<br /><blockquote> Students who hold an "entity" theory of intelligence agree with statements
   such as "Your intelligence is something about you that you can't change very much."  
   Since they believe their intelligence is fixed, these students place high value on
   success.   They worry that failure-or even having to work very hard at something-will
   be perceived as evidence of their low intelligence. Therefore, they make academic
   choices that maximize the possibility that they will perform well. For example, a
   student may opt to take a lower-level course because it will be easier to earn an
   A.   In contrast, students who have an "incremental" theory of intelligence
   are not threatened by failure.   Because they believe that their intelligence
   can be increased through effort and persistence, these students set mastery goals
   and seek academic challenges that they believe will help them to grow intellectually
   (Dweck, 1999b). 
   <br /><br />
   Dr. Dweck's research on the impact of praise suggests that many teachers and parents
   may be unwittingly leading students to accept an entity view of intelligence.  
   By praising students for their intelligence, rather than effort, many adults are sending
   the message that success and failure depend on something beyond the students' control.  
   Comments such as "You got a great score on your math test, Jimmy! You are such a smart
   boy!" are interpreted by students as "If success means that I am smart, then failure
   must mean that I am dumb."   When these students perform well they have
   high self-esteem, but this crashes as soon as they hit an academic stumbling block.
   Students who are praised for their effort are much more likely to view intelligence
   as being malleable, and their self-esteem remains stable regardless of how hard they
   may have to work to succeed at a task. (More at <a href="http://www.indiana.edu/%7Eintell/dweck.shtml">her
   page</a>) </blockquote> Dr.Mangels then showed some videos demonstrating how EEG patterns
   differ in these two types of people. This is very significant. It essentially implies
   that you can device a helmet for a person to wear and after few EEG recordings I would
   be able to tell if person is in one group or another! Think, interviews would be so
   different ;).<br /><br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=e384bcae-92de-4b3e-b8a0-f5ef1af05f82" /></body>
      <title>Trading Geek Dinner For Self-Theories Of Intelligence</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=e384bcae-92de-4b3e-b8a0-f5ef1af05f82</guid>
      <link>http://www.ShitalShah.com/blog/TradingGeekDinnerForSelfTheoriesOfIntelligence.aspx</link>
      <pubDate>Tue, 10 May 2005 22:18:16 GMT</pubDate>
      <description>I'd to ditch the grand &lt;a href="http://www.micropersuasion.com/2005/04/scoble_rubel_ho.html"&gt;New
York geek dinner&lt;/a&gt; to attend &lt;a href="http://www.nyas.org/events/eventDetail.asp?eventID=3182&amp;amp;date=5/2/2005%207:15:00%20PM"&gt;a
talk&lt;/a&gt; on how the Brain makes memories at &lt;a href="http://www.nyas.org"&gt;New York
Academy of Sciences&lt;/a&gt;. This is my current absolute favorite subject to spend all
my free time so I HAD to be there. The talk also turned out to be very energetic,
fun and fast paced by Jennifer Mangels of Columbia University. The first part of the
talk was about the role of the hippocampus in forming long term memories and her research.
What they tried to do was to record EEG signals from different areas of the neocortex
when a person tries to memorize something and recall it back later. Her research attempts
to &lt;i&gt;imperially&lt;/i&gt; prove that different areas of the brain must strongly participate
together to have hippocampus realize the importance of the incoming information and
form the contextual long term memories. While I really disgust at how everyone in
neuroscience these days just do some EEGs and fMRIs and run around to write conclusions,
above theory fits well with Jeff Hawkin's &lt;a href="http://www.shitalshah.com/blog/AITheStageIsSet.aspx"&gt;On
Intelligence&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
However more interesting was the second part of the talk: The Self Theory of Intelligence.
This is very interesting. In 1970s, Carol Dweck did some research on human motivation
in school children and noted that some students intrinsically tend to persist in the
face of failure while others quit as soon as the going gets rough. After more investigations,
she discovered that student's beliefs about the nature of intelligence had a strong
connection with the way they approach challenging intellectual tasks: Students who
view their intelligence as an unchangeable internal characteristic tend to shy away
from academic challenges, whereas students who believe that their intelligence can
be increased through effort and persistence seek them out.&lt;br&gt;
&lt;blockquote&gt; Students who hold an "entity" theory of intelligence agree with statements
such as "Your intelligence is something about you that you can't change very much."&amp;nbsp;&amp;nbsp;
Since they believe their intelligence is fixed, these students place high value on
success.&amp;nbsp;&amp;nbsp; They worry that failure-or even having to work very hard at something-will
be perceived as evidence of their low intelligence. Therefore, they make academic
choices that maximize the possibility that they will perform well. For example, a
student may opt to take a lower-level course because it will be easier to earn an
A.&amp;nbsp;&amp;nbsp; In contrast, students who have an "incremental" theory of intelligence
are not threatened by failure.&amp;nbsp;&amp;nbsp; Because they believe that their intelligence
can be increased through effort and persistence, these students set mastery goals
and seek academic challenges that they believe will help them to grow intellectually
(Dweck, 1999b). 
&lt;br&gt;
&lt;br&gt;
Dr. Dweck's research on the impact of praise suggests that many teachers and parents
may be unwittingly leading students to accept an entity view of intelligence.&amp;nbsp;&amp;nbsp;
By praising students for their intelligence, rather than effort, many adults are sending
the message that success and failure depend on something beyond the students' control.&amp;nbsp;&amp;nbsp;
Comments such as "You got a great score on your math test, Jimmy! You are such a smart
boy!" are interpreted by students as "If success means that I am smart, then failure
must mean that I am dumb."&amp;nbsp;&amp;nbsp; When these students perform well they have
high self-esteem, but this crashes as soon as they hit an academic stumbling block.
Students who are praised for their effort are much more likely to view intelligence
as being malleable, and their self-esteem remains stable regardless of how hard they
may have to work to succeed at a task. (More at &lt;a href="http://www.indiana.edu/%7Eintell/dweck.shtml"&gt;her
page&lt;/a&gt;) &lt;/blockquote&gt; Dr.Mangels then showed some videos demonstrating how EEG patterns
differ in these two types of people. This is very significant. It essentially implies
that you can device a helmet for a person to wear and after few EEG recordings I would
be able to tell if person is in one group or another! Think, interviews would be so
different ;).&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=e384bcae-92de-4b3e-b8a0-f5ef1af05f82" /&gt;</description>
      <category>AI</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=8e2b2fbf-0182-4c11-87b0-751529369283</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=8e2b2fbf-0182-4c11-87b0-751529369283</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Recently I observed how unequally I use
   my right and left hands. It’s not because I don’t type with my both hands but it’s
   because I use only the right hand in maneuvering and clicking the mouse. Considering
   the number of clicks I make per day, this huge lack of load-balancing is <a href="http://www.lifehacker.com/software/life-hacks/how-to-avoid-carpal-tunnel-syndrome-101679.php">terrible</a>!
   So I switched the mouse on left hand and it’s been great (reminds me the first time
   I hold the mouse) except that my mouse is curved so it’s comfortable only on right
   hand. I guess I’m gonna get a new mouse which is left+right handed, wireless (easy
   to switch hands), optical and at least 5 buttons. Don’t forget to reverse the mouse
   buttons in control panel! This is really fun.<br /><br />
   However, besides those <a href="http://www.ergonomics.com.au/howtosit.htm">sitting
   posture tips</a>, I think the one factor that strongly affects your creativity at
   work is how far you can look from your desk.<br /><br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=8e2b2fbf-0182-4c11-87b0-751529369283" /></body>
      <title>Go Left Handed For Mouse</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=8e2b2fbf-0182-4c11-87b0-751529369283</guid>
      <link>http://www.ShitalShah.com/blog/GoLeftHandedForMouse.aspx</link>
      <pubDate>Tue, 10 May 2005 21:10:13 GMT</pubDate>
      <description>Recently I observed how unequally I use my right and left hands. It’s
not because I don’t type with my both hands but it’s because I
use only the right hand in maneuvering and clicking the mouse.
Considering the number of clicks I make per day, this huge lack of
load-balancing is &lt;a href="http://www.lifehacker.com/software/life-hacks/how-to-avoid-carpal-tunnel-syndrome-101679.php"&gt;terrible&lt;/a&gt;!
So I switched the mouse on left hand and it’s been great (reminds me the first time
I hold the mouse) except that my mouse is curved so it’s comfortable only on right
hand. I guess I’m gonna get a new mouse which is left+right handed, wireless (easy
to switch hands), optical and at least 5 buttons. Don’t forget to reverse the mouse
buttons in control panel! This is really fun.&lt;br&gt;
&lt;br&gt;
However, besides those &lt;a href="http://www.ergonomics.com.au/howtosit.htm"&gt;sitting
posture tips&lt;/a&gt;, I think the one factor that strongly affects your creativity at
work is how far you can look from your desk.&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=8e2b2fbf-0182-4c11-87b0-751529369283" /&gt;</description>
      <category>Useful Info</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=071a5bdd-9277-4e0c-92be-ae7e1bdf306d</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=071a5bdd-9277-4e0c-92be-ae7e1bdf306d</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I guess it's the time to write down bits
   about <a href="http://www.mazdausa.com/MusaWeb/handleHomeFlash.action?vehicleCode=RX8&amp;modelYear=2005&amp;bhcp=1">Mazda
   RX-8</a> for the benefit of future buyers. This is the car we bought in year 2004.
   I've heard that the 2005 model is exactly the same but I haven't checked it. Anyway
   lets start the engines!<br /><br /><ul><li>
         This car is a real head turner. I mean REAL. People see BMWs and Mercedes SLK350 and
         go ahh. This car is beyond that. Here, people not just go ahh but they literally stop
         you, tell you that they just went ahh and ask details about the car. And by "people"
         I mean complete strangers of all age and all types (even those truck and SUVs fans).
         It's not unusual for us to get one such stranger encounter every other week.</li><li>
         RX-8 has got automatic plus semi manual shifting called "sport" mode.  In sport
         mode, you can shift gears right on the steering wheel! Also this mode is safe even
         if you tend to screw up when driving manual. 
      </li><li>
         This is a rear wheel drive and that means it really sucks on the snow. Actually it
         sucks more than average rear wheel drives. The semi-manual shifting doesn't help in
         snow because it looks like the automatic vehicle stability controls is turned off
         when you switch to manual so it's even more dangerous to manual on snow. When it was
         snowing heavily for couple of days, I preferred to park my car in parking lot and
         take the train.</li><li>
         It's little more above then ground (with those big tires, of course) then most sports
         car. This helps a lot when you on dirty-rocky road. However you may not cross lanes
         by going over divider lines like those SUVs do. On the plus side, it doesn't flip
         over like those SUVs do.</li><li>
         This car has rotary engines, not cylinders. So terms like V4, V6 doesn't apply to
         it. It simply doesn't have any pistons. It's fun to explain this to people when their
         first question for sports cars is "oh, is that V8?".</li><li>
         The coolest feature that might get peoples jaw dropped for this car is suicide doors.
         They are extremely cool. We have seen car passing us by and then backing up to us
         asking "what is that?".</li><li>
         It's even more fun when you try to get insurance for this car. "How many doors it
         has?" the agent might ask. It's technically neither 2 door or 4 door! This car defies
         the common mold.</li><li>
          Many reviews I'd read said the trunk space is small. So far we didn't had problems
         putting our stuff including telescope, guest luggage, caving gear and what not.</li><li>
         If you frequently go outdoor places, GPS is not optional. In early 2004 model, the
         factory installed GPS had really bad software so we didn't took it and bought after
         market Garmin. However Mazda has upgraded this software in December, 2004 and it's
         as good as any after market GPS. I believe GPS is probably the most important thing
         in the car after steering wheel, gas and breaks.</li><li>
         RX-8 has cool design for in-between seat space. You get two cup holders in front and
         back, 3 big storage compartments, and two cigarette lighters. Totally worth it.</li><li>
         You want the red one.</li><li>
         The seat design and covers has star trekee looks. The covers are made from washable
         and really wear resistant special material. This means you can put heavy stuff like
         big luggage bags with pointy corners on the seats without worry.</li><li>
         This car is a huge gas guzzler. I guess it consumes at least 30% more gas then typical
         4 door cars of similar size. We need to refill typically after every 5 hours of drive.
         And just so you know, this car only likes to have 93 octane premium gas.</li><li>
         On another luxury preferences of this car, you can only tow it on a flat bed. Other
         towing may damage the car.</li><li>
         RX-8 has powerful big breaks. Infect its breaks have same specs as Porsche Carrera
         GT. You might also notice that tires do not have wheel covers allowing faster cooling
         of those big breaks. The bad part is that lots of rust gets in to those parts and
         sometime it looks awful. However Mazda engineers have let us know that this is perfectly
         normal and nothing to worry about.</li><li>
         R8-8 dimensions are very similar to Porsche Carrera GT.</li><li>
         There are no rear wipers.</li><li>
         So far I've took it to 110 mph (higher speed isn't easy in tri-state area). High speed
         is pretty natural to this car.</li><li>
         RX-8 has rotary engines and it makes unique pleasant sound then engine with cylinders.
         The main advantage seems to be their super compact size and disadvantage being they
         are gas guzzlers.</li><li>
         Apparently only Mazda makes cars with rotary engines. They had released RX-7 about
         8 years ago and the RX-8 is new incarnation with more compact and efficient engines.
         Check out <a href="http://www.rx8club.com/">RX-8 club</a> which has tons of rotary
         engine fans.</li><li>
         It has almost enough head rooms for 6 ft people.</li><li>
         It has dumb headlights - totally manual, no photo sensors.</li><li>
         It doesn't have dumb doors (the ones you need to slam hard couple of times to get
         them shut).</li><li>
         This car requires mirrors to be perfectly set to avoid blind spots. It's more important
         than other cars. That means, if you are a couple, you both should be of nearly equal
         height people so if you switch seats, you don't have to reset the whole thing again.</li><li>
         Unlike typical 2-door sports cars, this car is excellent for new couples planning
         to start family in near future because you get the extra seats behind with own their
         little doors :). This car perfectly fits the title of "family sports car".</li><li>
         Other goodies included are digital speedometer and outside temperature. There is no
         compass.</li><li>
         One of the biggest thing I dislike in this car is non-standard stereo. The factory
         installed one is pretty low end and you can't replace it with after market ones because
         it's non standard! That's huge deal. It's a shame for Mazda because cars with half
         the price now comes with MP3 CD player and FM with text. The 9-speaker BOSS system
         is less them impressive when it comes to sound quality and to me it looks like waste
         of money. Actually 9 speakers are pretty much useless anyway because Mazda system
         can't play audio disks with DVD-A encoding which are specifically designed for surround
         sound experience. Mazda does sell proprietary MP3 replacement player, however, for
         $350 only.</li><li>
         Like most other cars, you would be required to heavily negotiate with dealers for
         pricing. In 2004, I kept hearing price tag of $29,000 (without tax) when I started
         looking and finally bought the car for $24,500 inclusive everything. The Wayne Mazda
         is an excellent dealer and service shop if you are in NJ.</li><li>
         Because RX-8 is pretty new, it's hard to tell anything about engine life and resell
         values. But I believe both are pretty good if you look at RX-7.</li><li>
         One of the problem with this car is that after you start the engine and then if you
         need to shut it down without driving, you have to step on gas while still in park
         mode and "rave up" the engines and then shut it down. Not doing this step causes something
         called flooding reported by many people.</li><li>
         RX-8 doesn't have 5 star <a href="http://www.nhtsa.dot.gov/cars/testing/ncap/">safety
         ratings</a>.</li><li>
         You get pretty powerful xenon headlights, sun-glass holder, automatic tire pressure
         indicator and no-traction indicator.</li></ul><br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=071a5bdd-9277-4e0c-92be-ae7e1bdf306d" /></body>
      <title>The Review Of The Car That Rules</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=071a5bdd-9277-4e0c-92be-ae7e1bdf306d</guid>
      <link>http://www.ShitalShah.com/blog/TheReviewOfTheCarThatRules.aspx</link>
      <pubDate>Sat, 30 Apr 2005 21:19:52 GMT</pubDate>
      <description>I guess it's the time to write down bits about &lt;a href="http://www.mazdausa.com/MusaWeb/handleHomeFlash.action?vehicleCode=RX8&amp;amp;modelYear=2005&amp;amp;bhcp=1"&gt;Mazda
RX-8&lt;/a&gt; for the benefit of future buyers. This is the car we bought in year 2004.
I've heard that the 2005 model is exactly the same but I haven't checked it. Anyway
lets start the engines!&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;
   &lt;li&gt;
      This car is a real head turner. I mean REAL. People see BMWs and Mercedes SLK350 and
      go ahh. This car is beyond that. Here, people not just go ahh but they literally stop
      you, tell you that they just went ahh and ask details about the car. And by "people"
      I mean complete strangers of all age and all types (even those truck and SUVs fans).
      It's not unusual for us to get one such stranger encounter every other week.&lt;/li&gt;
   &lt;li&gt;
      RX-8 has got automatic plus semi manual shifting called "sport" mode.&amp;nbsp; In sport
      mode, you can shift gears right on the steering wheel! Also this mode is safe even
      if you tend to screw up when driving manual. 
   &lt;/li&gt;
   &lt;li&gt;
      This is a rear wheel drive and that means it really sucks on the snow. Actually it
      sucks more than average rear wheel drives. The semi-manual shifting doesn't help in
      snow because it looks like the automatic vehicle stability controls is turned off
      when you switch to manual so it's even more dangerous to manual on snow. When it was
      snowing heavily for couple of days, I preferred to park my car in parking lot and
      take the train.&lt;/li&gt;
   &lt;li&gt;
      It's little more above then ground (with those big tires, of course) then most sports
      car. This helps a lot when you on dirty-rocky road. However you may not cross lanes
      by going over divider lines like those SUVs do. On the plus side, it doesn't flip
      over like those SUVs do.&lt;/li&gt;
   &lt;li&gt;
      This car has rotary engines, not cylinders. So terms like V4, V6 doesn't apply to
      it. It simply doesn't have any pistons. It's fun to explain this to people when their
      first question for sports cars is "oh, is that V8?".&lt;/li&gt;
   &lt;li&gt;
      The coolest feature that might get peoples jaw dropped for this car is suicide doors.
      They are extremely cool. We have seen car passing us by and then backing up to us
      asking "what is that?".&lt;/li&gt;
   &lt;li&gt;
      It's even more fun when you try to get insurance for this car. "How many doors it
      has?" the agent might ask. It's technically neither 2 door or 4 door! This car defies
      the common mold.&lt;/li&gt;
   &lt;li&gt;
      &amp;nbsp;Many reviews I'd read said the trunk space is small. So far we didn't had problems
      putting our stuff including telescope, guest luggage, caving gear and what not.&lt;/li&gt;
   &lt;li&gt;
      If you frequently go outdoor places, GPS is not optional. In early 2004 model, the
      factory installed GPS had really bad software so we didn't took it and bought after
      market Garmin. However Mazda has upgraded this software in December, 2004 and it's
      as good as any after market GPS. I believe GPS is probably the most important thing
      in the car after steering wheel, gas and breaks.&lt;/li&gt;
   &lt;li&gt;
      RX-8 has cool design for in-between seat space. You get two cup holders in front and
      back, 3 big storage compartments, and two cigarette lighters. Totally worth it.&lt;/li&gt;
   &lt;li&gt;
      You want the red one.&lt;/li&gt;
   &lt;li&gt;
      The seat design and covers has star trekee looks. The covers are made from washable
      and really wear resistant special material. This means you can put heavy stuff like
      big luggage bags with pointy corners on the seats without worry.&lt;/li&gt;
   &lt;li&gt;
      This car is a huge gas guzzler. I guess it consumes at least 30% more gas then typical
      4 door cars of similar size. We need to refill typically after every 5 hours of drive.
      And just so you know, this car only likes to have 93 octane premium gas.&lt;/li&gt;
   &lt;li&gt;
      On another luxury preferences of this car, you can only tow it on a flat bed. Other
      towing may damage the car.&lt;/li&gt;
   &lt;li&gt;
      RX-8 has powerful big breaks. Infect its breaks have same specs as Porsche Carrera
      GT. You might also notice that tires do not have wheel covers allowing faster cooling
      of those big breaks. The bad part is that lots of rust gets in to those parts and
      sometime it looks awful. However Mazda engineers have let us know that this is perfectly
      normal and nothing to worry about.&lt;/li&gt;
   &lt;li&gt;
      R8-8 dimensions are very similar to Porsche Carrera GT.&lt;/li&gt;
   &lt;li&gt;
      There are no rear wipers.&lt;/li&gt;
   &lt;li&gt;
      So far I've took it to 110 mph (higher speed isn't easy in tri-state area). High speed
      is pretty natural to this car.&lt;/li&gt;
   &lt;li&gt;
      RX-8 has rotary engines and it makes unique pleasant sound then engine with cylinders.
      The main advantage seems to be their super compact size and disadvantage being they
      are gas guzzlers.&lt;/li&gt;
   &lt;li&gt;
      Apparently only Mazda makes cars with rotary engines. They had released RX-7 about
      8 years ago and the RX-8 is new incarnation with more compact and efficient engines.
      Check out &lt;a href="http://www.rx8club.com/"&gt;RX-8 club&lt;/a&gt; which has tons of rotary
      engine fans.&lt;/li&gt;
   &lt;li&gt;
      It has almost enough head rooms for 6 ft people.&lt;/li&gt;
   &lt;li&gt;
      It has dumb headlights - totally manual, no photo sensors.&lt;/li&gt;
   &lt;li&gt;
      It doesn't have dumb doors (the ones you need to slam hard couple of times to get
      them shut).&lt;/li&gt;
   &lt;li&gt;
      This car requires mirrors to be perfectly set to avoid blind spots. It's more important
      than other cars. That means, if you are a couple, you both should be of nearly equal
      height people so if you switch seats, you don't have to reset the whole thing again.&lt;/li&gt;
   &lt;li&gt;
      Unlike typical 2-door sports cars, this car is excellent for new couples planning
      to start family in near future because you get the extra seats behind with own their
      little doors :). This car perfectly fits the title of "family sports car".&lt;/li&gt;
   &lt;li&gt;
      Other goodies included are digital speedometer and outside temperature. There is no
      compass.&lt;/li&gt;
   &lt;li&gt;
      One of the biggest thing I dislike in this car is non-standard stereo. The factory
      installed one is pretty low end and you can't replace it with after market ones because
      it's non standard! That's huge deal. It's a shame for Mazda because cars with half
      the price now comes with MP3 CD player and FM with text. The 9-speaker BOSS system
      is less them impressive when it comes to sound quality and to me it looks like waste
      of money. Actually 9 speakers are pretty much useless anyway because Mazda system
      can't play audio disks with DVD-A encoding which are specifically designed for surround
      sound experience. Mazda does sell proprietary MP3 replacement player, however, for
      $350 only.&lt;/li&gt;
   &lt;li&gt;
      Like most other cars, you would be required to heavily negotiate with dealers for
      pricing. In 2004, I kept hearing price tag of $29,000 (without tax) when I started
      looking and finally bought the car for $24,500 inclusive everything. The Wayne Mazda
      is an excellent dealer and service shop if you are in NJ.&lt;/li&gt;
   &lt;li&gt;
      Because RX-8 is pretty new, it's hard to tell anything about engine life and resell
      values. But I believe both are pretty good if you look at RX-7.&lt;/li&gt;
   &lt;li&gt;
      One of the problem with this car is that after you start the engine and then if you
      need to shut it down without driving, you have to step on gas while still in park
      mode and "rave up" the engines and then shut it down. Not doing this step causes something
      called flooding reported by many people.&lt;/li&gt;
   &lt;li&gt;
      RX-8 doesn't have 5 star &lt;a href="http://www.nhtsa.dot.gov/cars/testing/ncap/"&gt;safety
      ratings&lt;/a&gt;.&lt;/li&gt;
   &lt;li&gt;
      You get pretty powerful xenon headlights, sun-glass holder, automatic tire pressure
      indicator and no-traction indicator.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=071a5bdd-9277-4e0c-92be-ae7e1bdf306d" /&gt;</description>
      <category>Useful Info</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=885c7723-9889-400e-9d5c-8c187ed71b64</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=885c7723-9889-400e-9d5c-8c187ed71b64</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I would be writing all New York City related stuff at <a href="http://nyc.metblogs.com">Metblogs</a> rather
      then my own blog. This makes sense because lot of people who aren't in this region
      doesn't need to get those NYC stories. On the other hand, my NYC related writing will
      now reach to much larger audience. Check out <a href="http://www.google.com/search?q=site:nyc.metblogs.com+%22shital+shah%22&amp;hl=en&amp;lr=&amp;c2coff=1&amp;safe=off&amp;filter=0">some
      of my entries there</a> about cool New York events, restaurants and such stuff. 
   </p>
        <p>
      On the other site news, you might have noticed new skin and more FireFox friendly
      design. I also decided to give away the <a href="http://www.shitalshah.com/utilities.aspx#SyFastPage">engine
      that my website runs on</a> (C# code I wrote almost 4 years ago) along with entire <a href="http://www.shitalshah.com/utilities.aspx#ShitalShah">source
      code for this website</a> (thats in VB.Net just for fun). Nothing special but main
      highlights of the engine is that it accepts raw HTML file as the base template and
      embeds your dynamic ASP.Net WebForm content inside that HTML. It also provides navigation
      control which runs off of XHTML templates and XML. 
   </p>
        <p>
      If you like my free utilities, don't forget to check out the <a href="http://www.shitalshah.com/utilities.aspx">massive
      updates in Geeks Only section</a>. It has now many more of my programs and utilities
      that I kept it to myself. Specifically, the one called <a href="http://www.shitalshah.com/utilities.aspx#BrowserHistoryAnalyser">Browser
      History Analyzer</a> analyses your IE history (support for FireFox coming soon), builds
      MS Access database and gives you tons of amusing info about your browsing habits such
      has the queries you fired on search engine, how do you refine your keywords progressively,
      how much time you usually spend on a page, how much time you spend on browsing and
      so on. Whilte still in development, it also features extensible architecture to let
      you make your own plugins. I've also put the link for article I wrote for CodeProject
      about <a href="http://www.shitalshah.com/utilities.aspx#WinProgressDialog">how to
      show Explorer's progress dialog in your apps</a>. 
   </p>
        <p>
      Finally some <a href="http://www.dotphoto.com/Go.asp?l=sytel&amp;P=&amp;AID=1981561&amp;Pres=Y">Alaska
      trip photos</a> also have been added. Yenjoy :).<br /><br /></p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=885c7723-9889-400e-9d5c-8c187ed71b64" />
      </body>
      <title>Lots Of Updates!</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=885c7723-9889-400e-9d5c-8c187ed71b64</guid>
      <link>http://www.ShitalShah.com/blog/LotsOfUpdates.aspx</link>
      <pubDate>Thu, 21 Apr 2005 18:44:07 GMT</pubDate>
      <description>&lt;p&gt;
   I would be writing all New York City related stuff at &lt;a href="http://nyc.metblogs.com"&gt;Metblogs&lt;/a&gt; rather
   then my own blog. This makes sense because lot of people who aren't in this region
   doesn't need to get those NYC stories. On the other hand, my NYC related writing will
   now reach to much larger audience. Check out &lt;a href="http://www.google.com/search?q=site:nyc.metblogs.com+%22shital+shah%22&amp;amp;hl=en&amp;amp;lr=&amp;amp;c2coff=1&amp;amp;safe=off&amp;amp;filter=0"&gt;some
   of my entries there&lt;/a&gt; about cool New York events, restaurants and such stuff. 
&lt;/p&gt;
&lt;p&gt;
   On the other site news, you might have noticed new skin and more FireFox friendly
   design. I also decided to give away the &lt;a href="http://www.shitalshah.com/utilities.aspx#SyFastPage"&gt;engine
   that my website runs on&lt;/a&gt; (C# code I wrote almost 4 years ago) along with entire &lt;a href="http://www.shitalshah.com/utilities.aspx#ShitalShah"&gt;source
   code for this website&lt;/a&gt; (thats in VB.Net just for fun). Nothing special but main
   highlights of the engine is that it accepts raw HTML file as the base template and
   embeds your dynamic ASP.Net WebForm content inside that HTML. It also provides navigation
   control which runs off of XHTML templates and XML. 
&lt;/p&gt;
&lt;p&gt;
   If you like my free utilities, don't forget to check out the &lt;a href="http://www.shitalshah.com/utilities.aspx"&gt;massive
   updates in Geeks Only section&lt;/a&gt;. It has now many more of my programs and utilities
   that I kept it to myself. Specifically, the one called &lt;a href="http://www.shitalshah.com/utilities.aspx#BrowserHistoryAnalyser"&gt;Browser
   History Analyzer&lt;/a&gt; analyses your IE history (support for FireFox coming soon), builds
   MS Access database and gives you tons of amusing info about your browsing habits such
   has the queries you fired on search engine, how do you refine your keywords progressively,
   how much time you usually spend on a page, how much time you spend on browsing and
   so on. Whilte still in development, it also features extensible architecture to let
   you make your own plugins. I've also put the link for article I wrote for CodeProject
   about &lt;a href="http://www.shitalshah.com/utilities.aspx#WinProgressDialog"&gt;how to
   show Explorer's progress dialog in your apps&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
   Finally some &lt;a href="http://www.dotphoto.com/Go.asp?l=sytel&amp;amp;P=&amp;amp;AID=1981561&amp;amp;Pres=Y"&gt;Alaska
   trip photos&lt;/a&gt; also have been added. Yenjoy :).&lt;br&gt;
   &lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=885c7723-9889-400e-9d5c-8c187ed71b64" /&gt;</description>
      <category>Go Somewhere, Do Something!;New Stuff On My Site;Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.shitalshah.com/blog/Trackback.aspx?guid=70ade7bc-286b-4989-8fd4-ce9c65cfd841</trackback:ping>
      <pingback:server>http://www.shitalshah.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.shitalshah.com/blog/PermaLink.aspx?guid=70ade7bc-286b-4989-8fd4-ce9c65cfd841</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Anyone who have worked with .Net or Java
   would have certainly thought about this: Is there a way to extend these runtimes/VMs
   to build truly managed operating system? As it turns out Longhorn would be "mostly"
   managed OS but this is not the kind of "managed" OS stuff we are talking about. We
   are talking about truly managed OS, in theory and in imagination, that is.<br /><br />
   If you look at .Net runtime, it indeed provides several services that should be coming
   from OS otherwise: threading, security, PE loading and so on. When I was watching
   the documentary <a href="http://www.imdb.com/title/tt0308808/">Revolution</a>, Richard
   Stallman was describing similar situation in his days: they wanted to build an OS,
   they had compilers, all kind of command line utilities, code for various services
   and so on but they were missing a kernel. So even if they had got lot of functionality
   working, they still needed some base OS to run off their stuff. I think the .Net runtime/JVM
   are in the same situation.<br />
    <br />
   So what a managed OS would look like?  Who handles all the system calls down
   the line and how? Say I want to turn on a pixel on the screen, what my lowest level
   code running on a truly managed OS would look like? Let’s think about it: the lowest
   level managed code you can write in .Net is IL, which is essentially an assembly language
   for a virtualized CPU and memory system. The IL essentially has no idea about the
   world outside its virtualized CPU and memory system. For instance, I can’t write any
   direct IL instructions to read sector 510 from my hard drive or turn on a pixel on
   my screen. In its current form, I would have no choice but to extend IL somehow so
   I can make low level system BIOS calls or embed native instruction for my graphic
   card inside my IL. That’s not good. If I’m allowed to embed such low level calls in
   IL, the whole thing isn’t "managed" anymore and also not independent of the hardware
   I’m using. 
   <br /><br />
   As I thought about this more, I converged to the answer that we need a "runtime" for
   each of the subsystem in the computer. If you think about it, a hard-drive controller
   is a CPU in its own right with its own instruction set and so is your graphics card.
   Your main CPU and memory are just "over hyped" subsystems of your computer. Our traditional
   runtime and IL only virtualizes main CPU and memory, not these other subsystems. Once
   we have this "runtime" for video subsystem, hard drive controller and so on, it should
   be possible to write pure IL instructions to say, draw a bitmap on the screen. Notice
   that the IL code should work on any graphics card which has been similarly virtualized.
   Now you see, these "runtimes" for subsystems are essentially equivalent to drivers
   in current world but with a twist that they follow exactly the same structure and
   standards as the main runtime.<br /><br />
   So now imagination can go wild: You have several "runtimes" running and managing each
   subsystem in your computer. Obviously each of these runtimes needs to discover and
   talk with other. The traditional runtime only manages main processor and memory but
   now it needs to send out IL instructions to say, VM controlling hard drive. So we
   now have a need for a standard protocol to discover virtual machines in the system
   and talk to them (much like Plug And Play). Also we need a system boot-strapper, which
   initializes all the runtimes in your system and provides common "channel" for them
   to discover and talk with each other. I also speculate a base runtime from which all
   other runtimes must "inherit" so as to enforce common infrastructure such as secured
   access to instructions and inter-VM communication. If you let your imagination wilder,
   you can think of a runtime/VM as something that consumes bytecode, changes its own
   memory state and outputs bytecode to another VM or a hardware. So essentially you
   can have cascading VMs too. You can even pass objects around VMs and even create your
   own VM (for example, to emulate non-existent hardware or to create a OS level service). 
   <br /><br />
   So what is the managed OS again? It’s collection of VMs for each subsystem and a bootstrapper.
   Good, we got somewhere. Anything you code against it would be (really) 100% pure managed
   code with potential to be executed on variety of hardware. Infect you could even have
   a VM which simply delegates call to parent OS instead of real hardware subsystem.
   That could make it possible to build versions of this managed OS that could run off
   the host OS that you already have, without forcing you to partition your hard drive
   or reboot your machine. This would still let all your "managed" code run as is it
   but may be without extra-strength security and such stuff.<br /><br />
   This all sounds really cool. Now only if I can figure out how performance won't suck...
   ;)<br /><br /><br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=70ade7bc-286b-4989-8fd4-ce9c65cfd841" /></body>
      <title>On Truly Managed Operating Systems</title>
      <guid>http://www.shitalshah.com/blog/PermaLink.aspx?guid=70ade7bc-286b-4989-8fd4-ce9c65cfd841</guid>
      <link>http://www.ShitalShah.com/blog/OnTrulyManagedOperatingSystems.aspx</link>
      <pubDate>Mon, 28 Mar 2005 19:03:23 GMT</pubDate>
      <description>Anyone who have worked with .Net or Java would have certainly thought
about this: Is there a way to extend these runtimes/VMs to build truly
managed operating system? As it turns out Longhorn would be "mostly"
managed OS but this is not the kind of "managed" OS stuff we are talking
about. We are talking about truly managed OS, in theory and in
imagination, that is.&lt;br&gt;
&lt;br&gt;
If you look at .Net runtime, it indeed provides several services that should be coming
from OS otherwise: threading, security, PE loading and so on. When I was watching
the documentary &lt;a href="http://www.imdb.com/title/tt0308808/"&gt;Revolution&lt;/a&gt;, Richard
Stallman was describing similar situation in his days: they wanted to build an OS,
they had compilers, all kind of command line utilities, code for various services
and so on but they were missing a kernel. So even if they had got lot of functionality
working, they still needed some base OS to run off their stuff. I think the .Net runtime/JVM
are in the same situation.&lt;br&gt;
&amp;nbsp;&lt;br&gt;
So what a managed OS would look like?&amp;nbsp; Who handles all the system calls down
the line and how? Say I want to turn on a pixel on the screen, what my lowest level
code running on a truly managed OS would look like? Let’s think about it: the lowest
level managed code you can write in .Net is IL, which is essentially an assembly language
for a virtualized CPU and memory system. The 