41554 blogs · [ { "id": "01a0e4ce-6620-7062-9ce4-5ef353f7796e", "title": "Closing the Loop", "url": "https://blog.lhotka.net/2026/09/25/Closing-The-Loop", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a0d5a6-3bca-73cd-abd5-1c729bb007b1", "title": "Claude Code Remote Control Server", "url": "https://blog.lhotka.net/2026/09/21/Remote-Control-Server", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d5a6-3bca-73cd-abd5-1c729c0524b4", "title": "Code it with AI", "url": "https://blog.lhotka.net/2026/09/21/Code-It-With-AI", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d5a6-3bca-73cd-abd5-1c729ccb7e69", "title": "SSH Is Not a Desktop", "url": "https://blog.lhotka.net/2026/09/18/SSH-Is-Not-A-Desktop", "published_at": "2026-09-18T00:00:00+00:00" }, { "id": "01a0874e-3bea-7309-8217-1713fa419065", "title": "Headless Agents", "url": "https://blog.lhotka.net/2026/07/20/Headless-Agents", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a0874e-3bea-7309-8217-1713fabd0af0", "title": "Are AI Agents Conscious?", "url": "https://blog.lhotka.net/2026/05/30/Are-AI-Agents-Conscious", "published_at": "2026-05-30T00:00:00+00:00" }, { "id": "01a0874e-3bea-7309-8217-1713fafbbdcf", "title": "Syncing Claude Memory Across Workstations", "url": "https://blog.lhotka.net/2026/05/08/Claude-Memory-Sync", "published_at": "2026-05-08T00:00:00+00:00" }, { "id": "01a0874e-3bea-7309-8217-1713fbf76097", "title": "My Claude Code Workflow", "url": "https://blog.lhotka.net/2026/04/23/My-Claude-Code-Workflow", "published_at": "2026-04-23T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9638775cb", "title": "Agent Context Needs Timing", "url": "https://blog.lhotka.net/2026/04/22/Agent-Context-Needs-Timing", "published_at": "2026-04-22T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9642d7343", "title": "Systems Thinking", "url": "https://blog.lhotka.net/2026/04/02/Systems-Thinking", "published_at": "2026-04-02T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd964a0b228", "title": "Tools and Skills: Better Together", "url": "https://blog.lhotka.net/2026/03/25/Tools-And-Skills-Better-Together", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96571d6e2", "title": "Full Circle Development", "url": "https://blog.lhotka.net/2026/03/15/Full-Circle-Development", "published_at": "2026-03-15T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9660ff225", "title": "Tracking Agent Metrics", "url": "https://blog.lhotka.net/2026/03/11/Tracking-Agent-Metrics", "published_at": "2026-03-11T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd966f8af2f", "title": "An Agentic Tale", "url": "https://blog.lhotka.net/2026/03/10/An-Agentic-Tale", "published_at": "2026-03-10T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96765230a", "title": "Agent Resources and Tools", "url": "https://blog.lhotka.net/2026/03/09/Agent-Resources-And-Tools", "published_at": "2026-03-09T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd967c29921", "title": "How RockBot Learns New Skills", "url": "https://blog.lhotka.net/2026/03/06/RockBot-Skills", "published_at": "2026-03-06T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd968082ac0", "title": "The RockBot Band", "url": "https://blog.lhotka.net/2026/03/03/The-RockBot-Band", "published_at": "2026-03-03T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd968de1bd5", "title": "How RockBot Remembers", "url": "https://blog.lhotka.net/2026/02/24/Agent-Memory-Systems", "published_at": "2026-02-24T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd969b12c06", "title": "Introducing RockBot", "url": "https://blog.lhotka.net/2026/02/18/Introducing-RockBot", "published_at": "2026-02-18T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96a2724d3", "title": "MCP Aggregator", "url": "https://blog.lhotka.net/2026/02/15/MCP-Aggregator", "published_at": "2026-02-15T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96b187cde", "title": "Writing Docs for an AI", "url": "https://blog.lhotka.net/2026/01/11/Writing-Docs-For-An-Ai", "published_at": "2026-01-11T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96b21ec22", "title": "2026 - A New Year", "url": "https://blog.lhotka.net/2025/12/30/2026-A-New-Year", "published_at": "2025-12-30T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96b9c6bef", "title": "Copilots Everywhere!", "url": "https://blog.lhotka.net/2025/12/12/Copilots-Everywhere", "published_at": "2025-12-12T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96c0d3eab", "title": "What is an MCP?", "url": "https://blog.lhotka.net/2025/12/05/What-is-an-MCP", "published_at": "2025-12-05T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96c625013", "title": "Agent vs Agentic", "url": "https://blog.lhotka.net/2025/12/02/Agent-vs-Agentic", "published_at": "2025-12-02T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96c6aadfe", "title": "AI Skeptic to AI Pragmatist", "url": "https://blog.lhotka.net/2025/11/25/AI-Skeptic-to-AI-Pragmatist", "published_at": "2025-11-25T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96d2b7c93", "title": "MCP and A2A Basics", "url": "https://blog.lhotka.net/2025/10/07/MCP-and-A2A-Basics", "published_at": "2025-10-07T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96de6fdf0", "title": "Unit Testing CSLA Rules With Rocks", "url": "https://blog.lhotka.net/2025/10/02/Unit-Testing-CSLA-Rules-With-Rocks", "published_at": "2025-10-02T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96e6fce4a", "title": "A Simple CSLA MCP Server", "url": "https://blog.lhotka.net/2025/10/02/A-Simple-CSLA-MCP-Server", "published_at": "2025-10-02T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96ea9e60b", "title": "Running Linux on My Surface Go", "url": "https://blog.lhotka.net/2025/04/22/Running-Linux-on-My-Surface-Go", "published_at": "2025-04-22T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd96fa0d403", "title": "CSLA 2-tier Data Portal Behavior History", "url": "https://blog.lhotka.net/2025/04/21/CSLA-2-tier-Data-Portal-Behavior-History", "published_at": "2025-04-21T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9703c4350", "title": "Why MAUI Blazor Hybrid", "url": "https://blog.lhotka.net/2025/04/14/Why-MAUI-Blazor-Hybrid", "published_at": "2025-04-14T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97116fcbc", "title": "Do not throw away your old PCs", "url": "https://blog.lhotka.net/2024/12/15/Do-not-throw-away-your-old-PCs", "published_at": "2024-12-15T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd971364c60", "title": "Blazor EditForm OnSubmit behavior", "url": "https://blog.lhotka.net/2024/12/12/Blazor-EditForm-OnSubmit-behavior", "published_at": "2024-12-12T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd971f2eb23", "title": "Accessing User Identity on a Blazor Wasm Client", "url": "https://blog.lhotka.net/2024/10/13/Accessing-User-Identity-on-a-Blazor-Wasm-Client", "published_at": "2024-10-13T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd972cefcb9", "title": ".NET Terminology", "url": "https://blog.lhotka.net/2024/09/24/Dotnet-Terminology", "published_at": "2024-09-24T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd973ac1bee", "title": "CSLA Sync API Poll Results", "url": "https://blog.lhotka.net/2024/06/04/CSLA-Sync-API-Poll-Results", "published_at": "2024-06-04T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd973db9b40", "title": "Deprecating CSLA Synchronous APIs", "url": "https://blog.lhotka.net/2024/05/23/Deprecating-CSLA-Synchronous-APIs", "published_at": "2024-05-23T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9749df00f", "title": "Posting binary data using HttpClient on Android", "url": "https://blog.lhotka.net/2024/04/18/Posting-binary-data-using-HttpClient-on-Android", "published_at": "2024-04-18T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd974ae277e", "title": "Blazor 8 Render Mode Detection", "url": "https://blog.lhotka.net/2024/03/30/Blazor-8-Render-Mode-Detection", "published_at": "2024-03-30T23:04:38+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9755a1ab8", "title": "How Does Blazor Compete with MVC and Razor Pages", "url": "https://blog.lhotka.net/2023/11/29/How-Does-Blazor-Compete-with-MVC-and-Razor-Pages", "published_at": "2023-11-29T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd975e5129d", "title": "Per-User Blazor 8 State", "url": "https://blog.lhotka.net/2023/11/28/Per-User-Blazor-8-State", "published_at": "2023-11-28T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd976199507", "title": "The Programmer Gap", "url": "https://blog.lhotka.net/2023/11/19/The-Programmer-Gap", "published_at": "2023-11-19T23:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd976d402d6", "title": "Upgrading to .NET 8", "url": "https://blog.lhotka.net/2023/11/17/Upgrading-to-NET-8", "published_at": "2023-11-17T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97730813d", "title": "Flowing State in Blazor 8", "url": "https://blog.lhotka.net/2023/10/27/Flowing-State-in-Blazor-8", "published_at": "2023-10-27T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9775f3226", "title": "Blazor 8 State Management", "url": "https://blog.lhotka.net/2023/10/12/Blazor-8-State-Management", "published_at": "2023-10-12T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd978341130", "title": "Analysis of UPS Customer Support", "url": "https://blog.lhotka.net/2023/07/01/Analysis-of-UPS-Customer-Support", "published_at": "2023-07-01T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97916c9a6", "title": "AI Summary About CSLA .NET", "url": "https://blog.lhotka.net/2023/06/05/AI-Summary-About-CSLA-NET", "published_at": "2023-06-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9793c0aac", "title": "Career Update in 2023", "url": "https://blog.lhotka.net/2023/05/05/Career-Update-in-2023", "published_at": "2023-05-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd979f2ec2a", "title": "Build Containers Without a Dockerfile", "url": "https://blog.lhotka.net/2023/01/05/Build-Containers-Without-a-Dockerfile", "published_at": "2023-01-05T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97a47b36d", "title": "Thoughts on Social Media", "url": "https://blog.lhotka.net/2022/11/06/Thoughts-On-Social-Media", "published_at": "2022-11-06T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97a974509", "title": "How I Got Into Computers Consulting Can Be Boring Edition", "url": "https://blog.lhotka.net/2022/06/18/How-I-Got-Into-Computers-Consulting-Can-Be-Boring-Edition", "published_at": "2022-06-18T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97b20a610", "title": "Next Step in My Career", "url": "https://blog.lhotka.net/2022/05/06/Next-Step-in-My-Career", "published_at": "2022-05-06T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97bb6ead6", "title": "Motivating and Retaining People", "url": "https://blog.lhotka.net/2022/04/05/Motivating-And-Retaining-People", "published_at": "2022-04-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97c5f0f24", "title": "ASP.NET Core and Blazor Identity and State", "url": "https://blog.lhotka.net/2022/03/16/ASPNET-Core-and-Blazor-Identity-and-State", "published_at": "2022-03-16T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97d205c69", "title": "Gatekeeping, Passion, Career, and Life", "url": "https://blog.lhotka.net/2021/11/29/Gatekeeping,-Passion,-Career,-and-Life", "published_at": "2021-11-29T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97d453cc5", "title": "CSLA 6 First Prerelease", "url": "https://blog.lhotka.net/2021/11/29/CSLA-6-First-Prerelease", "published_at": "2021-11-29T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97d68e4fb", "title": "Blog Archive Online", "url": "https://blog.lhotka.net/2021/10/13/Blog-Archive-Online", "published_at": "2021-10-13T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97db8aa3f", "title": "Surface Laptop Studio", "url": "https://blog.lhotka.net/2021/10/05/Surface-Laptop-Studio", "published_at": "2021-10-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97e318f17", "title": "How I Got Into Computers Consulting 101 Edition", "url": "https://blog.lhotka.net/2021/10/05/How-I-Got-Into-Computers-Consulting-101-Edition", "published_at": "2021-10-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97e7c9afa", "title": "Developers: Hire or Use Consultants?", "url": "https://blog.lhotka.net/2021/09/13/Developers-Hire-or-Use-Consultants", "published_at": "2021-09-13T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97f05f325", "title": "CSLA 5 and 6", "url": "https://blog.lhotka.net/2021/07/26/CSLA-5-and-6", "published_at": "2021-07-26T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97f2f81b3", "title": "Responsible Use Of Open Source In Enterprise Software", "url": "https://blog.lhotka.net/2021/05/11/Responsible-Use-Of-Open-Source-In-Enterprise-Software", "published_at": "2021-05-11T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97f9c88ff", "title": "How I Got Into Computers Final Job Search Edition", "url": "https://blog.lhotka.net/2021/05/05/How-I-Got-Into-Computers-Final-Job-Search-Edition", "published_at": "2021-05-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd97fc92e0b", "title": "WSL2 localhost redirect not working", "url": "https://blog.lhotka.net/2021/04/21/WSL2-localhost-redirect-not-working", "published_at": "2021-04-21T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd980bc3dfc", "title": "How I Got Into Computers AppDev Edition", "url": "https://blog.lhotka.net/2021/04/05/How-I-Got-Into-Computers-AppDev-Edition", "published_at": "2021-04-05T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd980d65590", "title": "How I Got Into Computers IT Pro Edition", "url": "https://blog.lhotka.net/2021/03/29/How-I-Got-Into-Computers-IT-Pro-Edition", "published_at": "2021-03-29T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd981c7baeb", "title": "Configuring and extending a service", "url": "https://blog.lhotka.net/2021/02/03/Configuring-and-extending-a-service", "published_at": "2021-02-03T06:19:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd982395d31", "title": "How I got Into Computers Second Job Edition", "url": "https://blog.lhotka.net/2021/01/14/How-I-got-Into-Computers-Second-Job-Edition", "published_at": "2021-01-14T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd982a06b05", "title": "How I Got Into Computers First Job Edition", "url": "https://blog.lhotka.net/2021/01/04/How-I-Got-Into-Computers-First-Job-Edition", "published_at": "2021-01-04T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9839c7f7e", "title": "How I Got Into Computers First Job Hunt Edition", "url": "https://blog.lhotka.net/2020/12/29/How-I-Got-Into-Computers-First-Job-Hunt-Edition", "published_at": "2020-12-29T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd983dc008a", "title": "How I Got Into Computers University Internship Edition", "url": "https://blog.lhotka.net/2020/12/27/How-I-Got-Into-Computers-University-Internship-Edition", "published_at": "2020-12-27T06:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd984d9f578", "title": "Should I Migrate to .NET 5?", "url": "https://blog.lhotka.net/2020/11/11/Should-I-Migrate-to-NET-5", "published_at": "2020-11-11T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9850ae38d", "title": "Desktop Kubernetes, Helm, RabbitMQ", "url": "https://blog.lhotka.net/2020/09/17/Desktop-Kubernetes,-Helm,-RabbitMQ", "published_at": "2020-09-17T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd985a3facc", "title": "Raspberry Pi and microk8s", "url": "https://blog.lhotka.net/2020/09/10/Raspberry-Pi-and-microk8s", "published_at": "2020-09-10T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd986869438", "title": "Who Sets Up Your Cloud", "url": "https://blog.lhotka.net/2020/08/17/Who-Sets-Up-Your-Cloud", "published_at": "2020-08-17T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd986d9aab3", "title": "How I Got Into Computers University Edition", "url": "https://blog.lhotka.net/2020/08/17/How-I-Got-Into-Computers-University-Edition", "published_at": "2020-08-17T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9876ce922", "title": "How I Got Into Computers Youth Edition", "url": "https://blog.lhotka.net/2020/08/15/How-I-Got-Into-Computers", "published_at": "2020-08-15T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd987b2a7a5", "title": "Free training to enable COVID recovery and diversity", "url": "https://blog.lhotka.net/2020/06/30/Free-training-to-enable-COVID-recovery-and-diversity", "published_at": "2020-06-30T05:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9888c4187", "title": "CSLA .NET 5.2.0 release", "url": "https://blog.lhotka.net/2020/05/19/CSLA-5.2.0-release", "published_at": "2020-05-19T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd988b119c4", "title": "May I Speak to You?", "url": "https://blog.lhotka.net/2020/05/08/May-I-Speak-to-You", "published_at": "2020-05-08T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd988fa7de8", "title": "Databases Still Store Data", "url": "https://blog.lhotka.net/2020/05/05/Databases-Still-Store-Data", "published_at": "2020-05-05T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9890bcc10", "title": "Choosing Client UI Tech in Early 2020", "url": "https://blog.lhotka.net/2020/03/30/Choosing-Client-UI-Tech-in-Early-2020", "published_at": "2020-03-30T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd989d3c226", "title": "State of CSLA .NET 2020 Edition", "url": "https://blog.lhotka.net/2020/03/18/State-of-CSLA-.NET-2020-Edition", "published_at": "2020-03-18T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98a5b047a", "title": "New Blazor and CSLA .NET Book", "url": "https://blog.lhotka.net/2020/03/11/New-Blazor-and-CSLA-Book", "published_at": "2020-03-11T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98aa0e2bf", "title": "CSLA .NET Version 5.1.0 Release", "url": "https://blog.lhotka.net/2020/02/17/CSLA-Version-5.1.0-Release", "published_at": "2020-02-17T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98b6b1efa", "title": "Updated Blazor WebAssembly app initialization", "url": "https://blog.lhotka.net/2020/02/05/Updated-Blazor-WebAssembly-app-initialization", "published_at": "2020-02-05T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98c1bbafc", "title": "What is the difference between SOA and microservices?", "url": "https://blog.lhotka.net/2020/01/31/What-is-the-difference-between-SOA-and-microservices", "published_at": "2020-01-31T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98d13b702", "title": "What Programming Language Should I Learn to Get a Job in 2020?", "url": "https://blog.lhotka.net/2019/12/25/What-Programming-Language-Should-I-Learn-to-Get-a-Job-in-2020", "published_at": "2019-12-25T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98d704b9a", "title": "What Architectures Were Used Before Microservices?", "url": "https://blog.lhotka.net/2019/12/19/What-Architectures-Were-Used-Before-Microservices", "published_at": "2019-12-19T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98e2a143e", "title": "How will WebAssembly replace frameworks like Angular and React?", "url": "https://blog.lhotka.net/2019/12/19/How-will-WebAssembly-replace-angular-and-react", "published_at": "2019-12-19T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98efbb286", "title": "Why is WebAssembly so Important?", "url": "https://blog.lhotka.net/2019/10/24/Why-is-WebAssembly-so-Important", "published_at": "2019-10-24T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd98fa716f6", "title": "ASP.NET Core and CSLA 5", "url": "https://blog.lhotka.net/2019/09/12/AspCore-Csla5", "published_at": "2019-09-12T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd9909d9bab", "title": "New Blog Location", "url": "https://blog.lhotka.net/2019/09/05/new-blog", "published_at": "2019-09-05T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd990ee893d", "title": "Uno Platform and WebAssembly with CSLA", "url": "https://blog.lhotka.net/2019/09/04/Uno-Platform-And-WebAssembly-With-Csla-v5", "published_at": "2019-09-04T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd991acab29", "title": "Blazor support in CSLA v5", "url": "https://blog.lhotka.net/2019/09/02/BlazorSupportInCslaV5", "published_at": "2019-09-02T00:00:00+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd991e01562", "title": "RabbitMQ data portal channel in CSLA 5", "url": "https://blog.lhotka.net/2019/08/23/RabbitmqDataPortalChannelInCsla5", "published_at": "2019-08-23T03:31:26+00:00" }, { "id": "01a0874e-3beb-7339-93ff-cfd992271d56", "title": "CSLA 5 data portal channel using gRPC", "url": "https://blog.lhotka.net/2019/08/21/CslaDataPortalChannelUsingGrpc", "published_at": "2019-08-21T19:37:26+00:00" }, { "id": "01a0874e-3bec-7007-b947-adbdd2d87ada", "title": "Migrating from .NET to .NET Standard", "url": "https://blog.lhotka.net/2019/01/11/Migrating-from-.NET-to-.NET-Standard", "published_at": "2019-01-11T18:06:07+00:00" }, { "id": "01a0874e-3bec-7007-b947-adbdd2f5adfe", "title": "A Bright Future for the Smart Client", "url": "https://blog.lhotka.net/2018/03/24/A-Bright-Future-for-the-Smart-Client", "published_at": "2018-03-24T05:00:00+00:00" } ] posts Claim your blog
Back to blog.lhotka.net
Blog · corpus.blog/blogs/blog.lhotka.net/posts

blog.lhotka.net

blog.lhotka.net

2026

2025

2024

2023

2022

2021

2020

2019

2018