<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.aspose.com/community/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dmitry Vorobyev</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/default.aspx</link><description>Component Developer, Auckland, New Zealand</description><dc:language>ru-RU</dc:language><generator>CommunityServer 2.0 (Build: 60217.2664)</generator><item><title>A Weekend in Saint-Petersburg</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2007/08/20/a-weekend-in-saint-petersburg.aspx</link><pubDate>Mon, 20 Aug 2007 05:05:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:91393</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/91393.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=91393</wfw:commentRss><description>&lt;P&gt;We've just&amp;nbsp;returned from a weekend we spent in Saint-Petersburg, the "northern capital" of Russia. Definitely, this city is more than impressive. It's magnificent! Being tranquil and stately&amp;nbsp;in the daytime, it becomes a large party place at night (at least the central part, not sure about the rest); and I just can't express&amp;nbsp;what a fun&amp;nbsp;atmosphere prevailing there! &lt;/P&gt;
&lt;P&gt;Petersburg certainly has its own energy or magic, almost tangible.&amp;nbsp;I'm not sure if it's explainable, whether the reason is just the beautiful architecture or&amp;nbsp;something more mysterious. Whatever it is, once visited,&amp;nbsp;the city&amp;nbsp;calls one back, so I believe we will manage to&amp;nbsp;have a trip to there&amp;nbsp;again until the weather gets cold and rainy (which is a real hassle to enjoy the city's charm).&lt;/P&gt;
&lt;P&gt;Let me share&amp;nbsp;some photos we took without any comments.&amp;nbsp;One reason is that I'm quite sleepy at the moment and the other is&amp;nbsp;my shameful ignorance&amp;nbsp;-&amp;nbsp;I'm simply unsure what exact names of&amp;nbsp;some sights are :) But I&amp;nbsp;do know those are just a little bit of Petersburg which obviously cannot be explored in two short days.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91359/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91359/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91360/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91360/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91363/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91363/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91364/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91364/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91365/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91365/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91366/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91366/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91367/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91367/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91368/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91368/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91369/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91369/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91370/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91370/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91371/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91371/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91372/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91372/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91373/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91373/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91374/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91374/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91375/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91375/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91376/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91376/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91377/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91377/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91378/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91378/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91379/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91379/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91380/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91380/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91381/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91381/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91382/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91382/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91383/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91383/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91385/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91385/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91386/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91386/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91387/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91387/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91388/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91388/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91389/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91389/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91390/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91390/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/91391/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/91391/640x427.aspx" border=0&gt;&lt;/A&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=91393" width="1" height="1"&gt;</description></item><item><title>Spring in Moscow</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2007/05/21/spring-in-moscow.aspx</link><pubDate>Tue, 22 May 2007 01:28:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:77445</guid><dc:creator>DmitryV</dc:creator><slash:comments>1</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/77445.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=77445</wfw:commentRss><description>&lt;P&gt;Obviously May is the best month of the year. Here in Moscow it is not usually very hot, although at the moment it's 27&amp;nbsp;°C (~80 °F). However, it is always warm enough to wear T-shirt and have a walk across the city to admire its beautiful sights. May seems to be the most attractive month to visit Moscow indeed - winter or autumn will meet you with lowering sky, and summer is too sultry and dusty&amp;nbsp;to enjoy the trip. Late spring is optimal.&lt;/P&gt;
&lt;P&gt;I love Moscow! This city combines very old architecture and modern offices, beautiful Orthodox churches and massive buildings of&amp;nbsp;the Stalin epoch. So - let's have a short walk across the city (mostly central part) and make sure it is magnificent indeed. I hope my comments below won't distract you too much :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77384/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77384/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;By tradition, let's start with the heart of the city - Kremlin. The big tower is named Spasskaya. The small tower nearby is named Tsarskaya&amp;nbsp;because tsar Ivan IV&amp;nbsp;liked to observe from it what was happening on the Red Square. Last time I was inside Kremlin being a child&amp;nbsp;so no photos with&amp;nbsp;the&amp;nbsp;President today, sorry :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77388/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77388/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Another view of Kremlin (from an enbankment).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77391/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77391/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;St. Basil's Cathedral. Legend says that Ivan IV&amp;nbsp;had the architect, Postnik Yakovlev, blinded&amp;nbsp;to prevent him from building a more magnificent building for anyone else. What luck living several centuries later!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77392/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77392/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Russian policemen armed with the latest modification of Kalashnikov halberd. The halberds are used to execute criminals trying to penetrate into the State Historical Museum (on the background). At least I believe it might be that way several hundred years ago.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77396/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77396/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A pigeon attacking Marshal Zhukov's horse. The horse looks surprised.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77398/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77398/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A developer taking a rest after many hours of debugging (he does not adopt unit testing).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77435/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77435/360x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;No comments (just another Moscow sight).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77402/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77402/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Alexander Garden, the entry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77404/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77404/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Tomb of Unknown Soldier in Alexander Garden. The guard stands without movement for hours. I envy his tenacity - there are so many pretty girls strolling by...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77407/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77407/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Tulips in Alexander Garden. I recall a day when I presented my wife with&amp;nbsp;a bunch of 101 tulips... No, I didn't steal them from this flower-bed. It was&amp;nbsp;winter actually :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77410/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77410/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Cathedral of Christ the Saviour. This is the largest Eastern Orthodox church in the world. It was&amp;nbsp;demolished by communists and&amp;nbsp;restored in 90s.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77411/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77411/600x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;That is how the Cathedral looks like at evening. This photo was taken by my wife - I had nothing to say but "wow".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77413/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77413/360x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A monument to Alexander II, the Emperor of Russian Empire.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77414/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77414/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A kitty guarding Alexander.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77415/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77415/360x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;96-meter-tall Peter the Great statue on the Moskva River bank. It is apparently supposed to scare off pirates if they ever appear on the river. We are thankful to Zurab Tsereteli (the sculptor)&amp;nbsp;that he didn't make the ship proportional to Peter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77419/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77419/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A rainbow caused by fountain's splashes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77420/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77420/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Moscow is full of beautiful churches. I have an idea of&amp;nbsp;collecting photos of &lt;STRONG&gt;all&lt;/STRONG&gt; the churches in the city... alas, due to the lack of time this idea seems impossible to implement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77421/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77421/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A funky&amp;nbsp;cabrio :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77422/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77422/360x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Aspose Moscow Office, under intense development. Yeah, just a branch. What? Oh... I was just told this is actually&amp;nbsp;Moscow-City, the International Business Center... It is so easy to confuse...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77424/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77424/320x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Ostankino TV Tower. Being 540 metres (1772 feet) in height (577.44 meters to the upper antenna), it is the highest freestanding structure in Eurasia.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77437/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77437/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;One of several "Stalin's" buildings, large and massive.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77432/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77432/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A&amp;nbsp;monument&amp;nbsp;to Tchaikovsky in front of the Moscow Conservatory. Actually, I'm totally dumb in classical music and I'm a terrible singer. The only note I can strike well is C sharp :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77438/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77438/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Just a nice place to walk around...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77440/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77440/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;...or simply stand on a pedestal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="/Community/Photos/dmitry.vorobyev/images/77441/original.aspx" target=_blank&gt;&lt;IMG src="/Community/Photos/dmitry.vorobyev/images/77441/640x480.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Let's finish our walk in a forest situated in Moscow outskirts&amp;nbsp;where we found this cone... It is gorgeous, isn't it?&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=77445" width="1" height="1"&gt;</description></item><item><title>Microsoft Released .NET Framework 3.5 Beta 1</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2007/05/07/microsoft-released-dotnet-framework-35-beta-1.aspx</link><pubDate>Mon, 07 May 2007 19:24:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:75518</guid><dc:creator>DmitryV</dc:creator><slash:comments>1</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/75518.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=75518</wfw:commentRss><description>&lt;P&gt;Frankly, I didn't manage to duly investigate 3.0&amp;nbsp;so far. Yeah those guys are productive indeed.&lt;/P&gt;
&lt;P&gt;What's new:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Deep integration of Language Integrated Query (LINQ) and data awareness&lt;BR&gt;
&lt;LI&gt;ASP.NET AJAX for quickly creating more efficient, more interactive and highly-personalized Web experiences that work across all the most popular browsers&lt;BR&gt;
&lt;LI&gt;New web protocol support for building WCF services including AJAX, JSON, REST, POX, RSS, ATOM and several new WS-* standards&lt;BR&gt;
&lt;LI&gt;Full tooling support for WF, WCF and WPF including the new workflow-enabled services technology&lt;BR&gt;
&lt;LI&gt;New classes in the base class library (BCL) for the .NET Framework 3.5 address the most common customer requests. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Download link: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e3715e6f-e123-428b-8a0f-028afb9e0322&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=e3715e6f-e123-428b-8a0f-028afb9e0322&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I've noticed Amazon already offers several books about 3.5:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.amazon.com/s/ref=nb_ss_b/002-8753217-1998421?url=search-alias%3Dstripbooks&amp;amp;field-keywords=.NET+3.5"&gt;http://www.amazon.com/s/ref=nb_ss_b/002-8753217-1998421?url=search-alias%3Dstripbooks&amp;amp;field-keywords=.NET+3.5&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Impressive but too early&amp;nbsp;IMHO.&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=75518" width="1" height="1"&gt;</description></item><item><title>How to change Internet Explorer to open documents in Microsoft Word</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2007/01/27/66251.aspx</link><pubDate>Sat, 27 Jan 2007 07:36:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:66251</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/66251.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=66251</wfw:commentRss><description>&lt;P&gt;Just found a nice Microsoft&amp;nbsp;KB article that shows how to change the way Internet Explorer opens linked Microsoft Word documents. By default, they are opened in-place in the browser window; many users seem require another behavior, when the documents are opened in a separate instance of Microsoft Word. I have tested it and it worked. Hope&amp;nbsp;this will be useful.&lt;/P&gt;
&lt;P&gt;You can&amp;nbsp;read the article here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/kb/254918"&gt;http://support.microsoft.com/kb/254918&lt;/A&gt;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=66251" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1067.aspx">Software</category></item><item><title>Happy New Year!</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/12/31/64296.aspx</link><pubDate>Sun, 31 Dec 2006 18:41:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:64296</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/64296.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=64296</wfw:commentRss><description>&lt;P&gt;2007... Seven is&amp;nbsp;a great&amp;nbsp;number, it brings success... Whoever you are, the reader of this post, I wish you success in the new year.&lt;/P&gt;
&lt;P&gt;2007... All troubles stayed in the old year, all sorrows... No pain anymore, but happiness instead... Whoever you are, the reader of this post, I wish you&amp;nbsp;happiness in the new year.&lt;/P&gt;
&lt;P&gt;2007... Just believe that your dreams will come true. Just believe in love, and it will be&amp;nbsp;with you the whole year. Whoever you are, the reader of this post, I wish you&amp;nbsp;love in the new year.&lt;/P&gt;
&lt;P&gt;Be&amp;nbsp;successful in 2007, be happy, be in love. Happy New Year!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;IMG src="http://www.theage.com.au/ffximage/2006/01/01/02PIGGY_BANK_wideweb__470x306,2.jpg"&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=64296" width="1" height="1"&gt;</description></item><item><title>Microsoft Released Service Pack 1 for Visual Studio 2005</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/12/17/63635.aspx</link><pubDate>Sun, 17 Dec 2006 16:32:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:63635</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/63635.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=63635</wfw:commentRss><description>&lt;P&gt;No doubts, Microsoft Visual Studio 2005 is not merely a "tool" for development. It's rather a powerful environment that includes everything we need for efficient and&amp;nbsp;successful work. Unfortunately, it's an established fact that the first release of the environment proved to be too raw. There&amp;nbsp;are quite many bugs for a product of that class, and some of them are pretty annoying.&lt;/P&gt;
&lt;P&gt;Guys from Microsoft do&amp;nbsp;realize this as well and finally they decided to relieve us from most of the troubles. Recently they've released &lt;A href="http://msdn.microsoft.com/vstudio/support/vs2005sp1/default.aspx"&gt;Visual Studio 2005&amp;nbsp;Service Pack 1 (SP1)&lt;/A&gt;. They claim in some areas&amp;nbsp;it&amp;nbsp;addresses more than 50% of the bugs reported by users. Good job. I didn't notice any major fixes though, at least it's still impossible to work with dynamic help on - too slow as before. However, I've just installed SP1 on my machine so hopefully it will show its worth&amp;nbsp;during the&amp;nbsp;work&amp;nbsp;&lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;
&lt;P&gt;The most noticeable improvements offered by SP1 are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;New processor support (e.g., Core Duo) for code generation and profiling 
&lt;LI&gt;Performance and scale improvements in Team Foundation Server 
&lt;LI&gt;Team Foundation Server integration with Excel 2007 and Project 2007 
&lt;LI&gt;Tool support for occasionally connected devices and SQL Server Compact Edition 
&lt;LI&gt;Additional support for project file based Web applications 
&lt;LI&gt;Windows Embedded 6.0 platform and tools support &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can download SP1 here:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC"&gt;Visual Studio 2005 Team Suite SP1&lt;/A&gt; (includes SP1 updates for Standard, Professional, and Team Editions of Visual Studio 2005) 
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A9AB638C-04D2-4AEE-8AE8-9F00DD454AB8"&gt;Visual Studio 2005 Team Foundation Server SP1&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E"&gt;Visual Studio 2005 Express Editions SP1&lt;/A&gt; 
&lt;LI&gt;Visual Studio 2005 SP1 Update for Windows Vista Beta - coming soon&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=63635" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1067.aspx">Software</category><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1071.aspx">News</category></item><item><title>.NET Framework 3.0 is Out, Microsoft Office 2007 is Golden... What a Crazy Day of Releases! :)</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/11/07/60745.aspx</link><pubDate>Tue, 07 Nov 2006 18:45:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:60745</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/60745.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=60745</wfw:commentRss><description>&lt;P&gt;Well it seems like&amp;nbsp;Microsoft&amp;nbsp;has prepared a bunch of surprises for us... Just take a look what they have just released:&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=postBodyText&gt;&lt;SPAN class=postBodyText&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Microsoft .NET Framework 3.0 Redistributable Package&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#7a5ea3 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;amp;displaylang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;amp;displaylang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5d61409e-1fa3-48cf-8023-e8f38e709ba6&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=5d61409e-1fa3-48cf-8023-e8f38e709ba6&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Visual Studio 2005 extensions for .NET Framework 3.0 (WCF &amp;amp; WPF), November 2006 CTP&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f54f5537-cc86-4bf5-ae44-f5a1e805680d&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=f54f5537-cc86-4bf5-ae44-f5a1e805680d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;ASP.NET 2.0 AJAX Futures November CTP&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d7101c1a-5993-4f70-9944-4b98f312502d&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=d7101c1a-5993-4f70-9944-4b98f312502d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;ADO.NET Samples for Visual Studio Code Name "Orcas" - October CTP&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c14c451d-7043-44f0-87d7-845f1c238d64&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c14c451d-7043-44f0-87d7-845f1c238d64&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Microsoft SQL Server 2005 Compact Edition RC1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=85e0c3ce-3fa1-453a-8ce9-af6ca20946c3&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=85e0c3ce-3fa1-453a-8ce9-af6ca20946c3&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;SQL Server 2005 Compact Edition Books Online Community Technology Preview (CTP)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e6bc81e8-175b-46ea-86a0-c9dacaa84c85&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=e6bc81e8-175b-46ea-86a0-c9dacaa84c85&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Windows SharePoint Services 3.0 Tools: Visual Studio 2005 extensions&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#000080 size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Also, Microsoft Office System&amp;nbsp;2007 has been released to manufacturers:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/presspass/press/2006/nov06/11-062007OfficeRTMPR.mspx"&gt;http://www.microsoft.com/presspass/press/2006/nov06/11-062007OfficeRTMPR.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;WOW!&amp;nbsp;I'm eager to start playing with this new stuff! (Except Office 2007 of course - unfortunately I'm not a manufacturer... or fortunately&amp;nbsp;&lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;).&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=60745" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1066.aspx">.NET Programming</category><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1067.aspx">Software</category><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1071.aspx">News</category></item><item><title>Unbelievable But True: Windows + Linux = Love?</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/11/03/60534.aspx</link><pubDate>Fri, 03 Nov 2006 18:10:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:60534</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/60534.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=60534</wfw:commentRss><description>&lt;P&gt;No comments. I&amp;nbsp;only hope this will be really useful for the industry as stated, not merely for the money makers:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Ron Hovsepian and Steve Ballmer take the stage together to announce a new collaborative relationship between Novell and Microsoft.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Novell and Microsoft are announcing an historic bridging of the divide between open source and proprietary software. They have signed three related agreements which, taken together, will greatly enhance interoperability between Linux and Windows and give customers greater flexibility in their IT environments. Under a technical cooperation agreement, Novell and Microsoft will work together in three primary areas to deliver new solutions to customers: virtualization, web services management and document format compatibility. Under a patent cooperation agreement, Microsoft and Novell provide patent coverage for each others customers, giving customers peace of mind regarding patent issues. Finally, under a business cooperation agreement, Novell and Microsoft are committing to dedicate marketing and sales resources to promote joint solutions.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.novell.com/linux/microsoft/"&gt;http://www.novell.com/linux/microsoft/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://online.wsj.com/public/article/SB116249026689311557-helTbrheLKgbaJ5iO5z40ZFCiOs_20061109.html"&gt;http://online.wsj.com/public/article/SB116249026689311557-helTbrheLKgbaJ5iO5z40ZFCiOs_20061109.html&lt;/A&gt;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=60534" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1067.aspx">Software</category><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1071.aspx">News</category></item><item><title>Internet Explorer 7 Final is Out</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/10/20/59316.aspx</link><pubDate>Fri, 20 Oct 2006 15:42:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:59316</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/59316.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=59316</wfw:commentRss><description>&lt;P&gt;It's not a secret that&amp;nbsp;the vast majority of websites&amp;nbsp;are designed for and&amp;nbsp;thus best viewed&amp;nbsp;with the most popular browser in the world by Microsoft. That was the main reason for me to use Internet Explorer rather than "alternative" browsers which were apparently much more fast and convenient than IE 6. Indeed, running one instance per site instead of handy tabbed&amp;nbsp;browsing&amp;nbsp;was a really bad idea...&lt;/P&gt;
&lt;P&gt;And here it comes. Welcome IE 7 Final! It's really faster, simpler, user friendlier... and really tabbed &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;. Here's&amp;nbsp;a list of the most important features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Simplified user interface (unnesessary items&amp;nbsp;were removed, maximizing the area devoted for the webpages). 
&lt;LI&gt;Tabbed browsing (finally...). 
&lt;LI&gt;RSS feeds (cool!). 
&lt;LI&gt;Advanced printing (scales a printed webpage so that it's not wider than the paper it will be printed on + other features). 
&lt;LI&gt;Improved security (phishing filter, anti-spoofing + many other). 
&lt;LI&gt;Improved platform (improved CSS 2.1, AJAX and many more).&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The browser is available to download at &lt;A href="http://www.microsoft.com/windows/ie/default.mspx"&gt;http://www.microsoft.com/windows/ie/default.mspx&lt;/A&gt;.&lt;/P&gt;&lt;IMG alt="Internet Explorer 7" src="http://img80.imageshack.us/img80/913/ie7yj0.png" border=0&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=59316" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1067.aspx">Software</category></item><item><title>Microsoft Released Visual Studio 2007 &amp;quot;Orcas&amp;quot; CTP</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/10/10/58517.aspx</link><pubDate>Tue, 10 Oct 2006 18:43:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:58517</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/58517.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=58517</wfw:commentRss><description>&lt;P&gt;Recently Microsoft released&amp;nbsp;a CTP of the next generation visual development tool. It is available to download &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=82243606-d16d-445c-8949-9ee8c10cda2e&amp;amp;displaylang=en"&gt;here&lt;/A&gt;.&amp;nbsp;If you don't like to install raw versions of software&amp;nbsp;onto your working machine, there's a little surprise for you: the CTP is distributed as a Virtual PC image so you can download it and start playing immediately without impacting any existing software installations! Actually, the process of getting the CTP to run is slightly more complex as you also need to download another image containing a host OS etc. However, I think it's much better than installing products that are still under development directly into the system.&lt;/P&gt;
&lt;P&gt;In general,&amp;nbsp;VS 2007&amp;nbsp;is still very, very far from the final release. Only a small part of the C# 3.0 features is supported, IntelliSense doesn't work for many language constructs, and so on. However, this is just a technical preview. Good luck to Microsoft in development of our main working tool! &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;&lt;IMG alt="Visual Studio 2007 CTP" src="http://img167.imageshack.us/img167/5581/orcasnk9.png" border=0&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=58517" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1067.aspx">Software</category></item><item><title>ExpoRTFaster!</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/09/27/57665.aspx</link><pubDate>Thu, 28 Sep 2006 02:47:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:57665</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/57665.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=57665</wfw:commentRss><description>&lt;P&gt;I'm glad to report that one of the numbers published by Roman in his &lt;A href="/Community/blogs/roman.korchagin/archive/2006/09/16/56872.aspx"&gt;recent post&lt;/A&gt;&amp;nbsp;is now out of date. I'm talking of the Aspose.Words RTF export speed. We wanted to optimize the export before v4.0 final is released and we've succeeded &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt; Basically,&amp;nbsp;exporting documents to RTF format&amp;nbsp;is&amp;nbsp;more time and memory consuming process than to&amp;nbsp;DOC or WordML. It's because of some specifics of the format. For example, "correct" RTF (such as that produced by AW &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;) should include extra fragments to satisfy old readers and the emission of those fragments might take an extra time. But now, after applying a number of optimizations RTF export is reasonably close to DOC and WordML export processes. We've succeeded to improve performance by more than 30% so that the large, complex, 212 pages document mentioned by Roman is now saved to RTF&amp;nbsp;in around 2 seconds! A similar improvement (over 30%) has been made to memory allocation so that the amount of memory consumed by the RTF exporter is now close to those consumed by other AW exporters.&lt;/P&gt;
&lt;P&gt;And this is not a limit of course &lt;img src="/Community/emoticons/emotion-5.gif" alt="Wink [;)]" /&gt; It's like a challenge to us - if we can make it even more faster, accurate, powerful. Even more AWesome!&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=57665" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1065.aspx">Aspose.Words Development</category></item><item><title>Class Design: Which is the Best?</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/09/07/56184.aspx</link><pubDate>Fri, 08 Sep 2006 01:27:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:56184</guid><dc:creator>DmitryV</dc:creator><slash:comments>3</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/56184.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=56184</wfw:commentRss><description>&lt;P&gt;What class design do you prefer? I&amp;nbsp;assume most of you follow Microsoft guidelines, and it's reasonable. However, practice shows that not all the recommendations should be blindly obeyed. I don't imply here fundamental rules like "never make instance fields public" (yet this also might be broken in some rare cases – imagine you have an internal class representing a low-level data structure with several hundred fields!). I'm rather speaking of naming conventions, order of members, and some other stuff related to the appearance of a class. I wanted to share few class design rules that seem different from most popular guidelines but proved to be useful to me and my teammates. I supplied each recommendation with a practical explanation of the reason.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Naming Conventions&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Use &lt;STRONG&gt;m&lt;/STRONG&gt; prefix for instance fields and &lt;STRONG&gt;g&lt;/STRONG&gt; prefix for static fields + Pascal style name.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why?&lt;/STRONG&gt; Despite Microsoft recommendations, including prefixes in field names seems useful due to several reasons:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Field identifiers cannot be mixed up with other identifiers, e.g. those of properties or local variables. 
&lt;LI&gt;No need in color highlighting (for example, offered by the ReSharper plug-in) to distinct field identifiers. 
&lt;LI&gt;IntelliSense sorts fields together thanks to the same prefix. 
&lt;LI&gt;Field look more "class level" than say when using camel style &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It seems like controls should be the only exception. There is no strict opinion how to name the fields holding controls. I don't like both the popular styles: neither including a prefix (such as&amp;nbsp;&lt;STRONG&gt;txtCustomerName&lt;/STRONG&gt;) because Hungarian notation is considered obsolete in .NET, nor ending the field name with the control's class name (too long – imagine something like &lt;STRONG&gt;CompilationResultsRichTextBox3&lt;/STRONG&gt;). So I'm just using Pascal&amp;nbsp;casing (instead of camel casing offered by VS designers) until I find a better rule.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Order of Members&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The order of members inside&amp;nbsp;a class:&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Ctor&lt;BR&gt;Methods&lt;BR&gt;Static ctor&lt;BR&gt;Properties&lt;BR&gt;Fields&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why?&lt;/STRONG&gt; Methods go first because when you open a source file in an editor, the first thing you want to read is normally&amp;nbsp;what the class DOES rather than what data it works with. The instance constructor is the "initializing" method so it goes very first. The static constructor goes last because it's usually the least "important" of the methods – it normally contains nothing but static field initialization. Properties might be treated as a hybrid of fields and methods so it's logical to place them in the middle; another argument is that most properties are nothing but field accessors,&amp;nbsp;hence&amp;nbsp;they should be placed closely to fields. Fields are last because they are usually the last thing you want to get familiar with when exploring a class.&lt;/P&gt;
&lt;P&gt;One can argue that it's reasonable to keep fields and their "wrapping" properties together. Yes, it makes sense because it allows easily remove a field and corresponding property if needed. However, inconsistency is our natural enemy so if we agreed to physically separate the code of the methods&amp;nbsp;and the data they work with, let's stick with this rule.&lt;/P&gt;
&lt;P&gt;It's a moot point which is the best place for events (not shown on the list), probably between static ctor and properties.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The order of members inside each group:&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Public&lt;BR&gt;Internal&lt;BR&gt;Protected&lt;BR&gt;Private&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;(Don't know where to put &lt;STRONG&gt;protected internal&lt;/STRONG&gt; – have you ever had to create any? &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why?&lt;/STRONG&gt; Mostly because less visible methods are normally invoked from more visible ones. There may be exceptions from this ordering for example if a private method is a helper method called from one or more public methods; in this case it's acceptable to place this private method right after the public method(s).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Other Rules&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Always explicitly specify the visibility of a class and its members.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why?&lt;/STRONG&gt; Just because it makes code more readable.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;If a method does not refer to any of the instance fields, make it static.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why?&lt;/STRONG&gt; Because you can easily extract it later for example to a utility class.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Do not use &lt;STRONG&gt;#region&lt;/STRONG&gt; blocks.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why?&lt;/STRONG&gt; Class shouldn't be so large to demand the use of &lt;STRONG&gt;#region&lt;/STRONG&gt;. Refactor the class to a couple of smaller classes.&amp;nbsp;Perhaps regions would still be useful say for separating methods and fields but they don't seem to have a&amp;nbsp;decent support in VS (I was amazed when discovered that collapsing regions makes the contents not searchable).&lt;/P&gt;
&lt;P&gt;So a "proper" class should look as follows:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class ProperClass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ProperClass(int field1, int field2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mField1 = field1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mField2 = field2;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void PublicMethod()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternalMethod();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal void InternalMethod()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int result = PrivateMethod(mField1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int PrivateMethod(int inputValue)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static string PrivateStaticMethod(string value)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (string)gSomeMap[value];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static ProperClass()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gSomeMap = new Hashtable();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gSomeMap.Add("Value1", "MappedValue1");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gSomeMap.Add("Value2", "MappedValue2");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Field1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return mField1; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal int Field2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return mField2; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { mField2 = value; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int mField1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int mField2;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static readonly Hashtable gSomeMap;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=56184" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1066.aspx">.NET Programming</category></item><item><title>A Bit More About Nemerle and Functions</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/09/07/56180.aspx</link><pubDate>Fri, 08 Sep 2006 01:00:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:56180</guid><dc:creator>DmitryV</dc:creator><slash:comments>0</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/56180.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=56180</wfw:commentRss><description>&lt;P&gt;After posting my &lt;A href="/Community/blogs/dmitry.vorobyev/archive/2006/08/22/55026.aspx"&gt;first impression about Nemerle&lt;/A&gt; I noticed that I had been criticized by some community members for my superficial knowledge of the language and related concepts. I like constructive criticism and I do accept it; so I'm thankful to those guys for pointing me to that.&lt;/P&gt;
&lt;P&gt;However, I'd like to note I didn't try to pose as an expert. I only expressed my current understanding of the language and I advisedly highlighted that in the post. So I think next time I will write a separate large disclaimer to show that the subsequent text will not pretend to be an expert's voice &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;
&lt;P&gt;What was mostly derided by the critics was the part about local functions. They disliked my sentence "I guess this would be useful to not overburden classes with specific small methods such as printing a formatted string". Yet I'm still persuaded this is true (as a particular case), I must admit functions are &lt;STRONG&gt;much&lt;/STRONG&gt; more important in Nemerle than just a nice but utility&amp;nbsp;feature.&lt;/P&gt;
&lt;P&gt;The real power of functions I guess (critics may relax!&amp;nbsp;no more than&amp;nbsp;my personal opinion &lt;img src="/Community/emoticons/emotion-4.gif" alt="Stick out tongue [:P]" /&gt;) is that they can be passed as parameters and return values. This resembles the behaviour of C# delegates but doesn't require them (although Nemerle does support delegates – probably&amp;nbsp;to satisfy the cases when Nemerle&amp;nbsp;assemblies&amp;nbsp;should be referenced from&amp;nbsp;other .NET languages). Also, unlike delegates, functions are much more flexible. So in this sense functions are similar to other data types.&lt;/P&gt;
&lt;P&gt;Here's how a method accepting a function looks like in Nemerle:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Compute(f : int * int -&amp;gt; int, x : int, y : int) { ... }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Among other parameters this method accepts a function which, in turn, accepts two integer values and returns an integer value.&lt;/P&gt;
&lt;P&gt;Nemerle also supports anonymous functions (similar to anonymous delegates in C# 2.0, but no need in delegates again). Anonymous functions might be useful when you need to pass some function to the iterator or filtering method so there's no need to refer it by its name.&lt;/P&gt;
&lt;P&gt;You can see how to create an anonymous function inline:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Compute(fun(x, y) { x + y }, 3, 4) { ... }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Nemerle supports different types of lambda expressions – which are basically a syntactic sugar for anonymous functions:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Compute((x, y) =&amp;gt; x + y, 3, 4) { ... }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Thus Nemerle provides an exhaustive&amp;nbsp;support for functional programming. I didn't mention here such features as partial application or function decomposition – just because I haven't made them out yet and don't want to mislead you. Although Nemerle doesn't force a developer to use this approach, it offers the mixing of two programming styles: the top-level program structure is object oriented, while in the body of methods&amp;nbsp;functional style can be (and probably should be) used. Therefore – I concluded that, as opposed to my first impression, &lt;STRONG&gt;functions are a core part of the language&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;Now let me share what I think of it. Although I really admire Nemerle, I do not feel myself "ready" to it yet, at least to use the mentioned "mixed" programming approach. I guess functional programming requires some special cast of mind. I'm not sure whether I will ever "grow" to it and whether I really need that at all. That's why the function use case I proposed might sound dumb for functional programming experts&amp;nbsp;&lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt; I'm personally a staunch supporter of the object oriented programming paradigm, and at the moment I do not feel to be in urgent need of using local functions in my code, neither do my colleagues. Time will show if we should change our minds. After all, C# 3.0 will support lambda expressions – is it just a tribute to fashion?&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=56180" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1066.aspx">.NET Programming</category></item><item><title>AWesome!</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/09/06/55993.aspx</link><pubDate>Wed, 06 Sep 2006 05:16:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:55993</guid><dc:creator>DmitryV</dc:creator><slash:comments>1</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/55993.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=55993</wfw:commentRss><description>&lt;P&gt;So we have almost finished another major release of Aspose.Words. We're happy to note how greatly the component evolves and improves despite it's still pretty young by the standards of software industry. It's less than 3 years old but it's already the &lt;A href="/Community/blogs/roman.korchagin/archive/2006/08/21/54861.aspx"&gt;subject to imitate&lt;/A&gt; &lt;img src="/Community/emoticons/emotion-2.gif" alt="Big Smile [:D]" /&gt;&lt;/P&gt;
&lt;P&gt;Among other cool features, two highly requested formats have been added to the component's arsenal, Rich Text Format (RTF) and WordprocessingML (WordML). One of the areas I'm responsible for&amp;nbsp;is&amp;nbsp;RTF export (will start working on import once we release 4.0 final version) so if you are curious, I will share some interesting facts related to that.&lt;/P&gt;
&lt;P&gt;Let me make some numbers public first. RTF 1.8 includes over 1400 keywords (called control words), and Aspose.Words now supports almost all of those required for proper representation of any Microsoft Word documents regardless of their complexity. The only exceptions are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Table styles&lt;/LI&gt;
&lt;LI&gt;Formatting revisions&lt;/LI&gt;
&lt;LI&gt;Comment ranges&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;All of these will be supported very soon.&lt;/P&gt;
&lt;P&gt;At the moment we process around 95% of the keywords. That wasn't so easy mainly because RTF is a very ambiguous format. That is some keywords or their values just do not obey the rules declared in the format specification (which is also pretty ambiguous, but that's a separate story &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;). Another difficulty was the inconsistency that was showing itself throughout the format. As a result, the code of the exporter is full of comments specifying that some keyword behaves differently from what is stated in the spec, or may include an undocumented value, or is not mentioned in the spec at all.&lt;/P&gt;
&lt;P&gt;Basically, RTF looks like the first attempt of migrating from binary to textual representation of documents. Yes, RTF &lt;STRONG&gt;is&lt;/STRONG&gt; a textual format but it's hardly supposed to be read by a user&amp;nbsp;&lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt; It's&amp;nbsp;impossible to understand what &lt;STRONG&gt;\tsbrdrdgr&lt;/STRONG&gt; or &lt;STRONG&gt;\lyttblrtgr&lt;/STRONG&gt; mean having no description, isn't it? That wouldn't be a problem, though, if the spec was strict and legible and described each and every keyword Microsoft Word may produce. Unfortunately, I couldn't rely on the format documentation only and had to verify most of the keywords to ensure we produced documents looking exactly similar to the Microsoft Word's output. &lt;/P&gt;
&lt;P&gt;Now I'm happy to state that all the problems are solved and the documents we're producing are identical to those created by Microsoft Word. Even their internal representation (I mean RTF stream itself) resembles Microsoft Word; for example, we satisfy old readers as RTF spec dictates (although we didn't test readers older than Microsoft Word 97).&lt;/P&gt;
&lt;P&gt;That doesn't mean we blindly mimicked Microsoft Word. For instance, we have a test document containing several ClipArt shapes that when saved as RTF and opened again in Microsoft Word, crashes it. However, Microsoft Word perfectly opens this document when it is exported to RTF by Aspose.Words &lt;img src="/Community/emoticons/emotion-2.gif" alt="Big Smile [:D]" /&gt;&lt;/P&gt;
&lt;P&gt;Anyway, Microsoft Word is still exemplary for us because we're working with its "native" formats and our goal is getting rid of any differences between the appearances of our documents. I think we've succeeded in it. The accuracy we've achieved is the reason why we call our export High-Fidelity, or Hi-Fi, in case you were wondering. We spend a lot of effort in details. Here's an example. Microsoft Word has no UI elements that allow setting up such line properties as joining style or miter limit. However, these are present among the shape attributes and it's enough to us to be supporting them in RTF and other formats. We just do not ignore&amp;nbsp;minor things&amp;nbsp;even though they are used pretty seldom - who knows, maybe some of your documents will contain those attributes.&lt;/P&gt;
&lt;P&gt;If nevertheless you find anything you treat as inaccuracy when exporting to any of the supported formats, welcome to the &lt;A href="/Community/Forums/75/ShowForum.aspx"&gt;Support Forums&lt;/A&gt;. Many improvements of the product are reaction to your requests, and we are in extreme need of your participation in the development process. We hope recently launched Aspose MVP program shows that well. Together we will make it Hi-End! &lt;img src="/Community/emoticons/emotion-5.gif" alt="Wink [;)]" /&gt;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=55993" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1065.aspx">Aspose.Words Development</category></item><item><title>Nemerle: The Mage's Language</title><link>http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/2006/08/22/55026.aspx</link><pubDate>Wed, 23 Aug 2006 04:25:00 GMT</pubDate><guid isPermaLink="false">1f624649-1f4f-4df4-b29e-aff06720ffd6:55026</guid><dc:creator>DmitryV</dc:creator><slash:comments>1</slash:comments><comments>http://www.aspose.com/community/blogs/dmitry.vorobyev/comments/55026.aspx</comments><wfw:commentRss>http://www.aspose.com/community/blogs/dmitry.vorobyev/commentrss.aspx?PostID=55026</wfw:commentRss><description>&lt;P&gt;&lt;IMG alt="Nemerle Logo" hspace=20 src="http://img180.imageshack.us/img180/3184/nemerlelogowe3.jpg" align=right border=0&gt;Nemmerle is the name of a mage from Ursula K. Le Guin's book "A Wizard of Earthsea". I don't know whether it's a fairy trick of his but Nemerle now seems to be one of the most popular among the family of "alternative" .NET languages and its popularity is growing. I&amp;nbsp;haven't had&amp;nbsp;a chance to explore it in-depth but from what I've learnt so far I can confidently state I like it!&lt;/P&gt;
&lt;P&gt;Nemerle resembles C# but is much more complex and flexible. Whereas C# looks like a hybrid of C++ and Java, Nemerle is a thermonuclear mixture of C#, Java, VB .NET, Pascal, and even Lisp &lt;img src="/Community/emoticons/emotion-2.gif" alt="Big Smile [:D]" /&gt; And that's not bad. That's great!&lt;/P&gt;
&lt;P&gt;Nemerle offers functional, object-oriented and imperative features. Actually, there are &lt;EM&gt;tons&lt;/EM&gt; of great features offered by Nemerle and it's impossible (and not reasonable) to list all of them here. I will just highlight the most distinctive of them.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Meta-programming.&lt;/STRONG&gt; This is what really makes this language POWERFUL. Imagine you could create your own programming constructs using special macros. You could extend the language as you like. Roughly speaking, you&amp;nbsp;could sculpture almost new programming language fully adjusted to your needs! That's what is possible in Nemerle.&lt;/P&gt;
&lt;P&gt;Even not running to an extreme, meta-programming is not yet another developer's toy, it &lt;STRONG&gt;is&lt;/STRONG&gt; useful. The process of development is full of various programming patterns we are forced to repeat more and more. We use many techniques and tools intended to make this easier. The examples are VS snippets or ReSharper Live Templates. C# also includes few built-in structures which simplify certain areas of programming (&lt;STRONG&gt;lock&lt;/STRONG&gt; instead the use of monitors, &lt;STRONG&gt;using&lt;/STRONG&gt; instead of calling &lt;STRONG&gt;Dispose&lt;/STRONG&gt; inside a &lt;STRONG&gt;finally&lt;/STRONG&gt; block, and so on), but their number is low and, what is more important, they are hardcoded into the syntax of the language and you cannot introduce your own.&lt;/P&gt;
&lt;P&gt;Let's take an example. Very often we create classes with several fields initialized in the constructor. There's nothing else to do within constructor body, just assign parameter values to a couple of fields. So we have a pattern here, and it would be nice to automatize the process of creating such constructors. We can use a tool to achieve that, and we&amp;nbsp;can not&amp;nbsp;declare the constructor at all if we use Nemerle, but apply a special macro instead &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;
&lt;P&gt;Take a look how easy it is (notice Nemerle uses Pascal style for declaring fields and parameters):&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000 size=2&gt;[Record]&lt;BR&gt;class Person {&lt;BR&gt;&amp;nbsp; public name: string;&lt;BR&gt;&amp;nbsp; public age: int;&lt;BR&gt;&amp;nbsp; public sex: bool;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;This is equivalent to&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;class Person {&lt;BR&gt;&amp;nbsp; public name: string;&lt;BR&gt;&amp;nbsp; public age: int;&lt;BR&gt;&amp;nbsp; public sex: bool;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp; public this (name: string, age: int, sex: bool) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.name = name;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.age = age;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.sex = sex;&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Record&lt;/STRONG&gt; is a macro which checks what fields are defined inside the class and generates constructor to initialize them.&amp;nbsp;It is a built-in macro and it looks like a C# custom attribute but you are free to develop your own that define custom language constructs such as new loop types or anything else!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Type inference.&lt;/STRONG&gt; Another great feature that allows you not to specify types of variables you declare. The compiler is smart enough to infer&amp;nbsp;the types&amp;nbsp;itself from variable assignments and similar things. That is, you don't need to write such long statements as:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Dictionary&amp;lt;string, int&amp;gt; d = new Dictionary&amp;lt;string, int&amp;gt;();&lt;BR&gt;d.Add ("Ala", 7);&lt;BR&gt;foreach (string s in args) {&lt;BR&gt;&amp;nbsp; ...&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;but you can write instead:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;def d = Dictionary ();&lt;BR&gt;d.Add ("Ala", 7);&lt;BR&gt;foreach (s in args) {&lt;BR&gt;&amp;nbsp; ...&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;This feature will also be supported in C# 3.0 but Nemerle offers it now and it's still obscure what compiler will be smarter to infer types. At least Nemerle compiler already shows great results in this area!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Functions.&lt;/STRONG&gt; You can define functions inside methods. I guess this would be useful to not overburden classes with specific small methods such as printing a formatted string. Here is an example which says hello to all persons in list:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;public Greet (people: list[string]): void {&lt;BR&gt;&amp;nbsp; def say_hello (s) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine ($"Hello $s");&lt;BR&gt;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;foreach (person in people)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; say_hello (person);&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The example shows more peculiarities of Nemerle: lists are special built-in elements of the language, and $ is used to mark a special active region within a string represented by an expression (and a simple identifier is also considered an expression) which gets evaluated and replaced with the result (nice and easy, compare it with C# string formatting).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;New language constructs.&lt;/STRONG&gt; Although C-based languages allow to implement everything a developer needs using their basic constructs, those constructs might sometimes be a bit too common to nicely&amp;nbsp;put&amp;nbsp;developer's intentions into code. For example, the &lt;STRONG&gt;for&lt;/STRONG&gt; loop is used very often to just repeat a block of code a certain number of times&amp;nbsp;without any special loop conditions and without the use of the control variable. So isn't writing &lt;STRONG&gt;for (int i = 0; i &amp;lt; 100; i++)&lt;/STRONG&gt; a little redundant for such cases? That's what we&amp;nbsp;must write however.&amp;nbsp;Nemerle includes a number of&amp;nbsp;"more specialized" language constructs to ease developer's life. So you can simply write &lt;STRONG&gt;repeat (100)&lt;/STRONG&gt; before&amp;nbsp;a block to repeat and that's it. I presume this construct is also defined by means of macros and this is COOL &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;
&lt;P&gt;I have actually mentioned here just a minuscule part of staggering Nemerle capabilities. To learn them all, visit the homepage of the language &lt;A href="http://www.nemerle.org/"&gt;www.nemerle.org&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I'm personally fond of C# but Nemerle just looks like the next step of evolution &lt;img src="/Community/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;&lt;img src="http://www.aspose.com/community/aggbug.aspx?PostID=55026" width="1" height="1"&gt;</description><category domain="http://www.aspose.com/community/blogs/dmitry.vorobyev/archive/category/1066.aspx">.NET Programming</category></item></channel></rss>