January, 2008

  • Kirill Osenkov

    Seattle CodeCamp


    I attended Seattle CodeCamp this past weekend. I guess this is one of the advantages of living in Redmond that you have all kinds of geek events interesting events happening in 10 minutes' drive away from my home.

    I liked CodeCamp a lot, all of the presentations I visited were interesting. The average amount of people in a talk ranged from 7-8 to 50-60. Here are the highlights that I had a chance to visit.

    Day 1

    • Reflector and Friends: An overview of Lutz Roeder's .Net Reflector and its add-ins - a nice overview by Jason Haley, of the reflector itself as well as its many plugins.
    • Scala - I've never taken a look at Scala before and I liked this presentation a lot. The speaker, Ted Neward, is a genius of presentation. I can't remember enjoying a technical presentation so much in the recent times. Besides, Ted is very competent and has incredibly broad interests. I don't know how he managed to squeeze a pretty decent coverage of Scala features into one hour. Scala itself is an interesting language. I think Scala to Java is what F# and Nemerle are to C#. I've seen especially a lot of similarities with Nemerle, ranging from being a strongly typed, functional, OO language to things like return value of a function is the last thing evaluated (no need to type the return keyword). Also, it has Traits/Mixins (what I was always interested in), return type covariance (yummy!), and a whole lot other goodies.
    • F# - same speaker, Ted Neward, also gave a great overview of F#. The internet is full with details about F#, so I won't try to repeat it here :) Interesting that the F# talk was highly popular, the room was full (about 50 people).
    • Then there was also a nice general talk about Silverlight and its place as a technology. Made me do a lot of philosophical thinking about browsers as a phenomenon.
    • And last, but not least, Walt Ritscher gave an excellent deep technical talk about WPF Data-binding. It is such a pleasure to listen to a presentation by a clear thinker who has a deep understanding of the subject matter. It all just makes sense and seems so natural. What else do I have to say. I love WPF and really admire its architecture. Finally Microsoft was the first to build something that the world has never seen before - and Microsoft implemented it the right way. The more I learn about WPF the more I say to myself: "yes, yes, that's how it's supposed to be". Also, the talk itself was also densely attended and we all stayed till 6:30 pm (Saturday evening!) although the official end was at 6 pm.

    Day 2

    • LINQ Overview - Charlie Calvert gave a great overview of LINQ and different providers. It went very well and was as always pleasant to watch. Although LINQ gets really a lot of traction on the internet nowadays, Charlie managed to give a fresh, clear and inspiring presentation. I have to say, LINQ is a revolution. I'm proud to be a part of the team who built it (although they built it before I joined so I can't take credit for it :)
    • Static Analysis - this talk was basically what I came for. Wesner Moise was demoing NStatic, a software he is building, basically a bug finder that heavily employs artificial intelligence methods to, say, catch NullReferenceExceptions at compile time. I deeply share Wesner's vision that tools need to have a deeper understanging of source code. For example, NStatic uses algebraic methods to infer semantical information about possible variable ranges (it can infer and prove that a variable will have a given value or fall within a given range at runtime). But it's really difficult to explain without actually listening to the presentation. I was very impressed by what NStatic can do and looking forward to play with the released version.
      For me meeting Wesner and listening to his ideas and NStatic was also especially important for other reasons. In 2004, when I started working on a structured editor, I was inspired by Wesner's post Whidbey May Miss the Next Coding Revolution. Since then I am reading his blog and have gained a lot of appreciation for his creativity and talent. I myself don't have any significant impact whatsoever (just gathering pebbles on the beach of the ocean of knowledge :), but I have a strong belief that there are a number of people on the planet (Charles Simonyi, Jonathan Edwards, Wesner Moise, Rob Grzywinski, Sergey Dmitriev, Maxim Kizub and some others) who are searching in the right direction. They will know what I'm talking about :) But I digress, pardon me :)
    • LINQ to XML - it's a pity I missed it. Erick Thompson was presenting XLinq, a new great API to work with XML from managed languages. I really like the XLinq API usability.
    • VSX: Extend Your Visual Studio Development Experience - this was the last talk I attended, where the VSX team was demoing considerable improvements to the Visual Studio extensibility story. It is much easier to extend Visual Studio now than it was before. You can use managed code to achieve your goals. It is still not perfect, but it is good to know that a great team is striving towards improving the Visual Studio extensibility experience.
  • Kirill Osenkov

    Welcome to my new place


    Hi all, it's me again. For those who don't know me, I'm a tester on the C# IDE team at Microsoft. I already had a blog outside (http://kirillosenkov.blogspot.com), but now I decided to move to blogs.msdn.com, for the sake of consistency with the rest of the team. If you were reading my old blog, you won't miss anything if you switch to this one.

    To give the rest of you an idea of what I blog about, here's the list of all my postings from the previous blog:

    As you can see, I'm interested in API design, language design, writing clean code, developer tools and architecture. Well, since this post already contains a lot of links, I'll go ahead and list even more random links that I find interesting. BTW I use del.icio.us to accumulate all of my links: http://del.icio.us/KirillOsenkov

    • Future Focus I: Dynamic Lookup - our own Charlie Calvert sheds the first light on the future features of C# 4.0, your feedback is much appreciated.
    • http://blogs.msdn.com/wesdyer/ - Wes, one of the most excellent technical bloggers I've ever read, started blogging again. I wanted to quote two of his latest posts, then three, then four... ah well, just go read them all! BTW Wes was interviewing me when I applied for a position in C#. I hope I wasn't too lame.
    • VSX Community Letter for January 2008 - if you want to extend Visual Studio
    • Another MindMapping Tool - I started learning WPF recently. When I first saw WPF, I realized that I was trying to invent it alone since 2004, because I needed something like this for my structured editor. In three years, I built a pretty decent graphical framework (http://guilabs.net/#Screenshots), but of course it isn't as nearly as powerful as WPF. Still, it's nice to see some of my design decisions remanifest so nicely - it gives me a good feeling that those were the right decisions. Anyway, I'm moving to WPF, farewell to GuiLabs.Canvas and GuiLabs.Controls!
    • https://seattle.codecamp.us/ - Seattle CodeCamp is this weekend. I'm finally hoping to meet Wesner Moise and hear about AI, static analysis and NStatic.
    • Source code of Visual Basic runtime has been released to public. (Vladimir) - our neighbor VB team now allows to peek inside the VB runtime
    • http://blogs.msdn.com/csharpening/ - our test teams blog (I post there too!)
    • Intentional Programming video - IP has been beaten to death even though it wasn't released yet, but I'm still inspired by the structured editor they wrote :)
    • http://convergepl.org/ - I didn't know about Converge until recently. This is another language with syntactic macros and meta-programming capabilities (see also Lisp, Boo and Nemerle). I hope some people on our team (yes, Mike, I'm looking at you!) start agreeing that meta-programming is a needed scenario; that both tooling and language need introspection capabilities (compile-time reflection). I don't even talk about Nemerle, which allows the language to mutate itself in a safe way, just a simple pluggable compiler pipeline would be a good start. Fortunately, Anders likes meta-programming and this means that our future is in good hands.
    • Project Euler - always loved math, didn't know about this one
    • PSharp - Prolog.NET - installed Prolog, started playing with it to refresh school memories (expect a post about Prolog sometime soon)
    • http://www.codeplex.com/koda - Koda (the project formerly known as Vsi) is an addin that extends and enhances the functionality of Visual Studio 2005/2008.
    • http://arjansworld.blogspot.com/ - Arjan Zuidhof has a very nice Linkblog which I browse through quite regularly
    • http://www.microsoft.com/vcsharp - last, but not least, my team's homepage!

    Thanks for stopping by! Stay tuned!


Page 1 of 1 (2 items)