IIS - site offline but handshake phase done properly

Today I want to share with you an interesting scenario introduced by one of my customers. Let me give you a picture about where we are: We have a Web Server with two ip addresses configured on top of it. Two web sites are hosted on mentioned Web Server. Let’s call them site1 and site2. Both sites are available over HTTPs to final users and each site uses is own ip address. To be clear: Site1 – ip1:443 Site2 – ip2:443 In case that you configure one of your web sites offline (basically you stop it), IIS participates to SSL handshake phase http://support.microsoft.com/kb/257591/en-gb even if associated site is off line. As results, IIS sends out the SSL certificate to final user and after that an HTTP 404. How is it possible? Let’s try to answer about this question: http://support.microsoft.com/kb/175952/en-gb “The Winsock application that is listening on the designated port was written so that it binds to any local IP address by using INADDR_ANY. This means that the application will listen to all local interfaces and you can connect to the port of any of them. This is why netstat -an shows IP address 0.0.0.0 listening on the port.”            What previous KB reports is clear: each time that an application defines a socket for a specific ip/port, Winsock takes care to listen for incoming requests to the specified port without restricting this operation on a specified ip. This is the default behavior. Coming back to our scenario! Even if one site is stopped, the second one is working on port 443. What does it mean? Winsock listens on port 443. We can check this by running following command: netstat -ano |findstr :443 TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 4 As soon as an incoming connection comes-in for off line site, it finds-out a process who is listening on this port on server side: Winsock. This one completes the handshake phase sending out the configured SSL certificate to client. After handshake phase is completed, the request is moved to IIS so it answers with 404. Is it possible to avoid this? Yes of course, by instructing WinSock to listen only the specified ip instead of all available IPs on the machine: http://support.microsoft.com/kb/954874/en-gb. In our case: netsh http add iplisten ip1 netsh http add iplisten ip2 properly restart the services. Of course after stopping web site, we have to instruct Winsock to not listen incoming connections on the web site ip: netsh http del iplisten xxx.xxx.x.x Enjoy your IIS administration! Carmelo

Posted by on 25 May 2013 | 11:55 am

Inspiration for test-driven design?

What could possibly inspire someone to take test-driven design (TDD) more seriously? I can only tell about what kind of experience has inspired me: (1) the act of watching someone doing TDD with dexterity. (2) Observing the quality of the outcome in relation with its requirements and specifications. (3) Checking out the pace of work in the professional life of the person in (1) —mainly, that she has a full life after work hours. I usually tell a story from my first encounter with a TDD-like mindset, that day I knew that software design and computer programming was much larger and distinct —orders of magnitude distinct— than I had understood at the moment (and I was already a software engineering practitioner, with a computer science degree). I leave the full story for other time, shortly: it was about 1998, when many of us were talking about how bright the software design world would be with the “Unified Method” and drawing UML in large screens, and full applications automatically generated out of those drawings. Then came that guy, Kent Beck, talking about what I thought was a kind of “heresy”: test-first programming. The point is that he was not just talking about it, I saw him doing it, with a pair-programming partner, in a presentation in front of many. They wrote the code, test-first, and ran a demo of a small application using Smalltalk, in minutes. And the application design had very relevant quality properties of coupling, cohesion, separation of concerns, layering, that we know are important. Moreover, TDD is just one among a set of interrelated values, principles and practices. There are enough to unlearn, re-learn, and learn that re-launch my professional career, from time to time, is a justified idea. For me, there are inspiration in the idea that transforming my professional life is in my very own hands; that is, in particular, in the possibility of changing my very own professional mindset. Fortunately, there is ample room if someone choose to do that, because software design and computer programming is much larger and deeper than usually thought. If our current fraction of theory and practice about software design and computer programming enable us to be part of this connected systems revolution of today, how much more we will able to do if we regularly reassess our current mindset? I have seen programmers looking for case studies to convince their management partners about the goodness of TDD. They might need acquisition approval for books, tools, maybe external coaching assistance, so they certainly could benefit from case studies that show how TDD is good for the business. But the more compelling business cases I have seen is not just for a single practice like TDD but for the pattern language of interrelated practices under the adaptive way of life. If they are looking to convince management about something, perhaps they should strive for a more compelling business case; for example: The Economics of Iterative Software Development: Steering Toward Better Business Results. Fortunately, free aspects of TDD can be practiced without any approval because those aspects are part of doing their job, a job that management already expects they fulfill well. Therefore, there are effects of TDD that can be shown as business benefits, not in the somewhat abstract language of a case study about what others have done in a foreign context, but as tangible business benefits in their own context. With this concrete supporting evidence, they could be in a much better position to convince anyone to provide more management support. «How do I sell my executive team on doing this stuff? Don't. Just do it. They don't know what you're doing anyway» —Jim Highsmith

Posted by on 25 May 2013 | 9:34 am

A Quick Discussion of Active and Passive FTP Connections

