*aka little bits that don't need their own posts
Dual Monitors Are Wonderful
For a while I've been hearing about how great it is has to have multiple monitors. From friends and bloggers (particularly at Coding Horror) alike, the reviews are uniformly positive and I was convinced of the logic that having more screen real estate would increase productivity. However, I had never worked for an extended duration with multiple monitors. I just upgraded my home office and now have a dual monitor setup at home. This is probably not surprising news to anyone, but it is great. The pay off is instantaneous and I can easily see how this setup increases my productivity. The only downside now is that I really know what I am missing when I go back to a single monitor setup.
Remote Desktop Across Multiple Monitors
I've had to use Remote Desktop a lot recently to work from home via VPN. A neat trick I discovered this weekend was that Remote Desktop can treat multiple monitors as one monitor, so you can take advantage of multiple monitors. For whatever reason, Microsoft made this a command line switch, and not an option through the UI, but it still works. So, from a command prompt: "Mstsc /span" and you're good to go.
Another Plug for Monoprice.com
I'm pretty sure I've mentioned them before, but I wanted to again point out MonoPrice.com as a great place to by any sort of computer or A/V cabling that you need. I got cables for my HDTV and sound system from them; the quality is good and the price is amazing; literally orders of magnitude cheaper than Best Buy. If you are a real audio/videophile you might found something you don't like about the cables (which are non-name brand), but I compared the HDMI cable I got from them versus a couple of other ones I had and noticed no difference. MonoPrice.com also has nice deals on Ethernet cable, including a 100 ft cable for around $10. Just as a side note, if you don't think cables are overpriced in general, just think of San Francisco's Candlestick park, now called Monster Park after a certain cable company which apparently has some pretty high margins.
I recently participated in a trial of InnerWorkings' developer training tools. These tools are a stand alone Developer Interface application and a set of plug-ins for Visual Studio that are used to host interactive courses on .NET programming topics.
Self directed learning is an important part of my job for many reasons, but for this trial, I focused specifically on whether or not these tools would be useful in the following scenario: as an experienced developer I know I am moving onto a project where a significant amount of development work will focus around a specific .NET technology, for example Windows Workflow, that I have not had much exposure to. Could this training software be an effective component of a several week effort to get myself up to speed on a topic?
My expectations were not that I would complete this training and become an instant expert; those are unrealistic expectations to be borne of anything but actual experience. However, I hoped this training would be a way to cut down the ramp up time that accompanies using a new technology and be able to come into a new development situation feeling comfortable working with the technology.
So with these goals and expectations in mind, I went through the "Windows Workflow Foundation Fundamentals" course, which was composed of several programming exercises that covered the basics of state based and sequential workflows, such as flow control and event handling. Each exercise took about 25 - 40 minutes to complete. I completed all of them over the course of a few nights.
These exercises fully met my expectations and in fact exceeded them. The focus of the exercises is experience-based, situated learning. The tools integrate into Visual Studio and you work on actual C# projects within the IDE that you use every day. The projects you work on are not pieces of art, but they are far more advanced and interesting than just "Hello World". The code itself is generally laid out well, with lots of comments and nicely standardized naming and formatting conventions. I have always found it invaluable to actually do the coding, not just read about it, and InnerWorkings did a good job of setting this up.
Just doing the coding does not help though if you don't know its right. To cover this aspect, the InnerWorkings tools install a judging engine plug in Visual Studio. So when you think you are done with the exercise, you click "judge", it sends your code up to the InnerWorkings server and you get back a score on how close you were to complete. If you get stuck, you can unlock detailed steps explaining a solution. This engine is rules based, and as long as I met the stated requirements, I was able to solve the same exercise using multiple different approaches.
While I really like experience-based learning, I am naturally skeptical of any one-size fits all approaches to learning, and InnerWorkings does a good job of offering diverse options to help you learn. The exercises reference MSDN documentation, as well as leading technical books on the subject at hand. So you end up with a kind of mini-Safari service for the topic you are on. If you are a big book person, you have ample material.
If you really get stuck on an exercise, you can email an InnerWorkings developer for help, a feature which kindly attaches your code to the email. I never had occasion to use this feature, so I can't say too much about it other than it is another option to help you learn.
So, did the InnerWorking's course meet the goals of my scenario? I think it did and I was impressed by the overall polish of the combined package of tools and resources. If you're interested, you can give it a try yourself.