Morning Coffee 166

Yes, I realize it’s been a while. I tried in vain to catch up with my blog reading after my Hawaii vacation and finally just gave up and hit “mark all as read”.

Dynamic Languages

  • There’s a new version of the DLR hosting spec available (doc, pdf). The DLR implementation is still in motion, so there are some inconsistencies between the spec and the code, but the spec should give you the high level overview you need if you want to host DLR languages inside your app.
  • Oleg Tkachenko recently joined the dynamic languages team. He’s the creator of the Interactive IronRuby Web Shell, an IronRuby version of Try Ruby. Of course, it’s not as cool as using SL2to execute the code directly in the browser. Michael Foord has his Python in the Browser and my teammates John and Jimmy demoed a Silverlight version of Try Ruby @ TechEd.
  • Jim Deville, also of the dynamic languages team, recently started blogging.
  • I have a new boss, Dave Remy. He doesn’t have a blog – yet – but you can follow him on Twitter as daveremy. When Twitter is actually working that is.
  • There’s a new homepage/wiki for IronRuby though I’m not sure why there’s a picture of Matz wearing a Python shirt on the home page.
  • My teammate Jimmy Schementi provides some “continued hope” for a better (heck, I’ll take current) ASP.NET and ASP.NET MVC story for DLR languages.
  • Via Michael Foord, sounds like IronClad is making good progress. V0.4 can run the bz2 module “in its entirity” (maybe run a spellcheck on your site, guys?) and now apparently, it’s now able to load numpy.core. Very exciting!

Other Stuff

  • Pat Helland, who has blogged even less than me for the past few months, has a post up about controller and doers in the IT department. After 18 months in MSIT, put me in the doer camp, please.
  • The F# team has pushed out a spec for v1.9.4 of the language. Don Syme says it’s not official, but it’s a huge improvement over the old informal spec
  • Speaking of F#, my friend Matthew Podwysocki recently published FsTest, a testing DSL for F#. I wrote about F# unit testing as part of my PEG parsing series, and I really like the direction Matthew has taken this project. You can pull it down from CodePlex.
  • When I did my PEG talk @ Lang.NET, Gilad Bracha mentioned I should check out oMeta. It looks really cool, though with the job change I haven’t had the time to play with it. Now I discover that Jeff Moser is working on a version for CLR called oMeta# that I’ve got to spend some time with. And in the comments to that post, I discovered pyMeta from Allen Short, though it apparently doesn’t work on IronPython (must investigate why).
  • James Kovacs introduces psake, a PowerShell based build automation tool which uses a rake-inspired internal DSL syntax similar to one I blogged last year. I’d love to see this take off, but given MSBuild’s tool integration, I wonder if that’s feasible.
  • I upgraded my home wireless network almost exactly a year ago. I’ve been happy with the range and coverage, but not so happy with the Buffalo Tech firmware. The built-in DHCP server is pretty flaky. So I upgraded to the open-source Tomato firmware. Upgrade was smooth, though I did need to reset my cable modem. But even that was smooth – Comcast has an automated service for that now,

Programming Languages @ PDC08

The PDC folks pushed out a bunch of new sessions yesterday, including a bunch from my part of DevDiv. You can see the full list of sessions that have been published (so far) at the PDC site.

An Introduction to F#
Learn about Microsoft’s new language, F#, a typed functional programming language for the .NET Framework. F# combines functional programming with the runtime support, libraries, tools, and object model of .Net. Understand how F# asynchronous workflows help tame the complexity of parallel and asynchronous I/O programming and how to use F# in conjunction with tools such as Parallel Extensions for .NET.

Deep Dive: Dynamic Languages in .NET
The CLR has great support for dynamic languages like IronPython. Learn how the new Dynamic Language Runtime (DLR) adds a shared dynamic type system, a standard hosting model, and support for generating fast dynamic code. Hear how these features enable languages that use the DLR to share code with other dynamic and static languages like VB.NET and C#.

Future Directions for Visual Basic
Come learn about the new capabilities in the next version of the language, including: extensions to LINQ, syntax simplifications, and improvements to the IDE. We’ll provide insight into the direction of the language, including dynamic binding, meta-programming, and scripting.

The Future of C#
In this talk Microsoft Technical fellow and C# Chief Architect Anders Hejlsberg outlines the future of C#. He will describe the many forces that influence and shape the future of programming languages and explain how they fit into C#.

Visual C++: 10 is the New 6
Get more done. The next version of Visual C++ is all about improving developer productivity for large-scale applications. Learn about the IntelliSense and browsing experiences, changes to the project and build system, project-less browsing, collaboration through remote symbol indexing, and custom visualization of symbolic information.

Morning Coffee – Post Vacation Edition

It’s been exactly a month since my last post. A crazy month, hence the lack of blog posting around here. Sorry about that. My wife has been much more regular in her blogging than I have of late – she’s posted a dozen times since my last entry.