I get a lot of questions about Active versus Passive FTP Connections, specifically when people are configuring their FTP firewall settings as described in my articles like Configuring FTP Firewall Settings in IIS and FTP Firewall Support, and I get related questions when people are trying to figure out why they can't use the command-line FTP.EXE utility that ships with Windows over the Internet. With all of this in mind, I thought that I would put together a quick blog that explains Active and Passive FTP connections and why those matter when you are connecting to an FTP server over the Internet. Here is the briefest description that I can think of to describe the different between Active and Passive FTP: When you are using Active FTP, your FTP client determines how your data connections will work. When you are using Passive FTP, your FTP server determines how your data connections will work. That sums up the whole concept into two bullet points. Unfortunately, neither of those bullet points are the least bit significant to you if you don't understand what they actually mean, so I will describe them in detail below. How Active FTP Works The following output shows the communication between an FTP client and FTP server using Active FTP to retrieve a simple directory listing, and I manually color-coded the output so that the client and server's responses would be a little easier to see: OPEN ftp.contoso.com Resolving ftp.contoso.com... Connect socket #1920 to 169.254.10.1, port 21... 220 Microsoft FTP Service HOST ftp.contoso.com 220 Host accepted. USER robert 331 Password required for robert. PASS ********** 230 User logged in. PWD 257 "/" is current directory. PORT 169,254,10,2,72,50 200 PORT command successful. LIST 125 Data connection already open; Transfer starting. drwxrwxrwx 1 owner group 0 Feb 15 19:26 aspnet_client -rwxrwxrwx 1 owner group 689 Jan 31 22:27 default.htm 226 Transfer complete. Transferred 106 bytes in 0.008 seconds QUIT 221 Goodbye. In the beginning of this exchange, the client connects to the server from one of its ephemeral data ports to the server's port for the FTP command channel. After negotiating the FTP host, username, and password, the client retrieves the name of the current directory. So far all of the client/server communication has taken place over the FTP command channel, and up to now the conversation is identical to Passive FTP, but that is about to change. The client's next task is to request a directory listing, which is denoted by the LIST command. The server will return its response to the client over the data channel, so before FTP client can send the LIST command, the client has to specify whether to use Active or Passive. In this example, the client has specified Active FTP by sending a PORT command. The syntax for this command is PORT A1,A2,A3,A4,P1,P2, where A1 through A4 are octets of the client's IPv4 address, and P1/P2 are two bytes that make up a 16-bit (0-65535) port address on the client. (Note: if you are using IPv6, there is a similar EPRT command that works with IPv6 addresses.) Here's what the information in the PORT command means: the FTP client is essentially telling the FTP server, "For the upcoming data transfer, you need to talk to me at this IP address on this port." This means that the FTP client is actively in control of how the subsequent data communication is going to take place. If we analyze this information, you can easily see why Active FTP will often fail to work over the Internet. As a relevant example, if you were to use the FTP.EXE client that ships with Windows, it can only use Active FTP. So when a client computer requests something from the server that needs to use the data channel, the client computer sends its IP address via a PORT command. If the FTP client is behind a firewall or NAT server, then the client is going to send its internal, LAN-based address, to which the FTP server will more than likely fail to connect. For example, if you are on a LAN that uses a NAT server and you have a 192.168.0.nnn IPv4 address, that IP address is invalid over the Internet, so the server will never be able to establish a data connection to your client to send the data. How Passive FTP Works The following output shows the communication between an FTP client and FTP server using Passive FTP to retrieve the same directory listing as my previous example, and once again I manually color-coded the output so that the client and server's responses would be a little easier to see: OPEN ftp.contoso.com Resolving ftp.contoso.com... Connect socket #2076 to 169.254.10.1, port 21... 220 Microsoft FTP Service HOST ftp.contoso.com 220 Host accepted. USER robert 331 Password required for robert. PASS ********** 230 User logged in. PWD 257 "/" is current directory. PASV 227 Entering Passive Mode (169,254,10,1,197,19). LIST Connect socket #2104 to 169.254.10.1, port 50451... 150 Opening ASCII mode data connection. drwxrwxrwx 1 owner group 0 Feb 15 19:26 aspnet_client -rwxrwxrwx 1 owner group 689 Jan 31 22:27 default.htm 226 Transfer complete. Transferred 106 bytes in 0.008 seconds QUIT 221 Goodbye. As I mentioned in my earlier example, the beginning of this conversation is identical to Active FTP: the client connects from one of its ephemeral data ports to the server's port for the FTP command channel. After negotiating the FTP host, username, and password, the client retrieves the name of the current directory as in my earlier example - and here's where the difference begins. Once again the client's next task is to request the directory listing, which is still denoted by the LIST command. But in this second example, the client has specified Passive FTP by sending a PASV command. The server responds to this command with a reply that is in the format of 227 Entering Passive Mode (A1,A2,A3,A4,P1,P2), where A1 through A4 are octets of the server's IPv4 address, and P1/P2 are two bytes that make up a 16-bit (0-65535) port address on the server. (Note: if you are using IPv6, there is a similar EPSV command that works with IPv6 addresses.) Here's what the information in the response to the PASV command means: the FTP client is essentially telling the FTP server, "For the upcoming data transfer, you need to tell me which IP address and port I should use to talk to you." This means that the FTP client is passively allowing the server to control how the subsequent data communication is going to take place. If we analyze this information, you can easily see why Passive FTP often works over the Internet; when the FTP server is in control of the communication parameters, it doesn't matter whether the FTP client is behind a NAT server, because the server is telling the client how it should communicate with the server. All of this leads to an obvious question: what happens when both the server and the client are behind NAT servers or firewalls? This is where a little bit of configuration comes into play. If you read my Configuring FTP Firewall Settings in IIS and FTP Firewall Support articles, you would notice that you can configure the IIS FTP service to tell the FTP client which IP address to use; when your FTP server is located behind a firewall, you would configure your FTP server to send the external IP address of your firewall, and then you would configure your firewall to route FTP requests on that IP address to your FTP server. Since the FTP server is sending the external IP address of your firewall, the client knows how to communicate to the FTP server even though it is behind a firewall, even if your server is using a LAN-based internal IP address. In Closing... Having explained everything in my preceding examples, you should now understand what I meant earlier when I described the difference between Active and Passive FTP with these two simple points: When you are using Active FTP, your FTP client determines how your data connections will work. When you are using Passive FTP, your FTP server determines how your data connections will work. I hope this clears up some questions you might have about Active versus Passive FTP, why you sometimes need to configure your firewall settings for your FTP service, and why the built-in FTP client for Windows seldom works over the Internet. That wraps it up for today's blog post. ;-]

Posted by on 25 May 2013 | 1:29 am

[Sample Of May 24th] WPF MVVM practice demo

  Sample Download : CS Version: http://code.msdn.microsoft.com/CSWPFMVVMPractice-f8ef01da VB Version: http://code.msdn.microsoft.com/VBWPFMVVMPractice-370fd298 The sample demonstrates how to implement the MVVM pattern in a WPF application.   You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

Posted by on 24 May 2013 | 10:28 pm

Hello Dynamics SI World...

My name is Suresh Kotapalle and I am an Engineer in Dynamics Ax product team in Redmond working on shaping up the next version of Dynamics Ax. It's almost 5 years since I joined Microsoft Dynamics family and enjoyed delivering Ax2012 and Ax2012 R2 products. Last week I had an opportunity to deliver the partner training in Redmond campus and met quiet a few partners who are serving the SI space. I learnt a quiet a bit from the partners and realized that there is a great deal of enthusiasm from the partners to communicate with the product team and want to be play a role in shaping up the next version of the Ax product. I am opening up this channel to reach out to the partner/customer community in the service industries area to talk about existing SI capabilities in the product and also seek feedback in shaping the next version of the product. Happy Memorial Day and Enjoy the long week end..

Posted by on 24 May 2013 | 7:05 pm

Microsoft Enterprise Library 6 - Wave 2 Release

Last month we shipped the new versions of Microsoft Enterprise Library and Unity. They've been very well received. Today we are pleased to add the following guidance assets to enhance the set of reusable components: Reference Implementation (RI) – an end-to-end sample application that showcases the use of various application blocks from Enterprise Library. Note the RI comes in 2 versions – for EntLib v5.0 and for EntLib6. This was intentional as we have never produced an RI for v5.0 and by doing so we were also able to guide you through a migration process. It’s highly recommended you review the installation guide packaged with the RI first. Enterprise Library 6 binaries – full set (includes all binaries and doesn’t require any ports to be open to pull additional dependencies via NuGet) – this is in response to the requests of the customers in constrained network environments. New Unity Developer’s Guide with code samples. Updated Enterprise Library Developer’s Guide (preview) with code samples. Enterprise Library Quickstarts, including: Semantic Logging: Flush on Error Trigger. Semantic Logging: Alarm Flood Throttle. Reconfiguring Logging Application Block at runtime (via a verbosity setting in an appSetting in the configuration file). Reconfiguring Semantic Logging Application Block at runtime (via a service setting for a Windows Azure role). Unity Quickstarts: StopLight showcases basic container usage such as type mapping and resolving with attributes. Event Broker showcases the use of a custom extension to wire up events instead of wiring them up through code. Updated Config tool VSIX package for Visual Studio 2012 Addresses an issue of side-by-side editing of v5 and v6 solution properties if you have both installed . Updated Unity reference documentation (preview). Updated Enterprise Library reference documentation (preview). As a reminder, we also have a Migration Guide, which we shipped earlier, to help you move your app from using EntLib v5 to v6. We hope these additional materials will help you learn EntLib and Unity and get quickly up to speed in using them. In p&p we consider the written guidance that complements our code to be as important as the code itself. We spend a lot of time and effort making sure that it’s technically accurate, as well as engaging to read. We appreciate your patience while we work on polishing and finalizing the developer’s guides and making them available as books (both printed and eBooks). We’ll gratefully accept your feedback on any of the above. We are also seeking EntLib and Unity users willing to share their stories as case studies to be included in the guides. If you are interested in contributing a short story, please contact me for details. Happy learning, happy experimenting, happy coding!

Posted by on 24 May 2013 | 5:49 pm

Maintenance on Tuesday 5/28/13 13:00 - 24:00 UTC - Scheduled

