personal, dotnet, 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, dotnet 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, dotnet 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.

personal, dotnet comments edit

We call it “Day 0” because technically all I did today as far as Devscovery is concerned is travel. Tomorrow morning is when the conference actually starts.

The trip up was decent, if a bit on the wet side. Stu and I drove up together (well, Stu drove) and we beat both Portland and Bellevue/Redmond traffic, so I’d call that a success.

The Homestead where we’re staying is one of those “extended stay” places so there’s a little kitchenette and they offer wireless Internet (hence my ability to blog and check email, albeit on a weak 802.11b signal) for $4/stay. It’s a little… dicey… though. I mean, there’s sort of this mysterious stain on the carpet, and there’s no shampoo in the room even though there’s soap… No little disposable plastic cups, but some actual plastic…ware… cups. But no dish soap, and like I’m going to use those cups without washing them out myself.

Oh, well. I’ll be here for the next couple days, so I’d best get used to it.

Luckily I brought my PS2 and went to Radio Shack to get an RF converter thing so I can hook it to the primitive video display box they have in the room. Stu and I watched far too much Strong Bad email on DVD.

And now it’s bed time. I’ll catch up on my email, then hit the hay. Tomorrow: .NET!

downloads, vs, coderush comments edit

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

I use TextPad for text editing and one of the things I like a lot about TextPad is the Ctrl+J shortcut that allows you to join selected lines to each other. Visual Studio doesn’t offer that line joining capability, so I decided to write it.

CR_JoinLines adds a command (“Join Lines”) that you can bind to a keyboard shortcut (Ctrl+J, Enter is what I use) and will join lines in the code editor. It also allows for an optional delimiter, so if you want a pipe or comma or some other string (yes, string - you’re not limited to a single character) inserted between the joined lines, you can do that.

CR_JoinLines in

Installation is as easy as copying a DLL into a folder and adding the keyboard shortcuts you want.

DXCore Shortcuts Menu - Click for larger

The included readme.txt outlines installation, usage, and workarounds for known issues.

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

Version History: First release. Added ability to provide Delimiter parameter to join lines with a delimiter between each joined line. Fixed issue where, in later versions of DXCore, joining on selection functioned incorrectly.