MSDN Blog Postings

via RSS Feed

Síguenos en Twitter!

Posted by on July 4th, 2009

Desde hace un tiempo para acá que venimos usando Twitter cada vez más. Te invitamos a que te conectes siguiendo nuestros usuarios para mantenerte al tanto de todo lo que hacemos en tiempo real.

Nuestras cuentas son:

  • Nuestros comentarios oficiales para desarrolladores de software de la región: MCAMSDN
  • Mis comentarios personales sobre desarrollo de software, mercadeo digital y muchos temas más: RicardoJ

Los esperamos!


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Imagine Cup 2009 kick off

Posted by on July 4th, 2009

So yesterday was kick off day for Imagine Cup 2009 Egypt. We had the different briefings for judges and competitors and then buses picked up every single participant to bring them to the Citadel (see previous post) for the opening ceremony. Prior to the ceremony we were given the opportunity to visit the Mohammad Ali Mosque. You can see on the pictures how amazing this place is on this slide show . Our embedded judges enjoyed the visit :-) From left to right: Professor James Hamblen (Georgia Tech),…(read more)
This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Lessons Learned from Bruce Lee

Posted by on July 4th, 2009

I have a post on Lessons Learned from Bruce Lee on Sources of Insight.  Bruce Lee was one of my early inspirations.  He was a patterns and practices kind of a guy.  In fact, Bruce influenced my software engineering approach.  Rather than lock into a single style, he took the best techniques from various martial arts and measured against effectiveness.  For example, he took a boxer’s hands and a wreslter’s grappling skills.

Here is a summary of my lessons from Bruce:

  • Be YOUR best.
  • Absorb what is useful.
  • Keep an open mind.
  • Aim past your target.
  • Stay flexible.
  • Focus on growth.
  • Master your mind and body.
  • Apply what you know.
  • Make things happen.

My favorite Bruce Lee quote is "Absorb what is useful, Discard what is not, Add what is uniquely your own.”  It’s all about finding what works for you and not blindly adopting things.

I’ve included a more exhaustive list of my favorite Bruce Lee quotes in my post, Lessons Learned from Bruce Lee.  Whether you’re a Bruce Lee fan or on a path of personal development, I think you’ll enjoy the tour of Bruce’s insight and words of wisdom.


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Imagine Cup 2009レポートその2 (7/3午後)

Posted by on July 4th, 2009

引き続き、Imagine Cup 2009世界大会のレポート続けます。
16:30の競技者ブリフィーングまで、少し時間があるので、部屋に戻って、明日の競技に備えるNISLab++のメンバー。
ちなみに、NISLab++メンバーの部屋は、4人相部屋ですが、ベッドルームが2つもあるスィートルームです。
NISLab++の部屋


16:30からは、いよいよ、競技者ブリフィーングがスタートです。
気合十分のチームCLFSのメンバー。


CLFSのメンバー


海外メディアの熱い視線も受けていた写真部門の寺田さん。


寺田さんとADEの明保能さん


こちらは、2年目で少し余裕ある感じでしょうか?チームNISLab++のメンバー。


NISLab++のメンバー


世界中の学生(出場チーム)と交流できるのもImagine Cupの世界大会の良いところです。
コロンビア代表チームとNISLab++のメンバー。


コ</p>
			</div>

			<p class=Posted in MSDN Blogs | Comments Off

Deep Dive to .NET Framework CLR を作成中です

Posted by on July 4th, 2009

TechEd 2009 横浜で「Deep Dive to .NET Framework CLR」というセッションを担当します。この資料を作成しています。このセッションは、私の著書である「The Root of .NET Framework」という書籍をモチーフにして、資料を構成しています。どのような内容が良いか、悩みながら作成を行っています。その途中経過を以下に引用します。

T2-07-01

PEヘッダーから CLIヘッダーのアドレスを見つけて

T2-07-02


 


CLI ヘッダーを読み解くのが、上記のスライドです。ここまで来るとメタデータが、どのように格納されているかを知りたくなることでしょう。それらも作成しているのですが、どこまで作るかが難しいところです。


これ以外にも、GCやCLRのホストインターフェース、RCWなどとアイディアがあるのですが、如何とも時間の制約がありますので作成したスライドを全部、説明しきれないかもしれません。現時点で30スライド程度が出来上がっていて、ここから SOSデバッガ拡張や.NET Framework 4.0の話を入れようと思っていますので。まだまだ、悩みは尽きません。公開されているセッションレベルは400番台なので、最低でも16進数ダンプの見方を知っている方が対象になると思います。


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Problem mapping user profile properties

Posted by on July 4th, 2009

One of my colleague pinged me with a strange problem he was encountering in user profile property mapping. He wasn’t able to add or edit user profile property import mappings because the ‘Data source field to map’ drop down and the ‘Enter field to map’ text box were missing from the ‘User Profile Property’ page in SSP. The page was coming without the dropdowns and showing ‘The selection of directory service properties is disabled because the portal is in an untrusted domain or no directory service import is configured yet’;