We’ll be shipping another update to our Team Foundation Service on Tuesday 5/28/13 13:00 – 24:00 UTC.  We will disable new account creation in the early stages.   There is the potential that some builds could take a bit longer to get through the queue to complete. Keep checking back for updates. Thank you, Erin Dormier

Posted by on 24 May 2013 | 4:57 pm

Side by Side Versioning with a Web-Hosted Xamlx Workflow Service video and download on Code Gallery

I have created a video walkthrough of implementing side-by-side versioning with a web-hosted xamlx workflow service here: Side by Side Versioning with a Web-Hosted Xamlx Workflow Service This project provides a demo of implementing side-by-side versioning with a web-hosted xamlx workflow service, as described in the accompanying MSDN topic Side by Side Versioning in WorkflowServiceHost. The WorkflowServiceHost side-by-side versioning introduced in .NET Framework 4.5 provides the capability to host multiple versions of a workflow service on a single endpoint. The side-by-side functionality provided allows a workflow service to be configured so that new instances of the workflow service are created using the new workflow definition, while running instances complete using the existing definition. It is very easy to configure and implement, and this code gallery project provides a running sample and a video walkthrough that demonstrates how to do it.    

Posted by on 24 May 2013 | 4:45 pm

Proof of Concept to test scalability of stream data processing in Azure.

Co-authors: Neeraj Joshi, Jason Short, Ercenk Keresteci   Introduction The Developer Platform Evangelism team has been engaged with partners that have solutions on instrumentation requiring a very high rate of data ingestion. This Proof of Concept (PoC) is designed with proving the scalability of Windows Azure for processing the data. Background Currently all of the instrumentation solution providers typically have a solution like this: · Each sensor capable recording data at specified time interval. · Each unit (Secondary Instance) capable of capturing different sensor data streams · Each central instance (Primary instance) capable of receiving data from 100s of Tier2 with over 1000 sensors with data streams · Each tenant (or company) may have multiple Secondary tiers depending on factors like Geo locations, business partitioning etc. Finally each Tier1 or Tenant needs to process the data streams and then do some business logic on top of those and store them in an accessible fashion for reporting. The output is most certainly grouped by the sensor tags. Reporting on that data will take place after that. We have been asked whether Windows Azure is really capable of the current scale of on premise solutions. The next order is whether we can even support a multi-tenant solution with each tenant doing such operations. We were able to deconstruct the PoC into three projects: 1. Ingestion: To test scalability to copy the data streams to Azure 2. Data Processing: Assume that data is there in input blobs and process in worker role and then index the data. 3. Reporting An earlier PoC was completed to demonstrate the first part i.e. ingestion of data. This PoC is targeted specifically to demonstrate the rate of Data Processing. PoC Setup & Architecture Diagram Input Storage Accounts For the purposes of this PoC we will assume that the data is pre-generated in one storage account. We will have functionality to pull the data from multiple storage accounts should the need arise for more performance. Conceptually this could also be used as an isolation boundary especially in cases of very large tenants who might want to own their own data in their own cloud subscription. Datasets Each dataset is a set of data potentially belonging to a tenant. In the current PoC the dataset is implemented as a container containing individual files. Files The input file contains the actual data. Each line will contain one data point namely the GUID representing the tagID, Timestamp and Value. Currently our input generator randomly generates an input file from 1MB to 4MB containing the specified amount of distinct tags. Output Output is stored in files on a per tag basis. To avoid contention we implemented a series of optimizations namely - For every tag, each thread on every instance will write a separate file. Total number of threads is optimally determined by the Task Parallel Library. Every line in the file will contain a timestamp and a value of that tag. Note this is the most basic form of storing output data. There are many other ways of compressing the tag values especially for those that change infrequently. Currently the files are stored in the same dataset they are being processed. e.g. 05052013055816/302fbaac-0107-438a-84d9-252ea87ec34f-088d6f8e29084ac78464db1419c29044-DataMorph.Processing.Worker_IN_1-0.bin Data Processing Queues Currently we have two queues datamorphworkqueue and datamorphprogressqueue. The first queue indicates the total amount of work to be done and gets populated as soon as we start the run. The second queue is not necessary for processing logic. The web role we display the UI listens on this queue to post updates back to the browser using SignalR. Worker Roles 1-n number of worker roles are spun up to process in the inbound data from the queue. The number of threads within each worker role is optimally determined by the Task Parallel Library (TPL). Results Metrics: Before we talk about the numbers, here is our data collection mechanism.   Metric Calculation Total Processing Time T8 – T1 Read Time T3 – T2 Parse Time T5 – T4 Write Time T7 – T6     Increasing Instances (Constant Total Cores) In this set of experiment, we kept the total number of cores constant at 64 and controlled for the number of instances. Summary: Performance goes up we increase the number of instances even though total cores remain the same. Conversely, on an individual basis the average read and write times degrade as the instances increase. This could be because for the 8-core systems we are multiplexing the IO whereas for the single instance cases we have to setup/teardown the IO path more often. However, this time gets masked because of the asynchronous scale-out aspect of the workload and the fact that the Parse time has decreased significantly. Increasing Roles & Total cores (Constant cores per Role) In this experiment we kept 1 core per instance and controlled for the total number of instances. Thus we increased the total number of cores to observe the performance. Summary The performance increases as we increase the total number of cores. However, the tags per sec do not increase linearly as the cores increase with total instances. The scale factor is significantly less than 2 (1.55) for 32 instances and 1.47 for 64 instances. This can be attributed to the workload and the fact that we are doing very little work. So just adding roles and cores is increasing our Read & Write times while keeping the Parse Time constant.   Conclusion Scale-out pattern works on Azure Since the highest system on Azure is an 8-core box, the scale-up performance will hit a bottleneck very fast. The only way to achieve greater performance is through a scale-out architecture. The items below should be considered when designing an architectural pattern to process streaming data on Azure: Avoid contention as much as possible A key design factor into achieving scale out is avoiding contention. In our setup there is contention in three different places: reading the input, parsing the data and writing the output. Input consists of read-only files and there is no contention in their processing by the Worker role. Parsing the data is a specific business logic function which may or may not have contention. In our case, we assumed that the tag data read can be processed by the same thread without any other resource constraint. Finally the key optimization is in writing the output. We specifically implemented some key assumptions which will avoid contention while writing the data: · We create a file per tag per thread per instance of the worker role. So once the thread picks up the data from the input file, it will own the files related to the tags it processes. There is literally no contention. · We also index the data in Azure Table so that we know which file contains which data point. Azure Table will only contain the file and the tag along with the timestamp. Use Queues to optimize processing Queues are used in this pattern to list the work that remains to be done. The worker roles will poll the queue and then process the input files based on the messages in the queue. The messages will be deleted by the worker role only after it has written to the output file. In general, use one queue and multiple processors to achieve highest throughput is an efficient way to process multiple requests. Asynchronous Processing This loosely-coupled pattern helps with both contention and scale-out of resources. In our case the reading and writing are done by worker roles who are not dependent on each other as well as on the order of processing. They will process the work from the queue and update the queue Resiliency All of the data in Azure gets stored in at least 3 copies (For local redundant storage) and 6 copies across two datacenters (for Geo-Redundant storage). This assures that we will not lose either the input or output in event of a disaster. If any role goes down, the message in the queue doesn’t get deleted and it will be picked up by the other instances as a part of the next batch of messages. Further customization for optimizing a specific workload Our current project was a Proof of Concept. For real applications there are multiple customizations which would need to be done to fit their specific requirements. Batch Size In our implementation we processed messages in batches of 10. This has a direct impact on memory as well as processing time for an instance. Too few batch sizes would increase the impact of the time to retrieve & process a message, and too large batch size would potentially starve other role instances. Memory used If the actual business logic in the worker role is dependent on memory, then the code will need to change to accommodate that. This could be implemented by reducing batch size, processing tags in a different way. Tag compression and decompression Our input data as well as the output data is the simplest implementation of streaming sensor data. Almost all of the available sensor data collection systems utilize some compression. The compression can be significant if the data doesn’t change that often. This can be leveraged to project an even higher number of tags per second. Tenant prioritization Currently we treat all tenants (represented as Datasets) equally. This could be easily modified to prioritize tenants or a set of tenants.

