41554 blogs · [ { "id": "01a08724-0410-7039-b6a6-6d1f34fa5981", "title": "New Year's Predictions 2026", "url": "https://alexduggleby.com/blog/predictions-2026/", "published_at": "2026-01-06T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2f21f785", "title": "Midlife Cycle 2025", "url": "https://alexduggleby.com/blog/midlife-cycle-2025/", "published_at": "2025-10-26T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e7aa7269", "title": "An Introduction to Azure Virtual Networks and Private Links", "url": "https://alexduggleby.com/blog/vnets-and-private-links-in-azure/", "published_at": "2025-04-14T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2297e467", "title": "Deploying Frontdoor to ASP.NET in Different Regions with BICEP", "url": "https://alexduggleby.com/blog/deploying-frontdoor-and-aspnet-with-dedicated-data-regions-using-bicep/", "published_at": "2025-02-25T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f22001cfe", "title": "ASP.NET + SQL Server + Managed Identity with BICEP", "url": "https://alexduggleby.com/blog/deploying-aspnet-sqlserver-using-managed-identity-with-bicep/", "published_at": "2025-02-14T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b5ca5182", "title": "Adding a reverse proxy to an Astro site hosted on Cloudflare Pages", "url": "https://alexduggleby.com/blog/adding-reverse-proxy-for-astro-sites-on-cloudflare-pages/", "published_at": "2024-12-05T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f210147f0", "title": "Converting Astro redirects to Cloudflare redirects", "url": "https://alexduggleby.com/blog/converting-astro-redirects-to-cloudflare-redirects/", "published_at": "2024-12-01T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2fdaa293", "title": "Migrating from Postmark Templates to React Email", "url": "https://alexduggleby.com/blog/migrating-from-postmark-templates-to-react-email/", "published_at": "2024-09-19T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b3d2205d", "title": "Adding ASP.NET Rate Limiting Policies to individual Pages, Folders and Areas through Page Conventions", "url": "https://alexduggleby.com/blog/add-asp-net-rate-limiting-policies-to-pages-folders-and-areas/", "published_at": "2024-09-14T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b52defad", "title": "Adding Distributed Rate Limiting to ASP.NET Identity Pages", "url": "https://alexduggleby.com/blog/adding-distributed-rate-limiting-to-asp-net-identity-pages/", "published_at": "2024-09-14T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b517c390", "title": "Adding a self-hosted captcha alternative to ASP.NET Identity", "url": "https://alexduggleby.com/blog/adding-a-self-hosted-captcha-alternative-to-asp-net-identity/", "published_at": "2024-02-08T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b1c88de2", "title": "A more beautiful based ASP.NET Identity UI based on TailwindCSS and Preline", "url": "https://alexduggleby.com/blog/a-more-beautiful-based-asp-net-identity-ui-based-on-tailwindcss-and-preline/", "published_at": "2024-02-02T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f4820ef7f", "title": "Using Clerk as an OAuth Provider for ASP.NET Core", "url": "https://alexduggleby.com/blog/using-clerk-as-an-oauth-provider-for-asp-net-core/", "published_at": "2023-07-28T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f30840926", "title": "NextJS Router compatible Weglot Language Switcher", "url": "https://alexduggleby.com/blog/nextjs-router-compatible-weglot-language-switcher/", "published_at": "2023-05-23T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2885a647", "title": "How to quickly setup typesense as a drop-in replacement for Algolia DocSearch on TailwindUI templates", "url": "https://alexduggleby.com/blog/how-to-quickly-setup-typesense-as-a-drop-in-replacement-for-algolia-docsearch-on-tailwindui-templates/", "published_at": "2023-02-02T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f201a564c", "title": "The books I read 2020", "url": "https://alexduggleby.com/blog/books-2020/", "published_at": "2020-12-29T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f479de48f", "title": "Using Caddy 2 on an Azure VM to host static content from blob storage", "url": "https://alexduggleby.com/blog/using-caddy-2-on-an-azure-vm-to-host-static-content-from-blob-storage/", "published_at": "2020-04-17T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26aff9c8fe", "title": "A handbook for running great co-working spaces", "url": "https://alexduggleby.com/blog/a-handbook-for-creating-a-great-co-working-spaces/", "published_at": "2020-03-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2118f14a", "title": "Creating and running a remote Estonian software business", "url": "https://alexduggleby.com/blog/creating-and-running-a-remote-estonian-software-business-with-xolo-holvi-transferwise-paddle-and-e-residency/", "published_at": "2020-02-21T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f265b20ee", "title": "Exploration of Tenerife in 90 days", "url": "https://alexduggleby.com/blog/exploration-of-tenerife-in-90-days/", "published_at": "2019-11-30T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e7f296e2", "title": "We're going to charge you extra for our new mandatory login mechanism", "url": "https://alexduggleby.com/blog/were-going-to-charge-you-extra-for-our-new-mandatory-login-mechanism/", "published_at": "2019-02-19T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26afe152ce", "title": "A Capetonian Comeback", "url": "https://alexduggleby.com/blog/a-capetonian-comeback-two-months-in-the-suburbs/", "published_at": "2019-02-14T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f27726da6", "title": "Hoi An - A month visiting a Vietnam village", "url": "https://alexduggleby.com/blog/hoi-an-a-month-visiting-a-vietnam-village/", "published_at": "2019-02-12T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b708ab69", "title": "ASP.NET Identity Cookies in Office 365 / Outlook Add-Ins and the SameSite security setting", "url": "https://alexduggleby.com/blog/asp-net-identity-cookies-in-office-365-outlook-add-ins-and-the-samesite-security-setting/", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f32d45772", "title": "OneDrive PSA: the day it forgot about history", "url": "https://alexduggleby.com/blog/onedrive-the-day-it-forgot-about-our-files/", "published_at": "2018-08-07T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b144e7b8", "title": "A month of tropical co-working in Koh Lanta, Thailand", "url": "https://alexduggleby.com/blog/a-month-of-tropical-co-working-in-koh-lanta-thailand/", "published_at": "2018-04-22T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f455202fd", "title": "Three Months in the Mother City - Cape Town, South Africa", "url": "https://alexduggleby.com/blog/three-months-in-the-mother-city-cape-town-south-africa/", "published_at": "2018-04-15T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f238d9ce2", "title": "Some notes on working, travelling and being a \"digital nomad\"", "url": "https://alexduggleby.com/blog/digital-nomad-guide/", "published_at": "2018-01-07T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f4294ba2d", "title": "The Aegean Month at Birds Bay - Digital Nomads Lesbos", "url": "https://alexduggleby.com/blog/the-aegean-month-at-birds-bay-digital-nomads-lesbos/", "published_at": "2017-06-11T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b79023d1", "title": "Azure Key Vault - Add Custom Role for Deployment Access Only", "url": "https://alexduggleby.com/blog/azure-key-vault-custom-role-for-deployment/", "published_at": "2017-04-26T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b868da82", "title": "Azure KeyVault - Authenticating with Certificates and Reading Secrets", "url": "https://alexduggleby.com/blog/azure-keyvault-authenticating-with-certificates-and-reading-secrets/", "published_at": "2017-04-17T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b86f3e42", "title": "Azure Resource Manager Templates - Using Certificates from KeyVault in AppServices", "url": "https://alexduggleby.com/blog/azure-resource-manager-certificates-from-keyvault/", "published_at": "2017-04-14T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b967d3df", "title": "Azure Resource Manager Templates - Securing your Parameters with KeyVault", "url": "https://alexduggleby.com/blog/azure-resource-manager-securing-your-parameters-with-keyvault/", "published_at": "2017-04-12T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b93edf64", "title": "Azure Resource Manager Templates - Deploying a Website with a Database", "url": "https://alexduggleby.com/blog/azure-resource-manager-deploying-website-and-database/", "published_at": "2017-04-10T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26ba992d44", "title": "Azure Resource Manager Templates - Working with variables, parameters, functions, and loops", "url": "https://alexduggleby.com/blog/azure-resource-manager-variables-parameters-functions-loops/", "published_at": "2017-04-07T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26ba261f34", "title": "Azure Resource Manager Templates 101", "url": "https://alexduggleby.com/blog/azure-resource-manager-templates-tutorial/", "published_at": "2017-04-05T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26bb380c47", "title": "Azure/AzureRM PowerShell 101", "url": "https://alexduggleby.com/blog/azurerm-powershell-tutorial/", "published_at": "2017-04-02T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f269d7677", "title": "Flying around the world with a broken leg", "url": "https://alexduggleby.com/blog/flying-around-the-world-with-a-broken-leg/", "published_at": "2017-02-21T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f313d2859", "title": "Not quite a month in Sanur, Bali", "url": "https://alexduggleby.com/blog/not-quite-a-month-in-sanur-bali/", "published_at": "2017-02-14T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b08e68ce", "title": "A month in Ubud, Bali", "url": "https://alexduggleby.com/blog/a-month-in-ubud-bali/", "published_at": "2017-01-23T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2bc9370b", "title": "Loading Geonames.org data into SQL Server and SQL Azure or \"Why Integers just aren't the right choice for population fields\"", "url": "https://alexduggleby.com/blog/loading-geonames-org-data-into-sql-server-or-why-integers-just-arent-the-right-choice-for-population-fields/", "published_at": "2016-07-22T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2ff263e6", "title": "My Tarifa Experiment - A little braindump for digital nomads", "url": "https://alexduggleby.com/blog/my-tarifa-experiment-a-little-braindump-for-digital-nomads/", "published_at": "2016-05-27T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2562a854", "title": "Excluding Resource Mailboxes (e.g. rooms) from Dynamic Distribution Groups in Office365", "url": "https://alexduggleby.com/blog/excluding-resource-mailboxes-e-g-rooms-from-dynamic-distribution-groups-in-office365/", "published_at": "2016-03-08T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f44788e5c", "title": "The mysterious blue tea", "url": "https://alexduggleby.com/blog/the-mysterious-blue-tea/", "published_at": "2014-07-10T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f277a7603", "title": "How colorful is your tea?", "url": "https://alexduggleby.com/blog/how-colorful-is-your-tea-the-six-colors-of-tea/", "published_at": "2014-07-02T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e8f99913", "title": "WhatsApp conversations increase your medical bills? When ads are not just ads.", "url": "https://alexduggleby.com/blog/when-ads-are-not-just-ads-whatsapp/", "published_at": "2014-02-25T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e6a48862", "title": "Visual Studio 2013 Preview and Apps for SharePoint", "url": "https://alexduggleby.com/blog/visual-studio-2013-preview-and-apps-for-sharepoint/", "published_at": "2013-07-10T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e865ec72", "title": "When a missed flight is not a lost opportunity - the birth of a product", "url": "https://alexduggleby.com/blog/when-a-missed-flight-is-not-a-lost-opportunity-the-birth-of-a-product/", "published_at": "2013-06-27T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26bbe1481d", "title": "\"Bob is on BeardGroomers.com\" - Your system is leaking information", "url": "https://alexduggleby.com/blog/bob-is-on-beardgroomers-com-your-system-is-leaking-information/", "published_at": "2013-05-11T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f437ecc4f", "title": "The Importance of Committing", "url": "https://alexduggleby.com/blog/the-importance-of-committing/", "published_at": "2013-03-05T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f37a36b6e", "title": "SAP .net Connector 2.0 (NCo) RFC Server in \"Running\" State but not appearing in SAP", "url": "https://alexduggleby.com/blog/sap-net-connector-2-0-nco-rfc-server-in-running-state-but-not-appearing-in-sap/", "published_at": "2012-04-19T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f26d49204", "title": "Great Sites! Great First Impressions? Learning from the best landing pages available.", "url": "https://alexduggleby.com/blog/great-sites-great-impressions-learning-from-the-best-landing-pages-available/", "published_at": "2012-03-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f280a9f9c", "title": "How do I run dotLess on embedded resources? or How to embed .less files in assemblies?", "url": "https://alexduggleby.com/blog/how-do-i-run-dotless-on-embedded-resources/", "published_at": "2011-12-28T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f32a83a3b", "title": "Office 365: \"Your data will be deleted in 1 day(s)\" - Or how to scare the **** out of customers", "url": "https://alexduggleby.com/blog/office-365-your-data-will-be-deleted-in-1-days-or-how-to-scare-the-out-of-customers/", "published_at": "2011-10-13T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f328292e7", "title": "Office 365 does not allow more than 16 character passwords or \"Why, why, why???\"", "url": "https://alexduggleby.com/blog/office-365-does-not-allow-more-than-16-character-passwords-or-why-why-why/", "published_at": "2011-07-18T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2a98f4cb", "title": "Lessons learned from using the Facebook Like button", "url": "https://alexduggleby.com/blog/lessons-learned-from-using-the-facebook-like-button/", "published_at": "2011-07-01T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f385f37ca", "title": "SharePoint: Why won't you let me delete a column? A case of \"Cannot complete this action.\"", "url": "https://alexduggleby.com/blog/sharepoint-why-wont-you-let-me-delete-a-column-a-case-of-cannot-complete-this-action/", "published_at": "2011-05-17T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f4004cb03", "title": "Tech-Ed 2010 Berlin - Was it worth it? A definitive Yes, but!", "url": "https://alexduggleby.com/blog/tech-ed-2010-berlin-was-it-worth-it-a-definitive-yes-but/", "published_at": "2010-11-14T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f491ed287", "title": "Visio 2010 Background Layers - Hooray; Copying them crops the image - Boo", "url": "https://alexduggleby.com/blog/visio-2010-background-layers-hooray-copying-them-crops-the-image-boo/", "published_at": "2010-07-05T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e8fbc5cb", "title": "SharePoint PeoplePicker is not displaying any AD Users? or \"Why can't I add user permissions in WSS?\"", "url": "https://alexduggleby.com/blog/why-sharepoint-peoplepicker-displays-no-ad-users-or-why-cant-i-add-user-permissions-in-wss/", "published_at": "2010-05-21T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26bbb13dd8", "title": "Big>Days and StudentBig>Days 2009 - Session Files", "url": "https://alexduggleby.com/blog/bigdays_studentbigdays_sessionfiles/", "published_at": "2009-04-02T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f33a7e8e3", "title": "Only secure passwords please, but no special characters, symbols or spaces please.", "url": "https://alexduggleby.com/blog/only-secure-passwords-please-but-no-special-characters-symbols-or-spaces-please/", "published_at": "2009-03-13T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26baf0fb45", "title": "Azure Services article in dot.net Magazin 04/09", "url": "https://alexduggleby.com/blog/azure-service-in-dotnet-magazin-0409/", "published_at": "2009-03-07T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f20f0ceb4", "title": "Coming up: Student Big>Days and Big>Days 2009", "url": "https://alexduggleby.com/blog/coming-up-student-bigdays-and-bigdays-2009/", "published_at": "2009-03-04T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3f8dbf61", "title": "Tales from the trenches... or Tips for Team Foundation Server Installations in Dual Tier, Mixed x64/x86 and Multi-Domain Environments...", "url": "https://alexduggleby.com/blog/tales-from-the-trenches-or-tips-for-team-foundation-server-installations-in-dual-tier-mixed-x64x86-and-multi-domain-environments/", "published_at": "2009-01-28T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3659c525", "title": "Quick Tip: System Center Operation Manager R2 Beta \"failed to lower Monad ExecutionPolicy security level...\"", "url": "https://alexduggleby.com/blog/quick-tip-system-center-operation-manager-r2-beta-failed-to-lower-monad-executionpolicy/", "published_at": "2009-01-15T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b48fc2a9", "title": "Add Web Reference instead of Service Reference in Visual Studio 2008", "url": "https://alexduggleby.com/blog/add-web-reference-instead-of-service-reference-in-visual-studio-2008/", "published_at": "2008-08-24T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2fee04cb", "title": "'MSDTC unavailable for SQL Express Transactions' or 'Who took my MSDTC settings on Vista?'", "url": "https://alexduggleby.com/blog/msdtc-unavailable-for-sql-express-transactions-or-who-took-my-msdtc-settings-on-vista/", "published_at": "2008-08-24T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f24666acc", "title": "Dynamic Data - GUIDs/uniqueidentifiers as primary keys", "url": "https://alexduggleby.com/blog/dynamic-data-guidsuniqueidentifiers-as-primary-keys/", "published_at": "2008-08-11T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f24691a53", "title": "Entity Data Model generated from SQL 2008 and used with SQL 2005", "url": "https://alexduggleby.com/blog/entity-data-model-generated-against-sql-2008-used-against-sql-2005/", "published_at": "2008-08-11T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3c1f4ed2", "title": "Sync Framework is now RTM - Go check it out!", "url": "https://alexduggleby.com/blog/sync-framework-is-now-rtm-go-check-it-out/", "published_at": "2008-08-06T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3a00449b", "title": "\"SQL Server 2008 Agent will not accept DatabaseMail (bug in feb ctp?)\" or \"How to activate DatabaseMail using stored procedures/regedit\"", "url": "https://alexduggleby.com/blog/sql-server-2008-agent-will-not-accept-databasemail-bug-in-feb-ctp-or-how-to-activate-databasemail-using-stored-proceduresregedit/", "published_at": "2008-08-04T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771ea2dee75", "title": "Windows Server 2008 Terminal Server connections beep", "url": "https://alexduggleby.com/blog/windows-server-2008-terminal-server-connections-beep/", "published_at": "2008-08-04T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e6e9ba5c", "title": "Visual Studio Database Projects with SQL Server 2008 or 'Why do I prefer Google Search?'", "url": "https://alexduggleby.com/blog/visual-studio-database-projects-with-sql-server-2008-or-why-do-i-prefer-google-search/", "published_at": "2008-07-22T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f34525436", "title": "Outlook Form Regions / User Properties / Add-Ins / Ribbons - A quick walkthrough", "url": "https://alexduggleby.com/blog/outlook-form-regions-user-properties-add-ins-ribbons-a-quick-walkthrough/", "published_at": "2008-07-20T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3a895bde", "title": "SQL Server Reporting Services 2008 Tutorial in 5 Minutes or \"How to send my boss a report from a view quickly\"", "url": "https://alexduggleby.com/blog/sql-server-reporting-services-2008-tutorial-in-5-minutes-or-how-to-send-my-boss-a-report-from-a-view-quickly/", "published_at": "2008-07-18T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f28c55567", "title": "Installing MiniSAP 4.6D on SQL Server 2005", "url": "https://alexduggleby.com/blog/installing-minisap-46d-on-sql-server-2005/", "published_at": "2008-07-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f460d1d06", "title": "TOP12 announced and what are *we* doing for the rest of the week", "url": "https://alexduggleby.com/blog/top12-announced-and-what-are-we-doing-for-the-rest-of-the-week/", "published_at": "2008-07-05T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f42a948d5", "title": "The Hattrick begins or The Imagine Cup 2008 Worldwide Finals", "url": "https://alexduggleby.com/blog/the-hattrick-begins-or-the-imagine-cup-2008-worldwide-finals/", "published_at": "2008-07-04T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b789879a", "title": "Availability: March 2020?", "url": "https://alexduggleby.com/blog/availability-march-2020/", "published_at": "2008-06-15T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f36fc5c43", "title": "Restoring a backup. Wait, where are my permissions? or \"How to replace all permissions in one directory tree with the permissions from another identical tree\"", "url": "https://alexduggleby.com/blog/restoring-a-backup-wait-where-are-my-permissions-or-how-to-replace-all-permissions-in-one-directory-tree-with-the-permissions-from-another-identical-tree/", "published_at": "2008-05-27T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f391cddaa", "title": "SkyDrive: Why aren't thou nicer to me? or \"How to crawl pages and download all images using C#\"", "url": "https://alexduggleby.com/blog/skydrive-why-arent-thou-nicer-to-me-or-how-to-crawl-pages-and-download-all-images-using-c/", "published_at": "2008-05-24T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f32227b0c", "title": "Off-Topic: T-SQL: Replace all occurrences in all columns in all tables?", "url": "https://alexduggleby.com/blog/off-topic-t-sql-replace-all-occurrences-in-all-columns-in-all-tables/", "published_at": "2008-05-09T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b31d1c35", "title": "Academic on Tour: Community Launch 2008", "url": "https://alexduggleby.com/blog/academic-on-tour-community-launch-2008/", "published_at": "2008-04-15T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f240cd04b", "title": "dot.net Magazin 5.08 Sync Framework Article and File Sync with VB.net", "url": "https://alexduggleby.com/blog/dotnet-magazin-508-sync-framework-article-and-file-sync-with-vbnet/", "published_at": "2008-04-01T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f46a3a19f", "title": "TriggerCollection does not contain an Add method.", "url": "https://alexduggleby.com/blog/triggercollection-does-not-contain-an-add-method/", "published_at": "2008-03-31T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2a47c809", "title": "Jetbrains dotTrace: Profiling VS2008 Web Apps", "url": "https://alexduggleby.com/blog/jetbrains-dottrace-profiling-vs2008-web-apps/", "published_at": "2008-03-11T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2d97b3d7", "title": "Microsoft Sync Framework CTP2 is out...", "url": "https://alexduggleby.com/blog/microsoft-sync-framework-ctp2-is-out/", "published_at": "2008-03-06T00:00:00+00:00" }, { "id": "01a08724-040f-72be-98dd-fb26b2c3ce3b", "title": "A Reusable Secure Login Form", "url": "https://alexduggleby.com/blog/a-reusable-secure-login-form/", "published_at": "2008-03-05T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2ba32844", "title": "LINQ to SQL for SQL Compact Edition - Did you know?", "url": "https://alexduggleby.com/blog/linq-to-sql-for-sql-compact-edition-did-you-know/", "published_at": "2008-03-03T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3f00f9e3", "title": "Sync Framework: Where does the metadata come from for SqlCeClientSyncProvider (Sync Services for ADO.net 2.0)?", "url": "https://alexduggleby.com/blog/sync-framework-where-does-the-metadata-come-from-for-sqlceclientsyncprovider-sync-services-for-adonet-20/", "published_at": "2008-03-03T00:00:00+00:00" }, { "id": "01a08724-0411-71d2-8042-8771e94826f8", "title": "Windows 2008 - 3 things I wish I had known...", "url": "https://alexduggleby.com/blog/windows-2008-my-first-three-encounters/", "published_at": "2008-02-22T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f472e1f37", "title": "Turning a class library project into a MSTest project (or using MBUnit, MSTest and other frameworks in one project)", "url": "https://alexduggleby.com/blog/turning-a-class-library-project-into-a-mstest-project-or-using-mbunit-mstest-and-other-frameworks-in-one-project/", "published_at": "2008-02-19T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3b77b3f6", "title": "Sync Framework Interview on Channel 8", "url": "https://alexduggleby.com/blog/sync-framework-interview-on-channel-8/", "published_at": "2008-01-31T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f2a773368", "title": "Learn VB.net - German Screencasts Series", "url": "https://alexduggleby.com/blog/learn-vbnet-german-screencasts-series/", "published_at": "2008-01-05T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3c315fd4", "title": "Sync Framework Tutorial - Part #1 - Introduction", "url": "https://alexduggleby.com/blog/sync-framework-tutorial-part-1-introduction/", "published_at": "2007-12-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3c98da28", "title": "Sync Framework Tutorial - Part #2 - Sync Services for ADO.net", "url": "https://alexduggleby.com/blog/sync-framework-tutorial-part-2-sync-services-for-adonet/", "published_at": "2007-12-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3d87a190", "title": "Sync Framework Tutorial - Part #3 - Preparing the server database", "url": "https://alexduggleby.com/blog/sync-framework-tutorial-part-3-preparing-the-server-database/", "published_at": "2007-12-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3e399586", "title": "Sync Framework Tutorial - Part #4 - Thou hast to sync thy data (the client application)", "url": "https://alexduggleby.com/blog/sync-framework-tutorial-part-4-thou-hast-to-sync-thy-data-the-client-application/", "published_at": "2007-12-16T00:00:00+00:00" }, { "id": "01a08724-0410-7039-b6a6-6d1f3e6311ed", "title": "Sync Framework Tutorial - Part #5 - Some Client Provider Schema Details", "url": "https://alexduggleby.com/blog/sync-framework-tutorial-part-5-some-client-provider-schema-details/", "published_at": "2007-12-16T00:00:00+00:00" } ] posts Claim your blog
Back to alexduggleby.com
Blog · corpus.blog/blogs/alexduggleby.com/posts

alexduggleby.com

alexduggleby.com

2026

2025

2024

2023

2020

2019

2018

2017

2016

2014

2013

2012

2011

2010

2009

2008

2007