![]() |
|
Spaces home DrewbyPhotosProfileFriends | ![]() |
|
April 17 .NET 3.5 Enhancements Training KitThis week, Jonathan Carter released the first iteration of the .NET 3.5 Enhancements Training Kit. The kit works with the current ASP.NET 3.5 Extensions Preview, but will be updated as these extensions are revised and released in final form.
My role is changing a bit here at Microsoft (more on that later) and moving forward, Jonathan, Jason Olson and I will be working together on Visual Studio and .NET evangelism. He's really put together some great content in this training kit! December 14 The Other EvangelistsScott Hanselman wrote a post about how to make a community event great. I think the suggestions are great, but his reference to cold pizza struck a nerve for me. It reminded me of the evangelist wish list I had when I was a Developer Evangelist in the field (in other words, before I got a "desk job"). I thought Microsoft should hire more evangelists. And it wasn't about reducing my workload. Rather, I wanted these new evangelists to compliment my position as a DE (everything needs to be shortened into an acronym at MS, uh, Microsoft): Food Evangelist (FE)- You will go before us and let the world know that there is more to life than pizza. Nothing was as bad for a DE than to eat pizza 3-4 times in a week. Pizza for lunch events, pizza for evening events, pizza, pizza, pizza. Scott has some great suggestions for alternatives in his post. Driving Evangelist (DrE) - You have an important role, responsible for teaching people who drive on the same roads as the DEs that there are two (or more) lanes on the freeway. The left lane is for passing, the right lane is for cruising (flip this if you are from one of those countries). If you look in front of you and there is a clear road, and behind you is a mile long line of traffic, this is probably a good indication that you should be in the right lane. Airline Evangelist (AirE) - similar to the Driving Evangelist, the airline evangelist will spend their time at airports, spreading a few simple messages. For the airline passenger, you are not the only one trying to get somewhere ontime today - sit down and shut up. For the flight crew, I may not be flying in first class, but I'm also not luggage - if I pay five more dollars will you at least share the same courteousy you do with the people up front. Social Evangelist (SE) - we all need you. Enough said. A short simple list to make the world that much better. What other evangelists are needed out there? October 28 Recent IIS Blog PostsJust in case you haven't subscribed to my IIS blog, here are some recent posts.
Also, if you are interested in IIS7, you may be interested in a couple other posts from the IIS team:
What's On My PhoneAs least two people (Mike and Dave) have asked me to do this now, so I figured I should cooperate. I have a Blackjack that is the best phone I've had in a long while. I don't do a lot with my phone other than the included applications, but I need those applications to work reliably, and they do on the Blackberry.:
Someday, I'll take the time to add more applications. For now, I'm keeping it simple. So many people have done this already, I'll tag just two people - Steve Loethen and Josh Holmes. Steve and Josh are the gadget guys from my old team and it's always interesting finding out what their latest device/software is. What's on your phone? September 25 Moving DayAugust 14 New IIS Blog
I'll continue to use my spaces blog for posts on any other technical or non-technical topics. I'll also link to the IIS.net blog posts with a short post here. August 13 IIS Authentication for WordpressThis is a really cool example of how PHP can integrate with IIS7 using the new integrated pipeline. With this plug-in and IIS7 you can integrate Wordpress into your existing ASP.NET website using a built-in membership provider. This weekend, I was working on an MSDN magazine article and as part of putting together a demo happened to install PHP’s Wordpress blog app on IIS7. Source: Mike Volodarsky's ServerSide : IIS Authentication plugin for the Wordpress PHP blogging engine August 08 Ride the IIS Adoption Wave!This InformationWeek article highlights the most recent Netcraft survey which shows IIS continues to gain marketshare on the web.
This is a great time to ride the adoption wave and build new products for IIS. As these websites move to IIS, they'll be looking for add-ons that help them enhance and manage their servers and applications. With the upcoming release of IIS7 on Windows Server 2008, extending IIS has never been easier. You can create components in C# or VB that extend IIS in several ways:
Helping you build these types of extensions for your applications, is what my new role is all about. It doesn't matter if you're building commercial or non-commercial products or that you are targeting ASP.NET, PHP or other platforms/frameworks. Give me a shout if you've got ideas and interest in building some of these scenarios. My alias is drobbins at microsoft. August 05 Heartland Developer Evangelist: Jeff BlankenburgThe new Developer Evangelist for the Heartland District is Jeff Blankenburg. This is an exciting announcement for many reasons. The Developer Evangelist (DE) position is an important role for the professional developer community. The DE is a driver and/or supporter of the many developer events that occur in the district such as Code Camps, Day of .NETs, User Groups, Product Launches, etc. The DE is also the primary connection to Microsoft for many developers in the community. This is where those developers bring their feedback, requests, ideas, etc. The DE will hunt down the right resources and get them the support they need. As you look around each district in the US, you can see the impact that having a great DE can have on the developer community. It is exciting to have someone as capable as Jeff in this role. Jeff brings the right combination of technical capability, attitude and passion to the role. Not only does he know how to develop software, but he also comes with a design background - a combination that is really needed in this new Microsoft world of Silverlight and Expression. It says a lot that all of the candidates for this role were flagged as Microsoft hires (ie. we'll find another role for them), but Jeff stood out because of this unique combination and some phenomenal ideas on how to bring this community to the next level. I'm looking forward to watching the Heartland community from a distance. Many of the community leaders, especially in Columbus, are my best friends in the world. I'm sure they'll be letting me know the good, the bad, and the ugly. Jeff - its time to sell that other stock. You know what I'm talking about. :) July 30 IIS7 Technical EvangelistToday, I start a new job within Microsoft as the IIS7 Technical Evangelist. In my previous role as a Community Developer Evangelist, I was responsible for influencing the adoption of all Microsoft development and platform technologies in a specific geography (the Heartland District). In this new role, I'll be responsible for IIS, enabling developers around the world to realize the potential of this technology. Why IIS? I've been working with IIS since it's first days as part of the NT Option Pack. More recently, I've spent a good amount of time talking with ASP.NET, PHP and CFML developers about how to leverage the features of IIS7. I had the opportunity to speak at CFUNITED, Zend PHP Conference and PHPConf (Russia). The audiences were very excited about the changes in IIS7. I think this is a great time to evangelize this technology and show people that Windows is a great platform for building and hosting web applications and services. I'm looking forward to the new challenge, working with a great team of people (James, Brian, David, Justin, Matt, Ryan and Vittorio) and spreading the word about an exciting technology. My family will be relocating to Redmond, WA over the next month, so I expect to be very busy getting started in a new job and moving 2500 miles across the country. If you work with IIS7, developing software that leverages its features, count me as a new connection and resource for you at Microsoft. If you'd like to connect, here are some upcoming events that I'll be at: devLink - Nashville, TN - October 12-13 Heartland Developers Conference - Omaha, NE - October 18-19 TechEd Europe - Barcelona, Spain - November 5-9 I also hope to come back for CodeMash in January. July 06 TJ's 100 Day CelebrationTurning 100 days old in Japan is a big deal. So TJ had a bunch of pictures taken. I've uploaded a few in my photo album. Got Squid?This past weekend we took a short trip to Hakodate which is about 3 hours by train from my in-laws house in Sapporo. Hakodate has a famous "morning market" where we went to have Sushi for breakfast. Actually, I had Sea Urchin (Uni) and Salmon eggs (Ikura) on a bed of rice. It was a GREAT breakfast. However, in the afternoon, we had a completely new and different experience at the market. We passed a tank of squid (Ika) and stopped to watch them swim a little bit. Then my wife saw the sign: for about $10, we could have someone pull a squid out of the tank, cut it up and serve it to us within a few minutes. Of course, it was the freshest squid I've ever had. It had a sweet flavor and didn't have the usual chewiness of squid. Hakodate is famous for its squid products. We had some squid sausage which was completely black due to the squid ink. We passed on the squid ink ice cream.
June 29 Ranku Ramen Restaurant in Sapporo
I'm not talking about the square packages of dried noodles that you survived on in college. This is the real thing. Hokkaido is famous for it's Ramen, so we've had a lot of Ramen in our many visits to my wife's hometown. Sapporo has a whole street dedicated to Ramen restaurants. Lots of the Ramen restaurants in Japan are individually owned, and the owners have their own recipe for the soup. If the recipe is not good, their shop will not survive.
We were all very surprised to find a great Ramen restaurant right down the street from my wife's home. It is called Ranku (蘭句). The owners are a very nice couple. The restaurant only seats about 10 people and has always been full when we are there. I've had their Shoyu (soy sauce) based soup, their Miso based soup and today I had the spicy Miso based soup. All were excellent, but I think the spicy Miso is my favorite so far. So if you are in Sapporo and happen to pass through this area, try to find Ranku and give their Ramen a try. Mmmmmmm. June 01 Managing PHP and PHP Applications in IIS7Last week I spoke at PHPConf in Moscow, Russia. I really enjoyed the experience - both the conference, and visiting Moscow. You can view the pictures here. I was asked by a couple people to summarize the presentation, which was about using Internet Information Server 7 to host PHP applications. There are five main advantages to running PHP in IIS7: Configuration, Security, Extensibility, Management and Troubleshooting. ConfigurationIIS7 comes with a completely new configuration system that's based on a central file called applicationHost.config. This file is a well-organized, schema-based XML file that contains every configuration setting possible for IIS7. There are times when configuring certain settings would be best accomplished at the web directory level. So the configuration elements in applicationHost.config can also be distributed to local web.config files stored in the directory of the web application. For PHP developers that means they can deploy the configuration settings for their application along with the source files. For example, a PHP developer can configure the default document inside a local web.config file and then copy that web.config file to the server along with their application. That's a simple example, but it extends to other configuration settings such as handlers, modules, authentication, etc. A server administrator can choose which settings get configured centrally and which ones can be delegated to local web.config files. It all adds up to a lot of flexibility in how a server and it's applications get configured. Here are three great exercises you can go through to understand configuration and delegation a little better: How to Use Configuration Delegation in IIS7 How to Use Locking in IIS7 Configuration Understanding IIS7 Configuration Delegation SecurityThe IIS team did a tremendous job in making IIS6 a secure platform to host web applications. However, you will be blown away with the completely new modular architecture for IIS7 and what it means for security. Every piece of functionality in IIS7 is a module that can be added or removed. An interesting experiment you can walk thru is to remove every module from IIS7 and then make a request. The result is that the request gets denied, because the anonymous authentication module is removed. However, the server is unable to serve an error message because that module is also removed. Here's the response: HTTP/1.1 401 Unauthorized If you add the anonymous authentication module back in, then you receive a 404 result because the static file module is not configured. Once you add this module back into the configuration, you now have a static file server and nothing else. The point is that you can add only the modules you need for your scenario, creating the IIS7 server that is right for you. This means that you have the bare minimum surface area for attackers to target. You only need to patch your server when an update touches one of the modules you have configured. A bare minimum PHP configuration could include Anonymous Authentication, Static Files (for images) and the FastCGI PHP Handler. You'll probably also want the Custom Error Module to show friendly 404 errors, etc. Try it with one of these exercises: How to Build a Custom, Reduced Footprint Web Server ExtensibilityThis is where I think it gets really cool. One of the things I've always liked about PHP, is the practicality of developing on the platform. When creating a website, you'll often find there are already applications, components, etc that PHP developers around the world have made freely available. You can get up and running in a short period of time. Although I don't believe the ASP.NET community has as many complete applications, there are still a plethora of ASP.NET components freely available to help in website development. In the past, these two worlds have been mutually exclusive. In version 6 and earlier of IIS, the only way to extend the web server was by writing C++ code to create ISAPI extensions and filters. ASP.NET developers could create modules and handlers in C# or VB.NET, but these only applied to ASPX pages or other ASP.NET objects. For example, forms authentication is implemented as an HTTP module. We can use forms authentication to protect ASPX pages, but static HTML files and images in the same website would not be protected. In IIS7, there is a new unified pipeline that allows managed (C#, VB.NET) and unmanaged (C++) modules to work side-by-side and apply to all requests. For the PHP developer, that means your options have just expanded. Not only can you make use of all the existing PHP code available in the world, but you can also make use of ASP.NET code written to extend IIS. As an example, I did the following during my presentation at PHPConf:
Combined all together, I thought this made a very compelling example of using IIS7, ASP.NET and PHP together to quickly configure the functionality required for a complete application. In addition to extending the IIS7 request pipeline, developers can also extend:
An End to End Extensibility Example for IIS7 Developers ManagementThe new IIS Manager is completely rewritten and organized in a much better way than previous versions. Not only can you manipulate IIS configuration using this GUI, but you can also manage ASP.NET settings including the users and roles in your membership store. And with third parties having the ability to extend the tool, you'll be able to manage many application settings from within this interface. The IIS Manager leverages the HTTP protocol for remote administration which makes it a lot easier to use for administering hosted servers or servers behind a firewall. In addition to the GUI management tool, there is also a new command-line utility called APPCMD. This tool can do everything the IIS Manager can accomplish, so you have complete control over your server from a console window. Getting Started with IIS Manager Remote Administration for IIS Manager Getting Started with AppCmd exe Troubleshooting & DiagnosticsThe final area that is a huge improvement in IIS for PHP developers is in troubleshooting and diagnostics. There is nothing more frustrating than when performance degrades on your website and you can't figure out the reason. IIS7 gives you some great tools for diagnosing those issues. The first one is new in-process state information that can be accessed thru IIS Manager, APPCMD, or programmatically from code. This gives you the ability to view current application domains, executing requests, process IDs for application pools, etc. You can do queries on the server to give you information like all of the requests that are currently running and taking longer than X seconds. The second tool is Failed Request Tracing. When this feature is enabled, IIS collects vital information about every request in a buffer. If the request fails or meets some other condition that you determine, then the buffer is saved to disk so you can analyze the data. The data contains a list of every module that executed during the request and how much time the module took. It also contains overall information about the request critical to determining the cause of an issue in the application or IIS. Troubleshooting Failed Requests using Tracing in IIS7 FastCGI and PHPLast year, Microsoft announced a collaboration with Zend to make improvements to the hosting experience for PHP applications on Windows. On the Microsoft side, we've been working on a FastCGI module to resolve the issues encountered when hosting PHP as an ISAPI or CGI module on Windows. You'll be able to achieve much better performance using this module. It is available for IIS5 on Windows XP, IIS6 on Windows 2003 and IIS7 on Windows Vista. It will also be included as a component in IIS7 on Windows 2008. On the Zend side of the collaboration, they have been working on fixing some of the issues with the PHP engine itself when running on Windows. They've really made a lot of progress. Make sure you are using the latest builds of PHP. You will see a performance improvement. May 29 Debugging XSLTI saw over on Julie Lerman's blog, this awesome video on XSLT debugging by Chris Lovett. This feature of Visual Studio "Orcas" really rocks! You can get previews of your XSLT output, step through the XSLT with a debugger, and step from code debugging right into XSLT debugging. May 25 PHPConf in Moscow, Russia
Today was my conference presentation on running PHP in IIS7. It was my second time speaking through a translator. The first time was at TechEd Japan several years ago and I remembered it being very difficult. This time things seemed to go a lot smoother. The audience was engaged and asked great questions at the end. After the conference, I hit the streets of Moscow and walked farther than I've walked in a long time. I walked from my hotel, to the Kremlin and Red Square. After walking around the square a little, I stopped by a tent restaurant in a nearby plaza and ordered a Ke-bab. Or was it Shashlik. Or are they same thing. I don't know, but it was really good. :) I then walked over to the Cathedral of Christ the Savior and bought some pastry with an apple filling. I don't know what it's called as I ordered by pointing my finger. Yes, I don't know a single word of Russian beyond Spasibo (Thank you). On the way back to the hotel I walked through a street called Stary Arbat. This is a pedestrian street with street peddlers, musicians, artists, etc. Some kids were breakdancing - that's the second time I came across breakdancers on my walk. I'm going to walk back over there tomorrow because were stages setup for what looked like street plays. Those were already closed down by the time I walked through. The sun doesn't set until 10:00p so there were still people in parks relaxing, picnicing, amongst other more intimate things late into the evening. It was a pleasant walk, but it was long and my feet are sore. You can check out the pictures here. May 11 Visual Studio Island in Second LifeI was at the opening party for the Visual Studio Island in Second Life yesterday. I'm an SL newbie and really had no idea what I was doing. I tried dancing a little, a had a virtual cocktail and got kicked off the island for finding the blimp in the sky without solving any puzzles. :) Luckily, I was allowed back on the island after a few minutes. That's me in the center, in my orange-sleeved Visual Studio shirt provided on the island. If you are into Second Life, check it out. Solve the puzzles and apparently you will win some really cool Second Life virtual swag. May 09 Out Of The BoxJon Box is an Architect Evangelist based in Memphis, TN who just started a new blog. Jon is a great technologist and a great writer, so his blog is certain to be interesting. April 30 Silverlight Community WebsiteHere's the Silverlight Community website. Light up the Web. A showcase of next generation experiences using Silverlight. Source: Silverlight IronPython 2.0 Alpha and the Dynamic Language RuntimeAn alpha version of IronPython 2.0 was released today. This is the first language implemented on the new Dynamic Language Runtime, also announced at MIX. Also announced at MIX is support for IronPython, Managed JavaScript, Dynamic Visual Basic and IronRuby! Dynamic Language support will also be in Silverlight. So you can use Python, Ruby, VB, or C# to build Silverlight applications as well! That rocks! Scott also showed a cool Silverlight client application that provides a console for the dynamic languages, so you can begin working with Ruby, Python etc, to do interesting things inside Silverlight or in the browser via the DOM. Half the screen is a dynamic langauge console and the other half is a the output in Silverlight. The console lets you switch between languages mid-stream - that is cool. |
|
|