I initially thought it to be some issue with security permissions on reading some specific AD attributes. But that was not the case as he has succesfully imported the profiles from AD. Later on it was realized that the account under which he was running the SSP was a local box account and not a domain account. While importing profile he was prompted for domain account for importing profiles, that’s why he was able to succesfully import the profiles. But when the profile property page tried to connect using the SSP account, it failed and hence disabled the drop downs.


So if you are facing this issue, just make sure that the account used for import has read access to the directory store which generally the domain accounts will have.


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Performance Boost for SQL Queries – Filtered Index in SQL Server 2008

Posted by on July 3rd, 2009

SQL Server 2008 introduces an enhancement to the way the indexes are created which helps to get better performance from the same queries. This new little guy is known as ‘Filtered Index’. This is actually an Optimized Non-Clustered index which is well suited to cover the subset of data with in a table.

Every organization has a specific data usage pattern and if we have an idea of the data usage pattern then we can create the filtered indexes to cover the subsets of data that can actually yield faster results from our same query / stored proc.


Thank you very much for visiting this article. In case if you are not on the MSDN blogs then I would request you to please visit my blog at http://blogs.msdn.com/manisblog because at times I improve the existing articles after reading emails from people who enthusiastically provide their feedback. These improvements might not be reflected on the other blog sites who have indexed this article.

Let’s say the sample database “AdventureWorks” is used by a company that sells spare parts and they have different departments that sell specific products and lets say the racing bikes being the hottest in the market, it drives more sales for the racing bike spare parts. This means that more transactions are being done related to a specific product(s) so most of the times the data is filtered, is based on a specific Product Id. Moreover if there are millions of Rows in the table, it becomes really necessary to choose the indexes correctly and carefully because of the storage space involved to store them.

For example the queries (like the following one) are executed based on a selection criteria very frequently then the filtered indexes will help you a lot.

SELECT * FROM [AdventureWorks].[Purchasing].[PurchaseOrderDetail]

  Where ProductID =709 OR ProductID = 879 OR ProductID = 877

Let see generally how indexes speed up the queries. During the SELECT, UPDATE, DELETE operations the SQL optimizer will look for indexes and determine the most efficient method to complete an operation. In this process SQL Optimizer determines to use an index or to go for a table scan. The SQL Optimizer does this operation to reduce the query execution time and improve the performance.

Index seeks are preferred for the selective queries like the one above and the index seeks happen only when the optimizer finds the index on the table useful, otherwise it will scan all the records. Generally, searching an index to spot a matching record is faster than a table scan because it is ordered and less number of columns means small set of data which in turn means less hops to find the match. Unique indexes are faster and table partitions speeds it up more. Well ….discussing the anatomy of indexes and strategy for indexing the tables is a huge subject and there are books available for that so …let me get back to the topic where I left it.

So why a filtered index ? A filtered index can be used as an index for a subset of data rather than the entire set of data. The filtered index takes less space to store the index because it stores only index information related to a subset of data unlike an usual non-clustered index. In no way this is a substitute for  a regular Clustered and Non-Clustered indexes. This is an additional enhancement that can help you in tuning specific highly selective queries.

 

What are the advantages of Filtered Indexes :

Improved query performance and plan quality

A well-designed filtered index improves query performance and execution plan quality because it is smaller than a full-table non-clustered index and has filtered statistics. The filtered statistics are more accurate than full-table statistics because they cover only the rows in the filtered index.

Reduced index maintenance costs

An index is maintained only when data manipulation language (DML) statements affect the data in the index. A filtered index reduces index maintenance costs compared with a full-table non-clustered index because it is smaller and is only maintained when the data in the index is affected. It is possible to have a large number of filtered indexes, especially when they contain data that is affected infrequently. Similarly, if a filtered index contains only the frequently affected data, the smaller size of the index reduces the cost of updating the statistics.

Reduced index storage costs

Creating a filtered index can reduce disk storage for non-clustered indexes when a full-table index is not necessary. You can replace a full-table non-clustered index with multiple filtered indexes without significantly increasing the storage requirements.

You can also determine the space required for an index. Please visit : http://msdn.microsoft.com/en-us/library/ms191163.aspx 

 

How to create a Filtered Index ?

Let’s see an example :

USE AdventureWorks

GO

 

–Drop if the index already exists

IF EXISTS (SELECT name FROM sys.indexes

    WHERE name = N’FNC_PurchaseOrderDetail_Bikes’

    AND object_id = OBJECT_ID (‘Purchasing.PurchaseOrderDetail’))

DROP INDEX FNC_PurchaseOrderDetail_Bikes

    ON Purchasing.PurchaseOrderDetail;

 

GO

 

–Create a new index

CREATE NONCLUSTERED INDEX FNC_PurchaseOrderDetail_Bikes

    ON Purchasing.PurchaseOrderDetail(ProductID)

WHERE ProductID IN(709, 879, 877)

So simple .. just add a WHERE clause to the index. You need to choose the WHERE clause carefully.

 

When to Use Filtered Indexes

Filtered indexes are useful when columns contain well-defined subsets of data that queries reference in SELECT statements. Examples are:

  • Sparse columns that contain only a few non-NULL values.
  • Heterogeneous columns that contain categories of data.
  • Columns that contain ranges of values such as dollar amounts, time, and dates.
  • Table partitions that are defined by simple comparison logic for column values.

