media, music comments edit

While I’m on a recommendation kick, I figured I’d throw out five of my favorites that most people out there are probably not listening to right now, and may not have even heard of. Try something new!

In no particular order…

Album Description
Pop Will Eat Itself - Cure For Sanity Pop Will Eat Itself - Cure For Sanity -  You may recognize the name Clint Mansell from his film score work, most recently for the movie Black Swan. Mansell was originally the lead singer for PWEI. I like most of PWEI’s stuff, but this one is my favorite. Slightly interesting personal note: it’s also one of the only two albums (along with Pretty Hate Machine) my mom ever confiscated from me when I was a kid because she didn’t like the lyrics or, I assume, the electronic/percussive nature of the music. Sorry, Mom. I think I had another copy like a week after that. It’s been one of my favorites since I originally heard it carpooling with my friend Molly to school. Still is.
2nu - Ponderous 2nu - Ponderous - I’m not even sure how to classify this. It’s more… “ambient spoken word” than straight music. If you recognize anything at all from this album, it’ll be the short-radio-run title song, “This is Ponderous.” “I had this dream the other night. I went to work one day and nobody remembered who I was. So I decided to take the day off.”
Afghan Whigs - Gentlemen Afghan Whigs - Gentlemen - Great alternative album and a fantastic live show. This is actually the first concert I ever went to, with my buddy Mike. Super intimate venue that isn’t there anymore where I also saw George Clinton and Parliament Funkadelic (which was also a hell of a show)… but I digress. This is an awesome driving-around-town album. Go get it.
Republica - Republica Republica - Republica - You probably heard this one (maybe even had it) and forgot about it entirely. Electronic rock you want to play with the volume turned up and the windows rolled down.
Utah Saints - Utah Saints Utah Saints - Utah Saints - Great house music, period. If you’re into that sort of thing and you don’t have this one, it’s a must-have.

media, music comments edit

When I’m working (coding) I generally like some sort of music that either doesn’t have any words or is otherwise reasonably peaceful so I’m not, like, compelled to sing along or something. I also like music that sort of flows, so stuff that’s very dissonant or has an oddly syncopated rhythm, stuff that has a lot of high-pitched sirens, and so forth… that’s not so much my thing.

The list of what I listen to changes quite a bit - I have a lot of music

  • but right now, my top go-to albums for while I’m drumming out some code are (in no particular order)…
Album Description
Mirror's Edge Soundtrack Mirror’s Edge Soundtrack (MP3) - I really liked the game and the soundtrack was equally awesome. Only available in MP3 format, but that’s fine.
Tron: Legacy Reconfigured Tron: Legacy Reconfigured (CD/MP3) - The original version of the soundtrack was good, but the remixes take it up a Whole. Other. Level.
Peter Gabriel - Secret World Live Peter Gabriel - Secret World Live (CD) - This one isn’t electronic and it appears to be out of print, or at least, not directly available from Amazon (which is roughly the same thing, right?) but I find myself turning to this one a lot for some calm getting-down-to-work music.
Imogen Heap - Speak For Yourself Imogen Heap - Speak For Yourself (CD/MP3) - I actually discovered this one through Pandora and am now hooked on Imogen Heap. This is my favorite so far, particularly the song “Hide and Seek.”
Massive Attack - Mezzanine Massive Attack - Mezzanine (CD) - You’re familiar with this one if you watch House. The theme song is “Teardrop” from this album. All the songs are kind of different here (they don’t all sound like the same style) so it’s there’s a little something for everyone.
Hybrid - Wider Angle Hybrid - Wider Angle (MP3) - I like the recorded half of this much more than the live half, but the recorded half just flows. I particularly like “If I Survive,” which I originally heard on the PS2 game Kinetica.
Fluke - Risotto Fluke - Risotto (CD/MP3) - This has been a long-time favorite of mine. Originally I got hooked on this from the Sliver soundtrack (which is also pretty good).
Conjure One Conjure One - Conjure One (CD/MP3) - I have a friend who’s brother engineers these guys (that’s how I heard about them to begin with). Very cool music, sort of Enigma-ish.
Blue Man Group - Audio Blue Man Group - Audio (CD/MP3/DVD) - Sort of entrancing / hypnotic, which is cool for PVC pipe. The live show is amazing - be sure to go if you get the chance. The DVD to this has a really nice 5.1 surround mix of the music, which isn’t too helpful for an iPod or whatever, but is awesome on your home theater.
Sarah Brightman - Harem Sarah Brightman - Harem (CD/MP3) - There is just something about Sarah Brightman that I love. This is one of my favorites and the one I listen to most. There are a couple tracks on here that are a little “meh” but the really good ones outweigh the ones you have to skip.

