downloads, vs, coderush comments edit

UPDATE: CR_SortLines has found a new home with the DXCore Community Plugins project. Head over there to get the latest and read more!  

Just like I use the “Join Lines” function a lot, I also sort lines a lot in text editing. That’s another feature Visual Studio didn’t have that I wanted - the ability to sort lines.

CR_SortLines adds a command (“Sort Lines”) that you can bind to a keyboard shortcut (Ctrl+F9 is what I use) and will sort lines in the code editor.

CR_SortLines in
action

Installation is as easy as copying a DLL into a folder and adding the keyboard shortcut. The included readme.txt outlines installation, usage, and workarounds for known issues.

Requires DXCore 1.1.40 or later (DXCore is a FREE download from Developer Express - go get it!). UPDATE: CR_SortLines has found a new home with the DXCore Community Plugins project. Head over there to get the latest and read more!

Version History: 1.0.0.0906: First release.

personal, net comments edit

Day 3 has been the best of the three days, I think. The first lecture of the day I went to was on COM interop and had some really interesting stuff. Unfortunately, again, it didn’t quite end on time and I had to leave before it was over in order to make it to a unit testing lecture.

The unit testing/code coverage lecture rocked. Great information on some unit testing and code coverage tools, suggestions on integrating it into your regular development and build process… very interesting.

I filled out my comment sheet (adding all of the information you’ve already seen here, so it’s not like I’m just blogging and being passive-aggressive) and they gave us a copy of Programming .NET as well as a raffle ticket. The raffle, which happened after lunch, won me a copy of Threat Modeling.

Just before the third lecture, which was on .NET development tools, I sidelined the lecturer (again, John Robbins) and showed him CR_Documentor. I had looked at the lecture slides ahead of time and noticed he was going to talk about NDoc. I figured he might be interested in the preview feature CR_Documentor offers.

He was pretty psyched - enough so that I got a quick “guest lecturer” spot to present CR_Documentor in front of everyone at the lecture. This marks my first ever lecture appearance, and while I was a bit nervous, it felt good to get CR_Documentor out and about. Plus I got a free copy of Writing Secure Code. That rocked.

I sent the link and info over to John who will be putting CR_Documentor up on the Wintellect blog (actual entry here). So if you’re coming in from Wintellect, hello!

After this there’s one more lecture and then the drive home. It’ll be good to be back, but let me tell you, Friday at work is going to be unproductive as hell.

personal, net, vs comments edit

For folks coming in from Wintellect (and people new to the site)… here are some things you might be looking for:

CR_Documentor: The XML code comment preview add-in for Visual Studio.

My Other Tools: A list of other tools I’ve written that might help you out.

Code Snippets: Little bits of code that might prove useful at some point.

Scott Hanselman’s Ultimate Tools List: A pretty good list of additional helpful tools.

personal, net comments edit

We’re nearing the end of day 2 of Devscovery (I’m in the last lecture of the day now) and today has been quite a bit better than yesterday.

I spent the first half of today (two lectures’ worth) listening to John Robbins talk about debugging applications. That was really, really good. I learned quite a bit of useful information and some pretty keen tips and tricks that I’ll be able to use to make my daily work more productive. Even better than the fact I was psyched to learn that stuff was the fact that Robbins was on top of his presentation. The slides complemented what he was saying. Any time I felt like there was something I should write down I found that on the slide in the handout. Excellent demos, great information, interesting anecdotes - it doesn’t get better than that. We even got done with 15 minutes left at the end for questions.

The second half of the day has been spent in lectures about threading in applications. Some of that has been interesting, some of it has been boring. The speaker knows his stuff, but the guy just can’t stick to the schedule. Also, I don’t know if it’s just that the material is dry, or maybe if I’ve reached my limit for the day, but I’m sort of tuning in and out of this one.

At the end of the day, we’re going to get a chance to go buy stuff at the Microsoft company store. That’ll be good. Last time I was there I was able to get a few pretty cool shirts and some bargain software. Looking forward to that.

