<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Port 25: Open Source Community at Microsoft</title><link>http://port25.technet.com/default.aspx</link><description>Welcome to Port 25: Join the community &amp; get insights, technical tips and blogs from the open source community at Microsoft.</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><media:copyright>Copyright Microsoft Corporation. Licensed under the Microsoft Public License.</media:copyright><media:thumbnail url="http://port25.technet.com/videos/podcasts/port25podlogo.jpg" /><media:keywords>Microsoft,Linux,Open,Source,Networks,Blog,Podcast,UNIX,Windows,Server,Port,Sam,Ramji,Bill,Hilf</media:keywords><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Tech News</media:category><itunes:explicit>no</itunes:explicit><itunes:image href="http://port25.technet.com/videos/podcasts/port25podlogo.jpg" /><itunes:keywords>Microsoft,Linux,Open,Source,Networks,Blog,Podcast,UNIX,Windows,Server,Port,Sam,Ramji,Bill,Hilf</itunes:keywords><itunes:subtitle>Podcasts from the Port 25: Open Source Community at Microsoft</itunes:subtitle><itunes:summary>Subscribe to get regular podcast updates from Port 25. Episodes feature conversations with developers, customers and partners on Windows, Linux and OSS Interoperability.</itunes:summary><itunes:category text="Technology"><itunes:category text="Tech News" /></itunes:category><geo:lat>47.677471</geo:lat><geo:long>-122.121383</geo:long><image><link>http://port25.technet.com</link><url>http://port25.technet.com/photos/images/images/4536/original.aspx</url><title>Port 25 Community</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Port25" type="application/rss+xml" /><feedburner:browserFriendly>Port 25 is home to the open source community at Microsoft. This represents an open conversation dedicated Linux, Windows and open source interoperability.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>OSCON 2009</title><link>http://feedproxy.google.com/~r/Port25/~3/govqAI5GXx0/oscon-2009.aspx</link><pubDate>Tue, 30 Jun 2009 00:29:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26461</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=26461</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/29/oscon-2009.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;As Microsoft continues to support and participate in open source communities, the company is again a proud sponsor of the annual O'Reilly Open Source Convention (&lt;A class="" href="http://en.oreilly.com/oscon2009" target=_blank mce_href="http://en.oreilly.com/oscon2009"&gt;OSCON&lt;/A&gt;), which is being held in San Jose from July 20 to July 24.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In addition to having a booth on the show floor, Tony Hey, the Corporate Vice President for Microsoft External Research, will deliver a keynote address on Thursday July 23, titled "&lt;A class="" href="http://en.oreilly.com/oscon2009/public/schedule/detail/10209" target=_blank mce_href="http://en.oreilly.com/oscon2009/public/schedule/detail/10209"&gt;Open Tools and Services on Microsoft Platforms&lt;/A&gt;," which will examine the far-reaching changes open research &lt;A class="" href="http://research.microsoft.com/en-us/collaboration/tools" target=_blank mce_href="http://research.microsoft.com/en-us/collaboration/tools"&gt;tools and services&lt;/A&gt; will have to support every stage of the research process.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Erik Meijer, one of Microsoft's Principal Architects, will also give a keynote talk on Friday July 24 and titled "&lt;A class="" href="http://en.oreilly.com/oscon2009/public/schedule/detail/9099" target=_blank mce_href="http://en.oreilly.com/oscon2009/public/schedule/detail/9099"&gt;Fundamentalist Functional Programming&lt;/A&gt;." &lt;/P&gt;
&lt;P mce_keep="true"&gt;His talk will argue that fundamentalist functional programming - that is, radically eliminating all side effects from programming languages, including strict evaluation - is what it takes to conquer the concurrency and parallelism dragon. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Following his keynote, Erik is also presenting on using the &lt;A class="" href="http://en.oreilly.com/oscon2009/public/schedule/detail/9093" target=_blank mce_href="http://en.oreilly.com/oscon2009/public/schedule/detail/9093"&gt;LiveLabs&amp;nbsp;Reactive Framework&lt;/A&gt;&amp;nbsp;to democratize the cloud.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Vijay Rajagopalan, a Principal Architect in Microsoft's Interoperability group, is also &lt;A class="" href="http://en.oreilly.com/oscon2009/public/schedule/detail/10225" target=_blank mce_href="http://en.oreilly.com/oscon2009/public/schedule/detail/10225"&gt;giving a talk&lt;/A&gt; on Wednesday July 22 in the Product and Services Track, titled "Interoperability - Build Mission Critical Applications in PHP, Ruby, Java and Eclipse Using Microsoft Software &amp;amp; Services."&lt;/P&gt;
&lt;P&gt;During his presentation, Vijay will talk about how Microsoft has delivered multiple technologies that &lt;A class="" href="http://port25.technet.com/archive/2008/11/07/open-source-interoperability-projects-at-microsoft.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/11/07/open-source-interoperability-projects-at-microsoft.aspx"&gt;focus on interoperability&lt;/A&gt; with non-Microsoft and Open Source technologies. He will also show&amp;nbsp;how developers can, today, use Eclipse tools to build Silverlight applications that run on PCs and Macs, as well as how they can develop using combinations of &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&lt;/A&gt;, Java and Ruby in addition to the standard Microsoft languages.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In addition to all the talking, we also expect to do a lot of "showing," and a&amp;nbsp;number of product groups will be represented in the Microsoft booth, including folk from the Education, External Research, &lt;A href="http://port25.technet.com/archive/2008/11/04/open-source-highlights-at-microsoft-s-professional-developers-conference.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/11/04/open-source-highlights-at-microsoft-s-professional-developers-conference.aspx"&gt;Open Source Technology Center&lt;/A&gt;, Interoperability and &lt;A href="http://port25.technet.com/archive/2009/05/18/microsoft-teams-up-with-black-duck-software.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/05/18/microsoft-teams-up-with-black-duck-software.aspx"&gt;CodePlex&lt;/A&gt; parts of the company, all of whom will be giving technical demos and chatting to attendees..&lt;/P&gt;
&lt;P mce_keep="true"&gt;An analyst/partner roundtable discussion is also on the cards, as is a broader interoperability discussion. You won't want to miss any of it.&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26461" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/govqAI5GXx0" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Industry+Conferences/default.aspx">Industry Conferences</category><category domain="http://port25.technet.com/archive/tags/OSCON/default.aspx">OSCON</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/06/29/oscon-2009.aspx</feedburner:origLink></item><item><title>Crafting a Better PHP Build Process on Windows – Part IV</title><link>http://feedproxy.google.com/~r/Port25/~3/qJr9viT3kVY/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>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;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/qJr9viT3kVY" height="1" width="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><feedburner:origLink>http://port25.technet.com/archive/2009/06/23/crafting-a-better-php-build-process-on-windows-part-iv.aspx</feedburner:origLink></item><item><title>Crafting a Better PHP Build Process on Windows – Part III</title><link>http://feedproxy.google.com/~r/Port25/~3/FAh8e-ex_Fs/crafting-a-better-php-build-process-on-windows-part-iii.aspx</link><pubDate>Wed, 17 Jun 2009 20:47:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26275</guid><dc:creator>Garrett Serack</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=26275</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/17/crafting-a-better-php-build-process-on-windows-part-iii.aspx#comments</comments><description>&lt;P&gt;&lt;EM&gt;Previously, I talked about &lt;A class="" href="http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx"&gt;using PGO&lt;/A&gt; in the PHP build process. In order to use it I had to observe...&lt;/EM&gt;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;The Heisenberg build process &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it." - The First Law of Mentat, quoted by Paul Atreides to Reverend Mother Gaius Helen Mohiam &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Really, what I needed was a tool in two parts. The first would watch what happens during the build process, and the second would take that data and spit out some .vcproj files. &lt;/P&gt;
&lt;P&gt;When I want to see what's happening on my own system I use &lt;A class="" href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;ProcMon&lt;/A&gt;&amp;nbsp;- a &lt;A class="" href="http://technet.microsoft.com/en-us/sysinternals/default.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/sysinternals/default.aspx"&gt;Sysinternals&lt;/A&gt; tool that monitors processes, what files they touch, what commands get executed, etc. I grabbed that and tried to watch what happens when you run NMake on the makefile when building PHP. It turns out that are a few problems with that - ProcMon isn't very scriptable (making it tricky to automate) and even if it was, it has problems chopping off the command line in its log files when it's past a certain length. &lt;/P&gt;
&lt;P&gt;I found nothing else that did quite what I needed, so I started thinking about how to write a tool that does the same thing.&amp;nbsp; In the past I have used &lt;A class="" href="http://research.microsoft.com/en-us/projects/detours/" target=_blank mce_href="http://research.microsoft.com/en-us/projects/detours/"&gt;Detours&lt;/A&gt; (an API detouring library built by &lt;A class="" href="http://research.microsoft.com/en-us/default.aspx" target=_blank mce_href="http://research.microsoft.com/en-us/default.aspx"&gt;Microsoft Research&lt;/A&gt;) to build a couple of quick-and-dirty snoop/debugging tools.&amp;nbsp; Starting with a sample that came from the Detours library, I cobbled together a tool that would watch a process and its children, recording every file written or read, every command issued, and dump it into an XML file which I could process later. &lt;/P&gt;
&lt;H5&gt;&lt;U&gt;Creating the project files &lt;/U&gt;&lt;/H5&gt;
&lt;P&gt;At the same time, I began working on a tool that would generate .vcproj files from the data gathered during the make process. I first tried just putting together a tool which assembled the .vcproj XML file from what I knew about the layout of the project file but, as the build got trickier, the xml was getting harder to make sure it came out the way that Visual Studio expected.&amp;nbsp; I turned to the Visual Studio SDK to see if there were any COM objects I could use to manipulate project files - there were, but they aren't documented in great detail, and they were really designed to be used to inside Visual Studio for automation. Having scoured the planet, I found some examples of using the VCProjectEngine to generate project files. &lt;/P&gt;
&lt;P&gt;For a couple of weeks solid, I worked on the tool to generate project files, compiling, testing, tweaking, etc.&amp;nbsp; I finally reached a point where I generated a project file completely that would compile the php.exe and php5.dll . Having finally arrived at this point, I built PHP using PGO instrumentation, ran the bench.php script from the PHP source directory, and then re-linked the project. This first time, I saw about an 18% improvement in speed over the previous version! &lt;/P&gt;
&lt;H5&gt;&lt;U&gt;That moment &lt;/U&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"It ain't over 'til it's over, and maybe not then, either. " - Slovotsky's Law #29 &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Well, as anyone who's done software development will tell you, there's the moment when you finally get your program to do what you want under very controlled conditions, and then - quite some time later - there's the moment that you can give the fruits of that labor to someone else so they can do the same thing. &lt;/P&gt;
&lt;P&gt;Now that I had passed the point where I'd finally proven that it was worth the effort to build a PGO-optimized version of PHP, I had to get it scripted so that it could be done in an automated fashion, not just on my computer or a computer in our Lab. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;In the final part, I wrap up with the automation of the build and look to where we might go next in PHP.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26275" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/FAh8e-ex_Fs" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><feedburner:origLink>http://port25.technet.com/archive/2009/06/17/crafting-a-better-php-build-process-on-windows-part-iii.aspx</feedburner:origLink></item><item><title>Crafting a Better PHP Build Process on Windows – Part II</title><link>http://feedproxy.google.com/~r/Port25/~3/_fjxAVMGaBQ/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>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;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/_fjxAVMGaBQ" height="1" width="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><feedburner:origLink>http://port25.technet.com/archive/2009/06/11/crafting-a-better-php-build-process-on-windows-part-ii.aspx</feedburner:origLink></item><item><title>Crafting a Better PHP Build Process on Windows – Part I</title><link>http://feedproxy.google.com/~r/Port25/~3/_vSr5GEy3IQ/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>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;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/_vSr5GEy3IQ" height="1" width="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><feedburner:origLink>http://port25.technet.com/archive/2009/06/09/optimizing-php-part-I.aspx</feedburner:origLink></item><item><title>Microsoft, NASA and Open Source</title><link>http://feedproxy.google.com/~r/Port25/~3/Ns5WY4vqkZc/microsoft-nasa-and-open-source.aspx</link><pubDate>Tue, 02 Jun 2009 15:05:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25968</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25968</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/02/microsoft-nasa-and-open-source.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;There has been some renewed media interest in the &lt;A class="" href="http://www.microsoft.com/presspass/press/2009/mar09/03-24NASADataPR.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/press/2009/mar09/03-24NASADataPR.mspx"&gt;NASA Space Act Agreement&lt;/A&gt; with Microsoft, which was signed earlier this year. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Microsoft signed that agreement so as to provide an umbrella framework of contractual terms that allows for a variety of cooperative projects. At the same time, we also entered into a project agreement that had an initial project to write code that would allow for the conversion of a lot of data about the planets (the planetary data system) and Martian survey information (LROC) into the &lt;A class="" href="http://www.worldwidetelescope.org/Home.aspx" target=_blank mce_href="http://www.worldwidetelescope.org/Home.aspx"&gt;World Wide Telescope&lt;/A&gt; (WWT) format. &amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;WWT is an online program that pulls together images from across space and which lets users use their computer screens to traverse the universe.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Conversion of the information into the WWT format &lt;A href="http://www.worldwidetelescope.org/docs/WorldWideTelescopeProjectionReference.html" target=_blank&gt;Tessellated Octahedral Adaptive Subdivision Transform&lt;/A&gt; (TOAST), allows &lt;A class="" href="http://community.research.microsoft.com/blogs/wwt_data_blog/archive/2008/06/05/types-of-data-in-wwt.aspx" target=_blank mce_href="http://community.research.microsoft.com/blogs/wwt_data_blog/archive/2008/06/05/types-of-data-in-wwt.aspx"&gt;the data&lt;/A&gt; to be viewed in both the WWT client and a newly developed Silverlight version of the client that supports multiple platforms, while other clients can also implement TOAST. The WWT is&amp;nbsp;a freely &lt;A class="" href="http://www.worldwidetelescope.org/" target=_blank mce_href="http://www.worldwidetelescope.org"&gt;downloadable&lt;/A&gt; Windows client application.&lt;/P&gt;
&lt;P mce_keep="true"&gt;TOAST&amp;nbsp;displays flat images, like those from telescopes,on representations of spherical objects like planets and moons, on a computer screen. One of the primary reasons for adapting the TOAST format for&amp;nbsp;WWT was that it can accurately render the celestial poles with little distortion. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The traditional Mercator projection that is used by Google Earth and Sky in Google Earth cannot accurately render terrain or the sky within 15 degrees of the poles. TOAST is able to accurately render the sky and polar regions of the sky, Earth and planets with little distortion, which was important to&amp;nbsp;both WWT and NASA. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The intent all along was also to make the conversion utilities that were developed for this initial project available under an open source licensed distribution. This is part of Microsoft's Open Edge strategy, which allows for the extension of the platforms that we provide to the community, by the community, in cooperation with the leading domain authorities - in this case NASA.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;The WWT platform is the best astronomical data visualization technology available, and it makes sense that the most knowledgeable members of the community should be able to extend the platform with a variety of components under a mixture of licensing models.&lt;/P&gt;
&lt;P mce_keep="true"&gt;As Alyssa Goodman, a Professor of Astronomy at Harvard University,&amp;nbsp;says:&amp;nbsp;"If only we could travel faster than the speed of light, we could leave our solar system, go past the nearby stars of our galaxy, leave the Milky Way and visit the many galaxies beyond. Until then more and more incredible telescopes, including this WorldWide Telescope, will continue to let us marvel at the wonders of the Universe."&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25968" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/Ns5WY4vqkZc" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Standards/default.aspx">Standards</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/06/02/microsoft-nasa-and-open-source.aspx</feedburner:origLink></item><item><title>Real Mission Critical</title><link>http://feedproxy.google.com/~r/Port25/~3/qMecHLDMpdk/real-mission-critical.aspx</link><pubDate>Mon, 01 Jun 2009 16:15:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26025</guid><dc:creator>Mark Stone</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=26025</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/01/real-mission-critical.aspx#comments</comments><description>&lt;p&gt;The 1.0 release of &lt;a href="http://winbioinftools.codeplex.com" mce_href="http://winbioinftools.codeplex.com"&gt;WinBioinfTools&lt;/a&gt; might seem like a modest event; as of this writing, the project has&lt;br&gt;44 downloads. High Performance Computing (HPC) is a small community, granted, and the number of HPC&lt;br&gt;applications for bioinformatics is a small subset of that. Let's not confuse popularity with importance,&lt;br&gt;however.&lt;br&gt;&lt;br&gt;We use the phrase "mission critical" very frequently and somewhat casually within software development. In&lt;br&gt;talking to a friend about the swine flu outbreak, I was reminded that the phrase has its origin in &lt;br&gt;military history: an aspect of a mission so critical that failure in that aspect would result in the&lt;br&gt;loss of life. In the developing world where medical infrastructure can be a fragile thing, information about&lt;br&gt;the origins or genetic makeup of a virus can be vital. It can be mission critical.&lt;br&gt;&lt;br&gt;Historically, the developing world has been dependent on developed western countries to do their research for them.&lt;br&gt;Open source is beginning to level that playing field, though. Using a cluster environment and software&lt;br&gt;projects like &lt;a href="http://toolcoconut.org" mce_href="http://toolcoconut.org"&gt;CoCoNUT&lt;/a&gt; for gene sequencing and comparison, even university research centers with modest x86 &lt;br&gt;server environments can play in the HPC space. This is important because the research priorities for a&lt;br&gt;university in a developing country may be very different from the research priorities of a major western&lt;br&gt;research university. At its best, this is exactly the kind of lowering of barriers to entry that open &lt;br&gt;source should facilitate.&lt;br&gt;&lt;br&gt;For all its value, CoCoNUT has two significant limitations. Its license is an academic license, not a fully&lt;br&gt;open source license. And it runs only on Linux/Unix systems. The latter is particularly important. Research&lt;br&gt;scientists are not IT professionals, and they should not have to care about the underlying platform on which&lt;br&gt;their software runs. The spirit of open source is to make software as widely available as possible, and there&lt;br&gt;is no way to meet that spirit without including Windows Server among the target platforms. Mission critical&lt;br&gt;demands no less.&lt;br&gt;&lt;br&gt;So WinBioinfTools makes important steps forward on both fronts. The team at Nile University has released a&lt;br&gt;GPL-licensed project that "contains a number of programs for Bioinformatics running over Windows Cluster running &lt;br&gt;Windows HPC server 2008. The current version includes the CoCoNUT system for pairwise genome comparison, &lt;br&gt;parallel global sequence alignment, and parallel BLAST."&lt;br&gt;&lt;br&gt;This is a great example of a local software community using open source to make their needs a priority, &lt;br&gt;and delivering a project that will benefit local software communities in other developing countries with&lt;br&gt;similar needs. WinBioinfTools puts us one step closer to making scientific computing software platform &lt;br&gt;neutral, and closer to making Windows Server a first class citizen in the open source world of HPC.&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26025" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/qMecHLDMpdk" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/HPC/default.aspx">HPC</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/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><feedburner:origLink>http://port25.technet.com/archive/2009/06/01/real-mission-critical.aspx</feedburner:origLink></item><item><title>Migrating PHP Apps to Windows</title><link>http://feedproxy.google.com/~r/Port25/~3/zeHHRP2KkkM/migrating-php-apps-to-windows.aspx</link><pubDate>Fri, 29 May 2009 15:32:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25939</guid><dc:creator>Peter Galli</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25939</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/29/migrating-php-apps-to-windows.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Microsoft Malaysia is helping sponsor a competition, known as LAMP2WIN, designed to help ensure that PHP applications run well on both Windows and open source platforms. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The competition, themed ‘World of Interoperability,'&amp;nbsp;is being organized by PHP.net.my and involves migrating PHP applications from the Linux-Apache-MySQL-PHP (LAMP) stack to the Windows platform.&lt;/P&gt;
&lt;P mce_keep="true"&gt;All 20 applications selected were developed for LAMP, with either partial or no support for the Windows platform.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://www.lamp2win.com/" target=_blank mce_href="http://www.lamp2win.com/"&gt;LAMP2WIN&lt;/A&gt; contestants will be assigned one of 20 Open Source applications on a round-robin basis across five different categories &amp;nbsp;- blog, forum, eCommerce, wiki and CMS/portal. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Each of the more than 40 contestants will be given a hosted space that supports PHP, IIS and SQL Server, and they will then be able to upload and operationalize their migrated applications to this space at any time during the competition.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;These uploaded and operational entries will be viewed and judged by both the public and the official judges.&amp;nbsp;Contestants are also encouraged to blog about their experience while performing the migration, which will help the judges understand the development processes taken.&lt;/P&gt;
&lt;P mce_keep="true"&gt;PHP.net.my founder Ahmad Amran was recently &lt;A class="" href="http://mis-asia.com/news/articles/competition-to-drive-holistic-software-approach-in-malaysia" target=_blank mce_href="http://mis-asia.com/news/articles/competition-to-drive-holistic-software-approach-in-malaysia"&gt;quoted in MIS Asia&lt;/A&gt; saying that "as PHP specialists, we realise and utilise the powerful capabilities of PHP, but the shortcomings of some open-source applications available only on certain platforms set off a light bulb in our heads. Why limit ourselves to only one platform when the ecosystem is derived of so many other platforms?"&lt;/P&gt;
&lt;P mce_keep="true"&gt;"This is why we are calling all Malaysian PHP developers to showcase their skills through LAMP2WIN to demonstrate the relevance of interoperability. The underlying idea of the competition is not about selecting the best application, but to contribute back to the Malaysian software ecosystem by providing choice to the people," Amran said.&lt;/P&gt;
&lt;P&gt;LAMP2WIN follows a similar competition earlier this year in &lt;A class="" href="http://port25.technet.com/archive/2009/03/10/japanese-lamp-engineers-visit-redmond.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/03/10/japanese-lamp-engineers-visit-redmond.aspx"&gt;Japan&lt;/A&gt;, designed to get competitive LAMP engineers to increase the volume of technical information around &lt;A href="http://port25.technet.com/archive/2007/09/24/php-on-iis.aspx" target=_blank mce_href="http://port25.technet.com/archive/2007/09/24/php-on-iis.aspx"&gt;PHP/IIS&lt;/A&gt; and application compatibility. The competition was titled "&lt;A href="http://tedia.jp/installmaniax/2008/index.html" target=_blank mce_href="http://tedia.jp/installmaniax/2008/index.html"&gt;Install Maniax 2008&lt;/A&gt;".&lt;/P&gt;
&lt;P&gt;A total of 100 engineers were chosen to compete and seeded with Dell server hardware and the Windows Web Server 2008 operating system. They were then required to deploy Windows Server/IIS and make the Web Server accessible from the Internet. They also had to run popular PHP/Perl applications on IIS and publish technical documentation on how to configure those applications to run on IIS.&lt;/P&gt;
&lt;P&gt;A total of 71 applications out of&amp;nbsp;the targeted 75 were ported onto IIS, of which 47 were newly ported to IIS, and related new "how to" documents were published to the Internet. Some 24 applications were also ported onto IIS based on existing "how to" documents. &lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25939" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/zeHHRP2KkkM" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Industry+Conferences/default.aspx">Industry Conferences</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/05/29/migrating-php-apps-to-windows.aspx</feedburner:origLink></item><item><title>PHP|Tek in Chicago </title><link>http://feedproxy.google.com/~r/Port25/~3/pav916Oc-uk/php-tek-in-chicago.aspx</link><pubDate>Thu, 28 May 2009 00:29:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25956</guid><dc:creator>hjanssen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25956</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/27/php-tek-in-chicago.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Last week I got the perfect excuse to get out of the Planning and Budget process that we are going through right now, attending PHP|Tek, which was a welcome escape as planning and budgeting in any company is usually enough fun to make a grown man cry!&lt;/P&gt;
&lt;P&gt;So last week I went to &lt;A class="" href="http://tek.mtacon.com/" target=_blank mce_href="http://tek.mtacon.com/"&gt;PHP|Tek&lt;/A&gt; in Chicago to speak and meet folk from the PHP community. As always, I greatly enjoy meeting the people who write and use PHP, and I have been to and spoken with enough of the speakers at past events that I know a lot of the core people by first name. &lt;/P&gt;
&lt;P&gt;Kind of funny that we now have gotten to the point inside of Microsoft that we are almost old hats at Open Source conferences &lt;img src="http://port25.technet.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P&gt;There were two days prior to the conference where a group of core PHP developers and community people talked about the state - past, present and future &amp;nbsp;- of PHP. It was super cool to be invited to that one!&lt;/P&gt;
&lt;P&gt;Unfortunately I was only able to join one of those two days: amazing that flying from Seattle to Chicago takes the better part of a day!&lt;/P&gt;
&lt;P&gt;The discussions there where very wide ranging, from whether there will be a PHP 5.4, what 6.0 will bring, which bugs are current show stoppers, where PDO is going, etc. etc.&lt;/P&gt;
&lt;P&gt;For me PHP|Tek remains a very nice ‘community' conference, where the focus is on the community of PHP and not the business/vendors of PHP. &lt;/P&gt;
&lt;P&gt;These kinds of conferences are the best way to network, and it would take too long to talk about all the people I spoke to. But Elizabeth Smith and I talked about us writing documentation for php.net (I have been wanting to write the ‘how to build PHP for Windows' part) so hopefully look for more documentation written by Microsoft for php.net soon. &lt;/P&gt;
&lt;P&gt;As always I talked to a lot of the usual suspects: Scott MacVicar, Andrei Zmievski, Derick Rethans, Sebastian Bergmann, Chris Shiflett, Cal Evans and others. &lt;/P&gt;
&lt;P&gt;Oh, and if you are really bored, check out the latest May issue of &lt;A class="" href="http://www.phparch.com/" target=_blank mce_href="http://www.phparch.com/"&gt;php architect&lt;/A&gt;, which has a bunch of really cool articles about PHP and Windows. Some of them were even co-written by me, which gives you an idea how far php | architect has sunk to have people write articles for them&amp;nbsp;&lt;img src="http://port25.technet.com/emoticons/emotion-1.gif" alt="Smile" /&gt; &lt;/P&gt;
&lt;P&gt;I just checked out the Website, and the May issue is not posted yet. But everybody who attended PHP|Tek got a copy of that issue in their goodies bag.&lt;/P&gt;
&lt;P&gt;I always enjoy giving sessions and the session I did give at PHP|Tek was ‘&lt;A class="" href="http://tek.mtacon.com/c/schedule/talk/d2s2/1" target=_blank mce_href="http://tek.mtacon.com/c/schedule/talk/d2s2/1"&gt;PHP 5.3 The best PHP on Windows Yet&lt;/A&gt;' , and I got some really good feedback. I think I had about 40+ people in my session. People are always surprised to see Microsoft's involvement with PHP and what we have done with the community so far.&lt;/P&gt;
&lt;P&gt;It is a talk I have given before. It starts with describing what the organization I belong to (the Microsoft Open Source Technology Center) does and how we work inside of Microsoft. After that I go into some detail about why &lt;A class="" href="http://port25.technet.com/archive/2009/01/16/php-5-3-on-windows-update.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/01/16/php-5-3-on-windows-update.aspx"&gt;PHP 5.3&lt;/A&gt; is the best &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 on Windows&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Did you know that, for example, with PHP releases prior to 5.3, the code was build with libraries that were more than 10 years old and for which nobody really had any idea where the source code went? So it was built&amp;nbsp;- linked rather - with object files&amp;nbsp;that were more than 10 years old. &lt;/P&gt;
&lt;P&gt;It makes it really hard to fix/improve stuff that you do not have the source code for &lt;img src="http://port25.technet.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P&gt;Well, pretty much all the issues of the past are now gone. I will make sure I write a blog about what truly went into PHP 5.3 for Windows soon,&amp;nbsp;if the budgeting and planning process doesn't kill me before that point. In the meantime, here is a link to &lt;A class="" href="http://www.phpfreaks.com/forums/index.php/board,112.0.html" target=_blank mce_href="http://www.phpfreaks.com/forums/index.php/board,112.0.html"&gt;phpfreaks&lt;/A&gt; where, a few weeks ago, I posted a bunch of what we have been doing.&lt;/P&gt;
&lt;P&gt;One really interesting thing is that there were a lot of Microsoft people at this conference, specifically from the DPE (Developer Platform Evangelism) side of Microsoft. &lt;/P&gt;
&lt;P&gt;These are the people who are very much field and customer focused.&amp;nbsp; From my conversations with them, they enjoyed the conference and were glad to get the opportunity to speak with a lot of the OS crowd. It is amazing how much we all have in common once we talk about technology.&lt;/P&gt;
&lt;P&gt;Thanks to the people who put on the conference: of course Marco Tabini, the man behind&amp;nbsp;PHP|Tek, but especially Elizabeth Naramore, who is the unsung hero that is the real driver behind keeping PHP|Tek running smoothly! &lt;img src="http://port25.technet.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25956" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/pav916Oc-uk" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Industry+Conferences/default.aspx">Industry Conferences</category><category domain="http://port25.technet.com/archive/tags/Hank+Janssen/default.aspx">Hank Janssen</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><feedburner:origLink>http://port25.technet.com/archive/2009/05/27/php-tek-in-chicago.aspx</feedburner:origLink></item><item><title>More Open Source Goodness</title><link>http://feedproxy.google.com/~r/Port25/~3/GdQ2ZgNPH0o/more-open-source-goodness.aspx</link><pubDate>Wed, 20 May 2009 20:05:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25882</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25882</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/20/more-open-source-goodness.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;A class="" href="http://research.microsoft.com/en-us/people/tonyhey/" target=_blank mce_href="http://research.microsoft.com/en-us/people/tonyhey/"&gt;Tony Hey&lt;/A&gt;, the corporate vice president of Microsoft Research's &lt;A class="" href="http://research.microsoft.com/en-us/collaboration/about/default.aspx" target=_blank mce_href="http://research.microsoft.com/en-us/collaboration/about/default.aspx"&gt;External Research&lt;/A&gt; group, used the &lt;A class="" href="https://or09.library.gatech.edu/" target=_blank mce_href="https://or09.library.gatech.edu/"&gt;Open Repositories Conference&lt;/A&gt; to announce today the public availability of &lt;A class="" href="http://research.microsoft.com/en-us/projects/zentity/" target=_blank mce_href="http://research.microsoft.com/en-us/projects/zentity/"&gt;Zentity&lt;/A&gt; and the second version of the &lt;A class="" href="http://research.microsoft.com/en-us/projects/authoring/" target=_blank mce_href="http://research.microsoft.com/en-us/projects/authoring/"&gt;Article Authoring Add-in for Word 2007&lt;/A&gt;, both of which will be released as open source.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.earlham.edu/~peters/fos/2009/05/microsoft-releases-v-10-of-its.html" target=_blank mce_href="http://www.earlham.edu/~peters/fos/2009/05/microsoft-releases-v-10-of-its.html"&gt;Zentity&lt;/A&gt;, previously called Research-Output Repository Platform and code-named Famulus, is a &lt;A class="" href="http://savas.me/blog/964" target=_blank mce_href="http://savas.me/blog/964"&gt;platform&lt;/A&gt; that allows institutions to store all of their digital scholarship: papers, lecture, presentations, videos-anything that might be collected by the university as part of the digital output of their researchers and scholars. &lt;/P&gt;
&lt;P&gt;Over the past nine months two betas for this have been released, which refreshed the user interfaces and added new controls, and complement the services provided in the package. &lt;/P&gt;
&lt;P&gt;The second version of the Article Authoring Add-in for Word 2007 includes new functionality, including the ability to upload directly into a repository - Microsoft's or those of others -&amp;nbsp;via the SWORD [Simple Web Operation for Repository Deposit] protocol. &lt;/P&gt;
&lt;P&gt;Support for authoring Object Reuse and Exchange resource maps within the Word environment has also been added, as well as the ability to perform literature searches and to import the bibliographic information in Word with one click, which makes it very simple to quickly add citations into a paper.&lt;/P&gt;
&lt;P mce_keep="true"&gt;A key element of the Microsoft External Research vision is to support the &lt;A href="http://research.microsoft.com/en-us/collaboration/focus/education/scholarlycomm.aspx"&gt;scholarly communications lifecycle&lt;/A&gt; with software and services so that data and information flow in a coordinated and seamless fashion.&lt;/P&gt;
&lt;P&gt;With regard to the plan to open source these tools, &lt;A class="" href="http://research.microsoft.com/en-us/people/ldirks/" target=_blank mce_href="http://research.microsoft.com/en-us/people/ldirks/"&gt;Lee Dirks&lt;/A&gt;, the director of the &lt;A class="" href="http://research.microsoft.com/en-us/collaboration/focus/education/" target=_blank mce_href="http://research.microsoft.com/en-us/collaboration/focus/education/"&gt;Education and Scholarly Communication&lt;/A&gt; team, said that "first and foremost, we're releasing the binaries, but soon thereafter, we'll release both of these as open source. Once they are available, our big push over the next 12 to 18 months will be to build a worldwide community around these assets."&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;You can find a lot more information on these announcements &lt;A class="" href="http://research.microsoft.com/en-us/news/features/zentity-052009.aspx" target=_blank mce_href="http://research.microsoft.com/en-us/news/features/zentity-052009.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;These moves also follow the March release by Microsoft and the Creative Commons of an add-in for Microsoft Word 2007 that enables authors to easily insert scientific hyperlinks&amp;nbsp;or ontologies as semantic annotations to their documents and research papers.&lt;/P&gt;
&lt;P&gt;Microsoft is also making the source code available for the Creative Commons &lt;A class="" href="http://port25.technet.com/archive/2009/03/11/microsoft-makes-more-source-code-available.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/03/11/microsoft-makes-more-source-code-available.aspx"&gt;Add-in for Word 2007&lt;/A&gt; free of charge to open source communities on &lt;A href="http://www.codeplex.com/" target=_blank&gt;CodePlex&lt;/A&gt; through&amp;nbsp;the OSI-approved &lt;A href="http://www.opensource.org/licenses/ms-pl.html" target=_blank&gt;Microsoft Public License&lt;/A&gt;, which&amp;nbsp;lets developers tailor it for specific industries using domain-specific language. &lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25882" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/GdQ2ZgNPH0o" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/OSS+Research/default.aspx">OSS Research</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/05/20/more-open-source-goodness.aspx</feedburner:origLink></item><item><title>Microsoft Teams up With Black Duck Software</title><link>http://feedproxy.google.com/~r/Port25/~3/qQNzy5BlVEM/microsoft-teams-up-with-black-duck-software.aspx</link><pubDate>Mon, 18 May 2009 20:30:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25860</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25860</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/18/microsoft-teams-up-with-black-duck-software.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Microsoft and &lt;A class="" href="http://www.blackducksoftware.com/" target=_blank mce_href="http://www.blackducksoftware.com"&gt;Black Duck Software&lt;/A&gt; this morning announced an agreement under which&amp;nbsp;projects from CodePlex will be fed automatically into Black Duck's open source KnowledgeBase repository, and which will&amp;nbsp;also will be searchable through Koders.com, a search engine for open source and other downloadable code. &lt;/P&gt;
&lt;P mce_keep="true"&gt;This means that those&amp;nbsp;customers who use&amp;nbsp;the Black Duck &lt;A class="" href="http://www.blackducksoftware.com/knowledgebase" target=_blank mce_href="http://www.blackducksoftware.com/knowledgebase"&gt;KnowledgeBase&lt;/A&gt; to leverage, manage and detect the use of open source components in software application development projects,&amp;nbsp;will now get comprehensive coverage of &lt;A class="" href="http://blogs.msdn.com/codeplex/archive/2009/05/19/codeplex-projects-now-indexed-by-koders-and-also-available-in-black-duck-open-source-knowledge-base.aspx" target=_blank mce_href="http://blogs.msdn.com/codeplex/archive/2009/05/19/codeplex-projects-now-indexed-by-koders-and-also-available-in-black-duck-open-source-knowledge-base.aspx "&gt;CodePlex-hosted&lt;/A&gt; projects, many of which are Windows .NET based. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Developers will also now be able to use Black Duck's &lt;A class="" href="http://www.koders.com/" target=_blank mce_href="http://www.Koders.com"&gt;Koders.com&lt;/A&gt; search search engine for &lt;A class="" href="http://www.codeplex.com/" target=_blank mce_href="http://www.codeplex.com/"&gt;CodePlex&lt;/A&gt; projects.&amp;nbsp;While&amp;nbsp;not all of the 9,000 CodePlex projects will be searchable in Koders as of today, most are expected to be&amp;nbsp;by the end of June.&lt;/P&gt;
&lt;P mce_keep="true"&gt;You can read the news release &lt;A class="" href="http://www.blackducksoftware.com/news/releases/2009-05-19" target=_blank mce_href="http://www.blackducksoftware.com/news/releases/2009-05-19"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Given that Black Duck's KnowledgeBase is a useful resource for development managers tasked with managing open source code in mixed-source development environments, the addition of CodePlex projects makes this a more powerful development resource, said Sam Ramji, Microsoft's Senior Director of Platform Strategy. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Black Duck,&amp;nbsp;which is&amp;nbsp;a Microsoft Visual Studio Industry and Windows Embedded Partner, scours the Internet, collecting open source and other downloadable code into its KnowledgeBase, a searchable repository of more than 200,000 open source projects collected from more than 4,100 Internet sites. More than 40,000 new projects have been added to the KnowledgeBase since January 2009.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;As CodePlex is one of the fastest-growing open source hosting sites,&amp;nbsp;this agreement will make it easier and faster for Black Duck to manage the steady stream of new projects on the site, said Peter Vescuso, Black Duck's&amp;nbsp;Executive Vice president&amp;nbsp;of marketing and business development.&lt;/P&gt;
&lt;P&gt;CodePlex&amp;nbsp;currently hosts 9,000 projects and adds about 100 new&amp;nbsp;ones each week. "By teaming with Microsoft, we are assured of comprehensive, ongoing coverage of CodePlex projects in the KnowledgeBase," Vescuso said.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25860" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/qQNzy5BlVEM" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Sam+Ramji/default.aspx">Sam Ramji</category><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Codeplex/default.aspx">Codeplex</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/05/18/microsoft-teams-up-with-black-duck-software.aspx</feedburner:origLink></item><item><title>Announcing the PHP SDK for Windows Azure</title><link>http://feedproxy.google.com/~r/Port25/~3/yrWHwIcehHk/announcing-the-php-sdk-for-windows-azure.aspx</link><pubDate>Wed, 13 May 2009 00:29:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25767</guid><dc:creator>Peter Galli</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25767</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/12/announcing-the-php-sdk-for-windows-azure.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Vijay Rajagopalan, a Principal Architect here at Microsoft, is at TechEd India, where he will demo later this week a new set of interoperability projects related to PHP.&lt;/P&gt;
&lt;P mce_keep="true"&gt;These projects include the &lt;A class="" href="http://phpazure.codeplex.com/" target=_blank mce_href="http://phpazure.codeplex.com/"&gt;PHP SDK for Windows Azure&lt;/A&gt;, an open source effort for which Microsoft has provided funding, with development by &lt;A href="http://www.realdolmen.com/"&gt;RealDolmen&lt;/A&gt;, whose&amp;nbsp;goal is to provide high-level abstractions that enable PHP developers to interoperate readily with Windows Azure. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The PHP SDK for &lt;A class="" href="http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx"&gt;Windows Azure&lt;/A&gt; focuses on REST and provides PHP classes for Windows Azure blobs, tables and queue, helper classes for HTTP transport, AuthN/AuthZ, REST and error management, as well as manageability, instrumentation and logging support.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Rajagopalan will also announce the launch of a series of projects that offer samples and a toolkit that enable PHP developers to include &lt;A class="" href="http://silverlightphp.codeplex.com/" target=_blank mce_href="http://silverlightphp.codeplex.com/"&gt;Silverlight controls&lt;/A&gt;, Microsoft &lt;A class="" href="http://virtualearthphpkit.codeplex.com/" target=_blank mce_href="http://virtualearthphpkit.codeplex.com/ "&gt;Virtual Earth&lt;/A&gt; maps and&lt;A class="" href="http://webslicesandaccelphp.codeplex.com/" target=_blank mce_href="http://webslicesandaccelphp.codeplex.com/"&gt; IE Webslices and Accelerators&lt;/A&gt; in PHP web applications; as well as automatically generated a simple &lt;A class="" href="http://sqlcrudphpwizard.codeplex.com/" target=_blank mce_href="http://sqlcrudphpwizard.codeplex.com/"&gt;"Create, Read, Update, Delete (CRUD)"&lt;/A&gt; &amp;nbsp;PHP application from a table in SQL Server.&lt;/P&gt;
&lt;P mce_keep="true"&gt;These projects, for which Microsoft has provided funding and which&amp;nbsp;are available on &lt;A class="" href="http://www.codeplex.com/" target=_blank mce_href="http://www.codeplex.com"&gt;Codeplex&lt;/A&gt; under a BSD license, are&amp;nbsp;yet another proofpoint of the company's &lt;A class="" href="http://port25.technet.com/archive/2009/05/12/apache-stonehenge-interoperability-at-work.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/05/12/apache-stonehenge-interoperability-at-work.aspx"&gt;commitment to interoperability&lt;/A&gt;, and developers will be happy to know that the first batch of these have already been developed by Accenture. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Read Rajagopalan's full blog &lt;A class="" href="http://blogs.msdn.com/interoperability/archive/2009/05/13/announcing-php-sdk-for-windows-azure-and-much-more.aspx" target=_blank mce_href="http://blogs.msdn.com/interoperability/archive/2009/05/13/announcing-php-sdk-for-windows-azure-and-much-more.aspx"&gt;here&lt;/A&gt; for all the details.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The &lt;A class="" href="http://www.azure.com/" target=_blank mce_href="http://www.azure.com/"&gt;Azure Services Platform&lt;/A&gt; has been designed to be open, standards-based and interoperable, and its support for XML, REST and SOAP standards means that any of the Azure services can be called from other platforms and programming languages. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Microsoft has provided funding for&amp;nbsp;two other SDKs that support third party programming languages: &lt;A class="" href="http://www.jdotnetservices.com/" target=_blank mce_href="http://www.jdotnetservices.com/"&gt;Java SDK for Microsoft .NET Services&lt;/A&gt; and &lt;A class="" href="http://www.dotnetservicesruby.com/" target=_blank mce_href="http://www.dotnetservicesruby.com/"&gt;Ruby SDK for Microsoft .NET Services&lt;/A&gt; so as to facilitate interoperability between the Azure Services Platform and non-Microsoft languages and technologies.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The inclusion of &lt;A class="" href="http://www.microsoftstartupzone.com/Blogs/anand_iyer/Lists/Posts/Post.aspx?ID=57" target=_blank mce_href="http://www.microsoftstartupzone.com/Blogs/anand_iyer/Lists/Posts/Post.aspx?ID=57"&gt;FastCGI&lt;/A&gt; in Windows Azure's hosting environment was announced at MIX 2009, and the protocol enables developers to run web applications on Windows Azure that were written using third party programming languages, including PHP. This opens up new options for PHP developers to deploy their applications. &lt;/P&gt;
&lt;P mce_keep="true"&gt;A Technology Preview of the PHP SDK for Windows Azure will be released under a BSD license, while a&amp;nbsp;functionally complete version of the SDK, which will support tables and queues, should be available for download by this fall of 2009, but the team is calling on developers to provide feature requests, test the toolkit, and join the &lt;A class="" href="http://phpazure.codeplex.com/Thread/List.aspx" target=_blank mce_href="http://phpazure.codeplex.com/Thread/List.aspx"&gt;user forum&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;So, stay tuned, as there's a whole lot more to come!&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25767" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/yrWHwIcehHk" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Codeplex/default.aspx">Codeplex</category><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/Java/default.aspx">Java</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/05/12/announcing-the-php-sdk-for-windows-azure.aspx</feedburner:origLink></item><item><title>Apache Stonehenge: Interoperability at Work</title><link>http://feedproxy.google.com/~r/Port25/~3/GmbLzYhy5F8/apache-stonehenge-interoperability-at-work.aspx</link><pubDate>Tue, 12 May 2009 17:24:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25758</guid><dc:creator>Peter Galli</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25758</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/12/apache-stonehenge-interoperability-at-work.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;The &lt;A class="" href="http://port25.technet.com/archive/2008/11/10/apachecon-and-the-stonehenge-proposal.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/11/10/apachecon-and-the-stonehenge-proposal.aspx"&gt;Stonehenge incubator project&lt;/A&gt; is approaching its first milestone: deploying the first set of samples and making them work together.&lt;/P&gt;
&lt;P mce_keep="true"&gt;This is a really exciting development and continues to deliver on the project's primary goal: to provide practical applications that span languages and platforms and demonstrate how to achieve interoperability.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Multiple implementations of the Stonehenge Stocktrader sample application, including .NET, Java, &lt;A class="" href="http://port25.technet.com/archive/2009/01/16/php-5-3-on-windows-update.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/01/16/php-5-3-on-windows-update.aspx"&gt;PHP&lt;/A&gt;, Python and Ruby, have been committed to the repository. You can check the code &lt;A class="" href="http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/" target=_blank mce_href="http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;From a simplified architecture point of view, the &lt;A class="" href="http://port25.technet.com/archive/2009/01/19/update-stonehenge-incubation-project.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/01/19/update-stonehenge-incubation-project.aspx"&gt;Stonehenge&lt;/A&gt; Stocktrader application is built as follows:&lt;/P&gt;
&lt;LI&gt;A User Interface layer delivering the web front end (HTML)&lt;/LI&gt;
&lt;LI&gt;A middle tier layer including a Business Services layer (login, account processing) and an Order Processing layer (buy/sell transactions)&lt;/LI&gt;
&lt;LI&gt;A Data Access layer to provide access to the database for the middle tier layer (Business Services and Order Processing)&lt;/LI&gt;
&lt;LI&gt;And, finally, the database where the application data lives&lt;/LI&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://port25.technet.com/images/port25/StonehengeM1_high_level_architecture.png"&gt;&lt;IMG src="http://port25.technet.com/images/port25/StonehengeM1_high_level_architecture.png" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The work thus far has focused on the .NET, PHP, and Java interoperability scenarios, and the three Stocktrader implementations have been deployed in&amp;nbsp;multiple configurations. &lt;/P&gt;
&lt;P&gt;A series of tests were then run, mixing and matching the layers from the three implementations, playing with the configurations and leveraging the Web Services standards, including WS-Security, to provide message integrity and security.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A detailed "interoperability walkthrough" explaining all the different configurations has been posted &lt;A class="" href="http://cwiki.apache.org/confluence/display/STONEHENGE/Stonehenge+Interoperability+Walk-through" target=_blank mce_href="http://cwiki.apache.org/confluence/display/STONEHENGE/Stonehenge+Interoperability+Walk-through"&gt;here&lt;/A&gt;, while the full blog post by Kamaljit Bath, a Principal Program Manager in the Interoperability Technical Strategy Team at Microsoft, can be found &lt;A class="" href="http://blogs.msdn.com/interoperability/archive/2009/05/12/apache-stonehenge-interoperability-at-work.aspx" target=_blank mce_href="http://blogs.msdn.com/interoperability/archive/2009/05/12/apache-stonehenge-interoperability-at-work.aspx "&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;"Microsoft is pleased with its participation and the progress so far, and this new outcome from the Stonehenge project is very encouraging. With the implementation of the WS-* Standards, we get the benefit of distributed applications and platforms. We recognized that it is not always easy to achieve these goals, but I really feel this type of practical guidance will be helpful for these types of scenarios," said Bath.&lt;/P&gt;
&lt;P&gt;The team is also actively soliciting comments and feedback, and encouraging both developers and users&amp;nbsp;to participate in the project to ensure that the project continues to move&amp;nbsp;in a direction that meets real people's needs.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25758" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/GmbLzYhy5F8" height="1" width="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/Java/default.aspx">Java</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/05/12/apache-stonehenge-interoperability-at-work.aspx</feedburner:origLink></item><item><title>PHP 5.3 RC2 Highly Optimized for Windows</title><link>http://feedproxy.google.com/~r/Port25/~3/4BNNLY7fivc/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>3</slash:comments><wfw:commentRss>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;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/4BNNLY7fivc" height="1" width="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><media:content url="http://feedproxy.google.com/~r/Port25/~5/JzKtUJQc34s/php-5.3-nts-win32-VC9PGO-x86-latest.zip" fileSize="10787561" type="application/zip" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Howdy, I've been working for many months with Pierre Joye&amp;nbsp;- well, really many people in the PHP community - on getting PHP to run faster on Windows. Pierre has been working rapidly on upgrading libraries (Pierre pioneered the work to get PHP and its </itunes:subtitle><itunes:summary>Howdy, I've been working for many months with Pierre Joye&amp;nbsp;- well, really many people in the PHP community - on getting PHP to run faster on Windows. 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. 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. Starting today, you can find snapshot builds of PHP 5.3 that are built using my optimized build process on the windows.php.net site. A&amp;nbsp;few notes: 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; Only the non-thread-safe version is available, so you need to use FastCGI with IIS&amp;nbsp;in order to use it. 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. If you have any feedback about the builds,&amp;nbsp;leave me a comment, or email me.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </itunes:summary><itunes:keywords>Microsoft,Linux,Open,Source,Networks,Blog,Podcast,UNIX,Windows,Server,Port,Sam,Ramji,Bill,Hilf</itunes:keywords><feedburner:origLink>http://port25.technet.com/archive/2009/05/11/php-5-3-rc2-highly-optimized-for-windows.aspx</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/Port25/~5/JzKtUJQc34s/php-5.3-nts-win32-VC9PGO-x86-latest.zip" length="10787561" type="application/zip" /><feedburner:origEnclosureLink>http://windows.php.net/downloads/snapsoptimized/php-5.3-nts-win32-VC9PGO-x86-latest.zip</feedburner:origEnclosureLink></item><item><title>Helping Facilitate Open Government</title><link>http://feedproxy.google.com/~r/Port25/~3/YgKISy0d8xs/microsoft-helping-facilitate-open-government.aspx</link><pubDate>Wed, 06 May 2009 19:03:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25667</guid><dc:creator>Peter Galli</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://port25.technet.com/rsscomments.aspx?PostID=25667</wfw:commentRss><comments>http://port25.technet.com/archive/2009/05/06/microsoft-helping-facilitate-open-government.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Microsoft will announce on May 7 an initiative to help &amp;nbsp;government agencies and developers publish and interact with their data in Windows Azure, the company's cloud computing platform. &lt;/P&gt;
&lt;P mce_keep="true"&gt;One of these is the &lt;A href="http://www.microsoft.com/industry/government/opengovdata/default.aspx" target=_blank mce_href="http://www.microsoft.com/industry/government/opengovdata/default.aspx"&gt;Open Government Data Initiative&lt;/A&gt; (OGDI), a cloud-based approach to housing public government data in &lt;A href="http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx"&gt;Windows Azure&lt;/A&gt;, making it accessible in a programmatic manner via open standard protocols and application programming interfaces. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The source code for OGDI is being made publicly available through &lt;A href="http://www.codeplex.com/" target=_blank mce_href="http://www.codeplex.com/"&gt;CodePlex&lt;/A&gt;, Microsoft's open source hosting site, so that developers may reuse it and provide feedback. Sample code is also being provided for technologies widely used on the Web, including &lt;A href="http://port25.technet.com/archive/2009/01/16/php-5-3-on-windows-update.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/01/16/php-5-3-on-windows-update.aspx"&gt;PHP&lt;/A&gt;, Python, Flash, JavaScript, and &lt;A href="http://silverlight.net/" target=_blank mce_href="http://silverlight.net/"&gt;Silverlight&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;This initiative helps to provide government with tools focused on increasing responsiveness and access to critical services, streamlined processes and services. &lt;/P&gt;
&lt;P mce_keep="true"&gt;For their part, Microsoft and its partners have developed a robust enterprise architecture approach that enables agencies to meet the technology requirements of government mandates with a familiar set of tools - built on an enterprise-ready, scalable, and easily-managed software-powered architecture.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So, in short, the goal of ODGI is to reduce the cost of publishing government data, and simplifying data access by leveraging cloud computing and open standards.&lt;/P&gt;
&lt;P mce_keep="true"&gt;More information on Microsoft's Open Government Data Initiative can be found &lt;A class="" href="http://www.microsoft.com/industry/government/opengovdata/" target=_blank mce_href="http://www.microsoft.com/industry/government/opengovdata/ "&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;To see an implementation of a data service in Windows Azure, using a sample of publicly available government data, visit this &lt;A href="http://ogdisdk.cloudapp.net/" target=_blank mce_href="http://ogdisdk.cloudapp.net/"&gt;reference beta site&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;These moves are part of Microsoft's ongoing open government efforts aimed at helping government organizations meet goals of transparency, participation and collaboration, particularly as an ever increasing amount of data becomes necessary and available.&lt;/P&gt;
&lt;P mce_keep="true"&gt;As such, new methods need to be opened up to allow interaction with that data, and Microsoft's OGDI is designed to help public sector entities meet these goals.&lt;/P&gt;
&lt;P mce_keep="true"&gt;This software, which underscores the importance of programmatic access to government data rather than having to download it, will give developers the ability to write programs that access data via Web-friendly programming methods without having to download or host the data; and let them write applications using any technology via open standards.&lt;/P&gt;
&lt;P mce_keep="true"&gt;It also provides easier access to a broad array of government datasets, enabling the building of new and unique applications, while governments will be able to automatically refresh data without having to buy and maintain servers.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Cloud computing is the ideal platform for government data, and the technology is finally available to make it happen, &lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;says&lt;STRONG&gt; &lt;/STRONG&gt;John Miri, Senior Fellow at the Center for Digital Government.&lt;/P&gt;
&lt;P mce_keep="true"&gt;"The qualities that government looks for in an information management platform - things like flexibility, scalability, security, performance, and cost efficiency - are all better in a cloud model.&amp;nbsp; As we see demands for government to become more transparent, collaborative, and interactive, a shift like this in technology architecture just has to happen, "&lt;B&gt; &lt;/B&gt;he says.&lt;/P&gt;
&lt;P mce_keep="true"&gt;For governments to become truly open, citizen access to public data in standards-based and interoperable ways is essential at all levels of government. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Given that most federal, state, local and education entities implement the American Recovery and Reinvestment Act (ARRA), they can meet open government goals of oversight, transparency and accountability through cloud and on-premises solutions such as &lt;A href="http://www.microsoft.com/government/stimulus360/" target=_blank mce_href="http://www.microsoft.com/government/stimulus360/"&gt;Microsoft Stimulus360&lt;/A&gt;, which helps public sector agencies track, measure, and share information about federal stimulus programs through graphical dashboards and maps.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25667" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Port25/~4/YgKISy0d8xs" height="1" width="1"/&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Codeplex/default.aspx">Codeplex</category><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/Standards/default.aspx">Standards</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/Peter+Galli/default.aspx">Peter Galli</category><feedburner:origLink>http://port25.technet.com/archive/2009/05/06/microsoft-helping-facilitate-open-government.aspx</feedburner:origLink></item><copyright>Copyright Microsoft Corporation. Licensed under the Microsoft Public License.</copyright><media:rating>nonadult</media:rating><media:description type="plain">Podcasts from the Port 25: Open Source Community at Microsoft</media:description></channel></rss>
