Operating systems always have been my favourite computer related topic, so I know and use many: * **Linux** -- I've been packaging software in several LinuxDistros, including Fedora and Ubuntu. I've also put together and distributed custom Linux distributions for embedded projects, for the OLPC and for the AmigaComputer. * **NetBsd** -- I've become an official developer with commit access around the time NetBSD 1.0 came out. I created a custom NetBSD distribution on CD called the AmigaUnixCompendium. See also OpenSourceDeveloperRole for some of my contributions. * **Sun Solaris** -- I've been using it since Solaris 7, but a few years ago I've lost interest in it because of lack of development. Besides building hundreds of GNU and other packages to replace almost all of Sun's userland, I successfully ported the early versions of KDE 1.x and 2.x to Solaris. * **MacOsX** -- I know this system quite well and have been using it as a user and developer until mid-2006, when Apple started taking some steps back from their previous OpenSource commitment and eventually got rid of the OpenDarwin developers. * **AmigaOs** -- I've been programming a lot on the Amiga in early '90s, mostly as a freelance developer. I expecially praised its unique system and OS architecture, therefore I reused many of its best ideas in my EmbeddedDeveloperRole projects. * **MicrosoftWindows** -- I've been developing for Windows with scarce enthusiasm since Windows 3.1 upto Windows 2000. I'm familiar with most of the Win32 APIs and concepts, including GUI design with common controls and MFC, threading, overlapped I/O, events, COM, ODBC, DAO, VisualBasic, VBA, DirectMedia and DirectDraw. For new Windows development, today I recommend using portability layers and framwworks such as Qt, Cygwin, MingW.