April 20, 2010
oslofeaturedcontent
SQL Server Modeling CTP (November 2009 Release 3) for Visual Studio 2010 RTM Now Available
Here’s what Kraig has to say about the November 2010 SQL Server Model CTP that matches the RTM of Visual Studio 2010:
A update of the SQL Server Modeling CTP (November 2009) that’s compatible with the official (RTM) release of Visual Studio 2010 is now available on the Microsoft Download Center. This release is strictly an updated version of the original November 2009 CTP release to support the final release of Visual Studio 2010 and .NET Framework 4.
We highly recommend you uninstall and install in the following order.
- Uninstall any existing SQL Server Modeling CTP from Add and Remove Programs
- Uninstall Visual Studio 2010 and .NET Framework 4 Beta 2 or RC from Add and Remove Programs
- Install Visual Studio 2010 and .NET Framework 4
- Install the SQL Server Modeling November 2009 CTP Release 3.
If you are unable to uninstall SQL Server Modeling CTP from Add and Remove Programs for any reason, you can remove each component using the following command lines. You need to run all three in order to completely remove SQL Server Modeling CTP so you can install the new CTP:
M Tools: Msiexec /x {B7EE8AF2-3DCC-4AFE-8BD2-5A6CE9E85B3A}
Quadrant: Msiexec /x {61F3728B-1A7D-4dd8-88A5-001CBB9D2CFA}
Domains: Msiexec /x {11DA75C8-10AB-4288-A1BB-B3C2593524A7}
Note: These steps will not remove the SQL Server Modeling CTP entry in Add and Remove Programs but you will be able to install the new CTP.
Thank you and enjoy Visual Studio 2010!
Kraig Brockschmidt
Program Manager, Data Developer Center
March 5, 2010
oslofeaturedcontent
“Deep Fried Bytes Podcast”: Lars on SQL Server Modeling
Here’s how the Deep Fried guys describe episode 45: “At PDC 2009, ‘Oslo’ was renamed to SQL Modeling and it left a lot of developers scratching their heads. What better way to sort it all out than to talk with someone deep into the stack. We sat down with Lars Corneliussen to see how this is all going to turn out and it what it means for developers. Definitely an interesting show as it paints a different picture about where things are going with ‘M’, ‘M’ Grammar, SQL modeling, Entity Framework, Quadrant and so on.” Check it out!
March 4, 2010
oslofeaturedcontent
SQL Server Modeling CTP (November 2009 Release 2)
An
update of the SQL Server Modeling CTP (November 2009) that’s compatible with Visual Studio 2010
RC has been released on the Microsoft Download Center. This release is strictly an updated version of the original November 2009
CTP release to support Visual Studio 2010 and .
NET Framework 4
RC. It contains no other fixes outside of those required to work with the new
RC. Enjoy!
February 22, 2010
oslofeaturedcontent
Update for SQL Server Modeling CTP and Dev10 RC
We are currently preparing a release of the SQL Server Modeling November 2009 CTP that will install and operate with Visual Studio Release Candidate. We expect to make this release available the first week of March and will make an announcement here at that time.
We are also planning for another release of the November CTP that matches the final Visual Studio product (RTM) when that product becomes generally available.
February 4, 2010
oslofeaturedcontent
Telerik LINQ to M Refresh for Nov09 Modeling CTP
The
Telerik LINQ to “M” implementation allows developers to use
LINQ statements with blocks of
“M” values, pure text or the results of a transformed
DSL. With the new
SQL Server Modeling November 2009
CTP there are some changes to the
“M” specification, so Telerik has updated their core DLLs to accommodate these changes. Enjoy!
February 4, 2010
oslofeaturedcontent
Deep Fried Bytes: Doug Purdy on OData and Modeling
“In
the 43rd episode of Deep Fried Bytes, Keith and Woody sit down at
PDC 2009 with Microsoft’s Douglas Purdy to discuss all things data. Do you remember Oslo from the previous
PDC event? Well Oslo has been rebranded to
SQL Server Modeling Services to help developers store and manage models for the enterprise. Modeling Services enables you to more productive when building and managing data-driven applications. The guys also get the low down from Douglas on a new web protocol for querying and updating data called OData.”
February 2, 2010
oslofeaturedcontent
Rocky’s video series on SQL Server Modeling and CSLA
Rockford Lhotka has created
a series of three videos showing how he has applied the SQL Server Modeling, specifically
“M”, to drive his well-known
CSLA, a framework for building the business logic layer in your applications. He shows a custom domain-specific language (
DSL) that lets you create a
CSLA entity, along with the data serialization, business logic and a forms-based
UI, resulting in a 95% coding savings (his words, not mine : ). Enjoy!
January 31, 2010
oslofeaturedcontent
What’s New in EF4.0
Soma has posted a lovely description of what’s new in the Entity Framework for .NET 4.0, including:
- Foreign Key support so you can add a row without requiring you to download an object just to get the foreign key.
- Lazy Loading support so as you traverse a property that is a collection, the data is pulled on demand.
- Plain Old CLR Object support (POCO) so that you can build your own classes and have EF serialize those instead of generating new classes.
- T4-based Code Generation in case you do want classes generated but want to control the code.
- Data binding support for WPF and WinForms.
- WCF support with serialization attribute generation.
- Much better SQL generation so that you can read it better when you need what’s going on over the wire and so that it’s more efficient.
- Much better support for complex return values from stored procedures.
That Soma really knows his stuff! Check it out.
January 24, 2010
oslofeaturedcontent
LINQPad updated to support .NET 4.0b2!
I’m such a fan of
LINQPad you don’t even know. Recently Joe updated it to support Data Services and as of today, if you scroll down to the bottom of
the LINQPad download page, it’s been updated to support .
NET 4.0 beta 2, which means that you can point it at Data Services constructed with .
NET 4.0. This makes my heart sing. Also, if you haven’t spent the $29 to get the auto-completion, it’s totally worth it. Highly recommended. Thanks, Joe!
January 20, 2010
oslofeaturedcontent
Comparing NHibernate and EF4
This is
a nice piece comparing NHibernate and EF4. Personally, I’m an
EF4 fan, but I’m hardly unbiased and there are definitely features I want to see added to
EF v.Next. Either way, it’s clear that
EF4 is garnering much more appreciation from the community than previous versions and that’s because you let us know what you wanted and we added it.
Keep those cards and letters coming!
December 1, 2009
oslofeaturedcontent
Data and Modeling Talks from PDC 2009
If you weren’t lucky enough to be able to attend this year’s PDC, not only did you not get a killer laptop, but you didn’t get to see the Data & Modeling talks live and in person. Fortunately, Doug has a nice list of them so you can watch them from the comfort of your own home. Enjoy!
November 12, 2009
oslofeaturedcontent
“M” For Language Definition in November 2009 CTP
In the November 2009 CTP of “Oslo”, we’ve
got some new DSL features in “M”, three of which I couldn’t wait for the PDC to
brag about.

