RO EN
TIOBE Index October 2026: Julia returns to the top 20, and TIOBE starts counting searches in Chinese as well

TIOBE Index October 2026: Julia returns to the top 20, and TIOBE starts counting searches in Chinese as well

Julia returns to the TIOBE top 20 after three years, Dart and OCaml rise spectacularly, and Go drops out of the top 10. Plus: TIOBE now includes searches in Chinese — what this means for the numbers and for C#.

Citește mai mult
Desktop UI in .NET: WPF, WinForms, WinUI 3, Avalonia or Uno Platform?

Desktop UI in .NET: WPF, WinForms, WinUI 3, Avalonia or Uno Platform?

The second article in the series about choosing UI technology: WinForms, WPF, WinUI 3, Avalonia, and Uno Platform. Only Windows or cross-platform, what changed in 2026, and how to modernize a WPF or WinForms application without rewriting it.

Citește mai mult
Which web UI framework will you choose in 2026: React, Angular, Vue, Svelte, Blazor, or HTMX?

Which web UI framework will you choose in 2026: React, Angular, Vue, Svelte, Blazor, or HTMX?

A practical guide, from the perspective of a .NET developer, for choosing web UI technology: React, Angular, Vue, Svelte, meta-frameworks, Blazor, and Razor Pages with HTMX. What you build, who builds it, and how long the application lives matter more than any benchmark.

Citește mai mult
Resilience in .NET (6/6): chaos engineering, or how to prove that resilience works

Resilience in .NET (6/6): chaos engineering, or how to prove that resilience works

The last article in the series about resilience: the principles of chaos engineering, injection strategies from Polly v8 (fault, latency, outcome, behavior), controlled activation through configuration, integration tests with deterministic chaos, infrastructure tools, and game days.

Citește mai mult
The anatomy of a coordinated attack on a contact form

The anatomy of a coordinated attack on a contact form

How our website became someone else's phishing infrastructure for a day: 109 emails sent to victims from our domain, 41 IPs from rented cloud, and what we changed to prevent it from happening again.

Citește mai mult
Resilience in .NET (5/6): graceful degradation, or what to do when a dependency is down

Resilience in .NET (5/6): graceful degradation, or what to do when a dependency is down

The fifth article in the series about resilience: fallback with Polly v8, the last known good value, asynchronous decoupling with Outbox, hedging, feature flags as fail switches, and a concrete example: what a billing application does when e-Invoice does not respond.

Citește mai mult
Resilience in .NET (4/6): advanced health checks, from /health/live to /health/ready

Resilience in .NET (4/6): advanced health checks, from /health/live to /health/ready

The fourth article in the series about resilience: the difference between startup, liveness, and readiness, why the database has no place in liveness, shared dependencies in readiness, detailed JSON responses, publisher and probe configuration in Kubernetes.

Citește mai mult
Resilience in .NET (3/6): circuit breaker and bulkhead with Polly v8

Resilience in .NET (3/6): circuit breaker and bulkhead with Polly v8

The third article in the series about resilience: how to stop a harmful dependency from crashing your application. The states of the circuit breaker, configuration in Polly v8, manual control, bulkhead with concurrency limiter, and rate limiting in ASP.NET Core.

Citește mai mult