<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Port 25: The Open Source Community at Microsoft : Garrett Serack</title><link>http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx</link><description>Tags: Garrett Serack</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Crafting a Better PHP Build Process on Windows – Part IV</title><link>http://port25.technet.com/archive/2009/06/23/crafting-a-better-php-build-process-on-windows-part-iv.aspx</link><pubDate>Wed, 24 Jun 2009 00:12:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26365</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=26365</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/23/crafting-a-better-php-build-process-on-windows-part-iv.aspx#comments</comments><description>&lt;P&gt;&lt;EM&gt;In&amp;nbsp;the &lt;A class="" href="http://port25.technet.com/archive/2009/06/17/crafting-a-better-php-build-process-on-windows-part-iii.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/06/17/crafting-a-better-php-build-process-on-windows-part-iii.aspx"&gt;previous&amp;nbsp;post&lt;/A&gt;, I discussed what it took to use PGO on the Windows PHP build. That led to me building automated build scripts...&lt;/EM&gt;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;Automation as the root of all evil &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"Anything that can be done for you, automatically, can be done to you, automatically." - David C. Wyland&lt;/EM&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;First, I had to get the entire dependency stack into the mix.&amp;nbsp;While some of the dependent libraries had VCProject files, some didn't.&amp;nbsp;Worse, even if they had them, you couldn't tell with a degree of certainty that they were compiled with the same settings which would enable them to take advantage of PGO optimization.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I began taking each project, updating (or creating, using the &lt;A class="" href="http://gstoolkit.codeplex.com/Wiki/View.aspx?title=Trace" target=_blank mce_href="http://gstoolkit.codeplex.com/Wiki/View.aspx?title=Trace"&gt;Trace&lt;/A&gt; and &lt;A class="" href="http://gstoolkit.codeplex.com/Wiki/View.aspx?title=mkProject" target=_blank mce_href="http://gstoolkit.codeplex.com/Wiki/View.aspx?title=mkProject"&gt;mkProject&lt;/A&gt; tools) the Visual C++ project files that would use the same settings as the rest, and eventually came up with a solution file that had 74 projects in it - some of the projects generated more than one binary. &lt;/P&gt;
&lt;P&gt;Next, I had to actually automate the process of creating the vcproject files. Once you've got the right dependencies, the PHP build process cranks out over 30 binaries when you include the PHP extensions that get built as part of the core.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;After what seemed like a million compile-verify-tweak iterations, I had the tools that could generate VCProject files for the core PHP and all the extensions, provided it was all in the right place. &lt;/P&gt;
&lt;P&gt;Next I wrote a .cmd batch script that went step-by-step, checking out the source, compiling the dependent libraries, building the PHP makefile, compiling PHP like the community did - and logging what it was doing, then switching to instrumentation, rebuilding the dependencies again, building the stack, PGO training it with test data and some applications (Wordpress, MediaWiki and phpBB) and then relinking it with optimization. &lt;/P&gt;
&lt;P&gt;I got the .cmd script almost working, but it was fairly fragile.&amp;nbsp; At that point I &lt;A class="" href="http://fearthecowboy.com/post/Choosing-a-batch-scripting-language-on-Windows.aspx" target=_blank mce_href="http://fearthecowboy.com/post/Choosing-a-batch-scripting-language-on-Windows.aspx"&gt;decided to switch batch scripting strategies&lt;/A&gt;&amp;nbsp;and, in about a week, rewrote the batch script in &lt;A class="" href="http://fearthecowboy.com/?tag=/jscript" target=_blank mce_href="http://fearthecowboy.com/?tag=/jscript"&gt;JScript&lt;/A&gt;, which was far more flexible, and a lot more reliable. &lt;/P&gt;
&lt;H5&gt;&lt;U&gt;What's next... &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"The future always arrives too fast... and in the wrong order." - Alvin Toffler &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;During this process, I tweaked the build process that is generated quite a bit, adding in a few more applications to the PGO training, which cranks the performance up more and more. &lt;/P&gt;
&lt;P&gt;Now, I can add in more scripts to assist with the training pretty trivially, but it still takes some effort to package up an entire application like MediaWiki or Wordpress and include it into the build process.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Even once I've added in an application, I end up doing a whole slew of comparative testing to see what impact it has on the final executables. &lt;/P&gt;
&lt;P&gt;As time goes by, I'm sure there will be&amp;nbsp;more tweaking to be done but, in all likelihood, any significant performance gains are going to be the result some modification of the PHP codebase itself.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26365" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Dynamic+Languages/default.aspx">Dynamic Languages</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/PHP/default.aspx">PHP</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>Crafting a Better PHP Build Process on Windows – Part II</title><link>http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx</link><pubDate>Thu, 11 Jun 2009 20:10:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26189</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=26189</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx#comments</comments><description>&lt;P&gt;&lt;EM&gt;I talked about getting started in building the PHP stack in my &lt;A class="" href="http://port25.technet.com/archive/2009/06/09/optimizing-php-part-1.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/06/09/optimizing-php-part-1.aspx"&gt;last post&lt;/A&gt;, now I'm taking it...&lt;/EM&gt;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;One step further&lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." - Donald Knuth &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A chance conversation I had last summer at OSCON with &lt;A class="" href="http://port25.technet.com/archive/2009/02/10/welcome-snakebite-the-newest-open-network-in-town.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/02/10/welcome-snakebite-the-newest-open-network-in-town.aspx"&gt;Trent Nelson&lt;/A&gt;&amp;nbsp;- who was building Python on Windows -&amp;nbsp;planted the seeds of how to get PHP on Windows optimized further.&amp;nbsp; Trent was using the PGO features of Visual Studio to generate Python binaries that run faster.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Rather than spend a lot of time optimizing all the little bits of PHP itself, I thought that this would be an ideal way to improve the overall speed of PHP, provided I could find the right scenarios to train &lt;A class="" href="http://port25.technet.com/archive/2009/05/29/migrating-php-apps-to-windows.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/05/29/migrating-php-apps-to-windows.aspx"&gt;PHP&lt;/A&gt; with.&amp;nbsp; Little did I know that finding the right scenarios wasn't the hardest part. &lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width="100%" border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=50&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="" vAlign=top bgColor=#c0c0c0&gt;&lt;A href="http://en.wikipedia.org/wiki/Profile-guided_optimization"&gt;&lt;STRONG&gt;What is PGO?&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;EM&gt;(from Wikipedia) &lt;BR&gt;&lt;STRONG&gt;Profile-guided optimization&lt;/STRONG&gt; (&lt;B&gt;PGO&lt;/B&gt;) is a &lt;/EM&gt;&lt;A class="" href="http://en.wikipedia.org/wiki/Compiler" target=_blank mce_href="http://en.wikipedia.org/wiki/Compiler"&gt;&lt;EM&gt;compiler&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; optimization technique in &lt;/EM&gt;&lt;A class="" href="http://en.wikipedia.org/wiki/Computer_programming" target=_blank mce_href="http://en.wikipedia.org/wiki/Computer_programming"&gt;&lt;EM&gt;computer programming&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; to improve program runtime performance. In contrast to traditional optimization techniques that solely use the &lt;/EM&gt;&lt;A href="http://en.wikipedia.org/wiki/Source_code"&gt;&lt;EM&gt;source code&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;, PGO uses the results of test runs of the instrumented program to optimize the final generated code. The compiler is used to access data from a sample run of the program across a representative input set. The data indicates which areas of the program are executed more frequently, and which areas are executed less frequently. All optimizations benefit from profile-guided feedback because they are less reliant on &lt;/EM&gt;&lt;A class="" href="http://en.wikipedia.org/wiki/Heuristic" target=_blank mce_href="http://en.wikipedia.org/wiki/Heuristic"&gt;&lt;EM&gt;heuristics&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; when making compilation decisions.&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;Adding PGO to the existing build process &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"I have not failed, I've just found 10,000 ways that won't work." - Thomas Edison&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I had downloaded the source to the dependent libraries off the PHP wiki, checked out the &lt;A class="" href="http://port25.technet.com/archive/2009/05/12/announcing-the-php-sdk-for-windows-azure.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/05/12/announcing-the-php-sdk-for-windows-azure.aspx"&gt;PHP source code&lt;/A&gt;, and begun the process of adding in PGO support to the existing build process. This proved to be extremely difficult.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Even limiting the scope to just the core of PHP itself - without the dependent libraries - I ran into trouble trying to compile using PGO instrumentation and then re-linking after running some tests.&amp;nbsp; The make file that gets generated by the configure.js script (a JScript version of the automake configure script for the Windows platform) was just not built with what I had in mind. &lt;/P&gt;
&lt;P&gt;I spent the better part of two weeks trying different approaches to tweaking the makefile so that I could use PGO to improve the &lt;A class="" href="http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx"&gt;PHP executable&lt;/A&gt;, but I kept running into roadblocks.&amp;nbsp; Worse, the closer I got to a makefile that did what I wanted, the farther away from the current build process I was getting, and I wasn't sure that what I would end up with would even be close to what was being built today. &lt;/P&gt;
&lt;H5&gt;&lt;U&gt;The long dark winter road &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"Only the meek get pinched. The bold survive." - Ferris Bueller&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I came to the conclusion that I'd have to build new Visual Studio project files from scratch.&amp;nbsp; What worried me was that this would end up to be a completely different build process, and I'd never get the community to abandon what was already working, so I'd better be able to rebuild these new project files easily.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I started looking (inside Microsoft and out) for any tools which generated Visual C++ project files.&amp;nbsp; I found someone internally who had used some JScript to create project files from text files, but after some experimentation, I found this was nowhere near what I needed.&amp;nbsp; What I really needed was a way to convert the generated Makefile into a .vcproj file-and not just 'wrap' it. &lt;/P&gt;
&lt;P&gt;Once I found there was no such tool* , I began trying to figure out how to create one. I had this idea a few times in the last decade or so: watch how a program is compiled, and create a project file that does the same thing. Having tossed around the idea in my head before, I knew it wasn't going to be trivial but, without it, I couldn't do what needed to be done. &lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width="100%" border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=50&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top&gt;&lt;EM&gt;* Let me tell you: you &lt;STRONG&gt;never&lt;/STRONG&gt; want to think about writing a tool to parse out what a makefile does.&amp;nbsp; It's rather like making a tool that tells you how sausage is made, in excruciating detail. Ugh.&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;In Part III, I'll talk about the trouble with observing the build process.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26189" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Dynamic+Languages/default.aspx">Dynamic Languages</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>Crafting a Better PHP Build Process on Windows – Part I</title><link>http://port25.technet.com/archive/2009/06/09/optimizing-php-part-I.aspx</link><pubDate>Tue, 09 Jun 2009 18:22:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26148</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=26148</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/09/optimizing-php-part-I.aspx#comments</comments><description>&lt;P&gt;&lt;EM&gt;The last several months, I've been working very deeply with PHP - specifically, compiling the PHP core itself, and looking for avenues for optimization. This is the first of four posts about the journey I've been on with PHP.&lt;/EM&gt;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;I get started building PHP&lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;&lt;U&gt;&lt;/U&gt;
&lt;P&gt;&lt;EM&gt;"It is a bad plan that admits of no modification" - Publilius Syrus &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I started working with building PHP itself about a year ago. Initially, I was trying to put together an environment to compile up the PHP stack so that I could do some debugging, and track down a few faults that we were encountering in some of the PHP applications that we were trying to modify to use the &lt;A href="http://sql2k5php.codeplex.com/" target=_blank mce_href="http://sql2k5php.codeplex.com/"&gt;SQL Server PHP driver&lt;/A&gt; that the SQL Server team here at Microsoft was creating. &lt;/P&gt;
&lt;P&gt;Once I began to work with the source code, I found out very quickly that on top of having a hard time recreating the exact same binaries that the community build process generated, there were a large number of dependent libraries that were available in &lt;STRONG&gt;binary-only&lt;/STRONG&gt; form and which were kept in a zip file that was passed around from developer to developer. That seemed a little odd for an open-source project, but I can certainly understand that over time, unless someone is working hard to keep it all together, these things happen. &lt;/P&gt;
&lt;P&gt;Around the same time, the community had started to invest time and effort to 'clean up' the dependencies for building PHP on Windows, and move towards supporting VC9 (Visual Studio 2008) as an officially supported compiler. &lt;/P&gt;
&lt;P&gt;In order to help in this process, I built out some testing environments in our Lab, which would let me compile up PHP on Windows and Linux, in order to get decent and reliable test results which we could use to identify any shortcomings that we could then address. This includes benchmarking not just the core PHP executable, but replicable and comparable testing of PHP applications such as Wordpress, MediaWiki, Gallery and phpBB. &lt;/P&gt;
&lt;H5&gt;&lt;U&gt;PHP 5.3 on Windows: Not your father's PHP &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"I'm looking for a lot of men who have an infinite capacity to not know what can't be done." - Henry Ford &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;For &lt;A href="http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx"&gt;PHP 5.3&lt;/A&gt;, &lt;A href="http://blog.thepimp.net/" target=_blank mce_href="http://blog.thepimp.net/"&gt;Pierre&lt;/A&gt; (and others) had gone out and found up-to-date versions of all the dependencies, brought them together, and managed to get them compiling with VC6 and VC9.&amp;nbsp; They had posted these in binary and source form to the &lt;A href="http://wiki.php.net/internals/windows" target=_blank mce_href="http://wiki.php.net/internals/windows"&gt;PHP Windows Internals&lt;/A&gt; site, which allows anyone to rebuild the PHP stack on Windows and, theoretically, get the same results as the 'official' build. &lt;/P&gt;
&lt;P&gt;Jumping in at that point was much easier than it had been, as all you had to do was download the binaries of the libraries, check out the source code, run a few commands at the command line and, &lt;STRONG&gt;presto,&lt;/STRONG&gt; you had your PHP executables.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;At this point Pierre and I played around with the build flags on VC9 and found some settings that gave some pretty significant improvements to the speed of PHP vs. the speed of the VC6 version -and a lot of speed improvements vs. the old 5.2x line of PHP. &lt;/P&gt;
&lt;H5&gt;&lt;/H5&gt;
&lt;P&gt;&lt;EM&gt;In Part II, I'll talk about going one step further with optimization.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26148" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Dynamic+Languages/default.aspx">Dynamic Languages</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/PHP/default.aspx">PHP</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>PHP 5.3 RC2 Highly Optimized for Windows</title><link>http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx</link><pubDate>Mon, 11 May 2009 16:52:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25732</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=25732</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Howdy, &lt;/P&gt;
&lt;P&gt;I've been working for many months with &lt;A class="" href="http://blog.thepimp.net/" target=_blank mce_href="http://blog.thepimp.net/"&gt;Pierre Joye&lt;/A&gt;&amp;nbsp;- well, really &lt;STRONG&gt;many &lt;/STRONG&gt;people in the PHP community - on getting PHP to run faster on Windows.&lt;/P&gt;
&lt;P&gt;Pierre has been working rapidly on upgrading libraries (Pierre pioneered the work to get PHP and its hoard of dependent libraries updated and properly compiling on Windows), replacing old POSIX-emulation code with native calls, patching bugs, and about a million other things, all of which had a huge impact on performance and stability of PHP on Windows.&lt;/P&gt;
&lt;P&gt;For my part, I've been spending my time behind the scenes by feeding information to Pierre that he needs, testing, analyzing, and finally by constructing a new build process that enables us to take advantage of some pretty sweet optimization technology in Visual Studio.&lt;/P&gt;
&lt;P&gt;Starting today, you can find &lt;A class="" href="http://windows.php.net/downloads/snapsoptimized/php-5.3-nts-win32-VC9PGO-x86-latest.zip" target=_blank mce_href="http://windows.php.net/downloads/snapsoptimized/php-5.3-nts-win32-VC9PGO-x86-latest.zip"&gt;snapshot builds&lt;/A&gt; of PHP 5.3 that are built using my optimized build process on the &lt;A class="" title="Optimized Snapshots of PHP 5.3" href="http://windows.php.net/downloads/snapsoptimized/" target=_blank mce_href="http://windows.php.net/downloads/snapsoptimized/"&gt;windows.php.net&lt;/A&gt; site.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A&amp;nbsp;few notes:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Over the course of the next couple of weeks, I'll be explaining how this build process works, and making available the tools that&amp;nbsp;make it all possible.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Only the non-thread-safe version is available, so you need to use FastCGI with IIS&amp;nbsp;in order to use it.&lt;/P&gt;
&lt;P&gt;Since this is a&amp;nbsp;radically different build than the ones that&amp;nbsp;had&amp;nbsp;been traditionally used to create the&amp;nbsp;Windows PHP binaries, you should&amp;nbsp;download the binaries and test with them, but you probably should avoid using them in production just yet.&lt;/P&gt;
&lt;P&gt;If you have any feedback about the builds,&amp;nbsp;leave me a comment, or &lt;A class="" href="mailto:garretts@microsoft.com" target=_blank mce_href="mailto:garretts@microsoft.com"&gt;email&lt;/A&gt; me.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25732" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Dynamic+Languages/default.aspx">Dynamic Languages</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/PHP/default.aspx">PHP</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>A funny thing happened on the way to ApacheCon</title><link>http://port25.technet.com/archive/2008/04/10/a-funny-thing-happened-on-the-way-to-apachecon.aspx</link><pubDate>Thu, 10 Apr 2008 18:20:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:14905</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=14905</wfw:commentRss><comments>http://port25.technet.com/archive/2008/04/10/a-funny-thing-happened-on-the-way-to-apachecon.aspx#comments</comments><description>&lt;P&gt;Back in January, I invited the Apache Software Foundation to attend the Windows Server 2008 Application Compatibility Labs, here on our campus in Redmond.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The week that Apache was here, was so valuable for both groups--the product groups got to see and understand what some of the issues were that some of the Apache projects have run into, and the Apache folks were able to get their hands on the developers who built the system. &lt;/P&gt;
&lt;P&gt;Myself and Bill Rowe had hammered out some details before I actually sent the invitation out. Along with posting it on some of the Apache Mailing Lists, I also posted the invitation on my own blog so that others could see what we're up to. And, as to be expected, there was a wide variety of comments posted--both positive, and ... less positive.&lt;/P&gt;
&lt;P&gt;My favorite though, was: &lt;EM&gt;"Microsoft should go to Apache developers and see if Windows Server 2008 works correctly with Apache, not the other way around."&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In some ways, that would have been somewhat impractical--when the Apache folks visited us, they had the opportunity to meet with engineers and program managers from many different groups, in addition to getting access to the hardware in the lab and the expertise of the folks who run that.&amp;nbsp; For us to pick up the 20 or so people from the product groups that they actually met with, and drag them all out to all the locations where Apache developers are--which is pretty much everywhere--would not have been possible&lt;/P&gt;
&lt;P&gt;Still, I felt it would be more than valuable for me to go ApacheCon, so that I had the opportunity to meet with Apache developers where they roam. When Bill was in Redmond, he invited me to the Apache Hackathon--the couple of days at the beginning of the conference that developers could hang out and code.&amp;nbsp; So, a snappy 10hr flight later, here I am at ApacheCon in Amsterdam.&lt;/P&gt;
&lt;P&gt;The Apache Foundation is an interesting community--or rather community of communities.&amp;nbsp; It's not just one project (the http server is what most people think when they hear Apache), but literally dozens of top level projects, and a whole bunch more in the 'incubator' (where baby projects are cultivated until it is clear that it will have ongoing support and development).&amp;nbsp; The hackathon is just a large room with tables where folks can come in, sit down open their laptops and start coding. It's actually a lot quieter than I imagined it would be.&amp;nbsp; Naturally, the folks in communities tend to gravitate together and discuss their projects.&lt;/P&gt;
&lt;P&gt;As I'm not really on any project, I've been bouncing around chatting up different groups, getting their perspective of their own little chunk of Apache.&amp;nbsp; Most of the people I've talked to aren't surprised at all that I'm here--which is definitely a change from conferences a year ago--and are excited to hear about our efforts.&lt;/P&gt;
&lt;P&gt;Now, for the funny thing.&amp;nbsp; I booked my hotel a few weeks back, using the internal travel system here at Microsoft.&amp;nbsp; The hotel that the conference is at was booked, so I looked for one nearby.&amp;nbsp; Unfortunately, the tool doesn't let me search for hotels near another hotel, and I didn't know what else was close that I could search near (and my inability to read Dutch didn't help), so I used the tool to show me where the hotels were, I'd switch to &lt;A href="http://local.live.com/"&gt;http://local.live.com&lt;/A&gt; and see how close it was, and if it was close, I'd switch to the other tool to check out the availability, and there was not much available. ... I guess I was distracted while I was doing it, and I ended up booking a hotel right next to the airport, which is in no way close to the conference, and so I spent the night in that hotel--and called the wonderful travel support folks who found me a hotel where I needed to be, and I moved there the next morning. Lesson learned: next time I travel to the Netherlands, I'm asking &lt;A class="" href="http://www.microsoft.com/opensource/heroes/hank.mspx" mce_href="http://www.microsoft.com/opensource/heroes/hank.mspx"&gt;Hank&lt;/A&gt; to find me a hotel. &lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=14905" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>How a cowboy spends two days in Boston: Drupalcon 2008</title><link>http://port25.technet.com/archive/2008/03/24/how-a-cowboy-spends-two-days-in-boston-drupalcon-2008.aspx</link><pubDate>Mon, 24 Mar 2008 21:45:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:9945</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=9945</wfw:commentRss><comments>http://port25.technet.com/archive/2008/03/24/how-a-cowboy-spends-two-days-in-boston-drupalcon-2008.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Howdy ya'll, &lt;/P&gt;
&lt;P mce_keep="true"&gt;I was recently in Boston, and managed to spend a couple of days at &lt;SPAN lang=EN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://boston2008.drupalcon.org/"&gt;&lt;FONT color=#0000ff&gt;Drupalcon&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;, where &lt;A class="" href="http://port25.technet.com/" mce_href="http://port25.technet.com/"&gt;Port25&lt;/A&gt; was a silver level sponsor for the event.&amp;nbsp; The herd was over 800 attendees--all focused on &lt;A class="" href="http://drupal.org/" mce_href="http://drupal.org/"&gt;Drupal&lt;/A&gt;.&amp;nbsp; Needless to say, I was duly impressed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;What's Drupal?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Drupal, written in &lt;A class="" href="http://php.net/" mce_href="http://php.net/"&gt;PHP&lt;/A&gt;, is an open source content management platform. It's equipped with a powerful blend of features, and supports a variety of websites ranging from personal weblogs to large community-driven portals.&amp;nbsp; Drupal has been rapidly displacing a large number of other PHP based content management systems, and has an active community along with broad vendor support. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Over the last year or so, Microsoft has been working hard to improve PHP's support on Windows.&amp;nbsp; With the hard work from the SQL Server team, who recently published a new CTP of the &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?familyid=85f99a70-5df5-4558-991f-8aee8506833c&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=85f99a70-5df5-4558-991f-8aee8506833c&amp;amp;displaylang=en"&gt;native SQL Server PHP driver&lt;/A&gt;, the &lt;A class="" href="http://learn.iis.net/page.aspx/375/setting-up-fastcgi-for-php/" mce_href="http://learn.iis.net/page.aspx/375/setting-up-fastcgi-for-php/"&gt;FastCGI &lt;/A&gt;work that the IIS team has done, and of course Zend, who we've been coordinating with--PHP is rapidly getting the support and attention it deserves. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;So... Drupalcon?&lt;/STRONG&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;Ah Yes. From the humble beginnings in 2004, where 10 people attended the first Drupalcon, it's grown into a massive bi-annual event (one in &lt;A class="" href="http://boston2008.drupalcon.org/" mce_href="http://boston2008.drupalcon.org/"&gt;North America&lt;/A&gt;, and one in Europe) with over 800 attendees, plus sponsors. I was truly stunned at the sheer size of the event--I would have assumed a much larger affair.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://boston2008.drupalcon.org/user/42" mce_href="http://boston2008.drupalcon.org/user/42"&gt;Kieran Lal&lt;/A&gt; hosted a session early on Monday morning, in which he told how to get the most out of Drupalcon--and really, it was applicable to any conference, and I really enjoyed it. Between that session and the first keynote, I hung out, and got to know a bunch of folks.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Who are the people in your neighborhood?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Drupalcon was &lt;STRONG&gt;really &lt;/STRONG&gt;quite special--of all the conferences I've been to, Drupalcon was home to the most friendly folk I've ever seen.&amp;nbsp; Everybody was really fun to talk to, and they all were excited to hear about Microsoft's effort in making PHP run great on Windows. &lt;/P&gt;
&lt;P mce_keep="true"&gt;I spent about 45 minutes talking to &lt;A class="" href="http://www.garfieldtech.com/" mce_href="http://www.garfieldtech.com/"&gt;Larry Garfield&lt;/A&gt; about expanding support for databases in Drupal.&amp;nbsp; Larry has done a tremendous amount of work for &lt;A class="" href="http://www.garfieldtech.com/blog/drupal7-database-update" mce_href="http://www.garfieldtech.com/blog/drupal7-database-update"&gt;Drupal 7 on database abstraction-&lt;/A&gt;-it's going to be pretty cool, trust me.&lt;/P&gt;
&lt;P mce_keep="true"&gt;I managed a few minutes of Kieran Lal's time, which was quite amazing, as he seemed to be doing a million things at once during the conference, and barely had a spare moment to catch his breath.&amp;nbsp; We talked about the future of Drupal, and how Microsoft could get involved, and I think we're both pretty excited about the future.&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&lt;A class="" href="http://buytaert.net/" mce_href="http://buytaert.net/"&gt;Dries Buytaert&lt;/A&gt; gave his traditional "State of Drupal" presentation (video can be found &lt;A class="" href="http://www.archive.org/details/DrupalconBoston2008-TheStateOfDrupal" mce_href="http://www.archive.org/details/DrupalconBoston2008-TheStateOfDrupal"&gt;here&lt;/A&gt;), which contained a couple real eye openers:&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;-&amp;nbsp;Drupal 6 had over 100,000 downloads in the first month of release, that's 2x over Drupal 5. Wow. That's&lt;BR&gt;pretty amazing.&lt;BR&gt;-&amp;nbsp;Drupal 7 (and beyond) appears to have one of the most well thought out plans in place--I can't recall another open source project that has such a detailed road map. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Then, I came home... &lt;/P&gt;
&lt;P mce_keep="true"&gt;Aside from the jet-lag and the shortness of the trip, I enjoyed the conference immensely.&amp;nbsp; We've been playing with Drupal in our lab over the last several months, and it's clear that the time has been well spent--Drupal is not only an emerging phenomenon, but the future looks even brighter.&amp;nbsp; I reckon you'll be seeing many more posts from me in the future about it.&lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=9945" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/PHP/default.aspx">PHP</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>The Apache Visit to the Microsoft Campus: Day Three</title><link>http://port25.technet.com/archive/2008/03/03/the-apache-visit-to-the-microsoft-campus-day-three.aspx</link><pubDate>Mon, 03 Mar 2008 20:00:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:6391</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=6391</wfw:commentRss><comments>http://port25.technet.com/archive/2008/03/03/the-apache-visit-to-the-microsoft-campus-day-three.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Day two moseyed late into the night...well for me anyway--cowboys wake with the sun.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Day three turned out to be a day full of surprises for me--most of the sessions were significantly more interesting than I would have guessed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;We started the day with a presentation by &lt;STRONG&gt;Bill McKinley&lt;/STRONG&gt; on &lt;A class="" href="http://www.innovateon.com/product_server2008.aspx" mce_href="http://www.innovateon.com/product_server2008.aspx"&gt;Windows Logo Certification&lt;/A&gt; (for which there is a great little quickie primer &lt;A class="" href="http://blogs.msdn.com/v3nkat/archive/2008/01/21/windows-server-2008-application-compatibility-and-logo-certification.aspx" mce_href="http://blogs.msdn.com/v3nkat/archive/2008/01/21/windows-server-2008-application-compatibility-and-logo-certification.aspx"&gt;here&lt;/A&gt;).&amp;nbsp; I highly recommend checking this out--the logo certification program provides some tools to assist with certification validation, and even if you have no interest in certification, running the tool will give you a rundown of potential issues that your customers will face.&lt;/P&gt;
&lt;P mce_keep="true"&gt;After a break for more testing, Rob Mensching and Peter Marcu dropped by to give the team a thorough examination of &lt;A class="" href="http://wix.sourceforge.net/" mce_href="http://wix.sourceforge.net/"&gt;WiX&lt;/A&gt; (the open source Windows Installer XML toolset). Again, very cool stuff. Admittedly, there seems to be a somewhat steep learning curve, but it integrates nicely into build scripts, and has all the flexibility you'd ever need.&lt;/P&gt;
&lt;P mce_keep="true"&gt;After lunch, we did some testing, with a quick little jaunt to the Microsoft Company Store, where the attendees took advantage of Microsoft Employee pricing on some software and hardware.&lt;/P&gt;
&lt;P mce_keep="true"&gt;We rounded out the day with a session on &lt;A class="" href="http://msdn2.microsoft.com/en-us/isv/bb190483.aspx" mce_href="http://msdn2.microsoft.com/en-us/isv/bb190483.aspx"&gt;Windows Error Reporting&lt;/A&gt; -- you know when an app crashes, and you can send anonymous debug info to Microsoft?&amp;nbsp; The information ends up in the WER system, where developers can register to get crash and hang information for their software and drivers.&amp;nbsp; I knew that the information was collected, but previously, I had no idea how easy it is for app developers to get their hands on the data. I strongly recommend that you check it out.&lt;/P&gt;
&lt;P mce_keep="true"&gt;While Wednesday was the last day for most of the attendees, a few stayed through Thursday, and I'll post a wrap-up on that tomorrow.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=6391" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>The Apache Visit to Microsoft Campus: Day Two</title><link>http://port25.technet.com/archive/2008/02/28/the-apache-visit-to-microsoft-campus-day-two.aspx</link><pubDate>Thu, 28 Feb 2008 22:59:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:6073</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=6073</wfw:commentRss><comments>http://port25.technet.com/archive/2008/02/28/the-apache-visit-to-microsoft-campus-day-two.aspx#comments</comments><description>&lt;P&gt;The Apache Visit to Microsoft Campus: Day Two&lt;/P&gt;
&lt;P&gt;Day two turned out to be quite a busy day!&lt;/P&gt;
&lt;P&gt;First thing in the morning, we started off testing some Apache applications on Windows Server 2008, both the 64 and 32 bit versions.&amp;nbsp; Right away, a few things were uncovered, primarily around UAC, data redirection (where Windows redirects writes to the file system and registry to safe locations for low-rights processes) and an odd issue with an event mutex that we're tracking down.&lt;/P&gt;
&lt;P&gt;After getting a little testing done, we had a great in-depth presentation of IIS by Senior Program Manager &lt;STRONG&gt;Thomas Deml&lt;/STRONG&gt;.&amp;nbsp; Like the Core Networking presentation the day before, it was really informative, and the Apache folks took the opportunity to really drill down into the architecture of IIS. Why would they? Like I mentioned before, a number of Apache Projects (like Tomcat) support IIS in one way or another, and could benefit from tighter integration with IIS.&lt;/P&gt;
&lt;P&gt;After lunch, &lt;STRONG&gt;Peter-Michael Osera&lt;/STRONG&gt; and &lt;STRONG&gt;Li Shao&lt;/STRONG&gt; spent a couple of hours addressing some of the C++ and toolset questions the Apache team brought.&amp;nbsp; They really did an admirable job answering the questions that they could, and the ones that they didn't have answers to, they are following up via email over the next couple of days.&lt;/P&gt;
&lt;P&gt;After that, some more time for testing rounded out the rest of the day.&lt;/P&gt;
&lt;P&gt;For supper, Sam Ramji, took the team out to Ruths' Chris Steakhouse for a fantastic meal, and we had a great evening talking about nearly everything under the sun. &lt;BR&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=6073" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>The Apache Visit to Microsoft Campus: Day One</title><link>http://port25.technet.com/archive/2008/02/26/the-apache-visit-to-microsoft-campus-day-one.aspx</link><pubDate>Tue, 26 Feb 2008 20:34:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:5886</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=5886</wfw:commentRss><comments>http://port25.technet.com/archive/2008/02/26/the-apache-visit-to-microsoft-campus-day-one.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;This morning, we've had the honor of hosting the Apache Software Foundation in the Windows Server 2008 Application Labs.&amp;nbsp; They are here this week in order to get some deep knowledge about Windows Server 2008, and access to the folks from product groups who can help them make their apps work better under Windows Server.&lt;/P&gt;
&lt;P mce_keep="true"&gt;We asked them out to campus because we are extremely interested in having the Apache web server (well, all the Apache projects) run great on Windows Server 2008.&amp;nbsp; Now, every time I say that, some folks always want to know "Why would you want that?" or "What do the IIS folks think about that?"&lt;/P&gt;
&lt;P mce_keep="true"&gt;Well, it turns out that some folks have apps that run on Apache.&amp;nbsp; Yes, even on Windows. Sometimes, it's a matter of investment in a particular solution where their app uses Apache. It could even be that they just simply prefer the model that Apache provides. Regardless, it's important to us that those applications run as good as they possibly can on the Windows platform.&lt;/P&gt;
&lt;P mce_keep="true"&gt;As to the question about IIS, there are several Apache projects like Tomcat that currently support IIS, and hey, we'd like to have even better support.&amp;nbsp; To make that happen, we've asked some folks from the IIS team to join us in the labs, where they can open up and give the assistance that is needed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;By midday, two fine gentlemen from the Compatibility Lab (&lt;STRONG&gt;Pat Altimore&lt;/STRONG&gt; and &lt;STRONG&gt;Maarten Van De Bospoort&lt;/STRONG&gt;) presented a great session about general compatibility issues with Windows Server 2008.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In the afternoon, we had &lt;STRONG&gt;Ari Pernick&lt;/STRONG&gt; (along with a posse of extremely knowledgeable folks, whose names I did not get... but I will) come out from the Core Networking group.&amp;nbsp; They spent about two and a half hours going through details in the Windows Server 2008 networking stack, as well as a deep investigation of the HTTP.SYS technology. Now, I’m no slouch when it comes to this stuff, but I tell ya, I learned a lot yesterday just sitting in on that.&amp;nbsp; From the water-cooler conversations that we had later in afternoon, I would expect that we’re going to see some interesting changes in Apache httpd, and Tomcat in the future.&lt;/P&gt;
&lt;P mce_keep="true"&gt;After that, we took an hour and came up with a list of other issues and questions that the Apache folks had, so we can drag in some more product groups on Tuesday and Wednesday.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;As for the evening, we all went out to the Rock Bottom Brewery for some food and drinks and some socialization—I took a few pictures, and I’ll get them up as soon as I can. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=5886" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/App/default.aspx">App</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item><item><title>Garrett Serack: Open Source Software Community Lead</title><link>http://port25.technet.com/archive/2007/06/21/garrett-serack-open-source-software-community-lead.aspx</link><pubDate>Thu, 21 Jun 2007 20:50:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4073</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>43</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4073</wfw:commentRss><comments>http://port25.technet.com/archive/2007/06/21/garrett-serack-open-source-software-community-lead.aspx#comments</comments><description>&lt;P&gt;I'm pleased to announce ... er, myself, as the Open Source Community Lead here at Microsoft. &lt;/P&gt;
&lt;P&gt;I'd have left this to Sam, but hey--why should he get all the fun. &lt;/P&gt;
&lt;P&gt;I'm responsible for building communities of Open Source developers around Microsoft's platforms, both externally, and internally--yes, this means the product groups.&amp;nbsp; I'm really interested in what kinds of things we can start building as Open Source software, and illuminating what we've already done. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/garretts/archive/2007/06/15/open-source-at-microsoft-herdin-cats-or-cow-chips.aspx" mce_href="http://blogs.msdn.com/garretts/archive/2007/06/15/open-source-at-microsoft-herdin-cats-or-cow-chips.aspx"&gt;&lt;FONT color=#dd4a21&gt;I said a few things the other day&lt;/FONT&gt;&lt;/A&gt; on &lt;A href="http://fearthecowboy.com/" mce_href="http://fearthecowboy.com/"&gt;&lt;FONT color=#dd4a21&gt;My blog&lt;/FONT&gt;&lt;/A&gt; that I think I bears repeating: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;This is a pretty wide reaching role, meaning that I touch a lot of ground. Some of the highlights: &lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Seeking out Open Source projects we can assist (either by contributing code, MSDN licenses or whatever :D ) &lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Speaking/Presenting with companies, conferences, groups and people &lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Building an Open Source MVP Program &lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Enlightening Microsoft Product Groups about Open Source, and finding opportunities for them &lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Facilitating communication between open source developers and Product Groups &lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Building transparency into Microsoft and Open Source (believe it or not!) &lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;There have been a lot of changes in Microsoft in the last few years, that folks can't yet see, and I'm hoping to expose that type of thing to the world, and bring the world of Open Source to Microsoft. &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I'm not going to espouse the great plans I have in too much detail... I've found that actions speak louder than words, and have far more lasting impact than the words do. I'm focusing&amp;nbsp;on what Microsoft is &lt;EM&gt;&lt;STRONG&gt;doing&lt;/STRONG&gt;&lt;/EM&gt;, and less on what has been &lt;STRONG&gt;&lt;EM&gt;said&lt;/EM&gt;&lt;/STRONG&gt;. I mentioned that too in my blog: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;I don't get it... Microsoft and Open Source? Are you &lt;EM&gt;sure&lt;/EM&gt;?&lt;/STRONG&gt;&lt;/EM&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I know... I know. Y'all got some reservations about Microsoft with regards to open source.&amp;nbsp; Well, I'm not going to try convince you of anything. What I am going to do is to shine the light on the things Microsoft is &lt;STRONG&gt;doing &lt;/STRONG&gt;to create communities in the Open Source world. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Add to that, I'm doin' some rustlin' inside of the company itself--as expected, there are a few tenderfoots 'round here who would just soon reckon' we didn't bother. Well, I got a cattle brand heatin' up just for the conversation.... We'll just see about that.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Somethin' about me&lt;/STRONG&gt;: &lt;/P&gt;
&lt;P&gt;I joined Microsoft in the fall of 2005 as the Community Program Manager of the CardSpace team, and I've been working with companies and the open source community to build digital identity frameworks, tools and standards to shape the future of internet commerce and. I'm also co-writing a book titled &lt;EM&gt;Understanding CardSpace&lt;/EM&gt;, which should be available in the fall of 2007. Prior to moving to the Puget Sound area, I've had a lengthy career as a Software Development Consultant, moving from Developer, to&amp;nbsp;Architect, to Mentor over the course of the last 16 years. As life-long code-monkey, I've pounded out code on more than 20 platforms and 35 different languages, and I see no reason to stop there. I've put code into many open source projects, and I'd like to think that I share a very strong part of the Open Source vision that permeates information technology everywhere. You can catch all my posts on my blog at &lt;A href="http://fearthecowboy.com/" mce_href="http://fearthecowboy.com/"&gt;&lt;FONT color=#dd4a21&gt;http://fearthecowboy.com&lt;/FONT&gt;&lt;/A&gt; . &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What's Next:&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;In my next blog post I'll detail the promise--that is my commitment to the community.&amp;nbsp; I think it's important to know what you can expect, as well as my boundaries.&amp;nbsp; I'll also have communication channels setup so that you can talk to me; either publicly, or via confidential email. &lt;/P&gt;
&lt;P&gt;Garrett Serack&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;[PostIcon:4108]&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4073" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Garrett+Serack/default.aspx">Garrett Serack</category></item></channel></rss>