Opinions

New Generation of IDEs (part 2): Multidimensional Navigation in Photo Libraries

In part 1, I wrote about Visual Studio navigation. In part 2, I will compare IDEs with modern Photo Libraries

Read more...


LLM Incantations and Spellbooks

How to manage your prompt library

We live in interesting times where software development is going through a paradigm shift - Human developers are no longer the only ones writing code!

Read more...


New Generation of IDEs (part 1): The problem of File-Centric IDEs

Why are we so focused on the concept of file when compilers work with classes?

I've been thinking a lot about how we write code in IDEs and organize files and classes (and types) in c# and other modern software languages and projects.

Read more...


Solving Code Review Frustrations with CodeRabbit AI Automation 🤖

Speed up Code Reviews!

CodeRabbit is a new AI LLM-powered tool for automated code reviews. It integrates with platforms like GitHub, GitLab, and Azure DevOps to automatically review pull requests, thus giving developers suggestions and feedback. The setup is quick and can be done in less than 10 minutes. CodeRabbit can be used with any programming language.

Read more...


Obsolete Bytes: Nazi Submarines, High-Tech Toilets, and Lessons in Software Engineering

Do not flush the toilet; it may initialize the self-destruct sequence.

What do German World War II submarines and modern software development have in common? Surprisingly, quite a lot: Overengineering, ignoring testing, poor modularity, and cascading failures, to name a few.

Read more...


Web components with Blazor .NET 7

Inject order into JavaScript frameworks by replacing them with C# Web Components

Web components are web standards that allow you to create custom, reusable HTML elements. These can encapsulate their styles and behaviors, preventing conflicts with other parts of your website. They are built using HTML, CSS, and JavaScript and can range from simple UI elements to complex, fully-featured web applications.

Read more...


Finding the Perfect Date: Exploring DateTime Formats for Developers

The bane of every developer's existence.

As developers, it's easy to think that working with dates and times is strictly a computer science problem. Even if it sometimes looks like someone is playing a cruel joke on programmers, historically making sense of time was a challenging task, much more than trying to parse some weird local datetime format. Tom Scott has a great video about problems with Timezones:

Read more...


Public Nested Classes

Are public nested classes really so bad?

For some time, I've been using public nested classes (often records) for POCOs (Plain Old C# Object), mostly with MediatR and services. I have found this approach very useful. Everything is contained within the MediatR model (or service), there is no way to access subclasses without explicitly understanding what you are doing.

Read more...


Library: HashIds - Masking System Data (Id Series)

Hiding identifiers

When we present information about the system to the users, we want to hide the system's inner workings. But, sometimes, it is necessary to give the user some of the details like:

Read more...


NCEFMRFVSxU - .Net Core + EF + MediatR + FluentValidation + Serilog + xUnit

The Heavenly (dev) Kingdom? Or the Little Slice of (dev) Hell

To misquote Lord Vader:

Read more...