Morning Coffee 141 – Lang.NET ’08 Edition

header

I was hoping to blog my thoughts on Lang.NET as the event went along. Obviously, that didn’t happen, though I was pretty good about dumping links into my del.icio.us feed. The talks were all recorded, and should be up on the website in a week or two. Rather than provide a detailed summary of everything that happened, here are my highlights:

  • The coolest thing about conferences like this is what John Rose called “N3″ aka “Nerd-to-Nerd Networking”. It was great to meet in person, drink with and geek out with folks who’s blogs I read like Tomas Petricek, Wesner Moise and Larry O’Brien. Plus, I got to meet a bunch of other cool folks like Gilad Bracha, Stefan Wenig and Wez Furlong. That’s worth the price of admission (which was admittedly nothing) right there.
  • Coolest MSFT talk: Martin Maly “Targeting DLR”. I was wholly unaware that the DLR includes an entire compiler back end. Martin summarized the idea of DLR trees on his blog, but the short version is “you parse the language, DLR generates the code”. That’s pretty cool, and should dramatically lower the bar for language development. Of course, I want to write my parser in F#, so I’m going to port the DLR ToyScript sample to F#.
  • Runner-up, Coolest MSFT talk: Erik Meijer “Democratizing the Cloud with Volta”. Erik is a great speaker and he really set the tone of his session with the comment “Division by zero is the goal, not an error”. He was referring to an idea from The Change Function that user’s measure of success is a function of perceived crisis divided by perceived pain of adoption. Erik wants to drive that adoption pain to zero. It’s a laudable goal, but I remain unconvinced on Volta.
  • Coolest Non-MSFT talk: Gilad Bracha “Newspeak”. Newspeak is a new language from one of the co-authors of Java. It’s heavily smalltalk influenced, and runs on Squeak. He showed developing PEGs in Newspeak, and they were very compact and easy to read, easier even than F#. He calls them Executable grammar, and you can read his research paper or review his slides on the topic. Unfortunately, Newspeak isn’t generally available at this time.
  • Runner-up, Coolest Non-MSFT talk: Miguel de Icaza “Moonlight and Mono”. The talk was kinda all-over-the-place, but It’s great to see how far Mono has come. Second Life just started beta testing a Mono-based script runner for their LSL language (apparently, Mono breaks many LSL scripts because it runs them so fast). He also showed off Unity, a 3D game development tool, also running on Mono.
  • Resolver One is a product that bridges the gap between spreadsheets and applications, entirely written in IronPython (around 30,000 lines of app code and 110,000 lines of test code, all in IPy). Creating a spread-sheet based app development environment is one of those ideas that seems obvious in retrospect, at least to me. If you do any kind of complicated spreadsheet based analysis, you should check out their product.
  • If you’re a PowerShell user, you should check out PowerShell+. It’s a free console environment designed for PowerShell and a damn sight better than CMD.exe. If you’re not a PowerShell user, what the heck is wrong with you?
  • Other projects to take a deeper look at: C# Mixins and Cobra Language.
  • I thought my talk went pretty well. It’s was a 15 minute version of my Practical Parsing in F# series. Several folks were surprised I’ve been coding F# for less than a year.

Morning Coffee 138

  • In writers strike news, the WGA has made side deals with Worldwide Pants (aka Dave Letterman’s company), United Artists (aka Tom Cruise’s company) and The Weinstein Company (previously known as Miramax). The WGA strategy of divide and conquer seems to me making slow progress. Update: The Weinstein Company was founded by Miramax’s founders Harvey and Bob Weinstein after they left Miramax. But Miramax is still around. Thanks to GrantC for the correction.
  • They’re still two games under .500, but the Caps completed a season sweep of the Eastern Conference leading Ottawa Senators last night. They’re only 3 games out of the top spot in the (admittedly very weak) Southeast division
  • Big tech news today isn’t coming from MSFT-land. Sun is buying MySQL and Oracle is (finally) buying BEA. Both deals seem like pretty significant culture clashes, though Sun/MySQL seems like the better fit of the two.
  • There’s a new draft of Service Modeling Language 1.1 available. If you’ll recall, this used to be called the System Definition Model, part of the Dynamic Systems Initiative. Hadn’t heard anything from those folks in a while, good to see they’re making progress.
  • Stephan Tolksdorf dropped me a line to tell me he was able to “vastly simplify” FParsec, and as a result it now runs on the current version of F#. Awesome!
  • Speaking of F#, Scott Hanselman has a new F# podcast, this time interviewing Dustin Campbell. Check out all of Dustin’s F# posts.
  • I didn’t know about the “Copy as Path” feature in Vista. Why is it hidden?
  • I was a big fan of the WDS deskbar shortcut feature – a feature that is missing in Vista. Enter Start++ by Brandon Paddock, which adds shortcuts to Vista’s search box. It also supports “iPhone apps” and scripting. But JScript? Where’s the PowerShell love, Brandon?
  • EA released the source code to the original SimCity under the GPL. Bil Simser is digging into the code and it looks like he’s going to port it to XNA. (via Ozymandias)
  • Wes Haggard has published the source code to CodeHTMLer on CodePlex. He took two updates from me: the F# language definition as well as the ability to choose the font when not using PRE tags.