Reduced maintenance costs for filtered indexes are most noticeable when the number of rows in the index is small compared with a full-table index. If the filtered index includes most of the rows in the table, it could cost more to maintain than a full-table index. In this case, you should use a full-table index instead of a filtered index.

Filtered indexes are defined on one table and only support simple comparison operators. If you need a filter expression that references multiple tables or has complex logic, you should create a view.

 

Please visit books online to know more about filtered indexes and keep reading my blogs.

Bye Now !! :-)


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Julio 3, 2009. Estado de la innovación y conocimiento en Iberoamérica

Posted by on July 3rd, 2009

Para países de idiomas Español y Portugués en Europa y América Latina, el Estado de la ciencia 2008 revela la problemática respecto la vinculación academia-empresa, señalando que los mayores retos se encuentran en “la empresa”. Academia . No abordaré a fondo el aspecto académico, vale la pena examinar el mapa de producción de conocimiento relacionado a Ciencias de Computación en nuestra región. Un esfuerzo específico de Microsoft orientado a investigación en TIC en nuestra geografía es LACCIR . Vinculación…(read more)
This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Windows Mobile – Pushing the device to more for you

Posted by on July 3rd, 2009

 

I own an HTC Touch Diamond. I have owned an HTC Touch, TyTn and Wizard. Most experienced users of Windows Mobile phones will know nothing of great value comes from an out of the box experience. Anything interesting is a result of a workaround or a hack.

The device’s UI (TOUCHFLO) is basically a very sophisticated Today plug-in, hiding the user from the horrid native interface. 

The following posts will enumerate my experiences with this device and some not so obvious tricks.


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off

Первый день – полёт нормальный

Posted by on July 3rd, 2009

Уже второй час ночи, а для меня только что завершается первый день #imaginecup – а впереди самый сложный день, основная часть соревнований пройдёт именно завтра! Но обо всём по порядку.


Сегодня с утра мы слегка выспались, позавтракали, и начали с репетиций. В комнате примерно с таким вот видом из окна собралась вся российская делегация, включая прессу, и мы начали задавать ребятам из обоих команд коварные вопросы.


Panorama Window View (1280x431)


Вот в какой обстановке это проходило:


P1020031 P1020028


Затем пообедали, и прослушали брифинг для участников, на котором рассказали, как собственно будут проходить соревнования завтра. Начнётся всё в 8:30 утра, выступление нашей SDI-команды – в 12:05 по местному времени (13:05 по Москве – посылайте нам твиттер-приветствия и мысленные посылы удачи!), Embedded скорее всего выступают ещё раньше. Уже к обеду мы будем знать, кто прошёл в Top12 команд, а к вечеру – определятся уже 6 лучших команд в каждой из категорий! Так что ждите от нас завтра новостей, этот день для нас самый важный!


Вот как выглядел брифинг, и комната, в которой нам завтра выступать:


P1020033 P1020039


После брифинга мы поехали на автобусах в цитадель – это крепость, примерно по получасе езды от гостиницы. Если гостиница и окружающий её комплекс – это отдельный “город в городе”, то выехав на улицы Каира, проезжая через бедные кварталы мы ощутили Египетскую жизнь в её реалиях, welcome to the real world. Египет, конечно, производит лучшее впечатление, чем Агра в Индии, но всё равно очень аутентичное.


Сама цитадель – красивое зрелище, из неё открывается замечательный вид на Каир, а также видны пирамиды – это был наш первый взгляд на них издалека. На правой фотографии примерно в центре вы тоже сможете при желании их заметить:


P1020057 P1020086


Вот несколько фотографий наших ребят в Египте (жмите на фотографию для увеличения):


P1020064 P1020066 P1020071


После осмотра цитадели (внутри которой расположена мечеть), у наших ребят взяли небольшое интервью (пару вопросов), и мы пешком пошли в другую часть цитадели на открытие. Нас отделили от студентов-участников, которых строили по алфавиту (по названиям стран) для последующего парада. Длительное ожидание, холодный тоник со льдом, фотографии по дороге – но зато потом зрелищная церемония открытия, начиная от главного менеджера Майкрософта в Египте, вице-президента по MEA, главного директора студенческих инициатив Джо Вилсона и наконец Рея Оззи – главного по технологиям в Майкрософт! Практически никогда до этого Imagine Cup не открывал человек такого уровня, практически successor Билла Гейтса!


P1020117 P1020116


Затем было лазерное шоу, жареные сосиски, от которых шел зловонный дым и которых пришлось ждать в очереди – но это всё уже не так важно. Сейчас студенты отдыхают, я заканчиваю этот краткий отчёт за день и тоже собираюсь спать.


Пожелайте нам удачи – утром как раз тот момент, когда она нам понадобится! А ещё – наслаждайтесь фотографиями Египта и Российской команды на #imaginecup!


This post originated from and is provided by the MSDN Blogs RSS feed. The original post of the article can be found here.

Posted in MSDN Blogs | Comments Off