Online polls

As Troniu said here, let’s try to think at a *perfect* voting system, available online. It should only allow one vote per PC, and of course detect when a proxy is changed. I propose browser plugins for Firefox & IE – either to store some hidden data to mark the vote or to submit a checksum of computer-specific info :D .

Weird stuff

Some bizarre writings about design patterns (via Mike) :D .

What I learned today

1. try … catch stops access violation errors also (could have bet on this)
2. it’s easy to move records from one database table to another:

insert into Table_dest select * from Table_src

Skype crack

Few days ago I’ve started cracking it, but, being busy with other things, these guys were quicker in releasing a patch. Their site seems to be down so maybe I will get again on it.
It’s about getting over the 5-way conferencing limit on AMD processors.

web.config inheritance

There’s no way to disable it in IIS – pretty stupid move. I’ve ended up patching the web.config of a child site to remove or clear parts of the configuration file.

J2ME news

The Java apps on Nokia >= 6630 are skinned (the UI elements, that is) – unlike on the Symbian 7.0 Nokias. This is very good news and comes as a big surprise.

class { operator=

An assignment operator for a simple class like CPoint3D would get unnoticed, right? The performance impact may be pretty severe, as I investigated a case today. As you may guess, there were *lots* of calls to the function – enough to cause a ~5% decrease in speed. Ok course – the function was useless: rep movs is enough.

Irrelevant entry order ?

Default MFC dispatch maps are implemented with direct lookups and not with a search, so after your BEGIN_DISPATCH_MAP you must have DISP_PROPERTYs and DISP_FUNCTIONs exactly in the ascending order of their dispids. Here’s the actual MFC source code:

if ((UINT)LOWORD(memid) <= nEntryCount)
{

MFC CMap gotcha

Although writing value = map[key] is very tempting because it looks nicely there’s a big catch with it: if key is not found an entry is created with the empty value. The correct and recommended way of retrieving is using the Lookup function.

6630 vs 7610