41554 blogs · [ { "id": "01a08769-88c4-73e2-a12d-bf8ebf144c4e", "title": "LLMs Will Not Replace You", "url": "https://www.davidhaney.io/llms-will-not-replace-you/", "published_at": "2025-05-29T14:32:14+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ebfddfe00", "title": "The Tech Interview AI Cheating Epidemic", "url": "https://www.davidhaney.io/the-tech-interview-ai-cheating-epidemic/", "published_at": "2025-03-14T00:36:25+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec06dec2b", "title": "Configuring .NET Core Data Protection For Azure", "url": "https://www.davidhaney.io/configuring-net-core-data-protection-for-azure/", "published_at": "2024-10-11T13:25:18+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec070255f", "title": "Leaving Stack Overflow and Building CodeSession", "url": "https://www.davidhaney.io/leaving-stack-overflow-and-building-codesession/", "published_at": "2024-10-07T13:23:18+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec0ff3e8f", "title": "About David Haney", "url": "https://www.davidhaney.io/about/", "published_at": "2024-09-29T00:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec1fa72c4", "title": ".NET Core MVC - How to Access appsettings.json", "url": "https://www.davidhaney.io/net-core-mvc-access-appsettings-json/", "published_at": "2020-11-09T05:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec256e5a1", "title": "Sabbatical Week One", "url": "https://www.davidhaney.io/sabbatical-week-one/", "published_at": "2019-09-08T05:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec2b847e5", "title": "Sabbatical Begins", "url": "https://www.davidhaney.io/sabbatical-begins/", "published_at": "2019-08-31T05:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec384a4f7", "title": ".NET Core Azure Functions Tutorial", "url": "https://www.davidhaney.io/net-core-azure-functions-tutorial/", "published_at": "2018-11-19T05:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec3d9d766", "title": "New Blog Name and Domain", "url": "https://www.davidhaney.io/new-blog-name-and-domain/", "published_at": "2018-08-03T04:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec449443c", "title": "Writing a Great Junior Tech Résumé", "url": "https://www.davidhaney.io/writing-a-great-junior-tech-resume/", "published_at": "2018-07-24T04:00:00+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec521d84a", "title": "New Blog & Hiring Needs", "url": "https://www.davidhaney.io/new-blog-and-hiring-needs/", "published_at": "2018-06-09T17:56:24+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec5ad67e1", "title": "On Hiring: Developers Are Like Stocks", "url": "https://www.davidhaney.io/on-hiring-developers-are-like-stocks/", "published_at": "2017-02-10T11:11:30+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec5e2dcd9", "title": "GitLab Data Loss: A Discussion", "url": "https://www.davidhaney.io/gitlab-data-loss-a-discussion/", "published_at": "2017-02-02T11:33:02+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec6580221", "title": "Dev Team Interactions: Conducting Good Code Reviews", "url": "https://www.davidhaney.io/dev-team-interactions-conducting-good-code-reviews/", "published_at": "2017-01-27T10:03:20+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec65ab8a4", "title": "Dev Team Interactions: Accountability & Blame", "url": "https://www.davidhaney.io/dev-team-interactions-accountability-blame/", "published_at": "2017-01-20T13:20:59+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec7321839", "title": "Custom ASP.NET MVC Action Result Cache Attribute", "url": "https://www.davidhaney.io/custom-asp-net-mvc-action-result-cache-attribute/", "published_at": "2017-01-10T09:07:15+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec77ce2ac", "title": "Our Industry Needs Compassion", "url": "https://www.davidhaney.io/our-industry-needs-compassion/", "published_at": "2017-01-03T12:37:39+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec7c56c6f", "title": "Let's Talk About Rock Stars & Egos", "url": "https://www.davidhaney.io/lets-talk-about-rock-stars-egos/", "published_at": "2016-06-17T17:02:13+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec862676b", "title": "NPM & left-pad: Have We Forgotten How To Program?", "url": "https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how-to-program/", "published_at": "2016-03-23T18:01:52+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec8d70faf", "title": "Developer Compensation: Stack Overflow Doesn't Stack Rank", "url": "https://www.davidhaney.io/developer-compensation-stack-overflow-doesnt-stack-rank/", "published_at": "2016-02-26T14:05:41+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec9173ca0", "title": "Diversity Is Really Freaking Hard", "url": "https://www.davidhaney.io/diversity-is-really-freaking-hard/", "published_at": "2015-09-24T11:23:38+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec970bb62", "title": "Developer Turned Manager", "url": "https://www.davidhaney.io/developer-turned-manager/", "published_at": "2015-08-03T14:18:02+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ec99880c1", "title": "Developers Shouldn't Measure Twice, Cut Once", "url": "https://www.davidhaney.io/developers-shouldnt-measure-twice-cut-once/", "published_at": "2015-04-15T16:25:02+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8eca3acc39", "title": "On Secretly Terrible Engineers - A Rebuttal", "url": "https://www.davidhaney.io/on-secretly-terrible-engineers-a-rebuttal/", "published_at": "2015-03-09T18:32:37+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecab8418f", "title": "The Recruiting Competitive Advantage", "url": "https://www.davidhaney.io/the-recruiting-competitive-advantage/", "published_at": "2015-01-23T12:04:37+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecaccdd5c", "title": "On Credentialism In Software Development", "url": "https://www.davidhaney.io/on-credentialism-in-software-development/", "published_at": "2014-12-29T16:00:27+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecb917507", "title": "The Trouble With Job Titles", "url": "https://www.davidhaney.io/the-trouble-with-job-titles/", "published_at": "2014-10-17T18:41:14+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecb9d549b", "title": "iPhone 6: Style Over Substance", "url": "https://www.davidhaney.io/iphone-6-style-over-substance/", "published_at": "2014-09-09T19:22:53+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecc07ac37", "title": "How I Got A Job At Stack Exchange", "url": "https://www.davidhaney.io/how-i-got-a-job-at-stack-exchange/", "published_at": "2014-06-20T16:59:10+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8eccf75bb2", "title": "How To Guarantee Dev Team Failure", "url": "https://www.davidhaney.io/how-to-guarantee-dev-team-failure/", "published_at": "2014-05-07T13:27:35+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecd1d5e83", "title": "To Node.js Or Not To Node.js", "url": "https://www.davidhaney.io/to-node-js-or-not-to-node-js/", "published_at": "2014-03-24T16:41:25+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecd496ad1", "title": "C# Probably Getting New \"Safe Navigation\" Operator \"?.\"", "url": "https://www.davidhaney.io/c-probably-getting-new-safe-navigation-operator/", "published_at": "2014-02-28T11:47:08+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ece261283", "title": "Trigger IValidatableObject.Validate When ModelState.IsValid is false", "url": "https://www.davidhaney.io/trigger-ivalidatableobject-validate-when-modelstate-isvalid-is-false/", "published_at": "2014-02-05T15:55:40+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ece7c3b63", "title": "Interview with InfoQ on SimplSockets", "url": "https://www.davidhaney.io/interview-with-infoq-on-simplsockets/", "published_at": "2013-12-11T10:54:43+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecf07261f", "title": "MVC4 Conditional HTML Attributes", "url": "https://www.davidhaney.io/mvc4-conditional-html-attributes/", "published_at": "2013-11-27T00:34:25+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecf22f194", "title": "Automatically Generate POCOs From DB With T4", "url": "https://www.davidhaney.io/automatically-generate-pocos-from-db-with-t4/", "published_at": "2013-10-16T21:35:51+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ecf7c8cd5", "title": "Web API Mapping QueryString/Form Input", "url": "https://www.davidhaney.io/web-api-mapping-querystringform-input/", "published_at": "2013-07-24T17:55:12+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed03200df", "title": "Generic Comparer", "url": "https://www.davidhaney.io/generic-comparer/", "published_at": "2013-04-22T14:53:17+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed11cdda4", "title": "One More Thing About List Binary Search", "url": "https://www.davidhaney.io/one-more-thing-about-list-binary-search/", "published_at": "2013-03-30T15:36:24+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed17f2d2c", "title": "Make Mostly Read, Seldom-Written Lists Much More Efficient", "url": "https://www.davidhaney.io/make-mostly-read-seldom-written-lists-much-more-efficient/", "published_at": "2013-03-15T17:11:42+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed1ebe100", "title": "A Better MIME Mapping Stealer!", "url": "https://www.davidhaney.io/a-better-mime-mapping-stealer/", "published_at": "2013-02-12T12:07:12+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed20075e3", "title": "Determine MIME Type from File Name", "url": "https://www.davidhaney.io/determine-mime-type-from-file-name/", "published_at": "2013-02-11T15:15:46+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed2557884", "title": "Published by Red Gate", "url": "https://www.davidhaney.io/published-by-red-gate/", "published_at": "2013-01-18T15:10:04+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed29d10a7", "title": "But it Didn't Happen in DEV or QA!", "url": "https://www.davidhaney.io/but-it-didnt-happen-in-dev-or-qa/", "published_at": "2012-12-02T17:22:20+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed2a0866c", "title": "Visual Studio 2012 Intellisense Not Working - SOLVED", "url": "https://www.davidhaney.io/visual-studio-2012-intellisense-not-working-solved/", "published_at": "2012-11-20T21:12:41+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed321e4be", "title": "Static vs Instance string.Equals Benchmark", "url": "https://www.davidhaney.io/static-vs-instance-string-equals-benchmark/", "published_at": "2012-10-24T16:57:14+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed346a466", "title": "Static vs Instance string.Equals", "url": "https://www.davidhaney.io/static-vs-reference-string-equals/", "published_at": "2012-10-22T14:57:14+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed39770df", "title": "The Joel Test Really is Meaningful", "url": "https://www.davidhaney.io/the-joel-test-really-is-meaningful/", "published_at": "2012-10-14T22:10:54+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed3beb457", "title": "Published by MDSN UK Blog", "url": "https://www.davidhaney.io/published-by-mdsn-uk-blog/", "published_at": "2012-08-26T23:49:41+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed4018197", "title": "TPL and Error Handling & Continuation Tasks", "url": "https://www.davidhaney.io/tpl-and-error-handling-continuations/", "published_at": "2012-08-12T23:21:30+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed4e95261", "title": "TPL and Error Handling", "url": "https://www.davidhaney.io/tpl-and-error-handling/", "published_at": "2012-08-05T13:39:38+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed5e8b6d0", "title": "Compiler Tricks - Inferred Types", "url": "https://www.davidhaney.io/compiler-tricks-inferred-types/", "published_at": "2012-07-16T00:33:54+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed67a8d90", "title": "Custom Output Caching with MVC3 and .NET 4.0 - Done Properly!", "url": "https://www.davidhaney.io/custom-output-caching-with-mvc3-and-net-4-0-done-right/", "published_at": "2012-06-20T00:47:52+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed7699cdb", "title": "LINQ and Deferred Execution", "url": "https://www.davidhaney.io/linq-and-deferred-execution/", "published_at": "2012-06-11T00:57:15+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed7cfa277", "title": "Make Your Debugging Life Easier", "url": "https://www.davidhaney.io/make-your-debugging-life-easier/", "published_at": "2012-05-25T20:25:36+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed812ea10", "title": "Who Loves Interns?", "url": "https://www.davidhaney.io/who-loves-interns/", "published_at": "2012-05-02T23:50:20+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed881265b", "title": "What is a Virtual Method, Anyway?", "url": "https://www.davidhaney.io/what-is-a-virtual-method-anyway/", "published_at": "2012-04-29T23:26:41+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed9602b83", "title": "Why Use Interfaces?", "url": "https://www.davidhaney.io/why-use-interfaces/", "published_at": "2012-04-26T23:51:18+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed96e16ca", "title": "An Overview of Generic Constraints", "url": "https://www.davidhaney.io/an-overview-of-generic-constraints/", "published_at": "2012-04-24T21:46:41+00:00" }, { "id": "01a08769-88c4-73e2-a12d-bf8ed9b85208", "title": null, "url": "https://www.davidhaney.io/manifest.json", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8edaa85adc", "title": null, "url": "https://www.davidhaney.io/search/_index.de/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8edb96851c", "title": null, "url": "https://www.davidhaney.io/search/_index.es/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8edc547a7f", "title": null, "url": "https://www.davidhaney.io/search/_index.fr/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8edd3bd46d", "title": null, "url": "https://www.davidhaney.io/search/_index.hi/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8edd91d764", "title": null, "url": "https://www.davidhaney.io/search/_index.jp/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8eddbc1efa", "title": null, "url": "https://www.davidhaney.io/search/_index.nl/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8ede836b4c", "title": null, "url": "https://www.davidhaney.io/search/_index.pl/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8edf7e4897", "title": null, "url": "https://www.davidhaney.io/search/_index.ru/", "published_at": null }, { "id": "01a08769-88c4-73e2-a12d-bf8ee067d4fd", "title": null, "url": "https://www.davidhaney.io/search/_index.zh-cn/", "published_at": null } ] posts Claim your blog
Back to davidhaney.io
Blog · corpus.blog/blogs/davidhaney.io/posts

davidhaney.io

davidhaney.io

2025

2024

2020

2019

2018

2017

2016

2015

2014

2013

2012

Undated