Clipboard-related MFC crap

I’ve ended up rewriting some part of MFC (the OLE Server / Client data transfer code) , using a memory-usage-oriented approach.

The resulting code is extremely memory-efficient, data is never duplicated between the server and the client (however because of shared memory via CreateFileMapping the task manager mem usage appears to be double the data size, even if it isn’t).

Well it could have been further more optimized using data compression but I needed to stop at some point.

Windows clipboard memory management

I have no idea how Windows handles the clipboard data, however I’m stuck on the following issue: a 100MB bitmap is written to the clipboard but, while retrieving the data in another application, IDataObject::GetData throws E_OUTOFMEMORY – even if I have like 400MB physical RAM available. Crap – I’m ready to implement my own clipboard functions.

Advertisments versus Reviews

Oh I really hate advertisements – they are mostly lies etc

bla

Another solution to the well-known problem (related to procrastination?) of starting working on projects and giving up quickly :) , besides working hard and defeating laziness, is

HD-DVD decrypting

As presented here, it was not so difficult at all. I guess anyone with a somewhat advanced programming knowledge could have done it. Still, kudos to muslix64 for being the first to do it and good luck with Blu-ray :)

OpenGL rants

EXT_framebuffer_object has been supported for ages on ATI hardware, however stencil attachments do now work!

IIS 6.0 + NAT

I had a weird problem with a webserver running IIS 6 and RRAS NAT. So, if you happen to have entries ending with “200 0 64″ or “200 0 1236″ in IIS logs or the server has problems serving a basic file like a gif or png, try the following: have NAT forward 80 to 127.0.0.1 instead of the LAN ip.

Windows Vista has no DirectSound 3D acceleration

And will instead process the sound in software, even if you have the super-duper sound card with hardware acceleration. Reasons cited are that: The
Vista audio architecture changes the way per-stream audio processing
works, which required us to write new software to support this
.

However, OpenAL addresses the issue as it may talk directly to the hardware, bypassing DirectSound.

Via Radu.

How VMWare works

Did you know that:

User-friendly algorithms

PageRank is so cool because it’s easy to understand – you can explain its basics to pretty much everyone. Having an algorithm that is ingenious and can be described easily will certainly help spreading the word faster.

Also – people will feel in control by understanding the underlying stuff, especially if it gives the expected results quickly when playing with it :) .