Since I’m so far behind on blog reading, and email, and work, and pretty much everything, this is going to be a slightly different Morning Coffee – more forward looking than backwards. Back to normal Morning Coffee posts in a day or so.

  • Hawaii was awesome. I was going to post a trip summary, but my wife beat me to the punch. My personal favorite part was the air tour, but frankly it was all good.
  • I hear the weather in Seattle was awful while I was gone. My wife’s best friend called it “Juneuary”. However, the weather since we got back has been pretty awesome. I take full credit for bringing the good weather to Seattle from Hawaii. 😄
  • I was in Amsterdam for work and I didn’t have my family with me, but it was pretty good all the same. My good friend Matt lives in Amsterdam full time, so I got to spend a lot of time with him. I also discovered that I have a new favorite beer – Kwak.
  • I’m sure you’re aware of these, but I should post the links anyway: IronRuby on Rails, IronPython Beta 3, Silverlight 2 Beta 2, Silverlight Dynamic Languages SDK Beta 2, ASP.NET MVC Preview 3.
  • I have 419 mails in my inbox – and I’ve been fairly diligent about deleting stuff that I didn’t need to keep even on vacation. That’s about 400 more than I’d like to have in there. Most of today will be spent digging out my inbox. Small miracle: I have nothing currently on my calendar for today.
  • I’m one of the content owners for PDC08. After getting my inbox cleaned up, my #1 priority is to see where we are on PDC planning. I have a feeling that’s going to take up the majority of my time for the next couple of weeks.
  • I mentioned above that we shipped the latest beta of IronPython while I was away. As you can imagine, there’s a bunch of PM work to be done as we get down to the release of IPy 2.0 (sometime this fall) as well as early work on the next version of IPy.
  • Outside of work, I’ve got a lot of writing to do. I’m finishing up an article on IPy and starting to really hunker down on a book that I’m writing.

DevHawk World Tour 2008

As expected, my new role is going to involve much more travel than my old role. Here’s a list of all the places I’m going / have been this year. I’ll be updating this post periodically as I get tapped for more presentations. There are several other conferences I’m considering, submitting sessions for, in discussions with, but these are the ones that are confirmed.

dutchdevdays

DevDays 2008
May 22nd – 23rd, Amsterdam, The Netherlands

This is a kinda last minute pickup. My boss was originally scheduled to do this. Or should I say, my ex-boss? (I’ve been here less than two months and already scared off my boss! 😄 I’m doing two talks, but I only have the abstract for one of them.

DEV315 – “IronPython” and Dynamic Languages on .NET
“IronPython” is the codename for a new implementation of the Python programming language on the .NET Framework. IronPython is fast—in fact, up to 1.8 times faster than Python-2.4 on the standard pystone benchmark. It supports an interactive interpreter with fully dynamic compilation as well as static compilation to produce pre-compiled executables. It’s well integrated with the rest of the framework and makes all .NET libraries easily available to Python programmers. This session shows how IronPython brings the power of .NET to Python and the power of Python to .NET. At OSCON 2004, the first public release of IronPython was announced. This session demonstrates the latest IronPython version in a range of situations from using GUI frameworks to driving Microsoft Office applications to working with a variety of external libraries. We also discuss other scripting languages on .NET.

I’m also going to do a talk on Dynamic Languages in Web Development, focused on Silverlight and ASP.NET. I got asked to do a second session at the last minute (technically, later than the last minute) so this one has no abstract.

teched

TechEd New Zealand and Australia
Sept 1st – 5th, Auckland, New Zealand and Sydney, Australia

I did TechEd NZ & Australia back in 2004 and had a blast, so I’m looking forward to coming back this year. Content isn’t locked down yet, but I’m looking to do both a dynamic languages session as well as an architecture session. There’s also rumor of a web futures panel discussion that I’ll be participating in.

PDC

PDC08
Oct 27th – 30th, Los Angeles, California

I’m not doing a session, but I’m helping drive PDC content for my group, so I’m assuming I’ll be at the conference in some capacity. I’m thinking we need a dynamic language open space session.

patterns & practices Summit 2008
Nov 3rd-7th, Redmond, Washington

I really enjoy p&p Summit because Keith lets me experiment with somewhat off the wall sessions like “Developer 2.0” and “Moving Beyond Industrial Software”. Frankly, I have NO idea what I’m going to do at this years’ Summit, but I’m looking to stay outside the box like I have in the past.

Debugging IronPython Code in Visual Studio

In case I’m not the last person on the planet to figure this out…

  1. In VS, click on File->Open->Project/Solution or press Ctl-Shift-O
  2. Select ipy.exe from wherever you put it
  3. Right click ipy.exe in Solution Explorer and select Properties
  4. In the Command Arguments box, type “-D” (to generate debug code) and the full path to the script you want to execute. If you want to drop into interactive mode after the script executes, also include a “-i”
  5. Open the script you specified in step 4 and place breakpoints as usual
  6. Run via Debug->Start Debugging or press F5

Thanks Srivatsn for helping me out with this.