More annoyances about the structure of this thing: There are three major events going on at the same time in the same corridor in the convention center we’re at and there are enough people that, well, it’s confusing as hell. Everyone is dressed identically, there are identical tables of food running up and down the hallway, and the whole thing is pretty much chaos. Stu got told off when he was trying to get food because apparently that food wasn’t for us. What a load of shit. All the food is identical. I was offended.

Also, my wireless access here keeps getting dropped. I notice that it’s happening to the presenters’ machines, too, though Stu hasn’t been afflicted. Come on, though - dicey wireless?

More for the feedback form, I guess.

I think we’ll probably have dinner at Red Robin tonight. There’s one sort of close to the hotel, and I’m not much for trying out new food.

personal, net comments edit

Got to the keynote this morning slightly early to get through registration and whatnot. They gave us binders with printouts of the slides, which is cool, and CDs with the sample code on them. They gave us 64 MB USB thumb drives, too, which made me think a few things: First, why only 64MB? I can go to Fry’s and get a half gig USB drive for pennies - what am I going to do with 64MB? Second, why hand me a CD with the source code on it and a thumb drive on the side - why not put the source code on the thumb drive so I don’t have all this extra crap to cart around?

Common sense aside, I guess I can’t really complain so much. Maybe.

The keynote was pretty decent, but it ran like 20 minutes over, which, of course, threw off the scheduling for the whole rest of the day. That was pretty irksome because later on in the day there were lectures where we didn’t get to hear everything due to the time issue and we missed stuff I’d have liked to have heard.

The first lecture I went to was on garbage collection in .NET. Most of the stuff in there I had heard, but they went through an interesting bit talking about how garbage collection is handled differently in debug builds vs. in release builds. Apparently references to objects are held longer in debug builds in the event a debugger needs to attach to the assembly. That means garbage collection can’t release memory for all the objects it needs to until the end of their scope, even if they’re not used anymore. That has the possibility of eating your lunch, methinks. Release builds don’t have that problem since the optimizations for garbage collection are in place.

The second lecture was on what’s new in ASP.NET 2.0. The majority of it was spent on DataSource and GridView/DetailsView stuff which, unfortunately, I had already seen. Toward the end they started getting into the Wizard control, some of the user profile stuff, dynamic navigation, and the things I was interested in… but because of the messed up time issue, we didn’t get to see all of that before we had to go to the third lecture.

The third (and final) lecture of the day was on making dynamically extensible applications in .NET. I learned quite a bit there about how servers host applications (sort of like how IIS hosts .NET apps) and there was a lot of low-level discussion on creating AppDomains and instantiating objects from one AppDomain into another. Interesting academic discussion, but I’m still having difficulty figuring out how I might be able to apply some of that in my current work. After the AppDomain discussion we got more into the sort of app extensibility I’m used to - plugins through Reflection. Again we ran into a bit of a time crunch and didn’t get to hear about as much of that as I’d have liked. Interesting stuff, though.

So far I’m a little disappointed. The planning seems to have gone a bit awry, which is unfortunate, but more than that, I haven’t really gotten jazzed about anything in particular that I’ve heard so far. I’m also having a difficult time determining what the intended audience is for some of these lectures - some of the material is pretty beginner/intermediate stuff and some of it is really low-level advanced stuff. It’d be nice to know ahead of time which lectures were addressing which crowds so I could determine my attendance accordingly.

If/when we get feedback sheets to fill out, I’m going to put that.

After the lectures I went and bought a cheap plastic cup at Rite-Aid because I don’t trust the cups they have available in my odd kitchenette here at the hotel. (They don’t have disposable plastic cups like every other hotel I’ve ever been to.) Also got some bottled water for the drinkin’. Had dinner at Qdoba, and now I’m a-bloggin’. Stu and I will probably watch some movies and play some PS2 before retiring for the evening, ready for a new day.