MSDN Blogs
from ideas to solutions
by Alex Homer
5 Feb 2012 at 1:10am
My wife will tell you that I'm really not very good at getting the point of things. I mean, when it comes to making typically vital choices such as whether I want brown sauce or ketchup on my sausage sandwich, I can't see the point of long-winded pondering and tortuous decision making. Just put brown on one half and ketchup on the other. In fact if there was a competition for getting the point, and she made me enter, I probably wouldn't even get the point.
...(read more)
by Mauro Giusti [msft]
5 Feb 2012 at 12:54am
Ok, we shipped!
Kinect for Windows SDK 1.0 is now available to all the Windows developers to change the way people interacts with their PC.
There are a lot of question in the public forums right now and many are tied to availability, license and prices, read Craig?s Eisler post on these topics, to find out.
Here I would like to collect the most amazing examples of use of Kinect for Windows that I witness online.
Let?s start with this virtual touch-screen using power point and Microsoft BI platform. My fellow MSFT co-worker Pedram Rezaei shows us how Kinect can detect the user touching a wall unleashing the magic of SQL Server BI.
Until next time.
BTW, I am the first on the left in the picture below, it was a fun picture to take with my team to display how Kinect can distinguish up to 6 people in the field of view.
by Stephen Toub - MSFT
4 Feb 2012 at 10:14pm
I was recently asked by a developer about getting some additional information out of ConcurrentDictionary<TKey,TValue>?s GetOrAdd method.
As a reminder, GetOrAdd either returns the value for a key currently in the dictionary, or if that key doesn?t have a value, it adds a value for the key as dictated by either a TValue provided by the caller or by executing a Func<TKey,TValue> provided by the caller. It then returns the new value. However, it doesn?t tell the caller which happened; all the caller knows is that it?s handed back the value (existing or new) that was associated with the key. The developer wanted to know which occurred, as he needed to notify some other code that a new value had been added.
While the built-in GetOrAdd method doesn?t provide this, we can build our own GetOrAdd overload to provide this behavior, building it on top of the existing TryGetValue and TryAdd methods:
public static TValue GetOrAdd<TKey, TValue>(
this ConcurrentDictionary<TKey, TValue> dict,
TKey key, Func<TKey, TValue> generator,
out bool added)
{
TValue value;
while (true)
{
if (dict.TryGetValue(key, out value))
{
added = false;
return value;
}
value = generator(key);
if (dict.TryAdd(key, value))
{
added = true;
return value;
}
}
}
The approach here is straightforward. We try to get the key?s value in the dictionary. If we can, then we use an out parameter to indicate that a new value was not added and we return the value we retrieved. If we can?t, then we try to add a new value as generated by the provided Func<TKey,TValue>; assuming that succeeds, we note the addition via the out parameter and we return the newly added value. If the addition fails (which should only happen if another thread concurrently added an item since we called TryGetValue), then we loop around and try the whole process again.
Using the TryGetValue, TryAdd, and TryUpdate on ConcurrentDictionary<TKey,TValue>, it?s possible to build many variations of this kind of behavior.
by Alfred Thompson
4 Feb 2012 at 10:00pm
I wrote a tic tac toe game for my Windows Phone today. It works just fine. I’m just not happy with it. I loaded a screen shot of it to the left. Oh it is obvious that the graphics are not so hot. Graphic design and UI design are just not my thing. I’m actually pretty happy that (in theory at least) I could give the XAML code off and have someone who is good at design fix it all up for me so I could just worry about the code. No, it’s the code I am unhappy with. Why? Well it’s a mess. It wasn’t designed. Now I’ve written multiple tic tac toe programs in my time. I know how it should work. But each time I just wing it. With close to 40 years of programming behind me I do a fairly good job of winging it. Unfortunately that same experience lets me recognize poor design when I see it. So what went wrong? Generally that old ready, fire aim mentality crept in to the process. You see I didn’t set out to write a great tic tac toe program. I set out to learn some Silverlight for Windows Phone development. So my focus was on other things than writing the best tic tac toe program I could write. In retrospect every tic tac toe program I have ever written was not written to write a great tic tac toe program but to either teach or learn some concept, tool, or idea. This is, unfortunately, all too often an occurrence for what I might call educational programming. I had a student complain once that the Advanced Placement Computer Science exam was one big set of examples about how not to program. It was hard to argue with him.
Sometimes this is ok. Sometimes doing it right means too much complication or at least too many lines of code for use in a test or as a simple concept example. Pro developer examples generally don’t go that route though. They are, usually, examples of exactly how to do it right. They’re great for professionals to learn from but too often are completely overwhelming for raw beginners. is there a middle ground? I’d like to think so. Finding it is the trick though.
I have a couple of example programs I have been using lately (Tic tac toe, Whack a Mole, and Pong) that are optimized for fast and easy creation in a demo or hands on lab setting. There is just a ton wrong with them. The tic tac toe and whack a mole could greatly benefit from some well designed custom object classes for example. The Pong (which in my defense someone else wrote but I have translated into VB fro the original C#) just takes too many shortcuts. All three programs look like they could have been written by a beginning programmer. What I have decided to do is to take some time and do all three of these game a lot closer to right. It’s a point of personal pride which I why I an posting this. I want people to ask me from time to time when they are going to see the results. You know – just to keep me on my toes.
Designed programs work better than hacked together programs. They are easier to debug, to maintain, to enhance and they look better. To me at least there is a feeling of satisfaction from a well designed and developed program that I just don’t get from something I have hacked together. I know that not everyone feels this way. I sure know that for some students just having a piece of code that compiles and meets the minimum standards is success. And that is fine as far as it goes. Other people pride themselves on hacking things together with at least the illusion of development speed unhindered by “wasted time” planning. That is just not me. Slapping things together today made me realize that I need more. I need that planning first. I need my code to be designed. I need to take the time to avoid coding bugs. No matter how much I tested today I just don’t feel as comfortable as I’d like that it is going to work in all cases. And that is not good enough.
//
by Bob German
4 Feb 2012 at 7:25pm
Every spring in my town, they send out a flyer asking residents to avoid standing water, as it's a breeding place for mosquitos. Watertown is close to the city and yards are small, so it's easy to comply. And it works! We can sit on the back patio on summer evenings and not get eaten alive, while friends in rural towns retreat to their screened-in porches.
Wouldn't it be good to drain the stagnant water in software and prevent pests from hatching later on? Well you can. This article classifies the most common species of SharePoint coding bugs, and how you can stamp them out before they sprout wings. I've seen dozens of bugs that would have never made it into production if only for these simple guidelines!
At last fall's SharePoint conference in Anaheim, fpweb.net gave away tee shirts that said, "It works on my machine!" I get comments and laughs every time I wear mine. The first three bugs are just that kind of infection: they appear in production, even after testing in staging and development.
1. Data Inconstans (The May or May Not Fly)
This vermin appears only in the presence of certain content, which may be found in production, but not on testing servers. The trick to prevent this is to sync content from production back into development and staging machines. That way, the problem is lured out during the testing process, before it can bite end-users. Perhaps you can't sync everything, but at least take representative content. And certainly sync content from any custom applications you've built!
Maybe the pest only shows up if you have a certain character in a list item field, or if you've changed the value in a lookup list. Maybe there's a 50 millisecond delay in a loop through a bunch of list items, and you don't notice it until there were so many items in the list that users go batty waiting for the screen to paint. (Do you really need to iterate through those items anyway?) I didn't make these up: they're all real bugs I found. Not in my code ... well, hardly ever! If you ask for my help troubleshooting, a copy of the production content will be my first request.
A site collection backup works well for copying the content; attaching a copy of a content DB works too. Repliweb has built a product to address this. However you do it, make it part of your everyday process. It's a minor amount of work compared with the time you'll save trying to hunt it down in production, not to mention the buzz from end-users!
2. Locus Incertus Suffragium (The Uncertain Resource Locator)
This might be the most abundant arthropod I've seen over the years. I've got some gray hairs from it; I've seen it in downloaded samples and toolkits; and before I learned my lesson, I posted code on MSDN Code gallery with this little beast inside. It's an infestation!
Here's how it happens. Suppose your code needs the URL of an image you deployed with a web part. If it's in a site collection feature, that image is under the top-level site in the collection. If the code looks for the image in SPContext.Current.Web it will work ... until you use it in a child site! Maybe you have the page URL, and need to navigate to a list in the site. The thing is, just looking at the URL, how can you distinguish between the managed path, the site collection root, and child sites, lists and folders? They're all different containers in SharePoint, yet they all look the same in the URL!
The object model can help here. SPContext.Current is a big help. Even if you create a new SPSite object, you can pass it a URL anywhere within the site collection and it will work. But then it's fickle, returning a ServerRelativeUrl of "/" for the root site collection, yet removing the trailing "/" when the site collection is below a wildcard managed path. This makes it impossible to simply concatinate a path on the end, and leads to code that looks like this:
SPSite currentSite = SPContext.Current.Site;
imageUrl = ((currentSite.ServerRelativeUrl == "/") ?
"/" : currentSite.ServerRelativeUrl + "/") +
"images/MyPicture.jpg";
This gadfly also frequents client side code, and the designer side of visual web parts.
The lesson is simple: test your solution in sites at different URL depths, even if you think you got it right. Test it anyway. We're only human, after all. Test your solution in:
A site collection at the root of a web application, such as http://myserver/
A site within that site collection, such as http://myserver/childsite
A site collection within a wildcard managed path, such as http://myserver/sites/test/
A site within that site collection, such as http://myserver/sites/test/childsite
Does that seem like a lot of trouble? It's worth it. You'll smile when someone says your web part worked perfectly, all the time.
3. Obses Non Compositus (The Security Scorpion)
There are several breeds of this pesky parasite:
The solution was tested by a privileged user, and the end users don't have privileges
(Developers normally log in as farm and server administrators, after all!)
The solution was tested with Windows Classic security, and production uses some form of claims
The solution was tested in a different domain
It's important to test with the same security configuration as your production environment, and to test as an ordinary user. I don't know how many times I've seen this, but it's a lot. Your staging environment should run in the same domain as production. It's the only way to test reliably, and find bugs that appear for real users in your domain.
4. Dispono Quisquiliarum (The Garbage Fly)
This is an oldie but baddie. It makes me wonder what unmanaged code lurks in the bowels of SharePoint. It's those IDisposable objects in the SharePoint API.
For those not in the know, here's the scoop. The .NET garbage collector will clean up most .NET objects. All you need to do is stop referencing them, and the garbage collector comes along and frees up the mess. If only that worked in my living room!
But some objects aren't so tidy. They use resources that live outside of .NET, and, like my town (who won't recycle anything that's not on its list), the garbage collector won't free up those resources. So these objects implement a special interface, called IDisposable. You need to explicitly dispose of those objects to free up the unmanaged resources, or you'll experience memory leaks.
Some of these objects are the at the core of the SharePoint API, such as SPSite and SPWeb. Even Linq developers can't escape this louse: the DataContext object is IDisposable too. To correctly dispose of these objects, use either the .Dispose() method or the C# using statement. The following example shows both methods:
using (SPSite mySiteCollection = new SPSite(http://myserver/))
{
SPWeb myWeb = null;
try
{
myWeb = mySiteCollection.RootWeb;
// Do something with the SPWeb ...
}
finally
{
// Now formally dispose of the SPWeb object
if (myWeb != null) myWeb.Dispose();
}
// Closing the using statement will dispose of the SPSite object
}
Notice the use of the try/finally block to ensure that the SPWeb object is disposed of even if the code throws an exception. The using statement does this automatically.
All this wouldn’t be so bad if the API were consistent, but there are times when you shouldn't dispose of these objects after all, such as when you obtain them from SPContext.Current.Site or SPContent.Current.Web. In this case, you're accessing SPSite and SPWeb objects that SharePoint is using to render the page, and disposing of them will render the UI unstable. If you've got a web part that seems to make the rest of the page go buggy, make sure you're not disposing of an object that belongs to SharePoint.
All the rules are spelled out here: http://msdn.microsoft.com/en-us/library/ie/aa973248(v=office.12).aspx. It's also a good idea to install SPDisposeCheck on your development machine to automatically flag these errors. You can download it here: http://archive.msdn.microsoft.com/SPDisposeCheck.
I hope this article is helpful to you, and equips you eliminate these nasties while they're still in the larval state. Thanks for reading!
by Willy-P. Schaub
4 Feb 2012 at 6:50pm
TechReady is over ? the dust is settling and I am convinced that all ALM Rangers are relaxing and recovering from a loooooooooooooooooooooong week of information overload :)
Here are the other TR14 blog posts:
TechReady 14 Report ? T-3 days and a going back to the future TechReady 14 Report ? T-1 days and getting nervous TechReady 14 Report ? T+0 - Day 1 was focused on Ruck and Quick Reference Guidance TechReady 14 Report ? T+1 ? Four ALM Ranger Sessions dominated the day TechReady 14 Report ? T+2?Beyond BRDLite and Architecture TechReady 14 Report ? T+3 ? The best ever TR session happened today!
When I looked at the (not yet final) results, I was amazed at the quality of sessions delivered and the phenomenal average achieved by the ALM Rangers. The developer track achieved showed an astonishing average of 4.44/5 this morning, which equates to 88.8%. The ALM Rangers average of their sessions, highlighted in red below) was a proud 4.712/5 this morning, which is 94%! ALM Rangers, you guys ROCK!
In terms of the Hands-on Labs, we achieved a 4,238/5 average, again ROCKING, considering the VERY critical developer community
Here are the final pictures of TechReady14.
What a stunning view from the 6th floor in Battlestar #41. The last day of TechReady welcomed us with a glorious blue sky.
Bob Hardister in his Battlestar #41 sabbatical cave
Pierre Donyegro, Ewald Hofman (pink shirt) and Giulio Vian (behind laptop) delivered the last ALM Rangers session, which was interesting, informative and very collaborative.
As the two last photos show, taken 15min after session was over, the Rangers battled to call it a day.
? the last view of Seattle before boarding the bus home.
C U @ TR15!
by JD Meier
4 Feb 2012 at 4:47pm
You can drive your week or your week drives you. One of the ways I add sanity to the chaos of my week is the Monday Vision, Daily Outcomes, Friday Reflection pattern. It?s a simple way to setup a rhythm of results for the week.
Monday Vision ? Three Wins for the Week
On Sundays or Mondays, I identify three wins I want for the week. For example:
Alignment on approach X across the four teams. A baseline information architecture for ?fast-pathing? cloud architecture. A usable prototype for cloud strategy ?on a page.?
Power Hours for Exponential Results
Some of the work requires ?heavy lifting? in terms of extreme concentration and focus. To do that well, I make sure that I allocate some of my ?Power Hours? to these problems. This will help me take cover more ground in a better, faster, and simpler way. For me, my best hours tend to be 8am, 10am, 2pm, and 4pm. I?ll use these to move the big rocks each day, or at least chip away at the stone.
When I make the mistake of working on a tough problem during a non-power hour, I end up wasting time, unless it?s exploration and creative work. If I need to make significant progress, my single best move is to use my Power Hours. That?s how I do ten hours of work, within a single hour. It?s me at my best. It?s firing on all cylinders. I can do mental sprints during those hours, and deal with the worst setbacks, and still make the most ground.
Stories to Light Up Meaningful Work
I use simple, ?one-liner? stories to make my goals or tasks more meaningful. I try to connect my goals back to my values. For example, I value customer impact, so instead of ?call a customer?, I ?win a raving fan.? I also value adventure, so instead of just driving my project, I?m ?leading an epic adventure.? It takes practice to frame work in terms of more meaningful achievements, but the key thing to remember is ?
You are always the most important meaning-maker in your life.
The story is in the change. You are the actor. That?s the empowering part. Whether it?s achieving a private victory, or making great things happen in your world of work, it?s about inspiring yourself with skill. You do that by connecting what you do to your values, and making a story out of it. This also helps when you have to tell and sell the value of what you do, and for yourself when you need to recap what?s going well.
Daily Outcomes ? Three Wins for the Day
Each day, one of the best things you can do is write down three wins you want to achieve. It?s not activities. It?s outcomes. Focus on the end-in-mind, and you can use these three outcomes to help prioritize and focus throughout your day. This is the best way that I turn laundry lists and end-less ?To-Do? lists into more focused results. It helps me deal with information overload and task-overwhelm. It?s a very simple way to step back and see the forest for the trees, at least for the day.
When you combine the idea of three wins for your day with three wins for your week, you can easily zoom in and out to keep perspective. When you need to focus on what?s in front of you, zoom into your day and focus on your immediate win. When you need a little more perspective, step back, and look at the wins you want for your day. When you need even more of a balcony view, simply step back and look at the three wins for your week.
Friday Reflection ? Three Things Going Well, Three Things to Improve
On Friday, simply carve out an appointment with yourself, and ask the tough questions. Ask the questions that will help you bring out your best. Ask the questions that will help you continuously improve and take your game to the next level. To do this, simply ask:
What are three things going well? What are three things to improve?
They are simple, but revealing questions. This gives you a chance to celebrate your wins. It gives you a chance to formally acknowledge what?s going well. Maybe things aren?t going the way you want them, but congratulations for making the effort and taking the steps, and doing the tough stuff. Catch yourself doing something right. This is how you build momentum and carry the good forward.
When you ask yourself what are three things to improve, use this as a chance to really identify some actionable things you can do to make things better. You can think of big changes, but I think little ones work just fine, if you actually do them. The beauty is, you can use all next week to try out your little changes. Each day is a new chance at bat. Repetition and practice are the best ways to improve.
If you follow this recipe for results, each week you should notice that you improve your focus, you achieve more wins, and you get better results. Another way to put it is, this recipe will help you spend the right time, on the right things, the right way, with the right energy.
And that is how you flourish, while flowing value, and achieving meaningful results.
Additional Resources
Getting Results the Agile Way ? Kindle Edition (Amazon) Design Your Week (Getting Results.com) Time Management Checklist
My Related Posts
Ability to Execute Agile Results with Evernote Time Management Best-Seller on Amazon ? Getting Results the Agile Way
by Ray Fleming
4 Feb 2012 at 4:00pm
Some Free February Appy-ness with a new piece of free software for teachers from Microsoft every day in February. Many of these items are unknown heroes, but they all share two things in common: 1) They are useful for teachers or students and 2) they are free.
Interactive Classroom
This add-in connects a teacher?s PowerPoint presentation to students? OneNote notebooks. During a presentation, teachers can:
Poll students with multiple choice, true/false, or yes/no questions. Distribute the lesson to students with OneNote Include real-time ink and text annotations.
Students can answer and respond through their individual OneNote notebooks, hand-held clickers, or computers, and the results display in the presentation. Students also get consolidated notes that match those of the teacher so they can keep track of what they need to learn.
You can see Interactive Classroom in action in the video below:
document.write("");
Where can I find out how to use it?
There is a discussion board for Interactive Classroom on the Education Labs site. And there are a number of videos on the Microsoft Showcase site that give step-by-step overviews of how to use it - Interactive Classroom overview - Sharing Real Time Notes - Creating and Conducting Polls
Where do I get Interactive Classroom from?
You can download the free Interactive Classroom application from Education Labs
by Mattotorang
4 Feb 2012 at 1:59pm
Live from Nokia Lumia Code 24 hours event in Bandung. I?m still here with 800 developers who fight to finish their apps with the rest of time ? 7 hours to go for 24 hours record. As I had limited time before to talk more about Windows Phone and Azure, in this post I will cover more of it, specific on Windows Azure Toolkit for Windows Phone (WATWP). WATWP provides Windows Phone Cloud Application project template for Visual Studio makes it easier for developers to create a Windows Phone application that relies on Windows Azure Storage and SQL Azure. You can download this toolkit on CodePlex and install, but before that, you have to prepare dependency check then do installations for all required components showed below.
WATWP provides Visual Studio template to create Azure backed end Windows Phone apps. Lets start to see its features, assuming you are not having Azure account yet. WATWP will prompt a dialog to choose cloud data storage mode of your application, on Windows Azure Storage, SQL Azure Storage or OData Service. In my case, I will show simple scenario using Windows Azure storage on Visual Studio Storage Emulator.
WATWP template that I used provides push notification services with two options of authentication mechanism ? ASP.NET Membership or Azure ACS. I used the membership version in this walkthrough. Make sure that you do not have any Web site running in ports 443 and 10080 on your local IIS before continue.
Just continue if you get certificate error until you get the landing ASP.NET page (administration page). To log into the Web application use the following credentials:
User Name: admin
Password: Passw0rd! (with a zero)
Once you logged in, you will get the page that manage Azure Storage (Table, Queue and Blob) and Microsoft Push Notifications. Let see on the Windows Phone project solution ? build and debug it. The app will redirect us to the log in page. If we click log on, that will open IE in the Windows Phone Emulator at http://127.0.0.1:10080/127.0.0.1.cer. Once logged in Windows Phone emulator, you can enable push notification.
In order to consume the REST services over HTTPS in a Windows Phone device or in the Windows Phone Emulator, you need to use a trusted SSL certificate. If you do not have one, you can use a self-signed certificate, but you need to install it in the phone before consuming the services.
Since the Computer Emulator always uses the 127.0.0.1 self-signed certificate, we need to install it in the Windows Phone Emulator before continuing with the next steps. If you leave the Windows Phone Emulator open, you do not need to install the certificate every time that you run the application. However, if you close the Windows Phone Emulator, you will have to install it again.
Once push notification enabled on Windows Phone (or emulator), the device will be connected to Microsoft Push Notification Service. You can logon the web administration to send notification messages.
You can also do Toast and Tile ? where you can push notification from Administration page to device.
Many more features on WAT-WP. Stay tune till the closing ? 7 hours to go. I hope I can close our 24 hour session by explaining Windows Azure toolkit for WP !! Love and proud to all of you. You will get more info if you attend my session in the morning, I will show to to extend the WAT for your custom apps with Azure backend!.
Keep wake up, stay tune!
Cheers ? Risman Adnan
by Prethish Kumar P S
4 Feb 2012 at 12:18pm
Description
This blog gives you practical guidance for setting up high performing BizTalk Server 2009/2010 in Physical or Hyper V/ Virtual Machine.
Introduction
Virtualization provides cost effective infrastructure management with high availability and improved Security and Reliability with Hypervisor. This will help to minimize the down
time with quick migration and protect important data using live backup. This document will help you to setup high performing BizTalk Hyper V machines with cost effective high availability .
We have seen multiple issues with BizTalk server 2009 Hyper V implementation in terms of performance and availability.
Microsoft has released the standard Hyper-V BizTalk setup with standard practise. However the setup required some more tuning to get the system working as expected.
This document ensures simple flow chart to manage the setup with clear failure points.
BizTalk Server – Implementation techniques
Microsoft BizTalk Product team has already released the best practise documentation on BizTalk Server implementation with Hyper V as well the Physical machines. However we have
seen some of the issues occurring required manual corrections of operating system registry values.
In order to make the document easier to use and more effective, the following flow chart was created:
We have seen errors like below and Host instances were getting stopped.
An error occurred while attempting to access the SSO database.
Function: GetGlobalInfo
File: infocache.cpp:1349
A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.).
SQL Error code: 0x00000079
Error code: 0xC0002A21, An error occurred while attempting to access the SSO database.
Along with the standard practice, it is advisable to go for highlighted changes updated in the flow chart to have a stable, high performing BizTalk Environment.
On BizTalk servers, update MaxUserPort and TCPTimeWaitDelay registry keys as per http://support.microsoft.com/?id=319502 and reboot servers.
On BizTalk SQL backend servers, set SynAttackProtect registry key to 0 (http://support.microsoft.com/kb/899599) , WinsockListenBacklog to 190 (http://support.microsoft.com/?id=328476) and reboot servers.
We have seen above corrections along with following best practices can help to setup high performing physical /Hyper V BizTalk server 2009 or BizTalk 2010 servers for your business.
by Surf4Fun
4 Feb 2012 at 12:08pm
http://msdn.microsoft.com/en-us/library/hh202938(v=vs.92).aspx...(read more)
by Alfred Thompson
4 Feb 2012 at 10:55am
We?ve had some changes in the DreamSpark program lately and the web site feels all different to me. So what I decided to do was to step though the process of first signing up for DreamSpark for students with Activations codes such as you get in a high school Dream Spark program of if you get a code from someone at Microsoft. The first step is easy ? head over to http://www.dreamspark.com and find the link (highlighted in yellow below) for how Dream Spark works for students.
Registration with DreamSpark
Clicking on that link gets you to this page where you find the sign up link (circled in red).
You will be asked to enter account information for your new DreamSpark account. Use the email address for a Windows Live ID (You can create one for free if you don?t already have one) Note that there are several options for verification. The Institution/School and ISIC Card options are for university students. If you are at a university and have a EDU email address you can use one of them. For most high school students we?ll be using the Activation code.
Pick a good password. The system wants letters, numbers and special characters so give it some thought. After this you will get an email to validate your address. Be sure and check the email account you used and validate the address before going further.
Registration with AppHub
Now jump over to the AppHub at http://create.msdn.com/en-US/ and sign up. Be sure to use the exact same Windows Live ID that you signed up to Dream Spark with. Why? Because AppHub is going to verify that you are a student who is allowed to register phones and submit apps to the marketplace for free. Free is good. You will get to a page like this one below. Be sure to select the right country and that you are a student. Also accept the terms and conditions.
Once you accept the system will attempt to verify you with Dream Spark. Assuming you validated your email and used the same Windows Live ID for both DreamSpark and the AppHub you should get the next screen to enter you personal details.
Be use to answer this all accurately. You may want to get paid for your software on the market place some day.
Next you pick an avatar and a gamer tag. The gamer tag is used for the Xbox market place and if you have an existing gamer tag you should use that. If not now you can create a new one.
The activation registration will be sending your email another activation link. Yeah again. Just trying to make sure people are using real working email accounts.
Once you verify your email address you will get this screen and know that your account is all set up.
Now if you have a Windows Phone (and if you don?t go get one!) you can register it as a developer phone for free. This will let you test your apps on the real phone and not just on the emulator. The instructions for this are pretty clear at http://msdn.microsoft.com/en-us/library/gg588378(v=VS.92).aspx Just scroll down to Registering Your Phone to Unlock It for Development
by Surf4Fun
4 Feb 2012 at 10:51am
The weaknesses in this category are related to defensive techniques that are often misused, abused, or just plain ignored
CWE-306
Missing Authentication for Critical Function
CWE-862
Missing Authorization
CWE-798
Use of Hard-coded Credentials
CWE-311
Missing Encryption of Sensitive Data
CWE-807
Reliance on Untrusted Inputs in a Security Decision
CWE-250
Execution with Unnecessary Privileges
CWE-863
Incorrect Authorization
CWE-732
Incorrect Permission Assignment for Critical Resource
CWE-327
Use of a Broken or Risky Cryptographic Algorithm
CWE-307
Improper Restriction of Excessive Authentication Attempts
CWE-759
Use of a One-Way Hash without a Salt
Reference: http://www.sans.org/top25-software-errors/#cat1
See my other blogs at:
http://blogs.msdn.com/devschool http://blogs.msdn.com/research http://blogs.msdn.com/socal-sam http://blogs.msdn.com/silverlightgames
See my colleagues blogs at:
Bruno Terkaly Bret Stateham Chris Avis Daniel Egan Dr. Doris Chen Harold Wong Jerry Nixon Joe Shirey Kenny Spade Matt Harrington Randy Guthrie
by Bryan Group [MSFT]
4 Feb 2012 at 9:49am
Fortunately I’ve had the chance to attend many events dealing with technology but my favorite, for a number of reasons has to be a semi-annual internal Microsoft conference held in Seattle that brings together all ‘softies from all over the world. I recently attended this conference (which shall remain nameless to protect the innocent) and it's a weeklong event jammed pack with chalk talks, hands on labs, a certification testing center and massive general sessions with speakers like Steve...(read more)
by Deva [MSFT]
4 Feb 2012 at 9:43am
Recently one of my developer customer (developer of PC and mobile based applications) was asking is there any difference available between Outlook Object Model (OOM) API and Pocket Outlook Object Model (POOM) API? If yes, where it's documented? As you know, the Pocket Outlook Object Model (POOM) API is a COM-based library that provides programmatic access to Personal Information Manager (PIM) data on mobile devices. It provides functionality for manipulating PIM-item collections and folders. I pointed...(read more)
Newsfeed display by CaRP