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.

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

General Ramblings comments edit

Well, for all intents and purposes it’s done. I only have to make five more buttonholes (using the automatic buttonhole attachment on the sewing machine) and put on the buttons, so we’ll just call it done.

I spent probably eight hours on it Sunday, fighting with the various pieces to make them line up, adjusting things as needed to make them straight and compensate for my amateur sewing abilities. In the end, it turned out pretty well, and it fits, which is really what I was hoping for. I was gonna be pissed if it was too small or something.

I used McCall’s pattern M2447, a combination of views A and C so I could get the collar without the collar stays in it (so I can flip the collar up like Wonka without the stays falling out) and the French cuffs.

Let’s see if I can remember how much all this cost me…

Pattern: $6.50 Fabric: $16.00 Interfacing: $4.50 Buttons: $3.75 Collar stays I’m not going to use: $2.00 TOTAL: $32.75

And, of course, about 16 hours of my time. Suddenly that $50 shirt at the store isn’t looking so expensive.

I’m pretty pleased with it, though. Mom always said that when you’re done sewing something it should look just as good inside as it does outside, and I’d say I’m there with it - everything inside is nicely put together, the outside looks crisp and clean. Granted, the lines aren’t perfectly straight (pretty close, but if you look you’ll see flaws), the buttonholes aren’t perfectly spaced (making buttonholes is a pain in the ass), and there’s a spot on the front band toward the bottom where it sort of takes a slight… turn… so the bottom of the front isn’t perfectly straight. But that part gets tucked in anyway, so I’m not too bummed about that. All in all, not shabby.

Things I discovered during the making of the shirt:

The chair we have for sewing sucks. It’s one of those foldable “director” chairs with the canvas seat and back. Far from ergonomic. By the end of the day, my back and neck were killing me.

Shirts are a bitch. I made a Neo costume last year

  • a long black trenchcoat thing. It was a piece of cake compared to this shirt. There was a lot of hand-stitching and crap on this shirt, and a hell of a lot more pieces. Of course, the costume I had last year was a costume, not, like, an official piece of clothing, where this shirt is from a pattern where they actually intend you to wear it regularly, so it’s a much higher quality garment. Still, with the plackets and collar pieces and such… shirts are a bitch.

The worst part of the thing is cutting out and marking the pattern. It’s way, way, way too boring. I like it when you get to sewing the pieces together and it starts to take shape, but there’s a lot of prep work in there that I could just do without. (That’s not a new realization, but I thought I’d get it out there anyway.)

Next step is to get the Wonka walking stick going and start in on the vest. I’ll save the coat for last because I think it’s going to cost me a frickin’ arm and a leg with the velvety fabric I’m going to have to buy. It’s also going to be a total pain in the ass, I’m sure, because I actually bought a real trenchcoat pattern (lined and all) and it’s about an inch thick still in the envelope so I can only imagine how much work that’s going to be. Good thing I got started early.

UPDATE 10/02/05: The costume came out well. Here are the details.