# Thursday, October 30, 2008

My favorite technologies to come out of Microsoft this year is ADO.NET Data Services aka Project Astoria. Astoria is a new technology that puts a REST based data-service on top of your data. Very easily you can expose your application’s data as a service allow other applications, including non-Microsoft ones, to consume your service via HTTP and REST. Astoria has a rich extensibility model where you can hook directly into the service and take direct control over a request. This enables you to build very secure, flexible, and robust services.

The one thing that is a limitation of Astoria is that for the client, you have to be online to consume the service. If your client is offline or occasionally connected, working with Astoria is not really possible. That will change real soon. Yesterday at PDC I went to the session TL08 Offline-Enabled Data Services and Desktop Applications delivered by Pablo Castro. For those of you who don’t know Pablo, he is a great guy and a straight shooter. He believes in “transparent design” where the team is 100% open and debates design and features on its blog for the whole world to watch and contribute feedback.

I have been writing “disconnected” applications that rely on synchronization for almost 15 years. I have been involved in some great applications relying on replication like the NFL Scouting application I showed at TechEd 2003 that  uses the Pocket PC (.NET Compact on Windows Mobile/CE) and laptops with SQL Express to connect to a back end SQL Server. The challenge of the disconnected user has been around ever since we have been able to do any form of replication of data. I know first hand. :)

Astoria Offline’s offering is very elegant. You can create an end to end solution very easily and the “piece of cake” scenario where you click on all the wizards provides a good solution out of the box where you only have to write a little bit of code to extend the application to fit your needs. There is also a robust API if you want to consume and do everything yourself or if you are not using the Microsoft tools on the client.

What I really like about Astoria is its conflict resolution. This has been a big challenge for some other replication systems. Astoria will sync all of the good records in the batch and do nothing to the conflicted records. You will then have an exception and an event to handle the conflicted records so you can write some code to handle it yourself. But Astoria will not change any data unless you tell it to, giving you full control. While this seems small, it is a very elegant design pattern.

There are also some great things in there to allow you to batch your sync and also do partial replication (allow only NY sales people to see NY data) with something called Scopes. There are nice hooks for Authentication and Authorization as well.

Look for a CTP by the end of the year. As Pablo said, it is not a CTP good enough to build applications on, but good enough to give the team feedback. More than most other teams at Microsoft, the Astoria team really listens. So look for the CTP and write some code and let them know what you think.

posted on Thursday, October 30, 2008 11:50:27 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, October 29, 2008

We take this break from the PDC to let you know that our book is out today. Enjoy!

 

image

posted on Wednesday, October 29, 2008 9:51:10 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Tuesday, October 28, 2008

A few weeks ago the PDC people sent to the Regional Directors the goals and theme of today’s Keynote by Don and Chris. They said: “ It will be Don and Chris writing code in Notepad for an hour!”

I replied that I hate when Don codes in Notepad, I think it is a silly thing to do. It only confuses the audience and sends a message that this technology is just a hack since you have to use Notepad. Then the other Regional Directors chimed in with loads of reasons why Notepad is not good for a PDC keynote.

Don and Chris got the message and used Visual Studio in the keynote and the keynote was a lot of fun. Don starts the keynote with the goal to write a service that iterates through all of the processes running on the demo box. Chris then wrote a method that will delete a process (kill) via a service. Don then said “No presenter would ever use Notepad to deliver a session.” He then opened four instances of Notepad and wrote a call to the service to kill all four Notepad instances. Don then said “Regional Directors around the world are now applauding.” (We then did!) Don said if you read between the lines: “OK RDs I took your advice, but I am still Don Box!” I love that.

Don and Chris then took the same service and pointed it to a Live Mesh desktop (and it deleted a folder named notepad). They then took the service and hosted it in Windows Azure services. They had a service running in the cloud that manipulated processes running on their desktop. (Well in the real world you would not do this, but hey it is pretty cool.)

After being called out by Don Box in the keynote, I spent the rest looking at the Oslo stuff. Oslo is a new modeling platform for application development that revolves around a language (M), a tool (quadrant), and a repository (SQL Server).

M is a language where you can model your application and data as well as create your own contextual Domain Specific Languages (DSL). The DSL piece is the best part of M, but I will not write anything about it until later this week as not to steal the thunder of the M: DSL session on Thursday at PDC.

