41554 blogs · [ { "id": "01a08780-f462-70e3-ac55-8bf059cf38ca", "title": "Pitfalls of Disposing Blindly When Using IDisposable Resources", "url": "https://hamidmosalla.com/2025/02/20/pitfalls-of-disposing-blindly-when-using-idisposable-resources/?utm_source=rss&utm_medium=rss&utm_campaign=pitfalls-of-disposing-blindly-when-using-idisposable-resources", "published_at": "2025-02-20T14:59:03+00:00" }, { "id": "01a08780-f463-717e-b763-79f963607522", "title": "Mastering Restful API Design with ASP.NET Core: Best Practices for Robust and Scalable Services", "url": "https://hamidmosalla.com/2024/12/31/mastering-restful-api-design-with-asp-net-core/?utm_source=rss&utm_medium=rss&utm_campaign=mastering-restful-api-design-with-asp-net-core", "published_at": "2024-12-31T22:42:44+00:00" }, { "id": "01a08780-f463-717e-b763-79f9637fe460", "title": "C# Logging Best Practices to Improve Troubleshooting", "url": "https://hamidmosalla.com/2024/10/14/csharp-logging-best-practices-to-improve-troubleshooting/?utm_source=rss&utm_medium=rss&utm_campaign=csharp-logging-best-practices-to-improve-troubleshooting", "published_at": "2024-10-14T14:10:56+00:00" }, { "id": "01a08780-f463-717e-b763-79f9640b85cb", "title": "How to Choose a Coding Conventions Tailored to Your Team’s Needs", "url": "https://hamidmosalla.com/2024/05/18/how-to-choose-a-coding-conventions-tailored-to-your-teams-needs/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-choose-a-coding-conventions-tailored-to-your-teams-needs", "published_at": "2024-05-18T14:04:48+00:00" }, { "id": "01a08780-f463-717e-b763-79f96438e180", "title": "Asp.Net Core Best Practices: A Summary", "url": "https://hamidmosalla.com/2024/04/27/asp-net-core-best-practices-a-summary/?utm_source=rss&utm_medium=rss&utm_campaign=asp-net-core-best-practices-a-summary", "published_at": "2024-04-27T14:36:18+00:00" }, { "id": "01a08780-f463-717e-b763-79f964d061ce", "title": "Security Best Practices: A Comprehensive Guide", "url": "https://hamidmosalla.com/2024/04/18/security-best-practices-a-comprehensive-guide/?utm_source=rss&utm_medium=rss&utm_campaign=security-best-practices-a-comprehensive-guide", "published_at": "2024-04-18T16:52:05+00:00" }, { "id": "01a08780-f463-717e-b763-79f96581b2a5", "title": "Programming Principles: A Summary", "url": "https://hamidmosalla.com/2024/02/10/programming-principles-a-summary/?utm_source=rss&utm_medium=rss&utm_campaign=programming-principles-a-summary", "published_at": "2024-02-10T15:42:34+00:00" }, { "id": "01a08780-f463-717e-b763-79f9666376ba", "title": "C# Exception Handling Best Practices", "url": "https://hamidmosalla.com/2024/01/27/c-exception-handling-best-practices/?utm_source=rss&utm_medium=rss&utm_campaign=c-exception-handling-best-practices", "published_at": "2024-01-27T14:05:56+00:00" }, { "id": "01a08780-f463-717e-b763-79f966ab6d30", "title": "C# Entity Framework and LINQ Best Practices", "url": "https://hamidmosalla.com/2023/12/02/c-entity-framework-and-linq-best-practices/?utm_source=rss&utm_medium=rss&utm_campaign=c-entity-framework-and-linq-best-practices", "published_at": "2023-12-02T14:57:16+00:00" }, { "id": "01a08780-f463-717e-b763-79f966d6ba21", "title": "C# Asynchronous and Parallel Programming Best Practices", "url": "https://hamidmosalla.com/2023/11/25/c-asynchronous-and-parallel-programming-best-practices/?utm_source=rss&utm_medium=rss&utm_campaign=c-asynchronous-and-parallel-programming-best-practices", "published_at": "2023-11-25T15:00:38+00:00" }, { "id": "01a0c510-df89-73c5-8fd0-85194e74c1ff", "title": "Rethinking Knowledge and Learning in the Age of AI", "url": "https://hamidmosalla.com/2023/11/04/rethinking-knowledge-and-learning-in-the-age-of-ai/?utm_source=rss&utm_medium=rss&utm_campaign=rethinking-knowledge-and-learning-in-the-age-of-ai", "published_at": "2023-11-04T16:21:45+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a173f79e", "title": "The Power of Simplicity: Doing the Simplest Thing That Could Possibly Work", "url": "https://hamidmosalla.com/2023/08/03/the-power-of-simplicity-doing-the-simplest-thing-that-could-possibly-work/?utm_source=rss&utm_medium=rss&utm_campaign=the-power-of-simplicity-doing-the-simplest-thing-that-could-possibly-work", "published_at": "2023-08-03T15:59:41+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a2676faf", "title": "Updating NPM Packages: Tools and Strategies", "url": "https://hamidmosalla.com/2023/06/24/updating-npm-packages-tools-and-strategies/?utm_source=rss&utm_medium=rss&utm_campaign=updating-npm-packages-tools-and-strategies", "published_at": "2023-06-24T09:16:27+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a2af7f0c", "title": "Update Strategies For NPM Packages", "url": "https://hamidmosalla.com/2023/06/12/update-strategies-npm-packages/?utm_source=rss&utm_medium=rss&utm_campaign=update-strategies-npm-packages", "published_at": "2023-06-13T03:42:44+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a2f17eee", "title": "Duende Identity Server: Risks of Sharing Clients and Tokens", "url": "https://hamidmosalla.com/2023/05/23/duende-identity-server-risks-of-sharing-clients-and-tokens/?utm_source=rss&utm_medium=rss&utm_campaign=duende-identity-server-risks-of-sharing-clients-and-tokens", "published_at": "2023-05-23T14:06:06+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a36f4cb4", "title": "Thread Affinity in Parallel Programming Using TPL", "url": "https://hamidmosalla.com/2023/04/29/thread-affinity-in-parallel-programming-using-tpl/?utm_source=rss&utm_medium=rss&utm_campaign=thread-affinity-in-parallel-programming-using-tpl", "published_at": "2023-04-29T13:05:18+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a4316f8c", "title": "Code Review: The Ultimate Guide", "url": "https://hamidmosalla.com/2023/03/11/code-review-the-ultimate-guide/?utm_source=rss&utm_medium=rss&utm_campaign=code-review-the-ultimate-guide", "published_at": "2023-03-11T16:27:43+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a4d02e8f", "title": "Inheritance in Programming: Best Practices and Valid Use Cases", "url": "https://hamidmosalla.com/2023/02/18/inheritance-in-programming-best-practices-and-valid-use-cases/?utm_source=rss&utm_medium=rss&utm_campaign=inheritance-in-programming-best-practices-and-valid-use-cases", "published_at": "2023-02-18T16:49:35+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a5931e41", "title": "How to Protect Yourself as a Software Developer Against Rapid Changes in a Fast-Paced Industry", "url": "https://hamidmosalla.com/2023/01/14/how-to-protect-yourself-as-a-software-developer-against-rapid-changes-in-a-fast-paced-industry/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-protect-yourself-as-a-software-developer-against-rapid-changes-in-a-fast-paced-industry", "published_at": "2023-01-14T15:30:06+00:00" }, { "id": "01a0c510-df8a-7077-b918-7b68a66137b3", "title": "How to use ConfigBuilders for User Secrets Management in Asp.Net MVC 5", "url": "https://hamidmosalla.com/2022/12/30/how-to-use-configbuilders-for-user-secrets-management-in-asp-net-mvc-5/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-use-configbuilders-for-user-secrets-management-in-asp-net-mvc-5", "published_at": "2022-12-30T17:34:51+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0c63a416", "title": "Application Secret Management: How to Implement a Good Secret Management Strategy", "url": "https://hamidmosalla.com/2022/12/29/application-secret-management-how-to-implement-a-good-secret-management-strategy/?utm_source=rss&utm_medium=rss&utm_campaign=application-secret-management-how-to-implement-a-good-secret-management-strategy", "published_at": "2022-12-29T17:03:02+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0c8d820c", "title": "How to Customize Windows Terminal and PowerShell Using Fzf, Neovim and Beautify it with Oh My Posh", "url": "https://hamidmosalla.com/2022/12/26/how-to-customize-windows-terminal-and-powershell-using-fzf-neovim-and-beautify-it-with-oh-my-posh/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-customize-windows-terminal-and-powershell-using-fzf-neovim-and-beautify-it-with-oh-my-posh", "published_at": "2022-12-26T21:07:14+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0cf3be62", "title": "When to use NoSQL Database Instead of Relational Database", "url": "https://hamidmosalla.com/2022/12/01/when-to-use-nosql-database-instead-of-relational-database/?utm_source=rss&utm_medium=rss&utm_campaign=when-to-use-nosql-database-instead-of-relational-database", "published_at": "2022-12-01T22:21:02+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0d0791cd", "title": "How to Choose a Good Software Testing Strategy", "url": "https://hamidmosalla.com/2022/10/02/how-to-choose-a-good-software-testing-strategy/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-choose-a-good-software-testing-strategy", "published_at": "2022-10-02T11:19:24+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0dcfaae5", "title": "Integration Test In Asp.Net Core 6 Using SqlServer Image and TestContainers", "url": "https://hamidmosalla.com/2022/09/10/integration-test-in-asp-net-core-6-using-sqlserver-image-and-testcontainers/?utm_source=rss&utm_medium=rss&utm_campaign=integration-test-in-asp-net-core-6-using-sqlserver-image-and-testcontainers", "published_at": "2022-09-10T19:47:55+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0e16c8b3", "title": "How to Use Elastic Search Geo Shape Query", "url": "https://hamidmosalla.com/2021/12/31/how-to-use-elastic-search-geo-shape-query/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-use-elastic-search-geo-shape-query", "published_at": "2021-12-31T10:29:43+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0e85d3ab", "title": "Color Coder: Using Roslyn APIs For Syntax Highlighting", "url": "https://hamidmosalla.com/2021/08/01/color-coder-using-roslyn-apis-for-syntax-highlighting/?utm_source=rss&utm_medium=rss&utm_campaign=color-coder-using-roslyn-apis-for-syntax-highlighting", "published_at": "2021-08-01T16:08:19+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0ef181ba", "title": "Elastic Search: Highlighting Text That Contains HTML Tags", "url": "https://hamidmosalla.com/2021/06/06/elastic-search-highlighting-text-that-contains-html-tags/?utm_source=rss&utm_medium=rss&utm_campaign=elastic-search-highlighting-text-that-contains-html-tags", "published_at": "2021-06-06T13:53:26+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb0f978038", "title": "Unable to locate the .NET SDK: The Reasons", "url": "https://hamidmosalla.com/2021/03/13/unable-to-locate-the-net-sdk-the-reasons/?utm_source=rss&utm_medium=rss&utm_campaign=unable-to-locate-the-net-sdk-the-reasons", "published_at": "2021-03-13T14:11:38+00:00" }, { "id": "01a0c51e-955a-7044-8151-5fdb101a58d9", "title": "How to Change Elastic Search Index Mapping Without Losing Data", "url": "https://hamidmosalla.com/2021/01/30/how-to-change-elastic-search-index-mapping-without-losing-data/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-change-elastic-search-index-mapping-without-losing-data", "published_at": "2021-01-30T12:46:48+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322ac87a4a84", "title": "Why Use Rust for Web Development", "url": "https://hamidmosalla.com/2021/01/06/why-use-rust-for-web-development/?utm_source=rss&utm_medium=rss&utm_campaign=why-use-rust-for-web-development", "published_at": "2021-01-06T15:33:16+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322ac8f93485", "title": "Code Review Best Practices: A Short Guide", "url": "https://hamidmosalla.com/2020/11/11/code-review-best-practices-a-short-guide/?utm_source=rss&utm_medium=rss&utm_campaign=code-review-best-practices-a-short-guide", "published_at": "2020-11-11T05:52:47+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322ac92e9685", "title": "How to code for beginners: 4 Vital Points", "url": "https://hamidmosalla.com/2020/10/10/how-to-code-for-beginners-4-vital-points/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-code-for-beginners-4-vital-points", "published_at": "2020-10-10T06:10:10+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322aca0c29dc", "title": "How to mock APIs with Binary Responses using Postman Mock Server", "url": "https://hamidmosalla.com/2020/09/26/how-to-mock-apis-with-binary-responses-using-postman-mock-server/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-mock-apis-with-binary-responses-using-postman-mock-server", "published_at": "2020-09-26T07:10:21+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322aca3af414", "title": "Enum Serialization: System.Text.Json vs Utf8Json vs Jil vs Newtonsoft", "url": "https://hamidmosalla.com/2020/09/05/enum-serialization-system-text-json-vs-utf8json-vs-jil-vs-newtonsoft/?utm_source=rss&utm_medium=rss&utm_campaign=enum-serialization-system-text-json-vs-utf8json-vs-jil-vs-newtonsoft", "published_at": "2020-09-05T18:19:01+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322acaadf383", "title": "Careful Model Binding JavaScript ISO Date Format to DateTime", "url": "https://hamidmosalla.com/2020/07/19/careful-model-binding-javascript-iso-date-format-to-datetime/?utm_source=rss&utm_medium=rss&utm_campaign=careful-model-binding-javascript-iso-date-format-to-datetime", "published_at": "2020-07-19T08:00:20+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322acba65598", "title": "NDepend Dependency Graph", "url": "https://hamidmosalla.com/2020/07/11/ndepend-dependency-graph/?utm_source=rss&utm_medium=rss&utm_campaign=ndepend-dependency-graph", "published_at": "2020-07-11T18:09:52+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322acc85dbba", "title": "The Right Balance Between Different Types Of Test", "url": "https://hamidmosalla.com/2020/05/30/the-right-balance-between-different-types-of-test/?utm_source=rss&utm_medium=rss&utm_campaign=the-right-balance-between-different-types-of-test", "published_at": "2020-05-30T07:14:38+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322accadb6f3", "title": "Using IHttpClientFactory with Asp.Net MVC 5", "url": "https://hamidmosalla.com/2020/05/22/using-ihttpclientfactory-with-asp-net-mvc5/?utm_source=rss&utm_medium=rss&utm_campaign=using-ihttpclientfactory-with-asp-net-mvc5", "published_at": "2020-05-22T10:31:09+00:00" }, { "id": "01a0c529-dab1-73b2-916f-322accc539c2", "title": "XUnit – Part 8: Using TheoryData Instead of MemberData and ClassData", "url": "https://hamidmosalla.com/2020/04/05/xunit-part-8-using-theorydata-instead-of-memberdata-and-classdata/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-8-using-theorydata-instead-of-memberdata-and-classdata", "published_at": "2020-04-05T19:20:06+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40ae47d20", "title": "Upgrade to Asp.Net Core From Asp.Net MVC 5", "url": "https://hamidmosalla.com/2020/03/22/upgrade-to-asp-net-core-from-asp-net-mvc-5/?utm_source=rss&utm_medium=rss&utm_campaign=upgrade-to-asp-net-core-from-asp-net-mvc-5", "published_at": "2020-03-22T21:57:51+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40bc8ab0f", "title": "XUnit – Part 7: Categorizing Tests with xUnit Trait", "url": "https://hamidmosalla.com/2020/03/01/xunit-part-7-categorizing-tests-with-xunit-trait/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-7-categorizing-tests-with-xunit-trait", "published_at": "2020-03-01T21:20:49+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40c390301", "title": "XUnit – Part 6: Testing The Database with xUnit Custom Attributes", "url": "https://hamidmosalla.com/2020/02/16/xunit-part-6-testing-the-database-with-xunit-custom-attributes/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-6-testing-the-database-with-xunit-custom-attributes", "published_at": "2020-02-16T22:55:57+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40d00afa8", "title": "XUnit – Part 5: Share Test Context With IClassFixture and ICollectionFixture", "url": "https://hamidmosalla.com/2020/02/02/xunit-part-5-share-test-context-with-iclassfixture-and-icollectionfixture/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-5-share-test-context-with-iclassfixture-and-icollectionfixture", "published_at": "2020-02-02T22:00:53+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40d4eed30", "title": "XUnit – Part 4: Parallelism and Custom Test Collections", "url": "https://hamidmosalla.com/2020/01/26/xunit-part-4-parallelism-and-custom-test-collections/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-4-parallelism-and-custom-test-collections", "published_at": "2020-01-26T17:19:38+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40db21419", "title": "XUnit – Part 3: Action Based Assertions Assert.Raises and Assert.Throws", "url": "https://hamidmosalla.com/2020/01/20/xunit-part-3-action-based-assertions-assert-raises-and-assert-throws/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-3-action-based-assertions-assert-raises-and-assert-throws", "published_at": "2020-01-20T23:51:21+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40dce48ad", "title": "XUnit – Part 2: Value and Type Based Assertions in xUnit", "url": "https://hamidmosalla.com/2020/01/12/xunit-part-2-value-and-type-based-assertions-in-xunit/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-2-value-and-type-based-assertions-in-xunit", "published_at": "2020-01-12T18:54:52+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40df9e1ea", "title": "XUnit – Part 1: xUnit Packages and Writing Your First Unit Test", "url": "https://hamidmosalla.com/2020/01/05/xunit-part-1-xunit-packages-and-writing-your-first-unit-test/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-part-1-xunit-packages-and-writing-your-first-unit-test", "published_at": "2020-01-05T17:34:47+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40dfde6a0", "title": "Using Google Indexing API With Google API Client Library for .NET", "url": "https://hamidmosalla.com/2019/12/07/using-google-indexing-api-with-google-api-client-library-for-net/?utm_source=rss&utm_medium=rss&utm_campaign=using-google-indexing-api-with-google-api-client-library-for-net", "published_at": "2019-12-08T00:11:47+00:00" }, { "id": "01a0c534-eb57-7149-9f1e-b5c40e227e18", "title": "Apply With LinkedIn: A Guide With Sample App", "url": "https://hamidmosalla.com/2019/11/30/apply-with-linkedin-a-guide-with-sample-app/?utm_source=rss&utm_medium=rss&utm_campaign=apply-with-linkedin-a-guide-with-sample-app", "published_at": "2019-11-30T20:18:50+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdbd6e0e17", "title": "Lambdas vs Local Functions What’s the Difference", "url": "https://hamidmosalla.com/2019/10/27/lambdas-vs-local-functions-difference/?utm_source=rss&utm_medium=rss&utm_campaign=lambdas-vs-local-functions-difference", "published_at": "2019-10-27T21:43:43+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdbdff5ab6", "title": ".Net Core 3 New Json API And Its Features", "url": "https://hamidmosalla.com/2019/10/12/net-core-3-new-json-api-and-its-features/?utm_source=rss&utm_medium=rss&utm_campaign=net-core-3-new-json-api-and-its-features", "published_at": "2019-10-12T15:37:17+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdbe205022", "title": "Business Case For The Value Of Code Quality", "url": "https://hamidmosalla.com/2019/08/04/business-case-for-the-value-of-code-quality/?utm_source=rss&utm_medium=rss&utm_campaign=business-case-for-the-value-of-code-quality", "published_at": "2019-08-04T18:16:05+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdbed4ae5a", "title": "Functional Programming in C#: A Brief Guide", "url": "https://hamidmosalla.com/2019/04/25/functional-programming-in-c-sharp-a-brief-guide/?utm_source=rss&utm_medium=rss&utm_campaign=functional-programming-in-c-sharp-a-brief-guide", "published_at": "2019-04-25T10:28:29+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdbf6b9596", "title": "C# in parameter modifier", "url": "https://hamidmosalla.com/2019/03/09/c-sharp-in-parameter-modifier/?utm_source=rss&utm_medium=rss&utm_campaign=c-sharp-in-parameter-modifier", "published_at": "2019-03-09T20:13:44+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdc024e3f8", "title": "Moq: What’s Wrong With Using VerifyAll", "url": "https://hamidmosalla.com/2019/02/17/moq-whats-wrong-with-using-verifyall/?utm_source=rss&utm_medium=rss&utm_campaign=moq-whats-wrong-with-using-verifyall", "published_at": "2019-02-17T21:40:03+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdc115e64d", "title": "Stop Using Repository Pattern With an ORM", "url": "https://hamidmosalla.com/2018/11/25/stop-using-repository-pattern-with-an-orm/?utm_source=rss&utm_medium=rss&utm_campaign=stop-using-repository-pattern-with-an-orm", "published_at": "2018-11-25T21:24:11+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdc18ffc2f", "title": "TPL Dataflow Blocks: Post vs SendAsync", "url": "https://hamidmosalla.com/2018/09/18/tpl-dataflow-blocks-post-vs-sendasync/?utm_source=rss&utm_medium=rss&utm_campaign=tpl-dataflow-blocks-post-vs-sendasync", "published_at": "2018-09-18T16:42:19+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdc1eb632f", "title": "xUnit BeforeAfterTestAttribute: How to Run Code Before And After Test", "url": "https://hamidmosalla.com/2018/08/30/xunit-beforeaftertestattribute-how-to-run-code-before-and-after-test/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-beforeaftertestattribute-how-to-run-code-before-and-after-test", "published_at": "2018-08-30T09:15:47+00:00" }, { "id": "01a0c53e-f3f7-72d3-8634-07bdc28b73c5", "title": "More Robust Asynchrony and Parallelism With TPL Dataflow ActionBlock", "url": "https://hamidmosalla.com/2018/08/24/more-robust-asynchrony-and-parallelism-with-tpl-dataflow-actionblock/?utm_source=rss&utm_medium=rss&utm_campaign=more-robust-asynchrony-and-parallelism-with-tpl-dataflow-actionblock", "published_at": "2018-08-24T08:31:57+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc984464de77", "title": "xUnit: Control the Test Execution Order", "url": "https://hamidmosalla.com/2018/08/16/xunit-control-the-test-execution-order/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-control-the-test-execution-order", "published_at": "2018-08-16T19:09:33+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc9844dcec30", "title": "What is TPL Dataflow in .Net and When Should We Use It", "url": "https://hamidmosalla.com/2018/08/04/what-is-tpl-dataflow-in-net-and-when-should-we-use-it/?utm_source=rss&utm_medium=rss&utm_campaign=what-is-tpl-dataflow-in-net-and-when-should-we-use-it", "published_at": "2018-08-04T18:43:08+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc98458972ba", "title": "xUnit: Share an SUT Instance Between Two Class Using Collection", "url": "https://hamidmosalla.com/2018/07/31/xunit-share-an-sut-instance-between-two-class-using-collection/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-share-an-sut-instance-between-two-class-using-collection", "published_at": "2018-07-31T08:15:29+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc984597ea94", "title": "Share Expensive Object Between Tests By IClassFixture", "url": "https://hamidmosalla.com/2018/07/21/share-expensive-object-between-tests-by-iclassfixture/?utm_source=rss&utm_medium=rss&utm_campaign=share-expensive-object-between-tests-by-iclassfixture", "published_at": "2018-07-21T17:40:51+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc98466a9885", "title": "Asynchronous Programming Series", "url": "https://hamidmosalla.com/2018/07/17/asynchronous-programming-series/?utm_source=rss&utm_medium=rss&utm_campaign=asynchronous-programming-series", "published_at": "2018-07-17T17:06:43+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc984734fe1d", "title": "Thread Safety", "url": "https://hamidmosalla.com/2018/07/09/thread-safety/?utm_source=rss&utm_medium=rss&utm_campaign=thread-safety", "published_at": "2018-07-09T17:02:26+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc9847dd63e4", "title": "Dependency Injection: Conditional Resolving of Multiple Implementation of Interface", "url": "https://hamidmosalla.com/2018/06/30/dependency-injection-conditional-resolving-of-multiple-implementation-of-interface/?utm_source=rss&utm_medium=rss&utm_campaign=dependency-injection-conditional-resolving-of-multiple-implementation-of-interface", "published_at": "2018-06-30T16:25:28+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc9847e07c31", "title": "What Is SynchronizationContext", "url": "https://hamidmosalla.com/2018/06/24/what-is-synchronizationcontext/?utm_source=rss&utm_medium=rss&utm_campaign=what-is-synchronizationcontext", "published_at": "2018-06-24T14:56:01+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc98486ba953", "title": "Exception Handling In Asynchronous Code", "url": "https://hamidmosalla.com/2018/06/19/exception-handling-in-asynchronous-code/?utm_source=rss&utm_medium=rss&utm_campaign=exception-handling-in-asynchronous-code", "published_at": "2018-06-19T18:18:02+00:00" }, { "id": "01a0c547-6134-72ea-8854-dc98492dc2ae", "title": "NDepend 2018 Review: A Flexible Static Analyzer", "url": "https://hamidmosalla.com/2018/06/10/ndepend-2018-review-a-flexible-static-analyzer/?utm_source=rss&utm_medium=rss&utm_campaign=ndepend-2018-review-a-flexible-static-analyzer", "published_at": "2018-06-10T08:16:55+00:00" }, { "id": "01a0c550-0897-7099-891b-250143c4adb3", "title": "Task.Run Vs TaskCompletionSource Vs Task.Factory.FromAsync", "url": "https://hamidmosalla.com/2018/05/27/task-run-vs-taskcompletionsource-vs-task-factory-fromasync/?utm_source=rss&utm_medium=rss&utm_campaign=task-run-vs-taskcompletionsource-vs-task-factory-fromasync", "published_at": "2018-05-27T19:05:44+00:00" }, { "id": "01a0c550-0897-7099-891b-2501447f383b", "title": "Build UI Tree With Recursive Asp.Net Core View Component", "url": "https://hamidmosalla.com/2018/05/17/build-ui-tree-with-recursive-asp-net-core-view-component/?utm_source=rss&utm_medium=rss&utm_campaign=build-ui-tree-with-recursive-asp-net-core-view-component", "published_at": "2018-05-17T08:17:15+00:00" }, { "id": "01a0c550-0897-7099-891b-2501448905b9", "title": "How Functional Programming Helps With Asynchronous And Parallel Code", "url": "https://hamidmosalla.com/2018/05/09/how-functional-programming-helps-with-asynchronous-and-parallel-code/?utm_source=rss&utm_medium=rss&utm_campaign=how-functional-programming-helps-with-asynchronous-and-parallel-code", "published_at": "2018-05-09T19:08:25+00:00" }, { "id": "01a0c550-0897-7099-891b-25014579cc97", "title": "Using Task.WhenAny And Task.WhenAll", "url": "https://hamidmosalla.com/2018/04/27/using-task-whenany-and-task-whenall/?utm_source=rss&utm_medium=rss&utm_campaign=using-task-whenany-and-task-whenall", "published_at": "2018-04-27T18:15:00+00:00" }, { "id": "01a0c550-0897-7099-891b-250146326b6a", "title": "Top 7 Common Async Mistakes", "url": "https://hamidmosalla.com/2018/04/21/top-7-common-async-mistakes/?utm_source=rss&utm_medium=rss&utm_campaign=top-7-common-async-mistakes", "published_at": "2018-04-21T15:37:38+00:00" }, { "id": "01a0c550-0897-7099-891b-250146cab3e7", "title": "Asp.Net Core API: Patch Method Without Using JsonPatchDocument", "url": "https://hamidmosalla.com/2018/04/14/asp-net-core-api-patch-method-without-using-jsonpatchdocument/?utm_source=rss&utm_medium=rss&utm_campaign=asp-net-core-api-patch-method-without-using-jsonpatchdocument", "published_at": "2018-04-14T10:27:57+00:00" }, { "id": "01a0c550-0897-7099-891b-250147b6d615", "title": "When Should You Use Task.Delay", "url": "https://hamidmosalla.com/2018/04/05/when-should-you-use-task-delay/?utm_source=rss&utm_medium=rss&utm_campaign=when-should-you-use-task-delay", "published_at": "2018-04-05T09:03:23+00:00" }, { "id": "01a0c550-0897-7099-891b-2501481ba798", "title": "When to Use Async and Await and How it Works", "url": "https://hamidmosalla.com/2018/03/30/when-to-use-async-and-await-and-how-it-works/?utm_source=rss&utm_medium=rss&utm_campaign=when-to-use-async-and-await-and-how-it-works", "published_at": "2018-03-30T11:10:51+00:00" }, { "id": "01a0c550-0897-7099-891b-2501490cc355", "title": "Concurrency Vs Parallelism", "url": "https://hamidmosalla.com/2018/03/16/concurrency-vs-parallelism/?utm_source=rss&utm_medium=rss&utm_campaign=concurrency-vs-parallelism", "published_at": "2018-03-16T20:39:14+00:00" }, { "id": "01a0c550-0897-7099-891b-250149fd0a59", "title": ".Net Exceptions Best Practices", "url": "https://hamidmosalla.com/2018/02/28/net-exception-best-practices/?utm_source=rss&utm_medium=rss&utm_campaign=net-exception-best-practices", "published_at": "2018-02-28T19:23:23+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a585253cd", "title": "Asp.Net Core 2 Logging With Serilog And Microsoft SQL Server Sink", "url": "https://hamidmosalla.com/2018/02/15/asp-net-core-2-logging-with-serilog-and-microsoft-sql-server-sink/?utm_source=rss&utm_medium=rss&utm_campaign=asp-net-core-2-logging-with-serilog-and-microsoft-sql-server-sink", "published_at": "2018-02-15T08:17:12+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a59002c10", "title": "Policy-based Authorization Using Asp.Net Core 2 And IdentityServer4", "url": "https://hamidmosalla.com/2017/12/07/policy-based-authorization-using-asp-net-core-2-identityserver4/?utm_source=rss&utm_medium=rss&utm_campaign=policy-based-authorization-using-asp-net-core-2-identityserver4", "published_at": "2017-12-07T14:06:47+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a593c7b96", "title": "Interaction Testing With Mocks Leads To A Less Maintainable Unit Test", "url": "https://hamidmosalla.com/2017/11/28/interaction-testing-with-mocks-leads-to-a-less-maintainable-unit-test/?utm_source=rss&utm_medium=rss&utm_campaign=interaction-testing-with-mocks-leads-to-a-less-maintainable-unit-test", "published_at": "2017-11-29T01:38:37+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a59b53d91", "title": "Policy-based Authorization Using Asp.Net Core 2 And Json Web Token (JWT)", "url": "https://hamidmosalla.com/2017/10/19/policy-based-authorization-using-asp-net-core-2-and-json-web-token-jwt/?utm_source=rss&utm_medium=rss&utm_campaign=policy-based-authorization-using-asp-net-core-2-and-json-web-token-jwt", "published_at": "2017-10-19T06:29:37+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a59b68434", "title": "Isolation Frameworks: Why FakeItEasy and NSubstitude Are Better Than Moq", "url": "https://hamidmosalla.com/2017/09/28/isolation-frameworks-why-fakeiteasy-and-nsubstitude-are-better-than-moq/?utm_source=rss&utm_medium=rss&utm_campaign=isolation-frameworks-why-fakeiteasy-and-nsubstitude-are-better-than-moq", "published_at": "2017-09-28T13:10:05+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a5a5fdb5f", "title": "Moq: Working With SetupGet, VerifyGet, SetupSet, VerifySet, SetupProperty", "url": "https://hamidmosalla.com/2017/08/03/moq-working-with-setupget-verifyget-setupset-verifyset-setupproperty/?utm_source=rss&utm_medium=rss&utm_campaign=moq-working-with-setupget-verifyget-setupset-verifyset-setupproperty", "published_at": "2017-08-03T06:25:26+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a5a92f687", "title": "Asp.Net Core Model Binding: Controlling The Binding Source", "url": "https://hamidmosalla.com/2017/07/06/asp-net-core-model-binding-controlling-the-binding-source/?utm_source=rss&utm_medium=rss&utm_campaign=asp-net-core-model-binding-controlling-the-binding-source", "published_at": "2017-07-06T18:33:53+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a5ac9c2b4", "title": "LINQ To Entities – Balance Between Cost Of Database Calls And Data Volume", "url": "https://hamidmosalla.com/2017/06/22/linq-to-entities-balance-between-database-calls-and-data-volume/?utm_source=rss&utm_medium=rss&utm_campaign=linq-to-entities-balance-between-database-calls-and-data-volume", "published_at": "2017-06-22T11:31:03+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a5b35897a", "title": "Asp.Net Core Action Results Explained", "url": "https://hamidmosalla.com/2017/03/29/asp-net-core-action-results-explained/?utm_source=rss&utm_medium=rss&utm_campaign=asp-net-core-action-results-explained", "published_at": "2017-03-29T16:26:56+00:00" }, { "id": "01a0c558-2975-7082-85e3-f79a5bb1dfa0", "title": "xUnit Theory: Working With InlineData, MemberData, ClassData", "url": "https://hamidmosalla.com/2017/02/25/xunit-theory-working-with-inlinedata-memberdata-classdata/?utm_source=rss&utm_medium=rss&utm_campaign=xunit-theory-working-with-inlinedata-memberdata-classdata", "published_at": "2017-02-25T18:27:50+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d008fc04", "title": "Mock HttpClient Without Wrapper Using HttpMessageHandler", "url": "https://hamidmosalla.com/2017/02/08/mock-httpclient-using-httpmessagehandler/?utm_source=rss&utm_medium=rss&utm_campaign=mock-httpclient-using-httpmessagehandler", "published_at": "2017-02-08T13:00:02+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d0ef8815", "title": "12 Visual Studio Extensions You Might Find Useful", "url": "https://hamidmosalla.com/2016/09/29/12-visual-studio-2015-extensions-you-might-find-useful/?utm_source=rss&utm_medium=rss&utm_campaign=12-visual-studio-2015-extensions-you-might-find-useful", "published_at": "2016-09-29T10:43:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d1bc0437", "title": "How To Use IActionResult Abstraction To Achieve Graceful Degradation", "url": "https://hamidmosalla.com/2016/08/29/how-to-use-iactionresult-abstraction-to-achieve-graceful-degradation/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-use-iactionresult-abstraction-to-achieve-graceful-degradation", "published_at": "2016-08-29T14:23:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d1f495df", "title": "Importance Of Language And Its Effect On Research", "url": "https://hamidmosalla.com/2016/06/30/importance-of-language-and-its-effect-on-research/?utm_source=rss&utm_medium=rss&utm_campaign=importance-of-language-and-its-effect-on-research", "published_at": "2016-06-30T14:13:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d2d69620", "title": "Dynamically Building JSON Tree For Use In Javascript Components Using C#", "url": "https://hamidmosalla.com/2016/05/30/dynamically-building-json-tree-for-use-in-javascript-components-using-c/?utm_source=rss&utm_medium=rss&utm_campaign=dynamically-building-json-tree-for-use-in-javascript-components-using-c", "published_at": "2016-05-30T17:49:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d3aa1be2", "title": "How To Show Currently Online Users (Members) Using Asp.Net MVC And Identity", "url": "https://hamidmosalla.com/2016/02/23/how-to-show-currently-online-users-members-using-asp-net-mvc-and-identity/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-show-currently-online-users-members-using-asp-net-mvc-and-identity", "published_at": "2016-02-23T15:46:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d4178348", "title": "Implementing Search Without Convoluted If Statements In Asp.Net MVC", "url": "https://hamidmosalla.com/2016/02/15/implementing-search-without-convoluted-if-statements-in-asp-net-mvc/?utm_source=rss&utm_medium=rss&utm_campaign=implementing-search-without-convoluted-if-statements-in-asp-net-mvc", "published_at": "2016-02-15T15:42:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d4b3cdc6", "title": "Supercharge Your Text Editing With Viasfora", "url": "https://hamidmosalla.com/2016/01/26/supercharge-your-text-editing-with-viasfora/?utm_source=rss&utm_medium=rss&utm_campaign=supercharge-your-text-editing-with-viasfora", "published_at": "2016-01-26T11:46:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d4bf4eb9", "title": "Retrieving Email From Google, Microsoft And Facebook External Login Provider", "url": "https://hamidmosalla.com/2015/12/29/retrieving-email-from-google-microsoft-and-facebook-external-login-provider/?utm_source=rss&utm_medium=rss&utm_campaign=retrieving-email-from-google-microsoft-and-facebook-external-login-provider", "published_at": "2015-12-29T19:14:00+00:00" }, { "id": "01a0c560-c8c0-7310-aeb5-0d27d527b936", "title": "Customizing ELMAH To Prevent It From Logging Unnecessary Errors Using Entity Framework and ASP.Net MVC", "url": "https://hamidmosalla.com/2015/12/06/customizing-elmah-to-prevent-it-from-logging-unnecessary-errors-using-entity-framework-and-asp-net-mvc/?utm_source=rss&utm_medium=rss&utm_campaign=customizing-elmah-to-prevent-it-from-logging-unnecessary-errors-using-entity-framework-and-asp-net-mvc", "published_at": "2015-12-06T11:19:00+00:00" } ] posts Claim your blog
Back to hamidmosalla.com
Blog · corpus.blog/blogs/hamidmosalla.com/posts

hamidmosalla.com

hamidmosalla.com

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015