41554 blogs · [ { "id": "01a0879f-458f-7086-aedf-084b9287772c", "title": "The Case of the Sadly Real Currently Failing Test", "url": "https://marc.durdin.net/2025/12/the-case-of-the-sadly-real-currently-failing-test/", "published_at": "2025-12-12T20:29:39+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b92bb72a4", "title": "Ancient Mysteries and Private Detectives", "url": "https://marc.durdin.net/2025/06/ancient-mysteries-and-private-detectives/", "published_at": "2025-06-03T04:02:49+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b93668cb7", "title": "Creating and using an Internationalized Domain Name in July 2024", "url": "https://marc.durdin.net/2024/07/creating-and-using-an-idn-in-july-2024/", "published_at": "2024-07-30T00:00:07+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b93e4c6dc", "title": "dynamic import on node.js with circular dependencies leads to interesting failure modes", "url": "https://marc.durdin.net/2023/11/dynamic-import-on-node-js-with-circular-dependencies-leads-to-interesting-failure-modes/", "published_at": "2023-11-05T07:34:42+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b94d22e9e", "title": "What is marriage?", "url": "https://marc.durdin.net/2021/11/what-is-marriage/", "published_at": "2021-11-28T09:16:25+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b95734420", "title": "Debugging a Windows Service", "url": "https://marc.durdin.net/2020/09/debugging-a-windows-service/", "published_at": "2020-09-17T01:08:38+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b963f1176", "title": "location.hash can be re-entrant on Safari Mobile", "url": "https://marc.durdin.net/2018/05/location-hash-can-be-re-entrant-on-safari-mobile/", "published_at": "2018-05-11T08:06:38+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b96d7b266", "title": "The Case of the Overly Busy Process", "url": "https://marc.durdin.net/2018/03/the-case-of-the-overly-busy-process/", "published_at": "2018-03-13T01:15:53+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b97b5a106", "title": "The case for Keyman", "url": "https://marc.durdin.net/2018/03/the-case-for-keyman/", "published_at": "2018-03-10T04:57:12+00:00" }, { "id": "01a0879f-458f-7086-aedf-084b9812b6b9", "title": "Working around Delphi’s default grid scrolling behaviour", "url": "https://marc.durdin.net/2017/07/working-around-delphis-default-grid-scrolling-behaviour/", "published_at": "2017-07-05T03:27:02+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca0135364a", "title": "Substituted layouts in Text Services Framework", "url": "https://marc.durdin.net/2017/07/substituted-layouts-in-text-services-framework/", "published_at": "2017-07-05T02:40:00+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca018cebac", "title": "The Day Henry Broke the Internet – A Short Story – Part 2", "url": "https://marc.durdin.net/2017/06/the-day-henry-broke-the-internet-a-short-story-part-2/", "published_at": "2017-06-25T06:08:20+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca0211d6dc", "title": "The Day Henry Broke the Internet – A Short Story – Part 1", "url": "https://marc.durdin.net/2017/05/the-day-henry-broke-the-internet-a-short-story-part-1/", "published_at": "2017-05-24T14:07:13+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca03060a21", "title": "Protected: When phishers eat rice", "url": "https://marc.durdin.net/2017/03/when-phishers-eat-rice/", "published_at": "2017-03-30T02:36:22+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca034e615e", "title": "The KeymanWeb Hello World app", "url": "https://marc.durdin.net/2017/03/the-keymanweb-hello-world-app/", "published_at": "2017-03-20T00:45:19+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca03bddfe1", "title": "When ញ៉ាំ meets ញ៉ំា", "url": "https://marc.durdin.net/2017/03/when-nyam-meets-nyam/", "published_at": "2017-03-15T03:30:20+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca04b4f72b", "title": "Let’s Encrypt on Windows, redux", "url": "https://marc.durdin.net/2017/02/lets-encrypt-on-windows-redux/", "published_at": "2017-02-10T12:32:04+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca0501a194", "title": "It’s a Mud Life", "url": "https://marc.durdin.net/2016/11/its-a-mud-life/", "published_at": "2016-11-24T14:53:49+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca05bb2d74", "title": "Automating certificate renewal with Let’s Encrypt and ACMESharp on Windows", "url": "https://marc.durdin.net/2016/11/automating-certificate-renewal-with-lets-encrypt-and-acmesharp-on-windows/", "published_at": "2016-11-21T09:49:40+00:00" }, { "id": "01a0bb51-de1e-7112-91e7-45ca05c8b044", "title": "LoadIconWithScaleDown and LoadIconMetric fail when loading .ico for the SM_CXICON/SM_CYICON size", "url": "https://marc.durdin.net/2016/05/loadiconwithscaledown-and-loadiconmetric-fail-when-loading-ico-for-the-sm_cxiconsm_cyicon-size/", "published_at": "2016-05-12T05:13:50+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f45838c7", "title": "Don’t forget to navigate to about:blank when embedding IWebBrowser2", "url": "https://marc.durdin.net/2016/03/dont-forget-to-navigate-to-aboutblank-when-embedding-iwebbrowser2/", "published_at": "2016-03-16T09:38:13+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f52c79b5", "title": "My favourite debugging story", "url": "https://marc.durdin.net/2016/01/my-favourite-debugging-story/", "published_at": "2016-01-22T11:14:19+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f5a294c5", "title": "More windbg tricks with Delphi – how to ignore specific exceptions", "url": "https://marc.durdin.net/2016/01/more-windbg-tricks-with-delphi-how-to-ignore-specific-exceptions/", "published_at": "2016-01-16T23:06:04+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f60ae709", "title": "Windbg and Delphi – a quick reference", "url": "https://marc.durdin.net/2015/11/windbg-and-delphi-a-collection-of-posts/", "published_at": "2015-11-29T22:28:08+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f6b6f533", "title": "Notes on a Khmer mobile keyboard for Keyman", "url": "https://marc.durdin.net/2015/11/notes-on-a-khmer-mobile-keyboard-for-keyman/", "published_at": "2015-11-14T00:13:02+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f73c9588", "title": "Windows 10 shows a blank screen after login", "url": "https://marc.durdin.net/2015/10/windows-10-shows-a-blank-screen-after-login/", "published_at": "2015-10-14T22:24:06+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f804a4a9", "title": "Three things I did last Friday", "url": "https://marc.durdin.net/2015/09/three-things-i-did-last-friday/", "published_at": "2015-09-17T12:37:13+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f8e6b579", "title": "Twenty Dismembered Men", "url": "https://marc.durdin.net/2015/09/twenty-dismembered-men/", "published_at": "2015-09-17T11:31:33+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f90c6491", "title": "The case of the unexplained: When no Windows apps (aka Windows Store apps) will start", "url": "https://marc.durdin.net/2015/09/the-case-of-the-unexplained-when-no-windows-apps-aka-windows-store-apps-will-start/", "published_at": "2015-09-03T23:48:17+00:00" }, { "id": "01a0bb59-9349-73e7-b6f7-fd38f9e57ecb", "title": "GUI Info Utility for Windows", "url": "https://marc.durdin.net/2015/08/gui-info-utility-for-windows/", "published_at": "2015-08-09T01:56:03+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253ed0c2ff6", "title": "An update for EncodeURIComponent", "url": "https://marc.durdin.net/2015/08/an-update-for-encodeuricomponent/", "published_at": "2015-08-04T11:08:39+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253ed1a90e8", "title": "Fixing the incorrect client size for Delphi VCL Forms that use styles", "url": "https://marc.durdin.net/2015/07/fixing-the-incorrect-client-size-for-delphi-vcl-forms-that-use-styles/", "published_at": "2015-07-24T01:56:24+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253edc77b06", "title": "Concatenating strings in SQL Server, or undefined behaviour by design", "url": "https://marc.durdin.net/2015/07/concatenating-strings-in-sql-server-or-undefined-behaviour-by-design/", "published_at": "2015-07-15T00:19:44+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253edcdca1f", "title": "The case of the UAC that Just Wouldn’t", "url": "https://marc.durdin.net/2015/07/the-case-of-the-uac-that-just-wouldnt/", "published_at": "2015-06-30T23:51:53+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253ee48055a", "title": "A deep dive into Periscope – and how to save the stream from the website", "url": "https://marc.durdin.net/2015/06/a-deep-dive-into-periscope-and-how-to-save-the-stream-from-the-website/", "published_at": "2015-06-25T12:08:44+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253eec63cb9", "title": "Doing a Google aka closing down/handing over some stuff", "url": "https://marc.durdin.net/2015/05/doing-a-google-aka-closing-downhanding-over-some-stuff/", "published_at": "2015-05-12T21:12:34+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253efb4a021", "title": "A workaround for a record.property getter bug in the Delphi XE2 compiler", "url": "https://marc.durdin.net/2015/04/a-workaround-for-a-record-property-getter-bug-in-the-delphi-xe2-compiler/", "published_at": "2015-04-01T01:51:03+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253f091f07c", "title": "How to render combining marks consistently across platforms: a long story", "url": "https://marc.durdin.net/2015/01/how-to-rendering-combining-marks-consistently-across-platforms-a-long-story/", "published_at": "2015-01-07T00:30:03+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253f16a8468", "title": "My Disordered Rebuttal to “AngularJs Performance in Large Applications”", "url": "https://marc.durdin.net/2014/12/my-disordered-rebuttal-to-angularjs-performance-in-large-applications/", "published_at": "2014-12-15T00:11:48+00:00" }, { "id": "01a0bb61-b9a9-739e-81b0-d253f1f03f77", "title": "The Digger — by Hannah", "url": "https://marc.durdin.net/2014/10/the-digger-by-hannah/", "published_at": "2014-10-25T01:21:34+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b5a3106e", "title": "How many TLDs is too many?", "url": "https://marc.durdin.net/2014/10/how-many-tlds-is-too-many/", "published_at": "2014-10-17T00:22:44+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b67a89bc", "title": "IE11, Windbg, JavaScript = joy", "url": "https://marc.durdin.net/2014/10/ie11-windbg-javascript-joy/", "published_at": "2014-10-08T04:55:13+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b70c9816", "title": "Extending $resource in AngularJS", "url": "https://marc.durdin.net/2014/10/extending-resource-in-angularjs/", "published_at": "2014-10-07T22:56:07+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b751091e", "title": "Cursor Keys Have Not Improved", "url": "https://marc.durdin.net/2014/09/cursor-keys-have-not-improved/", "published_at": "2014-09-29T05:58:22+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b8339e2f", "title": "Everything you (thought you) knew about Internet password security is wrong", "url": "https://marc.durdin.net/2014/09/everything-you-know-about-password-security-is-wrong/", "published_at": "2014-09-10T21:48:00+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b8601c22", "title": "Risks with third party scripts on Internet Banking sites", "url": "https://marc.durdin.net/2014/09/risks-with-third-party-scripts-on-internet-banking-sites/", "published_at": "2014-09-08T10:44:36+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b8cfb57c", "title": "Nearly crushed by a cement truck on my ride today", "url": "https://marc.durdin.net/2014/07/nearly-crushed-by-a-cement-truck-on-my-ride-today/", "published_at": "2014-07-01T09:18:29+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198b9bf9e7f", "title": "Fifty-nine vulnerabilities, or do you feel safe using Windows XP?", "url": "https://marc.durdin.net/2014/06/fifty-nine-vulnerabilities-or-do-you-feel-safe-using-windows-xp/", "published_at": "2014-06-10T21:39:37+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198ba6f5807", "title": "iOS 8 beta 1 — first bug reports", "url": "https://marc.durdin.net/2014/06/ios-8-beta-1-first-bug-reports/", "published_at": "2014-06-03T05:09:43+00:00" }, { "id": "01a0bb67-fc8e-71fd-a250-1198bb459cc1", "title": "Using Delphi attributes to unify source, test and documentation", "url": "https://marc.durdin.net/2014/05/using-delphi-attributes-to-unify-source-test-and-documentation/", "published_at": "2014-05-26T03:59:03+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a576e9f4f3", "title": "The Beautiful City of Software", "url": "https://marc.durdin.net/2014/05/the-beautiful-city-of-software/", "published_at": "2014-05-12T22:21:54+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a576fe0e1f", "title": "Making global MIME Type mapping changes in IIS7 can break sites with custom MIME Type mappings", "url": "https://marc.durdin.net/2014/04/making-global-mime-type-mapping-changes-in-iis7-can-break-sites-with-custom-mime-type-mappings/", "published_at": "2014-04-22T00:36:06+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a577b0dc67", "title": "Daniel Higginbottom and The Penguin", "url": "https://marc.durdin.net/2014/03/daniel-higginbottom-and-the-penguin/", "published_at": "2014-03-27T08:33:04+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a5780feed3", "title": "Generics and Delphi enumerated types without RTTI", "url": "https://marc.durdin.net/2014/03/generics-and-delphi-enumerated-types-without-rtti/", "published_at": "2014-03-24T23:09:32+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a57900afb6", "title": "Testing for design time in Delphi, in an initialization section", "url": "https://marc.durdin.net/2014/03/testing-for-design-time-in-delphi-in-an-initialization-section/", "published_at": "2014-03-24T01:01:23+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a5792d52de", "title": "Even charset geeks can be fooled by character spoofing", "url": "https://marc.durdin.net/2014/03/even-charset-geeks-can-be-fooled-by-character-spoofing/", "published_at": "2014-03-07T06:06:39+00:00" }, { "id": "01a0bb6c-2357-7162-b76f-d9a579d84e9a", "title": "Camping at Freycinet", "url": "https://marc.durdin.net/2014/02/camping-at-freycinet/", "published_at": "2014-02-25T02:23:21+00:00" }, { "id": "01a0bb6c-2358-7383-85be-575c14fa0893", "title": "Finding class instances in a Delphi process using WinDbg", "url": "https://marc.durdin.net/2013/12/finding-class-instances-in-a-delphi-process-using-windbg/", "published_at": "2013-12-10T00:10:38+00:00" }, { "id": "01a0bb6c-2358-7383-85be-575c154fb3af", "title": "Rant: Why can’t Microsoft provide actually useful titles on their updates?", "url": "https://marc.durdin.net/2013/11/rant-why-cant-microsoft-provide-actually-useful-titles-on-their-updates/", "published_at": "2013-11-12T22:54:38+00:00" }, { "id": "01a0bb6c-2358-7383-85be-575c15915318", "title": "The farce of security challenge questions (yes, ANZ, I’m talking about you!)", "url": "https://marc.durdin.net/2013/11/the-farce-of-security-challenge-questions/", "published_at": "2013-11-04T22:29:33+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611a984ef88", "title": "Hobart 10,000 Day 1, 2013 Report", "url": "https://marc.durdin.net/2013/11/hobart-10000-day-1-2013-report/", "published_at": "2013-11-03T04:41:26+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611aa4e28a5", "title": "Delphi’s TJSONString.ToString is broken, and how to fix it", "url": "https://marc.durdin.net/2013/11/delphis-tjsonstring-tostring-is-broken/", "published_at": "2013-11-01T01:11:42+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611aaab9cc8", "title": "Debugging a stalled Delphi process with Windbg and memory searches", "url": "https://marc.durdin.net/2013/10/debugging-a-stalled-delphi-process-with-windbg-and-memory-searches/", "published_at": "2013-10-30T01:15:33+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611ab122268", "title": "Introducing Mesmeride", "url": "https://marc.durdin.net/2013/10/introducing-mesmeride/", "published_at": "2013-10-26T07:03:49+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611aba7cf72", "title": "Almost Caving, and Tourist Caving", "url": "https://marc.durdin.net/2013/10/almost-caving-and-tourist-caving/", "published_at": "2013-10-11T12:10:33+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611ac515b1e", "title": "The case of the stack trace that wouldn’t (trace)", "url": "https://marc.durdin.net/2013/09/the-case-of-the-stack-trace-that-wouldnt/", "published_at": "2013-09-18T01:05:14+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611ac818bd2", "title": "Giro-Your-Strava now does Strava Routes as well", "url": "https://marc.durdin.net/2013/09/giro-your-strava-now-does-strava-routes-as-well/", "published_at": "2013-09-04T22:47:23+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611ad399bed", "title": "Our collective wrongs", "url": "https://marc.durdin.net/2013/09/our-collective-wrongs/", "published_at": "2013-09-02T22:45:00+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611ad6e8db1", "title": "I am happy to announce that the missing characters have been found!", "url": "https://marc.durdin.net/2013/08/i-am-happy-to-announce-that-the-missing-characters-have-been-found/", "published_at": "2013-07-31T22:44:00+00:00" }, { "id": "01a0bb70-137f-7323-8d9c-8611ae3c1dd6", "title": "Giro-Your-Strava updated to give Le Tour treatment to the climbs!", "url": "https://marc.durdin.net/2013/07/giro-your-strava-updated-to-give-le-tour-treatment-to-the-climbs/", "published_at": "2013-07-13T05:22:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27a5352cb", "title": "Strava have decided to abandon their developer community", "url": "https://marc.durdin.net/2013/07/strava-have-decided-to-abandon-their-developer-community/", "published_at": "2013-07-03T04:31:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27b47c168", "title": "Giro-style elevation graphs for Strava", "url": "https://marc.durdin.net/2013/05/giro-style-elevation-graphs-for-strava/", "published_at": "2013-05-23T22:55:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27be6ffd8", "title": "RSA Key Exchange between CryptoAPI and CNG (BCrypt)", "url": "https://marc.durdin.net/2013/05/rsa-key-exchange-between-cryptoapi-and-cng-bcrypt/", "published_at": "2013-05-22T10:27:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27c52af15", "title": "RIGHTeously tripping over T-SQL’s LEN function", "url": "https://marc.durdin.net/2013/04/righteously-tripping-over-t-sqls-len-function/", "published_at": "2013-04-24T07:27:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27d03839a", "title": "Hell of the South", "url": "https://marc.durdin.net/2013/04/hell-of-the-south-2/", "published_at": "2013-04-07T09:59:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27dc0f561", "title": "The Fragile Abstract Factory Delphi Pattern", "url": "https://marc.durdin.net/2012/11/the-fragile-abstract-factory-delphi-pattern/", "published_at": "2012-11-22T05:01:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27dcc59d9", "title": "Cursing over cursor keys", "url": "https://marc.durdin.net/2012/11/cursing-over-cursor-keys/", "published_at": "2012-11-16T21:04:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27e5682a4", "title": "How not to re-raise an exception in Delphi", "url": "https://marc.durdin.net/2012/10/how-not-to-re-raise-an-exception-in-delphi/", "published_at": "2012-10-30T04:46:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27e7d6fed", "title": "When driving in a strange place doesn’t turn out quite the way you were expecting", "url": "https://marc.durdin.net/2012/10/when-driving-in-a-strange-place-doesnt-turn-out-quite-the-way-you-were-expecting/", "published_at": "2012-10-18T04:42:00+00:00" }, { "id": "01a0bb73-95d7-71b0-adfb-6dc27e84a365", "title": "The Hobart 10,000", "url": "https://marc.durdin.net/2012/10/the-hobart-10000/", "published_at": "2012-10-03T22:19:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef2f867af", "title": "The Southern Ocean… According to Apple", "url": "https://marc.durdin.net/2012/09/the-southern-ocean-according-to-apple/", "published_at": "2012-09-21T09:54:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef31a301e", "title": "How we told our girls about the new baby", "url": "https://marc.durdin.net/2012/09/how-we-told-our-girls-about-the-new-baby/", "published_at": "2012-09-20T13:14:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef413465f", "title": "Delphi, Win32 and leaky exceptions", "url": "https://marc.durdin.net/2012/09/delphi-win32-and-leaky-exceptions/", "published_at": "2012-09-11T00:47:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef46c5bfa", "title": "Why does switching languages hang my app?", "url": "https://marc.durdin.net/2012/08/why-does-switching-languages-hang-my-app/", "published_at": "2012-08-30T23:09:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef552a10e", "title": "WaitForSingleObject. Why you should never use it.", "url": "https://marc.durdin.net/2012/08/waitforsingleobject-why-you-should-never-use-it/", "published_at": "2012-08-30T13:43:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef5c18c34", "title": "Locating Delphi exceptions in a live session or dump using WinDbg", "url": "https://marc.durdin.net/2012/08/locating-delphi-exceptions-in-a-live-session-or-dump-using-windbg/", "published_at": "2012-08-29T10:56:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef6415646", "title": "Mixing RTL and LTR: Plaintext vs HTML", "url": "https://marc.durdin.net/2012/08/mixing-rtl-and-ltr-plaintext-vs-html/", "published_at": "2012-08-29T05:13:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef69e55f0", "title": "When characters go astray: diagnosing missing characters when printing with IE9", "url": "https://marc.durdin.net/2012/08/when-characters-go-astray-diagnosing-missing-characters-when-printing-with-ie9/", "published_at": "2012-08-22T06:37:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef7515f24", "title": "Second Rant: Why oh why does Adobe Reader need to restart?", "url": "https://marc.durdin.net/2012/08/second-rant-why-oh-why-does-adobe-reader-need-to-restart/", "published_at": "2012-08-20T04:20:00+00:00" }, { "id": "01a0bb76-d245-7208-992e-97aef81f265f", "title": "Rant of the day: The Big Green Download Button", "url": "https://marc.durdin.net/2012/08/rant-of-the-day-the-big-green-download-button/", "published_at": "2012-08-20T01:20:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c9507f970", "title": "Detecting the Citadel Trojan with an Application Failure", "url": "https://marc.durdin.net/2012/08/detecting-the-citadel-trojan-with-an-application-failure/", "published_at": "2012-08-15T02:18:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c95607ad2", "title": "Plotting Pretty Elevation Profiles with the Strava API", "url": "https://marc.durdin.net/2012/08/plotting-pretty-elevation-profiles-with-the-strava-api/", "published_at": "2012-08-12T10:34:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c95a7897b", "title": "Indy, TIdURI.PathEncode, URLEncode and ParamsEncode and more", "url": "https://marc.durdin.net/2012/07/indy-tiduri-pathencode-urlencode-and-paramsencode-and-more/", "published_at": "2012-07-17T01:21:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c9646b29e", "title": "Understanding and correcting interface reference leaks in Delphi’s Vcl.OleCtrls.pas", "url": "https://marc.durdin.net/2012/07/understanding-and-correcting-interface-reference-leaks-in-delphis-vcl-olectrls-pas/", "published_at": "2012-07-02T04:07:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c96671bc9", "title": "Hobart Dirty Dozen ride", "url": "https://marc.durdin.net/2012/06/hobart-dirty-dozen-ride/", "published_at": "2012-06-13T00:10:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c9756acb5", "title": "Rainforest Walk", "url": "https://marc.durdin.net/2012/06/rainforest-walk/", "published_at": "2012-06-02T10:08:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c983e7ba5", "title": "Corrie: why is she a hero?", "url": "https://marc.durdin.net/2012/06/corrie-why-is-she-a-hero/", "published_at": "2012-06-01T03:52:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c98876f80", "title": "Race Shape for Strava and a Bookmarklet to link them", "url": "https://marc.durdin.net/2012/05/race-shape-for-strava-and-a-bookmarklet-to-link-them/", "published_at": "2012-05-29T08:16:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c98e29d8e", "title": "Delphi XE2’s hidden hints and warnings options", "url": "https://marc.durdin.net/2012/05/delphi-xe2s-hidden-hints-and-warnings-options/", "published_at": "2012-05-23T01:10:00+00:00" }, { "id": "01a0bb7a-1230-70db-b851-553c99344a6b", "title": "Updates to kmwString functions", "url": "https://marc.durdin.net/2012/05/updates-to-kmwstring-functions/", "published_at": "2012-05-10T22:13:00+00:00" } ] posts Claim your blog
Back to marc.durdin.net
Blog · corpus.blog/blogs/marc.durdin.net/posts

marc.durdin.net

marc.durdin.net

2025

2024

2023

2021

2020

2018

2017

2016

2015

2014

2013

2012