I realized after putting this together that I could make this like a “top 25” list but then… nah. Plus, I switch it up a lot, so these are what I’m listening to now, but I may get into an Anna Phoebe mood or something for a week, which would mean this list would change. (I actually started with a top five and decided that wasn’t long enough, so I upped it to ten.)

Got any awesome recommendations? Leave ‘em in the comments!

dotnet, vs comments edit

If you’ve enabled FxCop to run on your projects in Visual Studio, chances are you’ve seen the dreaded CA0060 warning:

MSBUILD : warning : CA0060 : The indirectly-referenced assembly ‘SomeAssembly, Version=1.2.3.4, Culture=neutral, PublicKeyToken=abcdef1234567890’ could not be found. This assembly is not required for analysis, however, analysis results could be incomplete. This assembly was referenced by: C:\Path\To\Some\Dependency.dll.

The MSDN docs on this warning say that you should just add a reference to the indirectly referenced assembly so FxCop can find it. The problem is, if you already have a reference to a later version of the indirect dependency, you can’t really reference both versions.

I found a forum post that explains that you can change the behavior of FxCop to allow resolution of dependency assemblies to look at the strong name info but ignore the version. You do that by adding the following to FxCopCmd.exe.config in the C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop folder:

<add key="AssemblyReferenceResolveMode" value="StrongNameIgnoringVersion" />

Of course, if you do that, it affects every single solution on your machine. Plus, you have to tell every developer on your team to make the same change, and… ugh. No.

A little Reflectoring shows that you can actually specify a lot more on the command line than running FxCopCmd /? says you can. Here are the ones I found that don’t show up:

  • assemblycomparemode
  • dump
  • failonassert
  • outputculture
  • targetframeworkversion
  • trace
  • tracefile

That assemblycomparemode one is what ties to the AssemblyResolveReferenceMode value from FxCopCmd.exe.config. In fact, you can pass this value in on the command line if you were running FxCopCmd.exe manually:

FxCopCmd.exe /assemblycomparemode:StrongNameIgnoringVersion [and the rest of your parameters]

Except, you’re running from inside Visual Studio, so you don’t have access to the command line… or do you?

Poking through the C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\CodeAnalysis\Microsoft.CodeAnalysis.Targets file that gets installed with Visual Studio (and is what runs FxCop), it turns out that if you provide a property called $(CodeAnalysisAdditionalOptions) with the list of additional command line options you want for FxCop, they’ll be passed in. You just have to do a little manual .csproj hacking to add the property.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <!-- This is the first PropertyGroup in your project. -->
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <!-- ...and all the other stuff, then before the group end: -->
    <CodeAnalysisAdditionalOptions>/assemblycomparemode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions>
  </PropertyGroup>
  <!-- ...and then the rest of your project file. -->
</Project>

Now when FxCop runs, that command line parameter list will be passed in along with everything else and the CA0060 warning will go away. Plus, the setting is transported along with the individual project, so it doesn’t affect your installed config files and you don’t have to get any developers to do anything to their machines. Done!

home comments edit

I’m pissed off with home improvement.

See, the thing is, I’m not really handy. I like to think I am. I can put up a new light fixture with the best of them. Tightening screws on squeaky chair legs or whatever, I have that covered. Much more than that… I’m sort of at a loss.

About three weeks back my dad helped me fix some baseboards that had water damage. At the time, I figured I had put off this crown moulding project in our downstairs bathroom for seven years already and it was probably time to undertake that, so I decided to pick up some crown moulding to put up. Couldn’t be that much different than baseboards, right? Just baseboards at the top of your wall instead of the bottom, right?

The best advice I can give you: If you want to put up crown moulding, call The Guy.

When I say “The Guy,” I’m talking about any contractor who will come in with experience in the crown moulding arena and put it up for you in a professional fashion. In conversation, you might refer to this person as “your crown moulding guy” when you hand a poor sap like me his (or her) business card.

I had what I thought to be all the right equipment. I had the compound miter saw. I had the angle measuring tool. I was all set to go.

I measured out the first couple of pieces and the angle between the walls, cut them out, and put them up. They looked awesome. See? I even took a picture:

The start of my crown moulding
project.

Nice crisp corners, all professional. I was stoked.

Then I tried to fit the next piece in. I could get one corner in place, but the other corner… didn’t fit quite right. It wasn’t too far off, though, and I figured a little caulk and I’d be good. I muscled forward.

Corner after corner, things started getting further and further off. That was when I noticed something:

