# Friday, 30 January 2009

Earlier today the Oslo SDK January CTP was released on MSDN. A lot of people have been saying since the PDC, “What is Oslo?” Oslo is a new platform from Microsoft that allows you to build data driven applications. Oslo revolves around the application’s metadata. As Chris Sells describes on in a great white paper on Oslo:

Metadata can be defined as the data that describes an application, for example, how a home page is rendered or how the purchasing workflow operates. Your application data represents the state of the execution of an application, such as what Bob put in his shopping cart on your Web site or his shipping address in your checkout workflow.

To provide a common set of tools for defining metadata so that it can be stored in a place that provides the same set of features as normal application data, Microsoft is creating "Oslo," a platform for building data-driven applications. "Oslo" is composed of three elements: a family of languages collectively called "M," a visual data manipulation tool called "Quadrant," and a data store called the repository.

Telerik is building some cool Oslo utilities and I am in the middle of designing them. As I was talking to Chris about some of the specs the other day, he asked me: “What are you using to keep track of the metadata of your application in your design process?” I was like: “Pen, paper, whiteboard, Word and Excel.” He said why are you not using Oslo? Then it struck me, I was in .NET programmer mode. So last decade. While I am using Visual Studio 2008, WPF, SQL Server 2008 and the Oslo SDK to build an application for Oslo, I was not using Oslo to help build the application.

The application is in its earliest phases (just moving from idea and drawing on a whiteboard to design.) I confess, I made my first mistake, I did not think about a model, I was thinking about the app. So I started over and started to model what the app would do using Oslo. How do you model an application using Oslo? You use the M language.

Specifically at this phase you would use the MSchema portion of the M specification.  I started by creating a schema using MSchema to hold some application artifacts. This requires a different way of thinking, but it is worth the effort because now information about my application is stored in the repository and I will have version history and a much easier time generating the application when the time comes. (You can also use the MGraph portion of the M specification to create a domain specific language (DSL), however, that part of the process won’t come for this application until a little later on.)

As I make progress designing and building this application, I will post it here. You can follow along and learn from my mistakes. Stay tuned, look for the “Oslo” category on this blog.

posted on Friday, 30 January 2009 23:12:43 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Thursday, 29 January 2009

Mary Chipman and I are doing a talk together at TechEd in Los Angeles this May on building solutions “without spending any money.” One of the tricks we will show is using an Access front end utilizing TVPs from the back end SQL Server. She posted a blog on the Access team’s blog about it yesterday. Check it out here.

posted on Thursday, 29 January 2009 13:37:56 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, 28 January 2009

If you attended my user group on data driven RESTful apps, you can download the slides and code here. Enjoy!

posted on Wednesday, 28 January 2009 14:53:20 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Monday, 26 January 2009

Due to my comment spam problem, the link to the ORM white paper I wrote got deleted. A month or so ago, I wrote a white paper for Telerik on ORMs in general and their ORM in particular. This white paper is mostly an intro to data access layers, what an ORM will give you and how they work. Here is the link.

posted on Monday, 26 January 2009 10:54:18 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Tuesday, 20 January 2009

I will speaking at the SQL Server User Group on Thursday at 6pm.

You must register to attend: http://www.clicktoattend.com/?id=134822

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.

Session Info:
Applications today are expected to expose their data and consume data-centric services via REST. In this session we discuss ADO .NET Data Services or “Project Astoria” and see how we can REST enable your data. Then you will learn how to leverage existing skills related to LINQ and data access to customize the behavior, control-flow, security model and experience of your data service. We will then see how to enable data-binding to traditional ASP.NET controls as well as Silverlight Then switching gears we will look quickly at consuming of REST services from any platform (including Ruby on Rails) using Visual Studio and the WCF REST Starter kit. We will conclude with a discussion on developing offline applications with the ability to sync back to the online data service. This is a very demo intensive session.

posted on Tuesday, 20 January 2009 11:42:37 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Monday, 19 January 2009

If you are looking for the slides and code for my user group presentation: Data Access Hacks and Shortcuts, you can download it here. Please note, this session and its code is subject to some minor tweaks as the conference season kicks into high gear next month.

posted on Monday, 19 January 2009 18:03:51 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Sunday, 18 January 2009

The Microsoft MSDN DevCon is this Tuesday. All you women attending, we will have a special Women In Technology event running in tandem sponsored by Lego. You can catch a video of me talking about women in technology here.

posted on Sunday, 18 January 2009 17:49:49 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Friday, 16 January 2009

Recently I have been getting comment spam in my blog. I would like to think that my blogs gets millions of hits and I am super popular, but I realize that I have only a few thousand loyal readers on Feedburner (thanks for reading!) and sometimes I get syndicated on theregion.com or someone like Roger Jennigns posts a link to one of my essays. So my blog should not be all that much of a spam target.

Richard Campbell made a real blog post about a product his company was working about a month ago. Since then there has been targeted comment spam on several blogs, including mine. Someone calling themselves “Rich” is reposting that blog post over and over in the comments of several blogs of people in the .NET community, including mine. “Rich” is most likely doing this manually since I use Captcha for comments and Gravatar icons. “Rich” has reposted this spam on all of my posts for the last month. I have went in and manually deleted them all. Due to “Rich” I now am enabling the approval process for comments into my blog.

So an open message to “Rich”

