Archive for Uncategorized

Sorting Text in Visual Studio

Sometimes you need to sort some lines of code in Visual Studio – for instance, if you have a long list of Open XML content types, Open XML relationship types, or elements names, you may want that list to be sorted. Here is a little VB snippet (from stackoverflow) that sorts text.

Sub SortLines()
    Dim Selection As TextSelection = DTE.ActiveDocument.Selection
    Dim Lines() As String = Selection.Text.Replace(Environment.NewLine, Chr(13)).Split(Chr(13))
    DTE.UndoContext.Open("Sort Lines")
    ' Edit - see comments
    ' Selection.Text = String.Join(Environment.NewLine, Lines)
    Selection.Insert(String.Join(Environment.NewLine, Lines))
End Sub

Posting this here so I can find it again easily.


Updated Table-of-Content for everything that I’ve written or recorded

Over the last few years, I’ve written a fair number of blog posts, MSDN articles, blog posts, and blog posts on my blog at In addition, I’ve recorded over 60 screen-casts. I’ve assembled links to all of the content from all of the web sites, and aggregated them in the Blog TOC on this blog. I’ve done my best to make it navigable, including the ability to collapse the long descriptions, so that you can more easly view just the blog post or video titles. I’ve categorized it by important keywords, so that a developer working with Word Automation Services or with PowerTools for Open XML can find all relevant content. You can get to this table-of-content by clicking the Blog Table of Contents link in the blue bar under the header.

I am just about to embark on some interesting writing and screen-casting projects, so wanted to get this blog TOC under control before I started.

Comments (3)

Staying Current with Microsoft Developer Technologies

One of my goals when coming to Microsoft was to get, as much as possible, a high-level view of all Microsoft developer technologies that are interesting to me.  My interests are wide – of course, everything Office/SharePoint, but also I am also interested in every data access technology, Silverlight, Windows Phone, Web technologies, graphics design, and on and on.

The other day, a friend of mine at Microsoft asked me what I do to get a broad overview of Microsoft developer technologies, and here is what I told him:

“I listen to every single developer presentation from TechEd, PDC, and MIX.”

Of course, I listen to a number of overview and IT Pro sessions also.  I also make sure I listen to the keynotes – they are interesting not because of technology, but because they give clues into what Microsoft senior management is promoting these days.  Every presentation is available online for download.  This is an incredibly valuable resource.

Note that I said ‘listen’, not watch.  I download the sessions, put them on my Zune, and then start working my way through them.  If I’m doing the dishes, or in my car, or wherever I have dead time, I put on the headphones and continue where I left off.  I listen in the sauna – I can’t believe my old 30GB Zune still works after a hundred trips into the sauna.  Good hardware.  I’ve been doing this for a couple of years, and have listened to many hundreds of sessions.

I don’t necessarily need to examine every line of code in the presentation – I am more interested in listening ‘over the top’ and understanding capabilities, strengths, weaknesses, and overall architecture.  Of course, there are some sessions that are so important that I go back to my PC and watch in high resolution so I can read the code on the screen or see the demos.  And there are others, where the technology is less interesting to me, or the technical content isn’t there, where I quit watching early and move on to the next video.

Which brings me to the point of this post: I’ll be tweeting good sessions as I come across them, with a few words about why I liked them.  Granted, tweeting about sessions presented six months ago is not news, however, twitter is the best forum for these.  They don’t warrant a blog post sometimes, particularly a post that is so very far off topic to what I blog about (Open XML / Office / SharePoint / Functional Programming), but sometimes the information is just too cool to not share.  I’m just letting you know what I found interesting, and why.

Also, I have started a Good Microsoft Conference Sessions page where I’ll list the sessions after I watch them, along with my bit of commentary.  I am also going to add a number from past conferences as time permits.



I am an independant software developer / writer.  I am particularly pasionate about Open XML, SharePoint development, and Office development.  I am a fan of functional programming, and think that using functional programming to transform documents can change the way we think about Open XML documents.

Comments (3)

« Previous Page « Previous Page Next entries »