{ "protocolVersion": "0.3.0", "name": "Tech Dominator Blog", "description": "Practical Azure engineering: .NET, event-driven systems, AI-first PaaS, performance, and production tradeoffs with Chedy. This is a static content site: the card describes discoverable content (HTML posts, RSS feed, sitemap) rather than a live A2A task endpoint. Every page is also available as Markdown: replace the .html extension with .md (served as text/markdown).", "url": "https://blog.techdominator.com", "preferredTransport": "JSONRPC", "version": "1.0.0", "provider": { "organization": "Chedy Missaoui", "url": "https://blog.techdominator.com/about-chedy-missaoui.html" }, "iconUrl": "https://blog.techdominator.com/favicon.png", "documentationUrl": "https://blog.techdominator.com/posts.html", "capabilities": { "streaming": false, "pushNotifications": false, "stateTransitionHistory": false }, "defaultInputModes": ["text/plain"], "defaultOutputModes": ["text/html", "text/markdown", "text/plain"], "skills": [ { "id": "azure-event-hubs", "name": "Azure Event Hubs", "description": "In-depth series on producing and consuming events, scaling consumption, checkpointing and rewinding, consumer clients, partition receivers, raw AMQP, the Kafka surface, and load testing with JMeter and Locust.", "tags": ["azure", "azure-event-hubs", "event-streaming", "event-processing", "checkpointing", "amqp", "kafka", "csharp", "load-testing", "jmeter", "locust"], "examples": [ "How do I scale event consumption in Azure Event Hubs?", "How do checkpoints and rewinding work in Azure Event Hubs?", "How do I load-test Event Hubs processing with Locust?" ] }, { "id": "aspnet-core-tag-helpers", "name": "ASP.NET Core Tag Helpers", "description": "Cheat sheets and deep dives on using, creating, nesting, and programmatically rendering Tag Helpers, including a dynamic form Tag Helper and View Components.", "tags": ["aspnet-core", "tag-helpers", "dynamic-forms", "view-components", "rendering", "csharp"], "examples": [ "How do I render a Tag Helper inside another Tag Helper?", "How do I build a dynamic form Tag Helper in ASP.NET Core?" ] }, { "id": "csharp-dotnet", "name": "C# and .NET", "description": "Articles on async/await internals, Reactive Extensions (Rx), and general C# software engineering.", "tags": ["csharp", "async-await", "reactive-programming", "concurrency", "dotnet"], "examples": [ "How does async/await work under the hood in C#?", "How do I adapt callback-based asynchronous interfaces to async/await?" ] }, { "id": "elixir-phoenix", "name": "Elixir and Phoenix", "description": "Functional programming on the Erlang platform: GenServer patterns and contention, fault-tolerant state conservation, Phoenix routes/controllers/channels, state machines, and interop with Python and C++ NIFs.", "tags": ["elixir", "erlang", "phoenix", "genserver", "functional-programming", "fault-tolerance", "concurrency", "interoperability"], "examples": [ "How do I conserve GenServer state between crashes?", "How do I implement a state machine in Elixir?" ] }, { "id": "web-development", "name": "Web Development", "description": "Front-end fundamentals: HTML cheat sheets, CSS animations, modern layouts with grids and flexboxes, ES6, and React.", "tags": ["html", "css", "javascript", "es6", "react", "web-development", "responsive-design", "animations"], "examples": [ "How do modern CSS layouts with grids and flexboxes work?", "What are the basics of CSS animations?" ] }, { "id": "software-design", "name": "Software Design and Architecture", "description": "Design patterns and architecture topics: the circuit breaker pattern (in C# and Elixir), MVVM, specification view models, and automated testing.", "tags": ["software-architecture", "design-patterns", "circuit-breaker", "mvvm", "fault-tolerance", "automated-testing"], "examples": [ "How do I implement the circuit breaker pattern in C#?", "What is the MVVM pattern?" ] } ], "supportsAuthenticatedExtendedCard": false }