Posted by on 24 May 2013 | 4:14 pm

Friday Five – May 24, 2013

1. A Converged Networks Design For Hyper-V On SMB 3.0 Storage With RDMA (SMB Direct) By Virtual Machine MVP Aidan Finn – @joe_elway 2. Tom’s Tutorials For Excel: Using Data Validation to Disallow Entry of Item in a List By Excel MVP Tom Urtis – @TomUrtis 3. Create tasks for outlook.com and a second Tasks folder By Outlook MVP Diane Poremsky – @outlooktips 4. C# Developer’s Anonymous (Defending C# in a JavaScript World) By Visual C# MVP Ben Hoelting – @benhnet 5. Step-by-Step: Configuring the Microsoft iSCSI Software Target as a Storage Device for System Center VMM By Virtual Machine MVP Mitch Garvis – @MGarvis

Posted by on 24 May 2013 | 3:45 pm

Top 10 Microsoft Developer Links for Friday, May 24th

Mark DeFalco: Stay Connected with the Ch9 Events App Scott Hanselman: JavaScript is Assembler and that's OK. Rohan Thakkar: Windows Phone 8 XAML LongListSelector Willy-P. Schaub: Let us talk about “Quality Bars” Practical .NET: Use Predicate Methods to Stop Writing For...Each Loops Bruno Terkaly: Fundamentals of Good Gaming – Some general guidelines – Windows 8 App Factor Matt Sampson: OData Apps in Update 2 - Querying Data from Stack Overflow Kris NVS: The Tale of writing Good Code… LightSwitch Help Website: Understanding The LightSwitch HTML Client Visual Collection Eric Lippert: The mystery of the inserted method 1809

Posted by on 24 May 2013 | 3:30 pm

Visualisation des données en 3D avec « GeoFlow » pour Microsoft Excel 2013

La visualisation de données #datawiz est une constituante importante de l’Open Data pour « faire jaillir » l’information. Un précédent billet s’intéressait à ce propos à l’extension DataExplorer pour Microsoft Excel 2013. Histoire d’aller encore un peu plus loin, nous abordons dans ce billet une autre extension de Microsoft Excel 2013, à savoir « GeoFlow ». « GeoFlow » (nom de code du projet) est une nouvelle extension de visualisation de données en 3D et de narration qui fournit une méthode puissante simple d’appréhension pour afficher, explorer et interagir avec des données géographiques et le cas échéant également chronologiques (temporelles), permettant des découvertes dans les données qui pourraient être difficiles à identifier dans les tableaux 2D traditionnels et les graphiques. Avec « Geoflow », vous pouvez tracer jusqu'à un million de lignes de données en 3D sur une carte Bing Maps, voir comment les données évoluent dans le temps et partager avec d’autres vos découvertes à travers de belles captures d'écran et des visites guidées cinématographiques. Pour de plus amples informations sur « GeoFlow », nous vous invitons à consulter la page Facebook dédié : https://www.facebook.com/GeoFlowForExcel. Vous pouvez télécharger l’extension « GeoFlow » depuis le Centre de téléchargement Microsoft ici. Téléchargez le fichier GeoFlow Preview For Excel 2013.exe et exécutez ce dernier. Il ne vous reste plus qu’à suivre les instructions de l’assistant d’installation. Une fois l’extension installée, vous accédez aux fonctionnalités de « GeoFlow » au sein de Microsoft Excel 2013 depuis l’onglet INSERT du Ruban Office via le bouton Maps du groupe de commande GeoFlow. Les « présentations » étant ainsi faites, ce billet se propose de repartir là où le précédent billet vous a « laissé ». Ce billet constitue en quelques sortes une seconde partie. Ainsi, vous avez agrégé par le biais de l’extension Data Explorer, sur le thème « les communes françaises », différentes sources de données, à savoir des données provenant d’un flux OData (via la plateforme de publication de données ouvertes OGDI DataLab) et des données complémentaires provenant directement d’Internet. PowerView vous a ensuite permis de visualiser les données résultantes sous forme de diagrammes 2D affichés sur un tableau de bord. Nous allons nous intéresser ici à la visualisation en 3D de ces données sur une carte géographique. Pour cela, notre jeu de données doit posséder des données localisées (avec des coordonnées géographiques, une adresse, un nom de ville). Ça tombe bien : notre analyse précédente portait sur le nombre d’habitants de chaque département français. Qui dit département, dit aussi coordonnées spatiales. C’est parti !! Etape 1 : Prise en main de « GeoFlow » Commencez par télécharger le fichier Data_Explorer.xlsx issu du tutoriel précédent proposé (également) en pièce jointe de ce billet. (Allez pour cela tout en bas du billet), ou si vous préférez, suivez les étapes de celui-ci jusqu’à l’étape 3 au minimum. Ouvrez le fichier Data_Explorer.xlsx dans Microsoft Excel 2013, puis sélectionnez la feuille de calcul nommée Final. Pour ce faire, cliquez sur l’onglet nommé Final en bas de l’interface d’Excel. Cette feuille représente le tableau résultant de la commande Merge de DataExplorer. Comme mentionné ci-avant, cette commande a été appliquée à deux sources de données, la première venant de l’instance de test OGDI DataLab mise à disposition par Microsoft France ici, avec des informations sur les 36 000 communes de France, et la seconde en provenance de Wikipédia proposant la liste des départements français avec leur nom, la région associée, et le numéro. Sélectionnez l’onglet INSERT du Ruban Office et cliquez sur le bouton Map du groupe de commande GeoFlow. Un menu s’affiche. Cliquez sur Launch GeoFlow. Une boîte de dialogue s’ouvre, cliquez sur + New Tour. Une nouvelle fenêtre s’ouvre alors, chargeant automatiquement les données en provenance de la feuille Excel courante dans le moteur de requête « GeoFlow ». Vous devez obtenir le résultat suivant : Comme vous pouvez le constater, l'interface est relativement épurée avec un Ruban Office, un globe au centre sur lequel seront affichés nos diagrammes plus tard et deux panneaux Tour Editor et Task Panel de part et d’autre de la carte. Pour continuer votre « petit tour du propriétaire », le Ruban Office propose les commandes suivantes : Themes : Changement du thème de la carte (en mode foncé, en mode photographie spatiale, etc.). Map Labels : Activation de l’affichage des noms des villes sur la carte. Data Shape : Ajout de formes (rond, carré, etc.) personnalisées. Add Scene : Ajout d’une nouvelle séquence animée (visible dans le panneau Tour Editor à gauche). Play Tour : Déroulement de l’enchainement de toutes les séquences animées, avec les transitions entre chacune d’elles. Chart : Ajout par-dessus la carte d’un diagramme Excel, utilisant les données de la colonne sélectionnée dans le panneau de droite. Show All Legends : (Ré)affiche des légendes supprimées de la carte. TextBox : Ajout par-dessus le diagramme d’une étiquette à l’endroit voulu. Tour Editor : Affiche le panneau éponyme à gauche. Task Panel : Affiche le panneau éponyme à droite. Add Layer : Ajout d’un calque graphique (visible et paramétrable dans le panneau Task Panel) avec laquelle nous allons pouvoir afficher nos données de la façon souhaitée. Find Location : Recherche sur la carte d’une adresse en utilisant l’API Bing Map. Copy Screen : Prise d’une capture d’écran de la partie centrale qui sera mise dans le presse-papiers. Pour les besoins du tutoriel, nous nous positionnons sur la France à l’aide des boutons de navigation. Etape 2 : Filtrage des données Commençons maintenant par choisir ce que nous voulons afficher sur la carte comme information. Nous vous proposons de mettre en évidence pour les besoins de ce tutoriel le nombre d’habitant que possède chaque département français. Pourquoi avoir choisi l’échelle du département ? Elle n’est dans la pratique ni trop grande et ni trop petite, un juste milieu pour afficher la carte de France avec un seuil acceptable en terme de nombre de données affichées et suffisamment synthétiques. Les colonnes de notre tableau Excel qui vont vous intéresser sont donc le département (colonne NewColumn.Departement) et la population (colonne popu) qui est exprimée par unité de cent. Dans le panneau Task Panel à droite, vous devez voir une liste défilante placée sur le seul élément présent Layer 1. En dessous, sont listés les colonnes existantes dans le tableau nommé Table21 (qui provient de la feuille Excel). Au sein de cette liste, choisissez NewColumn.Departement, puis dessous dans la zone GEOGRAPHY, déroulez la liste en lien avec la colonne et sélectionnez State/Province. Cliquez sur Map It. « GeoFlow » se charge alors de géo-localiser les informations de notre jeu de données en utilisant le service Bing Map. Ce dernier agrège les informations par départements (c’est à dire les regroupe ensemble). Tout ceci est transparent. Apparaissent alors des carrés rouges sur la carte de France à chaque emplacement de département. Vous pouvez parcourir la documentation de notre jeu de données qui est fourni par le Répertoire Géographique des Communes (RGC) ici. Vous en avez presque fini :) Il ne reste plus qu’à spécifier ce que nous voulons comme donnée(s) à afficher par département. Sélectionnez pour cela dans la liste l’élément popu. En dessous, dans la section Char Type, vous pouvez choisir quel type de diagramme utiliser. Le type par défaut est histogramme (Column). Choisissez pour cette catégorie de donnée HeatMap. Vous obtenez le résultat suivant. Rendez-vous dans la fenêtre de paramétrage du calque (Layer). Cliquez sur l’icône (dans le panneau Task Panel à droite). Dans Layer Name, remplacez la valeur par défaut par « Habitants par département ». Ce texte s’affiche alors dans la légende de la carte. Réglez la valeur de Color Scale dans Size à 160%. Réglez la valeur de Radius of Influence à 250%. Le résultat final est le suivant : Aller plus loin Il est possible de définir une nouvelle colonne dans notre tableau Excel représentant la densité de population. Celle-ci est facile à calculer avec Excel car elle est le simple résultat de la division entre nombre d’habitants et la surface : popu / surface * 10^4 Notez au passage que la multiplication par dix puissance quatre est nécessaire pour retrouver un résultat en habitants/km² (La surface est exprimée en hectare et la population par centaine d’habitants). Vous pouvez ensuite ajouter un second calque pour représenter cette densité. La capture ci-dessous présente le résultat : Les zones de chaleur représentent la densité d’habitants tandis que l’histogramme représente la population cumulée pour un département. Cette carte décrit avec plus de précision que la précédente la répartition des hommes sur le territoire français. On peut constater par exemple que le département des Bouches du Rhône a une densité faible malgré un grand nombre d’habitant cumulé (principalement grâce à la ville de Marseille). Ceci conclut ce billet à la découverte de « GeoFlow ». Nous n’avons qu’effleuré le champ des possibles. Si la visite vous a plu, voici quelques liens complémentaires pour poursuivre votre exploration : Le guide de démarrage sur la technologie GeoFlow. La vidéo de présentation réalisée par mon collègue Franck Mercier. Le billet sur la conférence PASS Business Analytics sur le blog de l’équipe SQL Server.

