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, 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!
Thursday, Dec 18, 2008, 5:15 PM in Conference
Lang.NET + DSL DevCon = Joy
This year, we’re thinking very hard about putting the Lang.NET conference and the DSL DevCon at the same venue (the research center on the Microsoft Redmond campus) in the same week. The idea is that people interested in general-purpose language design and development can come to Lang.NET and the people interested in domain-specific languages can come to the DSL DevCon and for folks interested in both, the DSL DevCon will start right after Lang.NET, so folks can stay a little longer and come to both. Also, the conference chairs on both conferences will make sure to keep the content unique across the two conferences.
We think that’s a good way to make sure the conferences complement each other and helps keep people’s schedules sane and their travel costs lower. However, I have two questions for you:
1. Traditionally, Lang.NET is 3 days and a DevCon is 2 days. Because of the overlap of the content (languages), we were wondering if folks thought it would be a good idea to do 2.5 days of Lang.NET and 1.5 days of DSL DevCon this year instead, doing both conferences in 4 days instead of 5. What do you think?
2. If we linked these two events like this, will you attend just Lang.NET, just DSL DevCon or both?
Post your comments on this blog entry. Vote early, vote often!
Tuesday, Dec 16, 2008, 8:59 AM in Fun
The Poker Brat
You may or may not know it, but I'm a big poker fan. For a while, I thought about quitting my job and being a Texas Holdem poker player. I've studied a stack of poker books and every once in a while, I get to be at a table when there's a "moment" -- somebody gets cocky and gets beat in just the way they deserve. I've been the cocky guy and I've been the guy that does the beating. Here's an example with poker brat Phil Hellmuth of what I'm talking about:
URL: http://www.youtube.com/watch?v=99-jcla0MHc&feature=related
I love seeing Phil get trounced here, but the only thing that makes me wonder is, why is Dragomir so upset? I can't help but gloat when I get to beat someone like that. : )
From Anne Dempsey,
pokerlistings.com
Tue 12/16/2008 8:59 AM
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, 6:44 PM in The Spout
tvrss.net + uTorrent + FiOS + WHS + 360 = DVR Bliss
So, the other day, Windows XP SP2 destroyed my Windows Media Center Edition install that I've been using for years and absolutely loved. It let me record all my favorite shows on two separate tuners and I could watch them on the TV attached to my MCE box, from all the PCs in my house and from my XBOX 360. Losing it was a huge blow, especially since it was clear I'd need to repave and I was swamped with PDC and post-PDC work (damn those MSDN Magazine deadlines!).
A little research revealed the following facts:
- tvrss.net provides RSS feeds of every TV show I've ever heard of, whether it's on normal TV, cable or a premium channel like HBO and Showtime. The shows are available in HD with the commercials pre-edited out, so I wouldn't even have to do the 30-second fast-forward, 5-second rewind dance that MCE enables to skip them.
- uTorrent provides automatic downloads from RSS feeds, including fancy features like only downloading each new episode once, even if it's provided from multiple sources.
- My Verison FiOS pipe provides 20MBps downloads, so a 22 minute TV program (30 minutes - 8 minutes of commercials) even at HD would only take about 20 minutes to download, on average.
- My $500 Windows Home Server machine has 1.4TB of storage, so your average 22-minute sitcom, at 180MB, is only a tiny fraction of the storage. Put another way, I could store about 4000 hours of TV.
- My XBOX 360 supports the same format (XVID) that TV shows available from tvrss.net seem to be provided in. Further, my 360 has direct support from playing videos from shares on my home network (which is wired for 1GB Ethernet, but only run by a 100MB Ethernet router right now).
- The XVID codec is available, along with a ton of other useful codecs, from free-codecs.com (I'm partial to the K-Lite Codec Pack myself), which means that any videos that I download in XVID format can be played back on any PC in my house. Those PCs running Vista Ultimate that have a Media Center remote control on them can surf to videos on the network and pick them with an experience just like that of my XBOX 360.
- It's my understanding that the XBOX 360 menuing system will be updated this month to support Netflix streaming, so for the minimum subscription fee (1 DVD at a time, $8/month), I'll be able to get live, streaming movies directly from my XBOX 360 and all my PCs for the movies I don't yet own.
All of this means is that if I were to schedule episodes of say, Burn Notice, to be recorded by uTorrent and dropped into the Videos\TV\Burn Notice folder of my WHS box, I'd be able to access those and play them back on my XBOX 360 even more simply then I could access video from my MCE box, because I don't have to start up the Media Center software first -- access to shared folders is built right into the XBOX 360 menuing system. And I could have all of this in HD (no CableCard required) without commercials and without regard for how many tuners I have. This is all free and, if I don't want to watch live TV (the Superbowl was the last time I did), then I don't even need to spend $55/month on cable.
Plus, when combined with my photos, music and ripped DVDs, all of which are also stored on my WHS box, and streaming movies I don't yet own, I could access all of my digital media from my XBOX 360 (attached to my 46" LCD panel) and from all of my PCs simply and quickly.
Of course, I would never record my favorite TV programs like this, because it's very much a copyright violation and therefore highly illegal.
But if I did, wow, it would rock...
Why do I need cable again?
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!
Tuesday, Nov 11, 2008, 10:55 AM in Oslo
Designing a language is hard; implementing it shouldn't be
Frans Bouma has an interesting point: Designing a language is hard, and M won't change that. And he's right.
For many domains, a DSL can make expressing what's important easier so that the developers using the DSLs can communicate between themselves and to a computer with fewer lines of code, making it easier to read, check and maintain. Many (arguably most) domains live without a DSL, instead encoding design decisions into general purpose languages, adding unnecessary ceremony to the essence of what's being decided, thereby obscuring it.
Does M making designing a language easier? No. It's still hard to design the syntax of a language. Does the M family of languages and the associated tools make it possible for more developers to add DSLs to their domains, letting them concentrate on the essence their language and reducing the Weird Science-like ceremony to bring it to life? We hope so. You'll have to let us know.
Tuesday, Nov 11, 2008, 10:42 AM in Oslo
More Oslo Reactions: What “Oslo” is and is not
Lars Corneliussen (not the wonderful Lars that did a cameo at the Repository & Schemas PDC talk about 8 minutes in) did a nice overview of Oslo. It's amazing to me how well the vision and details of the platform came through at the PDC. General-purpose modeling is a new thing for mainstream developers, but at least the developers that we've heard from so far seem to be open to the idea.