41554 blogs · [ { "id": "01a0d784-297b-7291-9838-3884dd7d7a09", "title": "Miele@home hacking", "url": "https://www.catch22.net/blog/2026-09-20-miele-home-hacking/", "published_at": "2026-09-20T10:02:09+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdc0cb3ac", "title": "Remember RoomTunes?", "url": "https://www.catch22.net/blog/2026-08-11-roomtunes/", "published_at": "2026-08-11T15:10:33+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdc8932f1", "title": "Structures with Strata", "url": "https://www.catch22.net/blog/2026-07-10-strata/", "published_at": "2026-07-10T16:25:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdd613edf", "title": "Loxone vs Zigbee", "url": "https://www.catch22.net/blog/2026-03-01-loxone-zigbee/", "published_at": "2026-03-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdd970b82", "title": "What goes around", "url": "https://www.catch22.net/blog/2023-05-01-full-circle/", "published_at": "2023-05-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdd9f3196", "title": "Integrating Sonos with Loxone", "url": "https://www.catch22.net/drafts/2018-02-02-loxone-sonos/", "published_at": "2018-02-02T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fddbbbbd4", "title": "Source Archive", "url": "https://www.catch22.net/tuts/win32/archive/", "published_at": "2012-01-23T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fde143fa1", "title": "C & C++ Tricks", "url": "https://www.catch22.net/tuts/tips/c-tips-and-tricks/", "published_at": "2012-01-22T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdebf540b", "title": "Unicode Text Editing", "url": "https://www.catch22.net/tuts/neatpad/unicode-text-editing/", "published_at": "2006-11-28T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdebf9f75", "title": "Piece Chains", "url": "https://www.catch22.net/tuts/neatpad/piece-chains/", "published_at": "2006-09-12T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fdfbc340c", "title": "Keyboard Navigation", "url": "https://www.catch22.net/tuts/neatpad/keyboard-navigation/", "published_at": "2006-05-14T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe001d9b5", "title": "Win32 Tips & Tricks - Part 2", "url": "https://www.catch22.net/tuts/tips/tips-and-tricks-part-2/", "published_at": "2006-05-14T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe0de9e5f", "title": "Drawing styled text with Uniscribe", "url": "https://www.catch22.net/tuts/neatpad/drawing-styled-text-uniscribe/", "published_at": "2006-03-06T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe1d9b185", "title": "Integrating UspLib", "url": "https://www.catch22.net/tuts/neatpad/integrating-usplib/", "published_at": "2006-03-06T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe27fa977", "title": "More Uniscribe Mysteries", "url": "https://www.catch22.net/tuts/neatpad/more-uniscribe-mysteries/", "published_at": "2006-03-02T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe2efcb75", "title": "Uniscribe Mysteries", "url": "https://www.catch22.net/tuts/neatpad/uniscribe-mysteries/", "published_at": "2006-03-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe38cc78a", "title": "Introduction to Uniscribe", "url": "https://www.catch22.net/tuts/neatpad/introduction-uniscribe/", "published_at": "2006-02-27T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe3c79a4d", "title": "Transparent Text", "url": "https://www.catch22.net/tuts/neatpad/transparent-text/", "published_at": "2006-02-25T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe49fd2e0", "title": "Unicode Text Processing", "url": "https://www.catch22.net/tuts/neatpad/unicode-text-processing/", "published_at": "2005-12-05T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe50df00c", "title": "Introduction to Unicode", "url": "https://www.catch22.net/tuts/neatpad/introduction-unicode/", "published_at": "2005-12-04T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe5acf12c", "title": "64bit Scrollbars", "url": "https://www.catch22.net/tuts/win32/64bit-scrollbars/", "published_at": "2005-09-02T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe64add13", "title": "Margins and Long Lines", "url": "https://www.catch22.net/tuts/neatpad/margins-and-long-lines/", "published_at": "2005-08-07T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe7136f48", "title": "Scrolling with the Mouse", "url": "https://www.catch22.net/tuts/neatpad/scrolling-mouse/", "published_at": "2005-05-30T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe7fb2bbf", "title": "Mouse Selection & Highlighting", "url": "https://www.catch22.net/tuts/neatpad/mouse-selection-highlighting/", "published_at": "2005-05-29T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe8ab7d2e", "title": "Enhanced Drawing & Painting", "url": "https://www.catch22.net/tuts/neatpad/enhanced-drawing-painting/", "published_at": "2005-04-19T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe9289cf2", "title": "Remote Debugging using VMWare", "url": "https://www.catch22.net/tuts/kernel/remote-debugging/", "published_at": "2005-03-28T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fe9e4d7ca", "title": "Visual C++ Tips & Tricks", "url": "https://www.catch22.net/tuts/tips/visual-c-tips-and-tricks/", "published_at": "2005-03-26T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fea033c70", "title": "Introduction to Device Drivers", "url": "https://www.catch22.net/tuts/kernel/introduction-to-device-drivers/", "published_at": "2005-03-25T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517feac80574", "title": "Scrollbars & Scrolling", "url": "https://www.catch22.net/tuts/neatpad/scrollbars-scrolling/", "published_at": "2005-02-20T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517feafb1237", "title": "Loading a text file", "url": "https://www.catch22.net/tuts/neatpad/loading-text-file/", "published_at": "2005-02-18T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517febccc5fa", "title": "Neatpad Overview", "url": "https://www.catch22.net/tuts/neatpad/neatpad-overview/", "published_at": "2005-01-29T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fec020409", "title": "Drop Source", "url": "https://www.catch22.net/tuts/ole/drop-source/", "published_at": "2004-06-17T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fec0cb80a", "title": "Drop Target", "url": "https://www.catch22.net/tuts/ole/drop-target/", "published_at": "2004-06-17T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fecd58195", "title": "Enumerating FORMATETC", "url": "https://www.catch22.net/tuts/ole/enumerating-formatetc/", "published_at": "2004-06-16T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fedbadb92", "title": "Implementing IDataObject", "url": "https://www.catch22.net/tuts/ole/implementing-idataobject/", "published_at": "2004-06-15T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fedf4c323", "title": "OLE Data Transfers", "url": "https://www.catch22.net/tuts/ole/ole-data-transfers/", "published_at": "2004-06-15T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fee684088", "title": "Drag and Drop Introduction", "url": "https://www.catch22.net/tuts/ole/drag-and-drop-introduction/", "published_at": "2004-02-15T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fef3c6cf0", "title": "Undocumented CreateProcess", "url": "https://www.catch22.net/tuts/system/undocumented-createprocess/", "published_at": "2004-01-06T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fefa9085a", "title": "Custom Combobox", "url": "https://www.catch22.net/tuts/win32/custom-combobox/", "published_at": "2004-01-04T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff002ce20", "title": "System Image List", "url": "https://www.catch22.net/tuts/win32/system-image-list/", "published_at": "2002-07-02T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff0b72dab", "title": "Custom MessageBox", "url": "https://www.catch22.net/tuts/win32/custom-messagebox/", "published_at": "2002-06-30T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff1977273", "title": "Docking Toolbars - Part 2", "url": "https://www.catch22.net/tuts/docking/docking-toolbars-part-2/", "published_at": "2002-06-30T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff1afdada", "title": "Custom Scrollbars - Reference", "url": "https://www.catch22.net/tuts/win32/custom-scrollbars-reference/", "published_at": "2002-01-06T00:00:01+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff1dd53d4", "title": "Custom Scrollbars", "url": "https://www.catch22.net/tuts/win32/custom-scrollbars/", "published_at": "2002-01-06T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff205479b", "title": "CardLib", "url": "https://www.catch22.net/tuts/cards/cardlib/", "published_at": "2001-12-04T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff253bc8d", "title": "CardLib Reference", "url": "https://www.catch22.net/tuts/cards/cardlib-reference/", "published_at": "2001-12-04T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff33d6c0d", "title": "Custom Controls", "url": "https://www.catch22.net/tuts/win32/custom-controls/", "published_at": "2001-11-20T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff4232ad5", "title": "Docking Toolbars - Part 1", "url": "https://www.catch22.net/tuts/docking/docking-toolbars-part-1/", "published_at": "2001-11-20T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff43965e3", "title": "Flicker-free Drawing", "url": "https://www.catch22.net/tuts/win32/flicker-free-drawing/", "published_at": "2001-11-20T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff49055a8", "title": "Cards.dll direct bitmap access", "url": "https://www.catch22.net/tuts/cards/cards-dll-direct-bitmap-access/", "published_at": "2001-10-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff5119561", "title": "Custom Titlebar", "url": "https://www.catch22.net/tuts/win32/custom-titlebar/", "published_at": "2001-10-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff5ebabd3", "title": "Reducing Executable Size", "url": "https://www.catch22.net/tuts/system/reducing-executable-size/", "published_at": "2001-10-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff6330a20", "title": "Self-deleting Executables", "url": "https://www.catch22.net/tuts/system/self-deleting-executables/", "published_at": "2001-10-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff66a15fa", "title": "URL Control", "url": "https://www.catch22.net/tuts/win32/url-control/", "published_at": "2001-10-01T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff6fbf10f", "title": "Memory Techniques - Part 2", "url": "https://www.catch22.net/tuts/system/memory-techniques-part-2/", "published_at": "2001-08-30T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff73227f4", "title": "Directory list control", "url": "https://www.catch22.net/tuts/win32/directory-list-control/", "published_at": "2001-08-26T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff7cb9284", "title": "Drive-list control", "url": "https://www.catch22.net/tuts/win32/drive-list-control/", "published_at": "2001-08-25T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff80517d0", "title": "Customize date-time controls", "url": "https://www.catch22.net/tuts/win32/customize-date-time-controls/", "published_at": "2001-08-23T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff8aa6616", "title": "Memory Techniques - Part 1", "url": "https://www.catch22.net/tuts/system/memory-management-techniques-part-1/", "published_at": "2001-08-20T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ff990a329", "title": "Fixed-width Font Enumeration", "url": "https://www.catch22.net/tuts/win32/fixed-width-font-enumeration/", "published_at": "2001-05-22T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ffa75adc0", "title": "Introduction to Printing", "url": "https://www.catch22.net/tuts/win32/introduction-to-printing/", "published_at": "2001-05-22T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ffade4485", "title": "Splitter Windows", "url": "https://www.catch22.net/tuts/docking/splitter-windows/", "published_at": "2001-05-22T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ffaf9754b", "title": "Using cards.dll API", "url": "https://www.catch22.net/tuts/cards/using-cards-dll-api/", "published_at": "2001-05-22T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ffb974705", "title": "Masked Edit Input", "url": "https://www.catch22.net/tuts/win32/masked-edit-input/", "published_at": "2001-05-21T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ffbd2d45b", "title": "Insert buttons into an edit control", "url": "https://www.catch22.net/tuts/win32/insert-buttons-into-an-edit-control/", "published_at": "2001-05-20T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517ffcaad15a", "title": "Win32 Tips & Tricks", "url": "https://www.catch22.net/tuts/tips/tips-and-tricks/", "published_at": "2001-05-15T00:00:00+00:00" }, { "id": "01a0875d-3ba3-704a-8bfe-517fd806373b", "title": "Q22", "url": "https://www.catch22.net/projects/q22/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517fd8b058b5", "title": "Matrix Screensaver", "url": "https://www.catch22.net/projects/matrix/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517fd9ac073b", "title": "RoomTunes", "url": "https://www.catch22.net/projects/roomtunes/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517fda331371", "title": "WinSpy", "url": "https://www.catch22.net/projects/winspy/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517fdb1dfa66", "title": "HexEdit 2.0", "url": "https://www.catch22.net/projects/hexedit/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517ffd9365d3", "title": "7Calc", "url": "https://www.catch22.net/projects/7calc/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517ffe6672ab", "title": "About", "url": "https://www.catch22.net/about/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517ffe90648a", "title": "Contact", "url": "https://www.catch22.net/contact/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517ffef276b8", "title": "Shed", "url": "https://www.catch22.net/projects/shed/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517fffbdaf91", "title": "Solutions & Services", "url": "https://www.catch22.net/services/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-517fffff2abc", "title": "Sourcecode and Code Snippets", "url": "https://www.catch22.net/tuts/source/", "published_at": null }, { "id": "01a0875d-3ba3-704a-8bfe-5180001e3d96", "title": "Supercalc", "url": "https://www.catch22.net/projects/supercalc/", "published_at": null } ] posts Claim your blog
Back to catch22.net
Blog · corpus.blog/blogs/catch22.net/posts

catch22.net

catch22.net

2026

2023

2018

2012

2006

2005

2004

2002

2001

Undated