Posted by on 24 May 2013 | 3:14 pm

Exchange Server and Outlook Standards Support Feedback

Microsoft recognizes that in an increasingly interconnected computing landscape, enabling interoperability between products from different vendors is important.  In particular, Microsoft understands that its customers value interoperability with respect to email and calendaring functionality. In addition, in December 2009, Microsoft made a comprehensive commitment to the promotion of interoperability to the European Commission.  In connection with that commitment, Microsoft is soliciting community input regarding its support of the core and most commonly adopted email and calendaring standards in the next versions of Exchange Server and Microsoft Outlook. Exchange Server 2013 and Microsoft Outlook 2013 support the following core and most commonly adopted email and calendaring standards:  IMAP:  Internet Message Access Protocol version 4.1 (RFC 3501) POP3: Post Office Protocol version 3 (RFC 1939) iCalendar:  Internet iCalendar Protocol (RFC 2445), the iCalendar Transport-Independent Interoperability Protocol (RFC 2446), and the iCalendar Message-Based Interoperability Protocol (RFC 2447). Documentation of that support is publicly available at no charge on MSDN.  Microsoft will continue to support these standards in the next versions of Exchange Server and Microsoft Outlook.  To provide feedback on additional email or calendaring standards that you would like Microsoft to support in the next versions of Exchange Server and Microsoft Outlook, please click here or send email to emailstand@microsoft.com.  Please do not include confidential information in your feedback; feedback will be not be treated as confidential.  After 90-days, Microsoft will consider all of the feedback provided and post a general response in this forum.   Thank you, in advance, for your input.  

Posted by on 24 May 2013 | 3:06 pm

Unit Testing Delay Signed Assemblies on the Hosted TFS Build Service

Rob Jarratt, our dev lead on the Unit Test Generator project, has been rolling up his sleeves to get the forthcoming BETA release verified and signed. He has shared his experience with Unit Testing Delay Signed Assemblies on the Hosted TFS Build Service … an invaluable and interesting read!

Posted by on 24 May 2013 | 1:53 pm

Windows Failover Cluster validation warning indicates your disks don't support the persistent reservations for Storage Spaces

