Blog

  • Validating a WRAP ACS token in node.js

    A few friends and I are building a system for home automation. Specifically, it is an application that opens and closes a garage door. One of the design decisions was to write the server side in node.js but to use Azure when it made sense. One of the Azure features we are using is the Access Control Service. When a client presents a token, you need to make sure that the signature on that token is valid. That turns out to be fairly interesting if you are new to node.js and have never used it before. I fit that model well. After a lot of tinkering and learning, I was able to write a function that validated a wrap_access_token using node.js and some associated, standard libraries. Here is the code, in its entirety. I include some ‘test’ code as well to allow others to verify results. I’ve already rotated the ...

    Comments0

    Full story

  • REST Presentation at Chicago Software Development Community in Oakbrook

    Thanks again to everyone who showed up for my presentation on REST at the Microsoft Store in Oakbrook. I’ve posted the slides and demos here. It was a great time. I’ve never presented in a store, never had a component of the “audience” that was just shopping either. It was an interesting, unique experience to say the least! I also enjoyed the conversations afterwards.

    Comments0

    Full story

  • My Windows Azure Caching Service talk from DevConnections

    I just presented my Windows Azure Caching Service talk. Thanks to everyone who attended. The audience was small, but I love that you all asked so many great questions. Here are the slides and demos from the talk. I’ll be giving this talk again at the Midwest Cloud Computing User Group in the Chicago area on November 15. You can register for it at http://www.communitymegaphone.com/ShowEvent.aspx?EventID=4709. The slides and demos from the content at DevConnections is here.

    Comments0

    Full story

  • Talk and demos from CNUG, AppFabric Talk

    Last night I had a chance to speak about Windows Azure AppFabric at the Chicago .NET Users' Group. Thanks to everyone who came out! I had a great time. A few of you really wanted the slides ASAP. I've cleaned out my keys and namespaces from the demos, so they don't run at the moment (but they will build!). You can get them here: https://friseton.blob.core.windows.net/downloads/CNUG-AppFabric-2011-07-20.zip. You'll need to install a few things and create a few accounts if you want to run any of the demos: Tools: 1. Getting started links for Windows Azure: http://www.microsoft.com/windowsazure/learn/getstarted/ 2. Windows Azure AppFabric SDK 1.0: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19925 (for production AppFabric) 3. Windows Azure AppFabric SDK 2.0: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17691 (for the CTP bits: queues, topics, etc.) 4. More training on Windows Azure: https://www.pluralsight-training.net/microsoft/OLT/subscribe/Subscribe1.aspx?freetrial=true&planHint=Monthly (10 day free trial-- totally worth it, but I am an instructor there too;) )

    Comments0

    Full story

  • AppFabricLabs and the ServiceBus

    This week, the Windows Azure AppFabricLabs was updated. The major updates are that the Service Bus labs environment now uses v2 of the Access Control Service and topics/queues have been created. This pushes the number of queueing solutions on Azure to 3: * Queue Storage * Message Buffer * Queues The main difference between the types of storage relates to size and usage patterns. Queue storage allows for messages up to 8 KB in size and is primarily intended for applications running on Azure. The service only accepts one type of credentials, and you probably don’t want to share those. The Message Buffer stores messages of up to 60KB for about a minute. It is great for volatile queues as a short lived rendezvous point for exchanging messages. This service lives on the Service Bus and allows for authentication with the Access Control Service. The Queues implementation in the Service ...

    Comments0

    Full story

  • Integrating with the Camera in WP7

    There has been a small white lie that many people tell when looking at whether or not a WP7 application can directly interact with the camera. The fib looks like this: You can only access the camera through the CaptureCameraTask. Direct access is not allowed. It didn’t seem right when I heard that, so I did some digging around, looking for ways to find out what is really contained in the phone. Some information is out there, and if you assemble the parts, you wind up with a better view into what managed code can do on the phone. I wrote a post earlier that showed what you need to do in order to make your development environment work better. As a result of that effort, you are going to be able to use the camera in your Windows Phone 7 applications today. Adding live support for a phone is ...

    Comments0

    Full story

  • The Windows Azure AppFabric CTP For May has Shipped

    The May 2011 AppFabric updates have shipped. You can get them all from here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d89640fc-c552-446e-aead-b1e0d940f31b. Coverage is exploding over at TechEd, Clemens Vasters can finally talk about topics, and it’s a grand day. So, many of you will be digging into the source and will want a CHM file that works. The that you download will be blocked from showing Internet content and when you open it, you will see something like this: If you do see that ‘Navigation to the webpage…’ message, here is what you’ll need to do. 1. Right-click on the CHM file and select ‘properties’. 2. On the General tab, there is a button WAAAAAAYYYYYYY at the bottom labeled Unblock. Click that button so that the content from the Internet will display just fine on your PC. 3. Reopen the CHM and you’ll be able to actually view things.

    Comments0

    Full story

  • Adding the ‘other’ WP7 Libraries to your VS 2010

    WARNING: Everything I’m sharing with you is unsupported. You may or may not be able to publish WP7 applications to the Marketplace using these features. The point behind this is to satisfy hackers. This does NOT modify your phone in any way—it just makes it easier to dig into what WP7 already does. If you use these undocumented features, Microsoft may later change these APIs your applications when they choose to document these features or remove them from a future image of your WP7 phone. Microsoft does not promise to keep these APIs alive between WP7 updates. Got it? I was curious what goodies were on the phone but not available to everyone else. I knew that people had grabbed the OS image and pulled apart the files on it already, so I figured someone had probably hacked that part already. After some searching, I found this: http://thounsell.co.uk/2010/11/avoiding-reflection-adding-the-interopservices-library-to-the-wp7-sdk/. The ...

    Comments0

    Full story

  • Rumors of WPF's Death are Greatly Exaggerated

    It seems that, over the last several months, people have become convinced that WPF is dead. Having seen the pace of change in previous desktop UX technologies, I think this concern is unfounded. Has the talk about WPF declined since it launched? Of course. Adoption is no longer a concern. Anyone who needs a desktop application knows WPF exists, books and training are available, and the knowledge is out there. Microsoft doesn't really need to work hard here at this point in time. So, why the angst around WPF? It seems that the fundamental concern is around the fact that many vendors have stopped fighting for the desktop and have resumed the fight at the browser, saying my HTML5 is better than theirs. The desktop war has gone quiet again and Microsoft still owns that platform, so they’ve visibly shifted investment from the desktop to where the battle is: ...

    Comments6

    Full story

  • Houston TechFest 2010: Code and Samples from my WCF/RIA Talk

    I had a great time talking to the folks at the Houston TechFest. Much thanks also to Addison-Wesley for sponsoring my trip to Houston. If you are interested in becoming an technical author, let me know and I can put you in contact with the editors at Addison-Wesley (scott@scottseely.com). As promised, my slides and code are online: www.scottseely.com/downloads/HoustonTechFest-Seely-WCFRIA.zip. Let me know if you have any questions about the code, the presentation, or life as an author.

    Comments0

    Full story

  • Clean paths with WCF Hosted Workflows

    I am a big fan of the things added to WCF 4.0. One of those things is the deep integration with ASP.NET routes. Today, I was writing a service in WF and hosting the workflow with WCF. I really didn’t like the service URL—yeah, I’m a picky developer who doesn’t like exposing implementation details in the URL. I knew a few things: 1. WF/WCF integration provides a ServiceHostFactory named WorkflowServiceHostFactory for hosting XAMLX files in WCF. 2. WorfklowServiceHostFactory will see CreateServiceHost called with some constructorString plus a bunch of baseAddresses. 3. I wanted the host to work on HTTP only—I don’t care about goofy URLs for net.tcp. 4. XAMLX services do not have a runtime defined type- they exist only in XAML. My goal was to create a new route type, like ServiceRoute, that allowed me to pass in the desired path and the path to the XAMLX to instantiate. ...

    Comments0

    Full story

  • How JSONP works (and some bits about implementing it in WCF)

    In the world of the web, we have lots of security concerns. One of the concerns lies with cross site scripting, XSS. From a high level, XSS is any occasion where data is sent from code on a page from one site to another site. The code is usually via JavaScript, though flash and Silverlight are included in the terminology and mitigations. One way around this that is generally viewed as safe is JSON with Padding, aka JSONP. The way JSONP works is this: you pass an HTTP GET request to retrieve a resource from another site which you do not control. The request contains two pieces of information: 1. The resource you want to retrieve. 2. The callback function that should be executed when the resource is returned. What makes this safe? The callback function is always something that you control. It is assumed that if your callback does ...

    Comments0

    Full story

  • Talking about REST

    Mark and Clark over at developersmackdown.com just published ‘my’ show: http://developersmackdown.com/archives/SingleShow/30. We spent time talking about REST and SOAP as well as a number of other topics related to REST. One of the things that I don’t think was made clear enough was that REST and SOAP are not competing service techniques. Each technology/interface type has an appropriate use case. When integrating applications within an enterprise, the development team needs to worry about: - Security - Transactions - Reliable delivery of messages - Integration with tooling for other developers In the enterprise case, WCF + SOAP/WS-* can make integration between systems pretty simple. Yes, the teams may struggle with getting the security setup just right between domains, but overall, things will go well, especially if the setup requires communicating between different WS-* implementations. Finally, enterprise integrations typically happen for applications running on the same network/VPN. The infrastructure for an ...

    Comments0

    Full story

  • Grand Rapids Day of .NET is Looking for You!

    Planning is in full swing for the Fall 2010 Day of .NET (DODN) conference in Grand Rapids on Saturday October 23rd, 2010 at Calvin College. The theme for this year is "Open to the Future". The theme combines two important trends in developing with .NET - "open" and the "future". On the "open" side there has been a lot of activity in opening up the platform, creating open source projects and libraries, enabling projects to work well in a mixed-IT environment, and opening up data to diverse applications. On the "future" side we see .NET 4.0 and Visual Studio 2010 which brings many new capabilities to the platform. What this means for potential speakers is that there is a huge range of topics for you to consider. While this event is a "Day of .NET", speakers are encouraged to submit talks that span the spectrum of technologies being used in ...

    Comments0

    Full story

  • Project Phoenix

    The current economic condition is hitting everyone pretty hard, even developers. For developers, part of the challenge in finding that next job is having the right, up to date skills. To help folks get those skills, Arnie Rowland and a number of other MVPs got together to pool MSDN subscriptions. This year, every MVP gets 3 MSDN Universal Subscriptions- 1 to use and 2 to give to worthy recipients. To pick a worthy recipient, an unemployed or underemployed developer needs to propose a software project for a non-profit agency, school, or church to be assisted by Project Phoenix. Arnie and his associates will then pick at least one project week to ‘fund’ with the MSDN Universal Subscription. A number of other companies joined in to offer more resources to help the selected developers make the most of this opportunity. Publishers have donated books and software companies have donated tools. ...

    Comments0

    Full story

  • My WCF 4.0 Reference Card is up

    Shortly after TechEd, my friends at Pluralsight put me in contact with DZone.com to create a WCF 4.0 RefCard. The requirement for the card was to boil down the essential things one needs to have available in order to program against WCF 4.0 into 6 pages of content. WCF is huge, so the challenge was to only include the really important stuff. Please take a look at the card. I’d love to hear your feedback.

    Comments0

    Full story

  • Recommended Listening

    As developers, we need our knowledge of our platform to have depth as well as breadth. Typically, we gain depth through projects we take on. For example, we might learn MVC by converting a WebForms application to ASP.NET MVC2. Acquisition of depth is almost passive. Once we commit to the big project, we get the depth simply by finishing the job. To acquire breadth, we do other things. Any developer with significant breadth does most of the following: read blogs, read magazines, read books, attend conferences, and listen to podcasts. In the past few months, I found a hidden gem; I started listening to the Developer Smackdown. I’ll admit, I started listening because my area got a new Developer Evangelist, Clark Sell, and I just wanted to learn more about him. I’ve gone from stalking to the point where I look forward to the semi-weekly podcasts. During the ...

    Comments0

    Full story

  • Azure ServiceBus now supports Silverlight/Flash!

    The Azure ServiceBus Access Control Service was updated on July 1, 2010 with a very nice surprise: it has policy files in place for Silverlight and Flash! A week ago, I had written some code that redirected authentication requests and so on so that my Silverlight code could authenticate against the ACS. Today, I saw a post that the service had been updated. So, I went ahead and tried it out: Silverlight: https://[your service].accesscontrol.windows.net/crossdomain.xml Flash: https://[your service].accesscontrol.windows.net/clientaccesspolicy.xml Note that both of these are policies that allow ANYONE to send messages to the ACS. crossdomain.xml has this in the body: <cross-domain-policy>    <allow-access-from domain="*" secure="true" />    <allow-access-from domain="*" secure="false" />    <allow-http-request-headers-from domain="*" headers="*" secure="true" />    <allow-http-request-headers-from domain="*" headers="*" secure="false" /> </cross-domain-policy> I’d like to see options via the SDK or the admin UI that allow me to turn on global access or per website access. This is something ...

    Comments0

    Full story

  • I'm a Microsoft Regional Director!

    If you are LinkedIn with me, you’ll see that I listed a new position: Microsoft Regional Director – Chicago. This is NOT a paid position with Microsoft. I noticed that other RDs I have as connections do list the RD role as current with Microsoft as the current employer. LinkedIn doesn’t have a mechanism to show that I’m connected to Microsoft as a ‘unpaid opinionated person.’ I’m pretty excited about this opportunity. In 1995 (the year I graduated college), I looked out at the technology landscape and noticed that software developers can do well if they pick a technology stack and learn it as deeply as possible. At that time, it looked like I should either learn Sun Unix, some embedded toolkit, or Microsoft Windows. Microsoft had more desktops and I wasn’t an electrical engineer, so that’s the direction I picked. Since then, I’ve written books on the technology, ...

    Comments3

    Full story

  • The first in my PSOD series is out

    I’ve spent the last few weeks working on some recordings for Pluralsight on Demand. I’ve been working on a course, .NET Distributed Systems Architecture. It was published this Friday. Please give it a listen and tell me what you think! 

    Comments0

    Full story

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. »