For 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
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!
It comes in lots of shapes and sizes, and it can be both physical and virtual.
Not sure how I missed this when it originally aired, but this Azure Friday video from last June does a great job of showing off one of the benefits of Azure Web Sites, namely free analytics.
The other day I came across an article describing 8 mistakes our brains make subconsciously, and it struck me that I was experiencing one of them at that very moment, namely the sunk cost fallacy.
Let it go, already. (photo – “sunken skiff” by Jenny Spadafora)
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.
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?
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.
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 into 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.
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.
Here are some resources and blog posts from my fellow Technical Evangelists here in East Region: