Oct 31, 2014
Post comments count0
Post likes count1
A customer reported that they had a file that was "haunted"
on their machine:
Explorer was unable to copy the file.
If you did a copy/paste, the copy dialog displayed an error.
Okay, time to roll up your sleeves and get to work.
This investigation took several hours, but you'll be able to read
it in ten minutes
because I'm deleting all t...
Oct 30, 2014
Post comments count0
Post likes count2
Anon is interested in why the FAT driver is called FASTFAT.SYS. "Was there an earlier slower FAT driver? What could you possibly get so wrong with a FAT implementation that it needed to be chucked out?"
The old FAT driver probably had a boring name like, um, FAT.SYS. At some point, somebody decided to write a newer, faster one, so they called it ...
Oct 29, 2014
Post comments count0
Post likes count1
A customer wanted to know if is possible for an application to edit the user's Start page.
No, there is no interface for editing the user's Start page or even knowing what is on it. The Start page is the user's personal space and applications should not be messing with it.
Imagine if it were possible. Every application would edit the Start page t...
Oct 28, 2014
Post comments count0
Post likes count1
A customer asked how they could have their program prevent the system from going to the idle state. Specifically, when the system goes idle, the application gets into a weird state where it starts leaking memory like crazy. The program normally uses around 100MB of memory, but when the system goes idle, something funky happens and the program's mem...
Oct 27, 2014
Post comments count0
Post likes count1
Suppose you had n indistinguishable balls
and k distinguishable boxes.
Enumerate the ways of distributing the balls into boxes.
Some boxes may be empty.
We can represent each distribution in the form of
n stars and
k - 1 vertical lines.
The stars represent balls,
and the vertical lines divide the balls into boxes.
For example, here are the...
Oct 24, 2014
Post comments count0
Post likes count3
Today we're going to debug a hang.
Here are some of the (redacted) stacks of the process.
I left some red herrings and other frustrations.
Since debugging is an exercise in optimism,
let's ignore the stacks that didn't come out properly.
If we can't make any headway, we can try to fix them,
but let's be hopeful that the stacks that are good
wil...
Oct 23, 2014
Post comments count0
Post likes count1
A customer was doing some diagnostic work and wanted a way to detect
whether the
switch was enabled.
(Remember that the switch is
meaningful only for 32-bit versions of Windows.)
The way to detect the setting is to call
and look at the
.
Compile this as a 32-bit program
and run it.
On 32-bit systems, this reports the system-wide setting...
Oct 22, 2014
Post comments count0
Post likes count1
You might have an application (like a game) where the default
touch contact visualizations are a distraction.
In WinRT, you can disable the contact visualizations by simply saying
In Win32, you use the
function.
To demonstrate that, let's take our
scratch program
and make
this simple change:
The touch visualizations are white and the defau...
Oct 21, 2014
Post comments count0
Post likes count1
Before you ask a question about regular expressions,
you should make sure you and your audience agree on
which regular expression language you are talking about.
Here is a
handy table of which features are supported by
which regular expression language.
You can use that table to solve this customer's problem:
I have a regular expression th...
Oct 20, 2014
Post comments count0
Post likes count1
Today's Little Program takes a random walk through MSDN
by starting at the page
and randomly clicking links.
The exercise is not as important as the technique it demonstrates.
(I'm assuming the reader can figure out what language this script is
written in.
If you have to ask, then you probably won't understand this article
at all.
I am also no...