My walls aren’t flat, my ceiling isn’t flat, and the corners between the walls and the ceiling isn’t square.

The corners from wall to wall are square, but that’s the only thing in the bathroom that is. There’s one wall where the ceiling makes sort of a “wave” where it connects to the wall, going up and down rather than straight. On another wall it’s even worse - you take the crown moulding, run it from one corner to another, and there’s a gap between the crown moulding and the ceiling so big I can put my fingers in there.

But I would not be deterred! I could flex the moulding into place! I could fill that gigantic gap with some patching plaster! It would work!

Two or three hours a night after work for a week and we get to the weekend. I stand back and look at the horrendous corners, the places on the ceiling where I got a little carried away with the patching plaster and filled in the texture, and the ridiculously obvious use of wood filler in areas, and… it was unsalvageable. I showed Jenn and she concurred.

I tore the moulding down, took it out back, and chopped the shit out of it with an axe. You know, so it’d fit in the garbage can better. Right? Right?

I chipped the patching plaster away from the ceiling, spackled up the nail holes, and retextured the ceiling where the plaster got out of hand. All we had left to do was paint the spackle areas…

…Except Home Depot doesn’t sell the paint we used for that bathroom anymore, so we had to get a color match. No problem there, we got the color matched perfectly…

…Except we didn’t get the sheen matched right, so we had some shiny spots and some matte spots where the different paint was used, which resulted in having to repaint the entire bathroom.

All of the patching and retexturing and painting and everything was another hour or two each night for a week. Two weeks, many hours, and around $100… and we’re back to square one. Maybe I could have just handed someone $100 to come over and kick me in the nuts and we could have called it a day.

What this boils down to is: Call The Guy.

I wish I could say this was the end of our current home improvement troubles, but it’s not.

A few nights ago we were sitting watching television and we heard a big “thump” like a bird hit the back sliding glass door. I went out back to see what was up and didn’t see any bird, so I went back inside. As I did, I tried to shut the screen door and it just wouldn’t shut. Investigating further, it turns out the frame on the door was flexed out of shape, dented in a certain spot, so now it doesn’t slide on the track right. Oh, and look over there, in the middle of the back porch there’s a river rock the size of a baseball. How the heck did that get there? (Putting two and two together, I’m guessing someone threw it, so I’m glad it just hit my screen door and not the glass, but still.) So now I have to get a new screen door ($45) which is not a huge deal except that I can’t actually fit a screen door into my car, so I have to get some help trucking that home. It’s never simple.

Oh, and our Scooba just died, so I’m going to have to get a new one of those. And Jenn’s car has something up with some belt or another, so that’s gotta get fixed. Man, it’s always something.

traffic comments edit

Dear Stop Light Idler:

I do not understand why you think it’s good to stop six car lengths back from the stop light and idle slowly forward, occasionally tapping the brakes, until you get to the actual stop line. I’m writing you today to ask your help so I can understand.

Do you feel you’re somehow being safer? That actually stopping at the line is not quite as safe as stopping 25m before the line?

Or is it that you don’t trust your brakes? I might - might - actually understand this one, since you do tap them several times during your idle-up-to-the-line, almost like you have to verify they’re still working; that, yes, the brakes will, in fact, continue to stop the car.

Maybe it’s that you’re trying to get some sort of “running start” at the light when it signals you to go. You know, so you can “beat” the car in the other lane off the line? Is that it? The drag racer in you?

Honestly, I’m at a loss. From back here, behind you, watching you inch-forward-and-stop, inch-forward-and-stop, inch-forward-and-stop… from back here, it just looks like you’re not paying attention. It also looks like you have no consideration for the line of cars behind you who would like to just sit at the signal and wait for it to change rather than constantly trying to keep up with your inching. Because you know that if the rest of the line doesn’t inch up with you, that the one driver who doesn’t move forward looks like a big douche for being the guy who’s got six car lengths in front of him and isn’t moving up.

You probably also don’t realize that some traffic signals are timed, but some are magnetically-sensitive. If you don’t actually get your car into that little box up there by the stop line, the signal won’t change. Or maybe you do, and that’s part of your daily plan to piss off the other drivers behind you.

Can you explain why you’re doing this? Is there even a reason? (If there is, are you sure it’s a good one?) Because, honestly, when I’m behind you, you ride my road rage nerve. If someone - and I’m not saying me, but someone - pulled you out of the car and punched you in the throat, I might not mind so much. Just sayin’.

Please, I implore you, stop being a traffic asshole. Just pull up to the damn light (or a reasonable distance behind the next car in front of you) and stop. No need to inch. No need to tap the brakes. Just hang out. Be zen about it.

Love,

Travis