Morning Coffee 133

  • I’ve been off for two weeks, so getting back into “the swing” of things will probably take a day or two – both at work and on my blog. Hope everyone had a happy holiday season.
  • I ended the year with 245 blog posts, which wasn’t quite as many as either of my first two years blogging, but was much more than I had been writing for the last two years.
  • It was a Zune Xmas in the Pierson house. I got a pink Zune for my wife, and my mother and father got Zunes for each other. I got to load them all up with content for Xmas morning. Maybe I’m just used to WMP, but I’m not a huge fan of the Zune software. Yes, it’s very pretty but it’s missing some fairly basic features like automatic down-sampling lossless music. On the other hand, the on-device experience rocks and my wife is using her Zune regularly. I’ve got a trip to England coming up in April, and I’m thinking about getting one of the new 80GB ones for the trip.
  • They lost any chance of playing for the national championship, but USC sure looked like a champion yesterday. Seems appropriate for this crazy college football season that if Ohio State doesn’t win big, pretty much all the other BCS bowl winners with a legitimate argument to be #1.
  • The Caps beat the eastern-conference leading Senators yesterday for the third time this season and the second time in four days. They have 13 points in the last ten games and 10-5-4 since Boudreau took over as coach. If they keep that pace up, they would likely make the playoffs – that would be quite a feat given their horrific start.
  • Speaking of hockey, I watched most of the Winter Classic yesterday, including the game-winning shootout goal by the Anointed One. It was really strange but cool to watch a hockey game between snowflakes. I agree with Scott Burnside’s take that these outdoor games are good for the league, but shouldn’t be a regular part of the season.
  • I finished Portal yesterday – that’s a fantastic game. I also got Mass Effect, so now I need to decide which to take on first: that or Half-Life 2.
  • A few months ago, I was thinking about using HomePlug for home networking but decided to upgrade my wireless network instead. But recently I’ve started streaming movies from my loft computer to my Xbox, and the wireless network isn’t always up to the task. I could run CAT5, but there’s already an unused coax cable running up to the loft and I wondered if I could just use that? I discovered the Multimedia over Coax Alliance, but none of their certified products appear to be available. Those products have to share the home coax network with the cable company, but I can dedicate my coax cable. Anyone know a way to use coax to bridge CAT5 networks? Even something DIY?

Blogging F# Code

I’m going to start posting about my F# parsing code soon. Obviously, I’ll make the code directly available, but I’m also going to be writing about it quite a bit. Since I’ll be posting lots of F# code snippets, I took the time to build an F# language syntax definition for CodeHTMLer. Of all the various WL Writer Insert Code plug-ins, CodeHTMLer is my favorite because it can be configured not to use <pre> tags, which many RSS readers handle poorly (in my experience).

In case anyone else wants it, I’ve stuck the CodeHTMLer F# language definition up on my SkyDrive. If you using the CodeHTMLer WL Writer Plug-in, you can easily add this to your machine. Once you’ve installed CodeHTMLer and run it once, go to the command line and type cd %appdata%WindowsLiveWriter and you’ll find the LanguageDefinitions.xml file. Edit that file to insert the add the contents of my F# language definition after the <CodeLanguages> tag and you’re all set.

BTW, the first language in the file will be the default language in the plug-in, so if you’re an occasional F# user, you might want to add the F# definition to the end rather than the beginning of the file. If you don’t want to further edit the XML file manually, you can select “Edit Languages” in the plug-in and edit the order of the languages to your heart’s content.

Morning Coffee 128

  • After using Outlook 2007 as my RSS reader for a few months, I’ve gone back to RSS Bandit. I run two work machines (desktop + laptop) and I finally got tired duplicated blog entries because each copy of Outlook downloads the same post. Also, for some reason Outlook downloads the same Technorati posts over and over again.
  • ADO.NET Entity Framework Beta 3 was released. The latest CTP of the EF Tools is also available. And as per the press release, EF has gained support from “Core Lab, DataDirect Technologies, Firebird Foundation Inc., IBM Corp., MySQL AB, Npgsql , OpenLink Software Inc., Phoenix Software International, Sybase Inc. and VistaDB Software Inc”. I’m not sure what that means, exactly, but I guess you’ll be able to LINQ to Entities on a wide variety of DB platforms. Interesting Oracle isn’t on that list. Not really surprising, but interesting.
  • Here’s a new ASP.NET MVC article from Scott Guthrie, this one on views and how you pass data to one from a controller. Using generics to get strongly-typed ViewData is pretty sweet. But where’s the MVC CTP that was supposed to be here this week?
  • In news about web app tool previews that did ship this week, Live Labs announces Volta. Haven’t installed or played with it yet, but I did read the fundamentals page. It primarily looks like a tool to compile MSIL -> JavaScript, so you can write your code in C# but execute it in the browser. Sam and Jesus are excited, Arnon not so much. Arnon’s argument that being able to postponing architectural decisions is to good to be true is fairly compelling, and not just because he quotes me to support his argument. But I’ll download it and provide further comment after I experiment with it myself.
  • Simple Sharing Extensions is now FeedSync. Not sure what else is new about it, other than it’s been blessed with “1.0″ status. The Live FeedSync Dev Center has an introduction, a tutorial and the spec. (via LiveSide)
  • Dare likes tuples. Me too. I also like symbols.