Go inside Echobit.
A while back I went clothes shopping with my brother. While we were waiting in line, it occurred to me how the stores go to great lengths to prevent shoplifting. They obviously cannot have security cameras in the fitting rooms so they need another mechanism, and one popular way is to allow the customers to bring only a certain number of items into the fitting rooms. A lot of places enforce this by counting the number of items you’re bringing into the room (with an upper limit) and handing you a small badge showing exactly how many you’re bringing with you. When you come back out, the number on the badge is compared to the number of items you’re carrying.
This is a pretty simple and straightforward scheme that works quite well. With this post, however, I wanted to highlight how commonly used this approach has become that the stores (and their employees) seem to have forgotten why it was created in the first place. Read more…
I recently had to register myself at the Danish Consulate in New York since I’ve relocated to the US. The registration page asked for various information such as name, address, phone number, e-mail address, and addresses of relatives. It also asked for my passport information, although that was optional.
Most people probably wouldn’t have noticed, but as a security-conscious IT professional I immediately saw that the registration page wasn’t encrypted with SSL. This, in my opinion, is particularly bad practice for a government-controlled website that expects its users to enter confidential information — and we’re not “just” talking credit card information here. Read more…
When Microsoft made the shift from 16-bit to 32-bit they had to still include support for the many 16-bit applications. These applications run in real mode whereas 32-bit applications operate in protected mode. As a result, Windows had to run these legacy applications through an emulation layer (a Virtual DOS Machine [VDM]) called NTVDM. NTVDM has shipped with all 32-bit releases of Windows, but is no longer included in 64-bit Windows versions.
When a 16-bit application is launched on 32-bit Windows, NTVDM is used as a proxy application in order to launch the original application. NTVDM provides a complete virtual 8086 mode environment for the 16-bit application to run in. (In fact, all the proxied applications share a dedicated thread in NTVDM.) Since these applications are hosted internally by NTVDM, they only show up in Task Manager if the user has enabled the “Options->Show 16-bit tasks” menu option. Read more…
Oct 10
I was in Redmond last week with Ken And Steve to attend Microsoft’s DriverDeveloper Conference (DDC). When registering on the first day, we all received these small laptop bags. At some point I was just toying around with mine and my eye caught onto the handle of the zipper: Read more…
A while ago, a friend of mine discovered an interesting discrepancy in how the Visual Studio debugger shows local variables in relation to for-loops. When he demonstrated the issue, I decided to investigate the problem a little further.
To start things off, consider the following code snippet:
void SomeFunction()
{
for (int i = 0; i < 1; ++i);
for (int i = 0; i < 1; ++i);
}
The function above contains two for-loops that do absolutely nothing useful (unless you consider looping useful). What makes these two for-statements interesting, though, is how they both use an iterator variable named i. According to the C standard (C98), i is local to the for-statement in which it is defined. That is, code outside the scope of the for-statement cannot access i. Read more…