You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.
Tuesday, Dec 30, 2008, 4:47 PM in Oslo
Martin Fowler: DslExceptionalism
I love what Martin has to say on the topic of designing DSLs:
"DSLs are seen as a small and simple subset of general purpose programming thinking. As a result people think that what's true for general purpose languages is also true for DSLs (with the implication that DSLs are too small to be worth thinking much about).
"I'm increasingly of the opposite conclusion. The rules for DSLs are different to the rules for general purpose languages - and this applies on multiple dimensions."
When you're ready, Oslo lets you build DSLs to be as simple or as complex as you like.
Tuesday, Dec 30, 2008, 4:41 PM in Oslo
Spirited Discusson of Oslo on stackoverflow.com
Joel Spolsky and friends have started a developer question/answer board and they've started to get some Oslo traffic. Jump on in; the water's fine.
Tuesday, Dec 30, 2008, 4:39 PM in Oslo
Jon Flanders Builds XLANG in MGrammar
It's cool to see an MGrammar for a real-world language (XLANG). Enjoy!
Tuesday, Dec 30, 2008, 4:37 PM in Oslo
Creating a Logo / Turtle Graphics Textual DSL using Oslo MGrammar
Jason Hogg has posted a very cool Oslo DSL and an interpretter for doing Logo Turtle Graphics. He had this to say about MGrammar:
I did the bulk of the work specifying the grammar for this simple version of Logo on the flight back from LA to Seattle - which should give you a sense of how intuitive Mg is - and how productive the Intellipad authoring experience is.
Thanks, Jason. We try!
Tuesday, Dec 30, 2008, 4:31 PM in Oslo
Shawn Wildermuth on Oslo
Shawn's been doing a bunch of Oslo work on his web site:
- Using Classifications in MGrammar's Intellipad in which Shawn talks about how to add syntax highlighting in Intellipad for instances of your custom MGrammars
- MSchema: An Example - Part 1 in which Shawn takes us through the design decisions he made in rebuilding his training company's database using M
- MSchema: An Example - Part 2
- MSchema: An Example - Part 3
Enjoy.
Tuesday, Dec 30, 2008, 10:41 AM in Oslo
Jeffrey Juday Exploring the Oslo Repository
Jeffrey has a nice hands on intro to Oslo focusing on the Repository:
Oslo is Microsoft's model-driven future. The Repository is one of the many architectural components debuting in the Oslo SDK. M is the Oslo model building language. M is translated to TSQL and the resulting Data Definitions create tables and views in the Oslo Repository.
Check it out!
Tuesday, Dec 30, 2008, 9:31 AM in Oslo
Erik Stepp provides the question for Oslo's "42"
I'm just catching up a little after one set of holidays and before another one on Wednesday and I noticed Erik Stepp's blog post entitled "Oslo == 42" in my inbox. In his post, he provides a lovely discussion of what Oslo is and why we built it, giving us a concrete example from his own development life. He got it pretty much dead on. Check it out.
Monday, Dec 22, 2008, 4:57 PM in Oslo
Parsing relative and absolute dates with MGrammar
Dilip Krishnan has built a lovely little date parser that supports absolute dates like "6/2/1969" (just like DateTime.Parse already supports today) and relative dates like "today" or "next Monday" or "5 days from today". I find myself using relative date expressions like these all the time in Outlook and I've love to have them in every app I use that does dates. With Dilip's parser and the Oslo SDK, you can add it to your app. Good work, Dilip!
Monday, Dec 22, 2008, 3:50 PM in Oslo
If you liked Zork, you'll love Spork!
Spork is a sample of an end-to-end application using M and the Repository. It starts by defining a set of M types that describe the data needed for a text adventure along the lines of the famous Infocom game Zork (and hence the corporate bad-café-inspired name). The M instances are generated by running a custom compiler developed with the VBA (Visual Basic for Adventures) MGrammar grammar. We also provide a runtime driven by adventure data loaded into the Repository in multiple versions of the types called AdvRunner.
Follow along with the video or with the ReadMe see Spork in action. Enjoy!
Wednesday, Dec 10, 2008, 6:40 AM in Oslo
Notation, Notation, Notation!
Markus Völter has posted some interesting model-driven design guidelines, my favorite of which is "notation, notation, notation!" Since Of course, since Oslo provides MGrammar to let you build the notation of your choice, I'm hardly unbiased. : )
Tuesday, Dec 9, 2008, 10:46 PM in Oslo
.NET Rocks! Oslo is Love
COM spread the love between developers of multiple languages.
Oslo spreads the love between domain experts, developers and IT folks.
Check out show #401 of .NET Rocks for the how and the why. Enjoy.
Sunday, Nov 16, 2008, 1:23 PM in Oslo
Mr. Epl on the brain
I've been writing my MSDN Magazine pieces introducing Oslo and spending a great deal of time in Mr. Epl mode inside Intellipad. So, at 1:23p on a Sundary afternoon, I'm getting a little loopy, which is manifesting itself as me repeating famous lines from popular culture, only substituting Mr. Epl's name, e.g.
"Mr. Epl, I am your father."
"Oh, Mr. Epl, I can't pay the rent!" "You must pay the rent." "I can't pay the rent!"
"Help me, Mr. Epl. You're my only hope!"
"Mr. Epl, Mr. Epl, it hurts when I do that!" "Don't do that."
Did I mention I'm doing the voices, too?
Saturday, Nov 15, 2008, 9:50 AM in Oslo
SpankyJ is an Oslo Star!
SpankyJ (Josh Williams) is a star developer on the Oslo team (specifically the MSchema compiler) and he's been doing some very cool stuff with M.
Firstly, Spanky's the author of the Mr. Epl tool, which is a Read-Evaluate-Print-Loop program for interacting with M (M-REPL => Mr. Epl -- cute, eh? When we used to call "M" "D", it used to be Dr. Epl. If we change it to "S", we'll Senór Epl! : ). Mr. Epl ships with the Oslo SDK, so if you've installed it, you can find it in C:\Program Files\Microsoft Oslo SDK 1.0\Bin\Intellipad\Samples\Microsoft.Intellipad.Scripting.M\MREPL.exe or you can execute it directly inside of Intellipad with the MScriptMode mode.
For a demonstration (and an explanation of how to get MScriptMode working in Intellipad), Spanky has recorded a very nice Mr. Epl screencast. Highly recommended.
Secondly, Spanky has just released a library for taking the output of MGrammar and producing a graph of .NET objects via XAML. He's got a nice screencast of using it to create something simple to give you a feel, then he moves right into a natural language processor for creating WPF windows and controls interactively. The ability to type text that translated into WPF without using angle brackets demonstrates the potential for DSLs very well, I think.
A few notes when watching Spanky's screencasts:
- He has slowed himself down considerably to be clear and understandable and he's done a good job. If you'd like to hear what he sounds like in real life, run the screencast at 1.5x speed. : )
- He has a blinking red/green light in the taskbar -- what *is* that?!
- He's a dev that tells a story like a champ -- why the hell does my team even need PMs?
Anyone interested in Oslo should absolutely subscribe to Spanky's blog. I know I have.
Thursday, Nov 13, 2008, 8:10 AM in Oslo
Syntax Coloring for Your Custom Mg Language with Intellipad
Justin Bailey shows how to hook up custom syntax highlighting in Intellipad for your MGrammar language. Very cool!
Wednesday, Nov 12, 2008, 3:27 PM in Oslo
Rocky on Oslo
Rockford Lhotka had this to say about Oslo:
"The Oslo modeling tools are also interesting, though they are more future-looking. Realistically this idea of model-driven development will require a major shift in how our industry thinks about and approaches software development. Such a massive shift will take many years to occur, regardless of whether the technology is there to enable it. It is admirable that Microsoft is taking such a gamble - building a set of tools and technologies for something that might become acceptable to developers in the murky future. Their gamble will pay off if we collectively decide that the world of 3GL development really is at an end and that we need to move to higher levels of abstraction. Of course we could decide to stick with what has (and hasn't) worked for 30+ years, in which case modeling tools will go the way of CASE.
"But even if some of the really forward-looking modeling ideas never become palatable, many of the things Microsoft is doing to support modeling are immediately useful. Enhancements to Windows Workflow are a prime example, as is the M language. I've hard a hard time getting excited about WF, because it has felt like a graphical way to do FORTRAN. But some of the enhancements to WF directly address my primary concerns, and I can see myself getting much more interested in WF in the relatively near future. And the ability of the M language to define other languages (create DSLs), where I can create my own output generator to create whatever I need - now that is really, really cool!
"Once I get done with my book and all my fall travel, you can bet I'll be exploring the use of M to create a specialized language to simplify the creation of CSLA .NET business classes : )"
Rocky on, Rocky!