I have seen questions from customers who get a warning in the results of their failover cluster validation that indicates the storage doesn’t support persistent reservations for Storage Spaces. They want to know why they got the warning, what it means, and what should they do about it. First, here is the text you will see in the report from the failover cluster validation.  It will be highlighted in Yellow and the test may have a Yellow triangle icon next to it: Validate Storage Spaces Persistent Reservation Validate that storage supports the SCSI-3 Persistent Reservation commands needed by Storage Spaces to support clustering. Test Disk <number X> does not support SCSI-3 Persistent Reservations commands needed by clustered storage pools that use the Storage Spaces subsystem. Some storage devices require specific firmware versions or settings to function properly with failover clusters. Contact your storage administrator or storage vendor for help with configuring the storage to function properly with failover clusters that use Storage Spaces.   Question: Why did I get this warning? Failover cluster requires a specific set of SCSI-3 persistent reservation commands to be implemented by the storage so that storage spaces can be properly managed as clustered disks.  The commands that are specifically needed for Storage Spaces are tested, and if they are not implemented in the way that the cluster requires, this warning will be given.  Question: What does this mean and why is it a warning and not a failure? Failover cluster has multiple tests that check how the storage implements SCSI-3 persistent reservations.  This particular test for Storage Spaces is a warning instead of a failure because clustered disks that aren’t going to use Storage Spaces will work correctly if the other SCSI-3 persistent reservation tests pass. Question:  What should I do when I get this warning? Check the disks that are identified in the warning message and verify whether you will ever want to use those disks with Storage Spaces. If you want to use the disks with Storage Spaces on the cluster, then you should check your storage configuration and documentation to see if there are settings or firmware/driver versions required to support clustered storage spaces.    If you aren’t going to use Storage Spaces with this cluster and storage, and the other storage validation tests indicate the tests passed, then you can ignore this warning. The following note is in the KB article that states the support policy for Windows Server 2012 failover clusters.  The yellow yield sign mentioned is referring to a warning in the validation test results. http://support.microsoft.com/kb/2775067 Note The yellow yield sign indicates that the aspect of the proposed failover cluster that is being tested is not in alignment with Microsoft best practices. Investigate this aspect to make sure that the configuration of the cluster is acceptable for the environment of the cluster, for the requirements of the cluster, and for the roles that the cluster hosts. Here are some links to more information regarding clustered storage spaces, cluster validation, and the support policies regarding the validation tests: Blog: “How to Configure a Clustered Storage Space in Windows Server 2012”  http://blogs.msdn.com/b/clustering/archive/2012/06/02/10314262.aspx TechNet: Deploy Clustered Storage Spaces  http://technet.microsoft.com/en-us/library/jj822937.aspx TechNet: Validate Hardware for a Windows Server 2012 Failover Cluster  http://technet.microsoft.com/en-us/library/jj134244.aspx Microsoft Knowledge Base Article: The Microsoft support policy for Windows Server 2012 failover clusters  http://support.microsoft.com/kb/2775067   Steven Ekren Senior Program Manager Windows Server Failover Clustering

Posted by on 24 May 2013 | 1:49 pm

Pie in the Sky (May 24, 2013)

Ah, it's the end of another busy week. Luckily it's a long weekend here due to a holiday on Monday. Here's some links for your weekend reading: Cloud Microsoft announces major expansion of Windows Azure Services in Asia: Public preview in China and future data centers in Japan and Australia . How to set up a load balanced web farm of virtual machines on Windows Azure: Creating a farm of Linux (or Windows) VMs on Windows Azure. IrisCouch has joined the Nodejitsu team: The title says it all. AMQP support with Windows Azure Service Bus is GA: Title says it all. Head on over for a read if you’re interested in AMQP 1.0. VM Depot: It's been a while since I linked to this, but it's still very useful. A collection of community submitted VMs for use with Windows Azure Virtual machines. Node.js Node v0.10.7 released: Another week, another Node.js release. Node.js library for authentication with Windows Azure Active Directory: Active directory auth for Node.js in the form of Passport strategies. Ruby Basic RubyGem Development: Start here if you’re new to writing gems. Intermediate RubyGem Development: Continuing from the basic article above. Misc. Run meteor on Windows: A few ways you can run Meteor on Windows currently. JavaScript is web assembly language, and that’s OK: Pretty much. DIP in the wild: Dependency Inversion Principle, and some examples of it.  Enjoy! - Larry

Posted by on 24 May 2013 | 1:42 pm

Отправьте свое приложение на конкурс Re-imagining Consumer Health with Windows 8 and HealthVault Challenge

Здравоохранение быстро развивается, и вместе с этим расширяются возможности разработчиков по созданию приложений, помогающих улучшить жизнь людей во всем мире. 13-14 мая 2013 г. при финансовой поддержке корпорации Майкрософт в Силиконовой долине состоялась конференция Health: Refactored для создателей приложений, дизайнеров и технических специалистов, интересующихся здравоохранением. На этой двухдневной конференции они смогли узнать много нового, поделиться информацией и наладить связи. На конференции мы объявили о проведении конкурса Re-imagining Consumer Health with Windows 8 and HealthVault Challenge (Новый взгляд на здоровье пациентов с использованием Windows 8 и HealthVault). Призовой фонд этого конкурса, проводимого Health 2.0, превышает 15000 долл. США. Призы могут выиграть разработчики, создающие приложения Магазина Windows с использованием платформы хранилища данных о здоровье пациентов HealthVault, разработанной в корпорации Майкрософт. Кроме денежного приза победитель получает право на дополнительную поддержку в сфере проектирования, разработки и маркетинга от корпорации Майкрософт. Вам нужны вдохновляющие идеи для разработки приложений? В Центре разработки для Windows вы найдете идеи по проектированию приложений для здоровья и фитнеса. А если вас интересует создание приложений для медицинских организаций, существуют также рекомендации и вдохновляющие идеи для таких приложений. Кроме того, вы можете ознакомиться с семью отличными медицинскими приложениям в блоге, посвященном опыту работы с Windows. Прием заявок на конкурс открыт до 30 июня. Ознакомьтесь с правилами конкурса здесь. И расскажите нам, над чем вы работаете, в Твиттере, использовав в своем твите хэш-тег #Win8Hack. Удачи на конкурсе! -- Бен Томпсон (Ben Thompson), руководитель подразделения маркетинга с партнерами

Posted by on 24 May 2013 | 1:35 pm

Inscreva o seu aplicativo no desafio “Re-imagining Consumer Health with Windows 8 and HealthVault"

A assistência médica está evoluindo rapidamente, e a oportunidade de os desenvolvedores criarem aplicativos que possam ajudar a melhorar a vida de pessoas do mundo todo está maior do que nunca. No dia 14 de maio de 2013, a Microsoft promoveu a Health: Refactored, uma conferência de dois dias no Vale do Silício voltada para o aprendizado, compartilhamento e conexão de especialistas técnicos, designers e desenvolvedores de aplicativos interessados em assistência médica. Anunciamos na conferência o Re-imagining Consumer Health with Windows 8 and HealthVault Challenge. Esse desafio, promovido pela Health 2.0, oferece mais de US$ 15.000 em prêmios para os desenvolvedores que criarem um aplicativo da Windows Store aproveitando a plataforma de armazenamento de saúde do consumidor da Microsoft HealthVault. Além do prêmio em dinheiro, o desenvolvedor vencedor terá direito a suporte de marketing, desenvolvimento e design adicional da Microsoft. Precisa de ideias para o desenvolvimento do aplicativo? O Centro de Desenvolvimento do Windows contém ideias de design específicas para aplicativos da categoria Saúde e Boa forma. Ou, se você tiver interesse em criar aplicativos para empresas e provedores de assistência médica, há também orientação e ideias para esses aplicativos. Confira também os sete ótimos aplicativos de assistência médica no blog Windows Experience. O desafio vai até 30 de junho, leia as regras completas aqui. E compartilhe o que você está fazendo no Twitter com a hashtag #Win8Hack. Boa sorte com o desafio! -- Ben Thompson, gerente de marketing de parceiros

Posted by on 24 May 2013 | 1:35 pm

여러분의 앱으로 “Windows 8과 HealthVault를 이용한 소비자 건강 관리 앱 겨루기" 행사에 참여하세요!

