MVP.Renew()

July 16th, 2009

Almost forgot to post about this. On July 1st. I got renewed as an MVP! Thanks Microsoft for the recognition and especially Fernando Garcia Lorea (MVP lead) for keeping us updated and focused with everything related to the program.

Now, let’s go back to work…

Today was holiday in Argentina but I had to work on some pending stuff (yeah, lucky me). I didn’t want to travel to the office but I had to access a SQL Server that was hosted at Southworks LAN and we don’t have inbound ports open to connect to our workstations through RDP (port 3389). So…. the .Net Service Bus came to the rescue! Last week David Aiken told me about this cool project hosted on codeplex http://socketshifter.codeplex.com. He told me “these people are streaming video over the service bus”…

So yesterday before leaving the office I opened up the socketshifter server, configured my service bus account and allowed some ports to be redirected. Today I connected from home and here is a nice screenshot of RDP to a Southworks LAN machine (connected to localhost:1000). Isn’t it cool??!!?!

image

For those of you who are wondering how these work, the code is reeeeallly simple because all of the hardlifting is made by the service bus. There is a client and a server that will redirect a stream of bytes from port a to port b (using plain sockets). The socket shifter client will establish a session to the server via the service bus using the NetTcpRelayBinding. The rest of the story is bytes flowing around :)

image

This is the client running on my laptop:

clip_image002

And this is the configuration on the client

<configuration>
  <appSettings>
    <add key="solutionName" value="southworks-magnolia"/>
    <add key="password" value="…."/>   
    <add key="servicePath" value="sb://southworks-magnolia.servicebus.windows.net/rd"/>
    <add key="localPort" value="1000" />
    <add key="remoteHost" value="localhost"/>
    <add key="remotePort" value="3389"/>
  </appSettings>
</configuration>

The server needs to be installed as a Windows Service to be able to redirect 3389. I also tried accessing the web server (IIS7) that is running on the LAN and it worked (need to configure the remoteport to 80). So that means that I can expose a web server that runs on my desktop machine and show stuff to customers without asking IT to move my machine to the DMZ!! Clemens did something similar couple of months ago.

This is a very cool use of the Service Bus. Go ahead and try it yourself! Download the latest source code.

Last week, June 4th, together with Pablo Costantini (a coworker specialist on web technologies) we delivered a presentation about high performance websites at the local MIX event. There is a well known book from Steve Souders, former Chief Performance Officer of Yahoo! called High Performance Web Sites and we based the presentation on it, and also showed how to implement the rules using Microsoft technlogies (ASP.NET in particular)

The attendees gave us good feedback saying that the presentation was pragmatic and straight to the point.

In my opinion, this book and the tips we gave are things we usually oversee in web applications that can really make a difference on user experience. We achieved 40-50% of response time reduction by applying them and the effort is virtually zero.

Feel free to reuse the deck and the demo that are published here.

For those who don’t have VS 2008 yet, I created the VS 2005 templates

mvc2005

You will get two kind of solution/project templates (the same you get for VS 2008)

aspmvc

The MVC framework uses anonymous types extensively (for instance when you add Routes and set Defaults values for the route segments). You can see I provided an MvcDefaults class in the template which contains common properties like controller, action and id. You can either use that approach or install support for C# 3.0 in VS 2005.

Download ASP.NET MVC Visual Studio 2005 Templates (VSI format)

Enjoy!

Thanks to everyone who attended the briefing. It was really cool to see so many people interested in what we were talking. These are Beto and myself on stage during my presentation about user experience with WPF (look at the cool snowboard in 3D:)…

640x480.aspx

Thanks to Paulo and Ezequiel who wrote this piece of code. Paulo is an expert on XAML art and Ezequiel simply grabbed the XAML, open it in Visual Studio and added offline support within a couple of hours. Thanks!

493x375.aspx

As I said during the presentation here is the code and the ppt

When: September 20th, 2007
Where: Paseo La Plaza, Buenos Aires, Argentina

I’ll be presenting about "user experience" and what could be achieved using WPF in a scenario where offline is required. This is a preview…

snowshop

Register here!

TechNet Briefing

We started this effort a month ago and now we have a v1!

The team conformed by Kent Boogaart, Bil Simser, Ward Bell, Chris Holmes, Ezequiel Jadib and myself worked together to get a decent release out!
The package includes the following:

The CAB Visualizer is soo cool. It will help both newbies and experts to understand better what is happening behind the scenes on a CAB application.

Download the binaries or the source code from the codeplex site!

Now that the Outlook Bar is finally in scsf contrib I will close codeplex.com/cabextensions.

VSIP Software Factory

April 9th, 2007

My good friend Pablo Galiano has been working on a VSIP software factory lately. I had never did a VSIP package myself, but it seems like a lot of work to do simple things like adding a command. This software factory provides a bunch of recipes (developed with GAX/GAT) that will do all the dirty job for you.

Check it out here: http://www.codeplex.com/vsipfactory

A picture with Bill Gates

December 4th, 2006

It was the last week during the Strategic Architecture Forum (SAF) here at Redmond.
More than 250 architects from all over the world assisted to this event where Billg gave a 90 minutes Q&A session among other great presentations by the Architecture Strategy Team. Wojtek from patterns & practices presented CAB and the Smart Client Software Factory. Also there was lots of Software as a Service content

withbillg

From left to right: Matias Woloski, Bill Gates, Eric Rudder (behind) and Mariano Szklanny

Don Smith announced today that Service BAT Service Factory is finally a public project. I’ve been part of this project since the beginning of the year and I can tell you that I’m pretty excited about it. Jason Hogg said that this were going to change the way we develop SO applications.

This is a great moment for people writing Service Oriented apps using Microsoft technologies!

First, if you are not aware of patterns & practices latest
activities, let me tell you that they’ve been creating BATs, Baseline
Architecture Toolkits, which are more than App Blocks. They cover the
whole thing! The first one was the SC-BAT (for Smart Client apps using CAB) which was more than successful. So here is the definition:

 What is a BAT? A BAT is a collection of various forms of guidance (written
guidance like patterns, reusable code like application blocks,
executable code like reference implementations, and guidance packages
embedded in Visual Studio) to help .NET developers and architects build
a certain kind of application.

What is the scope of Service BAT Service Factory? In short, from the proxy to the database.

Join this project if you want to

  • Write Service Oriented apps using WCF or ASMX
  • Leverage the best practices and the experience of a 50 recognized experts in the
    field (the advisor board) and a group of Redmond brainees
  • Automate the menial tasks of creating a Service by leveraging the use of GAT
  • If you were looking for the Grail on writing backends for Enterprise Applications :)
  • Solve most of the cross-cutting concerns (Exception Shielding, Logging, Versioning, Security, Data Entitlement, and more)
  • Align to WCF
  • Have great tooling for WCF

See you there!

UPDATE: want to see some early screenshots? look at Edward Bakker post. Christian Weyer also blogged about it.

UPDATE 2: Service BAT was rebranded. Now it’s Web Service Software Factory.