Here is a simple speak peek at M in general, I model a type called Employee (which will map to a SQL table) and insert data in a code specific way. (At the end of the day this code will produce TSQL.) While this may not appear all that sexy, it will be far more efficient for a team to develop, implement, and maintain applications and services (and just imagine putting a DSL on top of this!) You can use a DSL to map text to data so you can import data real easily or have end users write data for you.

module HRApplication

{

type Employee

{

Id : Integer32 = AutoNumber();

Name : Text;

Title : Text;

Salary: Integer32;

} where identity(Id);

Employees : Employee*

{

{ Name = "Vassil", Title = "CEO" , Salary=1000000},

{ Name = "Steve", Title = "CSO" , Salary =250000},

{ Name = "Todd", Title = "CE" , Salary=500000}

}

}

Go get M and the Oslo SDK here: msdn.microsoft.com/oslo.

Lastly, I ran into old friend Dan Fernandez and he had me dress up as Dr. Code.

stevef

posted on Tuesday, October 28, 2008 6:41:29 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback

Thousands of developers have flooded LA for the 2008 PDC. The first keynote yesterday has highlighted the Windows Cloud Services called Azure. Microsoft is finally getting serious about the cloud by offering storage, hosting, SQL, and .NET services in the cloud. This changes the economics of producing software as well as how we think about infrastructure. Hosting, bandwidth, storage, and management are not a commodity.

In addition to the cloud, Microsoft has show so far C# 4.0 and the .NET Framework 4.0. Included is the Dynamic Language Runtime (DLR). C# 4.0 is entering the world of dynamic languages by adding a static type called dynamic. (Pause for effect.) C# can now interoperate very easily with Ruby and Python and do things like COM interop much easier due to support for default parameters and optional parameters.

This actually seems like a small thing, however, along with generics, delegates and LINQ features (anonymous types, lamdba, etc) support in 2.0 and 3.0, you can now eliminate JavaScript in your SilverLight applications and use C# 4.0 in the code behind. This can change the way we program for the web in a big way.

C# is being influenced by the dynamic languages like JavaScript, Ruby, and Python. This is a good thing. We even got a sneak peek at C# 5.0 where C# looks extremely dynamic. C# is becoming the best of both worlds.

posted on Tuesday, October 28, 2008 12:46:48 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Saturday, October 25, 2008

Once again I am teaming up with the Tank to raise money for Memorial Sloan-Kettering Cancer Center. It is a great program and 100% of the money goes to the hospital and research center. Each year we team up with Fred’s Team to raise money via the NYC Marathon. (I myself have hung up my marathon shoes and the Tank is hanging them up next year.) When we visit the hospital, the doctors show us supplies, drugs, and materials that Fred’s Team paid for. On marathon day the kids with cancer come down to watch the marathon and give hi-fives to the runners.

This is a very awesome cause. And like all charity’s I work with, 100% of the proceeds go to charity, Fred’s Team is 100% volunteer and has no overhead. You can make a donation here.

posted on Saturday, October 25, 2008 7:19:31 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Friday, October 24, 2008

Over the years I have spoken at over 15 Tech*Eds in North America, Europe, and Asia. My favorite place to speak is hands down Barcelona. Mostly because the good show TechEd Europe puts on, but of also the audience, and the fun city that Barcelona is.

Not so sure I will like it this year, I have eight sessions at TechEd! Wow, they are working me hard. Apparently they are repeating a few sessions due to delegates voting on the sessions, so all I can say is THANK YOU and hopefully you will all get a lot of value from the sessions.

A lot of my sessions are interactive, and I mean that. At the Daily Scrum talks we will be passing around a microphone and it will be 100% Q&A, war stories, and interactive, no slides if I can help it. (Come on, ask a lot of questions, tell a lot of war stories make my week a little easier!) I am a certified Scrum Master and use it every day at Telerik, so if you are just curious, getting started, or in the trenches with Scrum, this is a great session for you. The Using Scrum session is more of an overview, but I would love some interaction and Q&A there as well.