건강 관리 서비스가 놀라운 속도로 발전하고 있습니다. 개발자들에게는 그 어느 때보다도 전 세계 사람들의 삶을 향상시킬 수 있는 앱을 만들 기회가 주어진 것입니다. Microsoft는 2013년 5월 13일부터 14일까지 개최된 건강: 리팩터링이라는 행사를 후원했습니다. 이 행사는 건강 관리 분야에 대해 배우고, 공유하고, 소통하기를 원하는 앱 개발자와 디자이너, 기술 전문가들을 위해 실리콘밸리에서 이틀간 진행된 컨퍼런스입니다. 이 컨퍼런스에서 우리는 Windows 8과 HealthVault를 이용한 소비자 건강 관리 앱 겨루기 행사에 대해 발표했습니다. 이 행사는 Health 2.0에서 주관하며, Microsoft의 소비자 건강 저장소 플랫폼인 HealthVault를 이용하여 Windows 스토어 앱을 개발하는 개발자들에게 상금으로 총 15,000달러 이상이 지급됩니다. 상금뿐만 아니라 우승한 개발자에게는 Microsoft로부터 설계, 개발, 마케팅 분야에서 추가적인 지원을 받을 수 있는 자격이 주어집니다. 앱 개발을 위한 영감이 필요하십니까? Windows 개발자 센터에서 건강 및 피트니스 앱 카테고리에 맞는 디자인 아이디어를 얻을 수 있습니다. 의료인과 관련 사업을 위한 앱 개발에 관심이 있다면 이를 위한 의학 앱도 준비되어 있습니다. 또한 건강 관리 앱 베스트 7도 Windows 체험 블로그에서 확인할 수 있습니다. 이 행사는 6월 30일까지 진행되며 전체 내용을 보려면 여기를 참조하십시오. 현재 어떤 앱을 개발 중인지 해시태그 #Win8Hack를 사용하여 트위터로 알려주십시오. 좋은 결과가 있기를 바랍니다! - 파트너 마케팅 관리자, Ben Thompson

Posted by on 24 May 2013 | 1:34 pm

「Windows 8 と HealthVault が刷新するコンシューマー向けヘルスケア アプリ」コンテストにご参加ください

ヘルスケア産業が目覚ましい進歩を遂げている中、全世界の人々の生活を向上するアプリ開発という面で開発者にはかつてないほど大きなチャンスが広がっています。ヘルスケア分野に関心を持つアプリ開発者、設計者、技術エキスパートが学習し、共有し、つながる機会として、2013 年 5 月 13 日から 14 日の 2 日間、シリコンバレーにて Microsoft 主催のカンファレンス Health: Refactored (英語) が行われました。 カンファレンスで Microsoft は、「Windows 8 と HealthVault が刷新するコンシューマー向けヘルスケア アプリ」(英語) と題したコンテストの開催を発表しました。これは、Microsoft のコンシューマー向け健康情報管理プラットフォーム HealthVault (英語) を活用した Windows ストア アプリを開発者の皆様に作成していただく、Health 2.0 (英語) にて運営されるコンテストで、15,000 ドル超の賞金が用意されています。賞金に加えて、最優秀賞に輝いた開発者のアプリは、設計、開発、マーケティングを Microsoft がバックアップいたします。 Windows デベロッパー センターの健康/フィットネス向けアプリ設計のインスピレーションに関するページに開発方法のヒントも用意されていますのでご活用ください。また、ヘルスケア プロバイダーやヘルスケア企業向けのアプリ開発に関心をお持ちの方に向けたガイダンスとインスピレーション コンテンツも用意されています。Windows Experience ブログで紹介されている優れた 7 つのヘルスケア アプリ (英語) も合わせてご参考ください。 コンテストの参加受付は 6 月 30 日が締切です。詳しいルールはこちら (英語) でご確認いただけます。開発の進捗は、ハッシュタグ #Win8Hack にてぜひツイートしてください。皆様の参加をお待ちしています! -- Ben Thompson、パートナー マーケティング マネージャー

Posted by on 24 May 2013 | 1:33 pm

Inscrivez votre application au concours « Re-imagining Consumer Health with Windows 8 and HealthVault »

La santé est un secteur qui évolue rapidement et les développeurs bénéficient dorénavant de possibilités incroyables pour créer des applications susceptibles d'améliorer le confort de vie des gens dans le monde entier. Le 13 et le 14 mai, Microsoft a sponsorisé la manifestation « Health: Refactored », une conférence qui s'est déroulée sur 2 jours dans la Silicon Valley à l'attention des développeurs d'applications, concepteurs et experts techniques désireux d'apprendre, de partager et de communiquer dans le domaine de la santé. Lors de la conférence, nous avons annoncé la tenue du concours « Re-imagining Consumer Health with Windows 8 and HealthVault ». Ce concours, organisé par Health 2.0, permettra de gagner des lots d'une valeur supérieure à 15 000 USD aux développeurs qui créent une application du Windows Store tirant parti de la plateforme de stockage de données médicales de HealthVault de Microsoft. Outre le prix, le gagnant bénéficiera d'une aide en matière de conception, développement et marketing de la part de Microsoft. Vous avez besoin d'inspiration pour développer votre application ? Le Centre de développement Windows propose des idées de conception spécialement tournées vers les applications de la catégorie Santé et forme physique. Si vous souhaitez créer des applications pour les fournisseurs et entreprises de santé, vous trouverez des conseils et des idées pour ces applications également. Vous pouvez également consulter sept formidables applications de santé sur le blog Windows Experience. Le concours est ouvert jusqu'au 30 juin. Lisez le règlement complet ici. Et dites-nous ce sur quoi vous travaillez en nous envoyant un tweet à #Win8Hack. Bonne chance pour le concours ! -- Ben Thompson, Responsable marketing partenaire

Posted by on 24 May 2013 | 1:32 pm

Nehmen Sie mit Ihrer App am Wettbewerb „Re-imagining Consumer Health with Windows 8 and HealthVault Challenge“ teil

Im Gesundheitswesen findet eine rapide Entwicklung statt. Damit bieten sich mehr Möglichkeiten für die Entwicklung von Apps, die das Leben von Menschen auf der ganzen Welt verbessern können. Am 13. und 14. Mai 2013 hat Microsoft die zweitägige Konferenz Health: Refactored im Silicon Valley durchgeführt. Teilnehmer waren am Gesundheitswesen interessierte App-Entwickler, Designer und Technikexperten, die sich weiterbilden, austauschen und Kontakte knüpfen wollten. Auf dieser Konferenz haben wir den Wettbewerb Re-imagining Consumer Health with Windows 8 and HealthVault Challenge angekündigt. Bei diesem Wettbewerb von Health 2.0 können alle Entwickler, die mithilfe der Patientendaten-Plattform HealthVault von Microsoft eine Windows Store-App erstellen, Preisgelder von über 15.000 USD gewinnen. Zusätzlich zum Geldpreis erhält der Gewinner von Microsoft zusätzliche Unterstützung bei Entwurf, Entwicklung und Marketing. Sie suchen nach Anregungen für die App-Entwicklung? Im Windows Dev Center finden Sie Anregungen für den Entwurf von Gesundheits- und Fitness-Apps. Wenn Sie Interesse an der Entwicklung von Apps für Anbieter und Unternehmen im Gesundheitswesen haben, finden Sie für diese Apps ebenfalls Anleitungen und Anregungen. Erfahren Sie im Windows Experience-Blog auf mehr über sieben großartige Apps für das Gesundheitswesen. Der Wettbewerb läuft bis zum 30. Juni. Die vollständigen Teilnahmebedingungen finden Sie hier. Teilen Sie uns über Tweets mit dem Hashtag #Win8Hack mit, woran Sie gerade arbeiten. Viel Glück beim Wettbewerb! – Ben Thompson, Partner Marketing Manager

Posted by on 24 May 2013 | 1:31 pm

在“使用 Windows 8 和 HealthVault 重新构思消费者健康状况挑战赛”中输入您的应用

