November 13, 2008 Oslo

Syntax Coloring for Your Custom Mg Language with Intellipad

November 12, 2008 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?

November 12, 2008 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!

November 11, 2008 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.

November 11, 2008 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.
November 11, 2008 Oslo

Ted Neward Explores M

When I was an external to Microsoft, I used to see new Microsoft technologies and have several reactions: wonder, awe, lust, hate, confusion, apathy. Really, Microsoft was a harsh mistress that caused all kinds of reactions.

I’ve been heads down for 3.5 years working on Oslo, so seeing other peoples’ opinions from inside of Microsoft is very enlightening. Ted Neward has an Oslo opinion that I enjoyed reading, even if it wasn’t all positive. Thanks, Ted.

November 11, 2008 Oslo

News: How modeling will change programming

Burley Kawasaki is a Microsoft marketing person, it's true, but he also really understands the point of Oslo. Enjoy.
November 11, 2008 Oslo

Three-Pane MGrammar Development in Intellipad

Roger Alsing has posted a discussion of how Intellipad’s support for MGrammar development makes writing DSLs easier but showing you what parsers and how as you update the input file and the grammar file itself.

Personally, I’m a huge fan of seeing something work as I type. Think of it as “holistic intellsense.“ The SQL generation in Intellipad works the exact same way. I find it a huge help.


← Newer Entries Older Entries →