Disclaimer: These are random notes and are not intended to be an exhaustive retelling of the presentations this week.
Community IRC channel on Freenode: #php-dev-win
“Openness produces better outcomes.”
Steve Ballmer said a few weeks ago that WebKit looks interesting.
“It's critical to embrace competition.”
You can look at competition in two ways: You can look at it in a game like boxing, where if you win, you get the prize, and if you lose you just get beat up. Or you can look at it like a game like chess, where if you win, you get the prize, but if you lose, you got better. Competition drives innovation.
Interoperability in technology: POI (poorly obfuscated implementation), an Apache project. To help this project, Microsoft put the Office binary formats under the Microsoft OSP. Another Apache project that Microsoft is helping is Hadoop by having two Microsoft developers dedicated to working on the project.
Key Foundational Pillars
Other slides showing the beta Web Platform installer. PHP is not in there yet, but will be coming in the near future. They are determining what PHP extensions to bundle and what configuration options to provide end-users. They want to hear from the community about the right way to go about bundling PHP in the installer.
In answer to a question I asked about making IIS understand Apache config directives and .htaccess files, it sounds like the IIS team is actually working on supporting a subset of the Apache config format and reading in the .htaccess files, etc.
Slides will be posted to SlideShare on put on Lauren's blog at http://cooney.typepad.com/.
He's showing the Microsoft Web Application Installer and demo'ing it by using it to install and configure Drupal.
Now showing a demo of the IIS URL Rewrite Module.
It's not the same as Apache's mod_rewrite, but it solves the same problem. It allows you to import the application's .htaccess file, parsing from it the mod_rewrite rules and translating them into IIS format for rewriting URLs.
A diagram showing the Azure Services Platform
____________________________________________________________________ | Live | .NET | SQL | SharePoint | Microsoft Dynamics | | Services | Services | Services | Services | CRM Service | -------------------------------------------------------------------- | | | Microsoft Azure Services Platform | | | --------------------------------------------------------------------
When we build cloud services today, it's akin to building an application from the very ground up. That is, it's like having to first build a computer and an operating system before you can even start building your application. This is how we build cloud services today, and this is the problem that Microsoft Azure solves.
The answer to this on the desktop is that we have operating systems that handle all of the logic of the system so that we don't have to build this. Instead, we are free to build our application on top of that. Can we have the same thing in the cloud?
Windows Azure is an operating system for the cloud.
Develop & Model --> Deploy & Run --> Maintain Service Health
In the Azure model, you don't get to create disk images like in Amazon's services. Instead, you give Azure your code, and it does everything for you. It is fully managed.
(*) These items are not exposed now, but will be exposed in the future.
Showing a diagram of an ASP.NET application and how you replace certain parts of the application (like file I/O) with things like blog storage from the cloud, etc.
(*) These items are not exposed now, but will be exposed in the future.
Showing diagram of an architecture for how an application works in the cloud.
Showing a demo of a thumbnail generator using the simulation environment on the desktop.
Showing diagram of the resource model
AtomPub is the model for the framework.
Now showing a demo of code to interact with Live Services.
WDS Attendee Showcase
Showing a graph of performance of various frameworks. Yii 1.0 can handle 178 requests per second with APC turned on. Yii with yiilite 1.0 can make 427 requests per second with APC turned on.
Slides with lots of text about the features Yii has. Some notable ones:
Inspiration comes from:
Can be downloaded from http://yiiframework.com/
WDS Attendee Showcase
Brazil PHP Community: http://www.php.org.br/ Group of PHP professionals in Brazil: http://prophp.com.br/
Important PHP mailing lists in Brazil:
PHP magazines in Portuguese:
Top Free Software Events in Brazil:
Missed this session because I wasn't feeling well (and, no, I wasn't hung over).
Now showing screenshots of a lot of these features.
A plug-in for Visual Studio to provide a PHP IDE.
Now showing a demo of VS.Php.
WDS Attendee Showcase
Symfony is a set of decoupled classes.
Showing a diagram of the Symfony platform, code examples, and diagrams of how certain things (like URL rewriting) works in Symfony.
Out of the box, Symfony can be easily configured to create an environment, depending on your needs.
Ability to configure CSRF tokens and escaping strategies.
This will not build or run on Linux. It relies on the ODBC driver, which is Windows-only.
Asking for our feedback on the best approach.
Asking for our feedback on how the community feels about this.
WDS Attendee Showcase
Covers a lot of classes at PHPClasses.org that solve problems he sees with PHP on Windows.
“We want to figure out how we can best work with the PHP communities out there. I think we've been doing a good job, but we're not doing a great job.” (Lauren)
“Do you mean Microsoft has a whole, or individual departments/divisions within Microsoft?” (Andrei)
“I think we have to think about Microsoft as a whole. […] Across the board, Microsoft is looking to be a better community citizen.” (Lauren)
Hans mentions Chris Jones as an example of excellent community support from a major company (Oracle) and how Microsoft can work better with our community by doing some of the same things Chris does.
“I think it would be important to have someone that focuses on PHP in every single product group at Microsoft.” (Lauren)
“If you're going to do that, have Joe Stagner train them. A lot of Microsoft's effectiveness in the community is because we like Joe.” (Cal)
Some others spoke up in agreement, saying that Microsoft needs to be “entrenched” in the community, having someone there who is a part of the community. Furthering this line of conversation, the consensus seems to be that Microsoft not only needs a “developer evangelist” who is a liaison to the community, but they need developers of various products who take part in the community.
“We want [Microsoft] at conferences for more than just sponsoring it with money. We want [Microsoft] to participate in the community.” (Cal)
”[PHP] doesn't care about a language spec. What we care about is that stuff just works.” (Elizabeth S.) In response to a discussion about Ruby, Python, etc. have various run-time environments and why PHP doesn't. The short answer is that Ruby and Python can have other run-time environments because they have a language spec, but PHP doesn't, so it's more difficult to have other run-time environments.
WDS Attendee Showcase
Started with short intro about desktop development and GTK.
Now showing code examples.
Showing stock icons in GTK.
Showing how to specify the status tray icon when minimized to the status tray.
Showing example of a Twitter client written in PHP-GTK.
Showing an example of packing with code and screenshots.
Showing examples of dialog boxes.
Now showing examples of code and screenshots for GTKEntry.
Slides available at: http://callicore.net/php-gtk/php-on-the-desktop.pdf
Code available at: http://callicore.net/php-gtk/php-gtk-twitter.zip
Discussing history of office binary formats.
Now discussing the OOXML “debacle” where the technical committees in countries voted “no” while the politicians voted “yes.”
WDS Attendee Showcase
Search is really, really hard to get right
Showing code on how to add a document to an index.
Showing code on how to add various Office document formats to an index.
WDS Attendee Showcase
Slides about music sharing and showing demo of amp.fm
Showing code sample.
Showing code on how to deploy Accelerators.
WebSlices enable publishers to mark up “subscribe-able” parts of web pages, allowing you to monitor your favorite sections of your site
If you could ask Microsoft to change one thing and have them wave their magic wand and actually do it, what would it be?