Learn You Node with VS Code

Node.js may not be the “new” hotness, but it’s still pretty hot, and getting hotter all the time. Whether you’re a .NET developer who’s still on the fence about JavaScript, or just haven’t gotten around to taking a look at Node, now is a pretty good time to do so, and in this post, I’ll show you a nice combination of tools that make learning Node easy and fun, namely nodeschool.io and the new Visual Studio Code editor.

What is Node.js?

On the off chance that you’ve found your way here, but don’t know what Node.js is, Node.js (sometimes referred to simply as Node) is an execution environment for JavaScript code, based on the V8 JavaScript runtime from Chrome. It’s designed to be fast, lightweight, and efficient. You can use node to write server applications in JavaScript, from real-time chat apps, to web APIs, to full web applications. While Node itself is pretty simple, with a [limited, but want another word] API set, it ships with NPM, the node package manager, which provides a fast and easy way to install packages, which are collections of functionality wrapped up in such a way as to make them easy to add to your Node projects. Node packages are available to facilitate all kinds of applications, including MVC-style routing engines, template engines, unit testing and more.

Continue reading Learn You Node with VS Code

Migrating from Orchard CMS to WordPress using Windows Live Writer

OrchardLogo_200x200For the last 4 years or so, I’ve been hosting my blog/site using Orchard CMS. Orchard has been a pretty good platform. It offers a great deal of customization and extensibility points, and for .NET developers it can be a nice place to start for building an application. Unfortunately, whether because of my own customizations or some other reason, I ended up stuck on an older version of Orchard, and despite many hours of trying, could not get the site updated to a newer version. So I decided to move the site to the WordPress platform. Continue reading Migrating from Orchard CMS to WordPress using Windows Live Writer

Sometimes it’s the Simple Things

Hi, my name is Andrew, and I have a problem. I sometimes overthink things…just a bit. If you share that tendency you may, like me, instinctively greet any issue you run into as an opportunity for deep analysis and troubleshooting, which may not always be the place to start.

Overthinking in Action

A case in point. I’ve been working on a project that uses Crystal Reports (yes, plenty of people still use that) in an ASP.NET Web Forms app to generate reports for a non-profit. I was tasked with creating several new reports, which was a pretty straightforward task, and seemed to be going smoothly, when I went to test the PDF version of a given report and the report viewer simply returned a bunch of gobbledygook text in the browser.

Given that I had been making modifications to the code, I assumed that I must have changed something and broken the PDF reporting, though given the changes I’d made (which didn’t have anything to do with report rendering) I couldn’t imagine what. So I dutifully pored over the report rendering code, making sure it was sending the right MIME type, stepped through in the debugger, etc. Given that the application saved the PDFs to a temp directory before rendering, I also tried copying them over to another machine and opening them, and verified that the PDFs themselves were perfectly fine. Which left me feeling something like this:

In all, I probably spent at least a half hour or so trying to chase down the problem, only to realize that the answer was quite simple. The VM in which I was working had no PDF reader installed, so naturally, there was nothing to render the PDF in the browser, or allow me to save it.

Once I installed Adobe Reader (which gets ever harder to do without installing a bunch of unwanted crapware, but that’s a topic for another post), the reports rendered fine. Problem solved.


I’m a fan of Sherlock Holmes, and in particular the oft-repeated quote:

“…when you have eliminated the impossible, whatever remains, however improbable, must be the truth.”

In the case of troubleshooting code, I’d go even further. Sometimes you need to eliminate the improbable and start with the simple things. Check those things first, and then once you’ve eliminated the simple, move on to more complex and time-consuming troubleshooting steps.

Also, don’t assume that just because you’ve touched something in a project, anything that isn’t working is your fault. This is particularly true of code someone else originally wrote. Such code may have multiple issues that are known to the users and the original developer, but which may not have been shared with you.

Have you ever encountered an issue that turned out to be much simpler than you initially assumed? Share your story in the comments below!

Windows Media Center, XBOX 360, Visual Studio, and You

With the understanding that the overlap in a Venn diagram describing folks who use Windows Media Center, XBOX 360 as a Media Center Extender, and Visual Studio on their WMC machine is probably vanishingly small, I thought it might still be useful to post the problems I experienced with this combo, and the solution.

Continue reading Windows Media Center, XBOX 360, Visual Studio, and You

Always Backup. Always

Last night I learned (or I should say re-learned) a hard lesson. Several lessons, actually. More on that in a moment.

What Not to Do

I built a VM using Hyper-V to have an isolated environment for client work. Stored the VM and its .vhdx file on an external drive. So far, so good.

But for performance, I figured it’d make sense to set the VM up for boot to VHD. Did I mention the VM was installed on an external disk?

Continue reading Always Backup. Always

Boom Or Bust!

This post is for anyone who podcasts, videocasts, or otherwise relies for their living (or hobby) on recording their voice on their computer. It’s particularly addressed to folks like myself who record screencasts, in which you’re teaching people to use software, oftentimes including demos in which you’re typing live while recording your screencast.

Get a Boom!

Last year, I wrote a primer on audio gear for podcasters, as well as a follow up with some additional recommendations. In the first of those posts, I mentioned that I use a RODE PSA1 boom arm for my microphone. This is possibly one of the most important pieces of audio gear I own, even though there isn’t a single bit of electronics in it.

Why? Two words.

Audio Quality.

A Boom Can Help Your Sound

The motivation for this post is the fact that I was listening to a video tutorial (I won’t share where, or who authored it, as that’s not really the point). From the sound quality of the video, it sounds as though the author is using either a built-in mic on their laptop, or perhaps an inexpensive USB mic on a desktop stand. There’s a fair amount of ambient echo, which is typical for rooms that haven’t been acoustically treated, and which is usually perfectly fine.

Noise, Noise, Noise

What’s not fine is hearing repeated thudding each time the author hits their desk. And the thud-thud-thud that comes with every keystroke during the demos. Understand, the point is not to knock the author of this course. It’s to point out that there’s a very easy way to avoid this…a boom.
OK, so this model probably isn’t sold anymore…

A microphone boom arm helps isolate your microphone from sources of noise, including inadvertent taps and bangs on your desk, as well as keyboard noise transmitted through the desk. You can get some of this benefit from a shock or spider mount, but a boom does the best job at isolating vibrations, which is why they’re used by radio professionals, who rely on good sound for their living.

Signal is King

The other big thing that a boom mic can do is improve the signal (i.e. your voice) by allowing you to place the mic closer to the source, namely you. With a boom mic, you can place the mic within a few inches of your face, which will ensure that what you record contains more of your voice, and less of whatever else is going on (echos, outside noises, etc.). If you don’t have a pop filter, just speak slightly off-axis to the mic (turn slightly to the left or right), and you should be able to get a great signal.

Is It Worth the Cost?

The boom I use costs right around $90. If you podcast/videocast as a hobby, that may be more than you’d like to spend. In that case, I’d recommend looking G-Track_2into cheaper solutions, like a spider mount (and to be clear, a spider mount is a must even if you do use a boom). But if you get paid for recording your voice, a boom is a seriously worthwhile expenditure. If your audio has problems, most people won’t tell you that directly. They may not even notice it consciously. But they’ll probably stop listening.

And in addition to the improvements in audio quality a boom can bring, it also adds convenience. Having my mic on a boom means that there’s one less thing cluttering my desk. When I’m done recording a given podcast or video, I just swivel it up out of the way.

Your Turn

I’d love to hear from other podcasters and videocasters about any tips you have for getting the most out of your gear. Drop a comment below, or feel free to use my contact form.