Blog Projects Publications Contact About

Archive for the ‘C/C++’ Category

MinGW on Mac, hell yeah!

Thursday, March 19th, 2009

GCC LogoWant to build some small/or not, neat Windows/or Linux application on your Mac? Just use MinGW/Linux GCC cross compiler package from Pierre Molinaro. Those were recently updated to GCC 4.2 and do cross-compile really fast, especially when using make -j2.

It is hard to be Switcher and totally forget/abandon Windows projects, since most of my clients… well almost all of them are on *indows. So since I switched, I am constant user of VMWare Fusion + XP (Win7, Win98) as a guest OS having Visual Studio installed inside. But sometimes if you want to create small cute application for *indows I prefer do it 100% on Mac with TextMate, then just test it on Windows. This is what MinGW cross compiler is perfect for. Not to mention I did Miranda’s MinGW Makefile that successfully builds miranda on Linux/Mac using cross-compiler, so it can be queued for nightly builds on SF.net servers.

No more free lunch, maybe a pie for free?

Thursday, March 12th, 2009

How to survive computing paradigm shift

We cannot count on free “performance lunch” anymore, but how about at least a pie for free? Do we need to throw all our old source-code into the trash bin and start over again? 

Certainly, not. We may think of our old software as a zombie of the new multi-core era. Still there is a way to make the zombie walk, even walk faster. Of course we will need to rewrite our code sometime, but we may postpone this nasty need for a while. 

The computing paradigm shift is now a fact we need to learn how to live with. It is unquestionable that processor manufacturers hit the barrier of 3 GHz. There pretty many news about spinning the CPU up to 5 GHz or so, but do not try to do so at home unless you got liquid nitrogen cylinder around. Over 3 GHz heat emission grows unreasonably making the CPU economically worthwhile. 

So the only sensible way is now horizontal performance improvement, doubling the number of processing units. This means we can expect soon 128 core CPUs. Oh, wait they are here already; nVidia GeForce 9 series are perfect example of 128 core streaming processor. 

Now how to keep up with things that happen so fast. First we need focus more on performance of our code. Something that was not important before, now cannot be ignored.
(more…)

Assigned to GNU

Saturday, March 8th, 2008

Today I got assigned to two GNU projects: GNU IDN Library & GNU SASL Library. As jabberd2 relays on both of them and I am the one responsible for making it running on Windows, I had to make few patches, that were gratefully accepted by Simon Josefsson – maintainer of those GNU libraries.

Recently I’ve received two papers from GNU (originated from U.S.) and few great stickers with gnus :) I had to sign it back after carefully studying them. And now I am officially assigned and my changes went to the official repository.

Can I call myself genuine OpenSource developer now !?

Themed menu’s icons, a complete Vista and XP solution (updated)

Tuesday, June 12th, 2007

Update: Steve King has patched my Vista GDI+ based menus with pure GDI method at TortoiseSVN revision 14191 as described lately by Microsoft. Pure GDI method no longer requires GDI+, which is not present in Premium versions of Vista, maintaining full compatibility with older versions of Windows.

I’m an author of few patches for both Tortoise SVN and Tortoise CVS that makes them display the explorer’s context menu icons nicely on XP and Windows 2000. Both programs are implementing IContextMenu and using QueryContextMenu function to create items of popup menu of explorer. Briefly the called extension must fill menu items with InsertMenuItem using suplied HMENU hmenu parameter.

During development of those few patches I’ve learnt some few new things about way we make icons displayed next to menu items I want to share with you… (more…)