随着医疗保健不断快速发展,开发人员可创建有助于改善全球用户生活的应用的机会比以往任何时候都更大。在 2013 年 5 月 13 日 - 14 日期间,Microsoft 在硅谷主办了为期两天的 Health: Refactored 会议,该会议为关注医疗保健领域的应用构建者、设计者和技术专家提供了学习、共享和交流的平台。 在本次会议上,我们宣布了使用 Windows 8 和 HealthVault 重新构思消费者健康状况挑战赛。该项挑战赛由 Health 2.0 运作,为使用 Microsoft 的消费者健康状况存储平台 HealthVault 创建 Windows 应用商店应用的开发人员提供了超过 15,000 美元的奖金。除现金奖励之外,获奖的开发人员还将有资格获得 Microsoft 提供的其他设计、开发和市场营销支持。 需要获得应用开发方面的灵感?Windows 开发人员中心包含专门针对健康与健身类应用的设计灵感。或者如果您关注于为医疗保健服务提供商和企业创建应用,您也可以了解到关于这些应用的指导和设计灵感。另外,您还可以查看 Windows 体验博客中的 7 款出色的医疗保健应用。 此次挑战赛将开放至 6 月 30 日;请单击此处了解完整的规则。并通过包括标签 #Win8Hack 的 tweet 内容告诉我们您正在进行的工作内容。祝您挑战赛好运! -- 合作伙伴营销经理 Ben Thompson

Posted by on 24 May 2013 | 1:30 pm

Storage Area Network (SAN) Performans Testleri Nasıl Yapılmalıdır?

Orta ve büyük ölçekli tüm firmaların, kritik uygulamalarının verileri tipik olarak Storage Area Network (SAN) üzerinde tutulur. SAN’lerin bu kadar yaygın olmasının çeşitli sebepleri vardır. Mesela SAN’ler aşağıdaki konularda kolay çözümler sunabilmektedir. Güvenilirlik Kolay yönetim Ölçeklenebilirlik, Yedekleme Yüksek erişilebilirlilk (High availability) çözümleri Felaket Kurtarma (Disaster Recovery) çözümleri Performans Bu blog’da, SAN performansının nasıl ölçülebileceğine dair yöntem anlatılacaktır. SAN’ler tipik olarak pahalı disk Sistemleri olduğundan, “ Bunca para ödenip alınan bir disk ünitesi mutlaka hızlıdır!...” yargısı piyasada oldukça yaygındır. Bu yazıda, SAN’lerin kendisinden beklenen (spesifikasyonlarında belirtilen) performansı verip vermediğini anlamanın yollarından biri tariff edilecektir. Disk sistemleri oldukça karmaşık sistemlerdir ve Disk sistemini kullanan uygulamadan başlayıp, disk kafasına erişene kadar çeşitli donanım ve yazılım katmanları devreye girmektedir. Uygulamadan başlayarak disk kafasına varıncaya kadar kat edilmesi gereken her bir katman SAN performansına etki edecektir.   Yukarıdaki şekil, uygulama tarafından istenen bir disk IO’sunun, disk kafasından başlayıp, uygulamaya ulaşana kadar uğradığıdurakları göstermektedir. Bir IO talebinin uğramak durumunda olduğu durakları incelediğimizde, disk kafa sayısının SAN performansının önemli bir etkeni olmakla beraber tek etken olmadığını fark ederiz.   SAN Performans Test Metodolojisi Performans testlerini uygularken aşağıdaki yaklaşımın uygulanmasını tavsiye ederiz. Her bir adımdaki beklentiler sağlanmadan, sonraki adıma geçilmemelidir. Beklenen performans sonuçlarının belirlenmesi. Testlere başlanmadan önce, test edilecek olan SAN’den hangi performans değerlerinin, throughput (GB/sn) veya IOPS cinsinden, beklendiğinin belirlenmesi gerekmektedir. Bu bilgi, SAN satıcısından ya da ürün kataloğundan temin edilebilir. Disk kafası dışında kalan parçaların konfigürasyonunun doğrulanması: Bu adımda, disk kafasının dahil olmadığı IO işlemlerinin (SAN cache’inden yapılan IO) performans testi yapılarak, disk kafası dışında kalan parçaların ayarlamalarının doğru yapıldığı; başka bir deyişle, söz konusu parçaların beklenen performansta çalıştığının tespit edilmesi gerekmektedir. Bu amaçla, SAN cache’ine sığacağından emin olduğumuz büyüklükteki dosyalarla IO (okuma ve yazma) işlemlerinin testi yapılmalıdır. Bu adımda, kağıt üzerinde belirtilmiş performans değerlerinin alındığı mutlaka görülmelidir. Mesela, 4Gb/sec’lık bir HBA, yaklaşık 370 MB/sn throughput verebilmelidir. Aksi takdirde, konfigürasyonda, (mesela MPIO ayarları), ya da fiziksel parçalarda (mesela HBA) bir sorun olmasından şüphelenilmelidir. Birden fazla LUN var ise, her bir LUN ayrı ayrı test edilmeli, daha sonra da hepsi topluca test edilmelidir. Disk kafasının performans testlerinin yapılması: Bu adım nihai test adımıdır. Bu amaçla, SAN cache’inden çok daha büyük (mümkünse, disk ünitesi ön bellek büyüklüğünün 10 katı büyüklüğündeki dosya(lar) ile IO (okuma ve yazma) işlemlerinin testi yapılmalıdır.  Disk ünitesi konfigürasyon performans testleri aşağıda belirtilen 2 araçtan biri kullanılarak yapılabilir. SQLIO – Microsoft tarafından geliştirilmiş, komut satırından çalıştırılan uygulama IOMeter – Açık kaynak kodu ile geliştirilmiş, grafik tabanlı kullanıcı ara yüzüne sahip uygulama Yukarıda belirtilen her iki uygulama da, benzer parametreler ile çalışmaktadır. SQLIO için örnek çalıştırma komutu aşağıda verilmiştir: Sqlio.exe -kR -s600 -frandom -b8 -o32 -LS -Fparam.txt Söz konusu araçların nasıl kullanılacağına ilişkin bilgileri, araçların yardım dosyalarından edinebilirsiniz. Hem SQLIO hem de IOMeter araçları, aşağıda belirtilen parametreleri istemektedir. IO tipi: Okuma/Yazma IO Blok büyüklüğü IO türü: Rastgele (Random) / Sıralı (Sequential) Bekleme Sırası : Kuyrukta bekleyen işlerin sayısı Dosya adı           Dosya büyüklüğü

Posted by on 24 May 2013 | 1:04 pm

New Channel 9 video on the Visual Studio 3D Starter Kit now online

If you’re interested in DirectX development, head on over to Channel 9, where there’s a new video about the Visual Studio 3D Starter Kit.  This time, Roberto Sonnino interviews Gokhan Sengun, who’s created the Virtual Experiment Laboratory app, which is the first known app on the Windows Store that was built using the Starter Kit - at least, that wasn’t built by a Microsoft employee.  :)  Gohkan shares some tips on using the Starter Kit, and also some great demos of the Visual Studio Shader Designer. To learn more about the Visual Studio 3D Starter Kit, check out our previous introduction to the Starter Kit, the 3-part series on the Visual C++ blog and the accompanying video (part 1, part 2, part 3, Channel9 video), or just download the Starter Kit directly. If you’re working on an app using the Starter Kit, we’d love to hear from you.  Leave us a note in the comments!

Posted by on 24 May 2013 | 12:50 pm

Acai Berry Select

Harvested by Brazilians for hundreds of years as a food staple and for their rejuvenating and detoxifying properties, Acai berries (fruit of Amazonian Acai Palms) have been all over the media, from articles in fitness magazines to features on popular television programs like Today show. Click here for your Risk Free Trial