The CTE and T-SQL sessions are brand new content and geared to developers: both application developers (C# and VB) and database developers (T-SQL programmers/DBA types), basically anyone who writes TSQL at some point during the day. (And even thought they are titled 2008, you can use most techniques in SQL 2005.) Hopefully they will not only show you some shortcuts, but also some creative ways of thinking. If you are coming from a strict C# and VB perspective, remember I started my life as a VB 3.0 programmer 15 years ago-not a database/TSQL developer, so I gear the session to a wide audience. In the TSQL Enhancements session, I have some pretty cool ADO. NET shortcuts.

And what is this Smackdown session? It is less of a smackdown and more of an overview of the crazy world of Microsoft Data Access. I was given carte-blanche by the TechEd planners, so anything goes!! I’ll be reviewing all of the SP1 technology (EF, LINQ to Entities, Astoria, LINQ to REST, Dynamic Data) and also take a walk down memory lane to use the historical context to try to predict what is next.  Don’t worry we can talk about the EF Vote of No Confidence and my experiences on the EF Council. I am going to reserve the final 15 minutes or so for a group discussion on the future of data access, is it EF/LINQ, is it ORM, is it EF, or is it something different? We also take a peek at Cloud Data and its role in all of this.

If you make it to Friday afternoon at 3:15 for the Scrum talk, bring beer.We’ll need it.

Here are the sessions:

 

DAT01-IS

T-SQL: Tips and Tricks Sharing Fest!

Interactive Session

Database Platform

11/10/2008   5:45PM - 7:00PM

DVP04-IS

Tech·Ed Daily Scrum!

Interactive Session

Development Practices

11/11/2008   9:00AM - 10:15AM

DVM309

Using Scrum to Run Your Projects

Breakout Session

Developer Managers

11/11/2008   1:30PM - 2:45PM

DAT313

T-SQL Enhancements in SQL Server 2008 : Getting Down and Dirty

Breakout Session

Database Platform

11/12/2008   1:30PM - 2:45PM

DAT404

Rockstar Common Table Expressions in SQL Server 2008

Breakout Session

Database Platform

11/13/2008   9:00AM - 10:15AM

DAT01-IS (R)

T-SQL: Tips and Tricks Sharing Fest!

Interactive Session

Database Platform

11/13/2008   1:30PM - 2:45PM

DAT02-IS

Data Access Smackdown

Interactive Session

Database Platform

11/14/2008   10:45AM - 12:00PM

DVP04-IS (R)

Tech·Ed Daily Scrum!

Interactive Session

Development Practices

11/14/2008   3:15PM - 4:30PM

posted on Friday, October 24, 2008 10:38:12 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, October 22, 2008

I am back from a 16 day, three country, three conference European tour. It was a lot of fun and the community is alive and well in Europe and I am looking forward to TechEd in Spain.

First stop was in Amsterdam for the SDC, well actually Noordwijkerhout, but that is impossible to pronounce and it is “close to Amsterdam” as is everything is in that tiny country. They let me do the keynote (on Astoria and REST) and also speak on Scrum and SQL. There was an obligatory visit with Miguel “look at me!” Castro and Peter Bahaa to the Red Light District. Yes, there was a lot of stories about sex and drugs, but Carl Franklin randomly showed up at the SDC, so we told all on an upcoming episode of DNR, so catch it there.

I then moved on to Sofia, Bulgaria. The girl came in for the weekend and we did some sightseeing in Sofia and Plovdiv. Polvdiv predates ancient Rome and Istanbul, it is an ancient city with fabulous ruins.

Monday brought DevReach 2008. Once again they let me do the keynote, not sure why. But I decided to have some fun with the audience. I told them that I love Bulgarian women (true) and that I met one the night before at the bar and got her phone number. I then put up a photo of Miss Bulgaria. Then I say that she taught me how to speak Bulgarian. I said that she taught me how to say “Welcome to DevReach!” What I then said was : Аз съм глупав и дебел американец (I am a stupid, fat American.) Brought down the house, kinda forgot what the Keynote was about.

After three more breakout sessions, Tim Huckaby and I spoke to the computer science majors at Sofia University. We had a total hoot and took questions as diverse as “will Apple sue Microsoft over the Surface” and “Why is Microsoft not Open Source” to “What do you think of Android?”

image

After that there was a nice dinner where a lot of booze was drank. Then something crazy happened. Maciej Pilecki walked on hot fire coals. Here are some photos from Steve Smith:

image

This photo is dark but Maciej and I just walked over the coals, but quickly. The performer and us pose for a photo. I think “ok I survived.”

image

But then as you can see he decides to make us walk one last time, very slow. My feet were ok, but they were black for two days.

So first of all, after I did this, everyone said “I saw that on myth busters!” They say: “IT IS EASY, MYTHBUSTERS SAID SO! MIND OVER MATTER!”   I have one thing to say to all of them: DO IT YOURSELF AND GET BACK TO ME.

The next night featured the attendee party at the Piano Bar in Sofia, and Carl played and sang “New York State of Mind” for me.

Then it was off to Novi Sad, Serbia for Sinergija 08. I did a few sessions on SQL and Scrum and for the last session of the conference, I was down to drinking beer and brought a case of beer to my session and gave one away to anyone who asked a question. The first question was “Can I have a beer?” Damn Serb outsmarting me.

After the conference I went out drinking with the Sinergija event staff and learned the hard way not to drink with Serbians. Then we drove to Belgrade and I spent the day sightseeing before the long journey home.

image

These three events were a great experience and the Microsoft community in Central and Eastern Europe is alive and well!

posted on Wednesday, October 22, 2008 1:18:03 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Monday, October 13, 2008

Thursday, October 16, 2008
Introducing Silverlight 2.0: .NET Framework Development in your Web Browser

Subject: 
You must register at https://www.clicktoattend.com/invitation.aspx?code=129954 in order to be admitted to the building and attend.
Microsoft Silverlight 2.0 technology finally brings the power of .NET development and rich user interfaces into the browser. This session will focus on covering what is new in Silverlight 2 starting with how companies are already using this technology. Next we will dive deeper to look at the .NET Frameworks Data, Network and Interface capabilities in Silverlight. Finally we will briefly cover the new Streaming Media support and compare the XAML implementation to WPF. If you’re new to Silverlight 2.0, don’t miss this presentation.

Speaker: 
Dmitry Lyalin, Microsoft
Dmitry has been working with Microsoft Technologies for almost 10 years with a variety of companies and titles. As of February 2008 Dmitry joined Microsoft Consulting Services as a Consultant. In this role Dmitry works in the NY/Metro area and across the country to help various customers implement Microsoft Frameworks and Systems efficiently.

Date: 
Thursday, October 16, 2008

Time: 
Reception 6:00 PM , Program 6:15 PM

Location:  
Microsoft , 1290 Avenue of the Americas (the AXA building - bet. 51st/52nd Sts.) , 6th floor

Directions:
B/D/F/V to 47th-50th Sts./Rockefeller Ctr
1 to 50th St./Bway
N/R/W to 49th St./7th Ave.

posted on Monday, October 13, 2008 2:03:07 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, October 1, 2008

Microsoft today announced rich new features and performance improvements in WCF and WF 4.0 with code name “Dublin”. Part of Dublin is also an evolution of WAS via IIS so Windows Server will get better at hosting WCF and WF applications. Microsoft is focusing a lot on the server capabilities in its announcement, leading many to call Dublin an “application server.” Dublin is not really an application server, it is an upgrade of WCF, WF, WAS, and all of the application hosting capabilities built into Windows Server. This combination of enhancements will make it far easier to build composite applications.

As part of Dublin, WCF is getting a major upgrade. For starters, WCF is embracing REST in a major way by simplifying the way developers will build REST services via a WCF REST Starter kit. (That is rumored to be available on Codeplex soon.) On top of other messaging enhancement like UDP transports and SOAP over UDP and duplex durable messaging, WCF also will have complete integration with WF via a unified XAML model. This will allow an application to be built entirely in XAML, from the presentation layer (WPF/SilverLight) to the workflow (WF also supports XAML in Dublin) to the actual WCF services.

This is good news for developers and it is nice to see Microsoft take REST very seriously. The Web 2.0 and cloud universe is built with a lot of REST, now Microsoft is giving us a way to hook into that.

There will be a CTP at the PDC. Check it out.

posted on Wednesday, October 1, 2008 2:55:34 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback