A tale of two tethers

Those of you using your Android phone as an internet connection may be paying more than you need to pay. Many phone companies here in the US charge extra to enable tethering capability, either by providing their own OEM tethering app or by enabling the phone to serve as a Wi-fi hotspot. ...

June 3, 2011 · 2 min · Owen Wengerd

The MFC Balloon

The MFC version that ships with Visual Studio 2010 is known to cause major explosions in file size (https://connect.microsoft.com/VisualStudio/feedback/details/504714/statically-linked-mfc-applications-are-massive) when you link statically. To avoid that problem, I use the Visual Studio 2008 build tools for such cases. I recently got quite a surprise when I rebuilt one such MFC application and discovered that the executable had ballooned from 400kb to 2MB in the space of one week despite only very minor changes. ...

April 15, 2011 · 2 min · Owen Wengerd

BRX on Linux: Getting Started

When I heard that Bricsys had shipped Bricscad for Linux, I was anxious to get to work on supporting the Linux platform. The first order of business was getting familiar with Linux. For that, I chose Ubuntu 10.10 32-bit running on a VMWare Workstation 7.1 (http://www.vmware.com/workstation) virtual machine hosted on my Windows 7 64-bit workstation. ...

April 10, 2011 · 3 min · Owen Wengerd

ObjectARX Wizard for Visual Studio 2010

If you’re an ObjectARX programmer, you may still be using Visual Studio 2008 because you’ve been told that you must. It’s true that you need Visual Studio 2008 installed to compile native ObjectARX code, but with Daffodil you can do all your work in the Visual Studio 2010 IDE. ...

April 1, 2011 · 1 min · Owen Wengerd

AutoCAD 2012 InfoCenter

If you’re upgrading to AutoCAD 2012, don’t forget to also disable InfoCenter (unless you really need it). Just download and install AcadInfoCenterOff to disable it on any version of AutoCAD or AutoCAD LT. If you already have AcadInfoCenterOff installed, you can just run a repair install to apply it to a newly installed instance of AutoCAD 2012.

March 25, 2011 · 1 min · Owen Wengerd

Simplifying the problem: plain vanilla configuration

One of the stages in simplifying an AutoCAD software problem is to rule out (or in) third party add-ons as the cause. To do that, you’ll need a “plain vanilla” test bed configuration that consists of only the out-of-the-box components with no add-ons loaded. ...

February 26, 2011 · 2 min · Owen Wengerd

Simplifying the problem: divide and conquer

When a customer reports a drawing-specific issue, the next stage in simplifying the problem is to eliminate all drawing content that has no bearing on the problem. Unless the drawing object that causes the problem is obvious and can be immediately ascertained, I use the divide-and-conquer method to zero in on the cause. ...

February 25, 2011 · 3 min · Owen Wengerd

Simplifying the problem: is it the drawing?

One type of support request that I occasionally receive from CADVault users goes something like “when I create a vault, AutoCAD crashes”. I’ve learned that problems like this are usually drawing-specific, so before going any further in simplifying the problem I ask the customer to check whether the problem occurs in an empty drawing. But there’s a trick to this. ...

February 24, 2011 · 2 min · Owen Wengerd

The art of simplifying the problem

One of the most important skills in resolving technical problems is not problem solving, but problem definition. Stripping a problem down to its essence often makes the solution obvious. I think this is generally true, but especially true in my experience with software tech support and tracking down software bugs. ...

February 23, 2011 · 2 min · Owen Wengerd

All your base are belong to us

Excited news stories this morning about how your computer is vulnerable to attack from a phone plugged into your USB port (http://news.cnet.com/8301-27080_3-20028919-245.html) made me chuckle. This “novel hack” involves making an Android phone mimic a USB keyboard in order to send keystrokes to the computer. Cool, but why wouldn’t a hacker just use a USB keyboard in the first place? ...

January 24, 2011 · 2 min · Owen Wengerd

What's the diff?

One of the required tools in a programmer’s toolbox is a tool for comparing files. File comparison utilities have come a long way since the original Unix diff command, but this genre of utilities is still referred to as diff tools. For Windows, I use an open source diff utility called WinMerge. WinMerge includes a shell extension that makes it easy to use from within Windows Explorer. ...

December 29, 2010 · 2 min · Owen Wengerd

Debugging heap corruption with PageHeap

Heap corruption bugs in C++ code can present some difficult debugging challenges. Often the actual corruption goes unnoticed until some apparently random point in the future when the corrupt memory is accessed by unrelated code. In such cases, it’s almost impossible to infer the location of the bug using typical debugging tools. ...

December 15, 2010 · 2 min · Owen Wengerd