GeekSpeak

Tech talk that doesn't necessarily fall into any specific category, but really isn't generic day-to-day stuff.

How to Add a VSIX Installer to a DXCore Plugin

As of CodeRush/Refactor/DXCore 11.2, DXCore supports installation of plugins using Visual Studio Extensibility (VSIX) just like any other extension you might find in the gallery. This is beyond cool for a couple of reasons. First, I've been [slowly] working on a couple of different ways to create some nature of "plugin gallery" for DXCore extensions. There are so many community plugins, plus things like CR_Documentor and CR_CodeTweet that aren't on the community plugin site, that it's really hard to know what's out there. This would allow DXCore plugins to use the standard Visual Studio Gallery mechanism for browsing. ...

Explore From Here - Command Line

I'm a big fan of the "command prompt here" context menu extensions for Windows Explorer. I use them all the time. Sometimes, though, I need to go the other-way-around. That is, I'm at a command prompt and I want Windows Explorer open at the current location of my prompt. explorer %CD% Pretty simple, but super helpful. I had one of those "man, I'm stupid" moments when I put two-and-two together on this. I ended up making a little batch file "explore.bat" and stuck it in my path. @echo off echo Opening Explorer on %CD% explorer %CD% So now...

This Isn't Scriptable

this isn't scriptable there is no template file new automated fill-in-the-blanks cookie cutter copy/paste pattern all input fields validated rule of thumb answer you need to think solve problems be creative break out of the mold do the right thing build a great product don't be a script because this isn't scriptable be a developer develop

Setting Up my iPad 2

I won an iPad 2 at a raffle recently (a 16GB wifi-only that I upgraded to 32GB wifi-only) and finally got around to setting it up this weekend. So far I like it, but it's not quite as intuitive as people (and marketing) have led me to believe. Keep in mind that I come from a Windows/Android world. I have all Windows PCs at home (with the exception of my Synology NAS, which is basically a small Linux box). My phone, my wife's phone, and my parents' phones are all Android. While I've messed around with a Mac a...

Firefox User Agent "undefined GoogleToolbarBB"

At some random point today, I started going to various web sites and they seemed to be falling back to basic views without anything dynamic going on. For example, in GMail, I saw "Some important features may not work in this version of your browser, so you have been redirected to the Basic HTML version. Upgrade to a modern browser, such as Google Chrome." Weird, because it was just working a second ago. Realizing it was not properly detecting my browser, at first I thought GMail just didn't support Firefox 8, then I thought, "No, that's silly, something...

Holiday Fun at ThinkGeek

I'm going to be doing most of my holiday shopping online (again) because crowded Black Friday malls stress me out (still). For that geek on your list, may I recommend ThinkGeek: It might be a good time to get a BigTrak Jr. or some Star Wars glassware...?

WCF Fails to Build or Update Service Reference When Path Too Long

I was working yesterday on a solution in Visual Studio and noticed that every time I'd rebuild VS would report the build as failed... but without any error messages. I thought it was just a fluke, but then I had to update a service reference. When I tried, I got the following error message: Could not resolve mscorlib for target framework ".NETFramework,v4.0". This can happen if the target framework is not installed or if the framework moniker is incorrectly formatted. I searched all over and verified the TargetFramework settings on every project. No...

Does Automation Create Laziness?

I'm working on this theory that the more automation you wrap around a development environment - testing, static analysis, etc. - the lazier the developers in that environment get due to increased reliance on the automation. That's not necessarily a bad thing, but I'm not so sure it's good, either. Let's say you have a .NET project and you've got it totally wired up with automation. You have a continuous integration server running the build on every check-in. You're running unit tests and failing the build if the test coverage levels...

Mozilla Firefox with Hanselman

Bing released a Firefox With Bing addon, which prompted Scott Hanselman to tweet a bit: Looking at the addon code, it was released under MPL 1.1/GPL 2.0/LGPL 2.1 so... In response to the peoples' demand, I present to you Firefox With Hanselman (Click to get the addon.) This addon does pretty much exactly what the Bing addon does: Set your home page to http://www.hanselman.com/ Add a search provider so you can search Scott's web site. Free. No warranty expressed or implied. Works...

Six Reasons Not to Use Guard Classes

"Guard" classes - those little "convenience wrappers" around common argument checking and exception throwing. You know what I'm talking about, things like... public static class Guard { public static void AgainstNull(object value, string parameterName) { if(value == null) { throw new ArgumentNullException(parameterName); } } } Then, rather than the if/throw block in your method, you have something like... public void MyMethod(string theParameter) { Guard.AgainstNull(theParameter, "theParameter"); // Do the rest of the work... } It seems like a good idea, right? Reduce the three lines of if/throw checking...

Make Your Sandcastle Help File Builder Project Dynamic with MSBuild

When building a Sandcastle Help File Builder (SHFB) project in the GUI, you manually specify the list of assemblies you want to document. However, if you want to make the execution of it a little more flexible, you can do a bit of MSBuild magic to dynamically build up the list of documentation sources for the project prior to execution. The reason this works is that SHFB has changed its command-line execution to run through MSBuild using build tasks rather than a standalone executable. (Though with the executable, you could go through some steps to fashion a response file,...

Manually Resetting the Automated Firefox Software Updater

I run in Windows as a non-admin user. Whenever I need to install something and Windows prompts for credentials, I have a whole separate user account that runs admin tasks. This appears to be a problem for the automated Firefox software update process. What I run into goes something like this: Open Firefox and get notified there's a software update. Click the button to close Firefox and apply the update. Firefox closes and prompts me for admin credentials, which I provide. The update...

Star Wars Drink Time

ThinkGeek has got some pretty cool stuff I may need to get to put together a little Star Wars cocktail party. First, gotta get me some of these glasses: Then, gotta get ice for the drinks: And, finally, some coasters to put the drinks on. Don't want to ruin my table's finish, right? Yeah, now that's what I'm talkin' 'bout.

My Two Biggest Issues with StackOverflow

I don't really participate on StackOverflow. Don't get me wrong, I've asked a couple of questions and I've answered a couple, too, but by and large, I don't go there. At first I thought it was because of the Fastest Gun in the West problem. I like to take my time and give nice, thorough, sometimes lengthy, but always complete answers. I like that because it serves as a better reference for the future - it doesn't just answer the question for that one person, it answers the question with context for the future person asking. And that's still...

Open Letter to Visual Studio Extension Developers

Dear Visual Studio Extension Developers: (This includes folks who create products that have "value-add" features that install into Visual Studio, extensions done through classic or new mechanisms, and/or anyone who has something that otherwise "bolts on" to VS to enhance the development experience.) I have a lot of different products, add-ins, and extensions installed in Visual Studio. Most of them behave reasonably, but I've had some recent bad luck with a couple that have caused... frustration. This is to ask you to help me. Help me enjoy your product. Help me not be frustrated. Help me be...