Just go away. You are making the community spend time on worthless tasks, like deleting your spam. We will find you, what you may not know is that we have been on this at an ISP level for a few weeks now, logging your requests and getting the real IP address you are hiding behind. The ISPs who host the blogs that you are spamming are all coordinating and will find you and shut you down. Why not make yourself useful and write a virus that takes down bin laden’s servers and leave us alone.

posted on Friday, 16 January 2009 10:19:42 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Monday, 12 January 2009

The NYC .NET Developer Group Code Camp III went off great. Thanks to our sponsors Infragistics and Code Project. Even though we had 7 inches of snow predicted, all the speakers showed up and we had well over 200 attendees and gave away a lot of SWAG. We rounded off the day with a .NET Rocks interview of the NJ (not NY!) user group/MVP community. (I called it the Jersey Boys crash the NY code camp!) I made Carl ask them each which exit they are from. (That is an inside NY joke. <g>) On the heels of our successful code camp, we are doing our normal monthly meeting this week! Since I did not speak at Code Camp and we were so busy planning code camp, we figured that I can do the talk on Thursday so save planning. Here goes:

Thursday, January 15, 2009
Data Access Hacks and Shortcuts

You *must* register for this event:

Registration site: http://www.clicktoattend.com/?id=134659
Event Code: 134659

Struggling with Data Access? Who isn’t? Come and see some Data Access hacks and shortcuts that will make your life easier! In a high energy demo-only session, Stephen shows: how a mere mortal can pass a custom .Net collection to a stored procedure, improves your LINQ queries with Lambdas and expression trees, making complex data models easier to manage in the Entity Framework, creative Sliverlight databinding with LINQ to REST, and transforming your database back end to get enormous performance and productivity enhancements. This is data access for the 21st century! Speaker will also provide guidance along the way about ORMs, LINQ, and EF and encourage Q&A.

Stephen Forte, Telerik
Stephen Forte is the Chief Strategy Officer of Telerik, a leading vendor in .NET components. He sits on the board of several start-ups including Triton Works and is also a certified scrum master. Prior he was the Chief Technology Officer (CTO) and co-founder of Corzen, Inc, a New York based provider of online market research data for Wall Street Firms. Corzen was acquired by Wanted Technologies (TXV: WAN) in 2007. Stephen is also the Microsoft Regional Director for the NY Metro region and speaks regularly at industry conferences around the world. He has written several books on application and database development including Programming SQL Server 2008 (MS Press). Prior to Corzen, Stephen served as the CTO of Zagat Survey in New York City and also was co-founder of the New York based software consulting firm The Aurora Development Group. He currently an MVP, INETA speaker and is the co-moderator and founder of the NYC .NET Developer User Group. Stephen has an MBA from the City University of New York.

Thursday, January 15, 2009

Reception 6:00 PM , Program 6:15 PM

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

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, 12 January 2009 09:53:35 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, 07 January 2009

Happy New Year! Here are some predictions for 2009 in the Microsoft Software space.


Windows 7 will ship and not be a flop

Microsoft has to counter Apple and the Vista mess. We are expected to get the first and only beta of Windows 7 this week.  I am going to go out and say that Windows 7 will ship in time for the holiday rush at the end of 2009. It will be successful and have an Obama effect, promising change and not being the other guy (Vista).

Microsoft will continue to innovate C# and the CLR based on what Ruby does

I gave up trying to predict what Microsoft will do by listening to them at the PDC (anyone remember Hailstorm? WinFX?) and playing with betas.It is far easier to predict what Microsoft is going to do based on the actions of others. Microsoft is a reactive company, not a proactive company. The joke in vendor community is “First Microsoft tries to steal it. If they can’t steal it they try to buy it. If they can’t buy it, then they try to copy it.” While this is a cheap shot (and also accurate), there are merits to Microsoft’s strategy. They are never the first mover to anything and therefore don’t suffer from the mistakes of the first mover and can build innovative technology that is responsive to the marketplace. In business school they call this the “second mover advantage.” It seems to fit Microsoft well, they are one of the most profitable companies on the planet and I don’t expect them to change this strategy. If you want accurate predictions on .NET 4.0, 4.5, and beyond, check out what is going on in the Ruby and RoR projects.

ASP .NET MVC Framework will ship and have a very low adoption rate

How low? Both guys will leave a comment on my blog.

The marketing hype around Azure will be equally annoying as the marketing hype around “.NET Web Services” in 2002

Enough said.

LINQ to SQL Fans will start a petition to bring it back from the dead

Anyone still think that Linq to SQL is not dead just because it is in the framework? The VB 6 runtime is part of the Operating System and it is dead. (PS-Don’t mistake my saying L2S as being dead as an endorsement for the EF. I will follow up with a blog post later on this topic)

The Alt.NET “movement” (have you ever seen developers move?) will kick out Scott Bellware

Most of the alt.neters are guys who just want to write code and want Microsoft to support their way of working (BDD, TDD, DDD, etc) with better tooling and support for non-MS stuff (nHibernate, etc). Scott Bellware, who recently called .NET developers “stupid” while admitting that he doesn’t even code in .NET anymore, is a bad face for this group of people. Expect to see an Alt.net Vote of No Confidence pop up this summer….

posted on Wednesday, 07 January 2009 09:10:15 (Eastern Standard Time, UTC-05:00)  #    Comments [4] Trackback