<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Astrila</title>
  <link rel="alternate" type="text/html" href="http://www.shitalshah.com/blog/" />
  <link rel="self" href="http://www.shitalshah.com/blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-06-18T00:39:43.1371250-07:00</updated>
  <author>
    <name>Shital Shah</name>
  </author>
  <subtitle>Some blogs on Gizmos, music, science, math, physics, hikes, adventure outings, programming, books and such stuff...</subtitle>
  <id>http://www.shitalshah.com/blog/</id>
  <generator uri="http://www.dasblog.net" version="1.8.5223.2">DasBlog</generator>
  <entry>
    <title>The Four Planet Dance Of 2008</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/TheFourPlanetDanceOf2008.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=3ba8f65c-36d8-4d36-b0fc-cc8d4e8d6225</id>
    <published>2008-06-18T00:39:43.1371250-07:00</published>
    <updated>2008-06-18T00:39:43.1371250-07:00</updated>
    <category term="Heavenly Stuff" label="Heavenly Stuff" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>Phun With Physics Simulations</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/PhunWithPhysicsSimulations.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=fa84be43-d42a-44de-80c4-11fea7f77912</id>
    <published>2008-03-08T19:27:51.8487500-08:00</published>
    <updated>2008-03-08T19:27:51.8487500-08:00</updated>
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <category term="Physics" label="Physics" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Fast Asymmetric Generalized Hebbian Algorithm</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/FastAsymmetricGeneralizedHebbianAlgorithm.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=6e5c3e28-3101-4b61-97a0-760fd340adae</id>
    <published>2007-05-06T20:43:37.2932500-07:00</published>
    <updated>2007-05-06T20:43:37.2932500-07:00</updated>
    <category term="AI" label="AI" scheme="dasBlog" />
    <category term="Mathematics" label="Mathematics" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Two Small Utilities</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/TwoSmallUtilities.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=c743f498-f397-49ca-8c14-03a69404c543</id>
    <published>2007-05-06T19:38:03.4020000-07:00</published>
    <updated>2007-05-07T00:57:51.3401250-07:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Math In Office 2007</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/MathInOffice2007.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=70749bb0-9e07-42f3-bac2-0ba9c248b912</id>
    <published>2006-05-16T16:37:52.9330000-07:00</published>
    <updated>2007-05-06T19:39:13.0432500-07:00</updated>
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Introducing DSS</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/IntroducingDSS.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=83bd1b60-9f6d-42c7-bb91-b51d8649e745</id>
    <published>2006-02-16T07:04:01.4123360-08:00</published>
    <updated>2006-02-16T07:04:01.4123360-08:00</updated>
    <category term="New Stuff On My Site" label="New Stuff On My Site" scheme="dasBlog" />
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Groove Hacks</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/GrooveHacks.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=7f4c2bec-f19e-48c2-b727-adc79f435342</id>
    <published>2005-11-14T21:48:53.0306000-08:00</published>
    <updated>2005-11-14T21:51:47.2511168-08:00</updated>
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>On The Run</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/OnTheRun.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=3ea21a7d-d536-4207-b7b8-09c0412666e9</id>
    <published>2005-10-06T22:37:08.2550304-07:00</published>
    <updated>2005-10-06T22:37:08.2550304-07:00</updated>
    <category term="Random Thoughts" label="Random Thoughts" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Big Move</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/BigMove.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=89d2e2bc-7ad5-4f6e-bc0f-99c906896855</id>
    <published>2005-10-06T20:46:54.6351120-07:00</published>
    <updated>2005-10-06T20:46:54.6351120-07:00</updated>
    <category term="Personal News" label="Personal News" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>My New CodeProject Article On Equation Rendering</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/MyNewCodeProjectArticleOnEquationRendering.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=fa008a66-b8a1-4d48-a126-49e9c60bac49</id>
    <published>2005-08-23T19:31:01.6117968-07:00</published>
    <updated>2005-08-23T19:31:01.6117968-07:00</updated>
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>World's Most Beautiful Equation</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/WorldsMostBeautifulEquation.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=21ab9ce3-36fd-490a-97ee-064141fc6b90</id>
    <published>2005-08-08T10:22:07.8268592-07:00</published>
    <updated>2005-10-24T18:18:11.3637712-07:00</updated>
    <category term="Mathematics" label="Mathematics" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Some Cool .Net Nuggets</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/SomeCoolNetNuggets.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=c943a223-475c-4f9b-b17d-1523c19c2090</id>
    <published>2005-06-24T15:00:46.6697328-07:00</published>
    <updated>2005-06-24T15:56:57.3565424-07:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Digits Of Pi</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/DigitsOfPi.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=0159357a-1b39-4542-a356-89efb210d43b</id>
    <published>2005-06-21T13:20:14.3143360-07:00</published>
    <updated>2005-06-24T13:39:22.0459888-07:00</updated>
    <category term="Mathematics" label="Mathematics" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>15 Questions On Leadership</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/15QuestionsOnLeadership.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=91af33eb-ea58-495e-b2ec-c069a34835de</id>
    <published>2005-05-24T14:26:55.0306000-07:00</published>
    <updated>2005-05-24T14:33:13.4747760-07:00</updated>
    <category term="Junk" label="Junk" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>RSS And Calender Integration</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/RSSAndCalenderIntegration.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=f219482f-399f-4c3f-a8d4-97073dc167a7</id>
    <published>2005-05-23T19:10:36.5792864-07:00</published>
    <updated>2005-05-23T19:10:36.5792864-07:00</updated>
    <category term="Events To Attend" label="Events To Attend" scheme="dasBlog" />
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>Trading Geek Dinner For Self-Theories Of Intelligence</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/TradingGeekDinnerForSelfTheoriesOfIntelligence.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=e384bcae-92de-4b3e-b8a0-f5ef1af05f82</id>
    <published>2005-05-10T15:18:16.5660624-07:00</published>
    <updated>2005-05-10T15:34:23.3362096-07:00</updated>
    <category term="AI" label="AI" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>Go Left Handed For Mouse</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/GoLeftHandedForMouse.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=8e2b2fbf-0182-4c11-87b0-751529369283</id>
    <published>2005-05-10T14:10:13.3747216-07:00</published>
    <updated>2005-05-10T14:11:55.0509248-07:00</updated>
    <category term="Useful Info" label="Useful Info" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>The Review Of The Car That Rules</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/TheReviewOfTheCarThatRules.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=071a5bdd-9277-4e0c-92be-ae7e1bdf306d</id>
    <published>2005-04-30T14:19:52.5303328-07:00</published>
    <updated>2005-04-30T14:22:32.5904880-07:00</updated>
    <category term="Useful Info" label="Useful Info" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>Lots Of Updates!</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/LotsOfUpdates.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=885c7723-9889-400e-9d5c-8c187ed71b64</id>
    <published>2005-04-21T11:44:07.7387024-07:00</published>
    <updated>2005-04-21T11:51:33.6599056-07:00</updated>
    <category term="Go Somewhere, Do Something!" label="Go Somewhere, Do Something!" scheme="dasBlog" />
    <category term="New Stuff On My Site" label="New Stuff On My Site" scheme="dasBlog" />
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" />
      </div>
    </content>
  </entry>
  <entry>
    <title>On Truly Managed Operating Systems</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/OnTrulyManagedOperatingSystems.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=70ade7bc-286b-4989-8fd4-ce9c65cfd841</id>
    <published>2005-03-28T12:03:23.3608128-07:00</published>
    <updated>2005-03-28T12:14:08.0077696-07:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div 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" /></div>
    </content>
  </entry>
  <entry>
    <title>Algorithm Puzzle - Sync'ing Big Lists And Nodes</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/AlgorithmPuzzleSyncingBigListsAndNodes.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=a22ad803-5a70-45b1-ae02-5a584c5f938d</id>
    <published>2005-03-14T18:05:02.0346592-07:00</published>
    <updated>2005-04-04T23:14:50.4705216-07:00</updated>
    <category term="Mathematics" label="Mathematics" scheme="dasBlog" />
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Here's a mathematical algorithmic puzzle
   for all you bright challange-seeking minds: 
   <br /><br />
   I've my own big business contact list and so does my friends. One day we decide to
   call up with each other on phone (only 2 people on one line), talk to each other and
   have our lists sync'ed up with each other. That is to say, we add any contacts we
   didn't had already, update any outdated ones and delete anyone who has gone out of
   business. However, you will be pleased to know that content of any two contact lists
   are pretty much same with only few differences. Infect many of my friends have identical
   contact lists and so they don't need sync'ing at all (though they don't know if they
   do have identical lists). We'll let you arrange pairs of people calling each other
   any way and at any time you'd like. Eventually, we hope to end up with exactly identical
   one mega list. But we want you to be fair, i.e., schemes like appointing one "central
   person" and having everyone talk to him in turns and let him do all the sync work
   is not cool. That's not fair for him and that would take lot of time too because talking
   in turns uses only one phone line at a time. For us "fair" means each person only
   needs to talk with same number of people as every other person needs to. And yes,
   before I forget to mention, our contact lists are really big and so does the count
   of my friends - both currently running over a million - and of course, us busy tired
   souls want you to finish this exercise in as little time and effort as possible.<br /><br />
   So how would you do that?<br /><br />
   [UPDATE: I'd posted <a href="http://groups.yahoo.com/group/win_tech_off_topic/message/38726">the
   answer in the off topic group</a>. Excerpt is in comments. Enjoy!]<br /><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=a22ad803-5a70-45b1-ae02-5a584c5f938d" /></div>
    </content>
  </entry>
  <entry>
    <title>Applications And Platforms, An Another Face Of Internet And Why I Hate Groove</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/ApplicationsAndPlatformsAnAnotherFaceOfInternetAndWhyIHateGroove.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=ea764760-51bf-48e3-9bc8-78077b620500</id>
    <published>2005-03-09T18:11:44.9262912-08:00</published>
    <updated>2005-03-14T17:10:08.8392768-07:00</updated>
    <category term="Personal Views" label="Personal Views" scheme="dasBlog" />
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.Groove.net">Groove</a> is perhaps one of the finest example of
      technology in recent times which has tons of potential and no vision. If you ask Groove
      what their product is, they will probably reply with something like this: "it's a <i>program</i> that
      allows people to work together on files, projects, meetings and so on.". And that
      underlines their severe lack of vision and plain immaturity which otherwise could
      have changed the face of the Internet. What it could have been is this: A <i>platform</i> that
      allows developers to build applications that could work online or offline with automatic
      real-time database and file replication. There is a huge difference between creating
      an <i>application</i> and a <i>platform</i>. To put it in perspective, imagine Microsoft
      developers betting most of their time and energy to create vast variety of end user
      applications and paying little or no attention in producing well documented APIs,
      solid development tools and nurturing, supporting and enticing developer community
      to enable <i>them</i> to create applications. Would Microsoft have gone that way it
      would have become another Apple. And computers would still be privately manufactured
      expensive white boxes fancied by richies. 
   </p>
        <p>
      Why I like FireFox so much? If I was using it out of the box and without downloading
      any extensions, I would have dumped it in trash can right away. Without extentions
      support, it's not that powerful and cool out of the box as those guys would have like
      you to believe. But enter the hundreds of cool extensions made by <i>other people</i>,
      and FireFox is suddenly the most appealing and powerful browser to me. FireFox extension
      API has essentially became a platform.<br /></p>
        <p>
      If you want to create a fast spreading powerful software, the bottom line is simple:
      Through people the plateform and thou shalt built apps upon it. Invest more in platform,
      not applications. Groove hasn't learned this lesson. 
   </p>
        <p>
      Actually, they are learning. They have VS.Net integration with GTK now, managed wrappers
      for lot of things, Developer Tools division, more then zero documentation and (are
      you ready?) even a book! But when you look at all these, you immediately realize that
      this effort to make Groove as a platform is more like an afterthought, a low priority,
      a low budget corporate "hobby" project and definitely an unfocused one. Before GTK
      came out some hardcore people were still trying to figure out how to use capabilities
      of Groove even if they had to use JavaScript APIs without documentation! And lot of
      them even then built cool apps. Imagine what if a real developer friendly platform
      was available wide open? How many applications would be built upon it? How many people
      would have downloaded Groove just to use those apps? 
   </p>
        <p>
      So exactly how does Groove fails to deliver to developers? To start with, they are
      extremely reluctant to change, re-designing, re-factoring, modernizing and rewriting
      their aged stuff. Their original core engine C++ code and API design is beyond the
      edge of being outdated and that's an understatement to fully describe the troubles
      with it. Groove APIs are exposed through COM and has a massive surface area combined
      with no documentation for much of the part. It's bloated, broken and even not fully
      implemented in many cases. In latest version 3.0 they have changed their UI makeup
      (and file share performance) but they are still dragging along ancient under the hood
      code. Compare that to Microsoft rewriting and renewing their massive operating systems
      every 5 years or so. 
   </p>
        <p>
      Current development aids for Groove aren't just enough. Even if you are using VS.Net
      integration, lots of things needed for real world apps would require you to modify
      proprietary files in obscure places under the direction of support people. To publish
      a Groove tool there is <a href="%20http://www.ischool.washington.edu/groove/solutions/groove_tool_publication.html">20+
      step procedure</a>with warnings signs: don't screw up here. For anything more then
      "hello world" app, you would have no choice but to sign up with Groove as their partner
      and hire their super expensive consulting and support services (which on many instances
      just comes back with replies "we never thought you might want to do that with Groove.
      Sorry, that's not possible."). Groove doesn't realise that the worst way to make money
      for them would be by squeezing the developer and proding them away for ever. And I'm
      not talking about launching rockets with Groove, but things as trivial as programmatically
      hiding left pan is simply not possible. And yes, they have the largest surface area
      API I've seen anywhere, including Windows. They haven't reused almost anything: everything
      from files, data, installation - you name it - they have their own proprietary APIs
      that you need to learn from the scratch (I'd spent tons of time and energy to have
      them support standard ADO.Net instead of their properitory data API and we used it
      in our project but unfortunetely they have pulled it out from Groove 3.0). I wouldn't
      say those guys at Groove are uncompetitive (I'd been to their office for couple of
      days worth of meetings and those guys were smart and cool), it's just bloated outdated
      design that they have to live with and work with. What a waste of an outstanding concept... 
   </p>
        <p>
      There is lot more to it. Groove isn't good and inviting to developers. Besides terrible
      "partner only access" schemes, you will also get recommendations to use their expensive
      personal training classes (I'd  been to the one which was a week long). Can you
      imagine if FireFox didn't fully document their APIs and asked you to sign up for their
      really expensive training if you'd wanted to make extentions for their browser? On
      most instances you would also end up hiring their "per hour" support and consulting
      staff to actually solve your problems that comes dozen a dime in real-world Groove
      development. I think several companies like IBM, Apple and Oracle workes just in this
      way and Microsoft is the only one to actually get developers on their side, give them
      nice tools and make things easily and freely accessible to them. 
   </p>
        <p>
      Several bad unrealistic decisions made during Groove's inceptions are still stuck
      with it even after almost a decade. For instance, Groove's replicated store is maintained
      in the encrypted XML files rather then real relational database powerhouse. Those
      designers wanted plateform independence and they screwed up (such types of failures
      are becoming so common they deserve a name: "Cross-Plateform Wanna Be Failure Pattern").
      Results? Groove sucks at scalability. In my experience, put more then 15 people in
      a space or more then 10,000 rows in "database" and you will be soon thinking about
      uninstalling Groove. Yet another example of carrying over ancient design misshapes
      is that the entire Groove engine works only from inside their proprietary "Transreceiver".
      You can't build your own EXE and consume those API from outside (actually you can
      at very limited extent but it's so ugly even some internal gurus don't want you to
      try that).<br /></p>
        <p>
      So what Groove could have been if they weren't what they have become? Well, they could
      have given a birth to thousands of applications that could work either online and
      offline and anywhere. These vast variety of apps would have almost magical capability
      to synchronize their data with other people and computers. If you look beyond, it's
      a whole new form of Internet and here is a highlight of what I mean: You won't need
      a webserver to host your website. You could have just created a "space", listed it
      somewhere and allowed open anonymous invitations to let anybody find it and browse
      it. So Internet would mostly become the collection of spaces hosted on individual
      computers instead of collection of web servers. It's far more advanced then client-server
      model of current Internet and far beyond then traditional file-sharing P2P apps. In
      that form of Internet, there truely can not be any censorship. You can have your private
      television station and serve your content to millions of users through distributed
      P2P network without a need for expensive webservers and requiring huge bandwidth.
      Same would happen to audio communication that is currently being done by Skype: you
      get standard P2P plateform to build VoIP and PodCast servers. Traditional websites
      would have major facelift: HTML would have been replaced by interactive GUI tools
      that runs in space running under a secured account. Webistes are no more just HTTPs
      but are fully functional interactive GUI applications. So you see, lots of software
      you see around - everything from Kazaa to SETI distributed computing screensavers
      to <a href="%20http://freenet.sourceforge.net/">Freenet</a> to BitTorrent to Skype
      - are just specific instances of this technology. All of these applications are screaming
      for common P2P plateform and because there is none, each have their own quick and
      dirty homegrown one. If Groove concept was done right, it could have been this universal
      peer-to-peer computing plateform to do all of these in clear homogeneous way and there
      would have been an avalanche of next generation P2P applications. And that's why I
      hate Groove for making it not happen.<br /></p>
        <br />
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=ea764760-51bf-48e3-9bc8-78077b620500" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Electrons Are Out, Photons Are In</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/ElectronsAreOutPhotonsAreIn.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=36fc8c7a-5267-4fe3-b5c4-28ff0875a2a5</id>
    <published>2005-03-07T18:42:08.8948320-08:00</published>
    <updated>2005-06-21T19:09:38.4092240-07:00</updated>
    <category term="Geeky Gizmos" label="Geeky Gizmos" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Our custom made PC based "media center"
   just got its new replacement screen: <a href="http://accessories.us.dell.com/sna/productdetail.aspx?sku=2300CC1&amp;c=us&amp;l=en&amp;cs=19&amp;category_id=2999&amp;page=external">Dell
   2300MP Projector</a>! Short review: It rocks and totally worth it (especially playing
   PS2 games wired with 5.1 sound system and WinAmp Visualizers on a big screen). And
   here are more tidbits for you geeks: 
   <ul><li>
         Dell 2300MP is new line of DLP projector which (I guess) came out in Oct 2004. It
         has whooping 2300 lumens and 2100 contrast ratio and cost me $1165 including shipping.
         It's native resolution is 1024X768 which exceeds many plasmas. Projector of this class
         used to cost almost twice a year ago. 
      </li><li>
         PS2 even with S-Video connector gives pretty cool quality. Through 5.1 surround sound
         system with games like Grand Theft Auto and you can hear cars passing by around you
         as if you are on real road.</li><li>
         This projector doesn't have DVI connector (for digital video from PCs) and component
         video/RGB connection (for high resolution DVD movies or 1080i HDTV format). That means
         you can only go as good as S-Vide. Also it has only one S-Video port. I don't think
         this is a huge disadvantage because more resolution offered by these connectors can't
         be displayed by projector anyway. 
      </li><li>
         It comes with lots of wires (though short in length) and a slick case. Remember projector
         wiring and screen is a significant portion of total projector cost. A 25ft VGA cable
         alone can cost easily over $50.</li><li>
         One big limitation of most projection system is that you can project only a specific
         size picture from specific distance. So say if you have have 85" diagonal area available
         project on be able place projector at around 10-12 ft from the wall. No more no less.
         And yes, you must buy enough long wires to hook up all your PS2s, cable TVs and PCs. 
      </li><li>
         This projector is super bright and it looks terrific even on our direct white wall
         projection without using any screen at all. It’s so bright that we don’t even feel
         needed to turn off our lights. On the daytime, if you have really bright room (no
         curtains on big glass wall), picture would appear washed out – not good enough for
         DVD quality but still pretty good for talk shows like quality.<br /></li><li>
         Because of high lumens and contrast, the most suitable screens for this projector
         are matt white screens with the gain 1.0 or even lower. This eliminated need for high
         gain screens means you get wide viewing angle just like usual TV set and uncompromised
         colors.<br /></li><li>
         Many people complained about circular "rainbows" that appears when watching B&amp;W
         movies. It doesn't seem to appear so far with us but I guess it might popup if you
         are watching high contrast black and white movie for a long time.<br /></li><li>
         Because of high contrast, darker scenes in the movie would feel darker. You will need
         to mess around with settings for this for a while (Dogma=3 works for us pretty well).
         BTW, we run at only 40% of its maximum brightness.<br /></li><li>
         When projector is not placed right at the center of screen but on lower or upper side.
         You get a distortion called keystone. This projector has built-in key-stone elimination
         feature which works great but it doesn't have any way to shrink picture horizontally
         or vertically or compensate for horizontal center-off alignment. If you are planning
         to project on for more than 100", you should consider exact center ceiling mount.<br /></li><li>
         If you still don’t think projector is a best bet for a screen, do a math on movie
         tickets. And even then if you don’t get convinced, go watch <a href="http://www.imdb.com/title/tt0308508/">Step
         into liquid</a> on 85" screen projected by this little toy! It's brillient! 
      </li></ul><img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=36fc8c7a-5267-4fe3-b5c4-28ff0875a2a5" /></div>
    </content>
  </entry>
  <entry>
    <title>AI - The Stage Is Set</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/AITheStageIsSet.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=a6622cb5-df8c-4e58-904a-c8beb2b2bd93</id>
    <published>2005-02-01T15:29:42.2658592-08:00</published>
    <updated>2005-02-03T16:26:08.1987888-08:00</updated>
    <category term="AI" label="AI" scheme="dasBlog" />
    <category term="Events To Attend" label="Events To Attend" scheme="dasBlog" />
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      If all research papers were published the way Jeff Hawkins published his <a href="http://www.onintelligence.org">On
      Intelligence</a>, the world would be a different place to live. I strongly feel
      that this is the most important work in the field which is otherwise <a href="http://www.shitalshah.com/blog/PermaLink.aspx?guid=0b81a11a-0e5d-4ead-aeef-4552f52b0055">so
      bloated with wasted directionless efforts</a>. This book is nothing like any research
      paper you might have read so far. It's written in very personal way. Instead of just
      spitting out end product, thoughts and algorithms, author also tells you what other
      directions he was thinking about and what made him to go for this one. The book however
      is really low on technical "mojo". Infect I just barely found it technical enough
      to keep me interested. The biggest missing gap is that author haven't
      really formalized his ideas on strong mathematical foundation. Also at times
      you would feel as if content is just too overly sweetened and you can't just
      let it push it through your throat (talk about pages and pages of "for
      example" for one simple concept!), but hang on. A guy from Stanford, Dileep Geaorge,
      has done <a href="http://www.stanford.edu/~dil/invariance/">some work in formalizing
      authors ideas</a> and even made a working software prototype showing that it successfully
      produces solid vision recognition. There are still few missing links but I've
      hardly any doubts that this is the right direction.
   </p>
        <p>
      Jeff Hawkins will be<a href="http://www.nyas.org/events/eventDetail.asp?eventID=3379&amp;date=2/2/2005%206:00:00%20PM"> giving
      a lecture</a> at NY Science Acadamy tomorrow (2/2/2005).
   </p>
        <p>
      The stage is set.<a></a></p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=a6622cb5-df8c-4e58-904a-c8beb2b2bd93" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Our Alaska Trip Photos</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/OurAlaskaTripPhotos.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=30d88f16-a15f-41c4-94d2-f72766a33206</id>
    <published>2004-11-30T09:57:38.5892432-08:00</published>
    <updated>2005-02-03T16:31:18.9656496-08:00</updated>
    <category term="Go Somewhere, Do Something!" label="Go Somewhere, Do Something!" scheme="dasBlog" />
    <category term="Personal News" label="Personal News" scheme="dasBlog" />
    <content type="html">&lt;p&gt;
   Here are&amp;nbsp;our &lt;a href="http://www.dotphoto.com/Go.asp?l=sytel&amp;amp;P=&amp;amp;AID=1981561&amp;amp;Pres=Y"&gt;March
   2004 Alaska trip photos&lt;/a&gt;. 
   &lt;br&gt;
   &lt;br&gt;
   &lt;!--
I guess&amp;nbsp;early March&amp;nbsp;is among the best time to visit Alaska (thanks to my wife for figuring out fantastic itinerary)&amp;nbsp;because you are still just in time to catch views of&amp;nbsp;Aurora Boriales and there is so much festivities going on.&amp;nbsp;We had our Yup'ik wedding ceremony at the &lt;A href="http://www.chenahotsprings.com/icehotel.html"&gt;Ice Hotel at Chena Hotsprings&lt;/A&gt;&amp;nbsp;which is a hotel made of only ice with colorful lights shining through. Taking a dip in natural hot&amp;nbsp;sulfur rich springs in below freezing temperatures with Aurora Borealis&amp;nbsp;passing over head&amp;nbsp;could certainly bring you one of the most memorable times even if its not your wedding ceremony&amp;nbsp;night ;).&amp;nbsp;We&amp;nbsp;also attended the start of the world famous &lt;A href="http://www.iditarod.com/"&gt;Iditarod Sleddog Race&lt;/A&gt; in&amp;nbsp; Anchorage,&amp;nbsp;went to&amp;nbsp;the &lt;A href="http://www.furrondy.net/"&gt;Fur Rendezvous&lt;/A&gt; (a big festival in Anchorage were furs and various Alaskan crafts are bought, sold, and traded),&amp;nbsp; saw the &lt;A href="http://www.icealaska.com/"&gt;World Ice Carving Championship&lt;/A&gt; in Fairbanks&amp;nbsp;- a definite must see to believe these finely detailed&amp;nbsp;sculpteurs carved out of ice, attended &lt;A href="http://henkbinnendijk.tripod.com/fairbanks/id16.html"&gt;Chatanika Days&lt;/A&gt; (a festival in Chatanika where a outhouse, snowmobile, and other races are held), and visited &lt;A href="http://www.ci.whittier.ak.us/"&gt;Whittier&lt;/A&gt;, the strangest town in Alaska.&amp;nbsp; We&amp;nbsp;also paid a visit to capitol "city"&amp;nbsp;&lt;A href="http://www.juneau.org/"&gt;Juneau&lt;/A&gt; which is incredibly beautiful from "Lower 48" standards but not as desirable places to live from Alaskan standards :).&amp;nbsp; We also camped in 4 feet of snow overnight near&amp;nbsp;&lt;A href="http://www.nps.gov/dena/"&gt;Denali National Park&lt;/A&gt;, home of Denali/Mt. McKinley Mountain, the tallest mountain in North America. All that besides having lots of fun :).
---&gt;UPDATE: Some content was removed from this blog entry. &lt;/P&gt;&lt;img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=30d88f16-a15f-41c4-94d2-f72766a33206"/&gt;</content>
  </entry>
  <entry>
    <title>Virtual By Default</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/VirtualByDefault.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=d2a55c5b-287a-4f4b-a8ad-cf55c1c6a9a1</id>
    <published>2004-11-15T12:33:19.0944720-08:00</published>
    <updated>2004-11-15T13:09:46.4397200-08:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Omar <a href="http://weblogs.asp.net/okloeten/archive/2004/11/15/257678.aspx">blogs
      about an age-old debate</a> on whether class members should be <a href="http://artima.com/intv/nonvirtual.html">virtual-by-default
      or final-by-default</a>. Here's my take:
   </p>
        <p>
      After my years of messing around with .Net class libraries, I would prefer virtual-by-default
      any day. Basically, when people designs their classes they really don't want to spend
      much time on analyzing how <em>someone else</em> would be overriding a particular
      method - unless they are really sure that lot of people really wants to do that. And
      so it makes a logical sense to be pessimistic for a language designer and assume
      that something bad indeed will happen and disable overriding by default. The bad part
      of this pessimistic assumption is that it doesn't go well with the real
      world statistics while its still logically pure and solid. In real world, you
      will find yourself in need so often to override a particular method, even if its "at
      your own risk", and hack your way through to satiesfy the requirements that original
      authors didn't spend time thinking about. Usually most people will test their such
      "hacks" and know that they might be shooting a bullet in their foot. But an ideal
      language should allow them to do so with warnings - just like unsafe keyword - rather
      then making it impossible. You had done that rather then relying on original authors
      (such Microsoft) to come out with new functionality after half a decade or wrapping
      entire interface in your custom classes. The problem is that people does wish
      that their methods be extensible but they don't have time to analyse all
      the side effects and make promises. My solution is that the compiler should just flag
      the warning that the method you are trying to override was not marked as virtual by
      default and may cause side effects (instead of current behavior of shadowing them).
      It should make all methods virtual unless specified otherwise and store additional
      metadata info that the method is virtual but wasn't marked explicitly so. Forcing
      virtual or final keywords explicitly does not solve the problem because most people
      will choose final anyway to be idealistic as they still haven't got time to analyze
      the side effects but those could have been statistically be mitigated by the
      authors who are willing to spend time in testing after they override.
   </p>
        <p>
      As far as the performance goes, I believe, authors of base class would much rather willing
      to spend time in finding hot-spot public methods and mark them as final rather then
      running complete analysis to decide if each of their methods could be virtual.
      So vote again goes for virtual-by-default.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=d2a55c5b-287a-4f4b-a8ad-cf55c1c6a9a1" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Neural Networks And Learning Bayesian Networks</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/NeuralNetworksAndLearningBayesianNetworks.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=ad477271-fd6a-4a75-9623-3467d82c72df</id>
    <published>2004-11-08T21:13:41.5419904-08:00</published>
    <updated>2004-11-08T21:20:17.0607184-08:00</updated>
    <category term="AI" label="AI" scheme="dasBlog" />
    <category term="Mathematics" label="Mathematics" scheme="dasBlog" />
    <category term="Reading" label="Reading" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      These are the two most interesting subjects for me right now. <a href="http://www.amazon.com/exec/obidos/tg/detail/-/0761914404/102-9310019-0481730">This book
      on Neural Networks</a> is probably the best to take a dive in the field. This
      is truly the magnificent book that you can read like some thriller story (assuming
      you are not afraid of some mathematical depth) and look at the real working through
      cool numerical examples. Short but concise explanations might make this book deceptively
      tiny but it's sure the best introduction in this field.
   </p>
        <p>
      On the other hand <a href="http://www.amazon.com/exec/obidos/tg/detail/-/0130125342/102-9310019-0481730">Learning
      Bayesian Networks</a> is little dry but has solid examples and it promises answers
      to some of the puzzling questions that had been playing around in my mind while thinking
      about my own correlation algorithm. So it’s still an interesting read. This book you
      can probably read more comfortably if you are already familiar with <a href="http://www.shitalshah.com/blog/PermaLink.aspx?guid=a1b0a5d8-a922-4a23-a48a-b034bbb4a767">Bayesian
      probabilities</a>.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=ad477271-fd6a-4a75-9623-3467d82c72df" />
      </div>
    </content>
  </entry>
  <entry>
    <title>VB.Net Resource Kit Saves The Day</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/VBNetResourceKitSavesTheDay.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=032fc471-c210-447b-99c3-860b3fe2bfeb</id>
    <published>2004-11-08T20:54:51.8275408-08:00</published>
    <updated>2004-11-08T20:56:13.1745120-08:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Did you knew that <a href="http://msdn.microsoft.com/vbasic/vbrkit/default.aspx">Vsiual
      Basic.Net Resource Kit</a> has an utility to convert C# code to VB.Net? Ofcourse
      there are <a href="http://www.vbcity.com/forums/topic.asp?tid=75214">several online
      language converters</a> but this one works great. And that's besides having cool Dudas
      Chart control and tons of other components from Component One absolutely free
      (though their charting component is pretty miserable and requires free registration
      for licensing). Charting is seriously missing component in 2.0's toolbox.and I'm just <a href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackId=FDBK17664">wondering</a> why
      doesn't MS thinks of bundling these components with VS.Net 2005 installer
      rather than keeping it in an lesser known corner of web.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=032fc471-c210-447b-99c3-860b3fe2bfeb" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Is Jeff Richter Screwing Up The .Net Versioning?</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/IsJeffRichterScrewingUpTheNetVersioning.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=1f123860-6894-467a-af0d-f72f0a6c35e2</id>
    <published>2004-11-08T13:51:06.5577984-08:00</published>
    <updated>2005-01-27T23:13:01.6238800-08:00</updated>
    <category term="Programming" label="Programming" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I don't know how no one is bothered by this. May be because <a href="http://www.theserverside.net/articles/showarticle.tss?id=AssemblyVersioning">it
      affects Longhorn</a>. But anyway, everybody would agree that while .Net solved the
      DLL Hell issue, it created its own which I affectionally call Assembly Hell and had <a href="http://groups.yahoo.com/group/win_tech_off_topic/message/21462">my
      rants</a> loud from the start. I'd high hopes when I heard Jeff Richter is on the
      team. But be hold, they come up with the statement that the problem is "mathematically"
      unsolvable and some fuzzy argument to back up that statement and then they reveal
      possibly the worst versioning scheme I've heard in a decade for anything: divide the
      assemblies in "platform" and "library" groups! I can't even start to imagine someone
      could think of this kind of stupid idea for things that will hit the entire planet
      on massive scale. Must be an outcome of long meetings for days :).
   </p>
        <p>
      I'd been burned a lot by missing gaps in .Net versioning and problem is pretty simple
      if you had been in this mess. The solution is even amazingly simple for what it appears
      like a monster.
   </p>
        <p>
      The fundamental flow in the .Net versioning is that it doesn't allow to put a version
      number on assembly without breaking the compatibility. Once you understand this, lot
      many problems would be simplified. The 'assembly version' is what we usually use for
      checking whether the file is really the one what we want and for deployment modules
      to make an update. While 'compatible-to version' is for the run time to check if it
      should throw an error. So 'assembly version' is different then 'compatible-to version'
      and are not tied with each other. So all we need is one AssemblyXXX attribute that
      can let us specify what is the build number for this assembly and another AssemblyYYY
      to specify the version to which this assembly is still compatible from interface as
      well as behaviour point of view. You always auto-increment your assembly number on
      each build, but you do not change "compatible-to" number unless you really change
      the interface and behavior. And the problem is solved.
   </p>
        <p>
      Infect, here is a final surprise: you can do this right now in 1.x and 2.x. Use AssemblyVersion
      attribute to specify "Last Compatible-To" version and AssemblyFileVersion attribute
      to specify the build version. Things have been worked out perfectly for me with this
      scheme. Now when I hear about dumbest idea since COM versioning and 'plateform' and
      'library', I just think we are in for huge additional mess waiting that will take
      another release (another 10 years?) to clean up. Whether you agree or not, people,
      speak up!!
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=1f123860-6894-467a-af0d-f72f0a6c35e2" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Dev OS Choice: Windows 2003 Server Or XP</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/DevOSChoiceWindows2003ServerOrXP.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=a35df085-6c08-498d-bef6-dc18ddacd239</id>
    <published>2004-11-05T17:25:42.4646016-07:00</published>
    <updated>2004-11-05T17:34:09.7139904-07:00</updated>
    <category term="Personal Views" label="Personal Views" scheme="dasBlog" />
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.peterprovost.org/">Peter Provost</a> is <a href="http://www.peterprovost.org/archive/2004/11/04/2067.aspx">switching
      to Server 2003</a>. I want to say: don't do it! I'd been using server version of operating
      system on my dev machines, even on laptops, since I can remember. But now I'm
      about to change my mind for the first time. Windows Server 2003 is not a cutting edge
      OS any longer. Infect it sucks!
   </p>
        <p>
      1. You really have to spend lot of time to set it up right to <a href="http://www.msfn.org/win2k3/">reclaim
      memory and performance</a>. For example, disabling several services, disabling option
      for higher performance for services, enabling DirectX manually and so on - it's always
      been on going job. Even than, I still find my dev box spinning way too much disk then
      equivalent XP box.
   </p>
        <p>
      2. Even both OS shares lot many drivers, its sometime amazingly difficult to install
      some devices for Sever 2003. Infect just couple of years old hardware from Creative
      and ATI, the XP version of drivers just won't work.
   </p>
        <p>
      3. Many new software from Microsoft itself just don't work on 2003. For
      example, Windows Media Player 10, Microsoft TimeZone etc.
   </p>
        <p>
      4. Enhancements from XP SP2 like IE security and Wireless config etc aren't
      still available for 2003. It looks like users of 2003 are always one step behind in
      the line to get the new beef and its taking just too long.
   </p>
        <p>
      5. Windows Peer-To-Peer SDK and Advanced Networking Pack does not work on 2003.
   </p>
        <p>
      6. DVD playback and built-in CD burning is hard to get working (requires registry
      tricks and more).
   </p>
        <p>
      7. There is <a href="http://www.msfn.org/win2k3/sysrestore.htm">no System Restore</a>!!
      It might surprise you, but this is true. For this is so-called solid server OS, if file
      system corrupts, you lost the whole thing. This actually happened with my laptop
      which I just switched off while hard drives were still spinning and on next
      boot I was greeted with blue screen with a message that registry was corrupted.
      This could have been a legitimate power loss also. It was after-midnight and
      I really needed few things to get done. After an hour of reading docs
      all around Internet truth revealed: there was no way to bring 2003 back to life because
      there is no System Restore feature in this OS!
   </p>
        <p>
      Overall, it just appears that Microsoft simply doesn't care if the new software/drivers
      they released on XP doesn't work on 2003. They just don't care. I really hate this
      line between server and home OS versions. Everybody knows that this lines have been
      drawn just to milk more money from fat corporates for so-called server versions. Few
      might know, XP and 2003 shares almost identical kernels (even OS version numbers are
      5.01 and 5.02 respectively). Right now, you choose any flavor of OS, you not gonna
      get satisfied because something is missing. Its not because of technicality but pure
      politics of pricing. And thats a shame to Microsoft.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=a35df085-6c08-498d-bef6-dc18ddacd239" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Coolest New York Shows In Run</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/CoolestNewYorkShowsInRun.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=78776514-7e3c-4a92-b8ce-c1008dc01e5b</id>
    <published>2004-11-05T15:10:11.0822480-07:00</published>
    <updated>2005-01-27T23:17:54.2446480-08:00</updated>
    <category term="Events To Attend" label="Events To Attend" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      These are the some of the select broadway/off-broadway shows currently running in
      New York. Many of them ends soon. If you live in area, do check them out!
   </p>
        <p>
          <a href="http://www.theatermania.com/content/show.cfm/show/106244">GoogleWhack</a> -
      This small production comedy had been consistently sold out in UK and Australia. Even
      if it hadn't been, its pretty geeky enough for not to check it out :). We will be
      going to this show tonight! Ends December.
   </p>
        <p>
          <a href="http://www.theatermania.com/content/show.cfm/show/104809">Forever Tango</a> -
      Looks extremely cool. Seven couple who tango in their own styles from Argentine. Ends
      Nov 28. 
   </p>
        <p>
          <a href="http://www.theatermania.com/content/show.cfm/show/101919">Cookin'</a> - A
      terrific show. Korean crew creates awesom beats and music from mere kitchen
      appliances besides other jaw dropping stuff in the show. Absolutely recommended.
   </p>
        <p>
          <a href="http://www.theatermania.com/content/show.cfm/show/132">Blue Man Show</a> -
      If you want to see just one off-broadway show in New York, this would be it.
      We went to this one last December and its an awesomely creative show which you might
      enjoy every moment of it (and it doesn't have intermission). Its difficult to describe
      what this show is about but one can escape describing it by calling higher form of
      modern art, just like its music. The show that's being currently running has new
      "material" though.
   </p>
        <p>
          <a href="http://www.slavasnowshow.com/">Slava's Snow Show</a> - While except for closing
      sequence it wasn't ultra cool, it sure was different. One might think its kids show
      but when we went to see it, we hardly observed more than couple of kids in audience
      (and show was sold out).
   </p>
        <p>
          <a href="http://www.trans-siberian.com/">Trans-Sieberian Orchestra</a> - This
      is the most impressive, most awesome and the coolest live concert I've ever been
      too. To miss them in live concert would be practically a sin. With hundreds of colorful
      spotlights, and another few hundreds of freaking lasers, and some cool fireworks
      right on the stage and a band of more than 20 musicians and singers and with
      very diversified styles, they simply doesn't have a match.
   </p>
        <p>
          <a href="http://www.nycomedyfestival.com/new/lineup/index.html">Steven Wright Comedy
      Show</a> - For a long time I considered Steve Wright as the most gifted comedian
      I'd known. His ability to make up original random unrelated witty one-liners which
      he can keep throwing at you one after another for the entire length of show is amazing. He
      hasn't doing many shows since last few years but finally New York Comedy
      Festival provides a chance to hear him live!
   </p>
        <p>
      Also as a side tip, many (but not all) broadway show tickets you can buy
      at heavily discounted prices by entering secret codes. Sources to check out for
      this are <a href="http://www.theatermania.com/">TheaterMania.com</a>, <a href="http://www.broadwaybox.com/">BroadwayBox.com</a>, <a href="http://entertainment-link.com/">entertainment-link.com</a> and <a href="http://faculty.rmwc.edu/theatre/Ticket%20Watch/Current.htm">NY
      Times TicketWatch</a>.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=78776514-7e3c-4a92-b8ce-c1008dc01e5b" />
      </div>
    </content>
  </entry>
  <entry>
    <title>A New NewsGator Online Convert</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/ANewNewsGatorOnlineConvert.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=beb5eaf3-838c-467f-954d-25aecf5fc103</id>
    <published>2004-11-05T14:12:15.2842960-07:00</published>
    <updated>2004-11-05T15:46:15.7548944-07:00</updated>
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Any software that isn't open source AND also isn't evolving fast enough to keep up
      with their customers should be seen with the sign "Stay Away". These things gets in
      to your computer in the name of easing up your tasks and it indeed appears so for
      a while until you just run of out its capacity and start spending most of the time
      in just managing it or dealing with information overload. <a href="http://www.shitalshah.com/blog/PermaLink.aspx?guid=c7e98355-e9e0-460d-b180-5b65e244d51d">Sharpreader</a> is
      the one. Windows is another. While my desktop will soon have <a href="http://www.mandrakelinux.com/">Linux
      Mandrake</a> distribution, I don't think it will still solve the problem because Linux
      is open source but it ain't fast enough to evolve, in my view. But finally I was able
      to take care of SharpReader. Check out the free and cool <a href="http://www.newsgator.com/ngs">NewsGator
      Online Edition</a>. I'm a convert since last two weeks and I like its not-large-but-effective
      featureset which includes:
   </p>
        <ol>
          <li>
            <div class="MsoNormal" style="MARGIN: 2.25pt">It allows to rate posts.
         </div>
          </li>
          <li>
            <div class="MsoNormal" style="MARGIN: 2.25pt">It allows to clip posts.
         </div>
          </li>
          <li>
            <div class="MsoNormal" style="MARGIN: 2.25pt">It allows to share your clips using
            RSS (which you can eventually save on your hard drive for archival purpose). 
         </div>
          </li>
          <li>
            <div class="MsoNormal" style="MARGIN: 2.25pt">It allows to share your OPML in real
            time. 
         </div>
          </li>
          <li>
            <div class="MsoNormal" style="MARGIN: 2.25pt">
              <span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">No
            need of syncing news readers on different boxes.</span>
            </div>
          </li>
          <li>
            <div class="MsoNormal" style="MARGIN: 2.25pt">
              <span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Pretty
            cool non-interuptive Web UI</span>
            </div>
          </li>
        </ol>
        <p>
      Features #1 and #2 are essential in dealing with information overload. I've also categorized <a href="http://services.newsgator.com/ngws/svc/opml.aspx?uid=2080&amp;mid=1">my
      feeds</a> in to just 3 categories: Peoples blogs, High interest services, Low interest
      services. Things have gotten pretty smooth after establishing these categories.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=beb5eaf3-838c-467f-954d-25aecf5fc103" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Google Cheatsheet And Clusty</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/GoogleCheatsheetAndClusty.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=1c44ac0b-fb06-4a86-8ec9-e1025c8b5eea</id>
    <published>2004-11-05T13:32:36.6740224-07:00</published>
    <updated>2004-11-05T13:32:36.7140800-07:00</updated>
    <category term="Personal Views" label="Personal Views" scheme="dasBlog" />
    <category term="Useful Info" label="Useful Info" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I thought I know everything there is to know about Google searching, until... I found
      there is an operator to search for synonyms and two words separated by a word and
      so on. Check out the <a href="http://www.google.com/help/cheatsheet.html">Google Cheetsheet</a>!
   </p>
        <p>
      It appears that I'm often switching to <a href="http://clusty.com/">Clusty</a> for
      "hard to find" things - usually when Googles first page of results is just irrelevant. 
      I think clustering is inevitable technology for search engines and really
      hope Google speeds up their effort for implementation. It isn't that hard, after all.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=1c44ac0b-fb06-4a86-8ec9-e1025c8b5eea" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Music Genres To Explore</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/MusicGenresToExplore.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=b8ad9016-7269-4d47-ba60-533655b305cc</id>
    <published>2004-11-01T15:41:27.4118832-07:00</published>
    <updated>2004-11-01T15:41:29.7852960-07:00</updated>
    <category term="Music To Listen" label="Music To Listen" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      If you are like me and constantly run out of fresh new music to listen, here's something
      that might help. The best way to discover new music is to find new/fresh/weird genres.
      I'll try to put here a list of very interesting select genres that I came across recently.
      I would highly recommend services like <a href="http://www.listen.com/">Rhapsody</a> if
      you want to explore these. What’s more important is the way they provide navigation
      and ability to discover more. For example, once you find an interesting album, you
      can immediately click on the music genre that album belongs to and then find out the
      top chart for that genre and discover even more artists and so on.
   </p>
        <p>
      So here are some cool and weired music genres to explore :)
   </p>
        <ul>
          <li>
         Laptronica - This is basically music created by single person entirely by high-end
         software on his or her laptop. Some of popular laprtronica artists even have their
         concerts where they just sit on the stage with their laptop and stream out some beats
         for the audience! Example artist M83.</li>
          <li>
         Experimental - This is the awesome genre to explore and can keep you busy for hours.
         Try Blue Man Group's Audio album or a <a href="http://launch.yahoo.com/song/default.asp?songID=3363203">super-weird
         track by Tom Waits</a> and you'll know what I'm talking about!</li>
          <li>
         Solo Instrumentalist - Example artist Itzhak Perlman.</li>
          <li>
         New Age/Solo Instrumental - Example artist David Lanz. These for some "non-intruding
         softer displays of creativity" times :).</li>
          <li>
         New Age Acoustics - Example artist George Winston. These are for some happy relaxing
         "find your soul" times.</li>
          <li>
         Space Age Bachelor Pad - Yes, that’s really a name of a music genre! Example artist
         Pizzicato Five.</li>
          <li>
         Cut &amp; Paste - Too abstract to be classed as hip-hop, kind of beat-based experiments.
         Example artist Cold cut.</li>
          <li>
         Electroclash - Energetic synth, electro-techno-pop-punk hybrid. Example artist Fischerspooner.</li>
          <li>
         Bleep - Moody robotic sounds, too irregular for the dancefloor yet often too disruptive
         for passive listening. Pretty cool worktime music. Example artist Autechre.</li>
          <li>
         Dream Pop - So how about an album named "Transient Random-Noise Bursts With Announcements"
         by Streolab?</li>
        </ul>
        <p>
      Apart from these, there is a lot to explore in Foreign, Comedy and Theater genres
      too. But that some other time.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=b8ad9016-7269-4d47-ba60-533655b305cc" />
      </div>
    </content>
  </entry>
  <entry>
    <title>DVD-Audio Format</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/DVDAudioFormat.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=f1b22afe-141f-4024-9f9a-ccba3cbae5f3</id>
    <published>2004-11-01T14:32:23.8537392-07:00</published>
    <updated>2004-11-01T14:39:05.3009920-07:00</updated>
    <category term="Music To Listen" label="Music To Listen" scheme="dasBlog" />
    <category term="Software To Download" label="Software To Download" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      In my <a href="http://www.shitalshah.com/blog/PermaLink.aspx?guid=0483c565-6b4b-4b0c-9e45-2d54b7db6176">recent
      quest</a> to find new music, I bumped in to brand new <a href="http://searchstorage.techtarget.com/sDefinition/0,,sid5_gci510035,00.html">DVD-A
      format</a> on which many <a href="http://www.amazon.com/exec/obidos/tg/browse/-/574074/102-8083421-0521740">new
      demanding music albums</a> are being delivered. It appears that this is definitely
      the next generation of music quality but there is very little or no information on
      many of its aspects. Here I'll try to summarize what I found so far:
   </p>
        <p>
      This format is capable of delivering very high quality multi-channel surround sound
      on your home theater system. The DVD-A format is entirely different than usual <a href="http://home.clear.net.nz/pages/adbarr/page1.html">Dolby
      Digital or DTS</a> which is used for DVD movies. The quality that could be delivered using
      DVD-A is superior than Dolby Digital or DTS. If you look in to your DVD disk in Windows
      Explorer, you will find that there are two folders: Audio_TS and Video_TS. So far,
      only Video_TS folder was used to put all the movie files on DVDs because industry
      wasn't settled on standards for DVD-A format. Recently standards have been finalized
      and <a href="http://www.amazon.com/exec/obidos/tg/browse/-/574074">loads of new music
      albums</a> are now being released in this format. They have content inside Audio_TS
      folder which contains DVD-A audio tracks in files with extension .aob. Because its
      brand new format, you need <a href="http://www.digitalaudioguide.com/dareview/players.htm#da%20(DVD-Audio)%20Players">newer
      DVD players</a> or <a href="http://www.soundblaster.com/products/Audigy2ZS_platinum_pro/">sound
      cards</a> to play it. However because most people aren't going to upgrade their DVD
      players soon, these audio DVDs supply same sound tracks in Video_TS folder encoded
      in usual Dolby Digital or DTS which all players knows how to play.
   </p>
        <p>
      Now say you buy an audio album on DVD disc. Obviously you can't play it on car stereo
      or your portable MP3 players because it’s a DVD disc rather than normal audio CD.
      Or you might want to take backup of your DVD-A disc as <a href="http://www.microsoft.com/windows/windowsmedia/domorewith/sursoshowcase.aspx">WMA
      Pro</a> files on your PC whcih allows 7.1 surround sound and playback. So
      what you do? You need to convert DVD disc in to normal Audio disc or rip tracks to
      MP3s. Unfortunately this isn't easy. The DVD-A format employs <a href="http://www.extremetech.com/article2/0,1558,1638228,00.asp">higher
      level of encryption</a> than usual DVDs. The DVD videos (stored in .vob files) employs
      copy protection scheme called <a href="http://www.extremetech.com/article2/0,1558,1638226,00.asp">CSS</a> which
      can be broken in to very easily using DeCSS or even more friendly <a href="http://www.dvddecrypter.com/">DVD
      Decryptor</a>. But <a href="http://www.digitalaudioguide.com/faq/dvd-audio/faq_intro.htm">DVD-A
      format</a> which was developed later has learned lesson from this hack and currently
      there is no known way to decrypt .aob files which contains DVD-A audio tacks. That
      means you can't rip MP3s out of AOB files. Your only way out is to rip off from slightly
      lower quality Dolby/DTS formatted tracks. The most reliable and easy to use software
      to do this is <a href="http://www.castudio.org/dvdaudioextractor/">DVD Audio Extractor</a>.
      Fortunately many DVD-A albums also provides <a href="http://www.videohelp.com/forum/archive/t140530.html">LPCM</a> version
      of tracks along with AC3 (i.e. Dolby Digital)/DTS format. So to burn normal audio
      CDs or MP3s you might want to choose LPCM version. If DVD-A disc <a href="http://www.amazon.com/exec/obidos/tg/detail/-/B000051S65/">doesn't
      contain LPCM tracks</a>, than you are out of luck. The down-mix/demux process employed
      by most software to convert surround sound from AC3/DTS to plain stereo format doesn't
      produce same quality as commercially available stereo tracks. Though you can try <a href="http://www.trevormarshall.com/byte_articles/byte7.htm">some
      equations</a> to combine 5.1 channels in to stereo using SoftEncode etc and usually
      DTS works better than AC3.
   </p>
        <img width="0" height="0" src="http://www.shitalshah.com/blog/aggbug.ashx?id=f1b22afe-141f-4024-9f9a-ccba3cbae5f3" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Two New Music Finds</title>
    <link rel="alternate" type="text/html" href="http://www.ShitalShah.com/blog/TwoNewMusicFinds.aspx" />
    <id>http://www.shitalshah.com/blog/PermaLink.aspx?guid=0483c565-6b4b-4b0c-9e45-2d54b7db6176</id>
    <published>2004-11-01T12:54:11.2305632-07:00</published>
    <updated>2004-11-01T13:01:06.6979760-07:00</updated>
    <category term="Music To Listen" label="Music To Listen" scheme="dasBlog" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
      [Artists - Album]
   </p>
        <p>
      1. <a href="http://launch.yahoo.com/album/default.asp?albumID=1013377">Blue Man Group
      - Audio</a><br />
      My short review of this album would be "Insanely creative". This amazing Niagara of
      energy is probably very different than anything you have heard so far. Some of the
      tracks were composed with 15 different instruments including PVC pipes and homebrewed
      hybrid instruments! If you have seen <a href="http://www.blueman.com/">their off-Broadway
      show</a>, you will probably appreciate this music even more. This show is definitely
      one of the most creative, energetic, artistic and amusing I've ever been too. On other
      note, they have second album called <a href="http://launch.yahoo.com/album/default.asp?albumID=1089095">Complex</a>.
      In sharp contrast, this album, apparently containing many vocals, comes nowhere close
      to their first. This album is av