Notice the following in this screenshot of Intellipad:
-
The use of an expression on the right-hand side
to calculate the full name from the first and last name from the parsed
input: Name => f + ” ” + l (“M” supports a rich expression syntax for a
variety of data types).
-
The use of ToInteger32 to provide output data
conversion of the Age token as different from the default of string
(there’s one of these functions for each of the supported “M” data types).
-
The orange highlighted text in the left-hand pane shows a
breakpoint and notice that Intellipad knows that “yours old.” is a single
thing, so highlights the entire phrase. Also notice the “notification” pane
on the far right to show what the data is that’s being parsed right now.
This indicates that Intellipad is now in DSL debugging mode
and lets you step through your input data and debug your language.
You’ll also notice richer error information in the Error List at
the bottom of the Intellipad window, but that I could’ve waited to tell you
about. : )
All of these “M” features and more can be yours for the low low
price of absolutely nothing in the latest CTP of
“Oslo”, which you can download on November 17th, the first day of
the PDC.
Discuss
November 10, 2009
oslofeaturedcontent
From “Oslo” to SQL Server Modeling
Extra! Extra! Read all about it!
Doug Purdy, my boss and one of the chiefs on the “Oslo” project has just announced the move from codename “Oslo” to SQL Server Modeling, which is the name we’ll be using for starting now for the group of “M”, “Quadrant” and Repository that you’ve come to know and love.
Tune in on November 17th, the first day of the PDC, for the new unified Data Developer Center, which will include all manner of data technologies, including XML, DataReader, DataSet, LINQ to SQL, Data Services (aka “Astoria”) and Entity Framework. One stop shopping!
November 7, 2009
oslofeaturedcontent
Chris Sells on .NET Rocks! talking about data
I was on
.NET Rocks! recently talking to Richard and Carl about data in Visual Studio (object-oriented,
XML and relational), what tools Microsoft is already providing for managing your
SQL Server schema and data migration and where
“Oslo” (“M”,
“Quadrant” and the Repository) fits into the overall picture. It was fun and I think it turned out well. Enjoy.
October 30, 2009
oslofeaturedcontent
Sweet State Machine DSL in “M”
Kevin D. Wolf has built a sweet little language to describe state machines:
The States of a Invoice are New, Reviewed, Submitted, Paid, Overdue and Canceled.
An Invoice can transition from New to Reviewed and Canceled.
An Invoice can transition from Reviewed to Submitted and Canceled.
An Invoice can transition from Submitted to Paid, Overdue and Canceled.
An Invoice can transition from Overdue to Paid and Canceled.
He built this with a language definition in “M”. What could be simpler?
October 11, 2009
oslofeaturedcontent
“M” Language Type Definitions for 280 Popular (and not so popular) Data Models
Holy
“M” types, Batman! Somebody’s been busy building M type definitions for tons of existing data models, including
ATOM,
AWK,
BPEL, C/C++/C#/Java,
COBOL,
HTML, LaTeX, Make and
the list goes on and on. I don’t know how they did it — it’s an amazing task! Now that they’ve got some free time back, maybe they’ll build M language definitions to parse the file formats. I’m just sayin’… : )
September 18, 2009
oslofeaturedcontent
Put Intellipad-like language editing features into your applications
Bill Henning from Actipro Software has done it again, this time providing the components to drop real-time language creation features into your application for building custom grammars in
the critically acclaimed SyntaxEditor control. Enjoy!
September 8, 2009
oslofeaturedcontent
Kraig Brockschmidt blogging on “Oslo”
Kraig Brockschmidt, the author of calc.exe and the famous (and infamous : )
”Inside OLE,” has been a part of the
“Oslo” community team for a while and is now
blogging in the way that only he can. He’s building some samples as he explores the feet on the ground experience and you should check it out. Enjoy!
September 2, 2009
oslofeaturedcontent
Amanda Laucher on Using Oslo for DSLs
Amanda Laucher talks about Oslo and its tools, Intellipad, m.exe and mg.exe - the
“M” compilers - and how they can be used to create a
DSL. She demonstrates the creation of a demo
DSL in Oslo, and she does it in a very approachable way. [ed: Quadrant is available with
the May CTP.]
July 24, 2009
oslofeaturedcontent
SQL Script to Uninstall an “M” Image
“In the May CTP bits, we started working on parts of uninstall support for schema created by an image, but didn’t expose it as a user-visible feature as we will in future CTPs. So if you want to get your hands on this functionality right now, give this SQL script a try. This creates a stored procedure creatively named ‘Uninstall,’ which takes one argument, the id of the image to uninstall which can be obtained from the [Language.Catalog.Runtime].[Images] table.”
July 9, 2009
oslofeaturedcontent
Telerik Ships Alpha “M”-Based Comparison Tool
Imagine you’ve shipped v1 of your database applications against a schema created from “M”. Now, you’re about to ship the v2 of your database, but what about the v1 clients? Are the tables and views exposed from your database backward compatible or are you going to break those existing clients? How do you even find out?
Well, wonder no more! Telerik has shipped the alpha of their “Oslo” comparison tool, which can compare v1 of your “M” source code against v2 to see what’s changed and whether that’s going to break your v1 clients. And as if that weren’t enough, they’re working on another version of the tool that will create scripts so that you can migrate your v1 data to v2 after you’re satisfied that your v1 clients will continue to work.
And the best part? It’s all free! Download yours today.
July 8, 2009
oslofeaturedcontent
Telerik Does LINQ to “M”
Stephen Forte and Mehfuz (who, like Prince and Cher, needs no last name), have built LINQ to “M”, which means that if you’ve got “M” source code like this (shown in a C# string variable for loading convenience):
string MGraphCode =
@"{{Name=""Stephen Forte"", Age=37}, ... }";
and a C# type like this:
public class Person {
public string Name { get; set; }
public int Age { get; set; }
}
then you can load the “M” source and run LINQ queries against it:
var persons =
QueryContext.Instance.Load<Person>(MGraphCode);
var result =
from person in persons
where person.Age == 37 &&
person.Name == "Stephen Forte"
orderby person.Name ascending
select person;
Enjoy!
July 7, 2009
oslofeaturedcontent
Part 3 of Dana’s End-to-End “Oslo” Series: Quadrant
In
part 1 and
part 2 of his series,
Dana Kaufman, a Program Manager on the
“Oslo” team, used
“M” to model the schema for employee information and to create a domain-specific language (
DSL) for creating values of that schema. In
part 3, Dana shows how to navigate the schema and models in
“Quadrant,” the data visualization and manipulation tool of
“Oslo.” Enjoy!
June 24, 2009
oslofeaturedcontent
JavaScript implementation of “M”
Matthew Wilson is pushing
“M” into the land of browser client-side scripting with his partial (but growing!) JavaScript implementation, as seen in
his web 3-pane “M” grammar mode ala Intellipad. It’s work like this that could make
“M” a cross-platform solution for languages as well as data types and values. Good job, Matt!
June 23, 2009
oslofeaturedcontent
Deep Fried Bytes: Shawn Wildermuth on “Oslo”
Keith and Woody speak with the first repeat guest of the podcast, Shawn Wildermuth about Oslo and the M language. In this episode listeners will get some real world examples and use cases for using Oslo and M along with a clearer understanding about DSLs and what the future may hold.
Be warned, this podcast uses the phrase “bowled shrimp.” : )
June 4, 2009
oslofeaturedcontent
Actipro’s SyntaxEditor Adds Support for “Oslo”!
Do you like Intellipad so much that you want to host it? If so, than you need
Actipro’s SyntaxEditor, which is not only a kick-butt syntax highlighting editor, but can be completely driven by an
“Oslo” language definition in a .mg file. The demo is free and one of the samples is a fun little Intellipad clone.
Check it out!
May 29, 2009
oslofeaturedcontent
MGDisplay: Visualize Parsed “Oslo” Grammars
I love our customers. They do things like take our bits and produce MGDisplay, a tool written by Ceyhun Ciper for visualizing the parse tree produced by parsing a DSL instance document with a “M” language definition. Enjoy!
May 5, 2009
oslofeaturedcontent
Dutch “Computable” Interviews Chris Sells on Oslo
The translation from Dutch is pretty good: “The better you can describe applications in models, the less code you need to write and the more transparency you provide to developers and others.” Computable spoke with Chris Sells. De programmamanager van de Connected Systems Divisie van Microsoft was in Nederland voor een Hot-or-Not lezing, georganiseerd door Sioux. The program manager of the Connected Systems Division of Microsoft in the Netherlands for a Hot-or-Not reading, organized by Sioux.
But they chose the strangest picture…
May 3, 2009
oslofeaturedcontent
Joel Spolsky talks about Wasabi: His FogBugz DSL
In Scott Hanselman’s April 2009 podcast,
Visiting Fog Creek Software and Joel Spolsky, Joel talks about
Wasabi, FogCreek’s VBScript compiler, and he talks about it really being a subset of VBScript used specifically for bringing
FogBugz to Unix and the
CLR. In fact, it’s a VBScript compiler built specifically to compile a single application, doing things like making the 5% of ADO.NET they use cross-platform. And just in case the point isn’t completely obvious, Joel and Scott draw the conclusion for us: Wasabi is the domain-specific language just for FogBugz. Just another
DSL in nature.
April 17, 2009
oslofeaturedcontent
CodeCast: Oslo and M with Paul Vick
Here. Our own
Paul Vick is on CodeCast: The Late Night Show for .
NET Developers, with your hosts Ken Levy, Gary Short, and Markus Egger. Enjoy!
April 1, 2009
oslofeaturedcontent
Real-World Credit Card Validation Rules w/ “Oslo”
This is
a wonderful article on the use of an
“M” grammar to parse a set of rules specific to credit card validation and then parse those rules at run-time to drive a framework for doing the validation itself. The article does a marvelous job of motivating the use of a custom
DSL for construction and validation by non-engineers and then lays out the entire grammar and C# loader code. Recommended.
March 23, 2009
oslofeaturedcontent
Watch the Oslo Mix ’09 Talk: Developing RESTful Services and Clients with “M”
Here. Learn how Web developers can use
“M”, a new language for describing data, metadata and domain specific languages, to enhance RESTful services like
HTTP,
JSON, RSS/Atom, and more. Also see how
“M” can be used on premise or in the cloud to achieve greater development productivity and to create more compelling customer experiences. Speakers: Douglas Purdy & Chris Sells
March 18, 2009
oslofeaturedcontent
Don’t Miss Doug and Chris Doing Their Mix ’09 Talk Oslo-Style
Here. Doug Purdy and Chris Sells will be giving their Mix
’09 talk on Friday, March 20th at 9am in San Polo 3501. Doug will be talking about RESTful services and clients using
“M”, the language of
“Oslo”. Chris will be typing furiously trying to keep up. Come one, come all! Plus, free hugs from Doug to anyone that mentions this post!
February 18, 2009
oslofeaturedcontent
Mix09: Developing RESTful Services & Clients w/ M
Doug Purdy and I will be giving an “M” talk about web stuff at this year’s Mix:
Learn how Web developers can use “M”, a new language for describing data, metadata and domain specific languages, to enhance RESTful services like HTTP, JSON, RSS/Atom, and more. Also see how “M” can be used on premise or in the cloud to achieve greater development productivity and to create more compelling customer experiences.
Come one, come all!